WO2013047535A1 - Server device, coupon management method, communication system, and program - Google Patents

Server device, coupon management method, communication system, and program Download PDF

Info

Publication number
WO2013047535A1
WO2013047535A1 PCT/JP2012/074597 JP2012074597W WO2013047535A1 WO 2013047535 A1 WO2013047535 A1 WO 2013047535A1 JP 2012074597 W JP2012074597 W JP 2012074597W WO 2013047535 A1 WO2013047535 A1 WO 2013047535A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
terminal device
terminal
electronic
electronic coupon
Prior art date
Application number
PCT/JP2012/074597
Other languages
French (fr)
Japanese (ja)
Inventor
将人 山田
Original Assignee
株式会社エヌ・ティ・ティ・ドコモ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社エヌ・ティ・ティ・ドコモ filed Critical 株式会社エヌ・ティ・ティ・ドコモ
Priority to JP2013536308A priority Critical patent/JP5661191B2/en
Publication of WO2013047535A1 publication Critical patent/WO2013047535A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates

Definitions

  • the present invention relates to a technique for managing electronic coupons stored and used in an IC (Integrated Circuit) chip or the like.
  • an electronic coupon obtained in advance is stored in an IC chip such as a mobile FeliCa (registered trademark) of a terminal device such as a mobile phone terminal, and the user connects the terminal device to a reader / writer installed in the store.
  • the electronic coupon can be used by holding it over.
  • the total number of electronic coupons that can be provided and the upper limit of the number that can be used per user are determined. In some cases, the management for limiting the provision and use of electronic coupons requires accuracy.
  • Patent Document 1 discloses a mechanism that prevents an electronic coupon from being used twice in a system including a user's mobile phone, a virtual store on the network, and a coupon management server that manages the usage status of the electronic coupon. Is disclosed.
  • the usage flag indicating whether or not the electronic coupon is stored stored in the mobile phone is rewritten, and the usage flag is set.
  • the electronic coupon is not allowed to be used during a period indicating that it cannot be used. With this configuration, even when the communication between the mobile phone and the virtual store is disconnected when the electronic coupon is used, it is possible to avoid the electronic coupon being used twice.
  • Patent Document 2 the IC card on the customer side stores the number of times of use and the maximum number of times for each electronic coupon service, and the store terminal reads the number of times of use and the maximum number of times stored in the IC card, and compares them. , Limiting the use of electronic coupons.
  • Patent Document 3 discloses a mechanism for preventing unlimited provision of electronic coupons accompanying redistribution of electronic coupons.
  • the coupon issuing server is permitted to redistribute the user identification information of the mobile terminal that issues the electronic coupon and the user identification information and the electronic coupon from the mobile terminal. Redistribution of electronic coupons from the mobile terminal is permitted only when the database has a database associated with the user identification information of the terminal and the relationship of the association is satisfied.
  • Patent document 1 and patent document 2 are based on the process at the time of providing an electronic coupon from the provider side server to the user side terminal device, and a plurality of terminal devices (for example, all terminals capable of acquiring coupons). No mechanism is disclosed for preventing electronic coupons from being provided beyond a predetermined number.
  • the server on the provider side It is easy to manage electronic coupons stored in the terminal device on the user side.
  • the present invention is to provide an electronic coupon so as not to exceed the expected number even when a plurality of electronic coupons are written while sharing the memory area of the terminal device.
  • the server device of the present invention provides, for each electronic coupon provided to the terminal device and used in the terminal device, the number of unused electronic coupons provided to the terminal device, and the terminal One user that identifies the user of the terminal device in the first storage unit that stores the remaining number of electronic coupons that can be newly provided to the device and the terminal ID that identifies the terminal device on which the electronic coupon is provided
  • a second storage unit that stores IDs in association with each other and the electronic coupon is newly provided to the first terminal device, the terminal ID of the first terminal device and the user of the user of the first terminal device
  • An acquisition unit that acquires an ID, a first update unit that updates the first storage unit so as to reduce the number of the electronic coupons provided to the first terminal device from the remaining number of the electronic coupons;
  • a write instruction unit for instructing the first terminal device to execute a writing process to a memory area of the first terminal device for the number of electronic coupons reduced by the first update unit;
  • the second updating unit when the electronic coupon is overwritten on another electronic coupon by the writing process in accordance with an instruction from the writing instruction unit, the second updating unit does not store the other electronic coupon. It is preferable to update the first storage unit so as to clear the unused number by adding the used number to the remaining number of the other electronic coupons.
  • the first update unit sets the number subtracted from the remaining number of the first electronic coupons to an unconfirmed number that is the number of electronic coupons for which the success of the writing process is unconfirmed.
  • the second update unit stores the undetermined number of the electronic coupon, which is the reduced number, after the success of the writing process is confirmed. It is preferable to set the number of uses and clear the indefinite number.
  • the second updating unit adds the uncertain number to the remaining number of the electronic coupons, It is preferable to clear the indeterminate number.
  • the first storage unit stores the remaining number of electronic coupons that can be newly provided to one terminal device, and the number of electronic coupons used by the first terminal device. Based on the usage history acquired by the usage history acquisition unit and the usage history acquired by the usage history acquisition unit, the number of unused electronic coupons used and the remaining number for the one terminal device It is preferable to include a third update unit that updates the first storage unit so as to reduce the number of uses.
  • the management server after receiving a notification that the writing process of writing the electronic coupon in the memory area is completed, acquires the result of the writing process from the first terminal device.
  • a processing result acquisition unit that inquires and acquires the result is provided, and the second update unit determines whether or not the writing process has been successful according to the result acquired by the processing result acquisition unit It is preferable to do.
  • the writing instruction unit in the second storage unit, when a user ID different from the user ID acquired by the acquisition unit is not associated with the terminal ID acquired by the acquisition unit, Alternatively, when the user ID different from the acquired user ID is associated with the acquired terminal ID, it is preferable to perform the instruction when a predetermined condition is satisfied. In the server device according to the present invention, the write instruction unit does not satisfy the condition when a user ID different from the acquired user ID is associated with the acquired terminal ID in the second storage unit. Sometimes it is preferable not to give the instructions. In the server device of the present invention, the write instruction unit performs the instruction when the second storage unit associates the acquired terminal ID with a user ID different from the acquired user ID.
  • the writing unit changes the user ID associated with the acquired terminal ID in the second storage unit when the instruction is given by the writing instruction unit when the condition is not satisfied. Preferably not.
  • the acquisition unit when the acquisition unit acquires the terminal ID from the first terminal device but does not acquire the user ID, the acquisition unit stores any one of the terminal IDs in the second storage unit. When the user ID is associated, the user ID is acquired. When the terminal ID is not associated with any user ID in the second storage unit, a new user ID is issued and acquired.
  • the write instruction unit has the condition that a predetermined period has elapsed since the instruction was given.
  • the writing instruction unit sets the condition that an available period of the electronic coupon has passed.
  • the writing instruction unit instructs the first terminal device to execute a writing process to a memory area of the first terminal device for a plurality of types of electronic coupons.
  • the condition that the usable period of the electronic coupon having the latest end time elapses is used as the condition.
  • the server device when the terminal ID is stored in a memory area of the terminal device indicated by the terminal ID and an electronic coupon whose number that can be provided is limited for each user is provided, the memory area Instructing the reading of the terminal ID from the terminal, and providing the first terminal device with an electronic coupon whose number of provisions is not limited for each user, a reading instruction unit that does not instruct the reading of the terminal ID
  • the acquisition unit acquires the terminal ID read from the memory area according to the instruction when the reading instruction unit instructs to read the terminal ID, and the write instruction unit When the reading instruction unit does not instruct reading of the terminal ID, an electronic coupon whose number that can be provided is not limited for each user is attached to the first terminal device.
  • the server device of the present invention when the acquired terminal ID is associated with a user ID different from the acquired user ID, and the condition is satisfied, the second storage unit And a deletion unit that deletes the association between the acquired user ID and the different terminal ID when the acquired user ID is associated with a terminal ID different from the acquired terminal ID. It is preferable.
  • the coupon management method of the present invention is newly provided to the terminal device and the number of unused electronic coupons provided to the terminal device for each electronic coupon provided to the terminal device and used in the terminal device.
  • the first storage unit that stores the remaining number of possible electronic coupons and the terminal ID that identifies the terminal device provided with the electronic coupon are associated with one user ID that identifies the user of the terminal device.
  • a coupon management method for a server device comprising a second storage unit, wherein when the electronic coupon is newly provided to a first terminal device, the terminal ID of the first terminal device and the first terminal device
  • the first memory so as to subtract the number of the electronic coupons provided to the first terminal device from the acquisition step of acquiring the user ID of the user and the remaining number of the electronic coupons
  • the first terminal device is configured to execute a writing process to the memory area of the first terminal device for the number of electronic coupons reduced in the first updating step.
  • the second update is performed to update the first storage unit to set the reduced number to the unused number of the electronic coupon.
  • the first storage unit uses the number of unused electronic coupons for which the success of the writing process to the memory area of the terminal device is confirmed, and the unused number of electronic coupons provided to the terminal device.
  • the second update step stores the number of unused electronic coupons that are not used.
  • the first storage unit is preferably updated to clear the unused number.
  • a user ID different from the user ID acquired in the acquisition step is not associated with the terminal ID acquired in the acquisition step.
  • the instruction is preferably performed when a predetermined condition is satisfied.
  • the communication system of the present invention is a communication system including a server device and a terminal device, and the server device is provided to the terminal device for each electronic coupon provided to the terminal device and used in the terminal device.
  • a first storage unit that stores the number of unused electronic coupons, the remaining number of electronic coupons that can be newly provided to the terminal device, and a terminal ID that identifies the terminal device provided with the electronic coupon,
  • the terminal ID of the first terminal device When the second storage unit that stores one user ID that identifies the user of the terminal device in association with the electronic coupon is newly provided to the first terminal device, the terminal ID of the first terminal device The number of the electronic coupons provided to the first terminal device is subtracted from the acquisition unit that acquires the user ID of the user of the first terminal device and the remaining number of the electronic coupons.
  • the first update unit for updating the first storage unit, and the write processing to the memory area of the first terminal device for the number of electronic coupons reduced by the first update unit,
  • the writing instruction unit instructing the first terminal device and execution of the writing process are instructed by the writing instruction unit
  • the acquired user ID is assigned to the acquired terminal ID in the second storage unit.
  • the first storage unit configured to set the reduced number to the unused number of the electronic coupons after the writing unit to be associated and the success of the writing process according to the instruction of the writing instruction unit are confirmed
  • a second updating unit that updates the number of electronic coupons to the memory area by the writing process according to an instruction of the writing instruction unit, and the writing process
  • the server device And notifying the.
  • the first storage unit determines the number of unused electronic coupons that have been successfully written to the memory area of the terminal device as the number of unused electronic coupons provided to the terminal device. And when the electronic coupon is overwritten on another electronic coupon by the writing process according to the instruction of the writing instruction unit, the second updating unit calculates the number of unused electronic coupons It is preferable to update the first storage unit so as to clear the unused number by adding to the remaining number of the other electronic coupons.
  • the program of the present invention can be newly provided to the terminal device and the number of unused electronic coupons provided to the terminal device for each electronic coupon provided to the terminal device and used in the terminal device.
  • a first storage unit that stores the remaining number of electronic coupons and a terminal ID that identifies the terminal device provided with the electronic coupon are associated with one user ID that identifies the user of the terminal device, and the second is stored.
  • the electronic coupon is newly provided to the first terminal device to a computer including a storage unit, the terminal ID of the first terminal device and the user ID of the user of the first terminal device are acquired.
  • a first updating step of updating the first storage unit so as to subtract the number of electronic coupons provided to the first terminal device from the number of remaining electronic coupons.
  • the writing step of associating the acquired user ID with the acquired terminal ID in the second storage unit, and the instruction in the writing instruction step After the success of the corresponding writing process is confirmed, a second update step of updating the first storage unit is executed so as to set the reduced number to the unused number of the electronic coupon.
  • the writing instruction step when the writing instruction step does not associate a user ID different from the user ID acquired in the acquisition step with the terminal ID acquired in the acquisition step in the second storage unit, or When the acquired terminal ID is associated with a user ID different from the acquired user ID, the instruction is preferably performed when a predetermined condition is satisfied.
  • the electronic coupons can be provided so as not to exceed the expected number.
  • the figure which shows the whole structure of a communication system The block diagram which shows the hardware constitutions of an ASP server. The figure which shows the data structure of a coupon management table. The figure which shows the data structure of a user management table. The figure which shows the data structure of a transaction management table. The figure which shows the data structure of a pending
  • the functional block diagram which shows the functional structure of the function regarding provision of an electronic coupon.
  • the sequence chart which shows the flow of the whole process of a communication system. The example of a screen when a terminal device is going to acquire an electronic coupon.
  • the flowchart which shows the flow of a set start process.
  • the figure which shows the mode of the update of a data table The flowchart which shows the flow of a set confirmation process. The flowchart which shows the flow of a set confirmation process. The figure which shows the mode of the update of a data table. The figure which shows the mode of the update of a data table. The flowchart which shows the flow of a process at the time of use. The figure which shows the data structure of the data table which changes with a process at the time of use. The figure which shows the mode of the update of a data table. The figure which shows the mode of the update of a data table. The figure which shows the mode of the update of a data table. The figure which shows the mode of the update of a data table. The figure which shows the mode of the update of a data table. The figure which shows the mode of the update of a data table. The block diagram which shows the hardware constitutions of an ASP server.
  • the figure which shows the structure of a coupon information table The figure which shows the structure of a user management table.
  • the functional block diagram which shows the functional structure of the function regarding management of an electronic coupon.
  • the sequence chart which shows the flow of the whole process of a communication system.
  • the flowchart which shows the procedure of a terminal ID necessity determination process.
  • the figure which shows the mode of the update of a user management table The figure which shows the mode of the update of a user management table.
  • the sequence chart which shows the procedure of the write-in process of an electronic coupon.
  • FIG. 1 is a diagram illustrating an overall configuration of the communication system 1.
  • the communication system 1 includes an ASP (Application Service Provider) server 10, a terminal device 20, a store management server 30, a store terminal 40, and an application management server 50.
  • the ASP server 10 is a server device that provides an electronic coupon service to the terminal device 20.
  • the ASP server 10 provides the terminal device 20 with an electronic coupon service by a plurality of service providers in response to a request from the terminal device 20.
  • the terminal device 20 is a smartphone here, and acquires the electronic coupon provided from the ASP server 10.
  • the terminal device 20 is not limited to a smartphone, and may be another terminal device such as a mobile phone terminal, a tablet terminal, a personal computer, or a PDA (Personal Digital Assistant).
  • the store management server 30 transmits a usage history that is a usage history of the electronic coupon to the ASP server 10.
  • the store terminal 40 is a computer device installed in a store where electronic coupons can be used.
  • the store terminal 40 has a reader / writer 41 that performs wireless communication with a non-contact type IC card to read / write data, generates a usage history based on the data read by the reader / writer 41, and generates the usage history
  • the usage history is transmitted to the store management server 30.
  • the application management server 50 is a management server that manages management related to the electronic coupon writing process in the terminal device 20.
  • the ASP server 10, the terminal device 20, the store management server 30, and the application management server 50 are connected to the network NW.
  • the network NW is a communication network including a mobile communication network, a gateway, and the Internet.
  • the store management server 30 and the store terminal 40 are connected by, for example, a dedicated communication line.
  • One store management server 30 may be installed per store, one store may be installed per plurality of stores, or one may be installed for each service provider.
  • the store terminal 40 is installed in each store where an electronic coupon can be used, and actually there are a larger number.
  • FIG. 2 is a block diagram illustrating a hardware configuration of the ASP server 10.
  • the ASP server 10 includes a control unit 11, a communication unit 12, and a storage unit 13.
  • the control unit 11 is a microprocessor including a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory).
  • the CPU controls each unit of the ASP server 10 by reading the program stored in the ROM or the storage unit 13 into the RAM and executing it.
  • the communication unit 12 is an interface for connecting to the network NW.
  • the control unit 11 communicates with an external device connected via the network NW by the communication unit 12.
  • the storage unit 13 includes a hard disk device, for example, and stores a program necessary for providing an electronic coupon service executed by the control unit 11.
  • the storage unit 13 also stores a coupon management table 131, a user management table 132, a transaction management table 133, and a hold list table 134.
  • storage part 13 has also memorize
  • the description thereof is omitted.
  • the electronic coupon of this embodiment is electronic data also called electronic value, and is not provided or used as a paper medium.
  • sheet the minimum unit that can be provided or used for an electronic coupon
  • number of electronic coupons that are provided or used that is, the number of units
  • FIG. 3 is a diagram illustrating a data structure of the coupon management table 131.
  • the coupon management table 131 includes each piece of information indicated by “coupon ID”, “restricted number (total)”, “used number (total)”, and “remaining number (total)”. Is a data table associated with.
  • “Coupon ID” is identification information for identifying an electronic coupon provided by the ASP server 10.
  • the “restricted number (total)” is a limited number for all terminal devices 20 (that is, all users) for which electronic coupons are provided by the ASP server 10 (hereinafter referred to as “total limited number”). .
  • the total number of electronic coupons permitted to be used for all terminal devices 20 is managed so as not to exceed the total limit number.
  • “Number of used sheets (total)” is the total number of electronic coupons that have already been used for all terminal devices 20 (hereinafter referred to as “total number of used sheets”).
  • the total limit number can be said to be the upper limit of the total use number.
  • the “remaining number (total)” is the remaining number of electronic coupons for all the terminal devices 20 (hereinafter referred to as “total remaining number”).
  • the ASP server 10 manages the total number of electronic coupons to be provided for all terminal devices 20 so as not to exceed the total remaining number.
  • the electronic coupon A with the coupon ID “CID001” and the electronic coupon B having the coupon ID “CID002” are electronic coupons provided by different service providers.
  • the total limit number of electronic coupons A with the coupon ID “CID001” is “1000”
  • the total use number is “0”
  • the total remaining number is “ 1000 ”.
  • the total limit number of electronic coupons B of coupon ID “CID002” is “5000”
  • the total number of used coupons is “0”
  • the total remaining number is “ 5000 ".
  • FIG. 4 is a diagram illustrating the data structure of the user management table 132.
  • the user management table 132 includes “user ID”, “coupon ID”, “restricted number (individual)”, “set unconfirmed number”, and “set unused number”.
  • “User ID” is identification information for identifying the user of the terminal device 20 and identification information for identifying the terminal device 20.
  • the user ID of this embodiment is identification information assigned exclusively to each terminal device 20, and is, for example, terminal identification information, a telephone number, an arbitrary identification number, or the like specified from a SIM (Subscriber Identity Module) card.
  • SIM Subscriber Identity Module
  • the user ID written in the user management table 132 corresponds to the user ID written in the later-described IC chip 25 (specifically, a predetermined memory area of the IC chip 25) of the terminal device 20. And
  • the user ID written in the IC chip 25 corresponding to the same user and the user ID written in the user management table 132 do not need to match.
  • the ASP server 10 stores a correspondence table in which the user IDs of the same user are associated with each other in the storage unit 13. And the ASP server 10 should just specify the correspondence of user IDs by collation of user ID using this correspondence table. With the configuration using this correspondence table, for example, even when the model of the terminal device 20 is changed, the ASP server 10 only needs to update the correspondence table, and updates the user ID in the user management table 132. It is not necessary.
  • “Coupon ID” is the same as the coupon ID written in the coupon management table 131.
  • the “limit number (individual)” is the limit number (hereinafter referred to as “individual limit number”) for each user (that is, one terminal device 20) of the electronic coupon provided by the ASP server 10.
  • the ASP server 10 the number of electronic coupons permitted to be used is managed so as not to exceed the individual limit number per user. That is, it can be said that the individual limit number is the upper limit of the individual use number.
  • the “set unconfirmed number” is an electronic coupon provided to the terminal device 20, and an electronic coupon for which the success of a writing process (also referred to as “set”) to a memory area 251 described later of the IC chip 25 is unconfirmed. (The number of indeterminate). In other words, the set unconfirmed number of sheets indicates that the electronic coupon writing process has not ended, or the electronic coupon writing process has succeeded or failed, but this result has not been notified to the ASP server 10 (i.e., ASP This is the number of electronic coupons (the result of the writing process is not grasped by the server 10).
  • the “set unused number” is an electronic coupon provided to the terminal device 20 and is the number of unused electronic coupons (unused number) for which the success of the writing process is confirmed.
  • the set unused number is the number of electronic coupons grasped by the ASP server 10 when the electronic coupons are stored in the memory area 251. Therefore, the set and unused number of electronic coupons can be said to be electronic coupons that can be used by the terminal device 20.
  • the “number of used sheets (individual)” is the number of electronic coupons that have already been used by one user (hereinafter referred to as “number of individual used sheets”).
  • the “remaining number (individual)” is the remaining number of electronic coupons for each user (hereinafter referred to as “individual remaining number”). In the ASP server 10, the number of electronic coupons to be provided is managed so as not to exceed the remaining number of individuals per user.
  • information corresponding to the user with the user ID “UID001” is representatively shown, but similar information is written for each user who can receive provision of the electronic coupon service.
  • the personal limited number of electronic coupons A with the coupon ID “CID001” is “10”, This means that the number of used and unused sheets is “0”, and the remaining number of individuals is “10”.
  • the record corresponding to the second line in FIG. 4 may be interpreted in the same manner as the first line.
  • FIG. 5 is a diagram illustrating the data structure of the transaction management table 133.
  • the transaction management table 133 associates each piece of information indicated by “process ID”, “status”, and “write completion date / time”, and manages the write process result for each user.
  • This is a data table.
  • Process ID is identification information for identifying the electronic coupon writing process.
  • Status is information indicating the result of the electronic coupon writing process, and indicates success, failure, or indefiniteness. When the writing process is successful, the status is “successful”, when the writing process is unsuccessful, the status is “failure”, and when the result of the writing process is unconfirmed, the status is “unconfirmed”.
  • the electronic coupon writing process is successful in the terminal device 20
  • the electronic coupon is stored in the IC chip 25, but when the electronic coupon writing process is unsuccessful, the electronic coupon is stored in the IC chip 25. Is not remembered.
  • the electronic coupon writing process fails, if the electronic coupon is stored in the IC chip 25 before the writing process, the electronic coupon is stored as it is.
  • “Writing completion date and time” is information indicating the date and time when the electronic coupon writing process is completed.
  • the write completion date and time is information defined only when the result of the writing process is successful. In the example of the transaction management table 133 shown in FIG. 5, no information is written, and each field is blank. Note that the processing related to the provision of the electronic coupon executed in the communication system 1 can also be referred to as transaction processing including writing processing, and the information related to the electronic coupon managed by the ASP server 10 and the terminal device 20 is inconsistent. To be executed.
  • FIG. 6 is a diagram showing the data structure of the hold list table 134.
  • the hold list table 134 is a data table in which pieces of information indicated by “coupon ID”, “use date / time”, and “use number” are associated with each other.
  • “Process ID” is the same as the process ID written in the transaction management table 133.
  • “Use date and time” is information indicating the date and time when the electronic coupon was used.
  • “Used number” is the number of individuals using the electronic coupon. The number of used sheets here indicates how many of the same electronic coupon are used in one use.
  • the combination of the coupon ID, the usage date and the number of usages written in one record of the hold list table 134 is the same as the usage history acquired from the store terminal 40 by the ASP server 10.
  • the hold list table 134 is a data table in which a use history generated by one use of the electronic coupon by the terminal device 20 is written in one record. In the example of the hold list table 134 of FIG. 6, no information is written, and each field is blank.
  • FIG. 7 is a block diagram illustrating a hardware configuration of the terminal device 20.
  • the terminal device 20 includes a control unit 21, a voice input / output unit 22, a wireless communication unit 23, a UI (User Interface) unit 24, an IC chip 25, and a storage unit 26.
  • the control unit 21 includes a microprocessor having a CPU, a ROM, and a RAM. The CPU controls each unit of the terminal device 20 by reading the program stored in the ROM or the storage unit 26 into the RAM and executing it.
  • the voice input / output unit 22 includes a microphone and a speaker, and realizes functions related to voice input / output in the terminal device 20.
  • the wireless communication unit 23 includes a wireless communication circuit and an antenna, and is an interface for connecting to the network NW.
  • the UI unit 24 includes, for example, a touch panel, accepts an operation from the user, and notifies information by an image.
  • the IC chip 25 has a memory area 251 used for reading and writing data, a processor, an antenna, and an IC chip for proximity contactless communication.
  • the processor of the IC chip 25 accesses the memory area 251 in accordance with a signal received by the antenna or a signal from the control unit 21, and reads or writes data.
  • the memory area 251 is a memory area in which an electronic coupon of any one of a plurality of service providers is written, in other words, a memory area shared by a plurality of service providers. That is, when an electronic coupon (second electronic coupon) of a certain service provider is stored in the memory area 251, an electronic coupon (first electronic coupon) of another service provider is newly written by overwriting processing. Are stored in the memory area 251.
  • the electronic coupon originally stored in the memory area 251 is deleted by the writing process.
  • a plurality of electronic coupons of the same service provider are allowed to be stored in the memory area 251 at the same time.
  • the electronic coupon of the same service provider is written over the electronic coupon stored in the memory area 251.
  • the IC chip 25 stores the user ID assigned to the terminal device 20 in a predetermined memory area other than the memory area 251.
  • the user ID of the user of the terminal device 20 is “UID001”. The user ID is stored in an area that is not deleted by the electronic coupon writing process.
  • the terminal device 20 always returns the electronic coupon to the memory area by inquiring the ASP server 10 by inquiring the ASP server 10. 251 can be written.
  • the ASP server 10 manages information related to provision and use of electronic coupons for each terminal device 20 by the user management table 132.
  • the ASP server 10 refers to the user management table 132 to determine whether the electronic coupon has been deleted by a new electronic coupon writing process or by use. Can be determined.
  • the configuration in which the electronic coupon writing process is executed by overwriting the electronic coupon in the memory area 251 also has a favorable situation for the service provider. For example, since the electronic coupons of a plurality of service providers are not stored in the terminal device 20 in a mixed manner, the burden on the user when using or discarding the electronic coupon is reduced. Also, for service providers, electronic coupons of a plurality of service providers are not mixed and displayed, which is preferable for reasons such as service differentiation from other service providers.
  • the storage unit 26 includes, for example, an EEPROM, and stores a coupon management application 261 in addition to a program executed by the control unit 21.
  • the control unit 21 communicates with the application management server 50 to execute the electronic coupon writing process.
  • the coupon management application 261 is executed when receiving an electronic coupon provided by any service provider.
  • FIG. 8 is a functional block diagram showing a functional configuration of functions related to provision of an electronic coupon of the ASP server 10.
  • the control unit 11 of the ASP server 10 realizes functions corresponding to the first update unit 111, the write instruction unit 112, and the second update unit 113 by executing a program.
  • the first update unit 111 subtracts the number of first electronic coupons to be provided from the total remaining number of coupon management tables 131. More specifically, when the number of first electronic coupons to be provided is greater than the number of set unused unused electronic coupons in the coupon management table 131, the first update unit 111 determines the total number of remaining electronic coupons.
  • the number of first electronic coupons to be provided is reduced, but if the number of set unused numbers is larger, the number of first electronic coupons to be provided is not reduced from the total remaining number. Then, the first update unit 111 sets the number of first electronic coupons to be provided (if the number to be provided is subtracted from the total remaining number, the number) as the number of set first electronic coupons.
  • the user management table 132 is updated so that it is set as follows.
  • the 1st update part 111 starts the process which provides a 1st electronic coupon newly in response to having acquired the coupon acquisition request for acquiring a 1st electronic coupon from the terminal device 20 by the communication part 12. To do.
  • the process in which the first update unit 111 sets the number subtracted from the total remaining number as the set unconfirmed number is equivalent to the process of adding the number subtracted from the total remaining number to the set unconfirmed number that is zero.
  • the writing instructing unit 112 performs a writing process of writing the undecided number of first electronic coupons into the memory area 251 after the coupon management table 131 and the user management table 132 are updated by the first updating unit 111.
  • the terminal unit 20 is instructed by the communication unit 12.
  • the write instruction unit 112 gives the process ID of the instructed write process, the status (here, blank), and the write completion date / time (here, blank).
  • the transaction management table 133 is written.
  • the processing result acquisition unit 114 receives a notification from the terminal device 20 that the writing process of writing the first electronic coupon in the memory area 251 according to the instruction of the writing instruction unit 112 is completed, and then the communication unit 12 The management server 50 is inquired and the result of this writing process is acquired.
  • the second update unit 113 communicates with the terminal device 20 through the communication unit 12 and updates each data table in the storage unit 13. At that time, the second updating unit 113 determines whether or not the writing process is successful based on the result of the writing process acquired by the processing result acquiring unit 114.
  • the functions realized by the second update unit 113 are specifically as follows. First, the second updating unit 113 sets the undetermined number of sets of the first electronic coupon after the success of the writing process of the first electronic coupon according to the instruction of the writing instruction unit 112 is confirmed. Set to the number of sheets and clear the set undecided number (that is, set to zero). Here, for example, when the set unused number of the first electronic coupon is “3”, the second updating unit 113 sets the unused number of the first electronic coupon that is “2”. When setting the number of sheets, the set unused number after setting is “2”.
  • the second updating unit 113 sets the second electronic coupon when the terminal device 20 succeeds in the writing process of overwriting the first electronic coupon on the second electronic coupon stored in the memory area 251.
  • the unused number is added to the total remaining number of second electronic coupons, and the set unused number is cleared.
  • the second updating unit 113 obtains the total number obtained by subtracting the usage number included in the usage history from the set unused number. It may be added to the remaining number (that is, returned to the total remaining number).
  • the second update unit 113 also includes, in the usage history, the number of already set unused numbers for electronic coupons other than the second electronic coupon (third electronic coupon) in which the usage history is written in the hold list table 134. The number obtained by subtracting the used number is added to the total remaining number.
  • the second updating unit 113 has a larger number of set unconfirmed electronic coupons than the set unused number. The difference between the set unconfirmed number and the set unused number is added to the total remaining number (that is, returned). The second updating unit 113 does not return the entire remaining number of sheets when the set unconfirmed number is equal to or less than the set unused number.
  • the second updating unit 113 when the result of the first electronic coupon writing process is confirmed, the second updating unit 113 writes the result in the transaction management table 133.
  • the second updating unit 113 rewrites the status to “successful” and writes the writing completion date and time for the writing process that has been confirmed as successful. This is the end of the description of the functions related to the provision of the electronic coupon of the ASP server 10.
  • FIG. 9 is a functional block diagram showing a functional configuration of functions related to the use of the electronic coupon of the ASP server 10.
  • the control unit 11 of the ASP server 10 realizes functions corresponding to the usage history acquisition unit 115 and the third update unit 116 by executing a program.
  • the terminal device 20 uses the first electronic coupon stored in the memory area 251 of the IC chip 25, the usage history acquisition unit 115 communicates with the store management server 30 through the communication unit 12, and the first electronic coupon Get usage results.
  • the 3rd update part 116 is the information which respond
  • the third update unit 116 refers to the transaction management table 133, and there is no write process whose result is indeterminate, and the usage date and time included in the usage history acquired by the usage history acquisition unit 115 is If it is after the latest writing completion date and time, the used number included in the use history is subtracted from the set unused number. On the other hand, the third update unit 116 does not subtract the used number from the set unused number when the use date is before the latest writing completion date.
  • the third update unit 116 refers to the transaction management table 133, and when the usage date and time included in the usage history acquired by the usage history acquisition unit 115 is later than the latest writing completion date and time, When there is a writing process for which the result is indeterminate, the update of the number of usages included in the usage history is suspended and the usage history is written in the suspension list table 134. On the other hand, the third update unit 116 does not subtract the used number from the set unused number when the use date is before the latest writing completion date.
  • the third update unit 116 refers to the transaction management table 133 and the hold list table 134, and after all the write processing results are confirmed, the use date and time included in the use history written in the hold list table 134 Is later than the latest write completion date and time, the number of used sheets included in this use history is subtracted from the set unused number of sheets. On the other hand, the third update unit 116 does not subtract the used number from the set unused number when the use date is before the latest writing completion date. This is the end of the description of the functional configuration of the ASP server 10. Next, the operation of the communication system 1 will be described.
  • FIG. 10 is a sequence chart showing the overall processing flow of the communication system 1.
  • the terminal device 20 accesses the ASP server 10 and performs processing necessary for the acquisition using a browser.
  • the terminal device 20 transmits a coupon acquisition request including the coupon ID indicating the electronic coupon to be acquired and the number of acquired electronic coupons to the ASP server 10 (step Sa1).
  • FIG. 11 is a screen example displayed on the UI unit 24 when the terminal device 20 attempts to acquire an electronic coupon.
  • the user operates the UI unit 24, selects the number of electronic coupons to be acquired using the pull-down menus Pa1 and Pa2, and selects the soft button Ba labeled “Acquire coupon”.
  • the ASP server 10 executes a set start process (step Sa2).
  • the set start process is a process until the ASP server 10 instructs the terminal device 20 to write the electronic coupon.
  • the ASP server 10 requests the application management server 50 to process the electronic coupon writing process, and requests generation of an inquiry ID (step Sa3).
  • the application management server 50 transmits the inquiry ID generated in response to the processing request in step Sa2 to the ASP server 10 (step Sa4).
  • the processing request includes information about an electronic coupon (hereinafter referred to as “coupon information”) to be written in the memory area 251 of the IC chip 25. More specifically, the processing request includes information that can specify the same electronic coupon ID and the number of electronic coupons acquired as the coupon acquisition request.
  • the inquiry ID is identification information for identifying a processing request.
  • the ASP server 10 transmits a write instruction for instructing a write process corresponding to the set start process to the terminal device 20 (step Sa5).
  • the ASP server 10 transmits a write instruction including the inquiry ID received from the application management server 50.
  • the terminal device 20 executes the coupon management application 261 and transmits the inquiry ID included in the write instruction to the application management server 50 (step Sa6).
  • the application management server 50 transmits coupon information used for the writing process to the terminal device 20 in accordance with the processing request corresponding to the inquiry ID received from the terminal device 20 (step Sa7).
  • the terminal device 20 executes an electronic coupon writing process based on the coupon information received from the application management server 50 (step Sa8).
  • the terminal device 20 stores a new electronic coupon in the memory area 251 by the writing process by overwriting the electronic coupon. It becomes.
  • the terminal device 20 transmits a result notification indicating the result of the writing process to the application management server 50 (step Sa9).
  • the terminal device 20 transmits a result notification including information indicating whether the result of the writing process is success or failure, and the writing completion date of the writing process.
  • the terminal device 20 transmits to the ASP server 10 an end notification indicating that the writing process of writing the electronic coupon in the memory area 251 has ended (step Sa10).
  • the ASP server 10 After accepting the end notification transmitted from the terminal device 20, the ASP server 10 inquires of the application management server 50 and requests the notification of the result of the writing process in the terminal device 20 that is the transmission source of the end notification (step Sa11). ). In response to the inquiry from the ASP server 10, the application management server 50 transmits the result of the writing process (that is, a result notification) to the ASP server 10 (step Sa12).
  • the result of the writing process notified by the application management server 50 is either success, failure or unknown.
  • the ASP server 10 can determine the result of the writing process when accepting the result of the writing process of success or failure, but can accept the result of the writing process when accepting the result of unknown. Leave indeterminate.
  • the ASP server 10 writes the result of the writing process in the status field of the transaction management table 133 in accordance with the result notification transmitted and accepted in step Sa12.
  • the set confirmation process is a process for the ASP server 10 to update each data table in accordance with the result of the electronic coupon writing process in the terminal device 20.
  • the terminal device 20 transmits the writing result to the application management server 50 and transmits the end notification to the ASP server 10 as soon as the electronic coupon is used (that is, in real time).
  • the ASP server 10 starts the set confirmation process immediately after the electronic coupon writing process of the terminal device 20 is completed.
  • the terminal device 20 cannot move to the application management server 50 because it moves out of the communicable area or transmits an end notification to the ASP server 10.
  • the start of the set confirmation process is delayed.
  • the ASP server 10 does not receive the end notification, the ASP server 10 cannot know that the writing process has ended in the terminal device 20, and thus operates when the writing process is in progress. In this case, since the time when the ASP server 10 acquires the result of the writing process is delayed, the start of the set confirmation process is also delayed accordingly.
  • the reason why the terminal device 20 cannot transmit the end notification or the result notification is not limited to the terminal device 20 being outside the communicable area. For example, in the terminal device 20, execution of the coupon management application 261 is forcibly terminated (execution of the coupon management application 261 is terminated, power is turned off, etc.), or the terminal device 20 is out of battery. .
  • the terminal device 20 When the terminal device 20 is in a state in which the coupon management application 261 is executed, the terminal device 20 repeatedly tries to transmit the result notification and the end notification until the transmission of the result notification and the end notification is completed (that is, retry). On the other hand, when the browser or the coupon management application 261 is forcibly terminated or the terminal device 20 is powered off, the result notification and the termination notification are not transmitted even if the terminal device 20 becomes communicable. There is. Therefore, if the ASP server 10 does not receive the end notification for a predetermined time after transmitting the coupon information, the ASP server 10 voluntarily inquires the result of the writing process to the application management server 50 in the process of step Sa11. The result notification is not transmitted from the terminal device 20 to the application management server 50.
  • the application management server 50 voluntarily determines that the result of the writing process is unknown or unsuccessful when the result notification is not accepted even after a predetermined time has elapsed since the coupon information was transmitted.
  • the flow of processing when the ASP server 10 tries to provide an electronic coupon to the terminal device 20 is as described above.
  • the subsequent processing shows a processing flow of the communication system 1 when the terminal device 20 uses the electronic coupon.
  • the user carrying the terminal device 20 is interested in the store where the store terminal 40 is installed, and uses the terminal device 20 for the reader / writer 41. Hold it over.
  • the reader / writer 41 of the store terminal 40 reads the electronic coupon stored in the IC chip 25 and reads / writes data from / to the IC chip 25.
  • the store terminal 40 determines whether or not the number of electronic coupons stored in the IC chip 25 remains, and executes a process of reflecting the result in the settlement.
  • the operation of the store terminal 40 here may not have a special configuration in the present invention.
  • the store management server 30 generates a use history of the electronic coupons used by the terminal device 20 based on information such as data read / write results and settlement information with respect to the memory area 251 by the store terminal 40, and uses it for the ASP server 10 A history is transmitted (step Sa14).
  • the store management server 30 transmits the usage history as soon as the electronic coupon is used (in real time).
  • the ASP server 10 executes a process at the time of use according to the usage history (step Sa15).
  • the in-use process is a process for the ASP server 10 to update each data table in accordance with the use of the electronic coupon in the terminal device 20. Thereafter, the process related to the acquisition of the electronic coupon and the process related to the use of the electronic coupon are executed in the same procedure as described above. Further, in the communication system 1, processing is not necessarily executed according to the flow shown in FIG. For example, when the usage history is acquired immediately after the ASP server 10 executes the set start process and transmits the write instruction, the use time process is executed. Further, when the ASP server 10 receives a notification of the result of the writing process immediately after the use process, the ASP server 10 executes a set confirmation process.
  • the operation of the ASP server 10 will be described in detail using a specific example.
  • the operation of the ASP server 10 will be described in accordance with a story composed of the following (event 1) to (event 12).
  • the time on the left side of the following “-” (hyphen) is the occurrence time of each event (the start time in the case of processing of the ASP server 10), and the right side of “-” indicates the content of the event.
  • Event 1 2011/6/29 10:04-Set start processing to provide 5 electronic coupons A (Event 2) 2011/6/29 10:05-Electronic coupon A set confirmation processing (Event 3) 2011/6/29 11:00-Use 3 coupons A (first time) (Event 4) 2011/6/29 12:00-Use one electronic coupon A (second time) (Event 5) 2011/6/29 15:00-Set start processing to provide 10 electronic coupons B (Event 6) 2011/6/29 16:00-Acquisition of electronic coupon A usage history (first time) ) (Event 7) 2011/6/29 17:00-Use 5 electronic coupons B (first time) (Event 8) 2011/6/29 18:00-Get electronic coupon B usage history (first time) (Event 9) 2011/6/29 19:00-Set confirmation of electronic coupon B (Event 10) 2011/6/29 20:00-Use one electronic coupon B (second time) (Event 11) 2011/6/29 21:00-Acquisition of electronic coupon B usage history (second time) (Event 12) 2011/6/
  • FIG. 12 is a flowchart showing the flow of the set start process.
  • FIG. 13 is a diagram illustrating how each data table is updated. Before the set start processing, each data table stored in the storage unit 13 is assumed to have the data structure shown in FIGS. In addition, in the figure explaining the update state of the data table in FIG. 13 and the like, the field that has changed due to the update is represented by a thick frame, and the number of electronic coupons that have changed is represented by a numerical value in “O”. .
  • the ASP server 10 starts the set start process when receiving the coupon acquisition request transmitted in the process of step Sa1. This coupon acquisition request includes the coupon ID “CID001” of the electronic coupon A and the acquired number “5”.
  • the ASP server 10 refers to the transaction management table 133 to determine whether or not there is a writing process whose status is “indeterminate” (step Sa21).
  • the ASP server 10 determines whether or not there is a writing process in which the result of the writing process is not determined to be either success or failure.
  • the ASP server 10 determines “NO” in the process of step Sa21, and proceeds to the process of step Sa22.
  • the ASP server 10 determines whether or not the total remaining number of electronic coupons A and the remaining number of individuals are equal to or greater than the number of acquisitions included in the coupon acquisition request (step Sa22).
  • the ASP server 10 compares each of the total remaining number written in the coupon management table 131 and the individual remaining number written in the user management table 132 with the acquired number, and electronically responds to the coupon acquisition request. It is determined whether or not the coupon A can be provided.
  • the total remaining number satisfies the relationship of the following formula (1).
  • Total remaining number of sheets Total number of limited sheets ⁇ ⁇ Personal use number + MAX (set unused number, set unconfirmed number) ⁇ total number of use in the hold list table 134 ⁇ (1)
  • is a code meaning the total sum of all terminal devices 20 (all users).
  • MAX (A, B) means taking the larger value of A and B.
  • the remaining number of individuals satisfies the relationship of the following formula (2).
  • Remaining number of individuals Limit number of individuals-Number of individuals used (2)
  • the maximum number of images that can be set by the terminal device 20 satisfies the relationship of the following equation (3).
  • Maximum number of acquired sheets MIN ⁇ remaining individual number, total remaining number + MAX (set unused number, set undetermined number) ⁇ (3)
  • MIN (A, B) means taking the smaller value of A and B.
  • the ASP server 10 determines “YES” in the process of step Sa22, and proceeds to the process of step Sa23.
  • the ASP server 10 sets the status of the writing process instructed to the terminal device 20 to “indeterminate” and updates the transaction management table 133 (step Sa23). As shown in FIG. 13A, the ASP server 10 assigns a process ID “TsA” to this write process, associates it with the status “unconfirmed”, and newly writes it in the transaction management table 133. At this time, the writing completion date / time field is blank.
  • the ASP server 10 updates the coupon management table 131 and the user management table 132 so that the number of electronic coupons A acquired is set to the set unconfirmed number (step Sa24). As shown in FIG. 13B, the ASP server 10 subtracts “5”, which is the acquired number, from “1000”, which is the total remaining number, for the electronic coupon A having the coupon ID “CID001”, The coupon management table 131 is updated so that the number of sheets is “995”. Further, the ASP server 10 updates the user management table 132 so as to set “5”, which is the acquired number obtained by subtracting from the total remaining number, to the set unconfirmed number for the electronic coupon A.
  • the acquired number of electronic coupons set by the ASP server 10 as the set undetermined number in the process of step Sa24 is an electronic coupon that has not yet been written to the IC chip 25, and the result of the writing process is confirmed. It is an electronic coupon that has not been done. However, since the electronic coupon is subtracted from the total remaining number of sheets, the electronic coupon for the number of acquired sheets is not acquired by the terminal device 20 of another user.
  • step Sa21 determines that there is a writing process with the status “unconfirmed” in the process of step Sa21 (step Sa21; YES), it ends the set start process.
  • the ASP server 10 does not perform a new set start process for the terminal device 20 that has a write process whose status is unconfirmed.
  • the ASP server 10 determines in the process of step Sa22 that the total remaining number or the remaining number of individuals is less than the acquired number (step Sa22; NO)
  • the set start process ends. Since the ASP server 10 provides the electronic coupon with the obtained number of sheets that does not exceed the total remaining number of sheets and the remaining number of individuals, the set start process is terminated here so that the electronic coupon is not excessively provided.
  • FIG. 16 is a diagram illustrating how each data table is updated.
  • the event notification is received by the ASP server 10 in accordance with the process of step Sa12, and the set of (event 1) is started at the write completion date “2011/6/29 10:05”. It is assumed that the writing process instructed according to the process is completed.
  • the ASP server 10 associates the status “success” with the write completion date and time “2011/6/29 10:05” to the process ID “TsA” that identifies the write process that has been confirmed with success.
  • the data is written in the transaction management table 133 (see FIG. 16A).
  • the ASP server 10 first determines whether or not the writing process that triggered the start of the set confirmation process is successful (step Sa1301). Here, if the ASP server 10 determines that the writing process has been confirmed as successful (step Sa1301; YES), it proceeds to the process of step Sa1302. Next, the ASP server 10 updates the user management table 132 so as to clear all the set unused number associated with the user ID “UID001” (step Sa1302). Since the terminal device 20 performs the writing process of the electronic coupon by overwriting, the ASP server 10 clears the set unused number of electronic coupons stored in the memory area 251 and the total remaining number of electronic coupons. Is added to (ie, sent back). Here, there is no particular change in the user management table 132 because there is no electronic coupon to be returned.
  • the ASP server 10 sets the set unconfirmed number of electronic coupons A as the set unused number, and updates the user management table 132 so as to clear the set unconfirmed number (step Sa1303).
  • the ASP server 10 sets the set unconfirmed number of “5” as the set unused number to “5” and clears the set unconfirmed number of “ From “5” to “0”.
  • the ASP server 10 matches (synchronizes) the number of electronic coupons A written in the memory area 251 with the set unused number of electronic coupons A in the user management table 132.
  • the ASP server 10 changes the total remaining number here because the number of electronic coupons A to be provided has been subtracted from the total remaining number in advance (that is, reserved) in the process of step Sa24 of the set start process. There is nothing. Since the electronic coupon A in which the success of the writing process is determined in this way is not acquired by another user at the stage of the set starting process, it has been set in the set determining process after the set starting process is executed. The electronic coupon A is not acquired by another user during the period until it is added to the unused number.
  • the ASP server 10 determines whether or not a usage history is written in the hold list table 134 (step Sa1304). As shown in FIG. 6, here, the ASP server 10 determines that the usage history is not written in the hold list table 134 (step Sa1304; NO), and ends the set confirmation processing. Note that the operation when the ASP server 10 determines that the writing process has failed in the process of step Sa1301 or when the usage history is written in the hold list table 134 will be described later.
  • Event 3 2011/6/29 11:00-Three electronic coupons A are used (first time)
  • Event 2 set confirmation process it is assumed that “3” electronic coupons A are used by the terminal device 20 at “2011/6/29 11:00”. With this use, the remaining number of electronic coupons A stored in the memory area 251 is reduced from “5” to “2”.
  • the ASP server 10 should originally acquire the usage history immediately from the store management server 30 with this use as an opportunity. However, here, it is assumed that the store management server 30 does not transmit the usage history to the ASP server 10 due to some cause such as a failure of the store terminal 40 or the store management server 30 or a communication failure in the network NW.
  • the ASP server 10 and the terminal device 20 grasp that the coupon A is stored in the memory area 251.
  • the set unused number in the user management table 132 should be “2”.
  • the ASP server 10 does not update the user management table 132 based on the usage history, the set unused number remains “5”.
  • FIG. 17 is a diagram showing how each data table is updated.
  • the ASP server 10 starts the set start process when receiving the coupon acquisition request transmitted in the process of step Sa1.
  • This coupon acquisition request includes “CID002” as the coupon ID of the electronic coupon B and “10” as the number of acquisitions.
  • the ASP server 10 When the ASP server 10 receives the coupon acquisition request, the ASP server 10 refers to the transaction management table 133 and determines whether or not there is a writing process whose status is indeterminate (step Sa21). As shown in FIG. 16A, here, there is no writing process of the status “indeterminate”. Therefore, the ASP server 10 determines “NO” in the process of step Sa21, and proceeds to the process of step Sa22.
  • the ASP server 10 determines whether or not the total remaining number of electronic coupons B and the remaining number of individuals are each equal to or greater than the acquired number (step Sa22). As shown in FIG. 13B, the total remaining number is “5000”, the individual remaining number is “25”, and the acquired number is “10”. Therefore, the ASP server 10 determines “YES” in the process of step Sa22, and proceeds to the process of step Sa23. Next, the ASP server 10 sets the status of the writing process to be instructed to “indeterminate” and updates the transaction management table 133 (step Sa23). Here, as shown in FIG. 17A, the ASP server 10 assigns a processing ID “TsB”, associates it with the status “unconfirmed”, and newly writes it in the transaction management table 133.
  • the ASP server 10 updates the coupon management table 131 and the user management table 132 so as to set the acquired number of electronic coupons B to the set unconfirmed number (step Sa24). As shown in FIG. 17B, the ASP server 10 subtracts the total remaining number from “5000” by “10” as the acquired number for the electronic coupon B having the coupon ID “CID002” to obtain “4990”. And also, the ASP server 10 sets “10”, which is the acquired number obtained by subtracting from the total remaining number, to the set unconfirmed number of sheets, and sets the set unconfirmed number of sheets to “10”. This is the end of the set start process.
  • FIG. 18 is a flowchart showing the flow of processing at the time of use.
  • FIG. 19 is a diagram showing how each data table is updated.
  • the ASP server 10 executes the processing at the time of use when the usage history of the electronic coupon A used in (Event 3) is acquired from the store management server 30 at “2011/6/29 16:00”. .
  • the ASP server 10 acquires a usage history including the coupon ID “CID001”, the usage date “2011/6/29 11:00”, and the usage number “3”.
  • the ASP server 10 refers to the transaction management table 133 to determine whether or not there is a writing process whose status is “indeterminate” (step Sa151). As shown in FIG. 17A, here, the result (status) of the writing process with the process ID “TsB” is unconfirmed. Therefore, the ASP server 10 determines “YES” in the process of step Sa151, and proceeds to the process of step Sa152.
  • the ASP server 10 compares the use date and time included in the use history acquired from the store management server 30 with the latest write completion date and time in the transaction management table 133, and the use date and time is from the latest write completion date and time. Is determined later (step Sa152). As shown in FIG. 17A, the latest write completion date and time here is “2011/6/29 10:05”. Therefore, the ASP server 10 determines “YES” in the process of step Sa152, and proceeds to the process of step Sa153. Then, the ASP server 10 suspends the update of the set unused number based on the use history (that is, does not update), and writes this use history in the hold list table 134 (step Sa153).
  • the ASP server 10 has an electronic coupon due to both delays, namely, a delay in finalizing the result of the write process and a delay in acquiring the usage history, because there is a write process whose status is not finalized.
  • the processing based on the usage history is temporarily suspended so that information on A is not mistakenly managed.
  • the ASP server 10 obtains the usage history with a delay and the writing process with the status “unconfirmed” remains, the ASP server 10 does not store the memory area until the result of the writing process is fixed.
  • the time when the information on the electronic coupon A is rewritten in 251 is unknown.
  • the ASP server 10 determines whether the acquired usage history is used from the electronic coupon A written by the writing process, or the usage history of the electronic coupon A stored before that is delayed. It is not possible to accurately determine whether the data has been transmitted at this time. For this reason, the ASP server 10 suspends processing based on the usage history until this determination can be made accurately.
  • the hold list table 134 after the process of step Sa153 is as shown in FIG.
  • the ASP server 10 subtracts the number of usage histories held in the process of step Sa153 from the remaining number of individuals and adds the number of usage histories to the number of personal usage (step Sa154). As shown in FIG. 19B, here, the ASP server 10 adds “3” to the number of personal use to change from “0” to “3”, and from the remaining personal number of “10” to “3”. The user management table 132 is updated so that “3” is reduced to “7”. Due to the processing of the ASP server 10 described above, duplicate acquisition by other users of the electronic coupon B due to the delay in acquiring the usage history in (event 3) and the delay in determining the result of the writing processing of the electronic coupon B Is avoided. Note that the operation performed when the ASP server 10 determines that there is no unconfirmed status writing process in the process of step Sa151 will be described later.
  • Event 7 2011/6/29 17:00-Use 5 electronic coupons B (first time) It is assumed that “5” electronic coupons B are used by the terminal device 20 at “2011/6/29 17:00” after execution of the (event 6) usage process. With this use, the remaining number of electronic coupons B stored in the memory area 251 is reduced from “10” to “5”.
  • the store management server 30 has not transmitted the usage history to the ASP server 10.
  • the ASP server 10 and the terminal device 20 grasp that the coupon B is stored in the memory area 251.
  • There are “5” differences in the existing electronic coupon B Originally, the set unused number in the user management table 132 should be “5”. However, since the ASP server 10 has not updated the user management table 132 with the usage history, the set unused number remains “0”.
  • FIG. 20 is a diagram illustrating how each data table is updated.
  • the ASP server 10 executes the on-use process at “2011/6/29 18:00” based on the use history of the electronic coupon B used in (event 7).
  • the ASP server 10 acquires the usage history of coupon ID “CID002”, usage date “2011/6/29 17:00”, and usage number “5”.
  • the ASP server 10 determines whether or not there is a writing process whose status is indeterminate (step Sa151).
  • the status of the writing process with the process ID “TsB” is “indeterminate”. Therefore, the ASP server 10 determines “YES” in the process of step Sa151, and proceeds to the process of step Sa152.
  • the ASP server 10 refers to the transaction management table 133 to determine whether or not the usage date and time included in the usage history acquired from the store management server 30 is later than the latest writing completion date and time ( Step Sa152).
  • Step Sa153 The hold list table 134 after the process of step Sa153 is as shown in FIG.
  • the ASP server 10 subtracts the number of usage histories from the number of remaining individuals, and further adds the number of usage histories to the number of personal usage (step Sa154). As shown in FIG. 20B, the ASP server 10 subtracts “5” from the remaining number “25” of the individual to “20” and adds “5” to the number of personal use “0”. To "5".
  • FIG. 21 is a diagram showing how each data table is updated.
  • the data structure of the table is as shown in FIG.
  • the writing processing is completed at the writing completion date and time “2011/6/29 15:01” by the result notification received by the ASP server 10 in accordance with the processing of step Sa12.
  • the ASP server 10 associates the status “success” with the write completion date and time “2011/6/29 15:01” to the process ID “TsB” that identifies the write process for which success has been confirmed.
  • the data is written in the transaction management table 133 (see FIG. 21A).
  • the ASP server 10 determines whether or not the writing process that triggered the start of the set confirmation process is successful (step Sa1301). When the ASP server 10 determines that the writing process has been confirmed as successful (step Sa1301; YES), it proceeds to the process of step Sa1302. Next, the ASP server 10 clears all the set unused number of each electronic coupon associated with the user ID “UID001”, and adds the set unused number to each remaining number. Return (step Sa1302). Here, the ASP server 10 returns the set remaining unused number “5” of the electronic coupon A with the coupon ID “CID001” to the total remaining number and sets the total remaining number to “1000”. On the other hand, since the set unused number of the electronic coupon B with the coupon ID “CID002” is “0”, the total remaining number remains “4990” here.
  • the ASP server 10 sets the set unconfirmed number of electronic coupons B as the set unused number, and updates the user management table 132 to clear the set unconfirmed number (step Sa1303). As illustrated in FIG. 21B, the ASP server 10 sets “10”, which is the set undetermined number, to the set unused number for the electronic coupon B with the coupon ID “CID002”. And clear the set undetermined number from “10” to “0”.
  • the ASP server 10 determines whether or not a usage history is written in the hold list table 134 (step Sa1304). As shown in FIG. 20A, the ASP server 10 determines that the use history is written in the hold list table 134 (step Sa1304; YES), and proceeds to the process of step Sa1305. Next, the ASP server 10 extracts one use history from the hold list table 134 (step Sa1305). Here, the ASP server 10 extracts the usage history with the latest usage date and time, but any of them may be extracted. Next, the ASP server 10 determines whether or not the usage date and time of the extracted usage history is later than the latest writing completion date and time (step Sa1306).
  • the ASP server 10 determines that the usage date is later (step Sa1306; YES), and subtracts the usage number of the extracted usage history from the set unused number (step Sa1307). As shown in FIG. 21C, the ASP server 10 subtracts the used number “5” from the set unused number “10” and sets the set unused number to “5”. Then, the ASP server 10 deletes the usage history extracted in the process of step Sa1305 from the hold list table 134 (step Sa1308).
  • the ASP server 10 determines whether or not a usage history remains in the hold list table 134 (step Sa1309).
  • the ASP server 10 determines “YES” in the process of step Sa1309 and returns to the process of step Sa1305.
  • the ASP server 10 extracts one use history from the hold list table 134 (step Sa1305).
  • the ASP server 10 determines whether or not the usage date and time of the extracted usage history is later than the latest writing completion date and time (step Sa1306).
  • the latest writing completion date and time is “2011/6/29 15:01” for the usage history of coupon ID “CID001”, usage date and time “2011/6/29 11:00” and usage number “3”. It is.
  • the ASP server 10 determines that the usage date is earlier (step Sa1306; NO)
  • the ASP server 10 deletes the usage history usage number from the total remaining number and then deletes it (step Sa1308).
  • the ASP server 10 subtracts “3”, which is the number of used cards included in the hold list table 134, from “1000”, which is the total remaining number of electronic coupons A, and sets it to “997”.
  • the usage history extracted from the hold list table 134 is deleted (step Sa1308).
  • the reason why the ASP server 10 reduced the number of used sheets included in the hold list table 134 from the total remaining number in the process of step Sa1308 will be described.
  • the fact that the usage history has been written in the hold list table 134 means that the number of electronic coupons specified from the usage history has actually been used, but it is determined as “NO” in the process of step Sa1306. In this case, the number of used sheets has not yet been subtracted from the set unused number of sheets. Therefore, if the set unused number is returned as it is to the remaining remaining number as it is, there is a risk that this used number will be excessively returned and the electronic coupon for this used number will be duplicated by other users. There is.
  • the ASP server 10 subtracts “3”, which is the usage number included in the usage history of the hold list table 134, from “1000”, which is the total remaining number, to obtain “997”.
  • the ASP server 10 is included in the usage history of the hold list table 134 from “5”, which is the set unused number of electronic coupons A. That is, “2”, which is the number obtained by subtracting “2”, which is the number of used sheets, is returned to the entire remaining number of electronic coupons A.
  • step Sa1309; NO the ASP server 10 ends the use-time process. With the above processing, the set unused number after use of (event 3) is correctly reflected in the ASP server 10.
  • FIG. 22 is a diagram illustrating how each data table is updated.
  • the ASP server 10 acquires a usage history of coupon ID “CID002”, usage date “2011/6/29 20:00”, and usage number “1”.
  • the ASP server 10 refers to the transaction management table 133 to determine whether or not there is a writing process whose status is “indeterminate” (step Sa151). As shown in FIG. 21A, the ASP server 10 determines that there is no writing process whose status is indeterminate (step Sa151; NO), and proceeds to the process of step Sa155. Then, the ASP server 10 determines whether or not the use date and time included in the use history acquired from the store management server 30 is later than the latest write completion date and time (step Sa155). As shown in FIG. 21A, here, the latest write completion date and time is “201/6/29 15:01”.
  • the ASP server 10 determines “YES” in the process of step Sa155, and subtracts the used number included in the use history from each of the remaining personal number and the set unused number (step Sa156). As illustrated in FIG. 22, the ASP server 10 reduces the remaining number of individuals by “1” from “20” to “19” for the electronic coupon B with the coupon ID “CID002”, and is set unused. The number of sheets is decreased from “5” by “1” to “4”. Then, the ASP server 10 adds “1”, which is the number of used sheets, to “5”, which is the number of used persons, and sets the number of used persons to “6” (step Sa157). By the above process, duplicate acquisition of the electronic coupon B due to the use of the electronic coupon B in (event 11) is avoided.
  • Event 12 2011/6/29 22:00-Acquire electronic coupon A usage history (second time)
  • Event 12 the use time process when the ASP server 10 acquires the use history of the electronic coupon A in (event 4) from the store management server 30 at “2011/6/29 22:00” will be described.
  • the ASP server 10 acquires the usage history that should have been acquired when (Event 4) is executed, and executes the usage process.
  • the ASP server 10 acquires a usage history of coupon ID “CID001”, usage date “2011/6/29 12:00”, and usage count “1”.
  • FIG. 23 is a diagram showing how each data table is updated.
  • the ASP server 10 determines whether or not there is a writing process whose status is “indeterminate” (step Sa151).
  • step Sa151 when the ASP server 10 determines that there is no writing process whose status is undetermined (step Sa151; NO), the ASP server 10 is included in the usage history acquired from the store management server 30. It is determined whether or not the use date and time is later than the latest write completion date and time (step Sa155). As shown in FIG.
  • the latest write completion date and time is “201/6/29 15:01” with reference to the transaction management table 133, so that the ASP server 10 performs “NO” in the process of step Sa155.
  • the ASP server 10 adds the usage number in the usage history to the individual usage number (step Sa157).
  • the ASP server 10 adds “1” to the electronic coupon A with the coupon ID “CID001” so that the number of personal use is changed from “3” to “4”.
  • the remaining number “7” of the individual is reduced by “1” to “6”, and the remaining remaining number “997” is decreased by “1” to “996”.
  • the electronic coupon A for “1”, which was excessively returned to the total remaining number even though it was actually used in (event 9) is subtracted from the total remaining number.
  • the error of the total remaining number is solved here.
  • step Sa1310 determines whether or not a usage history is written in the hold list table 134 (step Sa1310).
  • step Sa1310 determines that the usage history is written in the hold list table 134 (step Sa1310; YES)
  • the ASP server 10 extracts one use history from the hold list table 134 (step Sa1311).
  • the ASP server 10 determines whether or not the usage date and time of the extracted usage history is the previous writing process and is later than the writing completion date and time of the latest writing process (step Sa1312). If the ASP server 10 determines that the usage date is later (step Sa1312; YES), the ASP server 10 subtracts the usage number of the extracted usage history from the set unused number (step Sa1313). Then, the ASP server 10 deletes the extracted use history from the hold list table 134 (step Sa1314), and determines whether or not the use history remains in the hold list table 134 (step Sa1315). When the ASP server 10 determines that the usage history remains (step Sa1315; YES), the ASP server 10 returns to the processing of step Sa1311.
  • step Sa1316 when the ASP server 10 determines that the usage history does not remain in the hold list table 134, the ASP server 10 clears the set unconfirmed number (step Sa1316) and ends the set confirmation processing. In the processing of step Sa1316, if the set unconfirmed number is larger than the set unused number, the ASP server 10 adds the difference between the set unconfirmed number and the set unused number to the total remaining number.
  • step Sa1312 determines that the usage date / time of the usage history extracted in the processing of step Sa1312 is the previous writing processing and is earlier than the latest writing completion date / time (step Sa1312; NO)
  • the extracted usage The history is deleted from the hold list table 134 (step Sa1314).
  • step Sa1310 determines that the use history is not written in the hold list table 134 in the process of step Sa1310 (step Sa1310; NO)
  • the ASP server 10 executes the process of step Sa1316 and then ends the set confirmation process.
  • the ASP server 10 clears the set undetermined number by adding the set undetermined number to the total remaining number in the process of step Sa1316. Except for executing the processing to be performed, the operation may be the same as when the writing processing is successful.
  • the above is description of the process which the ASP server 10 performs in the said story.
  • the electronic coupon can be prevented from being duplicated by other users due to the processing at the time of providing the coupon in the ASP server 10.
  • the ASP server 10 sets the number of subtracted from the total remaining number as the set undetermined number, and then sets the undetermined number of electronic coupons. Is instructed to the terminal device 20. Then, after the ASP server 10 determines that the writing process executed by the terminal device 20 is successful, the ASP server 10 sets the set unconfirmed number of sheets as the set unused number.
  • the ASP server 10 sets the unconfirmed set when the set unconfirmed number is larger than the set unused number. The difference between the number of sheets and the set unused number is added (returned) to the total remaining number. As a result, it is possible to avoid overlapping acquisition of electronic coupons that may occur when the acquired number of sheets subtracted from the total remaining number of sheets before the writing process is set directly as the set unused number.
  • the electronic coupon is stored in the memory area 251 due to the failure of the writing process. Even when this is left, this electronic coupon can be prevented from being duplicated.
  • the ASP server 10 stores the writing completion date and time when the success of the writing process is confirmed. Then, when the terminal device 20 acquires the usage history using the electronic coupon, the ASP server 10 compares the usage date and time included in the usage history with the latest writing completion date and time. When the usage date is later than the latest writing completion date, the ASP server 10 subtracts the usage number from the set unused number, while the usage date is earlier than the latest writing completion date. , Do not subtract the used number from the set unused number.
  • the ASP server 10 does not reduce the used number based on the use history from the set unused number corresponding to the electronic coupon stored in the memory area 251 in the past.
  • the ASP server 10 returns the electronic coupon, the number of used sheets included in the usage history corresponding to the electronic coupon actually used is reduced. If this is the case, it is possible to prevent the electronic coupons corresponding to the number of used sheets from being returned by the set confirmation process and being duplicated by other users.
  • the ASP server 10 sets the unused state when there is a writing process whose result is indeterminate when the usage date is later than the latest writing completion date.
  • the update of the number is suspended and the usage history is stored.
  • the ASP server 10 determines that the use date and time included in the stored use history is later than the latest write completion date and time after the result of the writing process whose result has not been decided is confirmed. If the used number is subtracted from the set unused number, while the use date is earlier than the latest writing completion date, the used number is not subtracted from the set unused number.
  • the ASP server 10 and the application management server 50 are realized by independent server devices, and the coupon management application 261 does not operate without the ASP server 10. This is because the terminal device 20 is intended to prevent the coupon management application 261 from being illegally used. Specifically, since the electronic device coupon is not written in the IC chip 25 in the terminal device 20 only when the ASP server 10 requests the application management server 50 by signature communication, the coupon management Unauthorized use of the application 261 can be prevented.
  • an electronic coupon is handled in which the minimum unit that can be provided or used is “sheets” and the number of electronic coupons that are provided or used (number of units) is “number”. It was. On the other hand, the minimum number of units that can be provided or used for electronic coupons is not limited to this. It is good also as a unit. Even in this case, it is only necessary to replace the “number of electronic coupons” of the above-described embodiment with a unit of money such as “yen” or “dollar”. In addition, the minimum number of units that can be provided or used for the electronic coupon may be “point” (point), “number of times” (number of times of use), or the like.
  • the ASP server 10 executes both the set start process and the set confirmation process related to the provision of the electronic coupon, and the use time process related to the use of the electronic coupon. (ASP server) may execute.
  • the ASP server on the side that executes the set start process and the set confirmation process does not need to realize the function shown in FIG.
  • the communication system 1 when there is an environment in which the notification of the result of the writing process is not delayed (or an environment in which there is almost no delay), the communication is performed so that the ASP server 10 does not execute the process based on the hold list table 134. It is also conceivable to configure the system 1.
  • Total remaining number of sheets Total number of restricted sheets ⁇ ⁇ Personal use number + MAX (set unused number, set unconfirmed number) ⁇ (4)
  • the total remaining number satisfies the relationship of the above-described formula (1) or formula (4), and the remaining number of individuals satisfies the relationship of the above-described formula (2). Even if the ASP server 10 does not store the total remaining number corresponding to the left side of each expression and the individual remaining number itself, for example, if the ASP server 10 stores data corresponding to the right side, for example, the total remaining number It is equivalent to memorizing the remaining number of persons and individuals.
  • the ASP server 10 acquires the usage history from the store management server 30 as soon as the electronic coupon is used.
  • the ASP server 10 may acquire the usage history from the store management server 30 at a predetermined period or when a predetermined acquisition time has arrived. In this case, the date and time when the ASP server 10 acquires the usage history is delayed to some extent from the usage date and time of the electronic coupon. Acquisition is avoided.
  • data tables corresponding to the coupon management table 131 and the user management table 132 may be independent for each service provider. The reason will be described.
  • An electronic coupon a of a certain service provider A is written in the IC chip 25 of the terminal device 20, and an electronic coupon b of another service provider B is written in the IC chip 25 by overwriting the coupon a. Then, in the IC chip 25, the electronic coupon a of the service provider A is deleted.
  • the ASP server returns the electronic coupon that the set unused number of the electronic coupon a of the service provider A is added to the total remaining number to clear the set unused number in accordance with the writing process. Can not do.
  • the electronic coupon deleted from the IC chip 25 remains as a set unused number.
  • this terminal device 20 next executes the writing process of the electronic coupon of the service provider A
  • the set unused number of electronic coupons a remaining in the ASP server is added to the total remaining number. Since the set unused number is cleared, there is no particular problem.
  • the electronic coupon a since the electronic coupon a is not stored in the IC chip 25 until the set unused unused number of the electronic coupon a is cleared in the ASP server, it remains as the set unused unused number. It becomes an electronic coupon that no one can get. For the reasons described above, it is not necessary to refer to a common data table even if the ASP server is divided for each service provider.
  • the 1st update part 111 provides a new 1st electronic coupon to the terminal device 20 triggered by having acquired the coupon acquisition request for acquiring a 1st electronic coupon by communication with the terminal device 20 by the communication part 12.
  • the first update unit 111 adds the number of acquired first electronic coupons specified in the coupon acquisition request to the total number of distributions in the coupon management table 131.
  • the first updating unit 111 adds only the number exceeding the set unused number of the first electronic coupon written in the user management table 132 before the writing process to the total number of distributions.
  • the first update unit 111 executes the writing process by overwriting for the same first electronic coupon, and thus the writing process starts from the acquired number.
  • the number obtained by subtracting the previously set unused number is added to the total distribution number and added.
  • the first updating unit 111 adds the number of acquired first electronic coupons specified in the coupon acquisition request to the set unused number of first electronic coupons.
  • the first updating unit 111 adds only the number exceeding the set unused number written in the user management table 132 before the writing process to the set unused number.
  • the description of the first update unit 111 is as described above.
  • the second updating unit 113 executes the following processing according to the result of the writing process acquired by the processing result acquiring unit 114 after the writing instruction by the writing instruction unit 112 is performed.
  • the second update unit 113 subtracts the set unused number of other electronic coupons (second electronic coupons) from the total distribution number and sets the set unused number.
  • the second updating unit 113 uses the number added to the total number of distributions by the first updating unit 111 as a whole distribution after being updated by the first updating unit 111. While subtracting from the number of sheets, the number added to the set unused number by the first updating unit 111 is subtracted from the set unused number after being updated by the first updating unit 111.
  • the ASP server 10 does not store the information “the total remaining number”, the “total remaining number” is indirectly derived. If it has the structure which memorize
  • the ASP server 10 acquires a usage history from the store terminal 40 in order to grasp the number of electronic coupons used. There is a possibility that inconsistency occurs in the remaining number of sheets, and multiple electronic coupons are acquired. Therefore, in the communication system 1, in a predetermined period from when the set start process is started, the terminal device 20 is not allowed to acquire another electronic coupon until the ASP server 10 acquires the usage history. Good. That is, the ASP server 10 may not execute the set start process. According to this configuration, if the ASP server 10 can acquire a usage history during a period in which another electronic coupon is not acquired, it is possible to avoid redundant acquisition of the electronic coupon due to this problem.
  • the ASP server 10 acquires the usage history from the store terminal 40 in order to grasp the number of used electronic coupons. However, when the usage history transmission by the store management server 30 is delayed, the ASP server 10 uses If another electronic coupon writing process is performed before the history is acquired, the total number of remaining coins may be inconsistent, and the electronic coupon may be acquired in duplicate. That is, after the electronic coupon is used, when the terminal device 20 acquires another electronic coupon before the usage history is transmitted, the used electronic coupon that has already been deleted from the memory area 251 remains in the memory area 251. If so, the ASP server 10 misidentifies, and the entire remaining number of electronic coupons is returned to the used electronic coupon.
  • the ASP server 10 may delay the return of the set unused number that is cleared at the time of the set confirmation process to the entire remaining number by a predetermined period. In this way, if the ASP server 10 can acquire the usage history during the period of waiting for the return to the total remaining number, it is possible to avoid duplicate acquisition due to this problem.
  • the store management server 30 and the store terminal 40 are separate devices, but a device in which these are integrated may be used.
  • the integrated device include a personal computer having a reader / writer function, a smartphone, and a POS (Point of sale) terminal.
  • the ASP server 10 may acquire the usage history from the terminal device 20 instead of the store management server 30.
  • the ASP server 10 ends the set start process when it is determined that there is a write process whose status is “indeterminate” with reference to the transaction management table 133.
  • the present invention does not require such a premise, and if there is no problem in the management of the number of electronic coupons, the set start process is continued when there is a writing process whose status is “indeterminate” Is also possible.
  • Each function realized by the control unit 11 of the ASP server 10 can be realized by a combination of a plurality of programs, or can be realized by cooperation of a plurality of hardware resources.
  • this invention can also be grasped
  • the hardware configuration of the ASP server according to the present embodiment is the same as that of the first embodiment. Therefore, description of the hardware configuration of the ASP server is omitted.
  • the storage unit 13 of the ASP server 10 according to the present embodiment replaces the coupon management table 131, the user management table 132, the transaction management table 133, and the hold list table 134 with a coupon information table as shown in FIG. 135, a user management table 136 and a holding status management table 137 are stored.
  • FIG. 25 is a diagram showing the configuration of the coupon information table 135.
  • the coupon information table 135 includes a “coupon ID”, “coupon name”, “restricted number of sheets provided per user”, “available period (start date and time)”, and “available for use”. It is a data table in which each piece of information indicated by “period (end date and time)” is associated.
  • “Coupon ID” is an identifier for identifying an electronic coupon provided by the ASP server 10. The coupon ID is different for each type of electronic coupon.
  • the “restricted number of provisions per user” is an upper limit number of electronic coupons that can be provided to one user when the number of provisionable electronic coupons is limited for each user.
  • the provision limit number per user is the upper limit number of electronic coupons that can be acquired by the terminal device 20 of one user.
  • “Available period (start date and time)” is a date and time indicating the start time of a period in which the electronic coupon can be used.
  • “Available period (end date and time)” is a date and time indicating the end time of a period in which the electronic coupon can be used.
  • the provision limit number and the usable period per user are set corresponding to each electronic coupon. However, not all of the electronic coupons are provided with the limited number of coupons available per user and the period of use, and there are electronic coupons for which either one is not set, or for which both are not set. There are also coupons.
  • the coupon ID “CID001” indicates an electronic coupon having a limited number of provisions per user of “5”, the usable period (start date and time) is “2012/02/01 09: 0”, and the usable period (end) Date and time) is “2012/02/29 23:59”.
  • the coupon ID “CID002” indicates an electronic coupon in which the provision limit number per user is not set. That is, the user can obtain an unlimited number of electronic coupons with coupon ID “CID002”.
  • the electronic coupon with coupon ID “CID002” has an available period (start date / time) of “2012/02/01 09: 0” and an available period (end date / time) of “2012/02/29 23:59”.
  • Coupon ID “CID003” indicates an electronic coupon with a limited number of provisions per user of “10”, and no available period is set.
  • An electronic coupon for which no available period is set is an electronic coupon that can be used at any time regardless of the time.
  • the electronic coupons with coupon IDs “CID001” to “CID003” are assumed to be electronic coupons provided by the same service provider.
  • the coupon information table 135 may store information on electronic coupons provided by a plurality of service providers.
  • FIG. 26 is a diagram showing the configuration of the user management table 136.
  • the user management table 136 is a data table in which pieces of information indicated by “terminal ID”, “user ID”, and “expiration date” are associated with each other.
  • the “terminal ID” is an identifier unique to the terminal device 20 that identifies the terminal device 20, and corresponds to the terminal ID stored in the IC chip of the terminal device 20.
  • the user ID is a user-specific identifier that identifies the user of the terminal device 20.
  • only one user ID is associated with one terminal ID.
  • the user ID of the present embodiment is an identifier assigned to the user of the terminal device 20 by the ASP server 10 by member registration with the ASP server 10.
  • the expiration date is a date when the association between the terminal ID and the user ID in the user management table 136 is valid. Although details will be described later, the association between the terminal ID and the user ID after the expiration date has expired becomes invalid. For the invalid association, the control unit 11 may change the user ID to another user ID. For example, when the ASP server 10 provides an electronic coupon to the terminal device 20, the user management table 136 having the above configuration is referred to in order to determine whether or not the provision is possible.
  • the terminal ID “abcde00001” and the user ID “UID0001” are associated with each other, and the validity period of this association is “2012/02/29 23:59”.
  • the fact that such association is stored in the user management table 136 means that the user ID “UID0001” has already been assigned to the user of the terminal device 20 indicated by the terminal ID “abcde00001”, and the ASP server 10 has This means that the terminal device 20 has been provided with an electronic coupon.
  • the terminal ID “abcde00002” and the user ID “UID0002” are associated with each other, and the validity period of the association is “2012/02/29 23:59”.
  • FIG. 27 is a diagram showing the configuration of the possession status management table 137.
  • the possession status management table 137 includes “user ID”, “coupon ID”, “acquired unused number”, “used number”, and “remaining number”. It is the data table which matched information.
  • the “user ID” and “coupon ID” are information as already described.
  • the “acquired unused number” is the number of electronic coupons not yet used among the electronic coupons provided to the terminal device 20 and written in the IC chip. In other words, the acquired unused number is the number of electronic coupons that have been acquired and can be used by the terminal device 20.
  • “Used number” is the number of electronic coupons already used among the electronic coupons provided to the terminal device 20 and written in the IC chip.
  • the “remaining number of sheets” is the remaining number of electronic coupons that can be provided to the terminal device 20. This remaining number is equal to the number obtained by subtracting the number of used sheets from the limited number of sheets provided per user. In the case of an electronic coupon for which the provision limit number per user is not set, information “none” is stored in the “remaining number” field.
  • the holding status management table 137 having the above configuration is a data table storing the holding status of the electronic coupon for each user of the terminal device 20.
  • the hardware configuration of the terminal device according to the present embodiment is the same as that of the first embodiment. Therefore, the description about the hardware configuration of the terminal device is omitted.
  • the IC chip 25 has a memory area 251 used for reading and writing data, such as a processor, an antenna, and data, and is an IC chip for performing proximity contactless communication.
  • the processor of the IC chip 25 reads / writes data by accessing the memory area 251 in response to a signal received by the antenna or an instruction from the control unit 21.
  • the IC chip 25 stores the terminal ID of the terminal device 20 in the memory area 251.
  • the memory area 251 has a specification in which an electronic coupon of any one of a plurality of service providers is written.
  • the memory area 251 is a memory area shared by a plurality of service providers.
  • the electronic coupon of a certain service provider is stored in the memory area 251
  • the electronic coupon of another service provider is stored in the memory area 251 by the writing process by overwriting. That is, the electronic coupon originally stored in the memory area 251 is deleted by the writing process.
  • the terminal device 20 when the terminal device 20 deletes the electronic coupon in the memory area 251 by the writing process by overwriting, the terminal device 20 always returns to the state before the deletion by inquiring to the ASP server 10 and has already been acquired.
  • An electronic coupon can be written into the memory area 251.
  • the ASP server 10 manages the holding status of the electronic coupon in the holding status management table 137
  • the ASP server 10 performs the electronic coupon writing process on the terminal device 20 according to the information stored in the holding status management table 137.
  • a plurality of electronic coupons of the same service provider may be stored in the memory area 251 at the same time.
  • electronic coupons with coupon IDs “CID001” to “CID003” may be stored in the memory area 251 at the same time. Note that the terminal ID stored in the memory area 251 is not lost by the writing process of writing the electronic coupon in the memory area 251.
  • FIG. 28 is a functional block diagram illustrating a functional configuration of functions related to management of electronic coupons in the control unit 11 of the ASP server 10.
  • the control unit 11 of the ASP server 10 realizes functions corresponding to the read instruction unit 117, the acquisition unit 118, the providing unit 119, and the writing unit 120 by executing a program. To do.
  • the reading instruction unit 117 provides an electronic coupon in which the number that can be provided is limited for each user (that is, an electronic coupon in which the provision limit number per user is set in the coupon information table 135)
  • the terminal device 20 is instructed to read the terminal ID from the memory area 251 of the IC chip 25 of the IC 20.
  • the read instruction unit 117 provides an electronic coupon in which the number that can be provided is not limited for each user (that is, an electronic coupon in which the provision limit number per user is not set in the coupon information table 135). Does not instruct reading of the terminal ID from the memory area 251.
  • the acquisition unit 118 acquires the terminal ID of the terminal device 20 and the user ID of the user of the terminal device 20 when newly providing an electronic coupon to the terminal device 20.
  • the reading instruction unit 117 instructs the reading of the terminal ID
  • the acquiring unit 118 acquires the terminal ID read from the memory area 251 in accordance with the instruction.
  • the providing unit 119 refers to the coupon information table 135, the user management table 136, and the holding status management table 137, and determines that the electronic coupon is newly provided based on the terminal ID and the user ID acquired by the acquiring unit 118. Performs processing for providing an electronic coupon to the terminal device 20 indicated by the terminal ID within the range of the provision limit number per user. Specifically, the providing unit 119 displays an electronic coupon when the user ID different from the user ID acquired by the acquisition unit 118 is not associated with the terminal ID acquired by the acquisition unit 118 in the user management table 136. Determine to provide.
  • the providing unit 119 satisfies a predetermined condition when a user ID different from the user ID acquired by the acquiring unit 118 is associated with the terminal ID acquired by the acquiring unit 118 in the user management table 136.
  • the electronic coupon is determined to be provided.
  • the condition here is that the expiration date set in the user management table 136 has passed and the association between the terminal ID and the user ID is invalid.
  • the providing unit 119 also executes processing for providing an electronic coupon for which the provision limit number per user is not set.
  • the process for providing the electronic coupon which the provision part 119 performs is a process for making the terminal device 20 perform the writing process of an electronic coupon.
  • the writing unit 120 manages a process of writing data to the user management table 136 and the holding status management table 133 stored in the storage unit 13. For example, when the providing unit 119 executes a process for providing an electronic coupon, the writing unit 120 includes the user ID acquired by the acquiring unit 118 in the terminal ID acquired by the acquiring unit 118 in the user management table 136. Associate. Further, the writing unit 120 updates the holding status management table 133 according to the processing for providing the electronic coupon executed by the providing unit 119 and the usage history of the electronic coupon received from the store management server 30. This is the end of the description of the functional configuration of the ASP server 10. Next, the operation of the communication system 1 will be described.
  • FIG. 29 is a sequence chart showing the overall processing flow of the communication system 1.
  • the terminal device 20 in order for the terminal device 20 to acquire an electronic coupon from the ASP server 10, it is necessary to perform member registration with respect to the ASP server 10 in advance. Specifically, the terminal device 20 displays a predetermined web page for executing membership registration by executing a web browser, and issues a user ID issuance request and user authentication using a user ID in accordance with a user operation. The password used in the process is transmitted to the ASP server 10 (step Sb1).
  • the ASP server 10 receives a user ID issuance request and password from the terminal device 20, the ASP server 10 issues only one user ID to be assigned to the user of the terminal device 20, and associates the issued user ID with the received password in association with the member.
  • This member information is stored in the storage unit 13 as information (step Sb2).
  • the ASP server 10 notifies the terminal device 20 of the user ID issued in the process of step Sb2 (step Sb3).
  • the terminal device 20 stores the user ID notified from the ASP server 10 in the storage unit 26 using a so-called cookie (a mechanism for temporarily writing and storing data in a visitor's computer through a web browser). Let me.
  • the terminal device 20 may store the hash value (encrypted value) instead of storing the user ID as it is in order to suppress the possibility of spoofing by masquerade of cookie information by a third party.
  • the ASP server 10 rejects membership registration when a user ID is stored in the storage unit 26 using a cookie so as to assign only one user ID to the user of the terminal device 20. To do. The above is the description of the member registration performed in advance by the terminal device 20. Next, an operation when the terminal device 20 tries to acquire an electronic coupon from the ASP server 10 will be described.
  • the user of the terminal device 20 When the user of the terminal device 20 intends to download an electronic coupon, the user operates the terminal device 20 to execute a web browser and performs an operation of displaying a predetermined web page for acquiring the electronic coupon.
  • the terminal device 20 transmits a page access request to the ASP server 10 in response to the user operation (step Sb4).
  • the ASP server 10 requests the terminal device 20 to transmit a user ID and a password to perform user authentication (step Sb5).
  • the terminal device 20 displays a user ID and password input screen and prompts the user to input them.
  • the user inputs the user ID and password notified in the process of step Sb3.
  • the terminal device 20 automatically inputs the user ID stored using the cookie for the user ID. However, if the cookie information has been deleted or the cookie information transmission refusal has been preset in the terminal device 20, the user of the terminal device 20 manually inputs the user ID.
  • the terminal device 20 transmits the user ID and password to the ASP server 10 when the user ID and password are input and an operation for instructing transmission is performed by the user (step Sb6).
  • the ASP server 10 When the ASP server 10 receives the user ID and password transmitted in step Sb6, it performs user authentication (step Sb7).
  • the ASP server 10 collates the received user ID and password with the member information stored in the storage unit 13, and if there is member information whose user ID and password match, the user authentication is successful. It is determined that On the other hand, the ASP server 10 determines that user authentication has failed when there is no member information in which both the received user ID and password match. If the ASP server 10 determines that the user authentication has failed, the ASP server 10 notifies the terminal device 20 that the user authentication has failed without executing the remaining processes shown in FIG.
  • the terminal device 20 may transmit the user ID together with the page access request in the process of step Sb4.
  • the ASP server 10 may determine that the user authentication corresponding to the process of step Sb7 has succeeded based on the user ID received together with the page access request.
  • the processes of steps Sb5 and Sb6 described above are omitted, and the user of the terminal device 20 does not have to perform an input operation on the user ID and password input screen.
  • the ASP server 10 is from when the user ID is issued or until the predetermined period elapses from when the previous user authentication was successful. Automatic authentication may be performed, and thereafter, the user of the terminal device 20 may perform an input operation using the user ID and password input screen.
  • step Sb7 If the user authentication is successful in the process of step Sb7, the ASP server 10 notifies the terminal device 20 that the user authentication is successful (step Sb8). Then, the terminal device 20 displays a predetermined web page (a coupon acquisition screen shown in FIG. 30) on the browser, and transmits a coupon acquisition request to the ASP server 10 in response to a user operation (step Sb9).
  • a predetermined web page a coupon acquisition screen shown in FIG. 30
  • FIG. 30 is a diagram illustrating a coupon acquisition screen.
  • the user operates while looking at the UI unit 24 to select the type and number of electronic coupons to be acquired using the pull-down menus Pb1, Pb2, and Pb3. Select the soft button Bb.
  • the user operates the pull-down menu Pb1 and sets the acquired number to “1” or more.
  • the user may perform the same operation when trying to acquire another electronic coupon.
  • the coupon name on the coupon acquisition screen shown in FIG. 30 corresponds to the coupon name stored in the coupon information table 135.
  • the upper limit of the number of electronic coupons that can be set on the coupon acquisition screen is equal to or less than the remaining number of electronic coupons stored in the holding status management table 133.
  • the terminal device 20 When the soft button Bb on the coupon acquisition screen shown in FIG. 30 is selected, the terminal device 20 is able to specify the electronic coupon to be acquired and the number of acquisitions thereof (for example, a data set of coupon ID and acquisition number of copies).
  • the coupon acquisition request including) is transmitted to the ASP server 10.
  • the ASP server 10 executes a terminal ID necessity determination process (step Sb10).
  • FIG. 31 is a flowchart illustrating a procedure of terminal ID necessity determination processing.
  • the ASP server 10 determines whether an acquisition request for an electronic coupon in which the provision limit number per user is set is received (step Sb101).
  • the ASP server 10 determines to execute the terminal ID notification process (step Sb102). For example, when the ASP server 10 receives a coupon acquisition request including an electronic coupon with the coupon ID “CID001” or “CID003”, the ASP server 10 determines to execute the terminal ID notification process.
  • the ASP server 10 determines not to execute the terminal ID notification process (step Sb101). Sb103). For example, when the ASP server 10 receives an acquisition request for only the electronic coupon with the coupon ID “CID002”, the ASP server 10 determines to execute the terminal ID notification process. As described above, the ASP server 10 determines whether or not the terminal ID of the terminal device 20 is necessary depending on whether or not the provision limit number per user is set in the coupon information table 135.
  • step Sb11 the ASP server 10 executes the terminal ID notification process. That is, the ASP server 10 executes a terminal ID notification process when the provision limit number per user is set in the electronic coupon. On the other hand, the ASP server 10 skips the process of step Sb11 when the provision limit number per user for the electronic coupon is not set and it is determined that the terminal ID notification process is not executed. The terminal ID notification process is not executed.
  • FIG. 32 is a flowchart illustrating a procedure of terminal ID notification processing.
  • the ASP server 10 requests the application management server 50 to process a terminal ID notification and requests the generation of an inquiry ID (step Sb111).
  • the application management server 50 generates a query ID in response to the processing request transmitted in the process of step Sb111, and transmits the generated query ID to the ASP server 10 (step Sb112).
  • the inquiry ID is an identifier for identifying a processing request.
  • the ASP server 10 Upon receiving the inquiry ID from the application management server 50, the ASP server 10 transmits an instruction to execute the coupon management application 261 to the terminal device 20 (step Sb113).
  • the ASP server 10 transmits an execution instruction including the inquiry ID received from the application management server 50.
  • the terminal device 20 reads and executes the coupon management application 261 stored in the storage unit 26.
  • the terminal device 20 transmits the inquiry ID included in the execution instruction received from the ASP server 10 to the application management server 50 (step Sb114).
  • the application management server 50 transmits a terminal ID reading instruction to the terminal device 20 that is the transmission source of the inquiry ID (step Sb115).
  • the terminal device 20 causes the IC chip 25 to perform a reading process in accordance with the reading instruction received from the application management server 50 (step Sb116).
  • the control unit 21 instructs the processor of the IC chip 25 to read the terminal ID in accordance with the reading instruction from the application management server 50.
  • the processor of the IC chip 25 accesses the memory area 251 to read the terminal ID, and supplies the read terminal ID to the control unit 21.
  • the terminal device 20 transmits the terminal ID supplied from the IC chip 25 to the control unit 21 to the application management server 50 (step Sb117).
  • the terminal device 20 transmits an end notification indicating that the terminal ID reading process has ended to the ASP server 10 (step Sb118).
  • the terminal device 20 executes the coupon management application 261 in accordance with the process of step Sb113 to the process of step Sb117 according to the coupon management application 261.
  • the ASP server 10 When the ASP server 10 receives the end notification transmitted from the terminal device 20, the ASP server 10 transmits an inquiry ID to the application management server 50 to inquire about the terminal ID of the terminal device 20 that is the transmission source of the end notification (step Sb119). In response to the inquiry from the ASP server 10, the application management server 50 transmits a terminal ID to the ASP server 10 (step Sb120). The ASP server 10 acquires the terminal ID transmitted from the application management server 50 in the process of step Sb120. In the process of step Sb120, the application management server 50 may not transmit the terminal ID as it is, but may convert the terminal ID into another information that can be uniquely specified and transmit it.
  • the first ASP server grasps the terminal ID of the user A. Even so, it does not match the terminal ID of user B for the second ASP server. Thereby, for example, even if the first ASP server and the second ASP server communicate with the common application management server 50 to acquire the terminal ID, the first ASP server is the second ASP server. It is possible to prevent the occurrence of fraud such as impersonating the terminal ID for the service to be provided.
  • the ASP server 10 when the ASP server 10 acquires the terminal ID from the terminal device 20, the ASP server 10 causes the terminal device 20 to execute the coupon management application 261 and from the memory area 251 of the terminal ID via the application management server 50. Instruct reading.
  • the reason why the application management server 50 mediates the exchange of information between the ASP server 10 and the terminal device 20 is to prevent information from being rewritten illegally such as falsification of the terminal ID, and information using the terminal ID. This is to prevent the occurrence of management security problems.
  • the ASP server 10 executes a coupon provision determination process (step Sb12).
  • the coupon provision determination process is a process of determining whether to provide an electronic coupon to the terminal device 20.
  • the ASP server 10 executes the coupon provision determination process when providing the electronic coupon in which the provision limit number per user is set, but the provision limit number per user is set.
  • the coupon provision determination process is not executed.
  • FIG. 33 is a flowchart showing the procedure of the coupon provision determination process.
  • the ASP server 10 determines whether or not any user ID is associated with the terminal ID acquired in the terminal ID notification process in step Sb11 in the user management table 136 (step Sb121).
  • the ASP server 10 determines that no user ID is associated with the terminal ID acquired by the terminal ID notification process (for example, the terminal ID is not stored in the user management table 136) (step S1). Sb121; NO)
  • the process proceeds to step Sb122.
  • the ASP server 10 writes the terminal ID and the user ID in the user management table 136 so that the user ID used in the user authentication in step Sb7 is associated with the terminal ID acquired in the terminal ID notification process (step Sb122).
  • the association between the terminal ID acquired in the terminal ID notification process and the user ID used in the user authentication is stored in the user management table 136. It has not been.
  • the ASP server 10 determines whether an electronic coupon can be provided to the terminal device 20 based on the possession status management table 137 (step Sb123).
  • the ASP server 10 determines whether or not an electronic coupon can be provided within a range not exceeding the provision limit number per user. For example, the ASP server 10 determines that an electronic coupon can be provided when the number of acquired electronic coupons specified in the coupon acquisition request is equal to or less than the remaining number of electronic coupons.
  • the ASP server 10 determines that an electronic coupon can be provided (step Sb123; YES)
  • the ASP server 10 sets an expiration date for association between the terminal ID and the user ID written in the user management table 136 in the process of step Sb122.
  • the ASP server 10 refers to the coupon information table 135 and sets the end date / time of the available period as the expiration date when the available period is set for the electronic coupon to be provided.
  • the ASP server 10 sets the expiration date after a predetermined period (here, 30 days) from the current date and time.
  • the ASP server 10 when the ASP server 10 provides a plurality of types of electronic coupons of the same service provider to the terminal device 20, when an available period is set for each electronic coupon, the electronic coupon whose end time is the latest It is recommended to set the end time of the available period as the expiration date. Further, the ASP server 10 is effective when a plurality of types of electronic coupons of the same service provider are provided to the terminal device 20 when an electronic coupon for which a usable period is set and an electronic coupon for which the usage period is not set are mixed. The expiration date may be set based on the electronic coupon with the latest expiration date. When the ASP server 10 sets an expiration date for association between the terminal ID and the user ID, the coupon provision determination process ends. In addition, when it determines with the ASP server 10 not being able to provide an electronic coupon by the process of step Sb123 (step Sb123; NO), it notifies an error (step Sb127), and complete
  • the ASP server 10 has acquired the terminal ID “abcde00001” in the terminal ID notification process in step Sb11.
  • the ASP server 10 determines “YES” in the process of step Sb121. If it is determined “YES” in the process of step Sb121, the ASP server 10 determines whether or not the expiration date of the association including the terminal ID acquired in the terminal ID notification process is in the user management table 136 (step Sb125). ).
  • step Sb125 determines whether or not the user ID associated with the terminal ID acquired in the terminal ID notification process in the user management table 136 matches the user ID used for user authentication in step Sb7. (Step Sb126). If the ASP server 10 determines that the two user IDs do not match (step Sb126; NO), the ASP server 10 issues an error notification (step Sb127) and ends the coupon provision determination process.
  • the fact that the user ID associated with the terminal ID acquired in the terminal ID notification process in the user management table 136 does not match the user ID used for user authentication indicates that the user of one terminal device 20 has a plurality of user IDs. Means that is assigned. Therefore, in this case, if the ASP server 10 provides an electronic coupon to the terminal device 20, the electronic coupon is acquired by the terminal device 20 using each user ID, and the number of acquisitions is limited per user. The possibility of exceeding the number of sheets arises. Therefore, in the user management table 136, the ASP server 10 performs error notification when a user ID different from the user ID used for user authentication is associated with the terminal ID acquired in the terminal ID notification process. The electronic coupon is not provided exceeding the provision limit number per user.
  • the electronic coupons from being used by one terminal device 20 exceeding the provision limit number per user.
  • information on cookies stored in the member registration storage unit 26 may be deleted. According to the above-described operation of the ASP server 10, even when the user deletes the cookie information and impersonates another user and performs membership registration a plurality of times, the electronic coupon exceeds the provision limit number per user. Can be prevented from being illegally acquired and used.
  • step Sb126 the ASP server 10 determines in the user management table 136 that the user ID associated with the terminal ID acquired in the terminal ID notification process matches the user ID used for user authentication in step Sb7. In the case (step Sb126; YES), the ASP server 10 proceeds to the process of step Sb123. In this case, since the ASP server 10 has acquired the same combination of the terminal ID and the user ID as when the previous electronic coupon was provided, it is assumed that the electronic coupon is not illegally acquired by the user. Can do. Therefore, the ASP server 10 performs the processing of steps Sb123 and Sb124 in the procedure already described, and determines that the electronic coupon can be provided within the range of the provision limit number per user.
  • step Sb121 if the ASP server 10 determines in the process of step Sb125 that the association is not before the expiration date, that is, the expiration date has passed (step Sb125; NO), step The process proceeds to Sb122.
  • the ASP server 10 since the association including the terminal ID acquired in the terminal ID notification process in the user management table 136 is invalid, the ASP server 10 associates the user ID used for user authentication with this terminal ID. For example, when the ASP server 10 is to provide an electronic coupon with a coupon ID “CID001” in which the provision limit number per user is set, the current date and time is more than the expiration date “2012/02/29 23:59”. Consider the case later.
  • the ASP server 10 uses the user management table as shown in FIG. 136 is updated. Specifically, the ASP server 10 changes the user ID associated with the terminal ID “abcde00001” from “UID0001” to “UID0003” in the process of step Sb122. If the ASP server 10 determines “YES” in the process of step Sb123, the ASP server 10 sets the expiration date to the end date and time of the available period in the process of step Sb124. (Here, the expiration date remains “2012/02/29 23:59”.)
  • the ASP server 10 intends to provide an electronic coupon with a coupon ID “CID003” for which no usable period is set, the current date and time is later than the expiration date “2012/02/29 23:59”. If the terminal ID is “abcde00001” and the user ID used for user authentication is the user ID “UID0003”, the ASP server 10 updates the user management table 136 as shown in FIG. Specifically, the ASP server 10 changes the user ID associated with the terminal ID “abcde00001” from “UID0001” to “UID0003”.
  • the ASP server 10 determines “YES” in the process of step Sb123, the ASP server 10 sets the expiration date after a predetermined period (for example, 30 days) from the current date and time in the process of step Sb124. (Here, the expiration date is “2012/04/03 19:04”.) As described above, the ASP server 10 permits the change of the user ID included in the association when the expiration date of the association including the terminal ID acquired in the terminal ID notification process has elapsed. The reasons are as follows.
  • a terminal device 20 owned by a certain user When a terminal device 20 owned by a certain user is transferred to another user, when both of these users register as members, the user of the terminal device 20 is not a user who intends to obtain an electronic coupon illegally. However, as a result, a plurality of user IDs are assigned to the user of one terminal device 20. In addition, when the user who has changed the model of the terminal device 20 has not recorded the assigned user, or when the user of the terminal device 20 forgets the user ID or password, it is unavoidable to register as a member multiple times. Even when the user ID is performed, a plurality of user IDs are assigned to the user of the terminal device 20 having one.
  • the ASP server 10 is persistent because the association between the terminal ID and the user ID in the user management table 136 is different from the combination of the terminal ID and the user ID acquired from the terminal device 20. If the provision of an electronic coupon is not permitted, the acquisition and use of an electronic coupon by a user who is not intended for unauthorized acquisition is hindered. Therefore, the ASP server 10 of this embodiment sets an expiration date for the association between the terminal ID and the user ID in the user management table 136, and after the expiration date has passed, the correspondence of the user management table 136 is set. Permits change of attachment.
  • the ASP server 10 sets the end date and time of the usable period as the expiration date of association. As a result, the ASP server 10 invalidates the association between the terminal ID and the user ID in the user management table 136 after a period when an electronic coupon can be used. Even when the terminal ID and the user ID are not acquired, the electronic coupon can be provided. In this case, even if a malicious user tries to illegally acquire the electronic coupon using a plurality of user IDs, the electronic coupon can be acquired only after the usable period. Even if an electronic coupon is acquired exceeding the number of sheets, the electronic coupon is not actually used. That is, even if the electronic coupon is illegally acquired, the service provider does not suffer the actual harm caused by it.
  • the ASP server 10 invalidates the association on the condition that a predetermined period has elapsed after executing the process of providing the electronic coupon. Thereby, even if a malicious user tries to obtain a fraud using a plurality of user IDs, the ASP server 10 updates the association only after the above period. It is not illegally acquired. However, if the period is too long, acquisition and use of legitimate users' electronic coupons are hindered. Conversely, if the period is too short, a malicious user uses a plurality of user IDs to obtain a large number of electronic coupons. The possibility of fraudulent acquisition increases, so it is desirable that the period is set appropriately in light of both circumstances.
  • an ASP server No. 10 gives an expiration date to the association between the user ID and the terminal ID, and invalidates the association after the expiration date.
  • the ASP server 10 When it is determined “YES” in the process of step Sb123 and the expiration date is set in the process of step Sb124, the ASP server 10 writes the electronic coupon as a process for providing the electronic coupon after the coupon provision determination process.
  • the terminal device 20 is caused to perform the loading process (step Sb13). Also in this case, the ASP server 10 causes the terminal device 20 to perform a writing process via the application management server 50.
  • FIG. 36 is a sequence chart showing the procedure of the electronic coupon writing process.
  • the ASP server 10 requests the application management server 50 to process the electronic coupon writing process and requests the generation of an inquiry ID (step Sb131).
  • the application management server 50 transmits the inquiry ID generated in response to the processing request to the ASP server 10 (step Sb132).
  • the processing request includes information on the electronic coupon to be written in the memory area 251 of the IC chip 25. This information includes information that can specify the coupon ID of the electronic coupon and the number of acquired electronic coupons.
  • the ASP server 10 transmits a write instruction for instructing execution of the write process to the terminal device 20 (step Sb133).
  • the ASP server 10 transmits a write instruction including the inquiry ID received from the application management server 50.
  • the terminal device 20 executes the coupon management application 261 and transmits the inquiry ID included in the write instruction to the application management server 50 (step Sb134).
  • the application management server 50 transmits to the terminal device 20 the information necessary for writing the electronic coupon (hereinafter referred to as “write information”) (step Sb135). ).
  • the terminal device 20 executes an electronic coupon writing process based on the writing information received from the application management server 50 (step Sb136).
  • the terminal device 20 transmits a result notification indicating the result of the writing process to the application management server 50 (step Sb137).
  • the terminal device 20 transmits to the ASP server 10 an end notification indicating that the writing process for writing the electronic coupon in the memory area 251 has ended (step Sb138).
  • the terminal device 20 executes the coupon management application 261 in accordance with the process in step Sb133 until the process in step Sb137 according to the coupon management application 261.
  • the ASP server 10 After accepting the end notification transmitted from the terminal device 20, the ASP server 10 transmits an inquiry ID to the application management server 50 and inquires about the result of the writing process in the terminal device 20 that is the source of the end notification (step). Sb139). In response to the inquiry from the ASP server 10, the application management server 50 transmits the write processing result (that is, the result notification) to the ASP server 10 (step Sb140).
  • the ASP server 10 causes the terminal device 20 to perform the writing process, the reason for performing the process via the application management server 50 is to prevent the information from being illegally rewritten such as falsification of information related to the electronic coupon.
  • the ASP server 10 provides an electronic coupon in which the provision limit number per user is not set, after the terminal ID necessity determination process of step Sb10, the process of steps Sb11 and Sb12 is skipped.
  • the terminal device 20 is made to perform a writing process by the procedure of 36.
  • the ASP server 10 determines that the writing process has succeeded in response to the result notification in step Sb140, the ASP server 10 updates the holding status management table 137 in accordance with the executed writing process (step Sb14 in FIG. 29). Here, the ASP server 10 adds the number of newly provided electronic coupons to the acquired unused number.
  • the ASP server 10 invalidates the association when the expiration date of the association has passed. Thereby, even if it is a case where several user ID is allocated to the user of the terminal device 20, possibility that an electronic coupon will be used exceeding a limit number can be suppressed.
  • the configuration in which this association is invalidated by the ASP server 10 is realized by determining whether or not the ASP server 10 is after the expiration date. Therefore, in order to realize such a mechanism, it is not necessary to renovate a large-scale system, and there is no trouble in manually performing a procedure for invalidating the association by the user's offer.
  • the ASP server 10 instructs reading of the terminal ID when the electronic coupon in which the provision limit number per user is set is set, and the provision limit number per user is set.
  • reading of the terminal ID is not instructed.
  • a terminal ID notification process that is, the process shown in FIG. 31
  • the time from when the user requests acquisition of an electronic coupon to when the electronic coupon is provided to the terminal device 20 can be shortened as compared to when the terminal ID is read at any time.
  • the ASP server 10 and the application management server 50 are realized by independent server devices, and the coupon management application 261 does not operate without the ASP server 10. This is because the terminal device 20 is intended to prevent the coupon management application 261 from being illegally used. Specifically, only when the ASP server 10 makes a processing request to the application management server 50 by signature communication, the terminal device 20 reads the terminal ID from the IC chip 25 or writes an electronic coupon to the IC chip 25. Therefore, unauthorized use of the coupon management application 261 can be prevented.
  • Modification of Second Embodiment The present invention can be implemented in a form different from the above-described embodiment. The present invention can also be implemented in the following forms, for example. In addition, the following modifications may be combined as appropriate. (Modification 1) When the user ID different from the user ID acquired from the terminal device 20 is stored in the user management table 136 in association with the terminal ID, the ASP server 10 did not provide the electronic coupon if it was before the expiration date. Instead, the ASP server 10 may provide an electronic coupon even when a user ID different from the user ID acquired from the terminal device 20 is associated with the terminal ID in the user management table 136.
  • the ASP server 10 performs error notification in the process of step Sb127 after the process of step Sb126, and in accordance with a user instruction, the user ID of the user ID associated with the terminal ID in the user management table 136 is notified. What is necessary is just to perform the process for providing an electronic coupon with respect to a user. Also in this case, the ASP server 10 updates the holding status management table 137 according to the process of providing the electronic coupon in step Sb14, but does not change the association between the terminal ID and the user ID in the user management table 136. To. With this configuration, even if the user ID is different from the user ID included in the association in the user management table 136, the ASP server 10 can provide the electronic coupon, so that the user can easily obtain the electronic coupon. As in the embodiment described above, it is possible to provide an electronic coupon within the range of the provision limit number per user.
  • the ASP server 10 provides an electronic coupon to a user who has registered as a member.
  • the ASP server 10 may provide an electronic coupon to a user who does not register as a member.
  • the ASP server 10 may acquire the terminal ID and the user ID when newly providing an electronic coupon, and execute the process in the same procedure as in the above embodiment.
  • configuration example 1 will be described.
  • the processing of steps Sb1 to Sb3 is omitted in the communication system 1, and the terminal device 20 transmits a page access request not including the user ID to the ASP server 10 in the processing of step Sb4.
  • the ASP server 10 receives the page access request, the ASP server 10 does not perform the processing corresponding to the above steps Sb5 and Sb6, but performs processing for newly issuing and acquiring a user ID instead of the user authentication in step Sb7.
  • the ASP server 10 writes the issued user ID in the user management table 136.
  • the ASP server 10 performs a process for storing the user ID using the cookie of the terminal device 20 instead of the process of step Sb8.
  • the processing after step Sb9 may be the same as in the above-described embodiment.
  • steps Sb1 to Sb3 are omitted in the communication system 1, and the terminal device 20 transmits a page access request not including the user ID to the ASP server 10 in the process of step Sb4.
  • the ASP server 10 displays the coupon acquisition screen shown in FIG. 30 on the terminal device 20 without executing the processing corresponding to steps Sb5 to Sb8.
  • the terminal device 20 executes a process corresponding to step Sb9 and transmits a coupon acquisition request to the ASP server 10.
  • the ASP server 10 cannot display a coupon acquisition screen for each user based on the possession status management table 137, for example, the upper limit of the number of acquisitions that can be set is the limited number of provisions per user. For example, a coupon acquisition screen common to a plurality of users is displayed.
  • the ASP server 10 determines in step Sb10 that it is necessary to execute the terminal ID notification process unconditionally. And if the ASP server 10 acquires terminal ID by the terminal ID notification process of step Sb11, with reference to the user management table 136, it will confirm the presence or absence of the user ID matched with the acquired terminal ID. If there is no user ID associated with the terminal ID, the ASP server 10 performs a process of newly issuing and acquiring a user ID in the same manner as in the configuration example 1. Then, the ASP server 10 writes the issued user ID in the user management table 136 in association with the terminal ID acquired by the terminal ID notification process. Further, the ASP server 10 performs processing for storing the user ID in the terminal device 20 using the cookie.
  • the ASP server 10 will perform the coupon provision determination process of step Sb12.
  • the ASP server 10 refers to the user management table 136 as in the first modification.
  • the user ID associated with the terminal ID acquired in the terminal ID notification process is acquired, and a process for providing an electronic coupon to the user indicated by the acquired user ID is executed. That is, the ASP server 10 updates the holding status management table 137 according to the process of providing the electronic coupon in the process of step Sb14, but does not change the association between the terminal ID and the user ID in the user management table 136.
  • the ASP server 10 provides the electronic coupon as with the electronic coupon in which the usable period is set, although the end time is set to the expiration date for the electronic coupon in which the usable period is set.
  • the expiration date may be a time when a predetermined period has elapsed since the process was performed. If it does in this way, the user of terminal unit 20 will be able to acquire an electronic coupon within the usable period about the electronic coupon in which the usable period was set up.
  • the condition for invalidating the association between the terminal ID and the user ID by the ASP server 10 is not limited to the above-described conditions, and other conditions can be used as long as the association can be avoided permanently. Can also be applied.
  • the ASP server 10 instructs the terminal device 20 to read the terminal ID when providing the electronic coupon in which the provision limit number per user is set, and the provision limitation per user.
  • the terminal device 20 is not instructed to read the terminal ID.
  • the terminal ID may not be the terminal ID stored in the IC chip 25, and may be other information that can identify the terminal device 20 and is difficult to impersonate, for example.
  • the terminal ID of the present invention may be information such as a telephone number included in contract information grasped by a telecommunications carrier.
  • the user ID may not be assigned by the ASP server 10.
  • the electronic coupon provided by the ASP server 10 may not be stored in the memory area 251 by the writing process in the IC chip 25 and read and used by the reader / writer.
  • an image indicating an electronic coupon provided by the terminal device 20 may be displayed on the UI unit 24, and a store employee may operate a POS (Point of sale) terminal to use the electronic coupon.
  • the ASP server 10 performs a process of transmitting information for displaying an image meaning an electronic coupon to the terminal device 20 as a process of providing the electronic coupon.
  • an electronic coupon is handled in which the minimum unit that can be provided or used is “sheets” and the number of electronic coupons that are provided or used (number of units) is “number”. It was. On the other hand, the minimum number of units that can be provided or used for electronic coupons is not limited to this. It is good also as a unit. Even in this case, it is only necessary to replace the “number of electronic coupons” of the above-described embodiment with a unit of money such as “yen” or “dollar”. In addition, the minimum number of units that can be provided or used for the electronic coupon may be “point” (point), “number of times” (number of times of use), or the like.
  • the ASP server 10 determines whether or not each user has provided an electronic coupon, as in the case where the provision limit number per user is one. If the possession status of the electronic coupon can be managed, a configuration not storing data corresponding to the possession status management table 137 may be used. Thus, the present invention does not necessarily store data corresponding to the possession status management table 137.
  • the processing of the processing steps Sb4 to Sb7 related to user authentication performed by the ASP server 10 in the embodiment described above may be replaced with the following processing.
  • an external server hereinafter referred to as “authentication server” provided separately from the ASP server 10 performs user authentication using the user ID acquired from the terminal device 20. If the authentication server succeeds in user authentication, the authentication server requests the ASP server 10 to issue a one-time password after successful user authentication. At this time, it is assumed that the authentication server transmits the user ID used for user authentication to the ASP server 10 together with the request for issuing the one-time password.
  • the ASP server 10 When the ASP server 10 accepts the one-time password issuance request, the ASP server 10 confirms the validity of the authentication server that is the request source by the transmission source IP address, the electronic signature, or the like. When the ASP server 10 determines that the request source is valid, the ASP server 10 issues a one-time password and associates the issued one-time password with the user ID received together with the issuance request, and stores them in the storage unit 13. Then, the ASP server 10 notifies the issued one-time password to the authentication server. Then, the authentication server sets and displays a hyperlink of the web page provided by the ASP server 10 on the web page displayed on the terminal device 20 after the successful user authentication.
  • the authentication server provides the one-time password to the terminal device 20 by embedding the one-time password notified from the ASP server 10 in the hyperlink.
  • the ASP server 10 sets an expiration date for the issued one-time password, and invalidates the one-time password after the expiration date.
  • the terminal device 20 transmits a page access request for displaying a web page corresponding to the hyperlink to the ASP server 10 (step). Equivalent to the processing of Sb4). As described above, since the one-time password is embedded in the hyperlink, the terminal device 20 transmits the one-time password included in the page access request.
  • the ASP server 10 receives the page access request, the one-time password included in the page access request is stored in the storage unit 13 and corresponds to step Sb7 depending on whether this one-time password is before the expiration date. Perform user authentication.
  • the ASP server 10 determines that the one-time password is stored in the storage unit 13 and this one-time password is before the expiration date, the user authentication is performed with the user ID associated with the one-time password in the storage unit 13. Thereafter, the processing after step Sb8 is performed in the same procedure as in the above-described embodiment. Note that the ASP server 10 invalidates the one-time password that has been successfully authenticated. According to this modification, user authentication is performed with a one-time password exchanged between the authentication server and the ASP server 10, and therefore, user authentication is performed by a third party in an unauthorized manner compared to the above-described embodiment. The possibility can be suppressed.
  • the ASP server 10 does not need to perform user authentication based on the user ID after the terminal device 20 transmits a page access request. This makes it unnecessary for the user of the terminal device 20 to input a user ID or password after the web page provided by the ASP server 10 is displayed on the terminal device 20, and at the time of obtaining an electronic coupon. Operation burden is reduced.
  • the present invention instructs the terminal device 20 to read the terminal ID when providing an electronic coupon (first electronic coupon) in which the provision limit number per user is set.
  • the configuration can be specified even if the terminal device 20 is not instructed to read the terminal ID. Therefore, in this invention, it is not necessary to have a mechanism for invalidating the user ID and terminal ID in the user management table 136.
  • the terminal ID notification process that is, the process shown in FIG. 31
  • the time until the electronic coupon is provided to the terminal device 20 can be shortened as compared with the case where the terminal ID is read at any time.
  • the coupon management device provides a storage unit that stores a terminal ID that identifies a terminal device that has provided a first electronic coupon whose number that can be provided is limited for each user, and provides the first electronic coupon. Is instructed to read out the terminal ID stored in the memory area of the terminal device, and when providing the terminal device with a second electronic coupon for which the number that can be provided is not limited for each user, A reading instruction unit that does not instruct reading of the terminal ID; and an acquisition unit that acquires the terminal ID read from the memory area according to the instruction when reading of the terminal ID is instructed by the reading instruction unit; When it is determined that the electronic coupon is provided based on the terminal ID acquired by the acquisition unit with reference to the storage unit, the number does not exceed the number that can be provided. While the process for providing the first electronic coupon to the terminal device indicated by the terminal ID is executed, when the reading instruction unit is not instructed to read the terminal ID, the second electronic coupon is transferred to the terminal. And a providing unit that executes processing for providing to the apparatus.
  • the store management server 30 and the store terminal 40 are separate devices, but a device in which these are integrated may be used.
  • the integrated device include a personal computer having a reader / writer function, a smartphone, and a POS terminal.
  • Each function realized by the control unit 11 of the ASP server 10 can be realized by a combination of a plurality of programs, or can be realized by cooperation of a plurality of hardware resources.
  • this invention can also be grasped
  • an expiration date is set for the association between the terminal ID and the user ID set in the user management table 132, and the association becomes invalid when the expiration date has passed.
  • the change of the said correlation (specifically change of user ID) is permitted (refer step Sb122 of FIG. 33). Therefore, even if the user of the terminal device 20 forgets his / her user ID and password and acquires another user ID, the expiration date for the association between the original user ID and the terminal ID has passed.
  • An electronic coupon can be provided using a new user ID. Even if the terminal device 20 that has already been associated with another user ID is transferred and the model is changed to the terminal, the expiration date for the association between the user ID and the terminal ID elapses. The user who has received the transfer can receive an electronic coupon using his / her user ID.
  • the newly changed user ID and the association between the user ID and the terminal ID that has been associated with the user ID remain without being deleted.
  • the user ID “UID0001” when the user ID “UID0001” is newly associated with the terminal ID “abcde00002”, the user ID “UID0001” corresponds to the conventional user ID.
  • the associated terminal ID “abcde00001” remains without being deleted. Therefore, in this example, the user who newly acquired the terminal device 20 identified by the terminal ID “abcde00001” can receive a coupon until the expiration date of association between the terminal ID and the user ID “UID0001” elapses. You will not be able to receive the offer.
  • the association between the changed user ID and the terminal ID that is conventionally associated with the user ID may be deleted. More specifically, immediately before or immediately after step Sb122 in FIG. 33 of the above embodiment, the user ID used for user authentication in step Sb7 in FIG. 29 and the terminal ID notification process in step Sb11 in FIG. When an ID different from the terminal ID is associated in the user management table 132, the association between the user ID and the different terminal ID may be deleted. According to such a configuration, the user who newly acquired the terminal device 20 identified by the terminal ID “abcde00001” in the above example has passed the expiration date of the association between the terminal ID and the user ID “UID0001”. You can receive coupons without waiting.
  • the processes of steps Sb10 to Sb12 of FIG. 29 of the second embodiment may be executed.
  • the coupon management table 131 according to the first embodiment for each “coupon ID”, as in the coupon information table 135 according to the second embodiment, the “restricted number of sheets provided per user” is associated. Also good.
  • the user management table 136 according to the second embodiment may be stored in the storage unit 13 of the ASP server 10 according to the first embodiment.
  • the ASP server 10 may refer to the user management table 132 according to the first embodiment instead of the possession status management table 137 according to the second embodiment. .
  • Control unit 22 ... Voice input / output unit, 23 ... wireless communication unit, 24 ... UI unit, 25 ... IC chip, 251 ... memory area, 26 ... storage unit, 261 ... coupon management application, 30 ... Shop management server, 40 ... store terminal, 41 ... the reader / writer, 50 ... application management server.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention provides electronic coupons so as not to surpass a desired number even when multiple electronic coupons are written by sharing a memory region in a terminal device. A storage unit (13) stores the number of un-used electronic coupons which were determined to be successfully written in a memory region (251), an undetermined number in which the success of the writing process is undetermined, and the remaining number of electronic coupons that can be newly provided to multiple terminal devices. A first updating unit (111) adds a number from which the total remaining number of first electronic coupons is subtracted to the undetermined numbers of the first electronic coupons. A second updating unit (113) commands a terminal device (20) to write the undetermined number of first electronic coupons. Subsequently, the second updating unit (113) sets the undetermined number of first electronic coupons as the number of un-used first electronic coupons once the terminal device (20) successfully accomplishes the writing process. Then, when the memory region (251) in which second electronic coupons are stored is overwritten with the first electronic coupons, the second updating unit (113) returns the number of un-used second electronic coupons to the remaining number.

Description

サーバ装置、クーポン管理方法、通信システム及びプログラムServer apparatus, coupon management method, communication system, and program
 本発明は、IC(Integrated Circuit)チップ等に記憶して利用される電子クーポンを管理する技術に関する。 The present invention relates to a technique for managing electronic coupons stored and used in an IC (Integrated Circuit) chip or the like.
 電子化クーポン(電子化したクーポン券)を利用したサービスが、例えば商店や企業がサービス提供者となって提供されている。電子クーポンサービスでは、携帯電話端末等の端末装置のモバイルFeliCa(登録商標)等のICチップに、予め入手した電子クーポンを記憶させておき、ユーザが店舗に設置されたリーダ/ライタに端末装置をかざすことによって、電子クーポンを利用することができる。この電子クーポンサービスでは、サービス提供者の予算やサービスの主旨等に照らして、例えば、提供することができる電子クーポンの総数や、ユーザ一人当たりが利用することができる数の上限が決められていることがあり、電子クーポンの提供及び利用を制限するための管理には正確さが求められる。 Services using electronic coupons (electronic coupons) are provided, for example, with shops and companies as service providers. In the electronic coupon service, an electronic coupon obtained in advance is stored in an IC chip such as a mobile FeliCa (registered trademark) of a terminal device such as a mobile phone terminal, and the user connects the terminal device to a reader / writer installed in the store. The electronic coupon can be used by holding it over. In this electronic coupon service, in light of the service provider's budget and the purpose of the service, for example, the total number of electronic coupons that can be provided and the upper limit of the number that can be used per user are determined. In some cases, the management for limiting the provision and use of electronic coupons requires accuracy.
 例えば、特許文献1は、ユーザの携帯電話と、ネットワーク上に存在する仮想店舗と、電子クーポンの利用状況を管理するクーポン管理サーバとを備えるシステムにおいて、電子クーポンが2重利用されないようにする仕組みについて開示している。特許文献1に記載された発明では、携帯電話が非接触ICチップから電子クーポンを読み取ったことを契機に、自携帯電話が記憶する電子クーポンの利用可否を示す利用フラグを書き換えて、利用フラグが利用不可であることを示す期間には電子クーポンを利用できないようにする。この構成により、電子クーポンの利用の際に、携帯電話と仮想店舗との通信が切断した場合であっても、電子クーポンが2重利用されるのを回避することができる。特許文献2は、顧客側のICカードが電子クーポンサービス毎に利用回数と上限回数とを記憶し、店舗端末がICカードに記憶された利用回数と上限回数を読み取って、両者を比較することにより、電子クーポンの利用を制限することを開示している。特許文献3は、電子クーポンの再配布に伴う、電子クーポンの無制限な提供を防止するための仕組みを開示している。特許文献1に記載の発明では、クーポン発行サーバが、電子クーポンを発券する携帯端末のユーザ識別情報を記憶するデータベースや、該ユーザ識別情報と該携帯端末からの電子クーポンの再配布が許可された端末のユーザ識別情報とを紐付けたデータベースを有し、該紐付けの関係を満たす場合にのみ、該携帯端末からの電子クーポンの再配布が許可される。 For example, Patent Document 1 discloses a mechanism that prevents an electronic coupon from being used twice in a system including a user's mobile phone, a virtual store on the network, and a coupon management server that manages the usage status of the electronic coupon. Is disclosed. In the invention described in Patent Document 1, when the mobile phone reads the electronic coupon from the non-contact IC chip, the usage flag indicating whether or not the electronic coupon is stored stored in the mobile phone is rewritten, and the usage flag is set. The electronic coupon is not allowed to be used during a period indicating that it cannot be used. With this configuration, even when the communication between the mobile phone and the virtual store is disconnected when the electronic coupon is used, it is possible to avoid the electronic coupon being used twice. In Patent Document 2, the IC card on the customer side stores the number of times of use and the maximum number of times for each electronic coupon service, and the store terminal reads the number of times of use and the maximum number of times stored in the IC card, and compares them. , Limiting the use of electronic coupons. Patent Document 3 discloses a mechanism for preventing unlimited provision of electronic coupons accompanying redistribution of electronic coupons. In the invention described in Patent Document 1, the coupon issuing server is permitted to redistribute the user identification information of the mobile terminal that issues the electronic coupon and the user identification information and the electronic coupon from the mobile terminal. Redistribution of electronic coupons from the mobile terminal is permitted only when the database has a database associated with the user identification information of the terminal and the relationship of the association is satisfied.
特開2008-225716号公報JP 2008-225716 A 特開2006-221383号公報JP 2006-221383 A 特開2007-72906号公報JP 2007-72906 A
 特許文献1及び特許文献2は、提供者側のサーバからユーザ側の端末装置に電子クーポンを提供する際の処理を原因として、複数の端末装置(例えば、クーポンを取得することができるすべての端末装置)に対して、予め決められた数を超えて電子クーポンが提供されることを防ぐための仕組みについては開示していない。ところで、電子クーポンが記憶させられるメモリ領域がサービス提供者毎(言い換えれば、電子クーポン毎)に分けられていて、各領域を一のサービス提供者に占有させる仕様であれば、提供者側のサーバからでも、ユーザ側の端末装置に記憶された電子クーポンの管理をしやすい。しかしながら、サービス提供者に占有させる領域を割り当てない仕組みによって、電子クーポンに関する情報を管理しようとすると、或る電子クーポンがメモリ領域に書き込まれた後、別の電子クーポンによって上書き消去されてしまったような場合に、提供者側のサーバからユーザ側の端末装置に記憶された電子クーポンに関する情報を正確に管理することが難しい。電子クーポンに関する情報がサーバ側で正確な管理が実現されないと、所期の数を超えて電子クーポンが提供されてしまうおそれがある。
 また、提供可能な数がユーザ毎に制限された電子クーポンの各ユーザの保有状況を、ユーザ固有の識別子であるユーザIDを用いて管理しても、提供可能な数を超えて電子クーポンが利用される可能性がある。例えば、悪意のあるユーザが複数回会員登録を行うなどして1のユーザに複数のユーザIDが割り当てられた場合、そのユーザは、各ユーザIDを用いて電子クーポンを取得し利用することができる。厳格に1のユーザにつき1のユーザIDを割り当てることのできるシステムでは、ユーザがユーザIDを忘れたりそのユーザIDを用いたユーザ認証に必要なパスワードを忘れたりした場合には、ユーザIDの再発行に係る手続きが煩雑にならざるを得ない、という別の問題が生じる。
 そこで、本発明は、端末装置のメモリ領域を共有して複数の電子クーポンが書き込まれる場合であっても、所期の数を超えないように電子クーポンを提供できるようにすることである。
Patent document 1 and patent document 2 are based on the process at the time of providing an electronic coupon from the provider side server to the user side terminal device, and a plurality of terminal devices (for example, all terminals capable of acquiring coupons). No mechanism is disclosed for preventing electronic coupons from being provided beyond a predetermined number. By the way, if the memory area in which the electronic coupon is stored is divided for each service provider (in other words, for each electronic coupon) and each area is occupied by one service provider, the server on the provider side It is easy to manage electronic coupons stored in the terminal device on the user side. However, when trying to manage information about an electronic coupon by a mechanism that does not allocate an area to be occupied by the service provider, it seems that an electronic coupon was overwritten by another electronic coupon after it was written to the memory area. In such a case, it is difficult to accurately manage information related to the electronic coupon stored in the terminal device on the user side from the server on the provider side. If the information regarding the electronic coupon is not accurately managed on the server side, the electronic coupon may be provided beyond the expected number.
In addition, even if the possession status of each user of electronic coupons for which the number that can be provided is limited for each user is managed using a user ID that is a user-specific identifier, electronic coupons are used beyond the number that can be provided There is a possibility that. For example, when a malicious user performs member registration a plurality of times and a plurality of user IDs are assigned to one user, the user can acquire and use an electronic coupon using each user ID. . In a system in which one user ID can be strictly assigned to one user, if the user forgets the user ID or forgets the password required for user authentication using the user ID, the user ID is reissued Another problem arises that the procedure related to the above is complicated.
Therefore, the present invention is to provide an electronic coupon so as not to exceed the expected number even when a plurality of electronic coupons are written while sharing the memory area of the terminal device.
 上述した課題を解決するため、本発明のサーバ装置は、端末装置に提供されて当該端末装置において利用される各電子クーポンについて、前記端末装置に提供された電子クーポンの未利用数と、前記端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部と、前記電子クーポンが提供された端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部と、前記電子クーポンを第1の端末装置に新たに提供する場合に、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得部と、前記電子クーポンの残数から、前記第1の端末装置に提供される前記電子クーポンの数を減じるよう、前記第1記憶部を更新する第1更新部と、前記第1更新部により減じられた数の電子クーポンについて前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示する書込指示部と、前記書込指示部により前記書込処理の実行が指示される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込部と、前記書込指示部の指示に応じた前記書込処理の成功が確定した後、前記減じられた数を前記電子クーポンの未利用数に設定するよう、前記第1記憶部を更新する第2更新部とを備えることを特徴とする。 In order to solve the above-described problem, the server device of the present invention provides, for each electronic coupon provided to the terminal device and used in the terminal device, the number of unused electronic coupons provided to the terminal device, and the terminal One user that identifies the user of the terminal device in the first storage unit that stores the remaining number of electronic coupons that can be newly provided to the device and the terminal ID that identifies the terminal device on which the electronic coupon is provided When a second storage unit that stores IDs in association with each other and the electronic coupon is newly provided to the first terminal device, the terminal ID of the first terminal device and the user of the user of the first terminal device An acquisition unit that acquires an ID, a first update unit that updates the first storage unit so as to reduce the number of the electronic coupons provided to the first terminal device from the remaining number of the electronic coupons; A write instruction unit for instructing the first terminal device to execute a writing process to a memory area of the first terminal device for the number of electronic coupons reduced by the first update unit; When the execution of the writing process is instructed by the writing instruction unit, the writing unit that associates the acquired user ID with the acquired terminal ID in the second storage unit, and according to the instruction of the writing instruction unit And a second updating unit that updates the first storage unit so as to set the reduced number to the unused number of the electronic coupons after the success of the writing process is confirmed. .
 本発明のサーバ装置において、前記第2更新部は、前記書込指示部の指示に応じた前記書込処理により他の電子クーポンに前記電子クーポンが上書きされた場合、当該他の電子クーポンの未利用数を当該他の電子クーポンの残数に加算して、当該未利用数をクリアするよう、前記第1記憶部を更新することが好ましい。
 本発明のサーバ装置において、前記第1更新部は、前記第1電子クーポンの残数から減じた数を、前記書込処理の成功が未確定の電子クーポンの数である未確定数に設定して、前記第1記憶部に記憶させ、前記第2更新部は、前記書込処理の成功が確定した後、前記減じられた数である前記電子クーポンの未確定数を、前記電子クーポンの未利用数に設定し、当該未確定数をクリアすることが好ましい。
 本発明のサーバ装置において、前記第2更新部は、前記第1の端末装置が前記指示に応じた前記書込処理に失敗した場合、前記未確定数を前記電子クーポンの残数に加算し、当該未確定数をクリアすることが好ましい。
 本発明のサーバ装置において、前記第1記憶部は、一の端末装置に対して新たに提供可能な電子クーポンの残数を記憶し、前記第1の端末装置が利用した前記電子クーポンの利用数を含む利用履歴を取得する利用履歴取得部と、前記利用履歴取得部が取得した利用履歴に基づいて、前記利用した電子クーポンの前記未利用数、及び前記一の端末装置に対する残数のそれぞれから、前記利用数を減じるよう、前記第1記憶部を更新する第3更新部とを備えることが好ましい。
 本発明のサーバ装置において、前記メモリ領域に前記電子クーポンを書き込む前記書込処理が終了した旨の通知を受け付けた後、前記第1の端末装置から前記書込処理の結果を取得する管理サーバに問い合わせて当該結果を取得する処理結果取得部を備え、前記第2更新部は、前記処理結果取得部により取得された前記結果に応じて、前記書込処理の成功が確定したか否かを判断することが好ましい。
In the server device of the present invention, when the electronic coupon is overwritten on another electronic coupon by the writing process in accordance with an instruction from the writing instruction unit, the second updating unit does not store the other electronic coupon. It is preferable to update the first storage unit so as to clear the unused number by adding the used number to the remaining number of the other electronic coupons.
In the server device of the present invention, the first update unit sets the number subtracted from the remaining number of the first electronic coupons to an unconfirmed number that is the number of electronic coupons for which the success of the writing process is unconfirmed. The second update unit stores the undetermined number of the electronic coupon, which is the reduced number, after the success of the writing process is confirmed. It is preferable to set the number of uses and clear the indefinite number.
In the server device of the present invention, when the first terminal device fails the writing process according to the instruction, the second updating unit adds the uncertain number to the remaining number of the electronic coupons, It is preferable to clear the indeterminate number.
In the server device of the present invention, the first storage unit stores the remaining number of electronic coupons that can be newly provided to one terminal device, and the number of electronic coupons used by the first terminal device. Based on the usage history acquired by the usage history acquisition unit and the usage history acquired by the usage history acquisition unit, the number of unused electronic coupons used and the remaining number for the one terminal device It is preferable to include a third update unit that updates the first storage unit so as to reduce the number of uses.
In the server device of the present invention, after receiving a notification that the writing process of writing the electronic coupon in the memory area is completed, the management server acquires the result of the writing process from the first terminal device. A processing result acquisition unit that inquires and acquires the result is provided, and the second update unit determines whether or not the writing process has been successful according to the result acquired by the processing result acquisition unit It is preferable to do.
 本発明のサーバ装置において、前記書込指示部は、前記第2記憶部において、前記取得部が取得した端末IDに前記取得部が取得したユーザIDと異なるユーザIDが対応付けられていない場合、又は、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に予め決められた条件を満たすときには、前記指示を行うことが好ましい。
 本発明のサーバ装置において、前記書込指示部は、前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に、前記条件を満たさないときには、前記指示を行わないことが好ましい。
 本発明のサーバ装置において、前記書込指示部は、前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合には、前記指示を行い、前記書込部は、前記条件を満たさないときに前記書込指示部により前記指示が行われた場合には、前記第2記憶部において前記取得した端末IDに対応付けられたユーザIDを変更しないことが好ましい。
 本発明のサーバ装置において、前記取得部は、前記第1の端末装置から前記端末IDを取得したが前記ユーザIDを取得しなかった場合に、前記第2記憶部において当該端末IDにいずれかのユーザIDが対応付けられているときには当該ユーザIDを取得し、前記第2記憶部において当該端末IDがいずれのユーザIDとも対応付けられていないときには新たにユーザIDを発行して取得し、前記書込部は、前記書込指示部により前記指示が行われた場合に、前記取得部が前記第2記憶部からユーザIDを取得していたときには、前記取得した端末IDに対応付けられたユーザIDを変更せず、新たにユーザIDを発行して取得していたときには、当該ユーザIDを前記取得した端末IDに対応付けて前記第2記憶部に書き込むことが好ましい。
 本発明のサーバ装置において、前記書込指示部は、前記指示を行ってから予め決められた期間が経過したことを前記条件とすることが好ましい。
 本発明のサーバ装置において、前記書込指示部は、前記電子クーポンの利用可能期間が経過したことを前記条件とすることが好ましい。
 本発明のサーバ装置において、前記書込指示部は、複数種類の電子クーポンについて、前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示した場合、終了時期が最も後である電子クーポンの利用可能期間が経過したことを前記条件とすることが好ましい。
 本発明のサーバ装置において、前記端末IDは、当該端末IDが示す端末装置が有するメモリ領域に記憶され、提供可能な数がユーザ毎に制限された電子クーポンを提供する場合には、前記メモリ領域からの前記端末IDの読み出しを指示し、提供可能な数がユーザ毎に制限されていない電子クーポンを当該第1の端末装置に提供する場合には、前記端末IDの読み出しを指示しない読出指示部を備え、前記取得部は、前記読出指示部により前記端末IDの読み出しが指示された場合に、当該指示に従って前記メモリ領域から読み出された前記端末IDを取得し、前記書込指示部は、前記読出指示部により前記端末IDの読み出しが指示されなかった場合に、前記提供可能な数がユーザ毎に制限されていない電子クーポンを前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示することが好ましい。
 本発明のサーバ装置において、前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられており、かつ、前記条件を満たす場合に、前記第2記憶部において、前記取得したユーザIDと、前記取得した端末IDと異なる端末IDとが対応付けられているときに、当該取得したユーザIDと当該異なる端末IDとの対応付けを削除する削除部をさらに備えることが好ましい。
In the server device of the present invention, the writing instruction unit, in the second storage unit, when a user ID different from the user ID acquired by the acquisition unit is not associated with the terminal ID acquired by the acquisition unit, Alternatively, when the user ID different from the acquired user ID is associated with the acquired terminal ID, it is preferable to perform the instruction when a predetermined condition is satisfied.
In the server device according to the present invention, the write instruction unit does not satisfy the condition when a user ID different from the acquired user ID is associated with the acquired terminal ID in the second storage unit. Sometimes it is preferable not to give the instructions.
In the server device of the present invention, the write instruction unit performs the instruction when the second storage unit associates the acquired terminal ID with a user ID different from the acquired user ID. The writing unit changes the user ID associated with the acquired terminal ID in the second storage unit when the instruction is given by the writing instruction unit when the condition is not satisfied. Preferably not.
In the server device of the present invention, when the acquisition unit acquires the terminal ID from the first terminal device but does not acquire the user ID, the acquisition unit stores any one of the terminal IDs in the second storage unit. When the user ID is associated, the user ID is acquired. When the terminal ID is not associated with any user ID in the second storage unit, a new user ID is issued and acquired. When the instruction is given by the writing instruction unit and the acquisition unit has acquired a user ID from the second storage unit, a user ID associated with the acquired terminal ID If the user ID is newly issued and acquired without changing the user ID, it is preferable to write the user ID in the second storage unit in association with the acquired terminal ID. There.
In the server device according to the present invention, it is preferable that the write instruction unit has the condition that a predetermined period has elapsed since the instruction was given.
In the server device of the present invention, it is preferable that the writing instruction unit sets the condition that an available period of the electronic coupon has passed.
In the server device according to the present invention, the writing instruction unit instructs the first terminal device to execute a writing process to a memory area of the first terminal device for a plurality of types of electronic coupons. In this case, it is preferable that the condition that the usable period of the electronic coupon having the latest end time elapses is used as the condition.
In the server device according to the present invention, when the terminal ID is stored in a memory area of the terminal device indicated by the terminal ID and an electronic coupon whose number that can be provided is limited for each user is provided, the memory area Instructing the reading of the terminal ID from the terminal, and providing the first terminal device with an electronic coupon whose number of provisions is not limited for each user, a reading instruction unit that does not instruct the reading of the terminal ID The acquisition unit acquires the terminal ID read from the memory area according to the instruction when the reading instruction unit instructs to read the terminal ID, and the write instruction unit When the reading instruction unit does not instruct reading of the terminal ID, an electronic coupon whose number that can be provided is not limited for each user is attached to the first terminal device. To perform a write process to the memory area having it is preferred that instructs the first terminal device.
In the server device of the present invention, in the second storage unit, when the acquired terminal ID is associated with a user ID different from the acquired user ID, and the condition is satisfied, the second storage unit And a deletion unit that deletes the association between the acquired user ID and the different terminal ID when the acquired user ID is associated with a terminal ID different from the acquired terminal ID. It is preferable.
 本発明のクーポン管理方法は、端末装置に提供されて当該端末装置において利用される各電子クーポンについて、前記端末装置に提供された電子クーポンの未利用数と、前記端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部と、前記電子クーポンが提供された端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部とを備えるサーバ装置のクーポン管理方法であって、前記電子クーポンを第1の端末装置に新たに提供する場合に、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得ステップと、前記電子クーポンの残数から、前記第1の端末装置に提供される前記電子クーポンの数を減じるよう、前記第1記憶部を更新する第1更新ステップと、前記第1更新ステップにおいて減じられた数の電子クーポンについて前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示する書込指示ステップと、前記書込指示ステップにおいて前記書込処理の実行が指示される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込ステップと、前記書込指示ステップにおける指示に応じた前記書込処理の成功が確定した後、前記減じられた数を前記電子クーポンの未利用数に設定するよう、前記第1記憶部を更新する第2更新ステップとを有することを特徴とする。
 本発明のクーポン管理方法において、前記第1記憶部は、端末装置が有するメモリ領域への書込処理の成功が確定した電子クーポンの未利用数を、端末装置に提供された電子クーポンの未利用数として記憶し、前記第2更新ステップは、前記書込指示部の指示に応じた前記書込処理により他の電子クーポンに前記電子クーポンが上書きされた場合、当該他の電子クーポンの未利用数を当該他の電子クーポンの残数に加算して、当該未利用数をクリアするよう、前記第1記憶部を更新することが好ましい。
 本発明のクーポン管理方法において、前記書込指示ステップは、前記第2記憶部において、前記取得ステップで取得した端末IDに前記取得ステップで取得したユーザIDと異なるユーザIDが対応付けられていない場合、又は、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に予め決められた条件を満たすときには、前記指示を行うことが好ましい。
The coupon management method of the present invention is newly provided to the terminal device and the number of unused electronic coupons provided to the terminal device for each electronic coupon provided to the terminal device and used in the terminal device. The first storage unit that stores the remaining number of possible electronic coupons and the terminal ID that identifies the terminal device provided with the electronic coupon are associated with one user ID that identifies the user of the terminal device. A coupon management method for a server device comprising a second storage unit, wherein when the electronic coupon is newly provided to a first terminal device, the terminal ID of the first terminal device and the first terminal device The first memory so as to subtract the number of the electronic coupons provided to the first terminal device from the acquisition step of acquiring the user ID of the user and the remaining number of the electronic coupons The first terminal device is configured to execute a writing process to the memory area of the first terminal device for the number of electronic coupons reduced in the first updating step. A writing instruction step for instructing, and a writing step for associating the acquired user ID with the acquired terminal ID in the second storage unit when execution of the writing process is instructed in the writing instruction step; After the success of the writing process according to the instruction in the writing instruction step is confirmed, the second update is performed to update the first storage unit to set the reduced number to the unused number of the electronic coupon. And a step.
In the coupon management method of the present invention, the first storage unit uses the number of unused electronic coupons for which the success of the writing process to the memory area of the terminal device is confirmed, and the unused number of electronic coupons provided to the terminal device. When the electronic coupon is overwritten on another electronic coupon by the writing process according to the instruction from the writing instruction unit, the second update step stores the number of unused electronic coupons that are not used. Is added to the remaining number of the other electronic coupons, and the first storage unit is preferably updated to clear the unused number.
In the coupon management method of the present invention, in the writing instruction step, in the second storage unit, a user ID different from the user ID acquired in the acquisition step is not associated with the terminal ID acquired in the acquisition step. Alternatively, when the user ID different from the acquired user ID is associated with the acquired terminal ID, the instruction is preferably performed when a predetermined condition is satisfied.
 本発明の通信システムは、サーバ装置と端末装置とを備える通信システムであって、前記サーバ装置は、端末装置に提供されて当該端末装置において利用される各電子クーポンについて、前記端末装置に提供された電子クーポンの未利用数と、前記端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部と、前記電子クーポンが提供された端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部と、前記電子クーポンを第1の端末装置に新たに提供する場合に、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得部と、前記電子クーポンの残数から、前記第1の端末装置に提供される前記電子クーポンの数を減じるよう、前記第1記憶部を更新する第1更新部と、前記第1更新部により減じられた数の電子クーポンについて前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示する書込指示部と、前記書込指示部により前記書込処理の実行が指示される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込部と、前記書込指示部の指示に応じた前記書込処理の成功が確定した後、前記減じられた数を前記電子クーポンの未利用数に設定するよう、前記第1記憶部を更新する第2更新部とを備え、前記端末装置は、前記書込指示部の指示に従った前記書込処理により前記未利用数の電子クーポンを前記メモリ領域に書き込み、当該書込処理を終了したことを前記サーバ装置に通知することを特徴とする。
 本発明の通信システムにおいて、前記第1記憶部は、端末装置が有するメモリ領域への書込処理の成功が確定した電子クーポンの未利用数を、端末装置に提供された電子クーポンの未利用数として記憶し、前記第2更新部は、前記書込指示部の指示に応じた前記書込処理により他の電子クーポンに前記電子クーポンが上書きされた場合、当該他の電子クーポンの未利用数を当該他の電子クーポンの残数に加算して、当該未利用数をクリアするよう、前記第1記憶部を更新することが好ましい。
The communication system of the present invention is a communication system including a server device and a terminal device, and the server device is provided to the terminal device for each electronic coupon provided to the terminal device and used in the terminal device. A first storage unit that stores the number of unused electronic coupons, the remaining number of electronic coupons that can be newly provided to the terminal device, and a terminal ID that identifies the terminal device provided with the electronic coupon, When the second storage unit that stores one user ID that identifies the user of the terminal device in association with the electronic coupon is newly provided to the first terminal device, the terminal ID of the first terminal device The number of the electronic coupons provided to the first terminal device is subtracted from the acquisition unit that acquires the user ID of the user of the first terminal device and the remaining number of the electronic coupons. The first update unit for updating the first storage unit, and the write processing to the memory area of the first terminal device for the number of electronic coupons reduced by the first update unit, When the writing instruction unit instructing the first terminal device and execution of the writing process are instructed by the writing instruction unit, the acquired user ID is assigned to the acquired terminal ID in the second storage unit. The first storage unit configured to set the reduced number to the unused number of the electronic coupons after the writing unit to be associated and the success of the writing process according to the instruction of the writing instruction unit are confirmed A second updating unit that updates the number of electronic coupons to the memory area by the writing process according to an instruction of the writing instruction unit, and the writing process The server device And notifying the.
In the communication system of the present invention, the first storage unit determines the number of unused electronic coupons that have been successfully written to the memory area of the terminal device as the number of unused electronic coupons provided to the terminal device. And when the electronic coupon is overwritten on another electronic coupon by the writing process according to the instruction of the writing instruction unit, the second updating unit calculates the number of unused electronic coupons It is preferable to update the first storage unit so as to clear the unused number by adding to the remaining number of the other electronic coupons.
 本発明のプログラムは、端末装置に提供されて当該端末装置において利用される各電子クーポンについて、前記端末装置に提供された電子クーポンの未利用数と、前記端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部と、前記電子クーポンが提供された端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部とを備えるコンピュータに、前記電子クーポンを第1の端末装置に新たに提供する場合に、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得ステップと、前記電子クーポンの残数から、前記第1の端末装置に提供される前記電子クーポンの数を減じるよう、前記第1記憶部を更新する第1更新ステップと、前記第1更新ステップにおいて減じられた数の電子クーポンについて前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示する書込指示ステップと、前記書込指示ステップにおいて前記書込処理の実行が指示される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込ステップと、前記書込指示ステップにおける指示に応じた前記書込処理の成功が確定した後、前記減じられた数を前記電子クーポンの未利用数に設定するよう、前記第1記憶部を更新する第2更新ステップとを実行させる。
 本発明のプログラムにおいて、前記書込指示ステップは、前記第2記憶部において、前記取得ステップで取得した端末IDに前記取得ステップで取得したユーザIDと異なるユーザIDが対応付けられていない場合、又は、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に予め決められた条件を満たすときには、前記指示を行うことが好ましい。
The program of the present invention can be newly provided to the terminal device and the number of unused electronic coupons provided to the terminal device for each electronic coupon provided to the terminal device and used in the terminal device. A first storage unit that stores the remaining number of electronic coupons and a terminal ID that identifies the terminal device provided with the electronic coupon are associated with one user ID that identifies the user of the terminal device, and the second is stored. When the electronic coupon is newly provided to the first terminal device to a computer including a storage unit, the terminal ID of the first terminal device and the user ID of the user of the first terminal device are acquired. And a first updating step of updating the first storage unit so as to subtract the number of electronic coupons provided to the first terminal device from the number of remaining electronic coupons. A writing instruction step for instructing the first terminal device to execute a writing process to the memory area of the first terminal device for the number of electronic coupons reduced in the first updating step; When the execution of the writing process is instructed in the writing instruction step, the writing step of associating the acquired user ID with the acquired terminal ID in the second storage unit, and the instruction in the writing instruction step After the success of the corresponding writing process is confirmed, a second update step of updating the first storage unit is executed so as to set the reduced number to the unused number of the electronic coupon.
In the program of the present invention, when the writing instruction step does not associate a user ID different from the user ID acquired in the acquisition step with the terminal ID acquired in the acquisition step in the second storage unit, or When the acquired terminal ID is associated with a user ID different from the acquired user ID, the instruction is preferably performed when a predetermined condition is satisfied.
 本発明によれば、端末装置のメモリ領域を共有して複数の電子クーポンが書き込まれる場合であっても、所期の数を超えないように電子クーポンを提供することができる。 According to the present invention, even when a plurality of electronic coupons are written while sharing the memory area of the terminal device, the electronic coupons can be provided so as not to exceed the expected number.
通信システムの全体構成を示す図。The figure which shows the whole structure of a communication system. ASPサーバのハードウェア構成を示すブロック図。The block diagram which shows the hardware constitutions of an ASP server. クーポン管理テーブルのデータ構造を示す図。The figure which shows the data structure of a coupon management table. ユーザ管理テーブルのデータ構造を示す図。The figure which shows the data structure of a user management table. トランザクション管理テーブルのデータ構造を示す図。The figure which shows the data structure of a transaction management table. 保留リストテーブルのデータ構造を示す図。The figure which shows the data structure of a pending | holding list table. 端末装置のハードウェア構成を示すブロック図。The block diagram which shows the hardware constitutions of a terminal device. 電子クーポンの提供に関する機能の機能的構成を示す機能ブロック図。The functional block diagram which shows the functional structure of the function regarding provision of an electronic coupon. 電子クーポンの利用に関する機能の機能的構成を示す機能ブロック図。The functional block diagram which shows the functional structure of the function regarding utilization of an electronic coupon. 通信システムの全体的な処理の流れを示すシーケンスチャート。The sequence chart which shows the flow of the whole process of a communication system. 端末装置が電子クーポンを取得しようとするときの画面例。The example of a screen when a terminal device is going to acquire an electronic coupon. セット開始処理の流れを示すフローチャート。The flowchart which shows the flow of a set start process. データテーブルの更新の様子を示す図。The figure which shows the mode of the update of a data table. セット確定処理の流れを示すフローチャート。The flowchart which shows the flow of a set confirmation process. セット確定処理の流れを示すフローチャート。The flowchart which shows the flow of a set confirmation process. データテーブルの更新の様子を示す図。The figure which shows the mode of the update of a data table. データテーブルの更新の様子を示す図。The figure which shows the mode of the update of a data table. 利用時処理の流れを示すフローチャート。The flowchart which shows the flow of a process at the time of use. 利用時処理により変化するデータテーブルのデータ構造を示す図。The figure which shows the data structure of the data table which changes with a process at the time of use. データテーブルの更新の様子を示す図。The figure which shows the mode of the update of a data table. データテーブルの更新の様子を示す図。The figure which shows the mode of the update of a data table. データテーブルの更新の様子を示す図。The figure which shows the mode of the update of a data table. データテーブルの更新の様子を示す図。The figure which shows the mode of the update of a data table. ASPサーバのハードウェア構成を示すブロック図。The block diagram which shows the hardware constitutions of an ASP server. クーポン情報テーブルの構成を示す図。The figure which shows the structure of a coupon information table. ユーザ管理テーブルの構成を示す図。The figure which shows the structure of a user management table. 保有状況管理テーブルの構成を示す図。The figure which shows the structure of a holding condition management table. 電子クーポンの管理に関する機能の機能的構成を示す機能ブロック図。The functional block diagram which shows the functional structure of the function regarding management of an electronic coupon. 通信システムの全体的な処理の流れを示すシーケンスチャート。The sequence chart which shows the flow of the whole process of a communication system. クーポン取得画面を示す図。The figure which shows a coupon acquisition screen. 端末ID要否判定処理の手順を示すフローチャート。The flowchart which shows the procedure of a terminal ID necessity determination process. 端末ID通知処理の手順を示すフローチャート。The flowchart which shows the procedure of a terminal ID notification process. クーポン提供判定処理の手順を示すフローチャート。The flowchart which shows the procedure of a coupon provision determination process. ユーザ管理テーブルの更新の様子を示す図。The figure which shows the mode of the update of a user management table. ユーザ管理テーブルの更新の様子を示す図。The figure which shows the mode of the update of a user management table. 電子クーポンの書込処理の手順を示すシーケンスチャート。The sequence chart which shows the procedure of the write-in process of an electronic coupon.
1.第1実施形態
 以下、図面を参照しつつ本発明の第1実施形態を説明する。
 図1は、通信システム1の全体構成を示す図である。
 通信システム1は、ASP(Application Service Provider)サーバ10と、端末装置20と、店舗管理サーバ30と、店舗端末40と、アプリケーション管理サーバ50とを備える。ASPサーバ10は、端末装置20に対して電子クーポンサービスを提供するサーバ装置である。ここにおいて、ASPサーバ10は、端末装置20からの要求に応じて、複数のサービス提供者による電子クーポンサービスを端末装置20に提供する。端末装置20は、ここではスマートフォンであり、ASPサーバ10から提供された電子クーポンを取得する。ただし、端末装置20はスマートフォンに限らず、携帯電話端末やタブレット端末、パーソナルコンピュータ、PDA(Personal Digital Assistant)等の他の端末装置であってもよい。店舗管理サーバ30は、端末装置20により電子クーポンが利用された場合に、電子クーポンの利用の履歴である利用履歴を、ASPサーバ10宛てに送信する。店舗端末40は、電子クーポンを利用することができる店舗に設置されたコンピュータ装置である。店舗端末40は、非接触式ICカードとの間で無線通信を行ってデータの読み書きを行うリーダ/ライタ41を有し、リーダ/ライタ41により読み取ったデータに基づき利用履歴を生成し、生成した利用履歴を店舗管理サーバ30宛てに送信する。アプリケーション管理サーバ50は、端末装置20における電子クーポンの書込処理に関する管理を司る管理サーバである。
1. First Embodiment Hereinafter, a first embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram illustrating an overall configuration of the communication system 1.
The communication system 1 includes an ASP (Application Service Provider) server 10, a terminal device 20, a store management server 30, a store terminal 40, and an application management server 50. The ASP server 10 is a server device that provides an electronic coupon service to the terminal device 20. Here, the ASP server 10 provides the terminal device 20 with an electronic coupon service by a plurality of service providers in response to a request from the terminal device 20. The terminal device 20 is a smartphone here, and acquires the electronic coupon provided from the ASP server 10. However, the terminal device 20 is not limited to a smartphone, and may be another terminal device such as a mobile phone terminal, a tablet terminal, a personal computer, or a PDA (Personal Digital Assistant). When the electronic coupon is used by the terminal device 20, the store management server 30 transmits a usage history that is a usage history of the electronic coupon to the ASP server 10. The store terminal 40 is a computer device installed in a store where electronic coupons can be used. The store terminal 40 has a reader / writer 41 that performs wireless communication with a non-contact type IC card to read / write data, generates a usage history based on the data read by the reader / writer 41, and generates the usage history The usage history is transmitted to the store management server 30. The application management server 50 is a management server that manages management related to the electronic coupon writing process in the terminal device 20.
 通信システム1では、ASPサーバ10、端末装置20、店舗管理サーバ30及びアプリケーション管理サーバ50がそれぞれネットワークNWに接続されている。ネットワークNWは、ここでは、移動体通信網、ゲートウェイ及びインターネットを含む通信網である。店舗管理サーバ30と店舗端末40とは、例えば、専用の通信回線で接続されている。図1には、端末装置20を1台だけ図示しているが、実際には、電子クーポンサービスを受けることができる端末装置20が複数存在する。店舗管理サーバ30は、一店舗につき一台設置されてもよいし、複数店舗につき一台設置されてもよいし、サービス提供者毎に一台ずつ設置されてもよい。店舗端末40は、電子クーポンを利用可能な各店舗に設置されていて、実際にはより多数存在している。 In the communication system 1, the ASP server 10, the terminal device 20, the store management server 30, and the application management server 50 are connected to the network NW. Here, the network NW is a communication network including a mobile communication network, a gateway, and the Internet. The store management server 30 and the store terminal 40 are connected by, for example, a dedicated communication line. Although only one terminal device 20 is illustrated in FIG. 1, there are actually a plurality of terminal devices 20 that can receive an electronic coupon service. One store management server 30 may be installed per store, one store may be installed per plurality of stores, or one may be installed for each service provider. The store terminal 40 is installed in each store where an electronic coupon can be used, and actually there are a larger number.
 図2は、ASPサーバ10のハードウェア構成を示すブロック図である。図2に示すように、ASPサーバ10は、制御部11と、通信部12と、記憶部13とを備える。
 制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)を備えるマイクロプロセッサである。CPUは、ROMや記憶部13に記憶されたプログラムをRAMに読み出して実行することにより、ASPサーバ10の各部を制御する。通信部12は、ネットワークNWに接続するためのインタフェースである。制御部11は、通信部12によりネットワークNW経由で接続された外部装置と通信する。記憶部13は、例えばハードディスク装置を備え、制御部11により実行される電子クーポンサービスの提供に必要なプログラムを記憶する。また、記憶部13は、クーポン管理テーブル131、ユーザ管理テーブル132、トランザクション管理テーブル133及び保留リストテーブル134を記憶する。
FIG. 2 is a block diagram illustrating a hardware configuration of the ASP server 10. As shown in FIG. 2, the ASP server 10 includes a control unit 11, a communication unit 12, and a storage unit 13.
The control unit 11 is a microprocessor including a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory). The CPU controls each unit of the ASP server 10 by reading the program stored in the ROM or the storage unit 13 into the RAM and executing it. The communication unit 12 is an interface for connecting to the network NW. The control unit 11 communicates with an external device connected via the network NW by the communication unit 12. The storage unit 13 includes a hard disk device, for example, and stores a program necessary for providing an electronic coupon service executed by the control unit 11. The storage unit 13 also stores a coupon management table 131, a user management table 132, a transaction management table 133, and a hold list table 134.
 なお、記憶部13は、電子クーポンサービスの提供に関する別の情報も記憶している。例えば、記憶部13は、電子クーポンを提供する対象とするユーザの条件(年齢や性別等のユーザ属性)や、電子クーポンを提供する期間、電子クーポンを利用可能な期間等を記憶するが、本実施形態ではそれらの説明を省略する。ところで、本実施形態の電子クーポンは、電子バリューとも呼ばれる電子データであり、紙媒体として提供又は利用されるわけではない。しかしながら、以下の説明を理解しやすくするため、電子クーポンの提供又は利用可能な最小単位を、本実施形態では「枚」と称し、提供又は利用される電子クーポンの数(つまり、単位数)を、「枚数」と称する。 In addition, the memory | storage part 13 has also memorize | stored the other information regarding provision of an electronic coupon service. For example, although the memory | storage part 13 memorize | stores the conditions (user attributes, such as age and sex) of the user made into the object which provides an electronic coupon, the period which provides an electronic coupon, the period which can use an electronic coupon, etc., In the embodiment, the description thereof is omitted. By the way, the electronic coupon of this embodiment is electronic data also called electronic value, and is not provided or used as a paper medium. However, in order to facilitate understanding of the following description, the minimum unit that can be provided or used for an electronic coupon is referred to as “sheet” in this embodiment, and the number of electronic coupons that are provided or used (that is, the number of units) is , Referred to as “number of sheets”.
 図3は、クーポン管理テーブル131のデータ構造を示す図である。
 図3に示すように、クーポン管理テーブル131は、「クーポンID」と、「制限枚数(全体)」と、「利用枚数(全体)」と、「残枚数(全体)」とで示される各情報が対応付けられたデータテーブルである。「クーポンID」は、ASPサーバ10により提供される電子クーポンを識別する識別情報である。「制限枚数(全体)」は、ASPサーバ10により電子クーポンが提供される対象となる全ての端末装置20(つまり、全ユーザ)に対する制限枚数(以下、「全体の制限枚数」という。)である。ASPサーバ10では、利用を許可する電子クーポンの全ての端末装置20に対する枚数の総和が、全体の制限枚数を超えないように管理される。「利用枚数(全体)」は、既に利用された電子クーポンの全ての端末装置20に対する枚数の総和(以下、「全体の利用枚数」という。)である。全体の制限枚数は、全体の利用枚数の上限ということができる。「残枚数(全体)」は、全ての端末装置20に対する電子クーポンの残数(以下、「全体の残枚数」という。)である。ASPサーバ10では、提供する電子クーポンの全ての端末装置20に対する枚数の総和が、全体の残枚数を超えないように管理される。
FIG. 3 is a diagram illustrating a data structure of the coupon management table 131.
As shown in FIG. 3, the coupon management table 131 includes each piece of information indicated by “coupon ID”, “restricted number (total)”, “used number (total)”, and “remaining number (total)”. Is a data table associated with. “Coupon ID” is identification information for identifying an electronic coupon provided by the ASP server 10. The “restricted number (total)” is a limited number for all terminal devices 20 (that is, all users) for which electronic coupons are provided by the ASP server 10 (hereinafter referred to as “total limited number”). . In the ASP server 10, the total number of electronic coupons permitted to be used for all terminal devices 20 is managed so as not to exceed the total limit number. “Number of used sheets (total)” is the total number of electronic coupons that have already been used for all terminal devices 20 (hereinafter referred to as “total number of used sheets”). The total limit number can be said to be the upper limit of the total use number. The “remaining number (total)” is the remaining number of electronic coupons for all the terminal devices 20 (hereinafter referred to as “total remaining number”). The ASP server 10 manages the total number of electronic coupons to be provided for all terminal devices 20 so as not to exceed the total remaining number.
 図3に示す例では、クーポンID「CID001」の電子クーポンA、及びクーポンID「CID002」の電子クーポンBに関する情報を代表して示している。クーポンID「CID001」の電子クーポンAと、クーポンID「CID002」の電子クーポンBとは、ここでは、互いに異なるサービス提供者によって提供される電子クーポンである。図3の第1行に対応するレコードは、クーポンID「CID001」の電子クーポンAの全体の制限枚数が「1000」であり、全体の利用枚数が「0」であり、全体の残枚数が「1000」であることを意味する。図3の第2行に対応するレコードは、クーポンID「CID002」の電子クーポンBの全体の制限枚数が「5000」であり、全体の利用枚数が「0」であり、全体の残枚数が「5000」であることを意味する。 In the example shown in FIG. 3, information related to the electronic coupon A having the coupon ID “CID001” and the electronic coupon B having the coupon ID “CID002” is representatively shown. Here, the electronic coupon A with the coupon ID “CID001” and the electronic coupon B with the coupon ID “CID002” are electronic coupons provided by different service providers. In the record corresponding to the first row in FIG. 3, the total limit number of electronic coupons A with the coupon ID “CID001” is “1000”, the total use number is “0”, and the total remaining number is “ 1000 ”. In the record corresponding to the second row in FIG. 3, the total limit number of electronic coupons B of coupon ID “CID002” is “5000”, the total number of used coupons is “0”, and the total remaining number is “ 5000 ".
 図4は、ユーザ管理テーブル132のデータ構造を示す図である。
 図4に示すように、ユーザ管理テーブル132は、「ユーザID」と、「クーポンID」と、「制限枚数(個人)」と、「セット未確定枚数」と、「セット済未利用枚数」と、「利用枚数(個人)」と、「残枚数(個人)」とで示される各情報が対応付けられたデータテーブルである。「ユーザID」は、端末装置20のユーザを識別する識別情報であるとともに、端末装置20を識別する識別情報である。
 本実施形態のユーザIDは、各端末装置20に排他的に割り当てられた識別情報であるが、例えばSIM(Subscriber Identity Module)カードから特定される端末識別情報や電話番号、任意の識別番号等である。ユーザ管理テーブル132に書き込まれるユーザIDは、ここでは、端末装置20の後述するICチップ25(具体的には、ICチップ25の所定のメモリ領域)に書き込まれたユーザIDに対応しているものとする。ここにおいて、同一ユーザに対応してICチップ25に書き込まれたユーザIDとユーザ管理テーブル132に書き込まれるユーザIDとは、一致していなくてもよい。両者のユーザIDが異なる場合には、例えば、ASPサーバ10が同一のユーザのユーザID同士を対応付ける対応表を記憶部13に記憶しておく。そして、この対応表を用いたユーザIDの照合により、ASPサーバ10がユーザID同士の対応関係を特定すればよい。この対応表を用いる構成にすれば、例えば端末装置20の機種変更が行われた場合であっても、ASPサーバ10は対応表を更新するだけでよく、ユーザ管理テーブル132のユーザIDを更新しなくてよい。
FIG. 4 is a diagram illustrating the data structure of the user management table 132.
As shown in FIG. 4, the user management table 132 includes “user ID”, “coupon ID”, “restricted number (individual)”, “set unconfirmed number”, and “set unused number”. , A data table in which pieces of information indicated by “used number (individual)” and “remaining number (individual)” are associated with each other. “User ID” is identification information for identifying the user of the terminal device 20 and identification information for identifying the terminal device 20.
The user ID of this embodiment is identification information assigned exclusively to each terminal device 20, and is, for example, terminal identification information, a telephone number, an arbitrary identification number, or the like specified from a SIM (Subscriber Identity Module) card. is there. Here, the user ID written in the user management table 132 corresponds to the user ID written in the later-described IC chip 25 (specifically, a predetermined memory area of the IC chip 25) of the terminal device 20. And Here, the user ID written in the IC chip 25 corresponding to the same user and the user ID written in the user management table 132 do not need to match. When the two user IDs are different, for example, the ASP server 10 stores a correspondence table in which the user IDs of the same user are associated with each other in the storage unit 13. And the ASP server 10 should just specify the correspondence of user IDs by collation of user ID using this correspondence table. With the configuration using this correspondence table, for example, even when the model of the terminal device 20 is changed, the ASP server 10 only needs to update the correspondence table, and updates the user ID in the user management table 132. It is not necessary.
 「クーポンID」は、クーポン管理テーブル131に書き込まれるクーポンIDと同じである。「制限枚数(個人)」は、ASPサーバ10により提供される電子クーポンの個々のユーザ(つまり、一の端末装置20)に対する制限数(以下、「個人の制限枚数」という。)である。ASPサーバ10では、利用を許可する電子クーポンの枚数が、一のユーザにつき個人の制限枚数を超えないように管理される。すなわち、個人の制限枚数は、個人の利用枚数の上限ということができる。 “Coupon ID” is the same as the coupon ID written in the coupon management table 131. The “limit number (individual)” is the limit number (hereinafter referred to as “individual limit number”) for each user (that is, one terminal device 20) of the electronic coupon provided by the ASP server 10. In the ASP server 10, the number of electronic coupons permitted to be used is managed so as not to exceed the individual limit number per user. That is, it can be said that the individual limit number is the upper limit of the individual use number.
 「セット未確定枚数」は、端末装置20に提供される電子クーポンであり、ICチップ25の後述するメモリ領域251への書込処理(「セット」ともいう。)の成功が未確定の電子クーポンの数(未確定数)である。言い換えれば、セット未確定枚数は、電子クーポンの書込処理が終了していないか、又は電子クーポンの書込処理が成功又は失敗したがこの結果がASPサーバ10に通知されていない(つまり、ASPサーバ10で書込処理の結果が把握されていない)電子クーポンの枚数である。「セット済未利用枚数」は、端末装置20に提供される電子クーポンであり、書込処理の成功が確定した未利用の電子クーポンの数(未利用数)である。言い換えれば、セット済未利用枚数は、電子クーポンがメモリ領域251に記憶されていると、ASPサーバ10が把握した電子クーポンの枚数である。よって、このセット済未利用枚数の電子クーポンは、端末装置20が利用可能な電子クーポンともいえる。
 「利用枚数(個人)」は、一のユーザにより既に利用された電子クーポンの利用数(以下、「個人の利用枚数」という。)である。「残枚数(個人)」は、個々のユーザに対する電子クーポンの残数(以下、「個人の残枚数」という。)である。ASPサーバ10では、提供する電子クーポンの枚数が、一のユーザにつき個人の残枚数を超えないように管理される。
The “set unconfirmed number” is an electronic coupon provided to the terminal device 20, and an electronic coupon for which the success of a writing process (also referred to as “set”) to a memory area 251 described later of the IC chip 25 is unconfirmed. (The number of indeterminate). In other words, the set unconfirmed number of sheets indicates that the electronic coupon writing process has not ended, or the electronic coupon writing process has succeeded or failed, but this result has not been notified to the ASP server 10 (i.e., ASP This is the number of electronic coupons (the result of the writing process is not grasped by the server 10). The “set unused number” is an electronic coupon provided to the terminal device 20 and is the number of unused electronic coupons (unused number) for which the success of the writing process is confirmed. In other words, the set unused number is the number of electronic coupons grasped by the ASP server 10 when the electronic coupons are stored in the memory area 251. Therefore, the set and unused number of electronic coupons can be said to be electronic coupons that can be used by the terminal device 20.
The “number of used sheets (individual)” is the number of electronic coupons that have already been used by one user (hereinafter referred to as “number of individual used sheets”). The “remaining number (individual)” is the remaining number of electronic coupons for each user (hereinafter referred to as “individual remaining number”). In the ASP server 10, the number of electronic coupons to be provided is managed so as not to exceed the remaining number of individuals per user.
 図4に示す例では、ユーザID「UID001」のユーザに対応する情報を代表して示しているが、電子クーポンサービスの提供を受けることができるユーザ毎に同様の情報が書き込まれている。例えば、図4の第1行に対応するレコードは、ユーザID「UID001」のユーザにおける、クーポンID「CID001」の電子クーポンAの個人の制限枚数が「10」であり、セット未確定枚数、セット済未利用枚数、及び個人の利用枚数がそれぞれ「0」であり、個人の残枚数が「10」であることを意味する。図4の第2行に対応するレコードも、第1行と同様に解釈してよい。 In the example shown in FIG. 4, information corresponding to the user with the user ID “UID001” is representatively shown, but similar information is written for each user who can receive provision of the electronic coupon service. For example, in the record corresponding to the first row in FIG. 4, in the user with the user ID “UID001”, the personal limited number of electronic coupons A with the coupon ID “CID001” is “10”, This means that the number of used and unused sheets is “0”, and the remaining number of individuals is “10”. The record corresponding to the second line in FIG. 4 may be interpreted in the same manner as the first line.
 図5は、トランザクション管理テーブル133のデータ構造を示す図である。
 図5に示すように、トランザクション管理テーブル133は、「処理ID」と、「ステータス」と、「書込完了日時」とで示される各情報が対応付けられ、ユーザ毎に書込処理結果を管理するデータテーブルである。「処理ID」は、電子クーポンの書込処理を識別する識別情報である。「ステータス」は、電子クーポンの書込処理の結果を示す情報であり、成功、失敗又は未確定のいずれかを示す。書込処理が成功した場合はステータスが「成功」となり、書込処理が失敗した場合はステータスが「失敗」となり、書込処理の結果が未確定の場合はステータスが「未確定」となる。
 なお、端末装置20で電子クーポンの書込処理が成功した場合、その電子クーポンはICチップ25に記憶されているが、電子クーポンの書込処理が失敗した場合、その電子クーポンはICチップ25には記憶されていない。電子クーポンの書込処理が失敗した場合、この書込処理前にICチップ25に電子クーポンが記憶されていればこの電子クーポンがそのまま記憶された状態となる。
FIG. 5 is a diagram illustrating the data structure of the transaction management table 133.
As shown in FIG. 5, the transaction management table 133 associates each piece of information indicated by “process ID”, “status”, and “write completion date / time”, and manages the write process result for each user. This is a data table. “Process ID” is identification information for identifying the electronic coupon writing process. “Status” is information indicating the result of the electronic coupon writing process, and indicates success, failure, or indefiniteness. When the writing process is successful, the status is “successful”, when the writing process is unsuccessful, the status is “failure”, and when the result of the writing process is unconfirmed, the status is “unconfirmed”.
When the electronic coupon writing process is successful in the terminal device 20, the electronic coupon is stored in the IC chip 25, but when the electronic coupon writing process is unsuccessful, the electronic coupon is stored in the IC chip 25. Is not remembered. When the electronic coupon writing process fails, if the electronic coupon is stored in the IC chip 25 before the writing process, the electronic coupon is stored as it is.
 「書込完了日時」は、電子クーポンの書込処理が完了した日時を示す情報である。書込完了日時は、書込処理の結果が成功した場合に限って規定される情報である。図5に示すトランザクション管理テーブル133の例では、いずれの情報も書き込まれておらず、各フィールドがブランクである。
 なお、通信システム1において実行される電子クーポンの提供に係る処理は、書込処理を含むトランザクション処理ということもでき、ASPサーバ10と端末装置20とで管理される電子クーポンに関する情報に齟齬が生じないように実行される。
“Writing completion date and time” is information indicating the date and time when the electronic coupon writing process is completed. The write completion date and time is information defined only when the result of the writing process is successful. In the example of the transaction management table 133 shown in FIG. 5, no information is written, and each field is blank.
Note that the processing related to the provision of the electronic coupon executed in the communication system 1 can also be referred to as transaction processing including writing processing, and the information related to the electronic coupon managed by the ASP server 10 and the terminal device 20 is inconsistent. To be executed.
 図6は、保留リストテーブル134のデータ構造を示す図である。
 図6に示すように、保留リストテーブル134は、「クーポンID」と、「利用日時」と、「利用枚数」とで示される各情報が対応付けられたデータテーブルである。「処理ID」は、トランザクション管理テーブル133に書き込まれる処理IDと同じである。「利用日時」は、電子クーポンが利用された日時を示す情報である。「利用枚数」は、電子クーポンの個人の利用枚数である。ここでの利用枚数は、同一の電子クーポンが1回の利用において何枚利用されたかを示す。保留リストテーブル134の一つのレコードに書き込まれるクーポンID、利用日時及び利用枚数の組み合わせは、ASPサーバ10が店舗端末40から取得した利用履歴と同じである。このように、保留リストテーブル134は、端末装置20による1回の電子クーポンの利用により生成される利用履歴が一つのレコードで書き込まれたデータテーブルである。
 なお、図6の保留リストテーブル134の例では、いずれの情報も書き込まれておらず、各フィールドがブランクである。
FIG. 6 is a diagram showing the data structure of the hold list table 134.
As illustrated in FIG. 6, the hold list table 134 is a data table in which pieces of information indicated by “coupon ID”, “use date / time”, and “use number” are associated with each other. “Process ID” is the same as the process ID written in the transaction management table 133. “Use date and time” is information indicating the date and time when the electronic coupon was used. “Used number” is the number of individuals using the electronic coupon. The number of used sheets here indicates how many of the same electronic coupon are used in one use. The combination of the coupon ID, the usage date and the number of usages written in one record of the hold list table 134 is the same as the usage history acquired from the store terminal 40 by the ASP server 10. As described above, the hold list table 134 is a data table in which a use history generated by one use of the electronic coupon by the terminal device 20 is written in one record.
In the example of the hold list table 134 of FIG. 6, no information is written, and each field is blank.
 図7は、端末装置20のハードウェア構成を示すブロック図である。図7に示すように、端末装置20は、制御部21と、音声入出力部22と、無線通信部23と、UI(User Interface)部24と、ICチップ25と、記憶部26とを備える。
 制御部21は、CPU、ROM及びRAMを有するマイクロプロセッサを備える。CPUは、ROMや記憶部26に記憶されたプログラムをRAMに読み出して実行することにより、端末装置20の各部を制御する。音声入出力部22は、マイクロホンやスピーカを有し、端末装置20において音声の入出力に関わる機能を実現する。無線通信部23は、無線通信回路やアンテナを備え、ネットワークNWに接続するためのインタフェースである。UI部24は、例えばタッチパネルを備え、ユーザからの操作を受け付けるとともに、画像により情報を報知する。
FIG. 7 is a block diagram illustrating a hardware configuration of the terminal device 20. As illustrated in FIG. 7, the terminal device 20 includes a control unit 21, a voice input / output unit 22, a wireless communication unit 23, a UI (User Interface) unit 24, an IC chip 25, and a storage unit 26. .
The control unit 21 includes a microprocessor having a CPU, a ROM, and a RAM. The CPU controls each unit of the terminal device 20 by reading the program stored in the ROM or the storage unit 26 into the RAM and executing it. The voice input / output unit 22 includes a microphone and a speaker, and realizes functions related to voice input / output in the terminal device 20. The wireless communication unit 23 includes a wireless communication circuit and an antenna, and is an interface for connecting to the network NW. The UI unit 24 includes, for example, a touch panel, accepts an operation from the user, and notifies information by an image.
 ICチップ25は、プロセッサやアンテナ、データの読み書きに用いられるメモリ領域251を有している、近接型の非接触通信を行うためのICチップである。ICチップ25のプロセッサは、アンテナにより受信した信号、又は制御部21からの信号に応じてメモリ領域251にアクセスし、データの読み出し又はデータの書き込みを行う。メモリ領域251は、複数のサービス提供者のいずれか1のサービス提供者の電子クーポンが書き込まれるメモリ領域であり、言い換えれば、複数のサービス提供者で共有されるメモリ領域である。すなわち、或るサービス提供者の電子クーポン(第2電子クーポン)がメモリ領域251に記憶されている場合、他のサービス提供者の電子クーポン(第1電子クーポン)は、上書きによる書込処理で新たにメモリ領域251に記憶させられる。よって、元々メモリ領域251に記憶されていた電子クーポンは書込処理によって削除させられる。一方で、同一のサービス提供者の複数の電子クーポンについては、同時にメモリ領域251に記憶されることが許可される。ただし、この場合であっても、メモリ領域251に記憶された電子クーポンに上書きして、同一のサービス提供者の電子クーポンが書き込まれる。また、ICチップ25は、端末装置20に割り当てられたユーザIDをメモリ領域251以外の所定のメモリ領域に記憶する。ここでは、端末装置20のユーザのユーザIDを「UID001」とする。ユーザIDは、電子クーポンの書込処理によって削除されない領域に記憶されている。 The IC chip 25 has a memory area 251 used for reading and writing data, a processor, an antenna, and an IC chip for proximity contactless communication. The processor of the IC chip 25 accesses the memory area 251 in accordance with a signal received by the antenna or a signal from the control unit 21, and reads or writes data. The memory area 251 is a memory area in which an electronic coupon of any one of a plurality of service providers is written, in other words, a memory area shared by a plurality of service providers. That is, when an electronic coupon (second electronic coupon) of a certain service provider is stored in the memory area 251, an electronic coupon (first electronic coupon) of another service provider is newly written by overwriting processing. Are stored in the memory area 251. Therefore, the electronic coupon originally stored in the memory area 251 is deleted by the writing process. On the other hand, a plurality of electronic coupons of the same service provider are allowed to be stored in the memory area 251 at the same time. However, even in this case, the electronic coupon of the same service provider is written over the electronic coupon stored in the memory area 251. Further, the IC chip 25 stores the user ID assigned to the terminal device 20 in a predetermined memory area other than the memory area 251. Here, the user ID of the user of the terminal device 20 is “UID001”. The user ID is stored in an area that is not deleted by the electronic coupon writing process.
 ところで、端末装置20は、書込処理によってメモリ領域251の電子クーポンが削除された場合であっても、ASPサーバ10に問い合わせることによって、いつでもその削除前の状態に戻して、電子クーポンをメモリ領域251に書き込むことができる。ASPサーバ10は、ユーザ管理テーブル132によって端末装置20毎に電子クーポンの提供及び利用に関する情報を管理しているからである。言い換えれば、ASPサーバ10は、メモリ領域251から電子クーポンが削除された場合に、新たな電子クーポンの書込処理によって削除されたのか、又は利用により削除されたのかを、ユーザ管理テーブル132を参照して判定することができる。 By the way, even when the electronic coupon in the memory area 251 is deleted by the writing process, the terminal device 20 always returns the electronic coupon to the memory area by inquiring the ASP server 10 by inquiring the ASP server 10. 251 can be written. This is because the ASP server 10 manages information related to provision and use of electronic coupons for each terminal device 20 by the user management table 132. In other words, when the electronic coupon is deleted from the memory area 251, the ASP server 10 refers to the user management table 132 to determine whether the electronic coupon has been deleted by a new electronic coupon writing process or by use. Can be determined.
 また、メモリ領域251に電子クーポンを上書きにより電子クーポンの書込処理が実行される構成は、サービス提供者にとって好ましい事情もある。例えば、複数のサービス提供者の電子クーポンが端末装置20に混在して記憶されてしまうことがないから、ユーザにとっては、電子クーポンを利用したり破棄したりする際の操作負担が軽減される。また、サービス提供者にとっても、複数のサービス提供者の電子クーポンが入り混じって表示されることがないため、他のサービス提供者とのサービスの差別化などの理由等で好ましい。 Further, the configuration in which the electronic coupon writing process is executed by overwriting the electronic coupon in the memory area 251 also has a favorable situation for the service provider. For example, since the electronic coupons of a plurality of service providers are not stored in the terminal device 20 in a mixed manner, the burden on the user when using or discarding the electronic coupon is reduced. Also, for service providers, electronic coupons of a plurality of service providers are not mixed and displayed, which is preferable for reasons such as service differentiation from other service providers.
 記憶部26は、例えばEEPROMを備え、制御部21が実行するプログラムのほか、クーポン管理アプリケーション261を記憶する。制御部21は、クーポン管理アプリケーション261を実行することにより、アプリケーション管理サーバ50と通信して電子クーポンの書込処理を実行する。端末装置20においては、いずれのサービス提供者の電子クーポンの提供を受ける場合にも、クーポン管理アプリケーション261が実行される。
 次に、ASPサーバ10の制御部11の機能的構成を説明する。以下、電子クーポンの提供に関する機能と、電子クーポンの利用に関する機能とに分けて説明する。
The storage unit 26 includes, for example, an EEPROM, and stores a coupon management application 261 in addition to a program executed by the control unit 21. By executing the coupon management application 261, the control unit 21 communicates with the application management server 50 to execute the electronic coupon writing process. In the terminal device 20, the coupon management application 261 is executed when receiving an electronic coupon provided by any service provider.
Next, a functional configuration of the control unit 11 of the ASP server 10 will be described. Hereinafter, the function related to the provision of the electronic coupon and the function related to the use of the electronic coupon will be described separately.
 図8は、ASPサーバ10の電子クーポンの提供に関する機能の機能的構成を示す機能ブロック図である。図8に示すように、ASPサーバ10の制御部11は、プログラムを実行することにより、第1更新部111と、書込指示部112と、第2更新部113とに相当する機能を実現する。
 第1更新部111は、端末装置20に第1電子クーポンを新たに提供する場合、提供しようとする第1電子クーポンの枚数を、クーポン管理テーブル131の全体の残枚数から減じる。より詳細には、第1更新部111は、提供しようとする第1電子クーポンの枚数がクーポン管理テーブル131における第1電子クーポンのセット済未利用枚数よりも多い場合には、全体の残枚数から提供しようとする第1電子クーポンの枚数を減じるが、セット済未利用枚数の方が多い場合には、提供しようとする第1電子クーポンの枚数を全体の残枚数から減じない。そして、第1更新部111は、提供しようとする第1電子クーポンの枚数(全体の残枚数から提供しようとする枚数を減じた場合は、その枚数)を、第1電子クーポンのセット未確定枚数に設定するよう、ユーザ管理テーブル132を更新する。ここにおいて、第1更新部111は、第1電子クーポンを取得するためのクーポン取得要求を通信部12により端末装置20から取得したことを契機に、第1電子クーポンを新たに提供する処理を開始する。第1更新部111が全体の残枚数から減じた枚数をセット未確定枚数に設定する処理は、全体の残枚数から減じた枚数を、ゼロであるセット未確定枚数に加算する処理に等しい。
FIG. 8 is a functional block diagram showing a functional configuration of functions related to provision of an electronic coupon of the ASP server 10. As illustrated in FIG. 8, the control unit 11 of the ASP server 10 realizes functions corresponding to the first update unit 111, the write instruction unit 112, and the second update unit 113 by executing a program. .
When the first electronic coupon is newly provided to the terminal device 20, the first update unit 111 subtracts the number of first electronic coupons to be provided from the total remaining number of coupon management tables 131. More specifically, when the number of first electronic coupons to be provided is greater than the number of set unused unused electronic coupons in the coupon management table 131, the first update unit 111 determines the total number of remaining electronic coupons. The number of first electronic coupons to be provided is reduced, but if the number of set unused numbers is larger, the number of first electronic coupons to be provided is not reduced from the total remaining number. Then, the first update unit 111 sets the number of first electronic coupons to be provided (if the number to be provided is subtracted from the total remaining number, the number) as the number of set first electronic coupons. The user management table 132 is updated so that it is set as follows. Here, the 1st update part 111 starts the process which provides a 1st electronic coupon newly in response to having acquired the coupon acquisition request for acquiring a 1st electronic coupon from the terminal device 20 by the communication part 12. To do. The process in which the first update unit 111 sets the number subtracted from the total remaining number as the set unconfirmed number is equivalent to the process of adding the number subtracted from the total remaining number to the set unconfirmed number that is zero.
 書込指示部112は、第1更新部111によりクーポン管理テーブル131及びユーザ管理テーブル132が更新された後、セット未確定枚数の第1電子クーポンをメモリ領域251に書き込む書込処理を実行するよう、通信部12により端末装置20に指示する。この指示を行う際、書込指示部112は、指示した書込処理の処理IDと、ステータス(ここでは、ブランクとする。)と、書込完了日時(ここでは、ブランクとする。)とを対応付けて、トランザクション管理テーブル133に書き込む。 The writing instructing unit 112 performs a writing process of writing the undecided number of first electronic coupons into the memory area 251 after the coupon management table 131 and the user management table 132 are updated by the first updating unit 111. The terminal unit 20 is instructed by the communication unit 12. When this instruction is given, the write instruction unit 112 gives the process ID of the instructed write process, the status (here, blank), and the write completion date / time (here, blank). Correspondingly, the transaction management table 133 is written.
 処理結果取得部114は、書込指示部112の指示に応じてメモリ領域251に第1電子クーポンを書き込む書込処理が終了した旨の通知を端末装置20から受け付けた後、通信部12によりアプリケーション管理サーバ50に問い合わせて、この書込処理の結果を取得する。 The processing result acquisition unit 114 receives a notification from the terminal device 20 that the writing process of writing the first electronic coupon in the memory area 251 according to the instruction of the writing instruction unit 112 is completed, and then the communication unit 12 The management server 50 is inquired and the result of this writing process is acquired.
 第2更新部113は、通信部12により端末装置20と通信して、記憶部13の各データテーブルを更新する。その際、第2更新部113は、処理結果取得部114が取得した書込処理の結果により書込処理の成功が確定したか否かを判断する。第2更新部113により実現される機能は、具体的には以下のとおりである。
 第1に、第2更新部113は、書込指示部112の指示に従った第1電子クーポンの書込処理の成功が確定した後、第1電子クーポンのセット未確定枚数をセット済未利用枚数に設定して、セット未確定枚数をクリアする(つまり、ゼロにする)。ここにおいて、第2更新部113は、例えば、第1電子クーポンのセット済未利用枚数が「3」である場合に、「2」である第1電子クーポンのセット未確定枚数をセット済未利用枚数に設定するときには、設定後のセット済未利用枚数を「2」とする。
The second update unit 113 communicates with the terminal device 20 through the communication unit 12 and updates each data table in the storage unit 13. At that time, the second updating unit 113 determines whether or not the writing process is successful based on the result of the writing process acquired by the processing result acquiring unit 114. The functions realized by the second update unit 113 are specifically as follows.
First, the second updating unit 113 sets the undetermined number of sets of the first electronic coupon after the success of the writing process of the first electronic coupon according to the instruction of the writing instruction unit 112 is confirmed. Set to the number of sheets and clear the set undecided number (that is, set to zero). Here, for example, when the set unused number of the first electronic coupon is “3”, the second updating unit 113 sets the unused number of the first electronic coupon that is “2”. When setting the number of sheets, the set unused number after setting is “2”.
 第2に、第2更新部113は、メモリ領域251に記憶されていた第2電子クーポンに第1電子クーポンを上書きする書込処理が端末装置20で成功した場合、第2電子クーポンのセット済未利用枚数を第2電子クーポンの全体の残枚数に加算し、そのセット済未利用枚数をクリアする。その際、第2更新部113は、利用履歴が保留リストテーブル134に書き込まれている第2電子クーポンについては、セット済未利用枚数から利用履歴に含まれる利用枚数を減じた枚数を、全体の残枚数に加算することがある(つまり、全体の残枚数に差し戻す)。また、第2更新部113は、利用履歴が保留リストテーブル134に書き込まれている、第2電子クーポン以外の電子クーポン(第3電子クーポン)についても、セット済未利用枚数から利用履歴に含まれる利用枚数を減じた枚数を全体の残枚数に加算する。
 一方、第2更新部113は、書込指示部112の指示に従った電子クーポンの書込処理の失敗が確定した場合、その電子クーポンのセット未確定枚数がセット済未利用枚数よりも多い場合には、セット未確定枚数とセット済未利用枚数との差分を、全体の残枚数に加算する(つまり、差し戻す)。第2更新部113は、セット未確定枚数がセット済未利用枚数以下である場合には、全体の残枚数への差し戻しを行わない。
Secondly, the second updating unit 113 sets the second electronic coupon when the terminal device 20 succeeds in the writing process of overwriting the first electronic coupon on the second electronic coupon stored in the memory area 251. The unused number is added to the total remaining number of second electronic coupons, and the set unused number is cleared. At that time, for the second electronic coupon in which the usage history is written in the hold list table 134, the second updating unit 113 obtains the total number obtained by subtracting the usage number included in the usage history from the set unused number. It may be added to the remaining number (that is, returned to the total remaining number). In addition, the second update unit 113 also includes, in the usage history, the number of already set unused numbers for electronic coupons other than the second electronic coupon (third electronic coupon) in which the usage history is written in the hold list table 134. The number obtained by subtracting the used number is added to the total remaining number.
On the other hand, when the failure of the electronic coupon writing process in accordance with the instruction from the writing instruction unit 112 is confirmed, the second updating unit 113 has a larger number of set unconfirmed electronic coupons than the set unused number. The difference between the set unconfirmed number and the set unused number is added to the total remaining number (that is, returned). The second updating unit 113 does not return the entire remaining number of sheets when the set unconfirmed number is equal to or less than the set unused number.
 第3に、第2更新部113は、第1電子クーポンの書込処理の結果が確定した場合、その結果をトランザクション管理テーブル133に書き込む。ここにおいて、第2更新部113は、成功で確定した書込処理については、ステータスを「成功」に書き換えるとともに、その書込完了日時を書き込む。
 ASPサーバ10の電子クーポンの提供に関する機能の説明は以上である。
Third, when the result of the first electronic coupon writing process is confirmed, the second updating unit 113 writes the result in the transaction management table 133. Here, the second updating unit 113 rewrites the status to “successful” and writes the writing completion date and time for the writing process that has been confirmed as successful.
This is the end of the description of the functions related to the provision of the electronic coupon of the ASP server 10.
 図9は、ASPサーバ10の電子クーポンの利用に関する機能の機能的構成を示す機能ブロック図である。図9に示すように、ASPサーバ10の制御部11は、プログラムを実行することにより、利用履歴取得部115と、第3更新部116とに相当する機能を実現する。
 利用履歴取得部115は、ICチップ25のメモリ領域251に記憶された第1電子クーポンを端末装置20が利用した場合、通信部12により店舗管理サーバ30と通信して、その第1電子クーポンの利用実績を取得する。
FIG. 9 is a functional block diagram showing a functional configuration of functions related to the use of the electronic coupon of the ASP server 10. As illustrated in FIG. 9, the control unit 11 of the ASP server 10 realizes functions corresponding to the usage history acquisition unit 115 and the third update unit 116 by executing a program.
When the terminal device 20 uses the first electronic coupon stored in the memory area 251 of the IC chip 25, the usage history acquisition unit 115 communicates with the store management server 30 through the communication unit 12, and the first electronic coupon Get usage results.
 第3更新部116は、利用履歴取得部115が取得した第1電子クーポンの利用履歴により、記憶部13に記憶された各データテーブルのうち、電子クーポンを利用した端末装置20に対応する情報を更新する。
 第1に、第3更新部116は、トランザクション管理テーブル133を参照して、結果が未確定である書込処理が存在せず、利用履歴取得部115が取得した利用履歴に含まれる利用日時が最新の書込完了日時よりも後である場合、セット済未利用枚数から利用履歴に含まれる利用枚数を減じる。一方、第3更新部116は、利用日時が最新の書込完了日時よりも前である場合、セット済未利用枚数から利用枚数を減じない。
The 3rd update part 116 is the information which respond | corresponds to the terminal device 20 which used the electronic coupon among each data table memorize | stored in the memory | storage part 13 by the utilization log | history of the 1st electronic coupon which the utilization log | history acquisition part 115 acquired. Update.
First, the third update unit 116 refers to the transaction management table 133, and there is no write process whose result is indeterminate, and the usage date and time included in the usage history acquired by the usage history acquisition unit 115 is If it is after the latest writing completion date and time, the used number included in the use history is subtracted from the set unused number. On the other hand, the third update unit 116 does not subtract the used number from the set unused number when the use date is before the latest writing completion date.
 第2に、第3更新部116は、トランザクション管理テーブル133を参照して、利用履歴取得部115が取得した利用履歴に含まれる利用日時が最新の書込完了日時よりも後である場合に、結果が未確定である書込処理が存在するときには、利用履歴に含まれる利用枚数の更新を保留して、その利用履歴を保留リストテーブル134に書き込む。一方、第3更新部116は、利用日時が最新の書込完了日時よりも前である場合には、セット済未利用枚数から利用枚数を減じない。 Second, the third update unit 116 refers to the transaction management table 133, and when the usage date and time included in the usage history acquired by the usage history acquisition unit 115 is later than the latest writing completion date and time, When there is a writing process for which the result is indeterminate, the update of the number of usages included in the usage history is suspended and the usage history is written in the suspension list table 134. On the other hand, the third update unit 116 does not subtract the used number from the set unused number when the use date is before the latest writing completion date.
 第3に、第3更新部116は、トランザクション管理テーブル133及び保留リストテーブル134を参照し、書込処理の結果がすべて確定した後、保留リストテーブル134に書き込まれた利用履歴に含まれる利用日時が最新の書込完了日時よりも後である場合には、セット済未利用枚数からこの利用履歴に含まれる利用枚数を減じる。一方、第3更新部116は、利用日時が最新の書込完了日時よりも前である場合には、セット済未利用枚数から利用枚数を減じない。
 ASPサーバ10の機能的構成の説明は以上である。次に、通信システム1の動作を説明する。
Third, the third update unit 116 refers to the transaction management table 133 and the hold list table 134, and after all the write processing results are confirmed, the use date and time included in the use history written in the hold list table 134 Is later than the latest write completion date and time, the number of used sheets included in this use history is subtracted from the set unused number of sheets. On the other hand, the third update unit 116 does not subtract the used number from the set unused number when the use date is before the latest writing completion date.
This is the end of the description of the functional configuration of the ASP server 10. Next, the operation of the communication system 1 will be described.
 図10は、通信システム1の全体的な処理の流れを示すシーケンスチャートである。
 端末装置20が電子クーポンを取得しようとする際には、ASPサーバ10にアクセスしてブラウザを用いてその取得に必要な処理を行う。ここでは、端末装置20は、取得しようとする電子クーポンを示すクーポンIDと電子クーポンの取得枚数とを含むクーポン取得要求を、ASPサーバ10宛てに送信する(ステップSa1)。図11は、端末装置20が電子クーポンを取得しようとするときにUI部24に表示される画面例である。ユーザはUI部24を操作して、電子クーポンの取得枚数をプルダウンメニューPa1,Pa2を用いて選択し、「クーポンを取得」と付されたソフトボタンBaを選択する。
FIG. 10 is a sequence chart showing the overall processing flow of the communication system 1.
When the terminal device 20 tries to acquire an electronic coupon, the terminal device 20 accesses the ASP server 10 and performs processing necessary for the acquisition using a browser. Here, the terminal device 20 transmits a coupon acquisition request including the coupon ID indicating the electronic coupon to be acquired and the number of acquired electronic coupons to the ASP server 10 (step Sa1). FIG. 11 is a screen example displayed on the UI unit 24 when the terminal device 20 attempts to acquire an electronic coupon. The user operates the UI unit 24, selects the number of electronic coupons to be acquired using the pull-down menus Pa1 and Pa2, and selects the soft button Ba labeled “Acquire coupon”.
 次に、ASPサーバ10は、端末装置20からクーポン取得要求を受信すると、セット開始処理を実行する(ステップSa2)。セット開始処理は、ASPサーバ10が端末装置20に電子クーポンの書込処理を指示するまでの処理である。次に、ASPサーバ10は、アプリケーション管理サーバ50に対して、電子クーポンの書込処理に関する処理依頼を行って、問合せIDの生成を要求する(ステップSa3)。アプリケーション管理サーバ50は、ステップSa2の処理依頼に応じて生成した問合せIDを、ASPサーバ10宛てに送信する(ステップSa4)。ここにおいて、処理依頼は、ICチップ25のメモリ領域251に書き込まれることとなる電子クーポンに関する情報(以下、「クーポン情報」という。)を含む。より具体的には、処理依頼は、クーポン取得要求と同じ電子クーポンIDと電子クーポンの取得枚数とを特定可能な情報を含む。問合せIDは、処理依頼を識別する識別情報である。 Next, when the ASP server 10 receives a coupon acquisition request from the terminal device 20, the ASP server 10 executes a set start process (step Sa2). The set start process is a process until the ASP server 10 instructs the terminal device 20 to write the electronic coupon. Next, the ASP server 10 requests the application management server 50 to process the electronic coupon writing process, and requests generation of an inquiry ID (step Sa3). The application management server 50 transmits the inquiry ID generated in response to the processing request in step Sa2 to the ASP server 10 (step Sa4). Here, the processing request includes information about an electronic coupon (hereinafter referred to as “coupon information”) to be written in the memory area 251 of the IC chip 25. More specifically, the processing request includes information that can specify the same electronic coupon ID and the number of electronic coupons acquired as the coupon acquisition request. The inquiry ID is identification information for identifying a processing request.
 次に、ASPサーバ10は、セット開始処理に応じた書込処理を指示するための書込指示を端末装置20宛てに送信する(ステップSa5)。ここにおいて、ASPサーバ10は、アプリケーション管理サーバ50から受信した問合せIDを含めた書込指示を送信する。
 端末装置20は、ASPサーバ10から書込指示を受信すると、クーポン管理アプリケーション261を実行し、アプリケーション管理サーバ50宛てに書込指示に含まれていた問合せIDを送信する(ステップSa6)。アプリケーション管理サーバ50は、端末装置20から受信した問合せIDに対応する処理依頼に従い、書込処理に用いられるクーポン情報を端末装置20宛てに送信する(ステップSa7)。端末装置20は、アプリケーション管理サーバ50から受信したクーポン情報に基づいて、電子クーポンの書込処理を実行する(ステップSa8)。ここにおいて、端末装置20は、メモリ領域251に既に電子クーポンが記憶されている場合であっても、この電子クーポンへの上書きによる書込処理により、メモリ領域251に新たな電子クーポンを記憶させることとなる。
Next, the ASP server 10 transmits a write instruction for instructing a write process corresponding to the set start process to the terminal device 20 (step Sa5). Here, the ASP server 10 transmits a write instruction including the inquiry ID received from the application management server 50.
When receiving the write instruction from the ASP server 10, the terminal device 20 executes the coupon management application 261 and transmits the inquiry ID included in the write instruction to the application management server 50 (step Sa6). The application management server 50 transmits coupon information used for the writing process to the terminal device 20 in accordance with the processing request corresponding to the inquiry ID received from the terminal device 20 (step Sa7). The terminal device 20 executes an electronic coupon writing process based on the coupon information received from the application management server 50 (step Sa8). Here, even when the electronic coupon is already stored in the memory area 251, the terminal device 20 stores a new electronic coupon in the memory area 251 by the writing process by overwriting the electronic coupon. It becomes.
 次に、端末装置20は、書込処理の結果を示す結果通知を、アプリケーション管理サーバ50宛てに送信する(ステップSa9)。ここにおいて、端末装置20は、書込処理の結果が成功又は失敗のいずれであるかを示す情報と、この書込処理の書込完了日とを含む結果通知を送信する。次に、端末装置20は、メモリ領域251に電子クーポンを書き込む書込処理が終了した旨を示す終了通知を、ASPサーバ10宛てに送信する(ステップSa10)。 Next, the terminal device 20 transmits a result notification indicating the result of the writing process to the application management server 50 (step Sa9). Here, the terminal device 20 transmits a result notification including information indicating whether the result of the writing process is success or failure, and the writing completion date of the writing process. Next, the terminal device 20 transmits to the ASP server 10 an end notification indicating that the writing process of writing the electronic coupon in the memory area 251 has ended (step Sa10).
 ASPサーバ10は、端末装置20から送信された終了通知を受け付けた後、アプリケーション管理サーバ50に問い合わせて、終了通知の送信元の端末装置20における書込処理の結果の通知を要求する(ステップSa11)。アプリケーション管理サーバ50は、ASPサーバ10からの問い合わせに応じて、ASPサーバ10宛てに書込処理の結果(つまり、結果通知)を送信する(ステップSa12)。アプリケーション管理サーバ50が通知する書込処理の結果は、成功、失敗又は不明のいずれかである。ASPサーバ10は、成功又は失敗という書込処理の結果を受け付けた場合には、書込処理の結果を確定させることができるが、不明という結果を受け付けた場合には、書込処理の結果を未確定のままとする。ASPサーバ10は、ステップSa12で送信されて受け付けた結果通知に従って、トランザクション管理テーブル133のステータスのフィールドに書込処理の結果を書き込む。 After accepting the end notification transmitted from the terminal device 20, the ASP server 10 inquires of the application management server 50 and requests the notification of the result of the writing process in the terminal device 20 that is the transmission source of the end notification (step Sa11). ). In response to the inquiry from the ASP server 10, the application management server 50 transmits the result of the writing process (that is, a result notification) to the ASP server 10 (step Sa12). The result of the writing process notified by the application management server 50 is either success, failure or unknown. The ASP server 10 can determine the result of the writing process when accepting the result of the writing process of success or failure, but can accept the result of the writing process when accepting the result of unknown. Leave indeterminate. The ASP server 10 writes the result of the writing process in the status field of the transaction management table 133 in accordance with the result notification transmitted and accepted in step Sa12.
 ASPサーバ10は、端末装置20から結果通知を受け付けると、セット確定処理を実行する(ステップSa13)。セット確定処理は、端末装置20における電子クーポンの書込処理の結果に応じて、ASPサーバ10が各データテーブルを更新するための処理である。
 上述したように、端末装置20は、電子クーポンを利用すると直ちに(つまり、リアルタイムで)、書込結果をアプリケーション管理サーバ50宛てに送信するとともに、終了通知をASPサーバ10宛てに送信する。すなわち、本来は、端末装置20の電子クーポンの書込処理が終了すると、直ちに、ASPサーバ10はセット確定処理を開始する。しかしながら、端末装置20が書込処理を行った後、端末装置20が通信可能エリア外に移動するなどして、アプリケーション管理サーバ50に結果通知を送信できなかったり、終了通知をASPサーバ10に送信できなかったりした場合には、セット確定処理の開始が遅延する。例えば、ASPサーバ10は、終了通知を受信しなかった場合には、端末装置20において書込処理が終了したことを知り得ないので、書込処理中である場合の動作をするからである。この場合、ASPサーバ10が書込処理の結果を取得する時期が遅延するので、それに伴って、セット確定処理の開始も遅延する。
 なお、端末装置20が終了通知や結果通知を送信できない原因は、端末装置20が通信可能エリア外に居ることに限らない。例えば、端末装置20において、クーポン管理アプリケーション261の実行が強制的に終了させられたこと(クーポン管理アプリケーション261の実行が終了させられたことや電源オフ等)や、端末装置20のバッテリ切れがある。
When accepting the result notification from the terminal device 20, the ASP server 10 executes a set confirmation process (step Sa13). The set confirmation process is a process for the ASP server 10 to update each data table in accordance with the result of the electronic coupon writing process in the terminal device 20.
As described above, the terminal device 20 transmits the writing result to the application management server 50 and transmits the end notification to the ASP server 10 as soon as the electronic coupon is used (that is, in real time). In other words, the ASP server 10 starts the set confirmation process immediately after the electronic coupon writing process of the terminal device 20 is completed. However, after the terminal device 20 performs the writing process, the terminal device 20 cannot move to the application management server 50 because it moves out of the communicable area or transmits an end notification to the ASP server 10. If it is not possible, the start of the set confirmation process is delayed. For example, if the ASP server 10 does not receive the end notification, the ASP server 10 cannot know that the writing process has ended in the terminal device 20, and thus operates when the writing process is in progress. In this case, since the time when the ASP server 10 acquires the result of the writing process is delayed, the start of the set confirmation process is also delayed accordingly.
The reason why the terminal device 20 cannot transmit the end notification or the result notification is not limited to the terminal device 20 being outside the communicable area. For example, in the terminal device 20, execution of the coupon management application 261 is forcibly terminated (execution of the coupon management application 261 is terminated, power is turned off, etc.), or the terminal device 20 is out of battery. .
 端末装置20は、クーポン管理アプリケーション261を実行した状態にある場合には、結果通知及び終了通知の送信が完了するまで、結果通知及び終了通知の送信を繰り返し試みる(つまり、リトライする)。一方、ブラウザやクーポン管理アプリケーション261が強制終了させられたり、端末装置20が電源オフされたりした場合には、端末装置20が通信可能な状態になっても、結果通知及び終了通知を送信しないことがある。よって、ASPサーバ10は、クーポン情報を送信してから、一定時間終了通知を受信しない場合には、ステップSa11の処理において、自発的にアプリケーション管理サーバ50に書込処理の結果の問合せを行う。結果通知についても、端末装置20からアプリケーション管理サーバ50に送信されない。よって、アプリケーション管理サーバ50は、クーポン情報を送信してから、一定時間経過しても結果通知を受け付けなかった場合には、書込処理の結果を不明、又は失敗と自発的に判断する。
 ASPサーバ10が端末装置20に電子クーポンを提供しようと際の処理の流れは以上である。以降の処理は、端末装置20が電子クーポンを利用するときの通信システム1の処理の流れを示す。
When the terminal device 20 is in a state in which the coupon management application 261 is executed, the terminal device 20 repeatedly tries to transmit the result notification and the end notification until the transmission of the result notification and the end notification is completed (that is, retry). On the other hand, when the browser or the coupon management application 261 is forcibly terminated or the terminal device 20 is powered off, the result notification and the termination notification are not transmitted even if the terminal device 20 becomes communicable. There is. Therefore, if the ASP server 10 does not receive the end notification for a predetermined time after transmitting the coupon information, the ASP server 10 voluntarily inquires the result of the writing process to the application management server 50 in the process of step Sa11. The result notification is not transmitted from the terminal device 20 to the application management server 50. Therefore, the application management server 50 voluntarily determines that the result of the writing process is unknown or unsuccessful when the result notification is not accepted even after a predetermined time has elapsed since the coupon information was transmitted.
The flow of processing when the ASP server 10 tries to provide an electronic coupon to the terminal device 20 is as described above. The subsequent processing shows a processing flow of the communication system 1 when the terminal device 20 uses the electronic coupon.
 端末装置20がメモリ領域251に記憶された電子クーポンを利用しようとするときには、端末装置20を携帯したユーザは店舗端末40が設置された店舗に趣いて、リーダ/ライタ41にこの端末装置20をかざす。店舗端末40のリーダ/ライタ41は、ICチップ25に記憶された電子クーポンを読み取って、ICチップ25に対するデータの読み書きを行う。
 なお、店舗端末40は、ICチップ25に記憶された電子クーポンが利用枚数以上残っているか否かを判断して、決済に反映させる等の処理を実行する。ここでの店舗端末40の動作は、本発明で特別な構成を有していなくてよい。
When the terminal device 20 intends to use the electronic coupon stored in the memory area 251, the user carrying the terminal device 20 is interested in the store where the store terminal 40 is installed, and uses the terminal device 20 for the reader / writer 41. Hold it over. The reader / writer 41 of the store terminal 40 reads the electronic coupon stored in the IC chip 25 and reads / writes data from / to the IC chip 25.
The store terminal 40 determines whether or not the number of electronic coupons stored in the IC chip 25 remains, and executes a process of reflecting the result in the settlement. The operation of the store terminal 40 here may not have a special configuration in the present invention.
 店舗管理サーバ30は、店舗端末40によるメモリ領域251に対するデータの読み書きの結果や決済等の情報に基づいて、端末装置20により利用された電子クーポンの利用履歴を生成し、ASPサーバ10宛てに利用履歴を送信する(ステップSa14)。ここにおいて、店舗管理サーバ30は、電子クーポンが利用されると直ちに(リアルタイムで)、利用履歴を送信する。 The store management server 30 generates a use history of the electronic coupons used by the terminal device 20 based on information such as data read / write results and settlement information with respect to the memory area 251 by the store terminal 40, and uses it for the ASP server 10 A history is transmitted (step Sa14). Here, the store management server 30 transmits the usage history as soon as the electronic coupon is used (in real time).
 ASPサーバ10は、店舗管理サーバ30から通信により利用履歴を取得すると、その利用履歴に応じて利用時処理を実行する(ステップSa15)。利用時処理は、端末装置20における電子クーポンの利用に応じて、ASPサーバ10が各データテーブルを更新するための処理である。
 以降においても、電子クーポンの取得に関する処理や電子クーポンに利用に関する処理が上記同様の手順により実行される。また、通信システム1においては、必ずしも図10に示す流れで処理が実行されるわけではない。例えば、ASPサーバ10がセット開始処理を実行して書込指示を送信した直後に利用履歴を取得した場合には、利用時処理を実行する。また、ASPサーバ10は、利用時処理の直後に書込処理の結果通知を受け付けた場合には、セット確定処理を実行する。
When the ASP server 10 obtains the usage history from the store management server 30 by communication, the ASP server 10 executes a process at the time of use according to the usage history (step Sa15). The in-use process is a process for the ASP server 10 to update each data table in accordance with the use of the electronic coupon in the terminal device 20.
Thereafter, the process related to the acquisition of the electronic coupon and the process related to the use of the electronic coupon are executed in the same procedure as described above. Further, in the communication system 1, processing is not necessarily executed according to the flow shown in FIG. For example, when the usage history is acquired immediately after the ASP server 10 executes the set start process and transmits the write instruction, the use time process is executed. Further, when the ASP server 10 receives a notification of the result of the writing process immediately after the use process, the ASP server 10 executes a set confirmation process.
 ASPサーバ10の動作について具体例を用いて詳細に説明する。ここでは、以下の(事象1)から(事象12)で構成されるストーリに従って、ASPサーバ10の動作を説明する。以下の「-」(ハイフン)の左側の時刻は、各事象の発生時刻(ASPサーバ10の処理であれば、その開始時刻)であり、「-」の右側は事象の内容を示す。 The operation of the ASP server 10 will be described in detail using a specific example. Here, the operation of the ASP server 10 will be described in accordance with a story composed of the following (event 1) to (event 12). The time on the left side of the following “-” (hyphen) is the occurrence time of each event (the start time in the case of processing of the ASP server 10), and the right side of “-” indicates the content of the event.
(事象1)2011/6/29 10:04-電子クーポンAを5枚提供するためのセット開始処理
(事象2)2011/6/29 10:05-電子クーポンAのセット確定処理
(事象3)2011/6/29 11:00-電子クーポンAを3枚利用(1回目)
(事象4)2011/6/29 12:00-電子クーポンAを1枚利用(2回目)
(事象5)2011/6/29 15:00-電子クーポンBを10枚提供するためのセット開始処理
(事象6)2011/6/29 16:00-電子クーポンAの利用履歴を取得(1回目)
(事象7)2011/6/29 17:00-電子クーポンBを5枚利用(1回目)
(事象8)2011/6/29 18:00-電子クーポンBの利用履歴を取得(1回目)
(事象9)2011/6/29 19:00-電子クーポンBのセット確定処理
(事象10)2011/6/29 20:00-電子クーポンBを1枚利用(2回目)
(事象11)2011/6/29 21:00-電子クーポンBの利用履歴を取得(2回目)
(事象12)2011/6/29 22:00-電子クーポンAの利用履歴を取得(2回目)
(Event 1) 2011/6/29 10:04-Set start processing to provide 5 electronic coupons A (Event 2) 2011/6/29 10:05-Electronic coupon A set confirmation processing (Event 3) 2011/6/29 11:00-Use 3 coupons A (first time)
(Event 4) 2011/6/29 12:00-Use one electronic coupon A (second time)
(Event 5) 2011/6/29 15:00-Set start processing to provide 10 electronic coupons B (Event 6) 2011/6/29 16:00-Acquisition of electronic coupon A usage history (first time) )
(Event 7) 2011/6/29 17:00-Use 5 electronic coupons B (first time)
(Event 8) 2011/6/29 18:00-Get electronic coupon B usage history (first time)
(Event 9) 2011/6/29 19:00-Set confirmation of electronic coupon B (Event 10) 2011/6/29 20:00-Use one electronic coupon B (second time)
(Event 11) 2011/6/29 21:00-Acquisition of electronic coupon B usage history (second time)
(Event 12) 2011/6/29 22:00-Acquire electronic coupon A usage history (second time)
(事象1)2011/6/29 10:04-電子クーポンAを5枚提供するためのセット開始処理
 まず(事象1)について説明する。
 図12は、セット開始処理の流れを示すフローチャートである。図13は、各データテーブルの更新の様子を説明する図である。このセット開始処理前においては、記憶部13に記憶されている各データテーブルは、図3から図6に示されるデータ構造であるとする。なお、図13等のデータテーブルの更新の様子を説明する図では、更新により変化したフィールドを太枠で囲んで表すとともに、変化した電子クーポンの枚数を「○」の中に付した数値で表す。
 ASPサーバ10は、ステップSa1の処理で送信されたクーポン取得要求を受信したことを契機に、セット開始処理を開始する。このクーポン取得要求は、電子クーポンAのクーポンID「CID001」と、取得枚数「5」とを含む。
(Event 1) 2011/6/29 10: 04—Set Start Processing for Providing Five Electronic Coupons A First, (Event 1) will be described.
FIG. 12 is a flowchart showing the flow of the set start process. FIG. 13 is a diagram illustrating how each data table is updated. Before the set start processing, each data table stored in the storage unit 13 is assumed to have the data structure shown in FIGS. In addition, in the figure explaining the update state of the data table in FIG. 13 and the like, the field that has changed due to the update is represented by a thick frame, and the number of electronic coupons that have changed is represented by a numerical value in “O”. .
The ASP server 10 starts the set start process when receiving the coupon acquisition request transmitted in the process of step Sa1. This coupon acquisition request includes the coupon ID “CID001” of the electronic coupon A and the acquired number “5”.
 まず、ASPサーバ10は、トランザクション管理テーブル133を参照して、ステータスが「未確定」の書込処理があるか否かを判断する(ステップSa21)。ここにおいて、ASPサーバ10は、書込処理の結果が成功又は失敗のいずれにも確定していない書込処理の存在の有無を判断する。図5に示されるとおり、ステータスが「未確定」の書込処理はないので、ASPサーバ10はステップSa21の処理で「NO」と判断し、ステップSa22の処理に進む。 First, the ASP server 10 refers to the transaction management table 133 to determine whether or not there is a writing process whose status is “indeterminate” (step Sa21). Here, the ASP server 10 determines whether or not there is a writing process in which the result of the writing process is not determined to be either success or failure. As shown in FIG. 5, since there is no writing process with the status “unconfirmed”, the ASP server 10 determines “NO” in the process of step Sa21, and proceeds to the process of step Sa22.
 次に、ASPサーバ10は、電子クーポンAの全体の残枚数、及び個人の残枚数が、それぞれクーポン取得要求に含まれる取得枚数以上であるか否かを判断する(ステップSa22)。ASPサーバ10は、クーポン管理テーブル131に書き込まれた全体の残枚数、及びユーザ管理テーブル132に書き込まれた個人の残枚数のそれぞれと、取得枚数とを比較して、クーポン取得要求に応じて電子クーポンAを提供できるか否かを判断する。 Next, the ASP server 10 determines whether or not the total remaining number of electronic coupons A and the remaining number of individuals are equal to or greater than the number of acquisitions included in the coupon acquisition request (step Sa22). The ASP server 10 compares each of the total remaining number written in the coupon management table 131 and the individual remaining number written in the user management table 132 with the acquired number, and electronically responds to the coupon acquisition request. It is determined whether or not the coupon A can be provided.
 本実施形態において、全体の残枚数は、下記式(1)の関係を満たす。
 全体の残枚数=全体の制限枚数-Σ{個人の利用枚数+MAX(セット済未利用枚数,セット未確定枚数)-保留リストテーブル134の利用枚数の合計} ・・・(1)
 ただし、「Σ」は、全端末装置20(全ユーザ)の総和であることを意味する符号である。MAX(A,B)は、AとBのうち大きい方の値を採ることを意味する。
In the present embodiment, the total remaining number satisfies the relationship of the following formula (1).
Total remaining number of sheets = Total number of limited sheets−Σ {Personal use number + MAX (set unused number, set unconfirmed number) −total number of use in the hold list table 134} (1)
However, “Σ” is a code meaning the total sum of all terminal devices 20 (all users). MAX (A, B) means taking the larger value of A and B.
 本実施形態において、個人の残枚数は、下記式(2)の関係を満たす。
 個人の残枚数=個人の制限枚数-個人の利用枚数 ・・・(2)
In the present embodiment, the remaining number of individuals satisfies the relationship of the following formula (2).
Remaining number of individuals = Limit number of individuals-Number of individuals used (2)
 端末装置20が設定可能な取得枚数の最大数は、下記式(3)の関係を満たす。
 取得枚数の最大数=MIN{個人の残枚数,全体の残枚数+MAX(セット済未利用枚数,セット未確定枚数)} ・・・(3)
 ただし、MIN(A,B)は、AとBのうち小さい方の値を採ることを意味する。
The maximum number of images that can be set by the terminal device 20 satisfies the relationship of the following equation (3).
Maximum number of acquired sheets = MIN {remaining individual number, total remaining number + MAX (set unused number, set undetermined number)} (3)
However, MIN (A, B) means taking the smaller value of A and B.
 図3及び図4に示されるとおり、電子クーポンAの全体の残枚数は「1000」であり、個人の残枚数は「10」であるから、それぞれ取得枚数の「5」を上回っている。よって、ASPサーバ10は、ステップSa22の処理で「YES」と判断して、ステップSa23の処理に進む。 As shown in FIGS. 3 and 4, since the total remaining number of electronic coupons A is “1000” and the remaining number of individuals is “10”, each exceeds the acquired number “5”. Therefore, the ASP server 10 determines “YES” in the process of step Sa22, and proceeds to the process of step Sa23.
 次に、ASPサーバ10は、これから端末装置20に指示する書込処理のステータスを「未確定」に設定して、トランザクション管理テーブル133を更新する(ステップSa23)。図13(a)に示すように、ASPサーバ10は、この書込処理に処理ID「TsA」を割り当てて、ステータス「未確定」と対応付けて、トランザクション管理テーブル133に新たに書き込む。このとき、書込完了日時のフィールドはブランクである。 Next, the ASP server 10 sets the status of the writing process instructed to the terminal device 20 to “indeterminate” and updates the transaction management table 133 (step Sa23). As shown in FIG. 13A, the ASP server 10 assigns a process ID “TsA” to this write process, associates it with the status “unconfirmed”, and newly writes it in the transaction management table 133. At this time, the writing completion date / time field is blank.
 次に、ASPサーバ10は、電子クーポンAの取得枚数をセット未確定枚数に設定するよう、クーポン管理テーブル131及びユーザ管理テーブル132を更新する(ステップSa24)。図13(b)に示すように、ASPサーバ10は、クーポンID「CID001」の電子クーポンAについて、全体の残枚数である「1000」から取得枚数である「5」を減じて、全体の残枚数を「995」とするよう、クーポン管理テーブル131を更新する。また、ASPサーバ10は、電子クーポンAについて、全体の残枚数から減じた取得枚数である「5」をセット未確定枚数に設定するよう、ユーザ管理テーブル132を更新する。
 ASPサーバ10がステップSa24の処理でセット未確定枚数に設定した取得枚数分の電子クーポンは、未だICチップ25への書込処理が行われていない電子クーポンであり、書込処理の結果が確定していない電子クーポンである。しかしながら、全体の残枚数から減じられた電子クーポンであるから、この取得枚数分の電子クーポンが他のユーザの端末装置20に取得されることはない。
Next, the ASP server 10 updates the coupon management table 131 and the user management table 132 so that the number of electronic coupons A acquired is set to the set unconfirmed number (step Sa24). As shown in FIG. 13B, the ASP server 10 subtracts “5”, which is the acquired number, from “1000”, which is the total remaining number, for the electronic coupon A having the coupon ID “CID001”, The coupon management table 131 is updated so that the number of sheets is “995”. Further, the ASP server 10 updates the user management table 132 so as to set “5”, which is the acquired number obtained by subtracting from the total remaining number, to the set unconfirmed number for the electronic coupon A.
The acquired number of electronic coupons set by the ASP server 10 as the set undetermined number in the process of step Sa24 is an electronic coupon that has not yet been written to the IC chip 25, and the result of the writing process is confirmed. It is an electronic coupon that has not been done. However, since the electronic coupon is subtracted from the total remaining number of sheets, the electronic coupon for the number of acquired sheets is not acquired by the terminal device 20 of another user.
 なお、ASPサーバ10は、ステップSa21の処理でステータスが「未確定」の書込処理があると判断した場合には(ステップSa21;YES)、セット開始処理を終了する。本実施形態では、電子クーポンの枚数管理の説明を簡単にするために、ステータスが未確定の書込処理がある端末装置20に対しては、ASPサーバ10が新たなセット開始処理を行わないようにする。また、ASPサーバ10は、ステップSa22の処理において、全体の残枚数、又は個人の残枚数が取得枚数未満であると判断した場合には(ステップSa22;NO)、セット開始処理を終了する。ASPサーバ10は、全体の残枚数及び個人の残枚数のいずれも超えない取得枚数で電子クーポンを提供するから、過剰に電子クーポンを提供することのないよう、ここでセット開始処理を終了する。 If the ASP server 10 determines that there is a writing process with the status “unconfirmed” in the process of step Sa21 (step Sa21; YES), it ends the set start process. In this embodiment, in order to simplify the description of the management of the number of electronic coupons, the ASP server 10 does not perform a new set start process for the terminal device 20 that has a write process whose status is unconfirmed. To. If the ASP server 10 determines in the process of step Sa22 that the total remaining number or the remaining number of individuals is less than the acquired number (step Sa22; NO), the set start process ends. Since the ASP server 10 provides the electronic coupon with the obtained number of sheets that does not exceed the total remaining number of sheets and the remaining number of individuals, the set start process is terminated here so that the electronic coupon is not excessively provided.
(事象2)2011/6/29 10:05-電子クーポンAのセット確定処理
 次に(事象2)について説明する。
 図14及び図15は、セット確定処理の流れを示すフローチャートである。図16は、各データテーブルの更新の様子を示す図である。
 ここでのセット確定処理の開始前は、保留リストテーブル134以外のデータテーブルのデータ構造は、図13に示されるとおりである。また、このセット確定処理に先立って、ステップSa12の処理に応じてASPサーバ10が受け付けた結果通知により、書込完了日時「2011/6/29 10:05」に、(事象1)のセット開始処理に応じて指示された書込処理が完了したものとする。ここでは、ASPサーバ10は、成功で確定した書込処理を識別する処理ID「TsA」に、ステータス「成功」と、書込完了日時「2011/6/29 10:05」とを対応付けて、トランザクション管理テーブル133に書き込む(図16(a)参照)。
(Event 2) 2011/6/29 10:05-Electronic coupon A set confirmation process Next, (Event 2) will be described.
14 and 15 are flowcharts showing the flow of the set confirmation process. FIG. 16 is a diagram illustrating how each data table is updated.
Before the start of the set confirmation process here, the data structure of the data tables other than the hold list table 134 is as shown in FIG. Prior to the set confirmation process, the event notification is received by the ASP server 10 in accordance with the process of step Sa12, and the set of (event 1) is started at the write completion date “2011/6/29 10:05”. It is assumed that the writing process instructed according to the process is completed. Here, the ASP server 10 associates the status “success” with the write completion date and time “2011/6/29 10:05” to the process ID “TsA” that identifies the write process that has been confirmed with success. The data is written in the transaction management table 133 (see FIG. 16A).
 セット確定処理において、ASPサーバ10は、まず、セット確定処理の開始の契機となった書込処理が成功したものであるか否かを判断する(ステップSa1301)。ここにおいて、ASPサーバ10は、書込処理が成功で確定したものと判断すると(ステップSa1301;YES)、ステップSa1302の処理に進む。次に、ASPサーバ10は、ユーザID「UID001」に対応付けられたセット済未利用枚数を全てクリアするよう、ユーザ管理テーブル132を更新する(ステップSa1302)。端末装置20では上書きにより電子クーポンの書込処理が行われるから、ASPサーバ10はメモリ領域251に記憶されていた電子クーポンのセット済未利用枚数をクリアして、その電子クーポンの全体の残枚数に加算する(つまり、差し戻す)。ここでは、差し戻す対象となる電子クーポンがないので、ユーザ管理テーブル132に特に変化はない。 In the set confirmation process, the ASP server 10 first determines whether or not the writing process that triggered the start of the set confirmation process is successful (step Sa1301). Here, if the ASP server 10 determines that the writing process has been confirmed as successful (step Sa1301; YES), it proceeds to the process of step Sa1302. Next, the ASP server 10 updates the user management table 132 so as to clear all the set unused number associated with the user ID “UID001” (step Sa1302). Since the terminal device 20 performs the writing process of the electronic coupon by overwriting, the ASP server 10 clears the set unused number of electronic coupons stored in the memory area 251 and the total remaining number of electronic coupons. Is added to (ie, sent back). Here, there is no particular change in the user management table 132 because there is no electronic coupon to be returned.
 次に、ASPサーバ10は、電子クーポンAのセット未確定枚数をセット済未利用枚数に設定するとともに、そのセット未確定枚数をクリアするよう、ユーザ管理テーブル132を更新する(ステップSa1303)。図16(b)に示すように、ASPサーバ10は、「5」であるセット未確定枚数をセット済未利用枚数に設定して「5」にするとともに、セット未確定枚数をクリアして「5」から「0」にする。これにより、ASPサーバ10は、メモリ領域251に書き込まれた電子クーポンAの枚数と、ユーザ管理テーブル132における電子クーポンAのセット済未利用枚数とを一致(同期)させたことになる。ASPサーバ10は、セット開始処理のステップSa24の処理で、提供しようとする枚数の電子クーポンAが予め(つまり、予約的に)全体の残枚数から減じていたから、ここでは全体の残枚数を変化させることはない。
 このように書込処理の成功が確定した電子クーポンAは、セット開始処理の段階で他のユーザにより取得されないようになっていたため、セット開始処理が実行されたときから、セット確定処理においてセット済未利用枚数に加算されるまでの期間に、他のユーザによりこの電子クーポンAが取得されることはない。
Next, the ASP server 10 sets the set unconfirmed number of electronic coupons A as the set unused number, and updates the user management table 132 so as to clear the set unconfirmed number (step Sa1303). As shown in FIG. 16B, the ASP server 10 sets the set unconfirmed number of “5” as the set unused number to “5” and clears the set unconfirmed number of “ From “5” to “0”. As a result, the ASP server 10 matches (synchronizes) the number of electronic coupons A written in the memory area 251 with the set unused number of electronic coupons A in the user management table 132. The ASP server 10 changes the total remaining number here because the number of electronic coupons A to be provided has been subtracted from the total remaining number in advance (that is, reserved) in the process of step Sa24 of the set start process. There is nothing.
Since the electronic coupon A in which the success of the writing process is determined in this way is not acquired by another user at the stage of the set starting process, it has been set in the set determining process after the set starting process is executed. The electronic coupon A is not acquired by another user during the period until it is added to the unused number.
 次に、ASPサーバ10は、保留リストテーブル134に利用履歴が書き込まれているか否かを判断する(ステップSa1304)。図6に示されるとおり、ここでは、ASPサーバ10は保留リストテーブル134に利用履歴が書き込まれていないと判断し(ステップSa1304;NO)、セット確定処理を終了する。
 なお、ステップSa1301の処理でASPサーバ10が書込処理に失敗したと判断した場合や、保留リストテーブル134に利用履歴が書き込まれている場合の動作については、後で説明することとなる。
Next, the ASP server 10 determines whether or not a usage history is written in the hold list table 134 (step Sa1304). As shown in FIG. 6, here, the ASP server 10 determines that the usage history is not written in the hold list table 134 (step Sa1304; NO), and ends the set confirmation processing.
Note that the operation when the ASP server 10 determines that the writing process has failed in the process of step Sa1301 or when the usage history is written in the hold list table 134 will be described later.
(事象3)2011/6/29 11:00-電子クーポンAを3枚利用(1回目)
 (事象2)のセット確定処理後、端末装置20により、「2011/6/29 11:00」において電子クーポンAが「3」枚利用されたとする。この利用により、メモリ領域251が記憶する電子クーポンAの残りの枚数は、「5」枚から「2」枚に減じられる。この利用を契機に、本来は、ASPサーバ10が店舗管理サーバ30から利用履歴を直ちに取得するはずである。ただし、ここでは、店舗端末40や店舗管理サーバ30の故障やネットワークNWにおける通信障害等の何らかの原因により、店舗管理サーバ30がASPサーバ10宛てに利用履歴を送信しなかった場合を想定する。この場合、ユーザ管理テーブル132においては、クーポンAのセット済未利用枚数は「5」のままであるから、ASPサーバ10と端末装置20とにおいて、メモリ領域251に記憶されていると把握している電子クーポンAに「3」枚の差異が存在する。本来は、ユーザ管理テーブル132においてセット済未利用枚数は「2」となるべきである。しかしながら、利用履歴によるユーザ管理テーブル132の更新がASPサーバ10で行われていないので、セット済未利用枚数は「5」のままである。
(Event 3) 2011/6/29 11:00-Three electronic coupons A are used (first time)
After the (event 2) set confirmation process, it is assumed that “3” electronic coupons A are used by the terminal device 20 at “2011/6/29 11:00”. With this use, the remaining number of electronic coupons A stored in the memory area 251 is reduced from “5” to “2”. The ASP server 10 should originally acquire the usage history immediately from the store management server 30 with this use as an opportunity. However, here, it is assumed that the store management server 30 does not transmit the usage history to the ASP server 10 due to some cause such as a failure of the store terminal 40 or the store management server 30 or a communication failure in the network NW. In this case, in the user management table 132, since the set unused number of coupons A remains “5”, the ASP server 10 and the terminal device 20 grasp that the coupon A is stored in the memory area 251. There are “3” differences in the existing electronic coupon A. Originally, the set unused number in the user management table 132 should be “2”. However, since the ASP server 10 does not update the user management table 132 based on the usage history, the set unused number remains “5”.
(事象4)2011/6/29 12:00-電子クーポンAを1枚利用(2回目)
 (事象3)の後、端末装置20により、「2011/6/29 12:00」において電子クーポンAが「1」枚利用されたとする。この利用により、メモリ領域251が記憶する電子クーポンAの残りの枚数は、「2」枚から「1」枚に減じられる。ここでも、店舗管理サーバ30がASPサーバ10宛てに利用履歴を送信しなかった場合を想定する。この場合、ユーザ管理テーブル132においては、クーポンAのセット済未利用枚数は「5」のままであるから、ASPサーバ10と端末装置20とにおいて、メモリ領域251に記憶されていると把握している電子クーポンAに「4」枚の差異が存在する。本来は、ユーザ管理テーブル132においてセット済未利用枚数は「1」となるべきである。しかしながら、利用履歴によるユーザ管理テーブル132の更新がASPサーバ10で行われていないので、セット済未利用枚数は未だ「5」のままである。
(Event 4) 2011/6/29 12:00-Use one electronic coupon A (second time)
After (Event 3), it is assumed that “1” electronic coupons A are used by the terminal device 20 at “2011/6/29 12:00”. As a result, the remaining number of electronic coupons A stored in the memory area 251 is reduced from “2” to “1”. Here, it is assumed that the store management server 30 has not transmitted the usage history to the ASP server 10. In this case, in the user management table 132, since the set unused number of coupons A remains “5”, the ASP server 10 and the terminal device 20 grasp that the coupon A is stored in the memory area 251. There are “4” differences in the existing electronic coupon A. Originally, the set unused number in the user management table 132 should be “1”. However, since the ASP server 10 does not update the user management table 132 based on the usage history, the set unused number is still “5”.
(事象5)2011/6/29 15:00-電子クーポンBを10枚提供するためのセット開始処理
 次に(事象5)を説明する。
 電子クーポンBを10枚提供するためのセット開始処理においても、その処理の流れは、上述した(事象1)で説明した内容と基本的に同じである。よって、ここでのセット開始処理については、図12を参照しつつ適宜省略しながら処理の流れを説明する。図17は、各データテーブルの更新の様子を示す図である。ASPサーバ10は、ステップSa1の処理で送信されたクーポン取得要求を受信したことを契機に、セット開始処理を開始する。このクーポン取得要求は、電子クーポンBのクーポンIDとして「CID002」と、取得枚数として「10」とを含む。
 ASPサーバ10は、クーポン取得要求を受信すると、トランザクション管理テーブル133を参照して、ステータスが未確定の書込処理があるか否かを判断する(ステップSa21)。図16(a)に示されるとおり、ここではステータス「未確定」の書込処理がない。よって、ASPサーバ10は、ステップSa21の処理で「NO」と判断して、ステップSa22の処理に進む。
(Event 5) 2011/6/29 15: 00-Set Start Processing for Providing Ten Electronic Coupons B Next, (Event 5) will be described.
Also in the set start process for providing ten electronic coupons B, the process flow is basically the same as the contents described in the above (event 1). Therefore, the flow of processing will be described while omitting the setting start processing here as appropriate with reference to FIG. FIG. 17 is a diagram showing how each data table is updated. The ASP server 10 starts the set start process when receiving the coupon acquisition request transmitted in the process of step Sa1. This coupon acquisition request includes “CID002” as the coupon ID of the electronic coupon B and “10” as the number of acquisitions.
When the ASP server 10 receives the coupon acquisition request, the ASP server 10 refers to the transaction management table 133 and determines whether or not there is a writing process whose status is indeterminate (step Sa21). As shown in FIG. 16A, here, there is no writing process of the status “indeterminate”. Therefore, the ASP server 10 determines “NO” in the process of step Sa21, and proceeds to the process of step Sa22.
 次に、ASPサーバ10は、電子クーポンBの全体の残枚数、及び個人の残枚数がそれぞれ、取得枚数以上であるか否かを判断する(ステップSa22)。図13(b)に示されるとおり、全体の残枚数が「5000」であり、個人の残枚数が「25」であるのに対し、取得枚数は「10」である。よって、ASPサーバ10は、ステップSa22の処理で「YES」と判断して、ステップSa23の処理に進む。
 次に、ASPサーバ10は、これから指示する書込処理のステータスを「未確定」に設定して、トランザクション管理テーブル133を更新する(ステップSa23)。ここにおいて、ASPサーバ10は、図17(a)に示すように、処理ID「TsB」を割り当てて、ステータス「未確定」と対応付けて、トランザクション管理テーブル133に新たに書き込む。
Next, the ASP server 10 determines whether or not the total remaining number of electronic coupons B and the remaining number of individuals are each equal to or greater than the acquired number (step Sa22). As shown in FIG. 13B, the total remaining number is “5000”, the individual remaining number is “25”, and the acquired number is “10”. Therefore, the ASP server 10 determines “YES” in the process of step Sa22, and proceeds to the process of step Sa23.
Next, the ASP server 10 sets the status of the writing process to be instructed to “indeterminate” and updates the transaction management table 133 (step Sa23). Here, as shown in FIG. 17A, the ASP server 10 assigns a processing ID “TsB”, associates it with the status “unconfirmed”, and newly writes it in the transaction management table 133.
 次に、ASPサーバ10は、電子クーポンBの取得枚数をセット未確定枚数に設定するよう、クーポン管理テーブル131及びユーザ管理テーブル132を更新する(ステップSa24)。図17(b)に示すように、ASPサーバ10は、クーポンIDが「CID002」である電子クーポンBについて、全体の残枚数を「5000」から取得枚数の「10」だけ減じて、「4990」とする。また、ASPサーバ10は、全体の残枚数から減じた取得枚数である「10」をセット未確定枚数に設定して、セット未確定枚数を「10」にする。
 ここでのセット開始処理は以上である。
Next, the ASP server 10 updates the coupon management table 131 and the user management table 132 so as to set the acquired number of electronic coupons B to the set unconfirmed number (step Sa24). As shown in FIG. 17B, the ASP server 10 subtracts the total remaining number from “5000” by “10” as the acquired number for the electronic coupon B having the coupon ID “CID002” to obtain “4990”. And Also, the ASP server 10 sets “10”, which is the acquired number obtained by subtracting from the total remaining number, to the set unconfirmed number of sheets, and sets the set unconfirmed number of sheets to “10”.
This is the end of the set start process.
(事象6)2011/6/29 16:00-電子クーポンAの利用履歴を取得(1回目)
 次に(事象6)を説明する。
 図18は、利用時処理の流れを示すフローチャートである。図19は、各データテーブルの更新の様子を示す図である。
 ASPサーバ10は、「2011/6/29 16:00」に、(事象3)で利用された電子クーポンAの利用履歴を店舗管理サーバ30から取得したことを契機に、利用時処理を実行する。利用時処理が本来よりも遅れて開始される例としては、この時刻に店舗管理サーバ30が復旧したり、ネットワークNWの障害が解消したりしたこと等が考えられる。ここにおいて、ASPサーバ10は、クーポンID「CID001」、利用日時「2011/6/29 11:00」、及び利用枚数「3」を含む利用履歴を取得する。
(Event 6) 2011/6/29 16:00-Get electronic coupon A usage history (first time)
Next, (event 6) will be described.
FIG. 18 is a flowchart showing the flow of processing at the time of use. FIG. 19 is a diagram showing how each data table is updated.
The ASP server 10 executes the processing at the time of use when the usage history of the electronic coupon A used in (Event 3) is acquired from the store management server 30 at “2011/6/29 16:00”. . As an example in which the in-use process is started later than the original, it is conceivable that the store management server 30 is restored at this time, or the failure of the network NW has been resolved. Here, the ASP server 10 acquires a usage history including the coupon ID “CID001”, the usage date “2011/6/29 11:00”, and the usage number “3”.
 まず、ASPサーバ10は、トランザクション管理テーブル133を参照して、ステータスが「未確定」の書込処理があるか否かを判断する(ステップSa151)。図17(a)に示すように、ここでは、処理ID「TsB」の書込処理の結果(ステータス)が未確定である。よって、ASPサーバ10は、ステップSa151の処理で「YES」と判断し、ステップSa152の処理に進む。 First, the ASP server 10 refers to the transaction management table 133 to determine whether or not there is a writing process whose status is “indeterminate” (step Sa151). As shown in FIG. 17A, here, the result (status) of the writing process with the process ID “TsB” is unconfirmed. Therefore, the ASP server 10 determines “YES” in the process of step Sa151, and proceeds to the process of step Sa152.
 次に、ASPサーバ10は、店舗管理サーバ30から取得した利用履歴に含まれる利用日時と、トランザクション管理テーブル133における最新の書込完了日時とを比較し、利用日時が最新の書込完了日時よりも後であるか否かを判断する(ステップSa152)。図17(a)に示すように、ここでの最新の書込完了日時は「2011/6/29 10:05」である。よって、ASPサーバ10は、ステップSa152の処理で「YES」と判断し、ステップSa153の処理に進む。そして、ASPサーバ10は、利用履歴によるセット済未利用枚数の更新を保留して(つまり、更新しないで)、この利用履歴を保留リストテーブル134に書き込む(ステップSa153)。 Next, the ASP server 10 compares the use date and time included in the use history acquired from the store management server 30 with the latest write completion date and time in the transaction management table 133, and the use date and time is from the latest write completion date and time. Is determined later (step Sa152). As shown in FIG. 17A, the latest write completion date and time here is “2011/6/29 10:05”. Therefore, the ASP server 10 determines “YES” in the process of step Sa152, and proceeds to the process of step Sa153. Then, the ASP server 10 suspends the update of the set unused number based on the use history (that is, does not update), and writes this use history in the hold list table 134 (step Sa153).
 ステップSa3の処理では、ASPサーバ10は、ステータスが未確定の書込処理が存在し、書込処理の結果の確定の遅延と、利用履歴の取得の遅延という、双方の遅延を原因として電子クーポンAに関する情報を誤って管理をしないよう、利用履歴に基づく処理を一旦保留している。具体的には、ASPサーバ10は、利用履歴を遅延して取得した場合にステータスが「未確定」の書込処理が残っているときには、その書込処理の結果が確定するまでは、メモリ領域251において電子クーポンAに関する情報が書き換わった時刻が不明である。よって、ASPサーバ10にしてみれば、取得した利用履歴が、その書込処理によって書き込まれた電子クーポンAから利用されたものなのか、それ以前に記憶されていた電子クーポンAの利用履歴が遅れて送信されたのかを、この時点で正確に判断することはできない。この理由により、ASPサーバ10は、この判断を正確にできるようになるまで利用履歴に基づく処理を保留するわけである。ステップSa153の処理後の保留リストテーブル134は、図19(a)に示されるとおりである。 In the process of step Sa3, the ASP server 10 has an electronic coupon due to both delays, namely, a delay in finalizing the result of the write process and a delay in acquiring the usage history, because there is a write process whose status is not finalized. The processing based on the usage history is temporarily suspended so that information on A is not mistakenly managed. Specifically, when the ASP server 10 obtains the usage history with a delay and the writing process with the status “unconfirmed” remains, the ASP server 10 does not store the memory area until the result of the writing process is fixed. The time when the information on the electronic coupon A is rewritten in 251 is unknown. Therefore, in the case of the ASP server 10, whether the acquired usage history is used from the electronic coupon A written by the writing process, or the usage history of the electronic coupon A stored before that is delayed. It is not possible to accurately determine whether the data has been transmitted at this time. For this reason, the ASP server 10 suspends processing based on the usage history until this determination can be made accurately. The hold list table 134 after the process of step Sa153 is as shown in FIG.
 次に、ASPサーバ10は、個人の残枚数からステップSa153の処理で保留させた利用履歴の利用枚数を減じるとともに、利用履歴の利用枚数を個人の利用枚数に加算する(ステップSa154)。図19(b)に示すように、ここでは、ASPサーバ10は、個人の利用枚数に「3」を加算して「0」から「3」にするとともに、個人の残枚数「10」から「3」を減じて「7」にするよう、ユーザ管理テーブル132を更新する。
 以上のASPサーバ10の処理により、(事象3)における利用履歴の取得の遅延と、電子クーポンBの書込処理の結果の確定の遅延とを原因とした電子クーポンBの他のユーザによる重複取得は回避される。
 なお、ステップSa151の処理で、ASPサーバ10がステータスが未確定の書込処理がないと判断した場合の動作については、後で説明することとなる。
Next, the ASP server 10 subtracts the number of usage histories held in the process of step Sa153 from the remaining number of individuals and adds the number of usage histories to the number of personal usage (step Sa154). As shown in FIG. 19B, here, the ASP server 10 adds “3” to the number of personal use to change from “0” to “3”, and from the remaining personal number of “10” to “3”. The user management table 132 is updated so that “3” is reduced to “7”.
Due to the processing of the ASP server 10 described above, duplicate acquisition by other users of the electronic coupon B due to the delay in acquiring the usage history in (event 3) and the delay in determining the result of the writing processing of the electronic coupon B Is avoided.
Note that the operation performed when the ASP server 10 determines that there is no unconfirmed status writing process in the process of step Sa151 will be described later.
(事象7)2011/6/29 17:00-電子クーポンBを5枚利用(1回目)
 (事象6)の利用時処理の実行後、端末装置20により、「2011/6/29 17:00」において電子クーポンBが「5」枚利用されたとする。この利用により、メモリ領域251が記憶する電子クーポンBの残り枚数は、「10」から「5」に減じられる。ここでも、店舗管理サーバ30がASPサーバ10宛てに利用履歴を送信しなかった場合を想定する。この場合、ユーザ管理テーブル132においては、クーポンBのセット済未利用枚数が「0」のままであるから、ASPサーバ10と端末装置20とにおいて、メモリ領域251に記憶されていると把握している電子クーポンBに「5」枚の差異が存在する。本来は、ユーザ管理テーブル132においてセット済未利用枚数は「5」となるべきである。しかしながら、利用履歴によるユーザ管理テーブル132の更新がASPサーバ10で行われていないので、セット済未利用枚数は「0」のままである。
(Event 7) 2011/6/29 17:00-Use 5 electronic coupons B (first time)
It is assumed that “5” electronic coupons B are used by the terminal device 20 at “2011/6/29 17:00” after execution of the (event 6) usage process. With this use, the remaining number of electronic coupons B stored in the memory area 251 is reduced from “10” to “5”. Here, it is assumed that the store management server 30 has not transmitted the usage history to the ASP server 10. In this case, since the set unused number of coupons B remains “0” in the user management table 132, the ASP server 10 and the terminal device 20 grasp that the coupon B is stored in the memory area 251. There are “5” differences in the existing electronic coupon B. Originally, the set unused number in the user management table 132 should be “5”. However, since the ASP server 10 has not updated the user management table 132 with the usage history, the set unused number remains “0”.
(事象8)2011/6/29 18:00-電子クーポンBの利用履歴を取得(1回目)
 次に(事象8)を説明する。ここでの利用時処理の流れは、上述した(事象6)で説明した内容と基本的に同じであるから、図18を参照しつつ適宜簡略化して説明する。図20は、各データテーブルの更新の様子を示す図である。ここでは、ASPサーバ10が、「2011/6/29 18:00」に、(事象7)で利用された電子クーポンBの利用履歴を基に利用時処理を実行する。ここにおいて、ASPサーバ10は、クーポンID「CID002」、利用日時「2011/6/29 17:00」及び利用枚数「5」という利用履歴を取得することとなる。
(Event 8) 2011/6/29 18:00-Get electronic coupon B usage history (first time)
Next, (event 8) will be described. Since the flow of the use process here is basically the same as the content described in the above (event 6), it will be briefly simplified with reference to FIG. FIG. 20 is a diagram illustrating how each data table is updated. Here, the ASP server 10 executes the on-use process at “2011/6/29 18:00” based on the use history of the electronic coupon B used in (event 7). Here, the ASP server 10 acquires the usage history of coupon ID “CID002”, usage date “2011/6/29 17:00”, and usage number “5”.
 まず、ASPサーバ10は、ステータスが未確定の書込処理があるか否かを判断する(ステップSa151)。ここでは、図17(a)に示すように、処理ID「TsB」の書込処理のステータスが「未確定」である。よって、ASPサーバ10は、ステップSa151の処理で「YES」と判断して、ステップSa152の処理に進む。次に、ASPサーバ10は、トランザクション管理テーブル133を参照して、店舗管理サーバ30から取得した利用履歴に含まれる利用日時が最新の書込完了日時よりも後であるか否かを判断する(ステップSa152)。ここでは、ASPサーバ10は、最新の書込完了日時が「2011/6/29 10:05」であるから、ステップSa152の処理で「YES」と判断し、利用履歴を保留リストテーブル134に書き込む(ステップSa153)。ステップSa153の処理後の保留リストテーブル134は、図20(a)に示されるとおりである。 First, the ASP server 10 determines whether or not there is a writing process whose status is indeterminate (step Sa151). Here, as shown in FIG. 17A, the status of the writing process with the process ID “TsB” is “indeterminate”. Therefore, the ASP server 10 determines “YES” in the process of step Sa151, and proceeds to the process of step Sa152. Next, the ASP server 10 refers to the transaction management table 133 to determine whether or not the usage date and time included in the usage history acquired from the store management server 30 is later than the latest writing completion date and time ( Step Sa152). Here, since the latest write completion date / time is “2011/6/29 10:05”, the ASP server 10 determines “YES” in the process of step Sa152 and writes the usage history to the hold list table 134. (Step Sa153). The hold list table 134 after the process of step Sa153 is as shown in FIG.
 次に、ASPサーバ10は、個人の残枚数から利用履歴の利用枚数を減じ、更に、利用履歴の利用枚数を個人の利用枚数に加算する(ステップSa154)。図20(b)に示すように、ASPサーバ10は、個人の残枚数「25」から「5」を減じて「20」にするとともに、個人の利用枚数に「5」を加算して「0」から「5」にする。
 以上のASPサーバ10の処理により、電子クーポンBの書込処理の結果の確定の遅延を原因とした、電子クーポンBの重複取得が回避される。
 ここでの利用時処理は以上である。
Next, the ASP server 10 subtracts the number of usage histories from the number of remaining individuals, and further adds the number of usage histories to the number of personal usage (step Sa154). As shown in FIG. 20B, the ASP server 10 subtracts “5” from the remaining number “25” of the individual to “20” and adds “5” to the number of personal use “0”. To "5".
By the processing of the ASP server 10 described above, duplicate acquisition of the electronic coupon B due to a delay in determining the result of the writing processing of the electronic coupon B is avoided.
The processing at the time of use here is the above.
(事象9)2011/6/29 19:00-電子クーポンBのセット確定処理
 次に(事象9)を説明する。セット確定処理の手順については図14を参照して説明する。図21は、各データテーブルの更新の様子を示す図である。
 以下に説明するセット確定処理の開始時はテーブルのデータ構造は、図20に示されるものである。このセット確定処理に先立って、ステップSa12の処理に応じてASPサーバ10が受け付けた結果通知により、書込完了日時「2011/6/29 15:01」に書込処理が完了したとする。この場合、ASPサーバ10は、成功が確定した書込処理を識別する処理ID「TsB」に、ステータス「成功」と、書込完了日時「2011/6/29 15:01」とを対応付けて、トランザクション管理テーブル133に書き込む(図21(a)参照)。
(Event 9) 2011/6/29 19:00-Electronic Coupon B Set Confirmation Process Next, (Event 9) will be described. The procedure of the set confirmation process will be described with reference to FIG. FIG. 21 is a diagram showing how each data table is updated.
At the start of the set confirmation process described below, the data structure of the table is as shown in FIG. Prior to this set confirmation processing, it is assumed that the writing processing is completed at the writing completion date and time “2011/6/29 15:01” by the result notification received by the ASP server 10 in accordance with the processing of step Sa12. In this case, the ASP server 10 associates the status “success” with the write completion date and time “2011/6/29 15:01” to the process ID “TsB” that identifies the write process for which success has been confirmed. The data is written in the transaction management table 133 (see FIG. 21A).
 まず、ASPサーバ10は、セット確定処理の開始の契機となった書込処理が成功したものであるか否かを判断する(ステップSa1301)。ASPサーバ10は、書込処理が成功で確定したと判断すると(ステップSa1301;YES)、ステップSa1302の処理に進む。次に、ASPサーバ10は、ユーザID「UID001」に対応付けられた各電子クーポンのセット済未利用枚数を全てクリアして、それぞれ全体の残枚数に加算することによりセット済未利用枚数を差し戻す(ステップSa1302)。ここにおいて、ASPサーバ10は、クーポンID「CID001」の電子クーポンAのセット済未利用枚数である「5」を全体の残枚数に差し戻して、全体の残枚数を「1000」とする。一方、クーポンID「CID002」の電子クーポンBのセット済未利用枚数は「0」であるから、全体の残枚数はここでは「4990」のままである。 First, the ASP server 10 determines whether or not the writing process that triggered the start of the set confirmation process is successful (step Sa1301). When the ASP server 10 determines that the writing process has been confirmed as successful (step Sa1301; YES), it proceeds to the process of step Sa1302. Next, the ASP server 10 clears all the set unused number of each electronic coupon associated with the user ID “UID001”, and adds the set unused number to each remaining number. Return (step Sa1302). Here, the ASP server 10 returns the set remaining unused number “5” of the electronic coupon A with the coupon ID “CID001” to the total remaining number and sets the total remaining number to “1000”. On the other hand, since the set unused number of the electronic coupon B with the coupon ID “CID002” is “0”, the total remaining number remains “4990” here.
 次に、ASPサーバ10は、電子クーポンBのセット未確定枚数をセット済未利用枚数に設定するとともに、そのセット未確定枚数をクリアするよう、ユーザ管理テーブル132を更新する(ステップSa1303)。図21(b)に示すように、ここでは、ASPサーバ10は、クーポンID「CID002」の電子クーポンBについて、セット未確定枚数である「10」をセット済未利用枚数に設定して「10」にするとともに、このセット未確定枚数をクリアして「10」から「0」にする。 Next, the ASP server 10 sets the set unconfirmed number of electronic coupons B as the set unused number, and updates the user management table 132 to clear the set unconfirmed number (step Sa1303). As illustrated in FIG. 21B, the ASP server 10 sets “10”, which is the set undetermined number, to the set unused number for the electronic coupon B with the coupon ID “CID002”. And clear the set undetermined number from “10” to “0”.
 次に、ASPサーバ10は、保留リストテーブル134に利用履歴が書き込まれているか否かを判断する(ステップSa1304)。図20(a)に示されるとおり、ASPサーバ10は保留リストテーブル134に利用履歴が書き込まれていると判断し(ステップSa1304;YES)、ステップSa1305の処理に進む。
 次に、ASPサーバ10は、保留リストテーブル134から利用履歴を1件抽出する(ステップSa1305)。ここでは、ASPサーバ10は、利用日時が最も後である利用履歴を抽出するが、いずれを抽出しても構わない。次に、ASPサーバ10は、抽出した利用履歴の利用日時が最新の書込完了日時よりも後であるか否かを判断する(ステップSa1306)。ここにおいて、クーポンID「CID002」、利用日時「2011/6/29 17:00」及び利用枚数「5」という利用履歴に対し、最新の書込完了日時が「2011/6/29 15:01」である。よって、ASPサーバ10は利用日時の方が後と判断し(ステップSa1306;YES)、抽出した利用履歴の利用枚数をセット済未利用枚数から減じる(ステップSa1307)。図21(c)に示すように、ここでは、ASPサーバ10は、セット済未利用枚数「10」から利用枚数「5」を減じて、セット済未利用枚数を「5」に設定する。そして、ASPサーバ10は、ステップSa1305の処理で抽出した利用履歴を、保留リストテーブル134から削除する(ステップSa1308)。
Next, the ASP server 10 determines whether or not a usage history is written in the hold list table 134 (step Sa1304). As shown in FIG. 20A, the ASP server 10 determines that the use history is written in the hold list table 134 (step Sa1304; YES), and proceeds to the process of step Sa1305.
Next, the ASP server 10 extracts one use history from the hold list table 134 (step Sa1305). Here, the ASP server 10 extracts the usage history with the latest usage date and time, but any of them may be extracted. Next, the ASP server 10 determines whether or not the usage date and time of the extracted usage history is later than the latest writing completion date and time (step Sa1306). Here, the latest writing completion date and time is “2011/6/29 15:01” with respect to the usage history of coupon ID “CID002”, usage date and time “2011/6/29 17:00” and usage number “5”. It is. Therefore, the ASP server 10 determines that the usage date is later (step Sa1306; YES), and subtracts the usage number of the extracted usage history from the set unused number (step Sa1307). As shown in FIG. 21C, the ASP server 10 subtracts the used number “5” from the set unused number “10” and sets the set unused number to “5”. Then, the ASP server 10 deletes the usage history extracted in the process of step Sa1305 from the hold list table 134 (step Sa1308).
 次に、ASPサーバ10は、保留リストテーブル134に利用履歴が残っているか否かを判断する(ステップSa1309)。ここで、ASPサーバ10は、クーポンID「CID001」の利用履歴が残っているので、ステップSa1309の処理で「YES」と判断し、ステップSa1305の処理に戻る。次に、ASPサーバ10は、保留リストテーブル134から利用履歴を1件抽出する(ステップSa1305)。ASPサーバ10は、抽出した利用履歴の利用日時が最新の書込完了日時よりも後であるか否かを判断する(ステップSa1306)。ここにおいて、クーポンID「CID001」、利用日時「2011/6/29 11:00」及び利用枚数「3」という利用履歴に対し、最新の書込完了日時は「2011/6/29 15:01」である。ASPサーバ10は、利用日時の方が前と判断した場合(ステップSa1306;NO)、この利用履歴利用枚数を全体の残枚数から減じてから削除する(ステップSa1308)。ここでは、ASPサーバ10は、電子クーポンAについて、保留リストテーブル134に含まれる利用枚数である「3」を、電子クーポンAの全体の残枚数である「1000」から減じて「997」としてから、保留リストテーブル134から抽出した利用履歴を削除する(ステップSa1308)。 Next, the ASP server 10 determines whether or not a usage history remains in the hold list table 134 (step Sa1309). Here, since the usage history of the coupon ID “CID001” remains, the ASP server 10 determines “YES” in the process of step Sa1309 and returns to the process of step Sa1305. Next, the ASP server 10 extracts one use history from the hold list table 134 (step Sa1305). The ASP server 10 determines whether or not the usage date and time of the extracted usage history is later than the latest writing completion date and time (step Sa1306). Here, the latest writing completion date and time is “2011/6/29 15:01” for the usage history of coupon ID “CID001”, usage date and time “2011/6/29 11:00” and usage number “3”. It is. When the ASP server 10 determines that the usage date is earlier (step Sa1306; NO), the ASP server 10 deletes the usage history usage number from the total remaining number and then deletes it (step Sa1308). Here, for the electronic coupon A, the ASP server 10 subtracts “3”, which is the number of used cards included in the hold list table 134, from “1000”, which is the total remaining number of electronic coupons A, and sets it to “997”. The usage history extracted from the hold list table 134 is deleted (step Sa1308).
 このステップSa1308の処理で、ASPサーバ10が保留リストテーブル134に含まれる利用枚数を全体の残枚数から減じた理由を説明する。保留リストテーブル134に利用履歴が書き込まれていたということは、実際にはこの利用履歴から特定される利用枚数分の電子クーポンは既に利用されたものの、ステップSa1306の処理で「NO」と判断された場合には、この利用枚数が未だセット済未利用枚数からは減じられていないことになる。よって、セット済未利用枚数がそのまま全体の残枚数に差し戻されてしまうと、この利用枚数分が過剰に差し戻されて、この利用枚数分の電子クーポンが他のユーザにより重複取得されるおそれがある。この理由から、ASPサーバ10は、保留リストテーブル134の利用履歴に含まれる利用枚数である「3」を全体の残枚数である「1000」から減じて、「997」としている。図21(d)に示すように、この減算により、ASPサーバ10は、結果的に、電子クーポンAのセット済未利用枚数であった「5」から、保留リストテーブル134の利用履歴に含まれる利用枚数である「2」を減じた枚数分である「2」だけ、電子クーポンAの全体の残枚数に差し戻したことになる。
 ASPサーバ10は、保留リストテーブル134に利用履歴が残っていないと判断すると(ステップSa1309;NO)、利用時処理を終了する。
 以上の処理により、(事象3)の利用後のセット済未利用枚数が、ASPサーバ10において正しく反映されたことになる。
The reason why the ASP server 10 reduced the number of used sheets included in the hold list table 134 from the total remaining number in the process of step Sa1308 will be described. The fact that the usage history has been written in the hold list table 134 means that the number of electronic coupons specified from the usage history has actually been used, but it is determined as “NO” in the process of step Sa1306. In this case, the number of used sheets has not yet been subtracted from the set unused number of sheets. Therefore, if the set unused number is returned as it is to the remaining remaining number as it is, there is a risk that this used number will be excessively returned and the electronic coupon for this used number will be duplicated by other users. There is. For this reason, the ASP server 10 subtracts “3”, which is the usage number included in the usage history of the hold list table 134, from “1000”, which is the total remaining number, to obtain “997”. As shown in FIG. 21 (d), as a result of this subtraction, the ASP server 10 is included in the usage history of the hold list table 134 from “5”, which is the set unused number of electronic coupons A. That is, “2”, which is the number obtained by subtracting “2”, which is the number of used sheets, is returned to the entire remaining number of electronic coupons A.
If the ASP server 10 determines that no use history remains in the hold list table 134 (step Sa1309; NO), the ASP server 10 ends the use-time process.
With the above processing, the set unused number after use of (event 3) is correctly reflected in the ASP server 10.
(事象10)2011/6/29 20:00-電子クーポンBを1枚利用(2回目)
 (事象9)のセット確定処理の後、端末装置20により、「2011/6/29 20:00」において電子クーポンBが「1」枚利用されたとする。この利用により、メモリ領域251が記憶する電子クーポンBの残り枚数は、「5」から「4」に減じられる。この時点では、ユーザ管理テーブル132においては、クーポンBのセット済未利用枚数は「5」のままであるから、ASPサーバ10と端末装置20とにおいて、メモリ領域251に記憶されていると把握している電子クーポンBに「1」枚の差異が存在する。
(Event 10) 2011/6/29 20:00-Use one electronic coupon B (second time)
It is assumed that after the set determination process of (Event 9), “1” electronic coupons B are used by the terminal device 20 at “2011/6/29 20:00”. As a result, the remaining number of electronic coupons B stored in the memory area 251 is reduced from “5” to “4”. At this time, in the user management table 132, since the set unused number of coupons B remains “5”, it is understood that the ASP server 10 and the terminal device 20 are stored in the memory area 251. There is a difference of “1” in the existing electronic coupon B.
(事象11)2011/6/29 21:00-電子クーポンBの利用履歴を取得(2回目)
 次に(事象11)を説明する。ここでは、ASPサーバ10が、「2011/6/29 21:00」に、(事象10)の電子クーポンの利用履歴を取得した場合の利用時処理を、図18を参照しつつ説明する。図22は、各データテーブルの更新の様子を示す図である。ここにおいて、ASPサーバ10は、クーポンID「CID002」、利用日時「2011/6/29 20:00」及び利用枚数「1」という利用履歴を取得することとなる。
(Event 11) 2011/6/29 21:00-Acquisition of electronic coupon B usage history (second time)
Next, (event 11) will be described. Here, the processing at the time of use when the ASP server 10 acquires the use history of the electronic coupon of (event 10) at “2011/6/29 21:00” will be described with reference to FIG. FIG. 22 is a diagram illustrating how each data table is updated. In this case, the ASP server 10 acquires a usage history of coupon ID “CID002”, usage date “2011/6/29 20:00”, and usage number “1”.
 まず、ASPサーバ10は、トランザクション管理テーブル133を参照して、ステータスが「未確定」の書込処理があるか否かを判断する(ステップSa151)。図21(a)に示すように、ASPサーバ10は、ステータスが未確定の書込処理がないと判断して(ステップSa151;NO)、ステップSa155の処理に進む。
 そして、ASPサーバ10は、店舗管理サーバ30から取得した利用履歴に含まれる利用日時が最新の書込完了日時よりも後であるか否かを判断する(ステップSa155)。図21(a)に示すように、ここでは、最新の書込完了日時が「201/6/29 15:01」である。よって、ASPサーバ10は、ステップSa155の処理で「YES」と判断し、個人の残枚数及びセット済未利用枚数のそれぞれから、利用履歴に含まれる利用枚数を減じる(ステップSa156)。図22に示すように、ここでは、ASPサーバ10は、クーポンID「CID002」の電子クーポンBについて、個人の残枚数を「20」から「1」だけ減らして「19」とし、セット済未利用枚数を「5」から「1」だけ減らして「4」とする。そして、ASPサーバ10は、個人の利用枚数である「5」に利用枚数である「1」を加算し、個人の利用枚数を「6」とする(ステップSa157)。
 以上の処理により、(事象11)の電子クーポンBの利用を原因とした、電子クーポンBの重複取得が回避される。
First, the ASP server 10 refers to the transaction management table 133 to determine whether or not there is a writing process whose status is “indeterminate” (step Sa151). As shown in FIG. 21A, the ASP server 10 determines that there is no writing process whose status is indeterminate (step Sa151; NO), and proceeds to the process of step Sa155.
Then, the ASP server 10 determines whether or not the use date and time included in the use history acquired from the store management server 30 is later than the latest write completion date and time (step Sa155). As shown in FIG. 21A, here, the latest write completion date and time is “201/6/29 15:01”. Therefore, the ASP server 10 determines “YES” in the process of step Sa155, and subtracts the used number included in the use history from each of the remaining personal number and the set unused number (step Sa156). As illustrated in FIG. 22, the ASP server 10 reduces the remaining number of individuals by “1” from “20” to “19” for the electronic coupon B with the coupon ID “CID002”, and is set unused. The number of sheets is decreased from “5” by “1” to “4”. Then, the ASP server 10 adds “1”, which is the number of used sheets, to “5”, which is the number of used persons, and sets the number of used persons to “6” (step Sa157).
By the above process, duplicate acquisition of the electronic coupon B due to the use of the electronic coupon B in (event 11) is avoided.
(事象12)2011/6/29 22:00-電子クーポンAの利用履歴を取得(2回目)
 次に(事象12)を説明する。ここでは、ASPサーバ10が、「2011/6/29 22:00」に、(事象4)での電子クーポンAの利用履歴を店舗管理サーバ30から取得した際の利用時処理を説明する。ASPサーバ10は、(事象4)の実行時に取得すべきであった利用履歴を取得して、利用時処理を実行する。ASPサーバ10は、クーポンID「CID001」、利用日時「2011/6/29 12:00」及び利用枚数「1」という利用履歴を取得することとなる。
(Event 12) 2011/6/29 22:00-Acquire electronic coupon A usage history (second time)
Next, (event 12) will be described. Here, the use time process when the ASP server 10 acquires the use history of the electronic coupon A in (event 4) from the store management server 30 at “2011/6/29 22:00” will be described. The ASP server 10 acquires the usage history that should have been acquired when (Event 4) is executed, and executes the usage process. The ASP server 10 acquires a usage history of coupon ID “CID001”, usage date “2011/6/29 12:00”, and usage count “1”.
 利用時処理については図18を参照しつつ説明する。図23は、各データテーブルの更新の様子を示す図である。ASPサーバ10は、ステータスが「未確定」の書込処理があるか否かを判断する(ステップSa151)。ここにおいて、ASPサーバ10は、図21(a)に示すように、ステータスが未確定の書込処理がないと判断すると(ステップSa151;NO)、店舗管理サーバ30から取得した利用履歴に含まれる利用日時が最新の書込完了日時よりも後であるか否かを判断する(ステップSa155)。図21(a)に示すとおり、トランザクション管理テーブル133を参照して、最新の書込完了日時が「201/6/29 15:01」であるから、ASPサーバ10はステップSa155の処理で「NO」と判断する。そして、ASPサーバ10は、個人の利用枚数に利用履歴における利用枚数を加算する(ステップSa157)。図23(a)に示すように、ここにおいて、ASPサーバ10は、クーポンID「CID001」の電子クーポンAについて、個人の利用枚数を「3」から「4」にするよう「1」だけ加算し、個人の残枚数「7」から「1」だけ減らした「6」とし、全体の残枚数「997」から「1」だけ減らして「996」とする。
 この処理によって、(事象9)において実際には利用されていたにも関わらず、全体の残枚数に過剰に差し戻されていた「1」枚分の電子クーポンAが、全体の残枚数から減じらされて全体の残枚数の誤りがここで解消される。
The in-use process will be described with reference to FIG. FIG. 23 is a diagram showing how each data table is updated. The ASP server 10 determines whether or not there is a writing process whose status is “indeterminate” (step Sa151). Here, as shown in FIG. 21A, when the ASP server 10 determines that there is no writing process whose status is undetermined (step Sa151; NO), the ASP server 10 is included in the usage history acquired from the store management server 30. It is determined whether or not the use date and time is later than the latest write completion date and time (step Sa155). As shown in FIG. 21A, the latest write completion date and time is “201/6/29 15:01” with reference to the transaction management table 133, so that the ASP server 10 performs “NO” in the process of step Sa155. " Then, the ASP server 10 adds the usage number in the usage history to the individual usage number (step Sa157). As shown in FIG. 23A, the ASP server 10 adds “1” to the electronic coupon A with the coupon ID “CID001” so that the number of personal use is changed from “3” to “4”. The remaining number “7” of the individual is reduced by “1” to “6”, and the remaining remaining number “997” is decreased by “1” to “996”.
By this processing, the electronic coupon A for “1”, which was excessively returned to the total remaining number even though it was actually used in (event 9), is subtracted from the total remaining number. Thus, the error of the total remaining number is solved here.
 なお、上述したセット確定処理において、ASPサーバ10がステップSa1301の処理で書込処理に失敗したと判定した場合も(図14のステップSa1301で「NO」)、基本的には成功した場合と同じように動作する。具体的には以下のとおりである。
 ASPサーバ10は、保留リストテーブル134に利用履歴が書き込まれているか否かを判断する(ステップSa1310)。ここにおいて、ASPサーバ10は、保留リストテーブル134に利用履歴が書き込まれていると判断すると(ステップSa1310;YES)、保留リストテーブル134から利用履歴を1件抽出する(ステップSa1311)。次に、ASPサーバ10は、抽出した利用履歴の利用日時が前回の書込処理であって最新の書込処理の書込完了日時よりも後か否かを判断する(ステップSa1312)。ASPサーバ10は、利用日時の方が後と判断すると(ステップSa1312;YES)、抽出した利用履歴の利用枚数をセット済未利用枚数から減じる(ステップSa1313)。そして、ASPサーバ10は、抽出した利用履歴を保留リストテーブル134から削除し(ステップSa1314)、保留リストテーブル134に利用履歴が残っているか否かを判断する(ステップSa1315)。ASPサーバ10は、利用履歴が残っていると判断すると(ステップSa1315;YES)、ステップSa1311の処理に戻る。一方、ASPサーバ10は、保留リストテーブル134に利用履歴が残っていないと判断すると、セット未確定枚数をクリアして(ステップSa1316)、セット確定処理を終了する。ステップSa1316の処理において、セット未確定枚数がセット済未利用枚数より多い場合には、ASPサーバ10は、セット未確定枚数とセット済未利用枚数との差分を全体の残枚数に加算する。
Note that, in the set confirmation process described above, even when the ASP server 10 determines that the writing process has failed in the process of step Sa1301 (“NO” in step Sa1301 in FIG. 14), it is basically the same as when it succeeded. To work. Specifically, it is as follows.
The ASP server 10 determines whether or not a usage history is written in the hold list table 134 (step Sa1310). When the ASP server 10 determines that the usage history is written in the hold list table 134 (step Sa1310; YES), the ASP server 10 extracts one use history from the hold list table 134 (step Sa1311). Next, the ASP server 10 determines whether or not the usage date and time of the extracted usage history is the previous writing process and is later than the writing completion date and time of the latest writing process (step Sa1312). If the ASP server 10 determines that the usage date is later (step Sa1312; YES), the ASP server 10 subtracts the usage number of the extracted usage history from the set unused number (step Sa1313). Then, the ASP server 10 deletes the extracted use history from the hold list table 134 (step Sa1314), and determines whether or not the use history remains in the hold list table 134 (step Sa1315). When the ASP server 10 determines that the usage history remains (step Sa1315; YES), the ASP server 10 returns to the processing of step Sa1311. On the other hand, when the ASP server 10 determines that the usage history does not remain in the hold list table 134, the ASP server 10 clears the set unconfirmed number (step Sa1316) and ends the set confirmation processing. In the processing of step Sa1316, if the set unconfirmed number is larger than the set unused number, the ASP server 10 adds the difference between the set unconfirmed number and the set unused number to the total remaining number.
 ところで、ASPサーバ10は、ステップSa1312の処理で抽出した利用履歴の利用日時が前回の書込処理であって最新の書込完了日時よりも前と判断すると(ステップSa1312;NO)、抽出した利用履歴を保留リストテーブル134から削除する(ステップSa1314)。また、ASPサーバ10は、ステップSa1310の処理で保留リストテーブル134に利用履歴が書き込まれていないと判断すると(ステップSa1310;NO)、ステップSa1316の処理を実行してからセット確定処理を終了する。
 以上のように、ASPサーバ10は、書込処理の結果が失敗の場合であっても、ステップSa1316の処理で、セット未確定枚数を全体の残枚数に加算してこのセット未確定枚数をクリアする処理を実行する点を除き、書込処理に成功した場合と同じように動作すればよい。
 以上が、上記ストーリにおいてASPサーバ10が実行する処理の説明である。
By the way, if the ASP server 10 determines that the usage date / time of the usage history extracted in the processing of step Sa1312 is the previous writing processing and is earlier than the latest writing completion date / time (step Sa1312; NO), the extracted usage The history is deleted from the hold list table 134 (step Sa1314). If the ASP server 10 determines that the use history is not written in the hold list table 134 in the process of step Sa1310 (step Sa1310; NO), the ASP server 10 executes the process of step Sa1316 and then ends the set confirmation process.
As described above, even if the result of the writing process is unsuccessful, the ASP server 10 clears the set undetermined number by adding the set undetermined number to the total remaining number in the process of step Sa1316. Except for executing the processing to be performed, the operation may be the same as when the writing processing is successful.
The above is description of the process which the ASP server 10 performs in the said story.
 以上説明した実施形態によれば、電子クーポンの管理に関して以下のような作用効果を奏する。
 第1に、ASPサーバ10におけるクーポン提供時の処理を原因として、電子クーポンが他のユーザにより重複取得されないようにすることができる。セット開始処理において、ASPサーバ10は、電子クーポンを端末装置20に新たに提供する場合、全体の残枚数から減じた枚数をセット未確定枚数に設定してから、このセット未確定枚数の電子クーポンについての書込処理を端末装置20に指示する。そして、ASPサーバ10は、端末装置20により実行された書込処理の成功が確定した後、セット未確定枚数をセット済未利用枚数に設定する。これにより、書込処理の成功後に、全体の残枚数から減じた取得枚数をセット済未利用枚数に直接設定した場合に生じうる、電子クーポンの重複取得を回避できる。更に、ASPサーバ10は、書込処理がメモリ領域251の電子クーポンに新しい電子クーポンを上書きする処理であった場合には、セット未確定枚数がセット済未利用枚数より多いときに、セット未確定枚数とセット済未利用枚数との差分を全体の残枚数に加算する(差し戻す)。これにより、書込処理前に全体の残枚数から減じた取得枚数をセット済未利用枚数に直接設定したした場合に生じうる、電子クーポンの重複取得を回避できる。具体的には、ASPサーバ10が上書きによる書込処理を行って既に記憶されていた電子クーポンが削除されようとした場合に、この書込処理の失敗を原因として、メモリ領域251にこの電子クーポンが残ってしまったときであっても、この電子クーポンが重複取得されるのを防ぐことができる。
According to embodiment described above, there exist the following effects regarding management of an electronic coupon.
First, the electronic coupon can be prevented from being duplicated by other users due to the processing at the time of providing the coupon in the ASP server 10. In the set start process, when the ASP server 10 newly provides an electronic coupon to the terminal device 20, the ASP server 10 sets the number of subtracted from the total remaining number as the set undetermined number, and then sets the undetermined number of electronic coupons. Is instructed to the terminal device 20. Then, after the ASP server 10 determines that the writing process executed by the terminal device 20 is successful, the ASP server 10 sets the set unconfirmed number of sheets as the set unused number. Thereby, after successful writing processing, it is possible to avoid duplicate acquisition of electronic coupons, which may occur when the acquired number of sheets subtracted from the total remaining number is directly set as the set unused number. Furthermore, if the writing process is a process of overwriting the electronic coupon in the memory area 251 with a new electronic coupon, the ASP server 10 sets the unconfirmed set when the set unconfirmed number is larger than the set unused number. The difference between the number of sheets and the set unused number is added (returned) to the total remaining number. As a result, it is possible to avoid overlapping acquisition of electronic coupons that may occur when the acquired number of sheets subtracted from the total remaining number of sheets before the writing process is set directly as the set unused number. Specifically, when the ASP server 10 performs a writing process by overwriting and an already stored electronic coupon is to be deleted, the electronic coupon is stored in the memory area 251 due to the failure of the writing process. Even when this is left, this electronic coupon can be prevented from being duplicated.
 第2に、ASPサーバ10における電子クーポンの利用時の処理を原因として電子クーポンが他のユーザにより重複取得されないようにすることができる。ASPサーバ10は、書込処理の成功が確定した場合にはその書込完了日時を記憶する。そして、ASPサーバ10は、端末装置20が電子クーポンを利用して利用履歴を取得すると、利用履歴に含まれる利用日時と最新の書込完了日時とを比較する。そして、ASPサーバ10は、利用日時が最新の書込完了日時よりも後である場合、セット済未利用枚数から利用枚数を減じる一方、利用日時が最新の書込完了日時よりも前である場合、セット済未利用枚数から利用枚数を減じない。このように、ASPサーバ10は、過去にメモリ領域251に記憶されていた電子クーポンに対応したセット済未利用枚数からは、利用履歴による利用枚数が減じない。これにより、(事象9)でも説明したように、ASPサーバ10が電子クーポンを差し戻す際に、実際には利用されていた電子クーポンに相当し利用履歴に含まれている利用枚数分を減じておけば、この利用枚数分の電子クーポンがセット確定処理によって差し戻されて他のユーザに重複取得されてしまうのを防ぐことができる。 Second, electronic coupons can be prevented from being duplicated by other users due to processing at the time of using electronic coupons in the ASP server 10. The ASP server 10 stores the writing completion date and time when the success of the writing process is confirmed. Then, when the terminal device 20 acquires the usage history using the electronic coupon, the ASP server 10 compares the usage date and time included in the usage history with the latest writing completion date and time. When the usage date is later than the latest writing completion date, the ASP server 10 subtracts the usage number from the set unused number, while the usage date is earlier than the latest writing completion date. , Do not subtract the used number from the set unused number. As described above, the ASP server 10 does not reduce the used number based on the use history from the set unused number corresponding to the electronic coupon stored in the memory area 251 in the past. Thus, as described in (Event 9), when the ASP server 10 returns the electronic coupon, the number of used sheets included in the usage history corresponding to the electronic coupon actually used is reduced. If this is the case, it is possible to prevent the electronic coupons corresponding to the number of used sheets from being returned by the set confirmation process and being duplicated by other users.
 第3に、ASPサーバ10は、第2の場合において、利用日時が最新の書込完了日時よりも後である場合に、結果が未確定である書込処理が存在するときには、セット済未利用枚数の更新を保留して利用履歴を記憶させる。そして、ASPサーバ10は、結果が未確定であった書込処理の結果が確定した後、記憶しておいた利用履歴に含まれる利用日時が最新の書込完了日時よりも後である場合、セット済未利用枚数から利用枚数を減じる一方、利用日時が最新の書込完了日時よりも前である場合、セット済未利用枚数から利用枚数を減じない。これにより、結果通知の遅延により、ASPサーバ10が書込処理の結果を確定させるのが遅れたとしても、書込処理の結果が確定してから利用履歴に基づく処理を行うので、セット確定処理によって電子クーポンが過剰に差し戻されて、この差し戻された電子クーポンが他のユーザに重複取得されるのを防ぐことができる。 Thirdly, in the second case, the ASP server 10 sets the unused state when there is a writing process whose result is indeterminate when the usage date is later than the latest writing completion date. The update of the number is suspended and the usage history is stored. Then, the ASP server 10 determines that the use date and time included in the stored use history is later than the latest write completion date and time after the result of the writing process whose result has not been decided is confirmed. If the used number is subtracted from the set unused number, while the use date is earlier than the latest writing completion date, the used number is not subtracted from the set unused number. Thereby, even if the ASP server 10 delays the finalization of the result of the writing process due to the delay of the result notification, the process based on the usage history is performed after the result of the writing process is finalized. Thus, it is possible to prevent the electronic coupons from being excessively returned and the electronic coupons thus returned to be duplicated by other users.
 更には、通信システム1において、ASPサーバ10とアプリケーション管理サーバ50とは独立したサーバ装置で実現されていて、クーポン管理アプリケーション261はASPサーバ10がないと動作しないようになっている。これは、端末装置20において、クーポン管理アプリケーション261が不正に利用されることを防ぐ目的としていることにもよる。具体的には、ASPサーバ10がアプリケーション管理サーバ50に対し署名通信で処理依頼を行った場合にしか、端末装置20ではICチップ25に電子クーポンが書き込まれないようになっているから、クーポン管理アプリケーション261の不正利用を防ぐことができる。 Furthermore, in the communication system 1, the ASP server 10 and the application management server 50 are realized by independent server devices, and the coupon management application 261 does not operate without the ASP server 10. This is because the terminal device 20 is intended to prevent the coupon management application 261 from being illegally used. Specifically, since the electronic device coupon is not written in the IC chip 25 in the terminal device 20 only when the ASP server 10 requests the application management server 50 by signature communication, the coupon management Unauthorized use of the application 261 can be prevented.
2.第1実施形態の変形例
 本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
2. Modification of First Embodiment The present invention can be implemented in a form different from the above-described embodiment. The present invention can also be implemented in the following forms, for example. In addition, the following modifications may be combined as appropriate.
[変形例1]
 上述した実施形態の通信システム1では、電子クーポンの提供又は利用可能な最小単位を「枚」とし、提供又は利用される電子クーポンの数(単位数)を「枚数」とした電子クーポンを扱っていた。これに対し、電子クーポンの提供又は利用可能な最小単位となる数(すう)はこれに限らず、例えば、電子クーポンの提供又は利用可能な最小単位を「円」や「ドル」等の貨幣の単位としてもよい。この場合であっても、上述した実施形態の電子クーポンの「枚数」を、「円」や「ドル」等の貨幣の単位に置き換えればよいだけである。また、電子クーポンの提供又は利用可能な最小単位となる数は、「ポイント」(点)や「回数」(利用回数)等であってもよい。
[Modification 1]
In the communication system 1 of the above-described embodiment, an electronic coupon is handled in which the minimum unit that can be provided or used is “sheets” and the number of electronic coupons that are provided or used (number of units) is “number”. It was. On the other hand, the minimum number of units that can be provided or used for electronic coupons is not limited to this. It is good also as a unit. Even in this case, it is only necessary to replace the “number of electronic coupons” of the above-described embodiment with a unit of money such as “yen” or “dollar”. In addition, the minimum number of units that can be provided or used for the electronic coupon may be “point” (point), “number of times” (number of times of use), or the like.
[変形例2]
 上述した実施形態において、ASPサーバ10は、電子クーポンの提供時に関するセット開始処理及びセット確定処理と、電子クーポンの利用時に関する利用時処理との双方を実行していたが、それぞれ別のサーバ装置(ASPサーバ)が実行してもよい。この場合、セット開始処理及びセット確定処理を実行する側のASPサーバは、図9に示す機能を実現する必要がない。また、通信システム1において、書込処理の結果通知が遅延しない環境(又は、遅延がほとんどない環境)にある場合には、ASPサーバ10が保留リストテーブル134に基づく処理を実行しないように、通信システム1を構成することも考えられる。この場合、上述した実施形態における全体の残枚数は、下記式(4)に置き換えられる。個人の残枚数については変化はない。
 全体の残枚数=全体の制限枚数-Σ{個人の利用枚数+MAX(セット済未利用枚数,セット未確定枚数)} ・・・(4)
[Modification 2]
In the above-described embodiment, the ASP server 10 executes both the set start process and the set confirmation process related to the provision of the electronic coupon, and the use time process related to the use of the electronic coupon. (ASP server) may execute. In this case, the ASP server on the side that executes the set start process and the set confirmation process does not need to realize the function shown in FIG. Further, in the communication system 1, when there is an environment in which the notification of the result of the writing process is not delayed (or an environment in which there is almost no delay), the communication is performed so that the ASP server 10 does not execute the process based on the hold list table 134. It is also conceivable to configure the system 1. In this case, the total remaining number of sheets in the above-described embodiment is replaced by the following formula (4). There is no change in the remaining number of individuals.
Total remaining number of sheets = Total number of restricted sheets−Σ {Personal use number + MAX (set unused number, set unconfirmed number)} (4)
 また、全体の残枚数は上述した式(1)又は式(4)の関係を満たし、個人の残枚数は上述した式(2)の関係を満たすものである。たとえ、ASPサーバ10が各式の左辺に相当する全体の残枚数及び個人の残枚数そのものを記憶していなくとも、例えば右辺に相当するデータを記憶していれば、実質的に全体の残枚数や個人の残枚数を記憶していることに等しい。 Also, the total remaining number satisfies the relationship of the above-described formula (1) or formula (4), and the remaining number of individuals satisfies the relationship of the above-described formula (2). Even if the ASP server 10 does not store the total remaining number corresponding to the left side of each expression and the individual remaining number itself, for example, if the ASP server 10 stores data corresponding to the right side, for example, the total remaining number It is equivalent to memorizing the remaining number of persons and individuals.
[変形例3]
 上述した実施形態では、ASPサーバ10は、電子クーポンの利用があると直ちに、店舗管理サーバ30から利用履歴を取得していた。これに対し、ASPサーバ10は、予め決められた期間毎、又は予め決められた取得時期が到来したことを契機に、店舗管理サーバ30から利用履歴を取得してもよい。この場合、ASPサーバ10が利用履歴を取得する日時が電子クーポンの利用日時から或る程度遅延するが、ASPサーバ10が上述した利用時処理を実行することにより、利用履歴の取得の遅延による重複取得は避けられる。
[Modification 3]
In the embodiment described above, the ASP server 10 acquires the usage history from the store management server 30 as soon as the electronic coupon is used. On the other hand, the ASP server 10 may acquire the usage history from the store management server 30 at a predetermined period or when a predetermined acquisition time has arrived. In this case, the date and time when the ASP server 10 acquires the usage history is delayed to some extent from the usage date and time of the electronic coupon. Acquisition is avoided.
[変形例4]
 上述した実施形態において、クーポン管理テーブル131及びユーザ管理テーブル132に相当するデータテーブルがサービス提供者ごとに独立していてよい。その理由について説明する。
 あるサービス提供者Aの電子クーポンaが端末装置20のICチップ25に書き込まれていて、別のサービス提供者Bの電子クーポンbがICチップ25に、クーポンaへの上書きにより書込処理が行われると、ICチップ25ではサービス提供者Aの電子クーポンaが削除させられる。しかしながら、ASPサーバでは、この書込処理に応じてサービス提供者Aの電子クーポンaのセット済未利用枚数を全体の残枚数に加算してセット済未利用枚数をクリアする、という電子クーポンの差し戻しを行うことができない。これにより、ASPサーバでは、ICチップ25から削除させられた電子クーポンがセット済未利用枚数として残留したままとなる。しかしながら、次にこの端末装置20がサービス提供者Aの電子クーポンの書込処理を実行する際には、ASPサーバで残留していた電子クーポンaのセット済未利用枚数が全体の残枚数に加算されてセット済未利用枚数がクリアされるから、特に問題は生じない。この場合、ASPサーバにおいては電子クーポンaのセット済未利用枚数がクリアされるまでは、この電子クーポンaがICチップ25に記憶されていないにも関わらず、セット済未利用枚数として残留するので、誰にも取得することのできない電子クーポンとなる。
 以上のような理由により、サービス提供者毎にASPサーバを分けた構成としても共通のデータテーブルを参照する必要がない。また、サービス提供者Bの電子クーポンがICチップ25に書き込まれたことにより、サービス提供者Aの電子クーポンが差し戻されるという、サービス提供者をまたがって連携される事象の発生を回避することできる。異なるサービス提供者(企業等)が同一のシステム(仕組み)を共用していることを一般ユーザに隠すことができる点で、ユーザの混乱回避や企業のブランディングの観点からも好ましい。
[Modification 4]
In the embodiment described above, data tables corresponding to the coupon management table 131 and the user management table 132 may be independent for each service provider. The reason will be described.
An electronic coupon a of a certain service provider A is written in the IC chip 25 of the terminal device 20, and an electronic coupon b of another service provider B is written in the IC chip 25 by overwriting the coupon a. Then, in the IC chip 25, the electronic coupon a of the service provider A is deleted. However, the ASP server returns the electronic coupon that the set unused number of the electronic coupon a of the service provider A is added to the total remaining number to clear the set unused number in accordance with the writing process. Can not do. Thereby, in the ASP server, the electronic coupon deleted from the IC chip 25 remains as a set unused number. However, when this terminal device 20 next executes the writing process of the electronic coupon of the service provider A, the set unused number of electronic coupons a remaining in the ASP server is added to the total remaining number. Since the set unused number is cleared, there is no particular problem. In this case, since the electronic coupon a is not stored in the IC chip 25 until the set unused unused number of the electronic coupon a is cleared in the ASP server, it remains as the set unused unused number. It becomes an electronic coupon that no one can get.
For the reasons described above, it is not necessary to refer to a common data table even if the ASP server is divided for each service provider. In addition, since the electronic coupon of the service provider B is written in the IC chip 25, it is possible to avoid the occurrence of an event linked across the service providers that the electronic coupon of the service provider A is returned. . From the viewpoint of avoiding user confusion and corporate branding, it is possible to hide from common users that different service providers (such as companies) share the same system (mechanism).
[変形例5]
 上述した実施形態を以下のように変形することも可能である。
 本変形例の前提として、ここでは、以下の(前提1)及び(前提2)を採用する。
(前提1)ユーザ管理テーブル132において「セット未確定枚数」に相当する情報が書き込まれないようにするとともに、ASPサーバ10はセット未確定枚数に関わる処理を実行しない。
(前提2)クーポン管理テーブル131においては、「残枚数(全体)」に代えて「配布枚数(全体)」に相当する情報が書き込まれるようにする。配布枚数(全体)は、端末装置20の全体に対して配布(つまり、提供)された電子クーポンの配布数(以下、「全体の配布枚数」ということがある。)であり、下記式(5)の関係を満たす。
 残枚数(全体)=制限枚数(全体)-配布枚数(全体) ・・・(5)
[Modification 5]
The above-described embodiment can be modified as follows.
Here, the following (Premise 1) and (Premise 2) are adopted as the premise of this modification.
(Premise 1) The information corresponding to the “undefined number of sets” is not written in the user management table 132, and the ASP server 10 does not execute processing related to the undefined number of sets.
(Assumption 2) In the coupon management table 131, information corresponding to “distributed number (total)” is written instead of “remaining number (total)”. The number of distributions (total) is the number of electronic coupons distributed (that is, provided) to the entire terminal device 20 (hereinafter also referred to as “total number of distributions”). )
Remaining number (total) = Limit number (total)-Number of distributions (total) (5)
 次に、本変形例のASPサーバ10の機能的構成を上述した実施形態との相違点を中心に説明する。
 第1更新部111は、第1電子クーポンを取得するためのクーポン取得要求を通信部12による端末装置20との通信により取得したことを契機に、第1電子クーポンを端末装置20に新たに提供するための処理を開始する。第1に、第1更新部111は、クーポン取得要求で指定された第1電子クーポンの取得枚数を、クーポン管理テーブル131の全体の配布枚数に加算する。ただし、第1更新部111は、書込処理前においてユーザ管理テーブル132に書き込まれている第1電子クーポンのセット済未利用枚数を超える枚数のみを、全体の配布枚数に加算する。すなわち、第1更新部111は、第1電子クーポンがメモリ領域251に既に記憶されているときには、同じ第1電子クーポンについて上書きによる書込処理を実行させることになるから、取得枚数から書込処理前のセット済未利用枚数を減じた枚数を、全体の配布枚数に追加して加算することとなる。
Next, the functional configuration of the ASP server 10 according to the present modification will be described focusing on differences from the above-described embodiment.
The 1st update part 111 provides a new 1st electronic coupon to the terminal device 20 triggered by having acquired the coupon acquisition request for acquiring a 1st electronic coupon by communication with the terminal device 20 by the communication part 12. To start the process. First, the first update unit 111 adds the number of acquired first electronic coupons specified in the coupon acquisition request to the total number of distributions in the coupon management table 131. However, the first updating unit 111 adds only the number exceeding the set unused number of the first electronic coupon written in the user management table 132 before the writing process to the total number of distributions. That is, when the first electronic coupon is already stored in the memory area 251, the first update unit 111 executes the writing process by overwriting for the same first electronic coupon, and thus the writing process starts from the acquired number. The number obtained by subtracting the previously set unused number is added to the total distribution number and added.
 第2に、第1更新部111は、クーポン取得要求で指定された第1電子クーポンの取得枚数を第1電子クーポンのセット済未利用枚数に加算する。ここにおいて、第1更新部111は、書込処理前においてユーザ管理テーブル132に書き込まれているセット済未利用枚数を超える枚数のみを、セット済未利用枚数に加算する。
 第1更新部111の説明は以上である。
Second, the first updating unit 111 adds the number of acquired first electronic coupons specified in the coupon acquisition request to the set unused number of first electronic coupons. Here, the first updating unit 111 adds only the number exceeding the set unused number written in the user management table 132 before the writing process to the set unused number.
The description of the first update unit 111 is as described above.
 第2更新部113は、書込指示部112による書込指示が行われた後、処理結果取得部114が取得した書込処理の結果に応じて、以下の処理を実行する。第2更新部113は、書込処理の結果が成功で確定した場合、他の電子クーポン(第2電子クーポン)のセット済未利用枚数をそれぞれ全体の配布枚数から減じるとともに、セット済未利用枚数をクリアする。一方、第2更新部113は、書込処理の結果が失敗で確定した場合、第1更新部111で全体の配布枚数に加算された枚数を、第1更新部111による更新後の全体の配布枚数から減じるとともに、第1更新部111でセット済未利用枚数に加算された枚数を、第1更新部111による更新後のセット済未利用枚数から減じる。 The second updating unit 113 executes the following processing according to the result of the writing process acquired by the processing result acquiring unit 114 after the writing instruction by the writing instruction unit 112 is performed. When the result of the writing process is determined to be successful, the second update unit 113 subtracts the set unused number of other electronic coupons (second electronic coupons) from the total distribution number and sets the set unused number. To clear. On the other hand, when the result of the writing process is determined to be unsuccessful, the second updating unit 113 uses the number added to the total number of distributions by the first updating unit 111 as a whole distribution after being updated by the first updating unit 111. While subtracting from the number of sheets, the number added to the set unused number by the first updating unit 111 is subtracted from the set unused number after being updated by the first updating unit 111.
 本変形例の通信システム1の構成であっても、上述した実施形態の説明を、式(5)の関係に基づいて、「全体の残枚数」を「制限枚数(全体)-配布枚数(全体)」として読み替えれば、上述した実施形態と同等の作用効果を享受することができる。
 また、本変形例は、(前提2)を採用しない構成に変形することも可能である。この場合、本変形例の“全体の配布枚数に加算/減算”という説明を、“全体の残枚数に減算/加算”と読み換えればよい。
Even in the configuration of the communication system 1 of the present modification, the description of the above-described embodiment is based on the relationship of Expression (5). If it is read as ")", it is possible to enjoy the same operational effects as the above-described embodiment.
Moreover, this modification can also be modified to a configuration that does not employ (Premise 2). In this case, the description “addition / subtraction to the total number of distributions” in this modification may be read as “subtraction / addition to the total number of remaining distributions”.
 以上のように、本変形例と変形例2の説明を合わせれば、ASPサーバ10が“全体の残枚数”という情報そのものを記憶していなくても、“全体の残枚数”を間接的に導くことのできる情報を記憶する構成を有していれば本発明の範囲に含まれるとともに、上述した実施形態と同等の作用効果を享受することができる。このことは、個人の残枚数についても同じように説明することができる。 As described above, when the explanations of the present modification and the modification 2 are combined, even if the ASP server 10 does not store the information “the total remaining number”, the “total remaining number” is indirectly derived. If it has the structure which memorize | stores the information which can be performed, while being contained in the range of this invention, it can enjoy the effect equivalent to embodiment mentioned above. This can be explained in the same way for the remaining number of individuals.
[変形例6]
 上述した実施形態において、ASPサーバ10は、電子クーポンの利用枚数を把握するために店舗端末40から利用履歴を取得するが、利用履歴を取得するまでは、端末装置20とASPサーバ10とにおいて個人の残枚数に不整合が生じ、電子クーポンが重複取得されてしまうおそれがある。そこで、通信システム1においては、セット開始処理を開始したときから予め決められた期間においては、ASPサーバ10が利用履歴を取得するまでその端末装置20に別の電子クーポンを取得させないようにしてもよい。すなわち、ASPサーバ10はセット開始処理を実行しないようにすればよい。この構成によれば、ASPサーバ10は、別の電子クーポンを取得させないようにしている期間の間に利用履歴を取得できれば、この問題による電子クーポンの重複取得を回避できる。
[Modification 6]
In the embodiment described above, the ASP server 10 acquires a usage history from the store terminal 40 in order to grasp the number of electronic coupons used. There is a possibility that inconsistency occurs in the remaining number of sheets, and multiple electronic coupons are acquired. Therefore, in the communication system 1, in a predetermined period from when the set start process is started, the terminal device 20 is not allowed to acquire another electronic coupon until the ASP server 10 acquires the usage history. Good. That is, the ASP server 10 may not execute the set start process. According to this configuration, if the ASP server 10 can acquire a usage history during a period in which another electronic coupon is not acquired, it is possible to avoid redundant acquisition of the electronic coupon due to this problem.
[変形例7]
 上述した実施形態において、ASPサーバ10が電子クーポンの利用枚数を把握するために店舗端末40から利用履歴を取得するが、店舗管理サーバ30による利用履歴の送信が遅延する場合、ASPサーバ10が利用履歴を取得するまでに別の電子クーポンの書込処理が行われると、全体の残枚数に不整合が生じ、電子クーポンが重複取得されてしまうおそれがある。つまり、電子クーポン利用後、利用履歴が送信されるまでに端末装置20が別の電子クーポンを取得した場合、すでにメモリ領域251から削除されている利用済みの電子クーポンが、メモリ領域251に残っているとASPサーバ10が誤認するため、利用済みの電子クーポンの分まで全体の残枚数に戻されてしまう。しかし、実際は、電子クーポンはメモリ領域251に残ったままなので、これが重複取得されてしまうおそれがある。そこで、ASPサーバ10は、セット確定処理の際にクリアされるセット済未利用枚数については、全体の残枚数への差し戻しを予め決められた期間だけ遅らせるようにしてもよい。このようにすれば、全体の残枚数への差し戻しを待機している期間にASPサーバ10が利用履歴を取得できれば、この問題による重複取得を回避できる。
[Modification 7]
In the embodiment described above, the ASP server 10 acquires the usage history from the store terminal 40 in order to grasp the number of used electronic coupons. However, when the usage history transmission by the store management server 30 is delayed, the ASP server 10 uses If another electronic coupon writing process is performed before the history is acquired, the total number of remaining coins may be inconsistent, and the electronic coupon may be acquired in duplicate. That is, after the electronic coupon is used, when the terminal device 20 acquires another electronic coupon before the usage history is transmitted, the used electronic coupon that has already been deleted from the memory area 251 remains in the memory area 251. If so, the ASP server 10 misidentifies, and the entire remaining number of electronic coupons is returned to the used electronic coupon. However, in reality, since the electronic coupon remains in the memory area 251, there is a possibility that this is duplicated. Therefore, the ASP server 10 may delay the return of the set unused number that is cleared at the time of the set confirmation process to the entire remaining number by a predetermined period. In this way, if the ASP server 10 can acquire the usage history during the period of waiting for the return to the total remaining number, it is possible to avoid duplicate acquisition due to this problem.
[変形例8]
 上述した実施形態の通信システム1では、店舗管理サーバ30と店舗端末40とが別々の装置であったが、これらを一体化した装置が用いられてもよい。この一体化した装置として、例えば、リーダ/ライタ機能を有しているパーソナルコンピュータやスマートフォン、POS(Point of sale)端末等がある。
 また、ASPサーバ10が、利用履歴を店舗管理サーバ30ではなく端末装置20から取得する構成を採ってもよい。
 また、上述した実施形態では、ASPサーバ10は、トランザクション管理テーブル133を参照して、ステータスが「未確定」の書込処理があると判断した場合は、セット開始処理を終了していた。しかしながら、本発明はこのような前提を必須とするものではなく、電子クーポンの枚数管理に支障がなければ、ステータスが「未確定」の書込処理がある場合に、セット開始処理を継続させることも可能である。
 また、ASPサーバ10の制御部11が実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の協働によって実現されうる。
 また、本発明は、ASPサーバ10が実行するプログラムやクーポン管理方法として把握することも可能である。
[Modification 8]
In the communication system 1 of the above-described embodiment, the store management server 30 and the store terminal 40 are separate devices, but a device in which these are integrated may be used. Examples of the integrated device include a personal computer having a reader / writer function, a smartphone, and a POS (Point of sale) terminal.
Further, the ASP server 10 may acquire the usage history from the terminal device 20 instead of the store management server 30.
In the above-described embodiment, the ASP server 10 ends the set start process when it is determined that there is a write process whose status is “indeterminate” with reference to the transaction management table 133. However, the present invention does not require such a premise, and if there is no problem in the management of the number of electronic coupons, the set start process is continued when there is a writing process whose status is “indeterminate” Is also possible.
Each function realized by the control unit 11 of the ASP server 10 can be realized by a combination of a plurality of programs, or can be realized by cooperation of a plurality of hardware resources.
Moreover, this invention can also be grasped | ascertained as the program and coupon management method which ASP server 10 performs.
3.第2実施形態
 以下、図面を参照しつつ本発明の第2実施形態を説明する。
 本実施形態に係る通信システムの全体構成は、第1実施形態のそれと同じである。よって、通信システムの全体構成についての説明は省略する。
3. Second Embodiment Hereinafter, a second embodiment of the present invention will be described with reference to the drawings.
The overall configuration of the communication system according to the present embodiment is the same as that of the first embodiment. Therefore, description of the overall configuration of the communication system is omitted.
 本実施形態に係るASPサーバのハードウェア構成は、第1実施形態のそれと同じである。よって、ASPサーバのハードウェア構成についての説明は省略する。ただし、本実施形態に係るASPサーバ10の記憶部13は、図24に示されるように、クーポン管理テーブル131、ユーザ管理テーブル132、トランザクション管理テーブル133及び保留リストテーブル134に代えて、クーポン情報テーブル135、ユーザ管理テーブル136及び保有状況管理テーブル137を記憶する。 The hardware configuration of the ASP server according to the present embodiment is the same as that of the first embodiment. Therefore, description of the hardware configuration of the ASP server is omitted. However, the storage unit 13 of the ASP server 10 according to the present embodiment replaces the coupon management table 131, the user management table 132, the transaction management table 133, and the hold list table 134 with a coupon information table as shown in FIG. 135, a user management table 136 and a holding status management table 137 are stored.
 図25は、クーポン情報テーブル135の構成を示す図である。図25に示すように、クーポン情報テーブル135は、「クーポンID」と、「クーポン名」と、「1ユーザあたりの提供制限枚数」と、「利用可能期間(開始日時)」と、「利用可能期間(終了日時)」とで示される各情報を対応付けたデータテーブルである。
 「クーポンID」は、ASPサーバ10により提供される電子クーポンを識別する識別子である。クーポンIDは、電子クーポンの種類毎に異なる。「1ユーザあたりの提供制限枚数」は、提供可能な数がユーザ毎に制限された電子クーポンである場合に、1のユーザに提供することができる電子クーポンの上限となる枚数である。言い換えれば、1ユーザあたりの提供制限枚数は、1のユーザの端末装置20で取得可能な電子クーポンの上限となる枚数である。「利用可能期間(開始日時)」は、電子クーポンの利用が可能な期間の開始時期を示す日時である。「利用可能期間(終了日時)」は、電子クーポンの利用が可能な期間の終了時期を示す日時である。
 以上の構成のクーポン情報テーブル135では、各電子クーポンに対応して、1ユーザあたりの提供制限枚数及び利用可能期間が設定されている。ただし、すべての電子クーポンに1ユーザあたりの提供制限枚数及び利用可能期間が設定されているとは限らず、どちらか一方が設定されていない電子クーポンもあれば、それら両方が設定されていない電子クーポンもある。
FIG. 25 is a diagram showing the configuration of the coupon information table 135. As shown in FIG. 25, the coupon information table 135 includes a “coupon ID”, “coupon name”, “restricted number of sheets provided per user”, “available period (start date and time)”, and “available for use”. It is a data table in which each piece of information indicated by “period (end date and time)” is associated.
“Coupon ID” is an identifier for identifying an electronic coupon provided by the ASP server 10. The coupon ID is different for each type of electronic coupon. The “restricted number of provisions per user” is an upper limit number of electronic coupons that can be provided to one user when the number of provisionable electronic coupons is limited for each user. In other words, the provision limit number per user is the upper limit number of electronic coupons that can be acquired by the terminal device 20 of one user. “Available period (start date and time)” is a date and time indicating the start time of a period in which the electronic coupon can be used. “Available period (end date and time)” is a date and time indicating the end time of a period in which the electronic coupon can be used.
In the coupon information table 135 having the above configuration, the provision limit number and the usable period per user are set corresponding to each electronic coupon. However, not all of the electronic coupons are provided with the limited number of coupons available per user and the period of use, and there are electronic coupons for which either one is not set, or for which both are not set. There are also coupons.
 図25に示すクーポン情報テーブル135には、クーポンID「CID001」~「CID003」の電子クーポンに関する情報が示されている。クーポンID「CID001」は、1ユーザあたりの提供制限枚数が「5」である電子クーポンを示し、利用可能期間(開始日時)が「2012/02/01 09:00」で、利用可能期間(終了日時)が「2012/02/29 23:59」である。クーポンID「CID002」は、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを示す。つまり、ユーザは、クーポンID「CID002」の電子クーポンを無制限に取得可能である。クーポンID「CID002」の電子クーポンは、利用可能期間(開始日時)が「2012/02/01 09:00」で、利用可能期間(終了日時)が「2012/02/29 23:59」である。クーポンID「CID003」は、1ユーザあたりの提供制限枚数が「10」である電子クーポンを示し、利用可能期間が設定されていない。利用可能期間が設定されていない電子クーポンは、時期に関係なくいつでも利用可能な電子クーポンである。
 本実施形態では、クーポンID「CID001」~「CID003」の電子クーポンは、同一のサービス提供者により提供される電子クーポンであるとする。ただし、クーポン情報テーブル135には、複数のサービス提供者により提供される電子クーポンに関する情報が格納されていてよい。
In the coupon information table 135 shown in FIG. 25, information on electronic coupons with coupon IDs “CID001” to “CID003” is shown. The coupon ID “CID001” indicates an electronic coupon having a limited number of provisions per user of “5”, the usable period (start date and time) is “2012/02/01 09: 0”, and the usable period (end) Date and time) is “2012/02/29 23:59”. The coupon ID “CID002” indicates an electronic coupon in which the provision limit number per user is not set. That is, the user can obtain an unlimited number of electronic coupons with coupon ID “CID002”. The electronic coupon with coupon ID “CID002” has an available period (start date / time) of “2012/02/01 09: 0” and an available period (end date / time) of “2012/02/29 23:59”. . Coupon ID “CID003” indicates an electronic coupon with a limited number of provisions per user of “10”, and no available period is set. An electronic coupon for which no available period is set is an electronic coupon that can be used at any time regardless of the time.
In the present embodiment, the electronic coupons with coupon IDs “CID001” to “CID003” are assumed to be electronic coupons provided by the same service provider. However, the coupon information table 135 may store information on electronic coupons provided by a plurality of service providers.
 図26は、ユーザ管理テーブル136の構成を示す図である。
 図26に示すように、ユーザ管理テーブル136は、「端末ID」と、「ユーザID」と、「有効期限」とで示される各情報を対応付けたデータテーブルである。「端末ID」は、端末装置20を識別する端末装置20固有の識別子であり、端末装置20のICチップに記憶されている端末IDに対応している。ユーザIDは、端末装置20のユーザを識別するユーザ固有の識別子である。ユーザ管理テーブル136において、1の端末IDにはユーザIDが1つだけ対応付けられている。本実施形態のユーザIDは、ASPサーバ10への会員登録によって、ASPサーバ10により端末装置20のユーザに割り当てられる識別子である。有効期限は、ユーザ管理テーブル136における端末IDとユーザIDとの対応付けが有効である期限である。詳しくは後述するが、有効期限が経過した後の端末IDとユーザIDとの対応付けは無効となる。無効となった対応付けについては、制御部11によりユーザIDが別のユーザIDに変更される場合がある。
 以上の構成のユーザ管理テーブル136は、例えば、ASPサーバ10が端末装置20に電子クーポンを提供する場合に、その提供の可否を判定するために参照される。
FIG. 26 is a diagram showing the configuration of the user management table 136.
As shown in FIG. 26, the user management table 136 is a data table in which pieces of information indicated by “terminal ID”, “user ID”, and “expiration date” are associated with each other. The “terminal ID” is an identifier unique to the terminal device 20 that identifies the terminal device 20, and corresponds to the terminal ID stored in the IC chip of the terminal device 20. The user ID is a user-specific identifier that identifies the user of the terminal device 20. In the user management table 136, only one user ID is associated with one terminal ID. The user ID of the present embodiment is an identifier assigned to the user of the terminal device 20 by the ASP server 10 by member registration with the ASP server 10. The expiration date is a date when the association between the terminal ID and the user ID in the user management table 136 is valid. Although details will be described later, the association between the terminal ID and the user ID after the expiration date has expired becomes invalid. For the invalid association, the control unit 11 may change the user ID to another user ID.
For example, when the ASP server 10 provides an electronic coupon to the terminal device 20, the user management table 136 having the above configuration is referred to in order to determine whether or not the provision is possible.
 図26に示すユーザ管理テーブル136では、端末ID「abcde00001」とユーザID「UID0001」とが対応付けられ、この対応付けの有効期限は「2012/02/29 23:59」である。このような対応付けがユーザ管理テーブル136に格納されているということは、端末ID「abcde00001」が示す端末装置20のユーザには、既にユーザID「UID0001」が割り当てられ、且つ、ASPサーバ10がこの端末装置20に電子クーポンを提供したことがあることを意味する。また、図26に示す例では、端末ID「abcde00002」とユーザID「UID0002」とが対応付けられ、この対応付けの有効期限は「2012/02/29 23:59」である。 26, the terminal ID “abcde00001” and the user ID “UID0001” are associated with each other, and the validity period of this association is “2012/02/29 23:59”. The fact that such association is stored in the user management table 136 means that the user ID “UID0001” has already been assigned to the user of the terminal device 20 indicated by the terminal ID “abcde00001”, and the ASP server 10 has This means that the terminal device 20 has been provided with an electronic coupon. In the example illustrated in FIG. 26, the terminal ID “abcde00002” and the user ID “UID0002” are associated with each other, and the validity period of the association is “2012/02/29 23:59”.
 図27は、保有状況管理テーブル137の構成を示す図である。
 図27に示すように、保有状況管理テーブル137は、「ユーザID」と、「クーポンID」と、「取得済み未利用枚数」と、「利用枚数」と、「残枚数」とで示される各情報を対応付けたデータテーブルである。「ユーザID」及び「クーポンID」は既に説明したとおりの情報である。「取得済み未利用枚数」は、端末装置20に提供されてICチップに書き込まれた電子クーポンのうち、未だ利用されていない電子クーポンの枚数である。言い換えれば、取得済み未利用枚数は、端末装置20が取得済みで利用可能な電子クーポンの枚数である。「利用枚数」は、端末装置20に提供されてICチップに書き込まれた電子クーポンのうち、既に利用された電子クーポンの枚数である。「残枚数」は、端末装置20に提供可能な電子クーポンの残りの枚数である。この残枚数は、1ユーザあたりの提供制限枚数から利用枚数を減じた枚数に一致する。1ユーザあたりの提供制限枚数が設定されていない電子クーポンの場合、「残枚数」のフィールドには「なし」という情報が格納される。
 以上の構成の保有状況管理テーブル137は、端末装置20のユーザ毎の電子クーポンの保有状況を格納したデータテーブルである。
FIG. 27 is a diagram showing the configuration of the possession status management table 137.
As shown in FIG. 27, the possession status management table 137 includes “user ID”, “coupon ID”, “acquired unused number”, “used number”, and “remaining number”. It is the data table which matched information. The “user ID” and “coupon ID” are information as already described. The “acquired unused number” is the number of electronic coupons not yet used among the electronic coupons provided to the terminal device 20 and written in the IC chip. In other words, the acquired unused number is the number of electronic coupons that have been acquired and can be used by the terminal device 20. “Used number” is the number of electronic coupons already used among the electronic coupons provided to the terminal device 20 and written in the IC chip. The “remaining number of sheets” is the remaining number of electronic coupons that can be provided to the terminal device 20. This remaining number is equal to the number obtained by subtracting the number of used sheets from the limited number of sheets provided per user. In the case of an electronic coupon for which the provision limit number per user is not set, information “none” is stored in the “remaining number” field.
The holding status management table 137 having the above configuration is a data table storing the holding status of the electronic coupon for each user of the terminal device 20.
 本実施形態に係る端末装置のハードウェア構成は、第1実施形態のそれと同じである。よって、端末装置のハードウェア構成についての説明は省略する。 The hardware configuration of the terminal device according to the present embodiment is the same as that of the first embodiment. Therefore, the description about the hardware configuration of the terminal device is omitted.
 なお、ICチップ25は、プロセッサやアンテナ、データの読み書きに用いられるメモリ領域251を有し、近接型の非接触通信を行うためのICチップである。ICチップ25のプロセッサは、アンテナにより受信した信号、又は制御部21からの指示に応じてメモリ領域251にアクセスしてデータの読み書きを行う。また、ICチップ25は、端末装置20の端末IDをメモリ領域251に記憶する。
 ところで、メモリ領域251は、複数のサービス提供者のうちのいずれか1のサービス提供者の電子クーポンが書き込まれる仕様となっている。言い換えれば、メモリ領域251は、複数のサービス提供者で共有されるメモリ領域である。よって、或るサービス提供者の電子クーポンがメモリ領域251に記憶されている場合、他のサービス提供者の電子クーポンは、上書きによる書込処理でメモリ領域251に記憶させられる。つまり、元々メモリ領域251に記憶されていた電子クーポンは書込処理によって削除させられる。この場合であっても、端末装置20は、上書きによる書込処理によってメモリ領域251の電子クーポンを削除したときには、ASPサーバ10に問い合わせることによって、いつでもその削除前の状態に戻して、取得済みの電子クーポンをメモリ領域251に書き込むことができる。具体的には、ASPサーバ10は、保有状況管理テーブル137において電子クーポンの保有状況を管理しているので、保有状況管理テーブル137に格納された情報に従って電子クーポンの書込処理を端末装置20に行わせる。一方で、同一のサービス提供者の複数の電子クーポンについては、同時にメモリ領域251に記憶されることがある。例えば、クーポンID「CID001」~「CID003」の電子クーポンが同時期にメモリ領域251に記憶されていることがある。
 なお、電子クーポンをメモリ領域251に書き込む書込処理によって、メモリ領域251に記憶された端末IDが消失することはない。
The IC chip 25 has a memory area 251 used for reading and writing data, such as a processor, an antenna, and data, and is an IC chip for performing proximity contactless communication. The processor of the IC chip 25 reads / writes data by accessing the memory area 251 in response to a signal received by the antenna or an instruction from the control unit 21. In addition, the IC chip 25 stores the terminal ID of the terminal device 20 in the memory area 251.
By the way, the memory area 251 has a specification in which an electronic coupon of any one of a plurality of service providers is written. In other words, the memory area 251 is a memory area shared by a plurality of service providers. Therefore, when the electronic coupon of a certain service provider is stored in the memory area 251, the electronic coupon of another service provider is stored in the memory area 251 by the writing process by overwriting. That is, the electronic coupon originally stored in the memory area 251 is deleted by the writing process. Even in this case, when the terminal device 20 deletes the electronic coupon in the memory area 251 by the writing process by overwriting, the terminal device 20 always returns to the state before the deletion by inquiring to the ASP server 10 and has already been acquired. An electronic coupon can be written into the memory area 251. Specifically, since the ASP server 10 manages the holding status of the electronic coupon in the holding status management table 137, the ASP server 10 performs the electronic coupon writing process on the terminal device 20 according to the information stored in the holding status management table 137. Let it be done. On the other hand, a plurality of electronic coupons of the same service provider may be stored in the memory area 251 at the same time. For example, electronic coupons with coupon IDs “CID001” to “CID003” may be stored in the memory area 251 at the same time.
Note that the terminal ID stored in the memory area 251 is not lost by the writing process of writing the electronic coupon in the memory area 251.
 次に、ASPサーバ10の制御部11の機能的構成を説明する。 Next, the functional configuration of the control unit 11 of the ASP server 10 will be described.
 図28は、ASPサーバ10の制御部11の電子クーポンの管理に関する機能の機能的構成を示す機能ブロック図である。図28に示すように、ASPサーバ10の制御部11は、プログラムを実行することにより、読出指示部117と、取得部118と、提供部119と、書込部120とに相当する機能を実現する。
 読出指示部117は、提供可能な数がユーザ毎に制限された電子クーポン(つまり、クーポン情報テーブル135で1ユーザあたりの提供制限枚数が設定された電子クーポン)を提供する場合には、端末装置20が有するICチップ25のメモリ領域251からの端末IDの読み出しを指示する。一方、読出指示部117は、提供可能な数がユーザ毎に制限されていない電子クーポン(つまり、クーポン情報テーブル135で1ユーザあたりの提供制限枚数が設定されていない電子クーポン)を提供する場合には、メモリ領域251からの端末IDの読み出しを指示しない。
FIG. 28 is a functional block diagram illustrating a functional configuration of functions related to management of electronic coupons in the control unit 11 of the ASP server 10. As shown in FIG. 28, the control unit 11 of the ASP server 10 realizes functions corresponding to the read instruction unit 117, the acquisition unit 118, the providing unit 119, and the writing unit 120 by executing a program. To do.
When the reading instruction unit 117 provides an electronic coupon in which the number that can be provided is limited for each user (that is, an electronic coupon in which the provision limit number per user is set in the coupon information table 135), the terminal device 20 is instructed to read the terminal ID from the memory area 251 of the IC chip 25 of the IC 20. On the other hand, the read instruction unit 117 provides an electronic coupon in which the number that can be provided is not limited for each user (that is, an electronic coupon in which the provision limit number per user is not set in the coupon information table 135). Does not instruct reading of the terminal ID from the memory area 251.
 取得部118は、電子クーポンを端末装置20に新たに提供する場合、端末装置20の端末IDと端末装置20のユーザのユーザIDとを取得する。取得部118は、読出指示部117により端末IDの読み出しが指示された場合には、その指示に従ってメモリ領域251から読み出された端末IDを取得する。 The acquisition unit 118 acquires the terminal ID of the terminal device 20 and the user ID of the user of the terminal device 20 when newly providing an electronic coupon to the terminal device 20. When the reading instruction unit 117 instructs the reading of the terminal ID, the acquiring unit 118 acquires the terminal ID read from the memory area 251 in accordance with the instruction.
 提供部119は、クーポン情報テーブル135、ユーザ管理テーブル136及び保有状況管理テーブル137を参照し、取得部118が取得した端末IDとユーザIDとに基づいて電子クーポンを新たに提供すると判定した場合には、1ユーザあたりの提供制限枚数の範囲内でこの端末IDが示す端末装置20に電子クーポンを提供するための処理を実行する。具体的には、提供部119は、ユーザ管理テーブル136において、取得部118が取得した端末IDに取得部118が取得したユーザIDと異なるユーザIDが対応付けられていない場合には、電子クーポンを提供すると判定する。また、提供部119は、ユーザ管理テーブル136において、取得部118が取得した端末IDに取得部118が取得したユーザIDと異なるユーザIDが対応付けられている場合に予め決められた条件を満たすときには、電子クーポンを提供すると判定する。ここでいう条件は、ユーザ管理テーブル136において設定された有効期限が経過し、端末IDとユーザIDとの対応付けが無効になっていることである。また、提供部119は、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供するための処理も実行する。
 なお、提供部119が実行する電子クーポンを提供するための処理は、端末装置20に電子クーポンの書込処理を実行させるための処理である。
The providing unit 119 refers to the coupon information table 135, the user management table 136, and the holding status management table 137, and determines that the electronic coupon is newly provided based on the terminal ID and the user ID acquired by the acquiring unit 118. Performs processing for providing an electronic coupon to the terminal device 20 indicated by the terminal ID within the range of the provision limit number per user. Specifically, the providing unit 119 displays an electronic coupon when the user ID different from the user ID acquired by the acquisition unit 118 is not associated with the terminal ID acquired by the acquisition unit 118 in the user management table 136. Determine to provide. Also, the providing unit 119 satisfies a predetermined condition when a user ID different from the user ID acquired by the acquiring unit 118 is associated with the terminal ID acquired by the acquiring unit 118 in the user management table 136. The electronic coupon is determined to be provided. The condition here is that the expiration date set in the user management table 136 has passed and the association between the terminal ID and the user ID is invalid. The providing unit 119 also executes processing for providing an electronic coupon for which the provision limit number per user is not set.
In addition, the process for providing the electronic coupon which the provision part 119 performs is a process for making the terminal device 20 perform the writing process of an electronic coupon.
 書込部120は、記憶部13に記憶されたユーザ管理テーブル136及び保有状況管理テーブル133にデータを書き込む処理を司る。書込部120は、例えば、提供部119により電子クーポンを提供するための処理が実行される場合、ユーザ管理テーブル136において、取得部118が取得した端末IDに取得部118が取得したユーザIDを対応付ける。また、書込部120は、提供部119により実行された電子クーポンを提供するための処理や店舗管理サーバ30から受信した電子クーポンの利用履歴に応じて、保有状況管理テーブル133を更新する。
 ASPサーバ10の機能的構成の説明は以上である。次に、通信システム1の動作を説明する。
The writing unit 120 manages a process of writing data to the user management table 136 and the holding status management table 133 stored in the storage unit 13. For example, when the providing unit 119 executes a process for providing an electronic coupon, the writing unit 120 includes the user ID acquired by the acquiring unit 118 in the terminal ID acquired by the acquiring unit 118 in the user management table 136. Associate. Further, the writing unit 120 updates the holding status management table 133 according to the processing for providing the electronic coupon executed by the providing unit 119 and the usage history of the electronic coupon received from the store management server 30.
This is the end of the description of the functional configuration of the ASP server 10. Next, the operation of the communication system 1 will be described.
 図29は、通信システム1の全体的な処理の流れを示すシーケンスチャートである。
 本実施形態において、端末装置20がASPサーバ10から電子クーポンを取得するためには、事前に、ASPサーバ10に対して会員登録を行う必要がある。具体的には、端末装置20は、webブラウザを実行して会員登録を行うための所定のwebページを表示させ、ユーザの操作に応じて、ユーザID発行要求と、ユーザIDを用いたユーザ認証に用いられるパスワードとを、ASPサーバ10宛てに送信する(ステップSb1)。ASPサーバ10は、端末装置20からユーザID発行要求及びパスワードを受信すると、その端末装置20のユーザに割り当てるユーザIDを1つだけ発行し、発行したユーザIDと受信したパスワードとを対応付けて会員情報として、この会員情報を記憶部13に記憶させておく(ステップSb2)。ASPサーバ10は、ステップSb2の処理で発行したユーザIDを端末装置20に通知する(ステップSb3)。ここにおいて端末装置20は、ASPサーバ10から通知されたユーザIDを、いわゆるクッキー(webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させる仕組み)を利用して、記憶部26に記憶させておく。ただし、端末装置20は第三者によるクッキーの情報の偽装によるなりすましの可能性を抑えるため、ユーザIDをそのまま記憶させるのではなく、そのハッシュ値(暗号値)を記憶させておいてもよい。また、本実施形態のASPサーバ10は、端末装置20のユーザに1つだけユーザIDを割り当てるべく、クッキーを利用して記憶部26にユーザIDが記憶されている場合には、会員登録を拒否する。
 以上が、端末装置20が事前に行う会員登録の説明である。次に、端末装置20がASPサーバ10から電子クーポンを取得しようとする場合の動作について説明する。
FIG. 29 is a sequence chart showing the overall processing flow of the communication system 1.
In the present embodiment, in order for the terminal device 20 to acquire an electronic coupon from the ASP server 10, it is necessary to perform member registration with respect to the ASP server 10 in advance. Specifically, the terminal device 20 displays a predetermined web page for executing membership registration by executing a web browser, and issues a user ID issuance request and user authentication using a user ID in accordance with a user operation. The password used in the process is transmitted to the ASP server 10 (step Sb1). When the ASP server 10 receives a user ID issuance request and password from the terminal device 20, the ASP server 10 issues only one user ID to be assigned to the user of the terminal device 20, and associates the issued user ID with the received password in association with the member. This member information is stored in the storage unit 13 as information (step Sb2). The ASP server 10 notifies the terminal device 20 of the user ID issued in the process of step Sb2 (step Sb3). Here, the terminal device 20 stores the user ID notified from the ASP server 10 in the storage unit 26 using a so-called cookie (a mechanism for temporarily writing and storing data in a visitor's computer through a web browser). Let me. However, the terminal device 20 may store the hash value (encrypted value) instead of storing the user ID as it is in order to suppress the possibility of spoofing by masquerade of cookie information by a third party. Further, the ASP server 10 according to the present embodiment rejects membership registration when a user ID is stored in the storage unit 26 using a cookie so as to assign only one user ID to the user of the terminal device 20. To do.
The above is the description of the member registration performed in advance by the terminal device 20. Next, an operation when the terminal device 20 tries to acquire an electronic coupon from the ASP server 10 will be described.
 端末装置20のユーザは、電子クーポンをダウンロードしようとするときには、端末装置20を操作してwebブラウザを実行させ、電子クーポンを取得するための所定のwebページを表示させる操作を行う。端末装置20は、このユーザの操作に応じて、ページアクセス要求をASPサーバ10宛てに送信する(ステップSb4)。ASPサーバ10は、ページアクセス要求を受信すると、ユーザ認証を行うべく、ユーザID及びパスワードの送信を端末装置20に要求する(ステップSb5)。端末装置20は、ASPサーバ10からユーザID及びパスワードの送信が要求されると、ユーザID及びパスワードの入力画面を表示して、ユーザにそれらの入力を促す。ここにおいて、ユーザは、ステップSb3の処理で通知されたユーザIDとパスワードとを入力する。ただし、端末装置20は、ユーザIDについては、クッキーを利用して記憶しておいたユーザIDを自動入力しておく。ただし、クッキーの情報が削除されていたり、クッキーの情報の送信拒否が端末装置20に予め設定されていたりした場合には、端末装置20のユーザはユーザIDを手動入力する。端末装置20は、ユーザID及びパスワードが入力されてユーザにより送信を指示する操作が行われると、ユーザID及びパスワードをASPサーバ10宛てに送信する(ステップSb6)。 When the user of the terminal device 20 intends to download an electronic coupon, the user operates the terminal device 20 to execute a web browser and performs an operation of displaying a predetermined web page for acquiring the electronic coupon. The terminal device 20 transmits a page access request to the ASP server 10 in response to the user operation (step Sb4). When receiving the page access request, the ASP server 10 requests the terminal device 20 to transmit a user ID and a password to perform user authentication (step Sb5). When the ASP server 10 requests the user ID and password to be transmitted, the terminal device 20 displays a user ID and password input screen and prompts the user to input them. Here, the user inputs the user ID and password notified in the process of step Sb3. However, the terminal device 20 automatically inputs the user ID stored using the cookie for the user ID. However, if the cookie information has been deleted or the cookie information transmission refusal has been preset in the terminal device 20, the user of the terminal device 20 manually inputs the user ID. The terminal device 20 transmits the user ID and password to the ASP server 10 when the user ID and password are input and an operation for instructing transmission is performed by the user (step Sb6).
 ASPサーバ10は、ステップSb6の処理で送信されたユーザID及びパスワードを受信すると、ユーザ認証を行う(ステップSb7)。ここにおいて、ASPサーバ10は、受信したユーザID及びパスワードと記憶部13に記憶された会員情報とを照合し、ユーザID及びパスワードがともに一致する会員情報があった場合には、ユーザ認証に成功したと判定する。一方、ASPサーバ10は、受信したユーザID及びパスワードがともに一致する会員情報がなかった場合には、ユーザ認証に失敗したと判定する。ASPサーバ10は、ユーザ認証に失敗したと判定した場合には、図29に示す残りの処理を実行せず、ユーザ認証に失敗した旨を端末装置20に通知する。
 なお、クッキーを利用して端末装置20の記憶部26にユーザIDが記憶されている場合、端末装置20はステップSb4の処理でページアクセス要求とともにユーザIDを送信してもよい。この場合、ASPサーバ10は、ページアクセス要求とともに受信したユーザIDに基づいて、ステップSb7の処理に相当するユーザ認証に成功したと判定してもよい。このような自動認証が行われた場合、前述のステップSb5及びSb6の処理が省略されることとなり、端末装置20のユーザにとってはユーザID及びパスワードの入力画面による入力操作の手間がなくなる。また、ASPサーバ10は、第三者によるクッキーの情報の偽装によるなりすましの可能性を抑えるため、ユーザIDを発行したときから又は前回のユーザ認証に成功したときから所定期間が経過するまでは、自動認証を行い、それ以降においては、ユーザID及びパスワードの入力画面による入力操作を端末装置20のユーザに行わせてもよい。
When the ASP server 10 receives the user ID and password transmitted in step Sb6, it performs user authentication (step Sb7). Here, the ASP server 10 collates the received user ID and password with the member information stored in the storage unit 13, and if there is member information whose user ID and password match, the user authentication is successful. It is determined that On the other hand, the ASP server 10 determines that user authentication has failed when there is no member information in which both the received user ID and password match. If the ASP server 10 determines that the user authentication has failed, the ASP server 10 notifies the terminal device 20 that the user authentication has failed without executing the remaining processes shown in FIG.
When the user ID is stored in the storage unit 26 of the terminal device 20 using a cookie, the terminal device 20 may transmit the user ID together with the page access request in the process of step Sb4. In this case, the ASP server 10 may determine that the user authentication corresponding to the process of step Sb7 has succeeded based on the user ID received together with the page access request. When such automatic authentication is performed, the processes of steps Sb5 and Sb6 described above are omitted, and the user of the terminal device 20 does not have to perform an input operation on the user ID and password input screen. Moreover, in order to suppress the possibility of impersonation by impersonation of the cookie information by a third party, the ASP server 10 is from when the user ID is issued or until the predetermined period elapses from when the previous user authentication was successful. Automatic authentication may be performed, and thereafter, the user of the terminal device 20 may perform an input operation using the user ID and password input screen.
 ステップSb7の処理でユーザ認証に成功した場合、ASPサーバ10は、ユーザ認証に成功した旨を端末装置20に通知する(ステップSb8)。そして、端末装置20は所定のwebページ(図30に示すクーポン取得画面)をブラウザ上で表示させて、ユーザの操作に応じて、クーポン取得要求をASPサーバ10宛てに送信する(ステップSb9)。 If the user authentication is successful in the process of step Sb7, the ASP server 10 notifies the terminal device 20 that the user authentication is successful (step Sb8). Then, the terminal device 20 displays a predetermined web page (a coupon acquisition screen shown in FIG. 30) on the browser, and transmits a coupon acquisition request to the ASP server 10 in response to a user operation (step Sb9).
 図30は、クーポン取得画面を説明する図である。
 ユーザはUI部24を見ながら操作して、取得しようとする電子クーポンの種類と取得枚数とをプルダウンメニューPb1,Pb2及びPb3を用いて選択し、その選択後、「クーポンを取得」と付されたソフトボタンBbを選択する。例えば、ユーザはクーポン名「からあげ半額」という電子クーポンを取得しようとする場合、プルダウンメニューPb1を操作して、取得枚数を「1」以上に設定する。ユーザは他の電子クーポンを取得しようとする場合にも同様に操作すればよい。
 なお、図30に示すクーポン取得画面のクーポン名は、クーポン情報テーブル135に格納されたクーポン名に対応する。また、クーポン取得画面において設定可能な電子クーポンの取得枚数の上限は、保有状況管理テーブル133に格納されている同電子クーポンの残枚数以下となる。
FIG. 30 is a diagram illustrating a coupon acquisition screen.
The user operates while looking at the UI unit 24 to select the type and number of electronic coupons to be acquired using the pull-down menus Pb1, Pb2, and Pb3. Select the soft button Bb. For example, when the user intends to acquire an electronic coupon with the coupon name “raise half price”, the user operates the pull-down menu Pb1 and sets the acquired number to “1” or more. The user may perform the same operation when trying to acquire another electronic coupon.
Note that the coupon name on the coupon acquisition screen shown in FIG. 30 corresponds to the coupon name stored in the coupon information table 135. In addition, the upper limit of the number of electronic coupons that can be set on the coupon acquisition screen is equal to or less than the remaining number of electronic coupons stored in the holding status management table 133.
 端末装置20は、図30に示すクーポン取得画面のソフトボタンBbが選択されると、取得しようとする電子クーポンとその取得枚数とを特定可能な情報(例えば、クーポンIDと取得枚数とのデータセット)を含むクーポン取得要求を、ASPサーバ10宛てに送信する。
 ASPサーバ10は、端末装置20からクーポン取得要求を受信すると、端末ID要否判定処理を実行する(ステップSb10)。
When the soft button Bb on the coupon acquisition screen shown in FIG. 30 is selected, the terminal device 20 is able to specify the electronic coupon to be acquired and the number of acquisitions thereof (for example, a data set of coupon ID and acquisition number of copies). The coupon acquisition request including) is transmitted to the ASP server 10.
When receiving a coupon acquisition request from the terminal device 20, the ASP server 10 executes a terminal ID necessity determination process (step Sb10).
 図31は、端末ID要否判定処理の手順を示すフローチャートである。
 まず、ASPサーバ10は、1ユーザあたりの提供制限枚数が設定された電子クーポンの取得要求を受信したか否かを判定する(ステップSb101)。ASPサーバ10は、1ユーザあたりの提供制限枚数が設定された電子クーポンを含むクーポン取得要求を受信した場合(ステップSb101;YES)、端末ID通知処理を実行すると判定する(ステップSb102)。例えば、ASPサーバ10は、クーポンID「CID001」や「CID003」の電子クーポンを含むクーポン取得要求を受信した場合には、端末ID通知処理を実行すると判定する。
FIG. 31 is a flowchart illustrating a procedure of terminal ID necessity determination processing.
First, the ASP server 10 determines whether an acquisition request for an electronic coupon in which the provision limit number per user is set is received (step Sb101). When the ASP server 10 receives a coupon acquisition request including an electronic coupon in which the provision limit number per user is set (step Sb101; YES), the ASP server 10 determines to execute the terminal ID notification process (step Sb102). For example, when the ASP server 10 receives a coupon acquisition request including an electronic coupon with the coupon ID “CID001” or “CID003”, the ASP server 10 determines to execute the terminal ID notification process.
 一方、ASPサーバ10は、1ユーザあたりの提供制限枚数が設定されている電子クーポンを含まないクーポン取得要求を受信した場合(ステップSb101;NO)、端末ID通知処理を実行しないと判定する(ステップSb103)。例えば、ASPサーバ10は、クーポンID「CID002」の電子クーポンのみの取得要求を受信した場合には、端末ID通知処理を実行すると判定する。
 以上のように、ASPサーバ10は、クーポン情報テーブル135において1ユーザあたりの提供制限枚数が設定されているか否かに応じて、端末装置20の端末IDの要否を判定する。
On the other hand, if the ASP server 10 receives a coupon acquisition request that does not include an electronic coupon in which the provision limit number per user is set (step Sb101; NO), the ASP server 10 determines not to execute the terminal ID notification process (step Sb101). Sb103). For example, when the ASP server 10 receives an acquisition request for only the electronic coupon with the coupon ID “CID002”, the ASP server 10 determines to execute the terminal ID notification process.
As described above, the ASP server 10 determines whether or not the terminal ID of the terminal device 20 is necessary depending on whether or not the provision limit number per user is set in the coupon information table 135.
 ASPサーバ10は、端末ID要否判定処理を終了すると(図29のステップSb10)、端末ID通知処理を実行すると判定していた場合には、端末ID通知処理を実行する(ステップSb11)。すなわち、ASPサーバ10は、電子クーポンに1ユーザあたりの提供制限枚数が設定されている場合には、端末ID通知処理を実行する。一方、ASPサーバ10は、電子クーポンに対して1ユーザあたりの提供制限枚数が設定されておらず、端末ID通知処理を実行しないと判定していた場合には、ステップSb11の処理をスキップし、端末ID通知処理を実行しない。 When the ASP server 10 ends the terminal ID necessity determination process (step Sb10 in FIG. 29), if it is determined to execute the terminal ID notification process, the ASP server 10 executes the terminal ID notification process (step Sb11). That is, the ASP server 10 executes a terminal ID notification process when the provision limit number per user is set in the electronic coupon. On the other hand, the ASP server 10 skips the process of step Sb11 when the provision limit number per user for the electronic coupon is not set and it is determined that the terminal ID notification process is not executed. The terminal ID notification process is not executed.
 図32は、端末ID通知処理の手順を示すフローチャートである。
 まず、ASPサーバ10は、アプリケーション管理サーバ50に対して、端末IDの通知に関する処理依頼を行って、問合せIDの生成を要求する(ステップSb111)。アプリケーション管理サーバ50は、ステップSb111の処理で送信された処理依頼に応じて問合せIDを生成し、生成した問合せIDをASPサーバ10宛てに送信する(ステップSb112)。問い合せIDは、処理依頼を識別する識別子である。
FIG. 32 is a flowchart illustrating a procedure of terminal ID notification processing.
First, the ASP server 10 requests the application management server 50 to process a terminal ID notification and requests the generation of an inquiry ID (step Sb111). The application management server 50 generates a query ID in response to the processing request transmitted in the process of step Sb111, and transmits the generated query ID to the ASP server 10 (step Sb112). The inquiry ID is an identifier for identifying a processing request.
 ASPサーバ10は、アプリケーション管理サーバ50から問合せIDを受信すると、クーポン管理アプリケーション261の実行指示を端末装置20宛てに送信する(ステップSb113)。ここにおいて、ASPサーバ10は、アプリケーション管理サーバ50から受信した問合せIDを含む実行指示を送信する。
 端末装置20は、ASPサーバ10から実行指示を受信すると、記憶部26に記憶されたクーポン管理アプリケーション261を読み出して実行する。そして、端末装置20は、クーポン管理アプリケーション261に従って、ASPサーバ10から受信した実行指示に含まれていた問合せIDを、アプリケーション管理サーバ50宛てに送信する(ステップSb114)。アプリケーション管理サーバ50は、端末装置20から受信した問合せIDに対応する処理依頼に従って、問合せIDの送信元である端末装置20宛てに端末IDの読取指示を送信する(ステップSb115)。
Upon receiving the inquiry ID from the application management server 50, the ASP server 10 transmits an instruction to execute the coupon management application 261 to the terminal device 20 (step Sb113). Here, the ASP server 10 transmits an execution instruction including the inquiry ID received from the application management server 50.
When receiving an execution instruction from the ASP server 10, the terminal device 20 reads and executes the coupon management application 261 stored in the storage unit 26. Then, according to the coupon management application 261, the terminal device 20 transmits the inquiry ID included in the execution instruction received from the ASP server 10 to the application management server 50 (step Sb114). In accordance with the processing request corresponding to the inquiry ID received from the terminal device 20, the application management server 50 transmits a terminal ID reading instruction to the terminal device 20 that is the transmission source of the inquiry ID (step Sb115).
 端末装置20は、アプリケーション管理サーバ50から受信した読取指示に従ってICチップ25に読取処理を行わせる(ステップSb116)。ステップSb116の処理では、制御部21はアプリケーション管理サーバ50からの読取指示に従って、ICチップ25のプロセッサに端末IDの読み出しを指示する。この指示に従って、ICチップ25のプロセッサは、メモリ領域251にアクセスして端末IDを読み出し、読み出した端末IDを制御部21に供給する。
 端末装置20は、ICチップ25から制御部21に供給された端末IDをアプリケーション管理サーバ50宛てに送信する(ステップSb117)。次に、端末装置20は、端末IDの読取処理が終了した旨を示す終了通知を、ASPサーバ10宛てに送信する(ステップSb118)。
 なお、端末装置20は、ステップSb113の処理に応じてクーポン管理アプリケーション261を実行してから、ステップSb117の処理までをクーポン管理アプリケーション261に従って実行する。
The terminal device 20 causes the IC chip 25 to perform a reading process in accordance with the reading instruction received from the application management server 50 (step Sb116). In the process of step Sb116, the control unit 21 instructs the processor of the IC chip 25 to read the terminal ID in accordance with the reading instruction from the application management server 50. In accordance with this instruction, the processor of the IC chip 25 accesses the memory area 251 to read the terminal ID, and supplies the read terminal ID to the control unit 21.
The terminal device 20 transmits the terminal ID supplied from the IC chip 25 to the control unit 21 to the application management server 50 (step Sb117). Next, the terminal device 20 transmits an end notification indicating that the terminal ID reading process has ended to the ASP server 10 (step Sb118).
Note that the terminal device 20 executes the coupon management application 261 in accordance with the process of step Sb113 to the process of step Sb117 according to the coupon management application 261.
 ASPサーバ10は、端末装置20から送信された終了通知を受信すると、アプリケーション管理サーバ50に問合せIDを送信して、終了通知の送信元の端末装置20の端末IDを問い合わせる(ステップSb119)。アプリケーション管理サーバ50は、ASPサーバ10からの問い合わせに応じて、ASPサーバ10宛てに端末IDを送信する(ステップSb120)。ASPサーバ10は、ステップSb120の処理でアプリケーション管理サーバ50から送信された端末IDを取得する。
 なお、ステップSb120の処理において、アプリケーション管理サーバ50は端末IDをそのまま送信するのではなく、端末IDを一意に特定可能な別の情報に変換して送信してもよい。この構成によれば、例えば通信システム1に複数のASPサーバが含まれる場合にASPサーバ毎に端末IDの変換規則を異ならせておけば、第1のASPサーバがユーザAの端末IDを把握したとしても、それは第2のASPサーバにとってのユーザBの端末IDとは一致しない。これにより、例えば、第1のASPサーバ及び第2のASPサーバが共通のアプリケーション管理サーバ50と通信して端末IDを取得する構成であっても、第1のASPサーバが第2のASPサーバが提供するサービスに対して端末IDを偽装するといった不正の発生を防止することが可能となる。
When the ASP server 10 receives the end notification transmitted from the terminal device 20, the ASP server 10 transmits an inquiry ID to the application management server 50 to inquire about the terminal ID of the terminal device 20 that is the transmission source of the end notification (step Sb119). In response to the inquiry from the ASP server 10, the application management server 50 transmits a terminal ID to the ASP server 10 (step Sb120). The ASP server 10 acquires the terminal ID transmitted from the application management server 50 in the process of step Sb120.
In the process of step Sb120, the application management server 50 may not transmit the terminal ID as it is, but may convert the terminal ID into another information that can be uniquely specified and transmit it. According to this configuration, for example, when the communication system 1 includes a plurality of ASP servers, if the conversion rule of the terminal ID is different for each ASP server, the first ASP server grasps the terminal ID of the user A. Even so, it does not match the terminal ID of user B for the second ASP server. Thereby, for example, even if the first ASP server and the second ASP server communicate with the common application management server 50 to acquire the terminal ID, the first ASP server is the second ASP server. It is possible to prevent the occurrence of fraud such as impersonating the terminal ID for the service to be provided.
 以上のように、ASPサーバ10は、端末IDを端末装置20から取得する場合には、端末装置20にクーポン管理アプリケーション261を実行させるとともに、アプリケーション管理サーバ50経由で端末IDのメモリ領域251からの読み出しを指示する。ASPサーバ10と端末装置20との間の情報のやり取りをアプリケーション管理サーバ50が仲介するようにしている理由は、端末IDの改ざんなど不正に情報が書き換えられるのを防ぎ、端末IDを用いた情報管理のセキュリティ上の問題の発生を防止するためである。 As described above, when the ASP server 10 acquires the terminal ID from the terminal device 20, the ASP server 10 causes the terminal device 20 to execute the coupon management application 261 and from the memory area 251 of the terminal ID via the application management server 50. Instruct reading. The reason why the application management server 50 mediates the exchange of information between the ASP server 10 and the terminal device 20 is to prevent information from being rewritten illegally such as falsification of the terminal ID, and information using the terminal ID. This is to prevent the occurrence of management security problems.
 ASPサーバ10は、ステップSb11の処理の端末ID通知処理を終了すると、クーポン提供判定処理を実行する(ステップSb12)。クーポン提供判定処理は、端末装置20に電子クーポンを提供するか否かを判定する処理である。ただし、本実施形態では、ASPサーバ10は、1ユーザあたりの提供制限枚数が設定された電子クーポンを提供する場合には、クーポン提供判定処理を実行するが、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供する場合には、クーポン提供判定処理を実行しない。 When the ASP server 10 finishes the terminal ID notification process of step Sb11, the ASP server 10 executes a coupon provision determination process (step Sb12). The coupon provision determination process is a process of determining whether to provide an electronic coupon to the terminal device 20. However, in this embodiment, the ASP server 10 executes the coupon provision determination process when providing the electronic coupon in which the provision limit number per user is set, but the provision limit number per user is set. When providing an electronic coupon that has not been made, the coupon provision determination process is not executed.
 図33は、クーポン提供判定処理の手順を示すフローチャートである。
 まず、ASPサーバ10は、ユーザ管理テーブル136において、ステップSb11の端末ID通知処理で取得した端末IDに何らかのユーザIDが対応付けられているか否かを判定する(ステップSb121)。ASPサーバ10は、端末ID通知処理によって取得した端末IDに、いずれのユーザIDも対応付けられていない(例えば、端末IDがユーザ管理テーブル136に格納されていない)と判定した場合には(ステップSb121;NO)、ステップSb122の処理に進む。そして、ASPサーバ10は、端末ID通知処理で取得した端末IDに、ステップSb7のユーザ認証で用いたユーザIDを対応付けるよう、ユーザ管理テーブル136に端末IDとユーザIDとを書き込む(ステップSb122)。例えば、ユーザが会員登録を行ってから初めて電子クーポンをダウンロードしようとした場合には、端末ID通知処理で取得した端末IDとユーザ認証で用いたユーザIDとの対応付けはユーザ管理テーブル136に格納されていない。
FIG. 33 is a flowchart showing the procedure of the coupon provision determination process.
First, the ASP server 10 determines whether or not any user ID is associated with the terminal ID acquired in the terminal ID notification process in step Sb11 in the user management table 136 (step Sb121). When the ASP server 10 determines that no user ID is associated with the terminal ID acquired by the terminal ID notification process (for example, the terminal ID is not stored in the user management table 136) (step S1). Sb121; NO), the process proceeds to step Sb122. Then, the ASP server 10 writes the terminal ID and the user ID in the user management table 136 so that the user ID used in the user authentication in step Sb7 is associated with the terminal ID acquired in the terminal ID notification process (step Sb122). For example, when the user tries to download an electronic coupon for the first time after registering as a member, the association between the terminal ID acquired in the terminal ID notification process and the user ID used in the user authentication is stored in the user management table 136. It has not been.
 次に、ASPサーバ10は、保有状況管理テーブル137に基づいて、端末装置20に電子クーポンを提供可能か否かを判定する(ステップSb123)。ここでは、ASPサーバ10は、1ユーザあたりの提供制限枚数を超えない範囲内で電子クーポンを提供できるか否かを判定する。例えば、ASPサーバ10は、クーポン取得要求で指定された電子クーポンの取得枚数がその電子クーポンの残枚数以下である場合には、電子クーポンを提供可能と判定することとなる。 Next, the ASP server 10 determines whether an electronic coupon can be provided to the terminal device 20 based on the possession status management table 137 (step Sb123). Here, the ASP server 10 determines whether or not an electronic coupon can be provided within a range not exceeding the provision limit number per user. For example, the ASP server 10 determines that an electronic coupon can be provided when the number of acquired electronic coupons specified in the coupon acquisition request is equal to or less than the remaining number of electronic coupons.
 ASPサーバ10は、電子クーポンを提供可能と判定した場合には(ステップSb123;YES)、ステップSb122の処理でユーザ管理テーブル136に書き込んだ端末IDとユーザIDとの対応付けの有効期限を設定する(ステップSb124)。ここでは、ASPサーバ10は、クーポン情報テーブル135を参照し、提供しようとする電子クーポンに利用可能期間が設定されている場合には、利用可能期間の終了日時を有効期限として設定する。また、ASPサーバ10は、電子クーポンの利用可能期間が設定されていない場合には、現在日時から予め決められた期間後(ここでは、30日後)を有効期限として設定する。また、ASPサーバ10は、同一サービス提供者の複数種類の電子クーポンを端末装置20に提供する場合に、各電子クーポンに利用可能期間が設定されているときには、終了時期が最も後である電子クーポンの利用可能期間の終了時期を有効期限として設定するとよい。また、ASPサーバ10は、同一サービス提供者の複数種類の電子クーポンを端末装置20に提供する場合に、利用可能期間が設定されている電子クーポンと設定されていない電子クーポンが混在するときには、有効期限が最も後となる電子クーポンに基づいて有効期限を設定するとよい。
 ASPサーバ10は、端末IDとユーザIDとの対応付けの有効期限を設定すると、クーポン提供判定処理を終了する。なお、ASPサーバ10は、ステップSb123の処理で電子クーポンを提供可能でないと判定した場合には(ステップSb123;NO)、エラー通知を行って(ステップSb127)、クーポン提供判定処理を終了する。
If the ASP server 10 determines that an electronic coupon can be provided (step Sb123; YES), the ASP server 10 sets an expiration date for association between the terminal ID and the user ID written in the user management table 136 in the process of step Sb122. (Step Sb124). Here, the ASP server 10 refers to the coupon information table 135 and sets the end date / time of the available period as the expiration date when the available period is set for the electronic coupon to be provided. In addition, when the usable period of the electronic coupon is not set, the ASP server 10 sets the expiration date after a predetermined period (here, 30 days) from the current date and time. In addition, when the ASP server 10 provides a plurality of types of electronic coupons of the same service provider to the terminal device 20, when an available period is set for each electronic coupon, the electronic coupon whose end time is the latest It is recommended to set the end time of the available period as the expiration date. Further, the ASP server 10 is effective when a plurality of types of electronic coupons of the same service provider are provided to the terminal device 20 when an electronic coupon for which a usable period is set and an electronic coupon for which the usage period is not set are mixed. The expiration date may be set based on the electronic coupon with the latest expiration date.
When the ASP server 10 sets an expiration date for association between the terminal ID and the user ID, the coupon provision determination process ends. In addition, when it determines with the ASP server 10 not being able to provide an electronic coupon by the process of step Sb123 (step Sb123; NO), it notifies an error (step Sb127), and complete | finishes a coupon provision determination process.
 ところで、ASPサーバ10が、ステップSb11の端末ID通知処理で端末ID「abcde00001」を取得していたとする。この場合、ユーザ管理テーブル136において、端末ID「abcde00001」がユーザID「UID0001」に対応付けられているから(図26参照)、ASPサーバ10はステップSb121の処理で「YES」と判定する。
 ステップSb121の処理で「YES」と判定した場合、ASPサーバ10は、ユーザ管理テーブル136において、端末ID通知処理で取得した端末IDを含む対応付けの有効期限前か否かを判定する(ステップSb125)。ここで、現在日時が「2012/2/16/12:00」である場合、ASPサーバ10は有効期限前であると判定し(ステップSb125;YES)、ステップSb126の処理に進む。次に、ASPサーバ10は、ユーザ管理テーブル136において端末ID通知処理で取得した端末IDに対応付けられたユーザIDと、ステップSb7のユーザ認証に用いたユーザIDとが一致するか否かを判定する(ステップSb126)。ASPサーバ10は両ユーザIDが一致しないと判定した場合(ステップSb126;NO)、エラー通知を行って(ステップSb127)、クーポン提供判定処理を終了する。
By the way, it is assumed that the ASP server 10 has acquired the terminal ID “abcde00001” in the terminal ID notification process in step Sb11. In this case, since the terminal ID “abcde00001” is associated with the user ID “UID0001” in the user management table 136 (see FIG. 26), the ASP server 10 determines “YES” in the process of step Sb121.
If it is determined “YES” in the process of step Sb121, the ASP server 10 determines whether or not the expiration date of the association including the terminal ID acquired in the terminal ID notification process is in the user management table 136 (step Sb125). ). Here, if the current date and time is “2012/2/16/12: 00”, the ASP server 10 determines that it is before the expiration date (step Sb125; YES), and proceeds to the process of step Sb126. Next, the ASP server 10 determines whether or not the user ID associated with the terminal ID acquired in the terminal ID notification process in the user management table 136 matches the user ID used for user authentication in step Sb7. (Step Sb126). If the ASP server 10 determines that the two user IDs do not match (step Sb126; NO), the ASP server 10 issues an error notification (step Sb127) and ends the coupon provision determination process.
 ユーザ管理テーブル136において端末ID通知処理で取得した端末IDに対応付けられたユーザIDと、ユーザ認証に用いたユーザIDとが一致しないということは、1の端末装置20のユーザに複数のユーザIDが割り当てられていることを意味する。よってこの場合に、ASPサーバ10が端末装置20に電子クーポンを提供してしまうと、各ユーザIDを用いて電子クーポンが端末装置20に取得されてしまい、その取得枚数が1ユーザあたりの提供制限枚数を超える可能性が生じる。そこで、ASPサーバ10は、ユーザ管理テーブル136において、端末ID通知処理で取得した端末IDにユーザ認証に用いたユーザIDと異なるユーザIDが対応付けられている場合には、エラー通知を行うことによって、1ユーザあたりの提供制限枚数を超えて電子クーポンを提供しないようにする。これにより、1の端末装置20により、1のユーザあたりの提供制限枚数を超えて電子クーポンが利用されることを防止できる。
 なお、1の端末装置20のユーザに複数のユーザIDが割り当てられる場合として、例えば、会員登録の記憶部26に記憶されたクッキーの情報が削除された場合がある。以上のASPサーバ10の動作によれば、ユーザがクッキーの情報を削除し別のユーザになりすまして複数回会員登録を行った場合であっても、1ユーザあたりの提供制限枚数を超えて電子クーポンが不正に取得され利用されるのを防止することができる。
The fact that the user ID associated with the terminal ID acquired in the terminal ID notification process in the user management table 136 does not match the user ID used for user authentication indicates that the user of one terminal device 20 has a plurality of user IDs. Means that is assigned. Therefore, in this case, if the ASP server 10 provides an electronic coupon to the terminal device 20, the electronic coupon is acquired by the terminal device 20 using each user ID, and the number of acquisitions is limited per user. The possibility of exceeding the number of sheets arises. Therefore, in the user management table 136, the ASP server 10 performs error notification when a user ID different from the user ID used for user authentication is associated with the terminal ID acquired in the terminal ID notification process. The electronic coupon is not provided exceeding the provision limit number per user. Thereby, it is possible to prevent the electronic coupons from being used by one terminal device 20 exceeding the provision limit number per user.
In addition, as a case where a plurality of user IDs are assigned to a user of one terminal device 20, for example, information on cookies stored in the member registration storage unit 26 may be deleted. According to the above-described operation of the ASP server 10, even when the user deletes the cookie information and impersonates another user and performs membership registration a plurality of times, the electronic coupon exceeds the provision limit number per user. Can be prevented from being illegally acquired and used.
 ステップSb126の処理で、ASPサーバ10が、ユーザ管理テーブル136において、端末ID通知処理で取得した端末IDに対応付けられたユーザIDとステップSb7のユーザ認証に用いたユーザIDとが一致すると判定した場合(ステップSb126;YES)、ASPサーバ10はステップSb123の処理に進む。この場合、ASPサーバ10が、前回の電子クーポン提供時と同じ端末IDとユーザIDとの組み合わせを取得したことになるから、ユーザにより電子クーポンが不正取得されようとしているわけではないと推測することができる。そこで、ASPサーバ10は既に説明した手順でステップSb123及びSb124の処理を実行し、1ユーザあたりの提供制限枚数の範囲内で電子クーポンを提供可能とすると判定することとなる。 In the process of step Sb126, the ASP server 10 determines in the user management table 136 that the user ID associated with the terminal ID acquired in the terminal ID notification process matches the user ID used for user authentication in step Sb7. In the case (step Sb126; YES), the ASP server 10 proceeds to the process of step Sb123. In this case, since the ASP server 10 has acquired the same combination of the terminal ID and the user ID as when the previous electronic coupon was provided, it is assumed that the electronic coupon is not illegally acquired by the user. Can do. Therefore, the ASP server 10 performs the processing of steps Sb123 and Sb124 in the procedure already described, and determines that the electronic coupon can be provided within the range of the provision limit number per user.
 また、ステップSb121の処理で「YES」と判定した後、ASPサーバ10がステップSb125の処理で対応付けが有効期限前でない、つまり有効期限を経過したと判定した場合(ステップSb125;NO)、ステップSb122の処理に進む。この場合、ASPサーバ10は、ユーザ管理テーブル136における端末ID通知処理で取得した端末IDを含む対応付けが無効であるから、この端末IDにユーザ認証に用いたユーザIDを対応付ける。
 例えば、ASPサーバ10が1ユーザあたりの提供制限枚数が設定されたクーポンID「CID001」の電子クーポンを提供しようとする場合において、現在日時が有効期限「2012/02/29 23:59」よりも後である場合を考える。ここで、ステップSb11の処理で取得した端末IDが「abcde00001」で、且つ、ユーザ認証に用いたユーザIDがユーザID「UID0003」であるときには、ASPサーバ10は図34に示すようにユーザ管理テーブル136を更新する。具体的には、ASPサーバ10は、ステップSb122の処理で、端末ID「abcde00001」に対応付けられたユーザIDを「UID0001」から「UID0003」に変更する。そして、ASPサーバ10はステップSb123の処理で「YES」と判定すると、ステップSb124の処理で有効期限を利用可能期間の終了日時に設定する。(ここでは、有効期限「2012/02/29 23:59」のままである。)
Further, after determining “YES” in the process of step Sb121, if the ASP server 10 determines in the process of step Sb125 that the association is not before the expiration date, that is, the expiration date has passed (step Sb125; NO), step The process proceeds to Sb122. In this case, since the association including the terminal ID acquired in the terminal ID notification process in the user management table 136 is invalid, the ASP server 10 associates the user ID used for user authentication with this terminal ID.
For example, when the ASP server 10 is to provide an electronic coupon with a coupon ID “CID001” in which the provision limit number per user is set, the current date and time is more than the expiration date “2012/02/29 23:59”. Consider the case later. Here, when the terminal ID acquired in the process of step Sb11 is “abcde00001” and the user ID used for user authentication is the user ID “UID0003”, the ASP server 10 uses the user management table as shown in FIG. 136 is updated. Specifically, the ASP server 10 changes the user ID associated with the terminal ID “abcde00001” from “UID0001” to “UID0003” in the process of step Sb122. If the ASP server 10 determines “YES” in the process of step Sb123, the ASP server 10 sets the expiration date to the end date and time of the available period in the process of step Sb124. (Here, the expiration date remains “2012/02/29 23:59”.)
 また、ASPサーバ10が、利用可能期間が設定されていないクーポンID「CID003」の電子クーポンを提供しようとする場合において、現在日時が有効期限「2012/02/29 23:59」よりも後であり、且つ、端末IDが「abcde00001」でユーザ認証に用いたユーザIDがユーザID「UID0003」であるときには、ASPサーバ10は図35に示すようにユーザ管理テーブル136を更新する。具体的には、ASPサーバ10は、端末ID「abcde00001」に対応付けられたユーザIDを「UID0001」から「UID0003」に変更する。そして、ASPサーバ10はステップSb123の処理で「YES」と判定すると、ステップSb124の処理で有効期限を現在日時から予め決められた期間後(例えば、30日後)に設定する。(ここでは、有効期限「2012/04/03 19:04」とする。)
 以上のように、ASPサーバ10は、端末ID通知処理で取得した端末IDを含む対応付けの有効期限が経過した後である場合には、この対応付けに含まれるユーザIDの変更を許可しているが、その理由は以下のとおりである。
In addition, when the ASP server 10 intends to provide an electronic coupon with a coupon ID “CID003” for which no usable period is set, the current date and time is later than the expiration date “2012/02/29 23:59”. If the terminal ID is “abcde00001” and the user ID used for user authentication is the user ID “UID0003”, the ASP server 10 updates the user management table 136 as shown in FIG. Specifically, the ASP server 10 changes the user ID associated with the terminal ID “abcde00001” from “UID0001” to “UID0003”. If the ASP server 10 determines “YES” in the process of step Sb123, the ASP server 10 sets the expiration date after a predetermined period (for example, 30 days) from the current date and time in the process of step Sb124. (Here, the expiration date is “2012/04/03 19:04”.)
As described above, the ASP server 10 permits the change of the user ID included in the association when the expiration date of the association including the terminal ID acquired in the terminal ID notification process has elapsed. The reasons are as follows.
 或るユーザが所有していた端末装置20が別のユーザに譲渡された場合において、それら両ユーザが会員登録を行ったときには、端末装置20のユーザが電子クーポンを不正取得しようとするユーザではなくても、結果として、複数のユーザIDが1の端末装置20のユーザに割り当てられることになる。また、端末装置20の機種変更を行ったユーザが既に割り当てられたユーザを記録していなかった場合や、端末装置20のユーザがユーザIDやパスワードを忘れてしまった場合に、やむを得ず複数回会員登録を行ったときにも、複数のユーザIDが1の端末装置20のユーザに割り当てられることになる。このような場合にも、ASPサーバ10が、ユーザ管理テーブル136における端末IDとユーザIDとの対応付けと、端末装置20から取得した端末IDとユーザIDの組み合わせとが異なるという理由で、永続的に電子クーポンの提供を不許可としてしまうと、不正取得を目的としないユーザの電子クーポンの取得及び利用が妨げられてしまう。そこで、本実施形態のASPサーバ10は、ユーザ管理テーブル136における端末IDとユーザIDとの対応付けに有効期限を設定しておき、その有効期限が経過した後においては、ユーザ管理テーブル136の対応付けの変更を許可する。 When a terminal device 20 owned by a certain user is transferred to another user, when both of these users register as members, the user of the terminal device 20 is not a user who intends to obtain an electronic coupon illegally. However, as a result, a plurality of user IDs are assigned to the user of one terminal device 20. In addition, when the user who has changed the model of the terminal device 20 has not recorded the assigned user, or when the user of the terminal device 20 forgets the user ID or password, it is unavoidable to register as a member multiple times. Even when the user ID is performed, a plurality of user IDs are assigned to the user of the terminal device 20 having one. Even in such a case, the ASP server 10 is persistent because the association between the terminal ID and the user ID in the user management table 136 is different from the combination of the terminal ID and the user ID acquired from the terminal device 20. If the provision of an electronic coupon is not permitted, the acquisition and use of an electronic coupon by a user who is not intended for unauthorized acquisition is hindered. Therefore, the ASP server 10 of this embodiment sets an expiration date for the association between the terminal ID and the user ID in the user management table 136, and after the expiration date has passed, the correspondence of the user management table 136 is set. Permits change of attachment.
 前述したように、電子クーポンに利用可能期間が設定されている場合、ASPサーバ10は利用可能期間の終了日時を対応付けの有効期限としている。これにより、ASPサーバ10は、或る電子クーポンの利用可能期間後においては、ユーザ管理テーブル136における端末IDとユーザIDとの対応付けを無効にするから、それ以降においては、この対応付けに一致しない端末IDとユーザIDとを取得した場合であっても、電子クーポンを提供可能とする。この場合において仮に悪意のあるユーザが複数のユーザIDを用いてその電子クーポンを不正取得しようとした場合であっても、利用可能期間後にしかこの電子クーポンを取得できないので、1ユーザあたりの提供制限枚数を超えて電子クーポンが取得されても、その電子クーポンが実際に利用されることはない。すなわち、仮に電子クーポンが不正取得されても、それによる実害をサービス提供者が被ることはない。 As described above, when the usable period is set in the electronic coupon, the ASP server 10 sets the end date and time of the usable period as the expiration date of association. As a result, the ASP server 10 invalidates the association between the terminal ID and the user ID in the user management table 136 after a period when an electronic coupon can be used. Even when the terminal ID and the user ID are not acquired, the electronic coupon can be provided. In this case, even if a malicious user tries to illegally acquire the electronic coupon using a plurality of user IDs, the electronic coupon can be acquired only after the usable period. Even if an electronic coupon is acquired exceeding the number of sheets, the electronic coupon is not actually used. That is, even if the electronic coupon is illegally acquired, the service provider does not suffer the actual harm caused by it.
 また、電子クーポンに利用可能期間が設定されていない場合、ASPサーバ10は電子クーポンを提供する処理を実行してから予め決められた期間が経過したことを条件として、対応付けを無効にする。これにより、ASPサーバ10は、悪意のあるユーザが複数のユーザIDを用いて不正取得しようとした場合であっても、上記期間後にしか対応付けを更新しないので、短期間に大量の電子クーポンが不正取得されることはない。ただし、上記期間が長すぎると、正当なユーザの電子クーポンの取得及び利用が妨げられるし、逆に上記期間が短すぎると、悪意のあるユーザが複数のユーザIDを用いて電子クーポンを大量に不正取得する可能性が高まるので、両方の事情に照らして適切な期間に設定されているとよい。
 以上のように、電子クーポンの不正取得の防止と、悪意のないユーザが複数ユーザIDを取得した場合でも電子クーポンの取得及び利用が妨げられないようにすることとの両立を目的として、ASPサーバ10は、ユーザIDと端末IDとの対応付けに有効期限を持たせ、有効期限を過ぎれば対応付けを無効にしている。
 以上がクーポン提供判定処理の説明である。
Moreover, when the useable period is not set to the electronic coupon, the ASP server 10 invalidates the association on the condition that a predetermined period has elapsed after executing the process of providing the electronic coupon. Thereby, even if a malicious user tries to obtain a fraud using a plurality of user IDs, the ASP server 10 updates the association only after the above period. It is not illegally acquired. However, if the period is too long, acquisition and use of legitimate users' electronic coupons are hindered. Conversely, if the period is too short, a malicious user uses a plurality of user IDs to obtain a large number of electronic coupons. The possibility of fraudulent acquisition increases, so it is desirable that the period is set appropriately in light of both circumstances.
As described above, for the purpose of coexistence of preventing illegal acquisition of electronic coupons and preventing the acquisition and use of electronic coupons even when a non-malicious user acquires multiple user IDs, an ASP server No. 10 gives an expiration date to the association between the user ID and the terminal ID, and invalidates the association after the expiration date.
The above is the description of the coupon provision determination process.
 ステップSb123の処理で「YES」と判定しステップSb124の処理で有効期限を設定した場合には、ASPサーバ10は、クーポン提供判定処理の後に、電子クーポンを提供するための処理として電子クーポンの書込処理を端末装置20に行わせる(ステップSb13)。ここにおいても、ASPサーバ10はアプリケーション管理サーバ50を介して端末装置20に書込処理を行わせる。 When it is determined “YES” in the process of step Sb123 and the expiration date is set in the process of step Sb124, the ASP server 10 writes the electronic coupon as a process for providing the electronic coupon after the coupon provision determination process. The terminal device 20 is caused to perform the loading process (step Sb13). Also in this case, the ASP server 10 causes the terminal device 20 to perform a writing process via the application management server 50.
 図36は、電子クーポンの書込処理の手順を示すシーケンスチャートである。
 ASPサーバ10は、アプリケーション管理サーバ50に対して、電子クーポンの書込処理に関する処理依頼を行って、問合せIDの生成を要求する(ステップSb131)。アプリケーション管理サーバ50は、処理依頼に応じて生成した問合せIDを、ASPサーバ10宛てに送信する(ステップSb132)。ここにおいて、処理依頼は、ICチップ25のメモリ領域251に書き込まれることとなる電子クーポンの情報を含む。この情報は、電子クーポンのクーポンIDと電子クーポンの取得枚数とを特定可能な情報を含む。
FIG. 36 is a sequence chart showing the procedure of the electronic coupon writing process.
The ASP server 10 requests the application management server 50 to process the electronic coupon writing process and requests the generation of an inquiry ID (step Sb131). The application management server 50 transmits the inquiry ID generated in response to the processing request to the ASP server 10 (step Sb132). Here, the processing request includes information on the electronic coupon to be written in the memory area 251 of the IC chip 25. This information includes information that can specify the coupon ID of the electronic coupon and the number of acquired electronic coupons.
 次に、ASPサーバ10は、書込処理の実行を指示するための書込指示を端末装置20宛てに送信する(ステップSb133)。ここにおいて、ASPサーバ10は、アプリケーション管理サーバ50から受信した問合せIDを含めた書込指示を送信する。端末装置20は、ASPサーバ10から書込指示を受信すると、クーポン管理アプリケーション261を実行し、アプリケーション管理サーバ50宛てに書込指示に含まれていた問合せIDを送信する(ステップSb134)。アプリケーション管理サーバ50は、端末装置20から受信した問合せIDに対応する処理依頼に従い、電子クーポンの書き込みに必要な(以下、「書込情報」という。)を端末装置20宛てに送信する(ステップSb135)。端末装置20は、アプリケーション管理サーバ50から受信した書込情報に基づいて、電子クーポンの書込処理を実行する(ステップSb136)。 Next, the ASP server 10 transmits a write instruction for instructing execution of the write process to the terminal device 20 (step Sb133). Here, the ASP server 10 transmits a write instruction including the inquiry ID received from the application management server 50. When receiving the write instruction from the ASP server 10, the terminal device 20 executes the coupon management application 261 and transmits the inquiry ID included in the write instruction to the application management server 50 (step Sb134). In accordance with the processing request corresponding to the inquiry ID received from the terminal device 20, the application management server 50 transmits to the terminal device 20 the information necessary for writing the electronic coupon (hereinafter referred to as “write information”) (step Sb135). ). The terminal device 20 executes an electronic coupon writing process based on the writing information received from the application management server 50 (step Sb136).
 次に、端末装置20は、書込処理の結果を示す結果通知を、アプリケーション管理サーバ50宛てに送信する(ステップSb137)。次に、端末装置20は、メモリ領域251に電子クーポンを書き込む書込処理が終了した旨を示す終了通知を、ASPサーバ10宛てに送信する(ステップSb138)。
 なお、端末装置20は、ステップSb133の処理に応じてクーポン管理アプリケーション261を実行してから、ステップSb137の処理までをクーポン管理アプリケーション261に従って実行する。
Next, the terminal device 20 transmits a result notification indicating the result of the writing process to the application management server 50 (step Sb137). Next, the terminal device 20 transmits to the ASP server 10 an end notification indicating that the writing process for writing the electronic coupon in the memory area 251 has ended (step Sb138).
Note that the terminal device 20 executes the coupon management application 261 in accordance with the process in step Sb133 until the process in step Sb137 according to the coupon management application 261.
 ASPサーバ10は、端末装置20から送信された終了通知を受け付けた後、アプリケーション管理サーバ50に問合せIDを送信して、終了通知の送信元の端末装置20における書込処理の結果を問い合わせる(ステップSb139)。アプリケーション管理サーバ50は、ASPサーバ10からの問い合わせに応じて、ASPサーバ10宛てに書込処理の結果(つまり、結果通知)を送信する(ステップSb140)。
 ASPサーバ10が端末装置20に書込処理を行わせる場合に、アプリケーション管理サーバ50経由で処理を行う理由は、電子クーポンに関する情報の改ざんなど不正に情報が書き換えられるのを防ぐためである。
 ASPサーバ10は、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供する場合には、ステップSb10の端末ID要否判定処理の後、ステップSb11,Sb12の処理をスキップして、図36の手順で端末装置20に書込処理を行わせる。
After accepting the end notification transmitted from the terminal device 20, the ASP server 10 transmits an inquiry ID to the application management server 50 and inquires about the result of the writing process in the terminal device 20 that is the source of the end notification (step). Sb139). In response to the inquiry from the ASP server 10, the application management server 50 transmits the write processing result (that is, the result notification) to the ASP server 10 (step Sb140).
When the ASP server 10 causes the terminal device 20 to perform the writing process, the reason for performing the process via the application management server 50 is to prevent the information from being illegally rewritten such as falsification of information related to the electronic coupon.
When the ASP server 10 provides an electronic coupon in which the provision limit number per user is not set, after the terminal ID necessity determination process of step Sb10, the process of steps Sb11 and Sb12 is skipped. The terminal device 20 is made to perform a writing process by the procedure of 36.
 ASPサーバ10は、ステップSb140の結果通知に応じて書込処理が成功したと判定すると、実行された書込処理に応じて保有状況管理テーブル137を更新する(図29のステップSb14)。ここでは、ASPサーバ10は、新たに提供した電子クーポンの数を取得済み未利用枚数に加算する。 If the ASP server 10 determines that the writing process has succeeded in response to the result notification in step Sb140, the ASP server 10 updates the holding status management table 137 in accordance with the executed writing process (step Sb14 in FIG. 29). Here, the ASP server 10 adds the number of newly provided electronic coupons to the acquired unused number.
 以上説明した実施形態によれば、ASPサーバ10は、ユーザ管理テーブル136にユーザIDと端末IDとを対応付けて格納した後、対応付けの有効期限を経過するとこの対応付けを無効にする。これにより、端末装置20のユーザに複数のユーザIDが割り当てられた場合であっても、電子クーポンが制限枚数を超えて利用される可能性を抑えることができる。また、ASPサーバ10でこの対応付けを無効にする構成は、ASPサーバ10が有効期限の経過後か否かを判定することで実現される。よって、このような仕組みを実現するために大規模なシステムの改修を行わなくてもよいし、ユーザの申し出により対応付けを無効にする手続きを人為的に行う場合の手間も生じない。 According to the embodiment described above, after storing the user ID and the terminal ID in the user management table 136 in association with each other, the ASP server 10 invalidates the association when the expiration date of the association has passed. Thereby, even if it is a case where several user ID is allocated to the user of the terminal device 20, possibility that an electronic coupon will be used exceeding a limit number can be suppressed. In addition, the configuration in which this association is invalidated by the ASP server 10 is realized by determining whether or not the ASP server 10 is after the expiration date. Therefore, in order to realize such a mechanism, it is not necessary to renovate a large-scale system, and there is no trouble in manually performing a procedure for invalidating the association by the user's offer.
 また、本実施形態では、ASPサーバ10は、1ユーザあたりの提供制限枚数が設定された電子クーポンを提供する場合には、端末IDの読み取りを指示し、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供する場合には、端末IDの読み取りを指示しない。これにより、ASPサーバ10が1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供する場合には、電子クーポンの管理において不要である端末ID通知処理(つまり、図31に示す処理)を省略できるので、いつでも端末IDの読取処理を行う場合に比べて、ユーザが電子クーポンの取得を要求したときから、端末装置20に電子クーポンを提供するまでの時間を短くすることができる。 Further, in the present embodiment, the ASP server 10 instructs reading of the terminal ID when the electronic coupon in which the provision limit number per user is set is set, and the provision limit number per user is set. When an electronic coupon that is not provided is provided, reading of the terminal ID is not instructed. Thereby, when the ASP server 10 provides an electronic coupon for which the provision limit number per user is not set, a terminal ID notification process (that is, the process shown in FIG. 31) that is unnecessary in the management of the electronic coupon is performed. Since it can be omitted, the time from when the user requests acquisition of an electronic coupon to when the electronic coupon is provided to the terminal device 20 can be shortened as compared to when the terminal ID is read at any time.
 更には、通信システム1において、ASPサーバ10とアプリケーション管理サーバ50とは独立したサーバ装置で実現されていて、クーポン管理アプリケーション261はASPサーバ10がないと動作しないようになっている。これは、端末装置20において、クーポン管理アプリケーション261が不正に利用されることを防ぐ目的としていることにもよる。具体的には、ASPサーバ10がアプリケーション管理サーバ50に対し署名通信で処理依頼を行った場合にしか、端末装置20ではICチップ25から端末IDを読み出したり、ICチップ25に電子クーポンを書き込んだりしないから、クーポン管理アプリケーション261の不正利用を防ぐことができる。 Furthermore, in the communication system 1, the ASP server 10 and the application management server 50 are realized by independent server devices, and the coupon management application 261 does not operate without the ASP server 10. This is because the terminal device 20 is intended to prevent the coupon management application 261 from being illegally used. Specifically, only when the ASP server 10 makes a processing request to the application management server 50 by signature communication, the terminal device 20 reads the terminal ID from the IC chip 25 or writes an electronic coupon to the IC chip 25. Therefore, unauthorized use of the coupon management application 261 can be prevented.
4.第2実施形態の変形例
 本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
(変形例1)
 ASPサーバ10は、端末装置20から取得したユーザIDと異なるユーザIDが端末IDに対応付けてユーザ管理テーブル136に記憶されている場合、有効期限前であれば、電子クーポンを提供しなかった。これに代えて、ASPサーバ10は、ユーザ管理テーブル136において、端末装置20から取得したユーザIDと異なるユーザIDが端末IDに対応付けている場合にも、電子クーポンを提供してもよい。この場合、ASPサーバ10は、ステップSb126の処理の後のステップSb127の処理では、エラー通知を行うとともに、ユーザの指示に応じて、ユーザ管理テーブル136で端末IDに対応付けられているユーザIDのユーザに対して、電子クーポンを提供するための処理を実行すればよい。この場合にも、ASPサーバ10は、ステップSb14で電子クーポンを提供する処理に応じて保有状況管理テーブル137を更新するが、ユーザ管理テーブル136における端末IDとユーザIDとの対応付けを変更しないようにする。
 この構成であれば、ユーザ管理テーブル136における対応付けに含まれるユーザIDと異なるユーザIDであっても、ASPサーバ10は電子クーポンを提供できるので、ユーザは電子クーポンを取得しやすくなるとともに、上述した実施形態と同様、1ユーザあたりの提供制限枚数の範囲内で電子クーポンを提供することが可能である。
4). Modification of Second Embodiment The present invention can be implemented in a form different from the above-described embodiment. The present invention can also be implemented in the following forms, for example. In addition, the following modifications may be combined as appropriate.
(Modification 1)
When the user ID different from the user ID acquired from the terminal device 20 is stored in the user management table 136 in association with the terminal ID, the ASP server 10 did not provide the electronic coupon if it was before the expiration date. Instead, the ASP server 10 may provide an electronic coupon even when a user ID different from the user ID acquired from the terminal device 20 is associated with the terminal ID in the user management table 136. In this case, the ASP server 10 performs error notification in the process of step Sb127 after the process of step Sb126, and in accordance with a user instruction, the user ID of the user ID associated with the terminal ID in the user management table 136 is notified. What is necessary is just to perform the process for providing an electronic coupon with respect to a user. Also in this case, the ASP server 10 updates the holding status management table 137 according to the process of providing the electronic coupon in step Sb14, but does not change the association between the terminal ID and the user ID in the user management table 136. To.
With this configuration, even if the user ID is different from the user ID included in the association in the user management table 136, the ASP server 10 can provide the electronic coupon, so that the user can easily obtain the electronic coupon. As in the embodiment described above, it is possible to provide an electronic coupon within the range of the provision limit number per user.
(変形例2)
 上述した実施形態において、ASPサーバ10は、会員登録したユーザに対して電子クーポンを提供していたが、会員登録しないユーザに電子クーポンを提供するものであってもよい。この場合も、ASPサーバ10は、電子クーポンを新たに提供する場合には端末IDとユーザIDとを取得して、上記実施形態と同等の手順で処理を実行すればよい。ASPサーバ10が会員登録に関する処理を行わないで、端末装置20のユーザにユーザIDを割り当てる構成として、例えば、以下の構成例1及び構成例2がある。
(Modification 2)
In the embodiment described above, the ASP server 10 provides an electronic coupon to a user who has registered as a member. However, the ASP server 10 may provide an electronic coupon to a user who does not register as a member. In this case as well, the ASP server 10 may acquire the terminal ID and the user ID when newly providing an electronic coupon, and execute the process in the same procedure as in the above embodiment. As a configuration in which the ASP server 10 does not perform the process related to member registration and assigns a user ID to the user of the terminal device 20, for example, there are the following configuration example 1 and configuration example 2.
 まず、構成例1を説明する。
 構成例1では、通信システム1においてステップSb1~Sb3の処理を省略し、端末装置20はステップSb4の処理において、ユーザIDを含まないページアクセス要求をASPサーバ10宛てに送信する。ASPサーバ10は、ページアクセス要求を受信すると、上記ステップSb5及びSb6に相当する処理を行わず、ステップSb7のユーザ認証に代えてユーザIDを新たに発行して取得する処理を行う。そして、ASPサーバ10は、発行したユーザIDをユーザ管理テーブル136に書き込む。そして、ASPサーバ10は、ステップSb8の処理に代えて、端末装置20のクッキーを用いてユーザIDを記憶させるための処理を行う。ステップSb9以降の処理は、上述した実施形態と同じでよい。
First, configuration example 1 will be described.
In the configuration example 1, the processing of steps Sb1 to Sb3 is omitted in the communication system 1, and the terminal device 20 transmits a page access request not including the user ID to the ASP server 10 in the processing of step Sb4. When the ASP server 10 receives the page access request, the ASP server 10 does not perform the processing corresponding to the above steps Sb5 and Sb6, but performs processing for newly issuing and acquiring a user ID instead of the user authentication in step Sb7. Then, the ASP server 10 writes the issued user ID in the user management table 136. Then, the ASP server 10 performs a process for storing the user ID using the cookie of the terminal device 20 instead of the process of step Sb8. The processing after step Sb9 may be the same as in the above-described embodiment.
 次に、構成例2を説明する。
 構成例2でも、通信システム1においてステップSb1~Sb3を省略し、端末装置20はステップSb4の処理において、ユーザIDを含まないページアクセス要求をASPサーバ10宛てに送信する。ASPサーバ10は、ページアクセス要求を受信すると、ステップSb5~Sb8に相当する処理を実行しないで、図30に示すクーポン取得画面を端末装置20に表示させる。端末装置20は、クーポン取得画面を表示した後、ステップSb9に相当する処理を実行して、クーポン取得要求をASPサーバ10宛てに送信する。
 なお、ここにおいては、ASPサーバ10は、保有状況管理テーブル137に基づいて各ユーザ向けのクーポン取得画面を表示させることができないので、例えば設定可能な取得枚数の上限を1ユーザあたりの提供制限枚数とするなど、複数ユーザで共通のクーポン取得画面を表示させる。
Next, configuration example 2 will be described.
Also in the configuration example 2, steps Sb1 to Sb3 are omitted in the communication system 1, and the terminal device 20 transmits a page access request not including the user ID to the ASP server 10 in the process of step Sb4. When the ASP server 10 receives the page access request, the ASP server 10 displays the coupon acquisition screen shown in FIG. 30 on the terminal device 20 without executing the processing corresponding to steps Sb5 to Sb8. After displaying the coupon acquisition screen, the terminal device 20 executes a process corresponding to step Sb9 and transmits a coupon acquisition request to the ASP server 10.
Here, since the ASP server 10 cannot display a coupon acquisition screen for each user based on the possession status management table 137, for example, the upper limit of the number of acquisitions that can be set is the limited number of provisions per user. For example, a coupon acquisition screen common to a plurality of users is displayed.
 次に、ASPサーバ10は、ステップSb10の処理で、無条件に端末ID通知処理の実行が必要と判断する。そして、ASPサーバ10は、ステップSb11の端末ID通知処理により端末IDを取得すると、ユーザ管理テーブル136を参照して、取得した端末IDに対応付けられたユーザIDの有無を確認する。ASPサーバ10は、端末IDに対応付けられたユーザIDがない場合には、構成例1と同様にして、ユーザIDを新たに発行して取得する処理を行う。そして、ASPサーバ10は、発行したユーザIDを、端末ID通知処理により取得した端末IDとを対応付けてユーザ管理テーブル136に書き込む。また、ASPサーバ10は、クッキーを用いて端末装置20にユーザIDを記憶させるための処理を行う。そして、ASPサーバ10は、ステップSb12のクーポン提供判定処理を行うこととなる。
 一方、ASPサーバ10は、ユーザ管理テーブル136において、取得した端末IDに対応付けられたユーザIDがある場合には、上記変形例1と同様に、ASPサーバ10は、ユーザ管理テーブル136を参照して、端末ID通知処理で取得した端末IDに対応付けられているユーザIDを取得し、取得したユーザIDが示すユーザに対して電子クーポンを提供するための処理を実行する。すなわち、ASPサーバ10は、ステップSb14の処理で電子クーポンを提供する処理に応じて保有状況管理テーブル137を更新するが、ユーザ管理テーブル136における端末IDとユーザIDとの対応付けを変更しない。
Next, the ASP server 10 determines in step Sb10 that it is necessary to execute the terminal ID notification process unconditionally. And if the ASP server 10 acquires terminal ID by the terminal ID notification process of step Sb11, with reference to the user management table 136, it will confirm the presence or absence of the user ID matched with the acquired terminal ID. If there is no user ID associated with the terminal ID, the ASP server 10 performs a process of newly issuing and acquiring a user ID in the same manner as in the configuration example 1. Then, the ASP server 10 writes the issued user ID in the user management table 136 in association with the terminal ID acquired by the terminal ID notification process. Further, the ASP server 10 performs processing for storing the user ID in the terminal device 20 using the cookie. And the ASP server 10 will perform the coupon provision determination process of step Sb12.
On the other hand, when there is a user ID associated with the acquired terminal ID in the user management table 136, the ASP server 10 refers to the user management table 136 as in the first modification. The user ID associated with the terminal ID acquired in the terminal ID notification process is acquired, and a process for providing an electronic coupon to the user indicated by the acquired user ID is executed. That is, the ASP server 10 updates the holding status management table 137 according to the process of providing the electronic coupon in the process of step Sb14, but does not change the association between the terminal ID and the user ID in the user management table 136.
(変形例3)
 上述した実施形態において、ASPサーバ10は、利用可能期間が設定された電子クーポンについてはその終了時期を有効期限にしていたが、利用可能期間が設定されていない電子クーポン同様、電子クーポンを提供する処理を行ってから予め決められた期間が経過したときを有効期限にしてもよい。このようにすれば、端末装置20のユーザは、利用可能期間が設定された電子クーポンについて、その利用可能期間内に電子クーポンを取得することが可能となる。
 また、ASPサーバ10が端末IDとユーザIDとの対応付けを無効にする条件は前掲の条件に限らず、永続的にこの対応付けが有効であることを回避できる条件であれば、他の条件を適用することもできる。
(Modification 3)
In the embodiment described above, the ASP server 10 provides the electronic coupon as with the electronic coupon in which the usable period is set, although the end time is set to the expiration date for the electronic coupon in which the usable period is set. The expiration date may be a time when a predetermined period has elapsed since the process was performed. If it does in this way, the user of terminal unit 20 will be able to acquire an electronic coupon within the usable period about the electronic coupon in which the usable period was set up.
In addition, the condition for invalidating the association between the terminal ID and the user ID by the ASP server 10 is not limited to the above-described conditions, and other conditions can be used as long as the association can be avoided permanently. Can also be applied.
(変形例4)
 上述した実施形態において、ASPサーバ10は、1ユーザあたりの提供制限枚数が設定されている電子クーポンを提供する場合には、端末装置20に端末IDの読み取りを指示し、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供する場合には、端末装置20に端末IDの読み取りを指示しなかったが、いずれの電子クーポンを提供する場合にも読み取りを指示してもよい。
 また、端末IDは、ICチップ25に記憶される端末IDなくてもよく、例えば端末装置20を個体識別できる偽装困難な他の情報であってもよい。例えば、本発明の端末IDは、通信事業者で把握される契約情報に含まれる電話番号等の情報であってもよい。また、ユーザIDは、ASPサーバ10によって割り当てられるものでなくてもよい。
(Modification 4)
In the embodiment described above, the ASP server 10 instructs the terminal device 20 to read the terminal ID when providing the electronic coupon in which the provision limit number per user is set, and the provision limitation per user. When providing an electronic coupon in which the number of sheets is not set, the terminal device 20 is not instructed to read the terminal ID. However, when any electronic coupon is provided, the reading may be instructed.
Further, the terminal ID may not be the terminal ID stored in the IC chip 25, and may be other information that can identify the terminal device 20 and is difficult to impersonate, for example. For example, the terminal ID of the present invention may be information such as a telephone number included in contract information grasped by a telecommunications carrier. The user ID may not be assigned by the ASP server 10.
(変形例5)
 また、ASPサーバ10が提供する電子クーポンはICチップ25での書込処理によりメモリ領域251に記憶され、リーダ/ライタに読み取られて利用されるものでなくてもよい。例えば、端末装置20が提供された電子クーポンを意味する画像をUI部24に表示させ、店舗の従業員がPOS(Point of sale)端末を操作して電子クーポンを利用させてもよい。この場合、ASPサーバ10は、電子クーポンを意味する画像を表示させるための情報を端末装置20に送信する処理を、電子クーポンを提供する処理として実行することになる。
(Modification 5)
The electronic coupon provided by the ASP server 10 may not be stored in the memory area 251 by the writing process in the IC chip 25 and read and used by the reader / writer. For example, an image indicating an electronic coupon provided by the terminal device 20 may be displayed on the UI unit 24, and a store employee may operate a POS (Point of sale) terminal to use the electronic coupon. In this case, the ASP server 10 performs a process of transmitting information for displaying an image meaning an electronic coupon to the terminal device 20 as a process of providing the electronic coupon.
(変形例6)
 上述した実施形態の通信システム1では、電子クーポンの提供又は利用可能な最小単位を「枚」とし、提供又は利用される電子クーポンの数(単位数)を「枚数」とした電子クーポンを扱っていた。これに対し、電子クーポンの提供又は利用可能な最小単位となる数(すう)はこれに限らず、例えば、電子クーポンの提供又は利用可能な最小単位を「円」や「ドル」等の貨幣の単位としてもよい。この場合であっても、上述した実施形態の電子クーポンの「枚数」を、「円」や「ドル」等の貨幣の単位に置き換えればよいだけである。また、電子クーポンの提供又は利用可能な最小単位となる数は、「ポイント」(点)や「回数」(利用回数)等であってもよい。
 また、ASPサーバ10は、提供される電子クーポンが1種類である場合において、1ユーザあたりの提供制限枚数が1枚であるときのように、電子クーポンを提供済みか否かのみによって各ユーザの電子クーポンの保有状況を管理できるのであれば、保有状況管理テーブル137に相当するデータを記憶しない構成であってもよい。このように本発明は、保有状況管理テーブル137に相当するデータを記憶することを必須とするものではない。
(Modification 6)
In the communication system 1 of the above-described embodiment, an electronic coupon is handled in which the minimum unit that can be provided or used is “sheets” and the number of electronic coupons that are provided or used (number of units) is “number”. It was. On the other hand, the minimum number of units that can be provided or used for electronic coupons is not limited to this. It is good also as a unit. Even in this case, it is only necessary to replace the “number of electronic coupons” of the above-described embodiment with a unit of money such as “yen” or “dollar”. In addition, the minimum number of units that can be provided or used for the electronic coupon may be “point” (point), “number of times” (number of times of use), or the like.
In addition, when there is only one type of electronic coupon to be provided, the ASP server 10 determines whether or not each user has provided an electronic coupon, as in the case where the provision limit number per user is one. If the possession status of the electronic coupon can be managed, a configuration not storing data corresponding to the possession status management table 137 may be used. Thus, the present invention does not necessarily store data corresponding to the possession status management table 137.
(変形例7)
 上述した実施形態においてASPサーバ10が実行していたユーザ認証に関する処理ステップSb4~Sb7の処理を、以下の処理に置き換えてもよい。この変形例では、ASPサーバ10とは別途設けられた外部サーバ(以下、「認証サーバ」という。)が、端末装置20から取得したユーザIDを用いてユーザ認証を行う。認証サーバは、ユーザ認証に成功すると、認証サーバは、ユーザ認証に成功した後に、ASPサーバ10にワンタイムパスワードの発行を依頼する。このとき、認証サーバは、ワンタイムパスワードの発行依頼とともに、ユーザ認証に用いたユーザIDをASPサーバ10に送信するものとする。ASPサーバ10は、ワンタイムパスワードの発行依頼を受け付けると、その依頼元である認証サーバの正当性を、送信元IPアドレスや電子署名等により確認する。ASPサーバ10は、依頼元が正当であると判断した場合は、ワンタイムパスワードを発行し、発行したワンタイムパスワードと、発行依頼とともに受信したユーザIDとを対応付けて記憶部13に記憶させる。そして、ASPサーバ10は、発行したワンタイムパスワードを認証サーバに通知する。そして、認証サーバは、ユーザ認証の成功後に端末装置20に表示させるwebページに、ASPサーバ10が提供するwebページのハイパーリンクを設定して表示させる。このとき認証サーバは、ASPサーバ10から通知されたワンタイムパスワードをハイパーリンクに埋め込んでおくことにより、このワンタイムパスワードを端末装置20に提供する。
 なお、ASPサーバ10は、発行したワンタイムパスワードに有効期限を設けておき、有効期限の経過後にはこのワンタイムパスワードを無効にする。
(Modification 7)
The processing of the processing steps Sb4 to Sb7 related to user authentication performed by the ASP server 10 in the embodiment described above may be replaced with the following processing. In this modification, an external server (hereinafter referred to as “authentication server”) provided separately from the ASP server 10 performs user authentication using the user ID acquired from the terminal device 20. If the authentication server succeeds in user authentication, the authentication server requests the ASP server 10 to issue a one-time password after successful user authentication. At this time, it is assumed that the authentication server transmits the user ID used for user authentication to the ASP server 10 together with the request for issuing the one-time password. When the ASP server 10 accepts the one-time password issuance request, the ASP server 10 confirms the validity of the authentication server that is the request source by the transmission source IP address, the electronic signature, or the like. When the ASP server 10 determines that the request source is valid, the ASP server 10 issues a one-time password and associates the issued one-time password with the user ID received together with the issuance request, and stores them in the storage unit 13. Then, the ASP server 10 notifies the issued one-time password to the authentication server. Then, the authentication server sets and displays a hyperlink of the web page provided by the ASP server 10 on the web page displayed on the terminal device 20 after the successful user authentication. At this time, the authentication server provides the one-time password to the terminal device 20 by embedding the one-time password notified from the ASP server 10 in the hyperlink.
The ASP server 10 sets an expiration date for the issued one-time password, and invalidates the one-time password after the expiration date.
 次に、端末装置20においてユーザにより上記ハイパーリンクを選択する操作が行われると、端末装置20はハイパーリンクに対応したwebページを表示させるためのページアクセス要求をASPサーバ10宛てに送信する(ステップSb4の処理に相当)。前述したように、ハイパーリンクにはワンタイムパスワードが埋め込まれているから、端末装置20は、ワンタイムパスワードをページアクセス要求に含めて送信したことになる。ASPサーバ10は、ページアクセス要求を受信すると、ページアクセス要求に含まれるワンタイムパスワードが記憶部13に記憶され、かつ、このワンタイムパスワードが有効期限前であるか否かにより、ステップSb7に相当するユーザ認証を行う。ASPサーバ10は、ワンタイムパスワードが記憶部13に記憶され、かつ、このワンタイムパスワードが有効期限前であると判定すると、記憶部13においてこのワンタイムパスワードに対応付けられたユーザIDでユーザ認証に成功したものとし、以降、上述した実施形態と同様の手順でステップSb8以降の処理を行う。
 なお、ASPサーバ10は、認証に成功したワンタイムパスワードについてはこれを無効にする。
 この変形例によれば、認証サーバとASPサーバ10とでやり取りされるワンタイムパスワードでユーザ認証が行われるので、上述した実施形態に比べて、第三者により不正な方法でユーザ認証が行われる可能性を抑えることができる。また、認証サーバにてユーザIDに基づくユーザ認証が行われていれば、端末装置20がページアクセス要求を送信した後にASPサーバ10はユーザIDに基づくユーザ認証を行う必要がない。これにより端末装置20のユーザにしてみれば、端末装置20でASPサーバ10が提供するwebページが表示された後に、ユーザIDやパスワードを入力する操作を行う必要がなく、電子クーポンの取得時における操作負担が減る。
Next, when an operation for selecting the hyperlink is performed by the user in the terminal device 20, the terminal device 20 transmits a page access request for displaying a web page corresponding to the hyperlink to the ASP server 10 (step). Equivalent to the processing of Sb4). As described above, since the one-time password is embedded in the hyperlink, the terminal device 20 transmits the one-time password included in the page access request. When the ASP server 10 receives the page access request, the one-time password included in the page access request is stored in the storage unit 13 and corresponds to step Sb7 depending on whether this one-time password is before the expiration date. Perform user authentication. When the ASP server 10 determines that the one-time password is stored in the storage unit 13 and this one-time password is before the expiration date, the user authentication is performed with the user ID associated with the one-time password in the storage unit 13. Thereafter, the processing after step Sb8 is performed in the same procedure as in the above-described embodiment.
Note that the ASP server 10 invalidates the one-time password that has been successfully authenticated.
According to this modification, user authentication is performed with a one-time password exchanged between the authentication server and the ASP server 10, and therefore, user authentication is performed by a third party in an unauthorized manner compared to the above-described embodiment. The possibility can be suppressed. If user authentication based on the user ID is performed in the authentication server, the ASP server 10 does not need to perform user authentication based on the user ID after the terminal device 20 transmits a page access request. This makes it unnecessary for the user of the terminal device 20 to input a user ID or password after the web page provided by the ASP server 10 is displayed on the terminal device 20, and at the time of obtaining an electronic coupon. Operation burden is reduced.
(変形例8)
 また、本発明は、1ユーザあたりの提供制限枚数が設定されている電子クーポン(第1電子クーポン)を提供する場合には、端末装置20に端末IDの読み取りを指示し、1ユーザあたりの提供制限枚数が設定されていない電子クーポン(第2電子クーポン)を提供する場合には、端末装置20に端末IDの読み取りを指示しない構成としても特定可能である。よって、この発明では、ユーザ管理テーブル136におけるユーザID及び端末IDの無効にする仕組みを有していなくてもよい。この発明であっても、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供する場合には、電子クーポンの管理において不要である端末ID通知処理(つまり、図31に示す処理)を省略できるので、いつでも端末IDの読取処理を行う場合に比べて、端末装置20に電子クーポンを提供するまでの時間を短くすることができる。
(Modification 8)
Further, the present invention instructs the terminal device 20 to read the terminal ID when providing an electronic coupon (first electronic coupon) in which the provision limit number per user is set. In the case of providing an electronic coupon (second electronic coupon) for which the limit number is not set, the configuration can be specified even if the terminal device 20 is not instructed to read the terminal ID. Therefore, in this invention, it is not necessary to have a mechanism for invalidating the user ID and terminal ID in the user management table 136. Even in the present invention, when providing an electronic coupon in which the provision limit number per user is not set, the terminal ID notification process (that is, the process shown in FIG. 31) that is unnecessary in the management of the electronic coupon is performed. Since it can be omitted, the time until the electronic coupon is provided to the terminal device 20 can be shortened as compared with the case where the terminal ID is read at any time.
 この発明のクーポン管理装置は、提供可能な数がユーザ毎に制限された第1電子クーポンを提供した端末装置を識別する端末IDを記憶する記憶部と、前記第1電子クーポンを提供する場合には、前記端末装置が有するメモリ領域に記憶された前記端末IDの読み出しを指示し、提供可能な数がユーザ毎に制限されていない第2電子クーポンを当該端末装置に提供する場合には、前記端末IDの読み出しを指示しない読出指示部と、前記読出指示部により前記端末IDの読み出しが指示された場合に、当該指示に従って前記メモリ領域から読み出された前記端末IDを取得する取得部と、前記記憶部を参照して前記取得部が取得した端末IDに基づいて前記電子クーポンを提供すると判定した場合に、前記提供可能な数を超えない範囲内で当該端末IDが示す端末装置に前記第1電子クーポンを提供するための処理を実行する一方、前記読出指示部により前記端末IDの読み出しが指示されなかった場合に、前記第2電子クーポンを前記端末装置に提供するための処理を実行する提供部とを備えることを特徴とする。 The coupon management device according to the present invention provides a storage unit that stores a terminal ID that identifies a terminal device that has provided a first electronic coupon whose number that can be provided is limited for each user, and provides the first electronic coupon. Is instructed to read out the terminal ID stored in the memory area of the terminal device, and when providing the terminal device with a second electronic coupon for which the number that can be provided is not limited for each user, A reading instruction unit that does not instruct reading of the terminal ID; and an acquisition unit that acquires the terminal ID read from the memory area according to the instruction when reading of the terminal ID is instructed by the reading instruction unit; When it is determined that the electronic coupon is provided based on the terminal ID acquired by the acquisition unit with reference to the storage unit, the number does not exceed the number that can be provided. While the process for providing the first electronic coupon to the terminal device indicated by the terminal ID is executed, when the reading instruction unit is not instructed to read the terminal ID, the second electronic coupon is transferred to the terminal. And a providing unit that executes processing for providing to the apparatus.
(変形例9)
 上述した実施形態の通信システム1では、店舗管理サーバ30と店舗端末40とが別々の装置であったが、これらを一体化した装置が用いられてもよい。この一体化した装置として、例えば、リーダ/ライタ機能を有しているパーソナルコンピュータやスマートフォン、POS端末等がある。
 また、ASPサーバ10の制御部11が実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の協働によって実現されうる。
 また、本発明は、ASPサーバ10が実行するプログラムやクーポン管理方法として把握することも可能である。
(Modification 9)
In the communication system 1 of the above-described embodiment, the store management server 30 and the store terminal 40 are separate devices, but a device in which these are integrated may be used. Examples of the integrated device include a personal computer having a reader / writer function, a smartphone, and a POS terminal.
Each function realized by the control unit 11 of the ASP server 10 can be realized by a combination of a plurality of programs, or can be realized by cooperation of a plurality of hardware resources.
Moreover, this invention can also be grasped | ascertained as the program and coupon management method which ASP server 10 performs.
(変形例10)
 上記の実施形態では、ユーザ管理テーブル132において設定される端末IDとユーザIDとの対応付けに有効期限が設定され、その有効期限が経過すると、当該対応付けは無効になる。そして、当該対応付けの変更(具体的には、ユーザIDの変更)が許可される(図33のステップSb122参照)。よって、端末装置20のユーザが自身のユーザIDやパスワードを失念してしまい別のユーザIDを取得した場合であっても、元のユーザIDと端末IDとの対応付けの有効期限が経過すれば、新たなユーザIDを用いて電子クーポンの提供を受けることができる。また、すでに別のユーザIDと対応付けられている端末装置20の譲渡を受け、当該端末に機種変更する場合であっても、当該ユーザIDと端末IDとの対応付けの有効期限が経過すれば、譲渡を受けたユーザは、自己のユーザIDを用いて電子クーポンの提供を受けることができる。
(Modification 10)
In the above embodiment, an expiration date is set for the association between the terminal ID and the user ID set in the user management table 132, and the association becomes invalid when the expiration date has passed. And the change of the said correlation (specifically change of user ID) is permitted (refer step Sb122 of FIG. 33). Therefore, even if the user of the terminal device 20 forgets his / her user ID and password and acquires another user ID, the expiration date for the association between the original user ID and the terminal ID has passed. An electronic coupon can be provided using a new user ID. Even if the terminal device 20 that has already been associated with another user ID is transferred and the model is changed to the terminal, the expiration date for the association between the user ID and the terminal ID elapses. The user who has received the transfer can receive an electronic coupon using his / her user ID.
 しかし、上記の実施形態の場合、新たに変更されたユーザIDと、当該ユーザIDと従来対応付けられていた端末IDとの対応付けは、削除されずに残ってしまう。例えば、図26に示される例において、端末ID「abcde00002」に対して、新たにユーザID「UID0001」が対応付けられることになった場合、当該ユーザID「UID0001」と、従来当該ユーザIDと対応づけられていた端末ID「abcde00001」との対応付けは、削除されずに残ってしまう。よって、本例においては、端末ID「abcde00001」によって識別される端末装置20を新たに取得したユーザは、当該端末IDとユーザID「UID0001」との対応付けの有効期限が経過するまでは、クーポンの提供を受けられなくなってしまう。 However, in the case of the above-described embodiment, the newly changed user ID and the association between the user ID and the terminal ID that has been associated with the user ID remain without being deleted. For example, in the example shown in FIG. 26, when the user ID “UID0001” is newly associated with the terminal ID “abcde00002”, the user ID “UID0001” corresponds to the conventional user ID. The associated terminal ID “abcde00001” remains without being deleted. Therefore, in this example, the user who newly acquired the terminal device 20 identified by the terminal ID “abcde00001” can receive a coupon until the expiration date of association between the terminal ID and the user ID “UID0001” elapses. You will not be able to receive the offer.
 そこで、上記の実施形態において、ユーザIDの変更を行う場合に、変更後のユーザIDと、当該ユーザIDと従来対応づけられていた端末IDとの対応付けを削除するようにしてもよい。より具体的には、上記の実施形態の図33のステップSb122の直前又は直後において、図29のステップSb7のユーザ認証に用いたユーザIDと、同図のステップSb11の端末ID通知処理で取得した端末IDと異なるIDとがユーザ管理テーブル132において対応づけられているときに、当該ユーザIDと当該異なる端末IDとの対応付けを削除するようにしてもよい。このような構成によれば、上記の例において端末ID「abcde00001」によって識別される端末装置20を新たに取得したユーザは、当該端末IDとユーザID「UID0001」との対応付けの有効期限が経過するのを待たずとも、クーポンの提供を受けることができる。 Therefore, in the above embodiment, when the user ID is changed, the association between the changed user ID and the terminal ID that is conventionally associated with the user ID may be deleted. More specifically, immediately before or immediately after step Sb122 in FIG. 33 of the above embodiment, the user ID used for user authentication in step Sb7 in FIG. 29 and the terminal ID notification process in step Sb11 in FIG. When an ID different from the terminal ID is associated in the user management table 132, the association between the user ID and the different terminal ID may be deleted. According to such a configuration, the user who newly acquired the terminal device 20 identified by the terminal ID “abcde00001” in the above example has passed the expiration date of the association between the terminal ID and the user ID “UID0001”. You can receive coupons without waiting.
(変形例11)
 上記の第2実施形態は、上記の第1実施形態と組み合わせてもよい。具体的には、第1実施形態の図10のステップSa1の処理の前に、第2実施形態の図29のステップSb1~Sb8の処理を実行してもよい。
(Modification 11)
The second embodiment described above may be combined with the first embodiment described above. Specifically, the processing of steps Sb1 to Sb8 of FIG. 29 in the second embodiment may be executed before the processing of step Sa1 of FIG. 10 of the first embodiment.
 また、第1実施形態の図10のステップSa1の処理の後であって、ステップSa2の処理の前に、第2実施形態の図29のステップSb10~Sb12の処理を実行してもよい。この場合、第1実施形態に係るクーポン管理テーブル131において、「クーポンID」ごとに、第2実施形態に係るクーポン情報テーブル135と同様に、「1ユーザあたりの提供制限枚数」を対応付けるようにしてもよい。また、第1実施形態に係るASPサーバ10の記憶部13に、第2実施形態に係るユーザ管理テーブル136を記憶するようにしてもよい。また、第1実施形態に係るクーポン管理テーブル131において、「クーポンID」ごとに、第2実施形態に係るクーポン情報テーブル135と同様に、「利用可能期間(開始日時)」と「利用可能期間(終了日時)」とを対応付けるようにしてもよい。また、ステップSb12の処理を実行する際に、ASPサーバ10は、第2実施形態に係る保有状況管理テーブル137に代えて、第1実施形態に係るユーザ管理テーブル132を参照するようにしてもよい。 Further, after the process of step Sa1 of FIG. 10 of the first embodiment and before the process of step Sa2, the processes of steps Sb10 to Sb12 of FIG. 29 of the second embodiment may be executed. In this case, in the coupon management table 131 according to the first embodiment, for each “coupon ID”, as in the coupon information table 135 according to the second embodiment, the “restricted number of sheets provided per user” is associated. Also good. The user management table 136 according to the second embodiment may be stored in the storage unit 13 of the ASP server 10 according to the first embodiment. In the coupon management table 131 according to the first embodiment, for each “coupon ID”, as in the coupon information table 135 according to the second embodiment, “available period (start date and time)” and “available period ( End date and time) ". Further, when executing the process of step Sb12, the ASP server 10 may refer to the user management table 132 according to the first embodiment instead of the possession status management table 137 according to the second embodiment. .
1…通信システム、10…ASPサーバ、11…制御部、111…第1更新部、112…書込指示部、113…第2更新部、114…処理結果取得部、115…利用履歴取得部、116…第3更新部、117…読出指示部、118…取得部、119…提供部、120…書込部、12…通信部、13…記憶部、131…クーポン管理テーブル、132…ユーザ管理テーブル、133…トランザクション管理テーブル、134…保留リストテーブル、135…クーポン情報テーブル、136…ユーザ管理テーブル、137…保有状況管理テーブル、20…端末装置、21…制御部、22…音声入出力部、23…無線通信部、24…UI部、25…ICチップ、251…メモリ領域、26…記憶部、261…クーポン管理アプリケーション、30…店舗管理サーバ、40…店舗端末、41…リーダ/ライタ、50…アプリケーション管理サーバ。 DESCRIPTION OF SYMBOLS 1 ... Communication system, 10 ... ASP server, 11 ... Control part, 111 ... 1st update part, 112 ... Write instruction | indication part, 113 ... 2nd update part, 114 ... Processing result acquisition part, 115 ... Usage history acquisition part, 116: third updating unit, 117: reading instruction unit, 118: acquisition unit, 119 ... providing unit, 120 ... writing unit, 12: communication unit, 13 ... storage unit, 131 ... coupon management table, 132 ... user management table 133 ... Transaction management table, 134 ... Hold list table, 135 ... Coupon information table, 136 ... User management table, 137 ... Holding status management table, 20 ... Terminal device, 21 ... Control unit, 22 ... Voice input / output unit, 23 ... wireless communication unit, 24 ... UI unit, 25 ... IC chip, 251 ... memory area, 26 ... storage unit, 261 ... coupon management application, 30 ... Shop management server, 40 ... store terminal, 41 ... the reader / writer, 50 ... application management server.

Claims (22)

  1.  端末装置に提供されて当該端末装置において利用される各電子クーポンについて、前記端末装置に提供された電子クーポンの未利用数と、前記端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部と、
     前記電子クーポンが提供された端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部と、
     前記電子クーポンを第1の端末装置に新たに提供する場合に、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得部と、
     前記電子クーポンの残数から、前記第1の端末装置に提供される前記電子クーポンの数を減じるよう、前記第1記憶部を更新する第1更新部と、
     前記第1更新部により減じられた数の電子クーポンについて前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示する書込指示部と、
     前記書込指示部により前記書込処理の実行が指示される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込部と、
     前記書込指示部の指示に応じた前記書込処理の成功が確定した後、前記減じられた数を前記電子クーポンの未利用数に設定するよう、前記第1記憶部を更新する第2更新部と
     を備えることを特徴とするサーバ装置。
    For each electronic coupon provided to the terminal device and used in the terminal device, the number of unused electronic coupons provided to the terminal device and the remaining number of electronic coupons that can be newly provided to the terminal device A first storage unit for storing;
    A second storage unit that stores a terminal ID that identifies the terminal device provided with the electronic coupon in association with one user ID that identifies the user of the terminal device;
    When newly providing the electronic coupon to the first terminal device, an acquisition unit that acquires the terminal ID of the first terminal device and the user ID of the user of the first terminal device;
    A first updating unit for updating the first storage unit so as to reduce the number of the electronic coupons provided to the first terminal device from the remaining number of the electronic coupons;
    A write instructing unit for instructing the first terminal device to execute a writing process to a memory area of the first terminal device for the number of electronic coupons reduced by the first updating unit;
    A writing unit that associates the acquired user ID with the acquired terminal ID in the second storage unit when the writing instruction unit instructs execution of the writing process;
    A second update that updates the first storage unit to set the reduced number to the unused number of the electronic coupon after the success of the writing process according to the instruction of the writing instruction unit is confirmed. And a server device.
  2.  前記第2更新部は、前記書込指示部の指示に応じた前記書込処理により他の電子クーポンに前記電子クーポンが上書きされた場合、当該他の電子クーポンの未利用数を当該他の電子クーポンの残数に加算して、当該未利用数をクリアするよう、前記第1記憶部を更新する
     ことを特徴とする請求項1に記載のサーバ装置。
    When the electronic coupon is overwritten on another electronic coupon by the writing process according to the instruction from the writing instruction unit, the second update unit calculates the unused number of the other electronic coupon as the other electronic The server device according to claim 1, wherein the first storage unit is updated so as to clear the unused number by adding to the remaining number of coupons.
  3.  前記第1更新部は、
     前記第1電子クーポンの残数から減じた数を、前記書込処理の成功が未確定の電子クーポンの数である未確定数に設定して、前記第1記憶部に記憶させ、
     前記第2更新部は、
     前記書込処理の成功が確定した後、前記減じられた数である前記電子クーポンの未確定数を、前記電子クーポンの未利用数に設定し、当該未確定数をクリアする
     ことを特徴とする請求項1又は2に記載のサーバ装置。
    The first update unit includes:
    The number subtracted from the remaining number of the first electronic coupon is set to an unconfirmed number that is the number of electronic coupons whose success in the writing process is unconfirmed, and stored in the first storage unit,
    The second update unit includes:
    After the success of the writing process is confirmed, the undetermined number of the electronic coupon, which is the reduced number, is set to the unused number of the electronic coupon, and the undetermined number is cleared. The server device according to claim 1 or 2.
  4.  前記第2更新部は、
     前記第1の端末装置が前記指示に応じた前記書込処理に失敗した場合、前記未確定数を前記電子クーポンの残数に加算し、当該未確定数をクリアする
     ことを特徴とする請求項3に記載のサーバ装置。
    The second update unit includes:
    The said undecided number is added to the remaining number of the said electronic coupon when the said 1st terminal device fails in the said writing process according to the said instruction | indication, The said undecided number is cleared. 4. The server device according to 3.
  5.  前記第1記憶部は、一の端末装置に対して新たに提供可能な電子クーポンの残数を記憶し、
     前記第1の端末装置が利用した前記電子クーポンの利用数を含む利用履歴を取得する利用履歴取得部と、
     前記利用履歴取得部が取得した利用履歴に基づいて、前記利用した電子クーポンの前記未利用数、及び前記一の端末装置に対する残数のそれぞれから、前記利用数を減じるよう、前記第1記憶部を更新する第3更新部と
     を備えることを特徴とする請求項1から4のいずれか1項に記載のサーバ装置。
    The first storage unit stores the remaining number of electronic coupons that can be newly provided to one terminal device,
    A usage history acquisition unit that acquires a usage history including the number of usages of the electronic coupon used by the first terminal device;
    Based on the usage history acquired by the usage history acquisition unit, the first storage unit reduces the usage number from each of the unused number of the used electronic coupons and the remaining number for the one terminal device. The server apparatus according to claim 1, further comprising: a third update unit that updates
  6.  前記メモリ領域に前記電子クーポンを書き込む前記書込処理が終了した旨の通知を受け付けた後、前記第1の端末装置から前記書込処理の結果を取得する管理サーバに問い合わせて当該結果を取得する処理結果取得部を備え、
     前記第2更新部は、
     前記処理結果取得部により取得された前記結果に応じて、前記書込処理の成功が確定したか否かを判断する
     ことを特徴とする請求項1から5のいずれか1項に記載のサーバ装置。
    After receiving the notification that the writing process for writing the electronic coupon to the memory area is completed, the management server that acquires the result of the writing process is inquired from the first terminal device to acquire the result. It has a processing result acquisition unit,
    The second update unit includes:
    6. The server device according to claim 1, wherein it is determined whether or not the success of the writing process is confirmed according to the result acquired by the processing result acquisition unit. .
  7.  前記書込指示部は、前記第2記憶部において、前記取得部が取得した端末IDに前記取得部が取得したユーザIDと異なるユーザIDが対応付けられていない場合、又は、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に予め決められた条件を満たすときには、前記指示を行う
     -ことを特徴とする請求項1から6のいずれか1項に記載のサーバ装置。
    In the second storage unit, when the user ID different from the user ID acquired by the acquisition unit is not associated with the terminal ID acquired by the acquisition unit in the second storage unit, or the acquired terminal ID The said instruction | indication is given when satisfy | filling predetermined conditions, when the user ID different from the said acquired user ID is matched with the acquired-User ID of any one of Claim 1 to 6 characterized by the above-mentioned. Server device.
  8.  前記書込指示部は、
     前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に、前記条件を満たさないときには、前記指示を行わない
     ことを特徴とする請求項7に記載のサーバ装置。
    The write instruction unit
    The said 2nd memory | storage part WHEREIN: When the user ID different from the said acquired user ID is matched with the acquired terminal ID, when the said conditions are not satisfied, the said instruction | indication is not performed. 8. The server device according to 7.
  9.  前記書込指示部は、
     前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合には、前記指示を行い、
     前記書込部は、
     前記条件を満たさないときに前記書込指示部により前記指示が行われた場合には、前記第2記憶部において前記取得した端末IDに対応付けられたユーザIDを変更しない
     ことを特徴とする請求項7に記載のサーバ装置。
    The write instruction unit
    In the second storage unit, when a user ID different from the acquired user ID is associated with the acquired terminal ID, the instruction is given,
    The writing unit
    The user ID associated with the acquired terminal ID is not changed in the second storage unit when the instruction is given by the writing instruction unit when the condition is not satisfied. Item 8. The server device according to Item 7.
  10.  前記取得部は、
     前記第1の端末装置から前記端末IDを取得したが前記ユーザIDを取得しなかった場合に、前記第2記憶部において当該端末IDにいずれかのユーザIDが対応付けられているときには当該ユーザIDを取得し、前記第2記憶部において当該端末IDがいずれのユーザIDとも対応付けられていないときには新たにユーザIDを発行して取得し、
     前記書込部は、
     前記書込指示部により前記指示が行われた場合に、前記取得部が前記第2記憶部からユーザIDを取得していたときには、前記取得した端末IDに対応付けられたユーザIDを変更せず、新たにユーザIDを発行して取得していたときには、当該ユーザIDを前記取得した端末IDに対応付けて前記第2記憶部に書き込む
     ことを特徴とする請求項7から9のいずれか1項に記載のサーバ装置。
    The acquisition unit
    When the terminal ID is acquired from the first terminal device but the user ID is not acquired, if any user ID is associated with the terminal ID in the second storage unit, the user ID When the terminal ID is not associated with any user ID in the second storage unit, a new user ID is issued and acquired,
    The writing unit
    When the instruction is given by the writing instruction unit and the acquisition unit acquires a user ID from the second storage unit, the user ID associated with the acquired terminal ID is not changed. 10. When the user ID is newly issued and acquired, the user ID is written in the second storage unit in association with the acquired terminal ID. 10. The server device described in 1.
  11.  前記書込指示部は、
     前記指示を行ってから予め決められた期間が経過したことを前記条件とする
     ことを特徴とする請求項7から10のいずれか1項に記載のサーバ装置。
    The write instruction unit
    The server device according to any one of claims 7 to 10, wherein the condition is that a predetermined period has elapsed since the instruction was given.
  12.  前記書込指示部は、
     前記電子クーポンの利用可能期間が経過したことを前記条件とする
     ことを特徴とする請求項7から11のいずれか1項に記載のサーバ装置。
    The write instruction unit
    The server device according to any one of claims 7 to 11, wherein the condition is that an available period of the electronic coupon has elapsed.
  13.  前記書込指示部は、
     複数種類の電子クーポンについて、前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示した場合、終了時期が最も後である電子クーポンの利用可能期間が経過したことを前記条件とする
     ことを特徴とする請求項12に記載のサーバ装置。
    The write instruction unit
    When a plurality of types of electronic coupons are instructed to the first terminal device to execute the writing process to the memory area of the first terminal device, the electronic coupon having the latest end time can be used. The server device according to claim 12, wherein the condition is that a period has elapsed.
  14.  前記端末IDは、当該端末IDが示す端末装置が有するメモリ領域に記憶され、
     提供可能な数がユーザ毎に制限された電子クーポンを提供する場合には、前記メモリ領域からの前記端末IDの読み出しを指示し、提供可能な数がユーザ毎に制限されていない電子クーポンを当該第1の端末装置に提供する場合には、前記端末IDの読み出しを指示しない読出指示部を備え、
     前記取得部は、
     前記読出指示部により前記端末IDの読み出しが指示された場合に、当該指示に従って前記メモリ領域から読み出された前記端末IDを取得し、
     前記書込指示部は、
     前記読出指示部により前記端末IDの読み出しが指示されなかった場合に、前記提供可能な数がユーザ毎に制限されていない電子クーポンを前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示する
     ことを特徴とする請求項7から13のいずれか1項に記載のサーバ装置。
    The terminal ID is stored in a memory area of the terminal device indicated by the terminal ID,
    When providing an electronic coupon in which the number that can be provided is limited for each user, an instruction is given to read the terminal ID from the memory area, and an electronic coupon in which the number that can be provided is not limited for each user When providing to the first terminal device, comprising a read instruction unit that does not instruct to read the terminal ID,
    The acquisition unit
    When reading of the terminal ID is instructed by the reading instruction unit, the terminal ID read from the memory area according to the instruction is acquired;
    The write instruction unit
    When reading of the terminal ID is not instructed by the reading instruction unit, a writing process to the memory area of the first terminal device having an electronic coupon whose number that can be provided is not limited for each user The server device according to claim 7, wherein the first terminal device is instructed to execute the server device.
  15.  前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられており、かつ、前記条件を満たす場合に、前記第2記憶部において、前記取得したユーザIDと、前記取得した端末IDと異なる端末IDとが対応付けられているときに、当該取得したユーザIDと当該異なる端末IDとの対応付けを削除する削除部をさらに備えることを特徴とする請求項7から14のいずれか1項に記載のサーバ装置。 In the second storage unit, when the acquired terminal ID is associated with a user ID different from the acquired user ID and satisfies the condition, the acquired user ID is stored in the second storage unit. And a deletion unit that deletes the association between the acquired user ID and the different terminal ID when the acquired terminal ID is associated with a different terminal ID. The server device according to any one of 7 to 14.
  16.  端末装置に提供されて当該端末装置において利用される各電子クーポンについて、前記端末装置に提供された電子クーポンの未利用数と、前記端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部と、
     前記電子クーポンが提供された端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部と
     を備えるサーバ装置のクーポン管理方法であって、
     前記電子クーポンを第1の端末装置に新たに提供する場合に、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得ステップと、
     前記電子クーポンの残数から、前記第1の端末装置に提供される前記電子クーポンの数を減じるよう、前記第1記憶部を更新する第1更新ステップと、
     前記第1更新ステップにおいて減じられた数の電子クーポンについて前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示する書込指示ステップと、
     前記書込指示ステップにおいて前記書込処理の実行が指示される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込ステップと、
     前記書込指示ステップにおける指示に応じた前記書込処理の成功が確定した後、前記減じられた数を前記電子クーポンの未利用数に設定するよう、前記第1記憶部を更新する第2更新ステップと
     を有することを特徴とするクーポン管理方法。
    For each electronic coupon provided to the terminal device and used in the terminal device, the number of unused electronic coupons provided to the terminal device and the remaining number of electronic coupons that can be newly provided to the terminal device A first storage unit for storing;
    A coupon management method for a server device, comprising: a terminal ID for identifying a terminal device to which the electronic coupon is provided; and a second storage unit that stores one user ID for identifying a user of the terminal device in association with each other. ,
    An acquisition step of acquiring the terminal ID of the first terminal device and the user ID of the user of the first terminal device when the electronic coupon is newly provided to the first terminal device;
    A first updating step of updating the first storage unit so as to reduce the number of the electronic coupons provided to the first terminal device from the remaining number of the electronic coupons;
    A writing instruction step for instructing the first terminal device to execute a writing process to the memory area of the first terminal device for the number of electronic coupons reduced in the first updating step;
    When the execution of the writing process is instructed in the writing instruction step, a writing step of associating the acquired user ID with the acquired terminal ID in the second storage unit;
    After the success of the writing process according to the instruction in the writing instruction step is confirmed, the second update is performed to update the first storage unit to set the reduced number to the unused number of the electronic coupon. A coupon management method comprising the steps of:
  17.  前記第1記憶部は、端末装置が有するメモリ領域への書込処理の成功が確定した電子クーポンの未利用数を、端末装置に提供された電子クーポンの未利用数として記憶し、
     前記第2更新ステップは、前記書込指示部の指示に応じた前記書込処理により他の電子クーポンに前記電子クーポンが上書きされた場合、当該他の電子クーポンの未利用数を当該他の電子クーポンの残数に加算して、当該未利用数をクリアするよう、前記第1記憶部を更新する
     ことを特徴とする請求項16に記載のクーポン管理方法。
    The first storage unit stores, as the number of unused electronic coupons provided to the terminal device, the number of unused electronic coupons that have been successfully written to the memory area of the terminal device.
    In the second update step, when the electronic coupon is overwritten on another electronic coupon by the writing process according to the instruction of the writing instruction unit, the unused number of the other electronic coupon is set to the other electronic coupon. The coupon management method according to claim 16, wherein the first storage unit is updated so as to clear the unused number by adding to the remaining number of coupons.
  18.  前記書込指示ステップは、前記第2記憶部において、前記取得ステップで取得した端末IDに前記取得ステップで取得したユーザIDと異なるユーザIDが対応付けられていない場合、又は、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に予め決められた条件を満たすときには、前記指示を行うことを特徴とする請求項16又は17に記載のクーポン管理方法。 In the writing instruction step, in the second storage unit, when the user ID different from the user ID acquired in the acquisition step is not associated with the terminal ID acquired in the acquisition step, or the acquired terminal ID The coupon management method according to claim 16 or 17, wherein the instruction is performed when a predetermined condition is satisfied when a user ID different from the acquired user ID is associated with the user ID.
  19.  サーバ装置と端末装置とを備える通信システムであって、
     前記サーバ装置は、
     端末装置に提供されて当該端末装置において利用される各電子クーポンについて、前記端末装置に提供された電子クーポンの未利用数と、前記端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部と、
     前記電子クーポンが提供された端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部と、
     前記電子クーポンを第1の端末装置に新たに提供する場合に、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得部と、
     前記電子クーポンの残数から、前記第1の端末装置に提供される前記電子クーポンの数を減じるよう、前記第1記憶部を更新する第1更新部と、
     前記第1更新部により減じられた数の電子クーポンについて前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示する書込指示部と、
     前記書込指示部により前記書込処理の実行が指示される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込部と、
     前記書込指示部の指示に応じた前記書込処理の成功が確定した後、前記減じられた数を前記電子クーポンの未利用数に設定するよう、前記第1記憶部を更新する第2更新部と
     を備え、
     前記端末装置は、
     前記書込指示部の指示に従った前記書込処理により前記未利用数の電子クーポンを前記メモリ領域に書き込み、当該書込処理を終了したことを前記サーバ装置に通知する
     ことを特徴とする通信システム。
    A communication system comprising a server device and a terminal device,
    The server device
    For each electronic coupon provided to the terminal device and used in the terminal device, the number of unused electronic coupons provided to the terminal device and the remaining number of electronic coupons that can be newly provided to the terminal device A first storage unit for storing;
    A second storage unit that stores a terminal ID that identifies the terminal device provided with the electronic coupon in association with one user ID that identifies the user of the terminal device;
    When newly providing the electronic coupon to the first terminal device, an acquisition unit that acquires the terminal ID of the first terminal device and the user ID of the user of the first terminal device;
    A first updating unit for updating the first storage unit so as to reduce the number of the electronic coupons provided to the first terminal device from the remaining number of the electronic coupons;
    A write instructing unit for instructing the first terminal device to execute a writing process to a memory area of the first terminal device for the number of electronic coupons reduced by the first updating unit;
    A writing unit that associates the acquired user ID with the acquired terminal ID in the second storage unit when the writing instruction unit instructs execution of the writing process;
    A second update that updates the first storage unit to set the reduced number to the unused number of the electronic coupon after the success of the writing process according to the instruction of the writing instruction unit is confirmed. The department and
    The terminal device
    The communication is characterized by writing the unused number of electronic coupons in the memory area by the writing process according to the instruction of the writing instruction unit, and notifying the server device that the writing process has been completed. system.
  20.  前記第1記憶部は、端末装置が有するメモリ領域への書込処理の成功が確定した電子クーポンの未利用数を、端末装置に提供された電子クーポンの未利用数として記憶し、
     前記第2更新部は、前記書込指示部の指示に応じた前記書込処理により他の電子クーポンに前記電子クーポンが上書きされた場合、当該他の電子クーポンの未利用数を当該他の電子クーポンの残数に加算して、当該未利用数をクリアするよう、前記第1記憶部を更新することを特徴とする請求項19に記載の通信システム。
    The first storage unit stores, as the number of unused electronic coupons provided to the terminal device, the number of unused electronic coupons that have been successfully written to the memory area of the terminal device.
    When the electronic coupon is overwritten on another electronic coupon by the writing process according to the instruction from the writing instruction unit, the second update unit calculates the unused number of the other electronic coupon as the other electronic The communication system according to claim 19, wherein the first storage unit is updated so as to clear the unused number by adding to the remaining number of coupons.
  21.  端末装置に提供されて当該端末装置において利用される各電子クーポンについて、前記端末装置に提供された電子クーポンの未利用数と、前記端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部と、
     前記電子クーポンが提供された端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部と
     を備えるコンピュータに、
     前記電子クーポンを第1の端末装置に新たに提供する場合に、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得ステップと、
     前記電子クーポンの残数から、前記第1の端末装置に提供される前記電子クーポンの数を減じるよう、前記第1記憶部を更新する第1更新ステップと、
     前記第1更新ステップにおいて減じられた数の電子クーポンについて前記第1の端末装置が有するメモリ領域への書込処理を実行するよう、前記第1の端末装置に指示する書込指示ステップと、
     前記書込指示ステップにおいて前記書込処理の実行が指示される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込ステップと、
     前記書込指示ステップにおける指示に応じた前記書込処理の成功が確定した後、前記減じられた数を前記電子クーポンの未利用数に設定するよう、前記第1記憶部を更新する第2更新ステップと
     を実行させるためのプログラム。
    For each electronic coupon provided to the terminal device and used in the terminal device, the number of unused electronic coupons provided to the terminal device and the remaining number of electronic coupons that can be newly provided to the terminal device A first storage unit for storing;
    A computer comprising: a second storage unit that stores a terminal ID that identifies a terminal device to which the electronic coupon is provided and a user ID that identifies a user of the terminal device;
    An acquisition step of acquiring the terminal ID of the first terminal device and the user ID of the user of the first terminal device when the electronic coupon is newly provided to the first terminal device;
    A first updating step of updating the first storage unit so as to reduce the number of the electronic coupons provided to the first terminal device from the remaining number of the electronic coupons;
    A writing instruction step for instructing the first terminal device to execute a writing process to the memory area of the first terminal device for the number of electronic coupons reduced in the first updating step;
    When the execution of the writing process is instructed in the writing instruction step, a writing step of associating the acquired user ID with the acquired terminal ID in the second storage unit;
    After the success of the writing process according to the instruction in the writing instruction step is confirmed, the second update is performed to update the first storage unit to set the reduced number to the unused number of the electronic coupon. A program for executing steps and.
  22.  前記書込指示ステップは、前記第2記憶部において、前記取得ステップで取得した端末IDに前記取得ステップで取得したユーザIDと異なるユーザIDが対応付けられていない場合、又は、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に予め決められた条件を満たすときには、前記指示を行うことを特徴とする請求項21に記載のプログラム。 In the writing instruction step, in the second storage unit, when the user ID different from the user ID acquired in the acquisition step is not associated with the terminal ID acquired in the acquisition step, or the acquired terminal ID The program according to claim 21, wherein when the user ID different from the acquired user ID is associated with a predetermined condition, the instruction is given.
PCT/JP2012/074597 2011-09-30 2012-09-25 Server device, coupon management method, communication system, and program WO2013047535A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013536308A JP5661191B2 (en) 2011-09-30 2012-09-25 Server apparatus, coupon management method, communication system, and program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011218630 2011-09-30
JP2011-218630 2011-09-30
JP2012-054658 2012-03-12
JP2012054658 2012-03-12

Publications (1)

Publication Number Publication Date
WO2013047535A1 true WO2013047535A1 (en) 2013-04-04

Family

ID=47995567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/074597 WO2013047535A1 (en) 2011-09-30 2012-09-25 Server device, coupon management method, communication system, and program

Country Status (2)

Country Link
JP (1) JP5661191B2 (en)
WO (1) WO2013047535A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7254995B1 (en) 2022-05-12 2023-04-10 Kddi株式会社 DATA PROCESSING DEVICE, DATA PROCESSING SYSTEM, DATA PROCESSING METHOD AND PROGRAM

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072906A (en) * 2005-09-08 2007-03-22 Toshiba Tec Corp Sales promotion system, terminal used for the system, sales promotion method, and sales promotion program
JP2008225716A (en) * 2007-03-12 2008-09-25 Dainippon Printing Co Ltd Method, server, and computer program using electronic coupon stored in non-contact ic chip
JP2009169766A (en) * 2008-01-17 2009-07-30 Fuji Electric Holdings Co Ltd Electronic coupon system, server thereof, coupon issuing terminal, coupon use/collection terminal, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072906A (en) * 2005-09-08 2007-03-22 Toshiba Tec Corp Sales promotion system, terminal used for the system, sales promotion method, and sales promotion program
JP2008225716A (en) * 2007-03-12 2008-09-25 Dainippon Printing Co Ltd Method, server, and computer program using electronic coupon stored in non-contact ic chip
JP2009169766A (en) * 2008-01-17 2009-07-30 Fuji Electric Holdings Co Ltd Electronic coupon system, server thereof, coupon issuing terminal, coupon use/collection terminal, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7254995B1 (en) 2022-05-12 2023-04-10 Kddi株式会社 DATA PROCESSING DEVICE, DATA PROCESSING SYSTEM, DATA PROCESSING METHOD AND PROGRAM
JP2023167658A (en) * 2022-05-12 2023-11-24 Kddi株式会社 Data processing device, data processing system, data processing method, and program

Also Published As

Publication number Publication date
JPWO2013047535A1 (en) 2015-03-26
JP5661191B2 (en) 2015-01-28

Similar Documents

Publication Publication Date Title
US11106818B2 (en) Patient identification systems and methods
US10789578B2 (en) Network system, and server apparatus, server apparatus control method, and computer readable storage medium for use in same
JP6849444B2 (en) Authentication device, authentication system, authentication method and program
JP2019067432A (en) Authentication assisting device, authentication assisting method, and program
JP2020526953A (en) How to transfer personal information
JP5714712B2 (en) Server apparatus, coupon management method, and communication system
US9331964B2 (en) System, method, and apparatus for using a virtual bucket to transfer electronic data
RU2643648C2 (en) Prepaid virtual card and method of its creation and use
JP5667325B1 (en) ID management apparatus, ID management method, and ID management program
JP5731883B2 (en) Terminal installation system and terminal installation method
KR101672324B1 (en) System and method for providing mobile payment service supporting convinient complex payment of user
JP2021082359A (en) Authentication device, authentication system, authentication method, and program
JP2016181171A (en) Information processing apparatus, system, method, and program
JP5661191B2 (en) Server apparatus, coupon management method, communication system, and program
JP6781483B2 (en) Charge payment system
JP2008046733A (en) Method for providing personal attribute information, control server and program
JP2021077336A (en) Customer information management server and customer information management method
JP4800126B2 (en) Attribute information verification method, revocation information generation apparatus, service provider apparatus, and attribute information verification system
JP2006209183A (en) Name card information management server, name card information management terminal, name card information management program, recording medium and card information management method
JP7402294B1 (en) Information processing system, information processing method, and information processing program
KR20160142808A (en) Method for Providing Mobile Payment based on USIM by using Additional Communication Number
JP7484594B2 (en) Customer information management server, customer information management method, and program
JP2019101744A (en) Program, information processor, and card information processing method
JP2012027582A (en) Personal id integration server system, personal id integration server, and hardware id registration server
KR20160017013A (en) Method for Providing Mobile Payment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12837114

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013536308

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12837114

Country of ref document: EP

Kind code of ref document: A1