WO2014119290A1 - 制御システム、制御システムの制御方法、及び、制御装置 - Google Patents

制御システム、制御システムの制御方法、及び、制御装置 Download PDF

Info

Publication number
WO2014119290A1
WO2014119290A1 PCT/JP2014/000433 JP2014000433W WO2014119290A1 WO 2014119290 A1 WO2014119290 A1 WO 2014119290A1 JP 2014000433 W JP2014000433 W JP 2014000433W WO 2014119290 A1 WO2014119290 A1 WO 2014119290A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
terminal
data
identification information
communication
Prior art date
Application number
PCT/JP2014/000433
Other languages
English (en)
French (fr)
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
Priority claimed from JP2013016054A external-priority patent/JP6229269B2/ja
Priority claimed from JP2013016053A external-priority patent/JP6229268B2/ja
Priority claimed from JP2013016058A external-priority patent/JP6229270B2/ja
Application filed by セイコーエプソン株式会社 filed Critical セイコーエプソン株式会社
Priority to EP14745737.8A priority Critical patent/EP2953033B1/en
Priority to CN201480004391.2A priority patent/CN104919435B/zh
Priority to US14/763,041 priority patent/US10491457B2/en
Priority to KR1020157023299A priority patent/KR101772781B1/ko
Publication of WO2014119290A1 publication Critical patent/WO2014119290A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/12Cash registers electronically operated
    • G07G1/14Systems including one or more distant stations co-operating with a central processing unit

Definitions

  • the present invention relates to a control system including a control device and a terminal, a control method for the control system, and a control device.
  • POS system a control system
  • POS controller a terminal connected to the POS terminal and that performs various processing such as printing
  • POS terminal a control device
  • POS controller a terminal connected to the POS terminal and that performs various processing such as printing
  • POS terminal a control device
  • POS controller terminal
  • POS terminal a terminal connected to the POS terminal and that performs various processing such as printing
  • Patent Document 1 a control device and a terminal communicate via a network.
  • terminals such as personal computers, tablet terminals, and notebook computers, browsers installed are widely used.
  • the system and the control device When constructing a system including a terminal in which a browser is installed and a control device, the system and the control device need to correspond to a configuration in which the terminal and the control device communicate via a network.
  • the present invention has been made in view of the circumstances described above, and relates to a control system in which a terminal having a browser and a control device communicate with each other via a network. The system and the control device communicate with each other via the network. It aims at making it correspond to the structure to do.
  • the present invention establishes a communication connection between a terminal on which a browser operates and a control device that transmits and receives data to the terminal, generates identification information related to the established communication connection, and generates the generated identification information.
  • Identification related to the communication connection stored in the terminal and the control device when the communication connection is made again after the communication connection between the terminal and the control device is disconnected and the communication connection between the terminal and the control device is disconnected.
  • a communication connection is performed based on the information.
  • the identification information corresponding to the connection is stored in the terminal and the control device according to the establishment of the connection between the terminal and the control device, and at the time of reconnection after the connection is disconnected Then, reconnection is performed based on the identification information. For this reason, at the time of reconnection, it becomes possible to perform reconnection in a mode corresponding to the connection before disconnection using the identification information.
  • the communication connection based on the identification information related to the communication connection is executed when the communication connection is performed again within a predetermined period after the communication connection between the terminal and the control device is disconnected. According to the configuration of the present invention, even if there is a temporary disconnection of communication such as a momentary disconnection, reconnection can be executed in a mode using identification information.
  • the control system of the present invention includes a device that transmits data, a first communication unit that communicates with the device and receives the data transmitted by the device, and the first communication.
  • a control unit having a device control unit that assigns identification information to the data received by a unit, a storage unit that stores data to which the identification information is added, and a second communication unit that transmits the data to which the identification information is given
  • a terminal storage unit for storing the identification information of the device and the data to which the identification information transmitted from the control unit is received, the data to which the identification information received by the connection unit is received, And a terminal control unit that operates an application that processes the data to which the identification information is attached, and a terminal on which a browser operates.
  • the identification information is given to the data transmitted from the control device to the terminal, the control device stores the transmitted data, and the terminal stores the identification information related to the received data. For this reason, when there is a disconnection, it is possible to specify data not received by the terminal due to the disconnection using the identification information as a key, and it is possible to retransmit the specified data. That is, for a control system in which a terminal having a browser and a control device communicate via a network, the system can be made to correspond to a configuration in which each device communicates via the network.
  • the terminal transmits the stored identification information to the control device, and the device control unit of the control device
  • the identification information not stored in the terminal is assigned based on the identification information transmitted from the terminal and the identification information of the data to which the identification information stored in the storage unit is assigned.
  • the data is determined, and the second communication unit of the control device transmits data to which the identification information that is not stored in the terminal is added.
  • the identification information given by the device control unit of the control device is information having regularity, and the device control unit is not stored in the terminal based on the regularity of the identification information Data with the identification information is determined.
  • the terminal transmits identification information about the data received in a certain period to the control device, and the control device receives the identification information and the identification information in the stored data with the identification information.
  • the control device can identify the data that the terminal has not received by a simple means that uses the regularity of the identification information without performing processing such as identifying data that has not been received by the terminal. It is.
  • the control device assigns identification information to data transmitted from a connected device, stores the data to which the identification information is given, and stores the data to which the identification information is given as a terminal.
  • the terminal that has received the data to which the identification information has been sent stores the identification information of the data to which the identification information has been given.
  • the identification information is given to the data output from the control device to the terminal, the control device stores the output data, and the terminal stores the identification information related to the input data. For this reason, when there is a disconnection, it is possible to specify data that has not been input to the terminal due to the disconnection using the identification information as a key, and it is possible to re-output the specified data.
  • the terminal transmits the stored identification information to the control device, and the control device transmits Based on the identification information that has been stored and the identification information of the data to which the stored identification information has been added, data to which the identification information that has not been stored in the terminal is added is transmitted to the terminal.
  • the configuration of the present invention it is possible to specify data that has not been input to the terminal using the identification information when reconnecting after disconnection.
  • a control apparatus includes a first communication unit that is connected to a device and communicates with the device, and a second communication unit that is connected to a terminal on which a browser operates and receives a request from the terminal. Operate a control object for controlling the device based on a request from the communication unit and the terminal, and delete the control object after holding the control object for a predetermined period when the communication connection with the terminal is disconnected And a device control unit.
  • the control object in response to the disconnection of communication, the control object is not deleted immediately, but is deleted after being held for a predetermined period. For this reason, even if there is an unintended temporary communication disconnection, the control object is not deleted, and when the temporary communication disconnection is recovered, Control can be started. Further, since the control object is erased after being held for a predetermined period, it is prevented that the control object is not erased unnecessarily for a long time and the control of the device is not released. That is, for a control system in which a terminal having a browser and a control device communicate with each other via a network, the control device can correspond to a configuration in which each device communicates via a network.
  • the device control unit performs the control based on a request from the terminal. Create and run an object. According to the configuration of the present invention, after the communication is disconnected, even if the reconnection is not performed within a predetermined period and the control object is deleted, the control object is generated based on the request from the terminal, and the device is quickly Can be controlled.
  • the control object operated by the device control unit converts the transmitted request from the terminal into data transmitted to the device via the first communication unit. According to the configuration of the present invention, it is possible to control a device by issuing a request to the device from the terminal using the function of the control object.
  • FIG. 1 is a schematic configuration block diagram of a POS (Point of Sales) system 1 (control system) according to the present embodiment.
  • FIG. 2 is a block diagram showing a functional configuration of the tablet terminal 10 (terminal), the control device 11, and the POS server 17 constituting the POS system 1.
  • the POS system 1 is a system applied to a shopping center, a retail store such as a department store or a convenience store, a restaurant, a restaurant such as a coffee shop or a pub, and other stores and facilities.
  • the POS system 1 has a function for managing the sales status of products at a store, the status of product inventory, the status of sales, and the like, and a function for performing accounting according to products purchased by customers at a cashier counter L provided in the store. , A function of issuing a receipt in response to payment of a price by the customer, a function of providing information relating to accounting to the customer, and the like.
  • a store to which the POS system 1 according to the present embodiment is applied is provided with a cashier counter L that performs accounting processing.
  • One cashier counter L is provided with a control device 11 and a tablet terminal 10 connected to the control device 11 so as to be capable of wireless communication.
  • the tablet terminal 10 is a tablet (plate-shaped) computer.
  • the tablet terminal 10 according to the present embodiment is a computer of a type in which a touch panel 30 is provided in a display area formed on the front surface and various inputs can be performed by a touch operation.
  • the tablet terminal 10 is a terminal used by a cashier in charge of accounting at the cashier counter L. As will be described later, the tablet terminal 10 provides a user interface (I / F) to the cashier in charge at the cashier counter L.
  • the control device 11 is a device having a function as a device control device. As shown in FIG. 2, the control device 11 accommodates and manages a barcode scanner 12 (device) that reads a product or a barcode attached to the product as a device, bills, money, cash vouchers, and the like. At least one of a cash changer 13 (device) and a display 14 (device) for displaying information related to accounting to a customer is connected.
  • the control device 11 includes a control unit 20, a printing unit 21 (device), a storage unit 22, and a communication module 23.
  • the control unit 20 includes a CPU, a ROM, a RAM, other peripheral circuits, and the like, and controls the control device 11.
  • the control unit 20 includes a device control unit 20a, which will be described later.
  • the printing unit 21 includes a conveyance mechanism that conveys roll paper, a printing mechanism that prints characters and images on the roll paper using a thermal head, a cutting mechanism that cuts the roll paper, and the like. After that, it is possible to issue a receipt by cutting the roll paper at a predetermined position.
  • the storage unit 22 includes a nonvolatile memory such as an EEPROM, and stores various data in a rewritable manner.
  • the communication module 23 includes a module that wirelessly communicates with the tablet terminal 10 such as a network card according to a predetermined communication standard, a communication control circuit, and the like, and between the tablet terminal 10 according to the control of the control unit 20. Wireless communication is performed according to a predetermined communication standard.
  • the tablet terminal 10 includes a display unit 24, a terminal storage unit 25, a terminal control unit 26, a communication module 27, and an input detection unit 29.
  • the terminal control unit 26 includes a display control unit 28.
  • the terminal storage unit 25 includes a nonvolatile memory such as an EEPROM and stores various data in a rewritable manner.
  • the display unit 24 includes a touch panel 30.
  • the touch panel 30 includes a display panel 30a disposed on the front surface of the tablet terminal 10 and a touch sensor 30b disposed so as to overlap the display panel 30a.
  • the display panel 30 a is a display such as a liquid crystal display panel, an organic EL panel, or electronic paper, and is driven by the display control unit 28.
  • the touch sensor 30b is a capacitance-type or pressure-sensitive sensor that is placed on the display panel 30a, and indicates a position where the touch operation is detected by detecting a touch operation by a user's finger or a pen-type operation device.
  • the signal is transmitted to the input detection unit 29.
  • the display control unit 28 drives the display panel 30a based on display data received from a browser execution unit 26a described later, and displays a screen including characters, images, and the like on the display panel 30a.
  • the input detection unit 29 detects a touch operation on the touch panel 30 based on a signal transmitted by the touch sensor 30b. When this touch operation is detected, the input detection unit 29 generates coordinate data indicating the operation position by coordinates corresponding to the display position of the display panel 30 a and transmits the coordinate data to the terminal control unit 26.
  • the communication module 27 includes a control device 11 such as a network card according to a predetermined communication standard, and a module, a circuit, and the like that wirelessly communicate with the POS server 17. The control device 11 is controlled by the terminal control unit 26. And wireless communication with the POS server 17 in accordance with a predetermined communication standard.
  • the terminal control unit 26 includes a CPU, ROM, RAM, other peripheral circuits, and the like, and controls the tablet terminal 10.
  • the terminal control unit 26 includes a browser execution unit 26a that realizes a browser function by executing a browser program.
  • the browser execution unit 26 a downloads a web page (HTML file or the like) described in a markup language such as HTML or a script language from the POS server 17 by the function of the web browser.
  • the downloaded web page data is stored in a RAM (not shown), for example.
  • the browser execution unit 26 a reads the downloaded web page data, generates display data for displaying the web page, and transmits the display data to the display control unit 28.
  • the display control unit 28 displays a web page on the display panel 30a based on the received display data.
  • the browser execution unit 26a sends the coordinate data received from the input detection unit 29 in response to the touch operation and the display control unit 28.
  • the input content is specified based on the transmitted display data.
  • the browser execution unit 26a executes a corresponding process using a script function, for example.
  • the POS server 17 includes a server storage unit 36 that stores a database that stores information about products, a database that manages sales, a database that manages inventory, and the like, and manages the POS system 1 using these databases.
  • the POS server 17 includes a server control unit 37, a server storage unit 36, and a communication module 38.
  • the server control unit 37 includes a CPU, ROM, RAM, and other peripheral circuits, and controls each unit of the POS server 17.
  • the server storage unit 31 includes a hard disk, a nonvolatile memory such as an EEPROM, and stores various data in a rewritable manner.
  • the communication module 38 includes a module, a circuit, and the like that wirelessly communicate with the tablet terminal 10 such as a network card in accordance with a predetermined communication standard, and a predetermined communication with the tablet terminal 10 according to the control of the server control unit 37. Wireless communication is performed according to the communication standard.
  • a POS application 35 is installed in the POS server 17.
  • the browser execution unit 26 a of the tablet terminal 10 executes various processes using the function of the POS application 35 on the POS server 17. More specifically, the browser execution unit 26a appropriately requests the POS server 17 for calculation processing, causes the POS application 35 to execute calculation processing, receives the processing result, and responds based on the processing result. Execute the process. For example, the browser execution unit 26a transmits the reading result of the barcode scanner 12 to the POS server 17, causes the POS application 35 to execute a product search, receives the search result, and controls the control device 11 based on the search result. To display product information on the display 14. Further, it requests the calculation of the total amount of accounting, causes the POS application 35 to calculate the total amount, receives the calculation result, controls the control device 11 based on the calculation result, and prints information including the total amount. Issue a receipt.
  • the “application that operates in the browser” includes an application installed in another device with which the browser execution unit 26 a can communicate, such as the POS application 35. That is, the “application that operates in the browser” includes an application that is installed in a device different from the tablet terminal 10 and that can be used by the browser execution unit 26a. In this case, the application may be activated and executed by another device capable of communication, and the application is downloaded from the other device to the tablet terminal 10 and activated by the tablet terminal 10. It may be executed and operated.
  • the “application that operates in the browser” includes programs and software that can be used by the browser execution unit 26a, such as scripts implemented in web pages (HTML files and the like) read by the browser execution unit 26a.
  • FIG. 3 is a diagram illustrating in more detail functional block diagrams of the browser execution unit 26a of the tablet terminal 10 and the device control unit 20a of the control device 11.
  • programs, software objects, blocks representing functions realized by the programs, physical devices such as devices, and the like are represented at the same level.
  • an “object” is an instance generated by object-oriented programming, that is, a functional block defined as a set of data and methods.
  • the “object” is not limited to an instance generated by object-oriented programming, and may be a functional block that can execute processing based on the corresponding function.
  • the “object” may be a functional block that realizes its function when an application is read and executed by a hardware resource such as a CPU.
  • a configuration in which the function of one functional block is realized by one application a configuration in which the functions of a plurality of functional blocks are realized by one application, or a plurality of functions may be realized.
  • a configuration in which the function of one functional block is realized by an application may be employed.
  • an application AP operates in the browser execution unit 26a of the tablet terminal 10.
  • the application AP includes an application that operates on another device such as the POS application 35, an application downloaded from another device, a script implemented in an HTML file read by the browser execution unit 26a, and the like.
  • the browser execution unit 26a is a concept including an application that can use the function.
  • a cache changer I / F object 40 (interface object), a barcode scanner I / F object 41 (interface object), a display I / F object 42 (interface object), and a printer I / F object 43 (Interface object) is operable.
  • the overall control object 44 and the connection unit 45 can operate.
  • the second communication unit 50 In the device control unit 20a, the second communication unit 50, the relay object 51, the cache changer control object 53 (control object), the barcode scanner control object 54 (control object), the display control object 55 (control object), and the printer control.
  • the object 56 (control object) and the first communication unit 71 can operate.
  • FIG. 4 is a flowchart showing a procedure when objects are generated in the browser execution unit 26a and the device control unit 20a.
  • the barcode scanner I / F object 41 is generated as an interface object
  • the barcode scanner control object 54 is used as a control object. Represents.
  • the application AP executes the overall control object generation process (step SA1).
  • the overall control object generation process is a process for generating the overall control object 44.
  • the overall control object 44 is implemented with various methods related to control of the POS system 1, such as methods related to communication path establishment and disconnection processing, and control object and interface object generation and deletion processing. Object.
  • step SA1 The overall control object generation process in step SA1 is executed when, for example, a dedicated API (Application Program Interface) is provided by the manufacturer of the control device 11, and the application AP uses the function of the API.
  • the application AP executes a communication path establishment request (communication request) (step SA2).
  • a communication path establishment request is a state in which a logical communication path K1 related to WebSocket is established between the tablet terminal 10 and the control device 11, and data can be transmitted and received between these devices according to WebSocket.
  • a request to establish This communication path establishment request (communication request) is made when the application AP calls and executes a dedicated method implemented in the overall control object 44.
  • WebSocket is one of the communication standards that enables asynchronous two-way communication between a server and a client connected via a network. In WebSocket, after a server and a client establish a WebSocket connection CT, data transmission / reception is performed using a dedicated protocol by the connection. For this reason, it is not necessary to establish a connection every time data transmission occurs.
  • the communication path K1 is a logical communication path for transmitting and receiving data between the tablet terminal 10 connected by the communication path K1 and the control device 11 according to the WebSocket protocol and procedure. Therefore, after a predetermined handshake is performed between the tablet terminal 10 and the control device 11 and the communication path K1 is established, these apparatuses can transmit and receive data asynchronously through the communication path K1.
  • connection unit 45 and the second communication unit 50 are WebSocket interfaces that transmit and receive data in accordance with WebSocket standards and procedures. These functional blocks are generated using, for example, a Socket library related to WebSocket.
  • the second communication unit 50 has a function of processing the data received from the relay object 51 according to the WebSocket and transmitting the data through the communication path K1 according to the procedure according to the WebSocket. Further, the second communication unit 50 has a function of performing processing according to WebSocket for data received through the communication path K ⁇ b> 1 and transmitting the data to the relay object 51. The same applies to the connecting portion 45.
  • the relay object 51 is an object that operates in the device control unit 20a. In the relay object 51, in addition to the above-described method for establishing the communication path K1, methods for performing various processes described later are mounted.
  • a communication path ID that is identification information of the communication path K1 is given to the communication path K1 by the function of the overall control object 44 or the relay object 51.
  • the assigned communication path ID is stored in a predetermined storage area in the terminal storage unit 25 in a state where the application AP can refer to the tablet terminal 10.
  • the communication path ID is stored in a predetermined storage area in the storage unit 22 in a state where the relay object 51 can be referred to in the control device 11. Note that, by establishing the communication path K1, a communicable state is established between the tablet terminal 10 (terminal) and the control device 11.
  • the application AP executes a barcode scanner control object generation request (device control request) (step SA4).
  • the barcode scanner control object generation request is a process for requesting generation of the barcode scanner control object 54 operating on the device control unit 20a.
  • the generation of the device control object establishes a state in which the corresponding device can be controlled (device control is established). Therefore, the processing in step SA4 is performed by “application (or terminal). Corresponds to the process of “requesting device control”.
  • identification information (hereinafter referred to as “device ID”) is assigned to each device connected to the control apparatus 11 for each type of device.
  • “scanner” is assigned to the barcode scanner 12 as a device ID.
  • the application AP designates the device ID of the barcode scanner 12, which is a corresponding device.
  • the relay object 51 generates a control object corresponding to the device to be generated, using the designated device ID as a key.
  • a control object is an object in which various methods related to device control are implemented, and controls the corresponding device by using the function of the corresponding handler.
  • the cache changer control object 53 has methods for executing various processes related to the control of the cache changer 13.
  • the object controls the cache changer 13 using the function of the cache changer handler 61.
  • a handler is a function or a subroutine that executes processing related to a corresponding device in response to a request. For example, when the barcode scanner 12 executes barcode reading, the barcode scanner handler 60 receives an input of the reading result, performs an interruption process, and reads the reading result (for example, a numeric character string). Data) to the barcode scanner control object 54.
  • the other handlers cache changer handler 61, display handler 62, and printer handler 63).
  • the first communication unit 71 is a device interface connected to various devices, transmits data transmitted from the control object to the device, and transmits data transmitted from the device to the control object. As described above, the control device 11 establishes control of the corresponding device by generating the control object.
  • the overall control object 44 issues a barcode scanner control object generation request to the relay object 51 through the communication path K1 (step SA5).
  • the relay object 51 uses a control object (in this example, a barcode scanner) corresponding to a device ID (in this example, the device ID “scanner” of the barcode scanner 12) specified by a new statement, for example.
  • a control object 54 is generated (step SA6). That is, the device control unit 20a generates a control object, and the generated control object operates in the device control unit 20a.
  • step SA6 the relay object 51 manages the generated barcode scanner control object 54 in association with the communication path ID assigned in step SA3. This is the same when other control objects are generated. In this way, since the association between the control object and the communication path ID is performed by the relay object 51, the relay object 51 can grasp which application AP is under the management of each control object.
  • each of the tablet terminals establishes a WebSocket communication path with the control device 11.
  • a different communication path ID is assigned to each communication path.
  • the first tablet terminal generates the barcode scanner control object 54 in order to place the barcode scanner 12 under the control of the application AP that operates by itself.
  • the relay object 51 manages the barcode scanner control object 54 in association with the communication path ID of the communication path related to the first tablet terminal. Further, it is assumed that the second tablet terminal has generated the cash changer control object 53 in order to place the cash changer 13 under the control of the application AP that operates by itself. In this case, the relay object 51 manages the cash changer control object 53 in association with the communication path ID of the communication path related to the second tablet terminal. Accordingly, the relay object 51 uses the communication path ID corresponding to the data transmitted from the barcode scanner control object 54 to the first tablet terminal based on the reading result of the barcode scanner 12, that is, the first It transmits to a 1st tablet terminal by the communication path which concerns on 1 tablet terminal.
  • the application AP that operates on the second tablet terminal controls the cash changer 13
  • the application AP that operates on the second tablet terminal controls the cash changer 13
  • the communication path ID of the communication path if there is communication through the communication path related to the second tablet terminal, it is associated with the communication path ID of the communication path.
  • Data or the like is transmitted to the cache changer control object 53.
  • the relay object 51 manages each control object in association with the communication path ID, so that even when a plurality of tablet terminals are connected and a plurality of communication paths are established, The control object does not communicate on the wrong communication path.
  • the relay object 51 When the generation of the barcode scanner control object 54 is completed, the relay object 51 notifies the overall control object 44 through the communication path K1 that the generation of the object has been completed (step SA7).
  • the overall control object 44 sends the notification to the application AP (step SA8). Note that, during the barcode scanner control object generation processing in step SA4, a callback for receiving the processing result of the processing related to the generation of the control object is specified, and the callback function is executed, so that the application AP is Thus, notification that the generation of the barcode scanner control object 54 has been successful is performed. Further, the overall control object 44 generates the barcode scanner I / F object 41 in correspondence with the barcode scanner control object 54 that has been generated (step SA9).
  • the interface object has a function as an interface that allows the application AP to use a method implemented in the control object related to the corresponding device when the device is controlled by the application AP. That is, when an application AP controls a certain device and transmits information to an interface object corresponding to the one device, the interface object communicates with a control object corresponding to the one device. Then, the method implemented in the control object is executed, and the control of the one device can be realized.
  • the application AP transmits information related to the control of the printing unit 21 to the printer I / F object 43.
  • the printer I / F object 43 communicates with the printer control object using the communication path K ⁇ b> 1 and transmits information related to the control of the printing unit 21 received from the application AP to the printer control object 56.
  • the printer control object 56 controls the printing unit 21 based on the received information related to the control of the printing unit 21.
  • the application AP can control the device using the method of the control object via the interface object. That is, “establishing device control via the control device 11 by the application AP” is performed by generating the interface object accompanying the generation of the control object.
  • the generation of the barcode scanner control object 54 and the barcode scanner I / F object 41 is completed.
  • control objects and interface objects are generated in the same procedure.
  • the corresponding interface object is generated. Due to such a configuration, a pair of control objects and an interface object are always generated for one device, and a state in which the device can be controlled by the application AP is established for each device.
  • a pair of interface objects and control objects are generated for each device connected to the control apparatus 11. Due to such a configuration, the application AP can reliably control the one device by using the function of the interface object corresponding to the one device when controlling the certain device. The data can be transmitted / received to / from the one device. Further, when developing (programming) the application AP, a program related to a software interface related to device control can be developed easily by considering the relationship with the interface object of each device. For example, a program related to the control of the cache changer 13 in the application AP may be developed in consideration of transmission / reception of information (data) in relation to the cache changer I / F object 40, and the development becomes easy.
  • the application AP executes an erase request (device control release request) for the barcode scanner control object 54 (step SB1). At that time, the application AP designates the device ID of the barcode scanner 12. The request for deleting the control object is executed when the application AP executes a method implemented in the overall control object 44. In response to the erasure request for the barcode scanner control object 54 by the application AP, the overall control object 44 issues an erasure request for the barcode scanner control object 54 to the relay object 51 through the communication path K1 (step SB2).
  • the relay object 51 uses a control object (in this example, a barcode) corresponding to a device ID (in this example, the device ID “scanner” of the barcode scanner 12) specified by the delete operator.
  • the scanner control object 54 is deleted (step SB3). By erasing the control object, establishment of control of the barcode scanner 12 in the control device 11 is released.
  • the relay object 51 When the erasure of the barcode scanner control object 54 is completed, the relay object 51 notifies the overall control object 44 that the erasure has been completed via the communication path K1 (step SB4). Sends the notification to the application AP (step SB5).
  • step SB1 a callback for receiving the processing result of the process related to the deletion of the control object is specified, and the barcode scanner control is performed on the application AP by executing the callback function. A notification that the erasure of the object 54 is successful is performed. Further, the overall control object 44 deletes the barcode scanner I / F object 41 in correspondence with the barcode scanner control object 54 that has been deleted (step SB6).
  • the application AP requests disconnection (communication release request) of the communication path K1 established with the control device 11 (step SB7).
  • the request is executed by the application AP executing a dedicated method implemented in the overall control object 44.
  • the overall control object 44 and the relay object 51 disconnect the communication path K1 established between the connection unit 45 and the second communication unit 50 in accordance with the WebSocket standard (step SB8).
  • the generated control object and interface object are deleted and the established communication is released.
  • the generated control object can be deleted at an arbitrary timing according to the request of the application AP. That is, when it is no longer necessary for the application AP to be under the control of a certain device, the application AP can immediately delete the control object related to the one device and release the control of the one device. Is possible. For this reason, it is possible to effectively prevent a control object from remaining unnecessarily and an application AP of another tablet terminal from unnecessarily continuing a state in which the device cannot be controlled.
  • the tablet terminal 10 executes the following processing. That is, the person in charge of the cash register or another person who engages in other work starts up the browser of the tablet terminal 10 and instructs the touch panel 30 to display the user interface UI (see FIG. 6A).
  • the browser execution unit 26a of the terminal control unit 26 accesses a predetermined address on the POS server 17, acquires web page data such as an HTML file, and sets the user interface UI based on the data. Display on the touch panel 30.
  • FIG. 6A is a diagram illustrating an example of a user interface UI displayed on the touch panel 30.
  • a list display area 65 in which the name of the product purchased by the customer, the unit price of the product, and the quantity of the product are displayed in a list is displayed on the upper left.
  • an amount display area 66 is displayed in which the total amount of products purchased by the customer, the amount of money deposited from the customer at the time of accounting, and the amount of change to be given to the customer are displayed.
  • a bar code information input field which is an input field where information (hereinafter referred to as “bar code information”) represented by the bar code read by the bar code scanner 12 is input and displayed.
  • Bar code information is basically identification information uniquely assigned to each type of product.
  • a software numeric keypad 68 is displayed on the right side of the barcode information input field 67. Information can be input to each of the input fields formed on the user interface UI via the software numeric keypad 68.
  • the software numeric keypad 68 has a key for inputting information.
  • an address input field 69 for displaying an access destination address is displayed at the upper end portion of the user interface UI.
  • FIG. 7 is a flowchart for explaining the procedure of the above process.
  • a callback name is registered in advance for the barcode scanner I / F object 41 by the application AP (step SC1).
  • the callback name is an identification name assigned to each event (for example, an event of reading a barcode by the barcode scanner 12).
  • the cashier person reads the bar code attached to one product purchased by the customer by the bar code scanner 12 (step SX1).
  • the reading result is input to the barcode scanner handler 60 (step SC2).
  • the barcode scanner handler 60 performs interrupt processing and transmits barcode information as a reading result to the barcode scanner control object 54 (step SC3).
  • the barcode scanner control object 54 includes at least a device ID of the barcode scanner 12 (in this example, “scanner”), a callback name (in this example, “ondata”), and barcode information (data). Data is transmitted to the relay object 51 in a predetermined data format (step SC4).
  • the relay object 51 generates a data ID (identification information) and assigns it to the barcode information included in the received data in a predetermined manner (step SC5).
  • the data ID is identification information uniquely assigned to identify data (barcode information in this example) to be transferred to the application AP.
  • the data ID is a number, and the relay object 51 generates and assigns the data ID such that the value increases as the transmission of data to the overall control object 44 becomes slower in time. . For example, when the data ID of the value “1” is generated and assigned to the received barcode information and transmitted to the overall control object 44, the value “2” (from “1”) If it is a large value, a data ID other than “2” may be generated, assigned, and transmitted to the overall control object 44. A method of using the assigned data ID will be described in detail later.
  • the relay object 51 stores the barcode information (data) to which the data ID is assigned in a predetermined storage area in the storage unit 22 (step SC6).
  • data (device-related information) related to the device with the data ID transmitted to the application AP is cumulatively stored in the storage unit 22.
  • the relay object 51 receives the barcode ID (data) with the device ID of the barcode scanner 12 (in this example, “scanner”), the callback name (in this example, “ondata”), and the data ID.
  • the included data is transmitted to the overall control object 44 in a predetermined data format (step SC7).
  • the relay object 51 transmits data through the communication path K1 related to the communication path ID associated with the barcode scanner control object 54.
  • the overall control object 44 transmits data to a predetermined interface object (in this example, the barcode scanner I / F object 41) using the device ID included in the received data as a key (step SC8).
  • the barcode scanner I / F object 41 executes a predetermined callback function based on the callback name (in this example, “ondata”), and transmits barcode information with a data ID to the application AP ( Step SC9).
  • the application AP executes display processing based on the received barcode information, and displays the barcode information in the barcode information input field 67 (step SC10). As a result, the barcode information is displayed in the barcode information input field 67 as shown in FIG.
  • the application AP extracts the data ID from the received barcode information with the data ID, and stores the data ID in a predetermined storage area of the terminal storage unit 25 (step SC11).
  • the terminal storage unit 25 cumulatively stores the data ID of the data transmitted to the application AP among the transmission data of the device (in this example, barcode information). It becomes. A method of using the data ID stored in the terminal storage unit 25 will be described later.
  • FIG. 8 is a flowchart for explaining the procedure of the above process.
  • the application AP generates an image to be printed on a receipt using the implemented function, and generates an XML file (information on a device) including information on a receipt to be issued by the printing unit 21 based on the generated image.
  • the XML file includes information for issuing a receipt, such as information on characters and images to be printed on a receipt, in a predetermined format in accordance with the XML format.
  • the printer control unit 80 The XML file can be converted into a control command of the command system of the printing unit 21.
  • the application AP transmits, to the printer I / F object 43, data including at least the device ID of the printing unit 21, information specifying a function to be executed by the printer control object 56, and the generated XML file.
  • the function executed by the printer control object 56 is a function that performs processing for transmitting the XML file to the printer control unit 80 via the printer display I / F 81.
  • the printer I / F object 43 sends a request for transmission of data transmitted from the application AP to the printer control object 56 to the overall control object 44.
  • the overall control object 44 transmits the data to the relay object 51 through the communication path K1 (Step SD4), and the relay object 51 transmits the data to the printer control object 56 (Step SD5).
  • the printer control object 56 executes the function specified in the received data, thereby transmitting the XML file included in the received data to the printer control unit 80 via the printer display I / F 81 (step SD6). At that time, the printer control object 56 performs data shaping and data conversion so that the printer control unit 80 can process the XML file, and then transmits the XML file to the printer control unit 80.
  • the printer control unit 80 is a functional block realized by a function of a so-called printer driver.
  • the printer control unit 80 generates a control command according to the command system of the printing unit 21 based on the received XML file. It transmits to the printing part 21 (step SD7). Based on the received control command, the printing unit 21 operates various mechanisms to issue a receipt (step SD8).
  • the application AP transmits display data to the display control object 55 via the display I / F object 42.
  • the display control object 55 transmits display data to the display control unit 82 via the printer / display I / F 81.
  • the display control unit 82 converts the received display data into a control command system of the command system of the display 14 and transmits it to the display 14 using the function of the display handler 62.
  • the display 14 displays display data based on the control command.
  • control of the device by the application AP and transmission / reception of data between the application AP and the device are appropriately performed by communication between the interface object corresponding to the device and the control object.
  • the tablet terminal 10 and the control device 11 perform communication according to WebSocket. That is, any device can transmit data to the other device without issuing a data transmission request from the browser related to the tablet terminal 10 to the control device 11 functioning as a server.
  • the interface object and the corresponding control object can communicate bidirectionally. Therefore, as described with reference to the flowchart of FIG. 7, it is possible to smoothly transmit data from the device to the application AP via the control object and the interface object, triggered by the event on the device side.
  • the application AP can control the device via the interface object and the control object using an event on the application AP side as a trigger.
  • the control of the corresponding device is established by generating the control object of each device.
  • the generation of the control object establishes a state in which data can be transmitted / received to / from the corresponding control object, thereby enabling the corresponding device to execute various processes by the application AP.
  • Data can be transmitted from the corresponding device to the application AP.
  • the control object may cause the device to perform specific processing by transmitting the data transmitted by the application AP to the device (or the control unit of the device).
  • a control command may be sent to the device to cause the device to perform a specific process.
  • the barcode scanner control object 54 acquires the reading result by interrupt processing when the barcode scanning is executed by the corresponding barcode scanner 12 as its function (method). Then, it has a function (method) of transmitting the acquired reading result to the application AP via the barcode scanner I / F object 41. That is, the barcode scanner control object 54 enables transmission of the read result to the tablet terminal 10 in accordance with the reading of the barcode by the corresponding barcode scanner 12. Therefore, establishment of device control here represents establishment of a state in which the reading result of the corresponding barcode scanner 12 can be transmitted to the tablet terminal 10. These functions can be executed by generating the barcode control object 54.
  • the printer control object 56 performs data shaping and data conversion on the XML file generated by the application AP so that the printer control unit 80 can process it, and then transmits the XML file to the printer control unit 80.
  • the printer control unit 80 generates and transmits a control command based on the data transmitted in a processable manner, and causes the printing unit 21 to issue a receipt (execute printing).
  • the printer control object 56 acquires data transmitted by the printing unit 21 (for example, data representing the status (out of paper, error, etc.) of the printing unit 21) via the printer control unit 80. Then, the printer control object 56 transmits the acquired data to the application AP via the printer I / F object 43.
  • the establishment of device control is a state in which data can be transmitted from the tablet terminal 10 (application AP) to the corresponding printing unit 21, and printing is performed on the printing unit 21 by the tablet terminal 10 (application AP). It represents the establishment of a state in which various processes can be executed. In addition, it represents establishment of a state in which data can be transmitted from the corresponding printing unit 21 to the tablet terminal 10 (application AP) at an appropriate timing. These functions are realized by generating the printer control object 56.
  • the device control is established in the same manner as the printer control object 56. That is, by generating the display control object 55, it is possible to transmit data from the tablet terminal 10 (application AP) to the corresponding display, and to display various information on the display 14 by the tablet terminal 10 (application AP). A possible state is established. Further, the generation of the display control object 55 establishes a state in which data can be transmitted from the display 14 to the tablet terminal 10 (application AP) at an appropriate timing.
  • the cash changer control object 53 generates a control command corresponding to the process to be executed based on a request from the application AP, and transmits the control command to the cash changer 13.
  • Various processes are executed. Generation and transmission of this control command are performed by executing a method instructed by the application AP.
  • the tablet terminal 10 (application AP) causes the cash changer 13 to execute an arbitrary process by designating a method implemented in the cash changer control object 53 via the cash changer I / F object 40. be able to.
  • the cache changer control object 53 acquires the processing result by interruption processing when the cash changer 13 performs counting or when the cash changer 13 is deposited / withdrawn, and the acquired processing result is cached.
  • the data is transmitted to the application AP via the changer I / F object 40.
  • the device control here is established in a state in which data can be transmitted from the tablet terminal 10 (application AP) to the corresponding cash changer 13, and the cash changer 13 is charged by the tablet terminal 10 (application AP).
  • This represents establishment of a state in which various processes such as can be executed.
  • it represents establishment of a state in which data can be transmitted from the corresponding cash changer 13 to the tablet terminal 10 (application AP) at an appropriate timing.
  • the tablet terminal 10 and the control device 11 are connected so as to be able to perform wireless communication in accordance with a predetermined standard such as Ethernet (registered trademark), but temporarily and unintentionally due to radio wave interference and other causes, Communication may be disconnected (so-called instantaneous interruption). Even when the communication is not wireless communication, the communication may be temporarily disconnected due to, for example, disconnection of the communication cable or contact failure. In such a case, the tablet terminal 10 and the control device 11 perform processing based on the presence of the control object as described below.
  • a predetermined standard such as Ethernet (registered trademark)
  • Ethernet registered trademark
  • Communication may be disconnected (so-called instantaneous interruption). Even when the communication is not wireless communication, the communication may be temporarily disconnected due to, for example, disconnection of the communication cable or contact failure.
  • the tablet terminal 10 and the control device 11 perform processing based on the presence of the control object as described below.
  • FIG. 9 is a flowchart illustrating operations of the tablet terminal 10 and the control device 11 when communication is disconnected.
  • FIG. 9A shows the processing procedure of the application AP that operates on the tablet terminal 10
  • FIG. 9B shows the processing procedure of the relay object 51 that operates on the control device 11.
  • a communication path K1 is established between the tablet terminal 10 and the control device 11, and the control device 11 includes a cash changer 13, a barcode scanner 12, a display 14, It is assumed that the control objects of the printing unit 21 are generated.
  • the application AP monitors whether or not the communication is disconnected (step SE1).
  • the connection unit 45 is configured to monitor the presence or absence of communication disconnection by means according to the WebSocket standard, and when the communication disconnection occurs, the connection unit 45 transmits the fact to the application AP.
  • step SE1 YES
  • the application AP attempts reconnection by the function of the overall control object 44, and determines whether or not the reconnection is successful (step SE2). This reconnection attempt is made for a predetermined period.
  • the relay object 51 monitors whether or not the communication has been disconnected (step SF1).
  • the second communication unit 50 monitors the presence or absence of communication disconnection by means according to the WebSocket standard, and when the communication disconnection occurs, the second communication unit 50 transmits that fact to the application AP. It is a configuration.
  • the relay object 51 When the communication is disconnected (step SF1: YES), the relay object 51 starts measuring the elapsed time after the communication is disconnected (step SF2). As will be apparent later, the relay object 51 is configured to delete the control object associated with the communication path ID related to the disconnected communication when the elapsed time after the disconnection of the communication exceeds the period T1. It is. In this period T1, the value is determined so as to be a reference value for determining whether the communication disconnection is an intended disconnection or an unintentional instantaneous disconnection.
  • the relay object 51 After starting the measurement of the elapsed time, the relay object 51 monitors whether or not the elapsed time has reached the period T1 (step SF4), and has the communication reconnection been performed before the elapsed time reaches the period T1? It is determined whether or not (step SF3).
  • the communication disconnection can be regarded as an intentional disconnection, not an instantaneous disconnection.
  • the relay object 51 deletes the control objects (in this example, the cache changer 13, the barcode scanner 12, the display 14, and the control unit 21 of the printing unit 21) associated with the communication path ID related to the disconnected communication. (Step SF5). As described above, by erasing the control object, each device is released to an application AP that operates on another tablet terminal, and the other application AP newly generates a control object and is in a controllable state. Become.
  • control device 11 communication is again performed between the control device 11 and the tablet terminal 10 (which may be the same terminal as before the disconnection of communication or a different terminal).
  • the device control unit 20a When established, the device control unit 20a generates and operates a control object based on a request from the tablet terminal 10 according to the procedure described in FIG.
  • the communication is disconnected, reconnection is not performed within a predetermined period, and accordingly, even when the control object is deleted, the device can be quickly controlled.
  • the disconnection of communication is regarded as intentional disconnection, and the control object is deleted (control object). Open). Due to such a configuration, it is possible to prevent a time during which the device cannot be controlled by another application AP from being continued unnecessarily for a long time.
  • step SE2 when the reconnection is successful as a result of the reconnection attempt in step SE2 (step SE2: YES), the application AP transmits the communication path K1 related to the disconnected communication.
  • the ID is transmitted to the relay object 51 (step SE3).
  • the communication path ID is given along with the establishment of the communication path K1, and is stored in a predetermined storage area in the terminal storage unit 25 in a manner that the application AP can refer to.
  • step SF6 the relay object 51 determines whether or not there is a control object associated with the received communication path ID. If it does not exist (step SF7: NO), the relay object 51 ends the process.
  • step SF7 when there is a control object associated with the communication path ID that has communicated (step SF7: YES), the relay object 51 cancels the deletion after the period T1 for these control objects and deletes the control objects. If not, continue (control the generation of the control object) (step SF8).
  • the disconnection of the communication when reconnection of communication is successful within the period T1 after the disconnection of communication, the disconnection of the communication is considered to have a high probability of being an unintentional instantaneous interruption, and thus the disconnected communication is performed.
  • the control object associated with the communication path ID of the communication path K1 is continued. Due to such a configuration, the application AP can control the device quickly and efficiently without generating a new control object when controlling the device. Further, when one application AP controls a device, control of the device is released to another application AP due to an instantaneous interruption (a corresponding control object is deleted), and control is performed by the other application AP. There is no such thing as being acquired.
  • step SF8 control of the generation of the control object
  • step SE4 data retransmission processing
  • FIG. 10 is a flowchart showing the processing of the application AP and the relay object 51 in the data reprocessing.
  • (A) shows the processing of the application AP
  • (B) shows the processing of the relay object 51.
  • the application AP transmits the data ID of the most recently received data among the data IDs stored in the terminal storage unit 25 to the relay object 51 (step SG1).
  • the data (device-related information) related to the device received by the application AP is given a data ID.
  • the application AP has the received data ID.
  • the data ID is extracted from the bar code information, and the data ID is stored in a predetermined storage area of the terminal storage unit 25.
  • the relay object 51 When receiving the data ID from the application AP, the relay object 51 matches the data ID in the data with the data ID stored cumulatively in the storage unit 22 with the data ID received from the application AP. Then, the data to be transmitted to the application AP but not transmitted to the application AP is specified (determined) (step SH1). More specifically, the relay object 51 generates the data ID with the regularity that when the data ID is generated, the value is increased as the data transmission to the application AP is slower in time. . Based on this, the relay object 51 has successfully completed transmission of data to which the data ID received from the application AP and the data ID having the same value are assigned.
  • step SH1 the relay object 51 determines that the data ID that is not stored in the tablet terminal 10 among the data IDs assigned to the data transmitted to the tablet terminal 10 to the tablet terminal 10 normally.
  • the data ID of data that has not been transmitted is specified.
  • the relay object 51 transmits data (information on the device) that has not been transmitted to the application AP (step SH2).
  • the application AP acquires the data transmitted by the relay object 51 and executes processing as appropriate (step SG2).
  • the POS system 1 controls the tablet terminal 10 (terminal) on which the browser operates and the tablet terminal 10 to communicate with each other and transmit / receive data to / from the tablet terminal 10.
  • the tablet terminal 10 and the control apparatus 11 memorize
  • the communication connection is performed based on the identification information related to the communication connection stored in the.
  • these devices store identification information corresponding to the connection, and at the time of reconnection after disconnection, Reconnection is performed based on the identification information.
  • the system can correspond to the configuration in which each device communicates via the network. it can.
  • the identification information related to communication connection is identification information given to the communication path between the tablet terminal 10 and the control device 11. According to this configuration, reconnection can be performed using the identification information of the communication path using the establishment of the communication path between the tablet terminal 10 and the control device 11.
  • the POS system 1 includes a device connected to the control device 11. Then, the control device 11 generates a control object that controls the device, and a storage unit 22 that stores the control object generated by the device control unit 20a and the identification information related to the communication connection in association with each other. Have According to this configuration, each device can be managed in association with the identification information.
  • the device control unit 20a deletes the control object when the communication connection between the tablet terminal 10 and the control device 11 is disconnected and the communication connection is not made again within a predetermined period. To do. According to this configuration, when there is a temporary disconnection such that reconnection is performed within a predetermined period after disconnection, the control object used at the time of connection before disconnection is prevented from being deleted. However, after reconnection, the control object can be used without generating a control object again. Further, it is possible to prevent the control object from being erased unnecessarily for a long time, and accompanying this, the device from being released from control.
  • the device control unit 20a reconnects the communication when the communication connection between the tablet terminal 10 and the control device 11 is disconnected and then the communication connection is made again within a predetermined period.
  • the generation of the control object is controlled based on the identification information at that time and the identification information associated with the control object stored in the storage unit 22. According to this configuration, after reconnection by temporary disconnection, the control object used at the time of connection before disconnection can be determined and used using the identification information as a key.
  • the POS system 1 receives a device that transmits data, the first communication unit 71 that communicates with the device, and receives the data transmitted by the device, and the first communication unit 71 receives the data.
  • a control unit 11 having a device control unit 20a for giving identification information to the data, a storage unit 22 for storing the data to which the identification information is given, and a second communication unit 50 for transmitting the data to which the identification information is given.
  • a connection unit 45 that receives data provided with identification information transmitted from the control device 11, a terminal storage unit 25 that stores identification information of data provided with identification information received by the connection unit 45, and an identification A tablet terminal 10 that includes a terminal control unit 26 that operates an application that processes data to which information is attached, and that operates a browser;
  • the identification information is given to the data transmitted from the control device 11 to the terminal, the control device 11 stores the data to be transmitted, and the terminal stores the identification information related to the received data. .
  • the system can correspond to a configuration in which each device communicates via the network.
  • the tablet terminal 10 when the connection between the tablet terminal 10 and the control device 11 is disconnected and then reconnected, the tablet terminal 10 transmits the stored identification information to the control device 11, and the control device 11.
  • the device control unit 20a is based on the identification information transmitted from the tablet terminal 10 and the identification information of the data to which the identification information stored in the storage unit 22 is added, and is not stored in the tablet terminal 10. Is determined, and the second communication unit 50 of the control device 11 transmits data to which identification information that is not stored in the tablet terminal 10 is added. According to this configuration, at the time of reconnection after disconnection, identification information can be used to specify data that is not received by the tablet terminal 10.
  • the identification information provided by the device control unit 20a of the control device 11 is information having regularity, and the device control unit 20a is connected to the tablet terminal 10 based on the regularity of the identification information. Data with identification information that is not stored is determined.
  • the tablet terminal 10 transmits the identification information for all of the data received in a certain period to the control device 11, and the control device 11 includes the received identification information and the stored identification information.
  • the control device 11 is a simple means using the regularity of the identification information without performing processing such as specifying the data not received by the tablet terminal 10 by comparison with the identification information in the data. Can identify data that has not been received.
  • control device 11 is connected to the first communication unit 71 connected to the device and communicates with the device and the tablet terminal 10 on which the browser operates, and receives a request from the tablet terminal 10. 2 After operating the control object for controlling the device based on the request from the communication unit 50 and the tablet terminal 10 and holding the control object for a predetermined period when the communication connection with the tablet terminal 10 is disconnected A device control unit 20a to be erased.
  • the control object in response to the disconnection of communication, the control object is not deleted immediately, but is deleted after being held for a predetermined period. For this reason, even if there is an unintended temporary communication disconnection, the control object is not immediately deleted, and when the temporary communication disconnection is recovered, It is possible to start control of the device.
  • control object since the control object is deleted after being held for a predetermined period, the control object is not deleted unnecessarily for a long period of time, and accordingly, it is prevented that the control of the device is not released. That is, according to the configuration of the present invention, for the POS system 1 in which the tablet terminal 10 having the browser and the control device 11 communicate via the network, the control device 11 communicates via the network with each device. Can be matched.
  • the device control unit 20a is configured such that when the communication connection with the tablet terminal 10 is disconnected and the communication connection with the tablet terminal 10 is performed after a predetermined period or more has elapsed, the tablet terminal 10 A control object is generated and operated based on the request from 10. According to this configuration, after the communication is disconnected, reconnection is not performed within a predetermined period, and accordingly, even when the control object is deleted, the control object is generated based on the request of the tablet terminal 10. Thus, the device can be quickly controlled.
  • the control object operated by the device control unit 20 a converts the transmitted request from the tablet terminal 10 into data transmitted to the device via the first communication unit 71. According to the configuration of the present invention, it is possible to control a device by issuing a request to the device from the terminal using the function of the control object.
  • the above-described embodiment is merely an aspect of the present invention, and can be arbitrarily modified and applied within the scope of the present invention.
  • the present invention has been described by taking the case where the POS system 1 is applied to a store having a cashier counter L as an example.
  • the usage mode of the POS system is not limited to this example, It can also be applied to restaurants such as coffee shops and restaurants.
  • the control device 11 and the POS server 17 are separate devices, but the control device 11 may have the function of the POS server 17.
  • the control device 11 is a thermal printer, but any recording format may be used.
  • each functional block shown in FIGS. 2 and 3 can be arbitrarily realized by cooperation of hardware and software, and does not suggest a specific hardware configuration. Each device may execute various operations by executing a program stored in an externally connected storage medium.
  • the present invention is useful for a POS terminal to which a terminal such as a tablet terminal is connected and a POS system using the POS terminal, and is applicable to an information processing apparatus and an information processing system such as a POS system. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

 ブラウザーを有する端末と、制御装置とがネットワークを介して通信する制御システムについて、システム及び制御装置を、各装置がネットワークを介して通信する構成に対応させる。 POSシステム1において、タブレット端末10と制御装置11との間での接続の確立に応じて、接続に対応する識別情報をこれら装置のそれぞれが記憶し、接続の切断後における再接続の際に、これら装置のそれぞれに記憶された識別情報に基づいて、再接続を行なう。

Description

制御システム、制御システムの制御方法、及び、制御装置
 本発明は、制御装置及び端末を備える制御システム、制御システムの制御方法、及び、制御装置に関する。
 従来、制御装置(POS端末)と、このPOS端末に接続された端末(POSコントローラー)とを備え、これらの装置が、印刷等の各種処理を実行する制御システム(POSシステム)が知られている(例えば、特許文献1参照)。この種の制御システムでは、制御装置と端末とがネットワークを介して通信する。
 また、パーソナルコンピューターや、タブレット端末、ノート型パソコン等の端末では、ブラウザーがインストールされたものが広く普及している。
特開平5-73769号公報
 ブラウザーがインストールされた端末と、制御装置とを備えるシステムを構築する場合、システム及び制御装置を、端末及び制御装置がネットワークを介して通信する構成に対応させる必要がある。
 本発明は、上述した事情に鑑みてなされたものであり、ブラウザーを有する端末と、制御装置とがネットワークを介して通信する制御システムについて、システム及び制御装置を、各装置がネットワークを介して通信する構成に対応させることを目的とする。
 また、本発明は、ブラウザーが動作する端末と前記端末にデータの送受信を行う制御装置との通信接続を確立し、確立された通信接続に係わる識別情報を生成し、生成された前記識別情報を前記端末及び前記制御装置に記憶し、前記端末と前記制御装置との通信接続が切断されたのち、再度通信接続がなされるとき、前記前記端末及び前記制御装置が記憶する前記通信接続に係わる識別情報に基づいて通信接続を行うことを特徴とする。
 本発明の構成によれば、端末と、制御装置との間での接続の確立に応じて、接続に対応する識別情報を端末と制御装置とが記憶し、接続の切断後における再接続の際に、識別情報に基づいて、再接続が行なわれる。このため、再接続に際し、識別情報を利用して、切断前の接続に対応する態様で、再接続を行なうことが可能となる。
 また、前記通信接続に係わる識別情報に基づく通信接続は、前記端末と前記制御装置との通信接続が切断された後、予め定められた期間内で再度通信接続を行うときに実行する。
 本発明の構成によれば、瞬断等の一時的な通信の切断があった場合であっても、識別情報を利用した態様で再接続を実行できる。
 また、上記目的を達成するために、本発明の制御システムは、データを送信するデバイスと、前記デバイスと通信して、前記デバイスが送信した前記データを受信する第1通信部、前記第1通信部で受信した前記データに識別情報を付与するデバイス制御部、前記識別情報が付与されたデータを記憶する記憶部、及び、前記識別情報が付与されたデータを送信する第2通信部を有する制御装置と、前記制御装置から送信された前記識別情報が付与されたデータを受信する接続部、前記接続部で受信された前記識別情報が付与されたデータの前記識別情報を記憶する端末記憶部、及び、前記識別情報が付与されたデータを処理するアプリケーションを動作させる端末制御部を有し、ブラウザーが動作する端末と、を備えることを特徴とする。
 本発明の構成によれば、制御装置から端末に送信されるデータに識別情報が付与され、制御装置は、送信したデータを記憶し、端末は、受信したデータに係る識別情報を記憶する。このため、接続の切断があった場合、識別情報をキーとして、接続の切断に起因して端末が受信していないデータを特定でき、特定したデータを再送信することが可能となる。つまり、ブラウザーを有する端末と、制御装置とがネットワークを介して通信する制御システムについて、システムを、各装置がネットワークを介して通信する構成に対応させることができる。
 また、前記端末と前記制御装置との通信の接続が切断された後に再接続されたとき、前記端末は、記憶した前記識別情報を前記制御装置に送信し、前記制御装置の前記デバイス制御部は、前記端末から送信された前記識別情報と、前記記憶部に記憶された前記識別情報が付与されたデータの前記識別情報とに基づいて、前記端末に記憶されていない前記識別情報が付与されたデータを判別し、前記制御装置の前記第2通信部は、前記端末に記憶されていない前記識別情報が付与されたデータを送信する。
 本発明の構成によれば、接続の切断後における再接続に際し、識別情報を利用して、端末が受信していないデータの特定が可能である。
 また、前記制御装置の前記デバイス制御部で付与される前記識別情報は、規則性を有する情報であり、前記デバイス制御部は、前記識別情報の規則性に基づいて、前記端末に記憶されていない前記識別情報が付与されたデータを判別する。
 本発明の構成によれば、例えば、端末が制御装置に対して、一定期間に受信したデータについて識別情報を送信し、制御装置は受信した識別情報と、記憶した識別情報付きのデータにおける識別情報との比較により、端末が受信していないデータを特定する、といった処理をすることなく、識別情報の規則性を利用した簡易な手段で、制御装置は、端末が受信していないデータを特定可能である。
 また、本発明は、制御装置は、接続されたデバイスから送信されたデータに、識別情報を付与して、前記識別情報が付与されたデータを記憶し、前記識別情報が付与されたデータを端末に送信し、前記識別情報が付与されたデータを送信された前記端末は、前記識別情報が付与されたデータの前記識別情報を記憶することを特徴とする。
 本発明の構成によれば、制御装置から端末に出力されるデータに識別情報が付与され、制御装置は、出力データを記憶し、端末は、入力データに係る識別情報を記憶する。このため、接続の切断があった場合、識別情報をキーとして、接続の切断に起因して端末に入力されていないデータを特定でき、特定したデータを再出力することが可能となる。
 また、前記制御装置と前記端末との通信中に通信が切断された後、通信が再接続された時、前記端末は記憶した前記識別情報を前記制御装置に送信し、前記制御装置は、送信された前記識別情報と、記憶した前記識別情報が付与されたデータの前記識別情報とに基づいて、前記端末に記憶されていない前記識別情報が付与されたデータを前記端末に送信する。
 本発明の構成によれば、接続の切断後における再接続に際し、識別情報を利用して端末に入力されていないデータの特定が可能である。
 上記目的を達成するために、本発明の制御装置は、デバイスと接続されて前記デバイスと通信する第1通信部と、ブラウザーが動作する端末と接続されて前記端末からの要求を受信する第2通信部と、前記端末からの要求に基づいて前記デバイスを制御する制御オブジェクトを動作させると共に、前記端末と通信接続が切断されたときに前記制御オブジェクトを予め定められた所定期間保持した後に消去するデバイス制御部と、を備えることを特徴とする。
 本発明の構成によれば、通信の切断に応じて、すぐに制御オブジェクトが消去されるのではなく、所定期間保持された後、消去される。このため、意図しない一時的な通信の切断があった場合であっても、制御オブジェクトが消去されず、一時的な通信の切断が回復したときに、消去されずに残存した制御オブジェクトによってデバイスの制御を開始することが可能である。また、制御オブジェクトが所定期間保持された後は、消去されるため、不必要に長期間制御オブジェクトが消去されず、デバイスの制御が開放されないといったことが防止される。つまり、ブラウザーを有する端末と、制御装置とがネットワークを介して通信する制御システムについて、制御装置を、各装置がネットワークを介して通信する構成に対応させることができる。
 また、前記デバイス制御部は、前記端末との通信接続が切断されて、前記所定期間以上の時間が経過した後に前記端末と通信接続が行なわれたとき、前記端末からの要求に基づいて前記制御オブジェクトを生成して動作させる。
 本発明の構成によれば、通信の切断後、所定期間内に再接続が行なわれず、制御オブジェクトが消去された場合であっても、端末の要求に基づいて制御オブジェクトが生成され、迅速にデバイスの制御を可能な状態とすることができる。
 また、前記デバイス制御部で動作される前記制御オブジェクトは、送信された前記端末からの要求を、前記第1通信部を介して前記デバイスに送信されるデータに変換する。
 本発明の構成によれば、制御オブジェクトの機能を利用して、端末からデバイスに要求を出し、デバイスを制御することが可能となる。
本実施形態に係るPOSシステムの構成を示す図。 POSシステムを構成する各機器の機能的構成を示すブロック図。 ブラウザー実行部、及び、デバイス制御部の機能ブロック図。 制御、インターフェースオブジェクトが生成される際の処理フロー。 制御、インターフェースオブジェクトが消去される際の処理フロー。 ユーザーインターフェースの一例を示す図。 バーコードスキャナーによりバーコードが読み取られた後の処理フロー。 プリンターユニットによる印刷が行われる際の処理フロー。 タブレット端末及び制御装置の動作を示すフローチャート。 タブレット端末及び制御装置の動作を示すフローチャート。
 以下、図面を参照して本発明の実施形態について説明する。
 図1は、本実施形態に係るPOS(Point of Sales)システム1(制御システム)の概略構成ブロック図である。また、図2は、POSシステム1を構成するタブレット端末10(端末)、制御装置11、及び、POSサーバー17の機能的構成を示すブロック図である。
 POSシステム1は、ショッピングセンターや、百貨店、コンビニエンスストア等の小売店、レストランや、喫茶店、居酒屋等の飲食店、その他の店舗、施設に適用されるシステムである。POSシステム1は、店舗における商品の販売状況、商品の在庫の状況、売上の状況等を管理する機能や、店舗に設けられたレジカウンターLにおいて、顧客が購入した商品に応じた会計を行う機能、顧客による代金の支払いに応じてレシートを発行する機能、顧客に対し会計に関する情報を提供する機能等を有する。
 本実施形態に係るPOSシステム1が適用される店舗には、会計処理を行なうレジカウンターLが設けられる。そして、1つのレジカウンターLには、制御装置11と、制御装置11と無線通信可能に接続されたタブレット端末10とが設けられる。
 タブレット端末10は、タブレット型(板状)のコンピューターである。特に、本実施形態に係るタブレット端末10は、図6を用いて後述するように、前面に形成された表示領域にタッチパネル30が設けられ、タッチ操作によって各種入力が可能なタイプのコンピューターである。
 タブレット端末10は、レジカウンターLにおいて、会計を担当するレジ担当者が使用する端末である。後述するように、タブレット端末10は、レジカウンターLにおける会計に際し、レジ担当者にユーザーインターフェース(I/F)を提供する。
 制御装置11は、デバイス制御装置としての機能を有する装置である。図2に示すように、制御装置11には、デバイスとして、商品又は商品の包装に付されたバーコードを読み取るバーコードスキャナー12(デバイス)、紙幣や、貨幣、金券等を収容し、管理するキャッシュチェンジャー13(デバイス)、会計に関する情報を顧客に対して表示するディスプレー14(デバイス)の少なくとも1つが接続される。
 図2に示すように、制御装置11は、制御部20と、印刷部21(デバイス)と、記憶部22と、通信モジュール23と、を備える。
 制御部20は、CPUや、ROM、RAM、その他の周辺回路等を備え、制御装置11を制御する。制御部20は、デバイス制御部20aを備えるが、この機能ブロックについては後述する。
 印刷部21は、ロール紙を搬送する搬送機構、サーマルヘッドによってロール紙に文字や画像を印刷する印刷機構、ロール紙を切断する切断機構等を備えており、レシートに係る画像をロール紙に印刷した後、所定の位置でロール紙を切断することによりレシートを発行することが可能である。
 記憶部22は、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。
 通信モジュール23は、所定の通信規格に従ったネットワークカード等のタブレット端末10との間で無線通信するモジュール、通信制御の回路等を備え、制御部20の制御に従って、タブレット端末10との間で所定の通信規格に従って無線通信する。
 また、タブレット端末10は、表示部24と、端末記憶部25と、端末制御部26と、通信モジュール27と、入力検出部29と、を備える。また、端末制御部26は表示制御部28を備える。
 端末記憶部25は、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発的に記憶する。
 表示部24は、タッチパネル30を備える。タッチパネル30は、タブレット端末10の前面に配置された表示パネル30aと、表示パネル30aに重ねて配置されたタッチセンサー30bとが一体となって構成される。表示パネル30aは、液晶表示パネル、有機ELパネル、電子ペーパー等のディスプレーであり、表示制御部28によって駆動される。タッチセンサー30bは、表示パネル30aに重ねて配置された静電容量式もしくは感圧式のセンサーであり、ユーザーの手指やペン型操作デバイスによるタッチ操作を検出して、タッチ操作を検出した位置を示す信号を入力検出部29に送信する。
 表示制御部28は、後述するブラウザー実行部26aから受信した表示データに基づいて、表示パネル30aを駆動し、表示パネル30aに文字や画像等を含む画面を表示する。
 入力検出部29は、タッチセンサー30bが送信する信号に基づいて、タッチパネル30に対するタッチ操作を検出する。このタッチ操作を検出した場合、入力検出部29は、操作位置を表示パネル30aの表示位置に対応する座標によって示す座標データを生成し、端末制御部26に送信する。
 通信モジュール27は、所定の通信規格に従ったネットワークカード等の制御装置11、及び、POSサーバー17との間で無線通信するモジュール、回路等を備え、端末制御部26の制御に従って、制御装置11、及び、POSサーバー17との間で所定の通信規格に従って無線通信する。
 端末制御部26は、CPUや、ROM、RAM、その他の周辺回路等を備え、タブレット端末10を制御する。端末制御部26は、ブラウザープログラムを実行することにより、ブラウザーの機能を実現するブラウザー実行部26aを備える。
 ブラウザー実行部26aは、ウェブブラウザーの機能により、HTML等のマークアップ言語やスクリプト言語で記述されたウェブページ(HTMLファイル等)を、POSサーバー17からダウンロードする。ダウンロードされたウェブページのデータは、例えば図示しないRAMに記憶される。ブラウザー実行部26aは、ダウンロードされたウェブページのデータを読み込み、このウェブページを表示させる表示データを生成して、表示制御部28に送信する。表示制御部28は、受信した表示データに基づいて、表示パネル30aにウェブページを表示する。
 また、ブラウザー実行部26aは、入力検出部29によってタッチセンサー30bへのタッチ操作が検出された場合、このタッチ操作に対応して入力検出部29から受信する座標データ、及び、表示制御部28に送信した表示データに基づいて、入力内容を特定する。ブラウザー実行部26aは、特定した入力内容に基づいて、例えばスクリプトの機能により、対応する処理を実行する。
 POSサーバー17は、商品に関する情報を格納したデータベース、売上を管理するデータベース、在庫を管理するデータベース等を記憶するサーバー記憶部36を備え、これらデータベースを利用して、POSシステム1を管理する。
 POSサーバー17は、サーバー制御部37と、サーバー記憶部36と、通信モジュール38と、を備える。
 サーバー制御部37は、CPUや、ROM、RAM、その他の周辺回路等を備え、POSサーバー17の各部を制御する。サーバー記憶部31は、ハードディスクや、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発に記憶する。
 通信モジュール38は、所定の通信規格に従ったネットワークカード等のタブレット端末10との間で無線通信するモジュール、回路等を備え、サーバー制御部37の制御に従って、タブレット端末10との間で所定の通信規格に従って無線通信する。
 POSサーバー17には、POSアプリケーション35が、インストールされる。
 タブレット端末10のブラウザー実行部26aは、このPOSサーバー17上のPOSアプリケーション35の機能を利用して、各種処理を実行する。
 具体例を挙げて詳述すると、ブラウザー実行部26aは、適宜、POSサーバー17に演算処理の要求を行なって、POSアプリケーション35に演算処理を実行させ、処理結果を受け取り、処理結果に基づく対応する処理を実行する。例えば、ブラウザー実行部26aは、バーコードスキャナー12の読み取り結果をPOSサーバー17に送信して、POSアプリケーション35の機能により商品検索を実行させて、検索結果を受け取り、検索結果に基づいて制御装置11を制御し、商品情報をディスプレー14に表示させる。また、会計の合計金額の算出を要求して、POSアプリケーション35に合計金額の算出を行なわせ、算出結果を受け取り、算出結果に基づいて制御装置11を制御して合計金額を含む情報が印刷されたレシートを発行させる。
 ここで、「ブラウザーで動作するアプリケーション」には、POSアプリケーション35等、ブラウザー実行部26aが通信可能な他の機器にインストールされたアプリケーションが含まれる。つまり、「ブラウザーで動作するアプリケーション」には、タブレット端末10とは異なる機器にインストールされたアプリケーションであって、ブラウザー実行部26aが、その機能を利用可能なアプリケーションが含まれる。この場合において、アプリケーションは、通信可能な他の機器で起動され実行され動作するものであってもよく、また、アプリケーションは、他の機器からタブレット端末10にダウンロードして、タブレット端末10で起動され実行され動作するものであってもよい。
 また、「ブラウザーで動作するアプリケーション」には、ブラウザー実行部26aが読み出すウェブページ(HTMLファイル等)に実装されたスクリプト等、ブラウザー実行部26aがその機能を利用可能なプログラム、ソフトウェアが含まれる。
 図3は、タブレット端末10のブラウザー実行部26a、及び、制御装置11のデバイス制御部20aの機能ブロック図をより詳細に示す図である。
 図3では、プログラムや、ソフトウェア的なオブジェクト、プログラムによって実現される機能を表わすブロック、デバイス等の物理的な装置等を、同一のレベルで表現している。
 また、本実施形態において、「オブジェクト」とは、オブジェクト指向プログラミングで生成されるインスタンス、すなわち、データ、及び、メソッドの集合として定義された機能ブロックである。ただし、「オブジェクト」は、オブジェクト指向プログラミングで生成されたインスタンスに限らず、対応する機能に基づく処理を実行可能な機能ブロックであればよい。例えば、「オブジェクト」は、アプリケーションがCPU等のハードウェア資源によって読み出され実行されることによって、その機能が実現される機能ブロックであってもよい。この場合において、1つのアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよく、1つのアプリケーションにより複数の機能ブロックの機能が実現される構成であってもよく、また、複数のアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよい。
 図3に示すように、タブレット端末10のブラウザー実行部26aでは、アプリケーションAPが動作する。アプリケーションAPは、上述したように、POSアプリケーション35のように他の機器で動作するアプレ-ションや、他の機器からダウンロードしたアプリケーション、ブラウザー実行部26aが読み出すHTMLファイルに実装されたスクリプト、その他のブラウザー実行部26aが、その機能を利用可能なアプリケーションを含む概念である。
 ブラウザー実行部26aでは、キャッシュチェンジャーI/Fオブジェクト40(インターフェースオブジェクト)、バーコードスキャナーI/Fオブジェクト41(インターフェースオブジェクト)、ディスプレーI/Fオブジェクト42(インターフェースオブジェクト)、及び、プリンターI/Fオブジェクト43(インターフェースオブジェクト)が動作可能である。また、ブラウザー実行部26aでは、統括制御オブジェクト44、及び、接続部45が動作可能である。
 また、デバイス制御部20aでは、第2通信部50、中継オブジェクト51、キャッシュチェンジャー制御オブジェクト53(制御オブジェクト)、バーコードスキャナー制御オブジェクト54(制御オブジェクト)、ディスプレー制御オブジェクト55(制御オブジェクト)、プリンター制御オブジェクト56(制御オブジェクト)、及び、第1通信部71が動作可能である。
 以下、図4のフローチャートを用いて、これらオブジェクトや、インターフェースの生成手順や、機能について説明する。
 図4は、ブラウザー実行部26a、及び、デバイス制御部20aにおけるオブジェクトが生成される際の手順を示すフローチャートである。特に、図4のフローチャートは、一例として、インターフェースオブジェクトとしてバーコードスキャナーI/Fオブジェクト41の生成を例とし、制御オブジェクトとしてバーコードスキャナー制御オブジェクト54を例として、これらオブジェクトが生成される際の手順を表わす。
 以下の説明において、「アプリケーションAPは、・・・」のように、アプリケーションAPを動作の主体として処理を説明する場合、アプリケーションAPを読み出して実行するCPU(端末制御部26、ブラウザー実行部26a)が、アプリケーションAPの機能を利用して、処理を実行することを意味する。同様に、「オブジェクトは、・・・」のように、オブジェクトを動作の主体として処理を説明する場合、CPU(対応する制御部)が、オブジェクトの機能を利用して、処理を実行することを意味する。
 まず、アプリケーションAPは、統括制御オブジェクト生成処理を実行する(ステップSA1)。統括制御オブジェクト生成処理とは、統括制御オブジェクト44を生成する処理である。統括制御オブジェクト44は、詳細は後述するが、通信経路の確立や切断処理に係るメソッドや、制御オブジェクト及びインターフェースオブジェクトの生成や消去処理に係るメソッド等、POSシステム1の制御に係る各種メソッドが実装されたオブジェクトである。
 ステップSA1における統括制御オブジェクト生成処理は、例えば、制御装置11のメーカーにより、専用のAPI(Application Program Interface)が提供され、アプリケーションAPが当該APIの機能を利用することにより実行される。
 ステップSA1の処理により統括制御オブジェクト44が生成されると、アプリケーションAPは、通信経路確立要求(通信要求)を実行する(ステップSA2)。
 通信経路確立要求(通信要求)とは、タブレット端末10と、制御装置11との間でWebSocketに係る論理的な通信経路K1を確立し、これら装置間で、WebSocketに従ってデータの送受信が可能な状態を確立させる要求のことをいう。この通信経路確立要求(通信要求)は、統括制御オブジェクト44に実装された専用のメソッドを、アプリケーションAPが呼び出して実行することにより行われる。
 なお、WebSocketとは、ネットワークを介して接続されたサーバーと、クライアントとの間で、非同期な双方向通信を可能とする通信規格の1つである。WebSocketでは、サーバーとクライアントがWebSocketコネクションCTを確立した後は、データの送受信を、当該コネクションにより専用のプロトコルを用いて行う。このため、データの送信が発生する度に、コネクションを確立する必要がない。
 また、通信経路K1とは、当該通信経路K1により接続されたタブレット端末10と、制御装置11との間で、WebSocketのプロトコル、手続きに従ってデータを送受信する論理的な通信経路のことである。従って、タブレット端末10と、制御装置11との間で、所定のハンドシェイクが行われ、通信経路K1が確立した後は、これら装置は、通信経路K1により、非同期にデータを送受信できる。
 ステップSA2の通信経路確立要求に応じて、タブレット端末10の統括制御オブジェクト44、及び、制御装置11の中継オブジェクト51は、接続部45と、第2通信部50との間に、通信経路K1を確立する(ステップSA3)。
 なお、接続部45と、第2通信部50は、WebSocketの規格、手続きに従ってデータの送受信を行うWebSocketインターフェースである。これら機能ブロックは、例えば、WebSocketに係るSocketライブラリーを利用して生成される。
 第2通信部50は、中継オブジェクト51から受信したデータについて、WebSocketに従った処理を行って、WebSocketに従った手続きで通信経路K1によりデータを送信する機能を有する。また、第2通信部50は、通信経路K1により受信したデータについて、WebSocketに従った処理を行って、中継オブジェクト51に送信する機能を有する。接続部45についても同様である。
 また、中継オブジェクト51は、デバイス制御部20aで動作するオブジェクトである。中継オブジェクト51には、上述した通信経路K1の確立処理を行うメソッドのほか、後述する各種処理を行うメソッドが実装される。
 通信経路K1の確立に伴って、統括制御オブジェクト44、又は、中継オブジェクト51の機能により、通信経路K1に、当該通信経路K1の識別情報である通信経路IDが付与される。付与された通信経路IDは、タブレット端末10において、アプリケーションAPが参照可能な状態で、端末記憶部25における所定の記憶領域に記憶される。また、通信経路IDは、制御装置11において、中継オブジェクト51が参照可能な状態で記憶部22における所定の記憶領域に記憶される。
 なお、通信経路K1の確立により、タブレット端末10(端末)と、制御装置11との間で、通信可能な状態が確立する。
 次いで、アプリケーションAPは、バーコードスキャナー制御オブジェクト生成要求(デバイス制御要求)を実行する(ステップSA4)。バーコードスキャナー制御オブジェクト生成要求とは、デバイス制御部20a上で動作するバーコードスキャナー制御オブジェクト54の生成を要求する処理である。なお、後に明らかとなるとおり、デバイス制御オブジェクトの生成により、対応するデバイスの制御が可能な状態が確立(デバイスの制御が確立)するため、ステップSA4の処理は、「アプリケーション(又は、端末)が、デバイスの制御を要求」する処理に該当する。
 ここで、制御装置11に接続されるデバイスのそれぞれには、デバイスの種類ごとに、識別情報(以下、「デバイスID」という。)が割り振られる。以下の説明では、バーコードスキャナー12には、デバイスIDとして「scanner」が割り振られる。
 そして、アプリケーションAPは、バーコードスキャナー制御オブジェクト54の生成に際し、対応するデバイスであるバーコードスキャナー12のデバイスIDを指定する。後に明らかとなるとおり、中継オブジェクト51は、指定されたデバイスIDをキーとして、生成すべきデバイスに対応する制御オブジェクトを生成する。
 ここで、制御オブジェクトについて説明する。
 制御オブジェクトとは、デバイスの制御に係る各種メソッドが実装されたオブジェクトであり、対応するハンドラーの機能を利用して、対応するデバイスの制御を行なう。例えば、キャッシュチェンジャー制御オブジェクト53には、キャッシュチェンジャー13の制御に係る各種処理を実行するメソッドが実装されており、当該オブジェクトは、キャッシュチェンジャーハンドラー61の機能を利用して、キャッシュチェンジャー13の制御を行なう。なお、ハンドラーとは、要求に応じて、対応するデバイスに係る処理を実行する関数、サブルーチンである。例えば、バーコードスキャナーハンドラー60は、バーコードスキャナー12によるバーコードの読み取りが実行された場合に、読み取り結果の入力を受けると共に、割り込み処理を行なって、読み取り結果(例えば、数字の文字列からなるデータ)をバーコードスキャナー制御オブジェクト54に受け渡す。他のハンドラー(キャッシュチェンジャーハンドラー61、ディスプレーハンドラー62、及び、プリンターハンドラー63)についても同様である。
 また、第1通信部71は、各種デバイスに接続されたデバイスインターフェースであり、制御オブジェクトから送信されたデータをデバイスに送信し、また、デバイスから送信されたデータを制御オブジェクトに送信する。
 上述したとおり、制御オブジェクトの生成により、制御装置11による対応するデバイスの制御が確立する。
 アプリケーションAPによるバーコードスキャナー制御オブジェクト生成要求に応じて、統括制御オブジェクト44は、通信経路K1により、中継オブジェクト51に対して、バーコードスキャナー制御オブジェクト生成要求を行なう(ステップSA5)。
 当該要求に応じて、中継オブジェクト51は、例えばnewステートメントにより、指定されたデバイスID(本例では、バーコードスキャナー12のデバイスID「scanner」)に対応する制御オブジェクト(本例では、バーコードスキャナー制御オブジェクト54)を生成する(ステップSA6)。すなわち、デバイス制御部20aは、制御オブジェクトを生成し、生成された制御オブジェクトは、デバイス制御部20aで動作する。
 ここで、ステップSA6において、中継オブジェクト51は、生成したバーコードスキャナー制御オブジェクト54を、ステップSA3で付与された通信経路IDと対応づけて管理する。このことは、他の制御オブジェクトが生成された場合も同様である。このように、制御オブジェクトと、通信経路IDとの対応付けが中継オブジェクト51によって行なわれるため、中継オブジェクト51は、制御オブジェクトのそれぞれについて、どのアプリケーションAPの管理下にあるのかを把握できる。
 より具体的に説明する。1台の制御装置11に対して、第1タブレット端末と、第2タブレット端末との2台のタブレット端末が接続されているとする。このような場合、タブレット端末のそれぞれは、制御装置11との間で、WebSocketの通信経路を確立する。各通信経路には、異なる通信経路IDが付与される。そして、第1タブレット端末は、バーコードスキャナー12を自身で動作するアプリケーションAPの管理下に置くべく、バーコードスキャナー制御オブジェクト54を生成したとする。
 この場合、中継オブジェクト51は、バーコードスキャナー制御オブジェクト54を、第1タブレット端末に係る通信経路の通信経路IDと対応付けて管理する。また、第2タブレット端末は、キャッシュチェンジャー13を自身で動作するアプリケーションAPの管理下に置くべく、キャッシュチェンジャー制御オブジェクト53を生成したとする。この場合、中継オブジェクト51は、キャッシュチェンジャー制御オブジェクト53を、第2タブレット端末に係る通信経路の通信経路IDと対応付けて管理する。
 これにより、中継オブジェクト51は、バーコードスキャナー12の読み取り結果に基づいて、バーコードスキャナー制御オブジェクト54が第1タブレット端末に対して送信するデータについて、対応する通信経路IDの通信経路、すなわち、第1タブレット端末に係る通信経路により、第1タブレット端末に送信する。
 同様に、第2タブレット端末で動作するアプリケーションAPがキャッシュチェンジャー13を制御する場合において、第2タブレット端末に係る通信経路による通信があった場合には、当該通信経路の通信経路IDに対応付けられたキャッシュチェンジャー制御オブジェクト53にデータ等を送信する。このように、中継オブジェクト51が、制御オブジェクトのそれぞれについて、通信経路IDと対応付けて管理することにより、複数のタブレット端末が接続され、複数の通信経路が確立される場合であっても、各制御オブジェクトが誤った通信経路で通信することがない。
 バーコードスキャナー制御オブジェクト54の生成が完了すると、中継オブジェクト51は、通信経路K1により、当該オブジェクトの生成が完了した旨の通知を統括制御オブジェクト44に行う(ステップSA7)。統括制御オブジェクト44は、当該通知をアプリケーションAPに行なう(ステップSA8)。
 なお、ステップSA4のバーコードスキャナー制御オブジェクト生成処理の際に、制御オブジェクトの生成に係る処理の処理結果を受け取るコールバックが指定されており、コールバック関数が実行されることにより、アプリケーションAPに対して、バーコードスキャナー制御オブジェクト54の生成が成功した旨の通知が行なわれる。
 また、統括制御オブジェクト44は、生成が完了したバーコードスキャナー制御オブジェクト54に対応させて、バーコードスキャナーI/Fオブジェクト41を生成する(ステップSA9)。
 ここで、インターフェースオブジェクトについて説明する。
 インターフェースオブジェクトとは、アプリケーションAPによるデバイスの制御に際して、アプリケーションAPに対して、対応するデバイスに係る制御オブジェクトに実装されたメソッドを利用させるインターフェースとなる機能を有する。すなわち、アプリケーションAPは、ある1のデバイスを制御する際に、当該1のデバイスに対応するインターフェースオブジェクトに対して情報を送信すれば、当該インターフェースオブジェクトが、当該1のデバイスに対応する制御オブジェクトと通信し、制御オブジェクトに実装されたメソッドを実行させ、当該1のデバイスの制御を実現できる。
 例えば、アプリケーションAPは、印刷部21を制御する場合、プリンターI/Fオブジェクト43に、印刷部21の制御に係る情報を送信する。プリンターI/Fオブジェクト43は、プリンター制御オブジェクトと通信経路K1を利用して通信し、アプリケーションAPから受信した印刷部21の制御に係る情報をプリンター制御オブジェクト56に送信する。プリンター制御オブジェクト56は、受信した印刷部21の制御に係る情報に基づいて、印刷部21を制御する。
 このインターフェースオブジェクトの生成により、アプリケーションAPは、インターフェースオブジェクトを介して、制御オブジェクトのメソッドを利用して、デバイスの制御が可能となる。すなわち、制御オブジェクトの生成に伴うインターフェースオブジェクトの生成により、「アプリケーションAPによる制御装置11を介したデバイスの制御の確立」が行なわれる。
 以上のようにして、バーコードスキャナー制御オブジェクト54、及び、バーコードスキャナーI/Fオブジェクト41の生成が完了する。他のデバイスについても、同様の手順にて制御オブジェクト、及び、インターフェースオブジェクトが生成される。
 このように、本実施形態では、制御装置11に制御オブジェクトの生成が完了した後、対応するインターフェースオブジェクトが生成される。このような構成のため、必ず、1つのデバイスについて、一対の制御オブジェクトと、インターフェースオブジェクトとが生成され、各デバイスについて、アプリケーションAPによるデバイスの制御が可能な状態が確立する。
 また、本実施形態では、制御装置11に接続されたデバイスのそれぞれについて、一対のインターフェースオブジェクト、及び、制御オブジェクトが生成される。このような構成のため、アプリケーションAPは、ある1のデバイスを制御する際に、当該1のデバイスに対応するインターフェースオブジェクトの機能を利用することにより、確実に、当該1のデバイスを制御でき、また、当該1のデバイスとデータの送受信を実行できる。
 また、アプリケーションAPの開発(プログラミング)に際し、デバイスの制御に関するソフトウェア的なインターフェースに係るプログラムについては、各デバイスのインターフェースオブジェクトとの関係を考慮すればよく、開発が容易になる。例えば、アプリケーションAPにおけるキャッシュチェンジャー13の制御に係るプログラムに関しては、キャッシュチェンジャーI/Fオブジェクト40との関係で、情報(データ)の送受信を考慮して開発すればよく、開発が容易になる。
 次に、図5のフローチャートを用いて、生成した制御オブジェクト、及び、インターフェースオブジェクトを消去し、確立した通信を解除する際の手順について説明する。図5のフローチャートでは、バーコードスキャナー12に係る制御オブジェクト、及び、インターフェースオブジェクトを消去する場合を例としている。
 まず、アプリケーションAPは、バーコードスキャナー制御オブジェクト54の消去要求(デバイス制御解除要求)を実行する(ステップSB1)。その際、アプリケーションAPは、バーコードスキャナー12のデバイスIDを指定する。当該制御オブジェクトの消去要求は、統括制御オブジェクト44に実装されたメソッドをアプリケーションAPが実行することにより実行される。
 アプリケーションAPによるバーコードスキャナー制御オブジェクト54の消去要求に応じて、統括制御オブジェクト44は、通信経路K1により、中継オブジェクト51に対して、バーコードスキャナー制御オブジェクト54の消去要求を行なう(ステップSB2)。
 消去要求に応じて、中継オブジェクト51は、例えばdelete演算子により、指定されたデバイスID(本例では、バーコードスキャナー12のデバイスID「scanner」)に対応する制御オブジェクト(本例では、バーコードスキャナー制御オブジェクト54)を消去する(ステップSB3)。当該制御オブジェクトの消去により、制御装置11におけるバーコードスキャナー12の制御の確立が解除される。
 このように、本実施形態では、アプリケーションAPによる制御オブジェクトの制御要求により、特定の制御オブジェクトを消去することが可能である。そして、特定のデバイスの制御オブジェクトを消去することにより、1のタブレット端末で動作するアプリケーションAPによる当該特定のデバイスの制御の占有が解除され、他のタブレットで動作するアプリケーションAPが、当該特定のデバイスを制御可能な状態となる。このため、アプリケーションAPは、特定のデバイスを使用しない状態となった場合、当該特定のデバイスの制御オブジェクトを消去することにより当該デバイスを開放することが可能であり、不必要にデバイスの占有が行なわれることを防止可能である。
 バーコードスキャナー制御オブジェクト54の消去が完了すると、中継オブジェクト51は、通信経路K1により、当該オブジェクトの消去が完了した旨の通知を統括制御オブジェクト44に行ない(ステップSB4)、また、統括制御オブジェクト44は、当該通知をアプリケーションAPに行なう(ステップSB5)。
 なお、ステップSB1の処理の際に、制御オブジェクトの消去に係る処理の処理結果を受け取るコールバックが指定されており、コールバック関数の実行されることにより、アプリケーションAPに対して、バーコードスキャナー制御オブジェクト54の消去が成功した旨の通知が行なわれる。
 また、統括制御オブジェクト44は、消去が完了したバーコードスキャナー制御オブジェクト54に対応させて、バーコードスキャナーI/Fオブジェクト41を消去する(ステップSB6)。
 次いで、アプリケーションAPは、制御装置11との間で確立した通信経路K1の切断を要求(通信解除要求)する(ステップSB7)。当該要求は、統括制御オブジェクト44に実装された専用のメソッドをアプリケーションAPが実行することにより実行される。
 ステップSA7の要求に応じて、統括制御オブジェクト44、及び、中継オブジェクト51は、接続部45と、第2通信部50との間に確立された通信経路K1を、WebSocketの規格に従って切断する(ステップSB8)。
 以上のようにして、生成した制御オブジェクト、及び、インターフェースオブジェクトの消去、確立した通信の解除が行なわれる。
 このように、生成した制御オブジェクトは、アプリケーションAPの要求により、任意のタイミングで、消去可能である。すなわち、アプリケーションAPは、ある1のデバイスについて、自身の制御下におく必要がなくなった場合、速やかに、当該1のデバイスに係る制御オブジェクトを消去し、当該1のデバイスの制御を開放することが可能である。このため、制御オブジェクトが不必要に残存し、他のタブレット端末のアプリケーションAPが、デバイスを制御不可能な状態が不必要に続くことを効果的に防止可能である。
 次に、会計処理における処理の流れについて、具体例を挙げて説明する。
 ここで、会計に係る処理が行われる前に、タブレット端末10は、それぞれ、以下の処理を実行する。
 すなわち、レジの担当者、その他の作業に従事する者は、タブレット端末10のブラウザーを立ち上げ、タッチパネル30へのユーザーインターフェースUI(図6(A)参照)の表示を指示する。当該指示に応じて、端末制御部26のブラウザー実行部26aは、POSサーバー17上の所定のアドレスにアクセスし、HTMLファイル等のウェブページのデータを取得し、当該データに基づいてユーザーインターフェースUIをタッチパネル30に表示する。
 図6(A)は、タッチパネル30に表示されたユーザーインターフェースUIの一例を示す図である。
 図6(A)のユーザーインターフェースUIにおいて、左上部には、顧客が購入した商品の名称、商品の単価、及び、商品の数量が一覧表示される一覧表示エリア65が表示される。この一覧表示エリア65の右方には、顧客が購入した商品の合計金額、会計に際して顧客から預かった金銭の金額、及び、顧客に渡すべきお釣りの金額が表示される金額表示エリア66が表示される。
 また、一覧表示エリア65の下方には、バーコードスキャナー12によって読み取られたバーコードが表す情報(以下、「バーコード情報」という。)が入力され表示される入力フィールドであるバーコード情報入力フィールド67が形成される。バーコード情報は、基本的には、商品の種類毎に一意に割り当てられた識別情報である。バーコード情報入力フィールド67の右方には、ソフトウェアテンキー68が表示される。ユーザーインターフェースUIに形成された入力フィールドのそれぞれに対しては、このソフトウェアテンキー68を介して情報を入力することが可能となっており、ソフトウェアテンキー68は、情報を入力するキーを有する。
 また、ユーザーインターフェースUIの上端部には、アクセス先のアドレスが表示されるアドレス入力フィールド69が表示される。
 まず、バーコードスキャナー12によるバーコードの読み取りが実行された後、読み取られたバーコードが表わす情報(以下、「バーコード情報」という。)がユーザーインターフェースUIのバーコード情報入力フィールド67に表示されるまでの処理の手順を説明する。
 図7は、上記処理の手順を説明するためのフローチャートである。
 まず、バーコードの読み取り結果をアプリケーションAPが取得できるようにするために、事前に、アプリケーションAPにより、バーコードスキャナーI/Fオブジェクト41に対してコールバック名の登録が行なわれる(ステップSC1)。コールバック名とは、イベント(例えば、バーコードスキャナー12によるバーコードの読み取り、というイベント)ごとに付与された識別名称である。インターフェースオブジェクトに対して、当該コールバック名と対応づけてデータが送信された場合、所定のコールバック関数が実行されて、アプリケーションAPへの当該データの送信が実行される。本例では、「バーコードスキャナー12によるバーコードの読み取り」のコールバック名は、「ondata」であるものとする。
 さて、レジカウンターLにおいて、レジの担当者は、バーコードスキャナー12によって、顧客が購入した1の商品に付されたバーコードを読み取る(ステップSX1)。
 次に、バーコードスキャナーハンドラー60に読み取り結果が入力される(ステップSC2)。バーコードスキャナーハンドラー60は、割り込み処理を行なって、読み取り結果であるバーコード情報を、バーコードスキャナー制御オブジェクト54に送信する(ステップSC3)。
 次いで、バーコードスキャナー制御オブジェクト54は、少なくとも、バーコードスキャナー12のデバイスID(本例では、「scanner」)、コールバック名(本例では、「ondata」)、バーコード情報(データ)を含むデータを、所定のデータ形式で中継オブジェクト51に送信する(ステップSC4)。
 中継オブジェクト51は、データID(識別情報)を生成し、受信したデータに含まれるバーコード情報に、予め定められた態様で付与する(ステップSC5)。データIDは、アプリケーションAPに受け渡すデータ(本例では、バーコード情報)を識別するために一意に付与される識別情報である。本実施形態では、データIDは、数字であり、中継オブジェクト51は、統括制御オブジェクト44へのデータの送信が時間的に遅いものほど、その値が大きくなるようにデータIDを生成し、付与する。例えば、受信したバーコード情報について、値「1」のデータIDを生成、付与し、統括制御オブジェクト44に送信した場合、次に受信したバーコード情報については、値「2」(「1」より大きな値であれば、「2」以外でもよい。)のデータIDを生成、付与し、統括制御オブジェクト44に対して送信する。付与されたデータIDの使用方法については、後に詳述する。
 次いで、中継オブジェクト51は、データIDが付与されたバーコード情報(データ)を、記憶部22における所定の記憶領域に記憶する(ステップSC6)。この結果、アプリケーションAPに対して送信されるデータID付きのデバイスに係るデータ(デバイスに関する情報)は、記憶部22に累積的に記憶される。
 次いで、中継オブジェクト51は、バーコードスキャナー12のデバイスID(本例では、「scanner」)、コールバック名(本例では、「ondata」)、及び、データID付きのバーコード情報(データ)を含むデータを所定のデータ形式で、統括制御オブジェクト44に送信する(ステップSC7)。その際、中継オブジェクト51は、バーコードスキャナー制御オブジェクト54と対応付けられた通信経路IDに係る通信経路K1で、データの送信を行なう。
 次いで、統括制御オブジェクト44は、受信したデータに含まれるデバイスIDをキーとして、所定のインターフェースオブジェクト(本例では、バーコードスキャナーI/Fオブジェクト41)に対して、データを送信する(ステップSC8)。
 バーコードスキャナーI/Fオブジェクト41は、コールバック名(本例では、「ondata」)に基づいて、所定のコールバック関数を実行して、データID付きのバーコード情報をアプリケーションAPに送信する(ステップSC9)。
 アプリケーションAPは、受信したバーコード情報に基づいて、表示処理を実行し、バーコード情報を、バーコード情報入力フィールド67に表示する(ステップSC10)。これにより、図6(B)に示すように、バーコード情報入力フィールド67に、バーコード情報が表示された状態となる。
 次いで、アプリケーションAPは、受信したデータID付きのバーコード情報からデータIDを抽出し、端末記憶部25の所定の記憶領域に、データIDを記憶する(ステップSC11)。このステップSC11の処理により、端末記憶部25には、デバイスの送信データ(本例では、バーコード情報)のうち、アプリケーションAPに対して送信されたデータのデータIDが累積的に記憶された状態となる。端末記憶部25に記憶されたデータIDの使用方法については後述する。
 次に、アプリケーションAPが印刷部21にレシートを発行させる場合の処理の手順を説明する。
 図8は、上記処理の手順を説明するためのフローチャートである。
 まず、アプリケーションAPは、実装された機能により、レシートに印刷する画像を生成し、生成した画像に基づいて、印刷部21によって発行させるレシートに関する情報が含まれたXMLファイル(デバイスに関する情報)を生成する(ステップSD1)。当該XMLファイルには、XMLに係るフォーマットに従って、レシートに印刷する文字や画像の情報等、レシートを発行する情報が所定の形式で含まれており、後述するように、プリンター制御部80は、当該XMLファイルを印刷部21のコマンド体系の制御コマンドに変換可能である。
 次いで、アプリケーションAPは、印刷部21のデバイスID、及び、プリンター制御オブジェクト56に実行させる関数を指定する情報、及び、生成したXMLファイル、を少なくとも含むデータを、プリンターI/Fオブジェクト43に送信する(ステップSD2)。本例では、プリンター制御オブジェクト56に実行される関数とは、XMLファイルを、プリンター・ディスプレーI/F81を介してプリンター制御部80に送信させる処理を行なわせる関数である。
 次いで、プリンターI/Fオブジェクト43は、アプリケーションAPから送信されたデータの、プリンター制御オブジェクト56への送信要求を統括制御オブジェクト44に対して行なう。(ステップSD3)統括制御オブジェクト44は、通信経路K1で当該データを中継オブジェクト51に対して送信し(ステップSD4)、中継オブジェクト51は、プリンター制御オブジェクト56に当該データを送信する(ステップSD5)。
 プリンター制御オブジェクト56は、受信したデータにおいて指定された関数を実行することにより、受信したデータに含まれるXMLファイルを、プリンター・ディスプレーI/F81を介して、プリンター制御部80に送信する(ステップSD6)。その際、プリンター制御オブジェクト56は、XMLファイルについて、プリンター制御部80が処理可能なようにデータ整形、データ変換を行なった上で、プリンター制御部80に送信する。
 プリンター制御部80は、いわゆるプリンタードライバーの機能により実現される機能ブロックであり、受信したXMLファイルに基づいて、印刷部21のコマンド体系に従った制御コマンドを生成し、プリンターハンドラー63を介して、印刷部21に送信する(ステップSD7)。印刷部21は、受信した制御コマンドに基づいて、各種機構を動作させて、レシートを発行する(ステップSD8)。
 なお、ディスプレー14に表示をさせる場合も、図8で説明した手順と同様の手順で処理が行なわれる。
 すなわち、アプリケーションAPは、ディスプレーI/Fオブジェクト42を介して、ディスプレー制御オブジェクト55に、表示データを送信する。ディスプレー制御オブジェクト55は、プリンター・ディスプレーI/F81を介して、ディスプレー制御部82に表示データを送信する。ディスプレー制御部82は、受信した表示データをディスプレー14のコマンド体系の制御コマンド体系に変換して、ディスプレーハンドラー62の機能を利用して、ディスプレー14に送信する。ディスプレー14は、制御コマンドに基づいて表示データの表示を行なう。
 以上のように、各デバイスについて、デバイスに対応するインターフェースオブジェクトと、制御オブジェクトとの通信により、アプリケーションAPによるデバイスの制御、及び、アプリケーションAPとデバイスとの間でのデータの送受信が適宜行なわれる。
 特に、本実施形態では、タブレット端末10と、制御装置11とは、WebSocketに従った通信を行なう。すなわち、タブレット端末10に係るブラウザーからサーバーとして機能する制御装置11に対してデータの送信要求を出すことなく、いずれの装置も、他方の装置に対してデータを送信することができる。換言すれば、インターフェースオブジェクトと、対応する制御オブジェクトとは、双方向通信可能である。このため、図7のフローチャートを用いて説明したように、デバイス側のイベントをトリガーとして、デバイスからアプリケーションAPへ、制御オブジェクト及びインターフェースオブジェクトを介したスムーズなデータの送信が可能である。かつ、図8のフローチャートを用いて説明したように、アプリケーションAP側のイベントをトリガーとして、アプリケーションAPは、インターフェースオブジェクト及び制御オブジェクトを介して、デバイスを制御可能である。
 また、以上説明したように、各デバイスの制御オブジェクトの生成により、対応するデバイスの制御が確立する。つまり、制御オブジェクトの生成により、対応する制御オブジェクトとの間でのデータの送受信が可能な状態が確立し、これにより、アプリケーションAPによって対応するデバイスに各種処理を実行させることが可能となり、また、対応するデバイスからアプリケーションAPに対してデータの送信を行なうことが可能となる。なお、後述するように、制御オブジェクトは、アプリケーションAPが送信するデータをデバイス(又は、デバイスの制御部)に送信することにより、デバイスに特定の処理を行なわせる場合もあり、また、アプリケーションAPの要求に従って、デバイスに制御コマンドを送信して、デバイスに特定の処理を行なわせる場合もある。
 より詳細に説明すると、上述のとおり、バーコードスキャナー制御オブジェクト54は、その機能(メソッド)として、対応するバーコードスキャナー12でバーコードの読み取りが実行された場合に、割り込み処理によって読み取り結果を取得し、取得した読み取り結果をバーコードスキャナーI/Fオブジェクト41を介して、アプリケーションAPに送信する、という機能(メソッド)を有する。すなわち、バーコードスキャナー制御オブジェクト54は、対応するバーコードスキャナー12でのバーコードの読み取りに応じて、読み取られた読み取り結果のタブレット端末10への送信を可能とする。従って、ここでのデバイス制御の確立は、対応するバーコードスキャナー12の読取結果をタブレット端末10への送信が可能な状態の確立を表す。これらの機能はバーコード制御オブジェクト54の生成により実行可能となる。
 また、上述のとおり、プリンター制御オブジェクト56は、アプリケーションAPが生成したXMLファイルを、プリンター制御部80が処理可能なようにデータ整形、データ変換を行なった上で、プリンター制御部80に送信する。プリンター制御部80は、処理可能な態様で送信されたデータに基づいて、制御コマンドを生成して送信し、印刷部21にレシートを発行させる(印刷を実行させる)。また、プリンター制御オブジェクト56は、印刷部21が送信したデータ(例えば、印刷部21のステータス(紙切れや、エラー等)を表わすデータ)を、プリンター制御部80を介して取得する。そして、プリンター制御オブジェクト56は、取得したデータをプリンターI/Fオブジェクト43を介して、アプリケーションAPへ送信する。すなわち、ここでのデバイスの制御の確立は、タブレット端末10(アプリケーションAP)から対応する印刷部21にデータの送信が可能な状態、及び、タブレット端末10(アプリケーションAP)によって印刷部21に印刷を含む各種処理を実行させることが可能な状態の確立を表す。また、対応する印刷部21からタブレット端末10(アプリケーションAP)に対して適宜のタイミングでデータの送信が可能な状態の確立を表す。これらの機能はプリンター制御オブジェクト56の生成により実現される。
 ディスプレー制御オブジェクト55についても、プリンター制御オブジェクト56と同様の態様で、デバイスの制御の確立が行なわれる。すなわち、ディスプレー制御オブジェクト55の生成により、タブレット端末10(アプリケーションAP)から対応するディスプレーにデータの送信が可能な状態、及び、タブレット端末10(アプリケーションAP)によってディスプレー14に各種情報を表示させることが可能な状態が確立する。また、ディスプレー制御オブジェクト55の生成により、ディスプレー14からタブレット端末10(アプリケーションAP)に対して適宜のタイミングでデータの送信が可能な状態が確立する。
 また、キャッシュチェンジャー制御オブジェクト53は、アプリケーションAPの要求に基づいて、実行させるべき処理に対応する制御コマンドを生成してキャッシュチェンジャー13に送信し、キャッシュチェンジャー13に入金処理や、出金処理等の各種処理を実行させる。この制御コマンドの生成、及び、送信は、アプリケーションAPにより指示されたメソッドの実行によって行なわれる。換言すれば、タブレット端末10(アプリケーションAP)は、キャッシュチェンジャーI/Fオブジェクト40を介して、キャッシュチェンジャー制御オブジェクト53に実装されたメソッドを指定することによって、キャッシュチェンジャー13に任意の処理を実行させることができる。
 また、キャッシュチェンジャー制御オブジェクト53は、キャッシュチェンジャー13により計数が行なわれた場合や、キャッシュチェンジャー13に対して入出金があった場合、割り込み処理によってその処理結果を取得し、取得した処理結果をキャッシュチェンジャーI/Fオブジェクト40を介して、アプリケーションAPに送信する。
 すなわち、ここでのデバイスの制御の確立は、タブレット端末10(アプリケーションAP)から対応するキャッシュチェンジャー13にデータの送信が可能な状態、及び、タブレット端末10(アプリケーションAP)によってキャッシュチェンジャー13に入金処理等の各種処理を実行させることが可能な状態の確立を表す。また、対応するキャッシュチェンジャー13からタブレット端末10(アプリケーションAP)に対して適宜のタイミングでデータの送信が可能な状態の確立を表す。これらの機能はキャッシュチェンジャー制御オブジェクト53の生成により実現される。
 ところで、タブレット端末10と、制御装置11とは、イーサネット(登録商標)等の所定の規格に従って、無線通信可能に接続されるが、電波障害、その他の原因により、意図せずに一時的に、通信が切断(いわゆる瞬断)される場合がある。なお、無線通信でない場合であっても、例えば、通信ケーブルの外れ、接触不良等により、一時的に通信が切断される場合がある。
 このような場合に、タブレット端末10、及び、制御装置11は、以下説明するように、制御オブジェクトの存在を踏まえた処理を行なう。
 図9は、通信が切断した場合のタブレット端末10、及び、制御装置11の動作を示すフローチャートである。
 図9(A)は、タブレット端末10で動作するアプリケーションAPの処理手順を示し、図9(B)は、制御装置11で動作する中継オブジェクト51の処理手順を示す。
 図9のフローチャートの前提として、タブレット端末10と、制御装置11との間には通信経路K1が確立されており、かつ、制御装置11には、キャッシュチェンジャー13、バーコードスキャナー12、ディスプレー14、及び、印刷部21のそれぞれの制御オブジェクトが生成されている状態であるものとする。
 図9(A)に示すように、アプリケーションAPは、通信の切断があったか否かを監視する(ステップSE1)。なお、接続部45が、WebSocketの規格に従った手段により、通信の切断の有無を監視し、通信の切断が発生した場合、接続部45からアプリケーションAPに対してその旨送信する構成である。
 通信の切断があった場合(ステップSE1:YES)、アプリケーションAPは、統括制御オブジェクト44の機能により、再接続を試み、再接続が成功したか否かを判別する(ステップSE2)。この再接続の試行は、予め定められた期間の間、行なわれる。
 同様に、図9(B)に示すように、中継オブジェクト51は、通信の切断があったか否かを監視する(ステップSF1)。なお、第2通信部50が、WebSocketの規格に従った手段により、通信の切断の有無を監視し、通信の切断が発生した場合、第2通信部50からアプリケーションAPに対してその旨送信する構成である。
 通信の切断があった場合(ステップSF1:YES)、中継オブジェクト51は、通信の切断があってからの経過時間の計測を開始する(ステップSF2)。後に明らかとなるとおり、中継オブジェクト51は、通信の切断があってからの経過時間が、期間T1を超えた場合、切断された通信に係る通信経路IDと対応付けられた制御オブジェクトを消去する構成である。この期間T1は、通信の切断が、意図した切断であるのか、意図しない瞬断であるのかを判別する基準値となるよう、その値が定められる。
 経過時間の計測の開始後、中継オブジェクト51は、経過時間が期間T1に至ったか否かを監視しつつ(ステップSF4)、経過時間が期間T1に至る前に、通信の再接続が行なわれたか否かを判別する(ステップSF3)。
 通信の再接続が行なわれることなく、経過時間が期間T1に至った場合(ステップSF4:YES)、通信の切断は、瞬断ではなく、意図的な切断であるとみなすことができる。中継オブジェクト51は、切断された通信に係る通信経路IDと対応付けられた制御オブジェクト(本例では、キャッシュチェンジャー13、バーコードスキャナー12、ディスプレー14、及び、印刷部21の制御オブジェクト)を消去する(ステップSF5)。上述したとおり、制御オブジェクトが消去されることにより、各デバイスについて、他のタブレット端末で動作するアプリケーションAPに開放され、他のアプリケーションAPが、新たに制御オブジェクトを生成して、制御可能な状態となる。
 なお、制御オブジェクトが消去された後に、再び、制御装置11と、タブレット端末10(通信の切断前と同一の端末であってもよく、異なる端末であってもよい。)との間で通信が確立した場合、図4で説明した手順に従って、タブレット端末10の要求に基づいて、デバイス制御部20aは、制御オブジェクトを生成し、動作させる。これにより、通信の切断後、所定期間内に再接続が行なわれず、これに伴って、制御オブジェクトが消去された場合であっても、迅速にデバイスの制御を可能な状態とすることができる。
 このように、本実施形態では、通信の再接続が行なわれることなく、経過時間が期間T1に至った場合は、通信の切断が意図的な切断であるとみなし、制御オブジェクトの消去(制御オブジェクトの開放)を行なう。このような構成のため、他のアプリケーションAPによってデバイスが制御できない時間が、不必要に長時間継続することが防止される。
 さて、図9(A)を参照し、ステップSE2における再接続の試行の結果、再接続に成功した場合(ステップSE2:YES)、アプリケーションAPは、切断された通信に係る通信経路K1の通信経路IDを、中継オブジェクト51に送信する(ステップSE3)。図4のステップSA3で説明したとおり、通信経路K1の確立に伴って通信経路IDが付与され、アプリケーションAPが参照可能な態様で端末記憶部25における所定の記憶領域に記憶される。
 図9(B)を参照し、通信の再接続が成功した場合、ステップSF3の判別において、「YES」と判別され、また、アプリケーションAPによるステップSE3の処理により、切断された通信に係る通信経路K1の通信経路IDが送信されてくるため、中継オブジェクト51は、通信経路IDを受信する(ステップSF6)。
 通信経路IDを受信すると、中継オブジェクト51は、受信した通信経路IDに対応付けられた制御オブジェクトが存在するか否かを判別する(ステップSF7)。存在しない場合は(ステップSF7:NO)、中継オブジェクト51は、処理を終了する。
 一方、通信した通信経路IDに対応付けられた制御オブジェクトが存在する場合(ステップSF7:YES)、中継オブジェクト51は、これら制御オブジェクトについて、期間T1後の消去を解除し、制御オブジェクトを消去することなく、存続させる(制御オブジェクトの生成を制御する。)(ステップSF8)。
 このように本実施形態では、通信の切断後、期間T1内に通信の再接続が成功した場合、当該通信の切断は、意図せぬ瞬断である蓋然性が高いものとして、切断された通信に係る通信経路K1の通信経路IDと対応付けられた制御オブジェクトについては、存続させる。このような構成のため、アプリケーションAPは、デバイスの制御に際し、新たに制御オブジェクトを生成させることなく、迅速、かつ、効率よく、デバイスの制御を行なうことができる。また、1のアプリケーションAPがデバイスを制御しする場合に、瞬断に起因してデバイスの制御が他のアプリケーションAPに開放され(対応する制御オブジェクトが消去され)、当該他のアプリケーションAPによって制御を獲得される、ということがない。
 さて、ステップSF8における制御オブジェクトの消去の解除(制御オブジェクトの生成の制御)後、アプリケーションAPと、中継オブジェクト51とは、協働して、データ再送処理を実行する(ステップSE4、ステップSF9)。
 図10は、データ再処理におけるアプリケーションAP、及び、中継オブジェクト51の処理を示すフローチャートであり、(A)はアプリケーションAPの処理を、(B)は中継オブジェクト51の処理をそれぞれ示す。
 図10(A)を参照し、アプリケーションAPは、端末記憶部25に記憶したデータIDのうち、直近で受信したデータのデータIDを、中継オブジェクト51に送信する(ステップSG1)。図7のステップSC11で説明したとおり、アプリケーションAPが受信したデバイスに係るデータ(デバイスに関する情報)にはデータIDが付与されており、当該データを受信した場合、アプリケーションAPは、受信したデータID付きのバーコード情報からデータIDを抽出し、端末記憶部25の所定の記憶領域に、データIDを記憶する。
 アプリケーションAPからデータIDを受信すると、中継オブジェクト51は、記憶部22に累積的に記憶したデータID付きのデータにおけるデータIDと、アプリケーションAPから受信したデータIDとを突き合わせ、瞬断に起因して、アプリケーションAPに送信すべきデータであって、アプリケーションAPへの送信が行なわれていないデータを特定(判別)する(ステップSH1)。詳述すると、中継オブジェクト51は、データIDの生成に際し、アプリケーションAPへのデータの送信が時間的に遅いものほど、その値が大きくなるようにする、という規則性を持ってデータIDを生成する。これを踏まえ、中継オブジェクト51は、アプリケーションAPから受信したデータIDと、同一の値に係るデータIDが付与されたデータは、データの送信が正常に終了している。一方、受信したデータIDよりも、大きい値に係るデータIDが付与されたデータは、瞬断に起因してアプリケーションAPへのデータの送信が行なわれていないものとして、これらデータを、アプリケーションAPへのデータの送信が行なわれていないデータとして特定する。つまり、ステップSH1では、中継オブジェクト51は、タブレット端末10に、送信したデータに付与されたデータIDのうち、タブレット端末10に記憶されていないデータIDを判別することにより、タブレット端末10に正常に送信されていないデータのデータIDを特定している。
 次いで、中継オブジェクト51は、データの送信が行なわれていないデータ(デバイスに関する情報)をアプリケーションAPへ送信する(ステップSH2)。アプリケーションAPは、中継オブジェクト51が送信したデータを取得し、適宜、処理を実行する(ステップSG2)。
 以上のようなデータ再送処理が行なわれることにより、通信の瞬断があった場合であっても、データを欠損させることなく、アプリケーションAPに送信すべきデータの全てについて、アプリケーションAPに送信することが可能である。
 以上説明したように、本実施形態に係るPOSシステム1(制御システム)は、ブラウザーが動作するタブレット端末10(端末)と、タブレット端末10と通信接続し、タブレット端末10とデータの送受信を行う制御装置11と、を有する。そして、タブレット端末10及び制御装置11は、通信接続がされたときに通信接続に係る識別情報を記憶し、通信接続が切断された後に再度通信接続がなされる時、タブレット端末10及び制御装置11が記憶する通信接続に係る識別情報に基づいて通信接続を行う。
 この構成によれば、タブレット端末10と、制御装置11との間での接続の確立に応じて、接続に対応する識別情報をこれら装置が記憶し、接続の切断後における再接続の際に、識別情報に基づいて、再接続が行なわれる。このため、再接続に際し、必要に応じて、識別情報を利用して、切断前の接続に対応する態様で、再接続を行なうことが可能となる。つまり、上記構成によれば、ブラウザーを有するタブレット端末10と、制御装置11とがネットワークを介して通信するPOSシステム1について、システムを、各装置がネットワークを介して通信する構成に対応させることができる。
 また、本実施形態では、通信接続に係わる識別情報は、タブレット端末10と制御装置11との通信経路に付与される識別情報である。
 この構成によれば、タブレット端末10と、制御装置11との間で通信経路を確立することを利用して、通信経路の識別情報を利用して、再接続を行なうことができる。
 また、本実施形態に係るPOSシステム1は、制御装置11に接続されるデバイスを有する。そして、制御装置11は、デバイスを制御する制御オブジェクトを生成するデバイス制御部20a、及び、デバイス制御部20aで生成された制御オブジェクトと通信接続に係わる識別情報とを対応付けて記憶する記憶部22を有する。
 この構成によれば、各デバイスを、識別情報と対応付けて管理可能である。
 また、本実施形態では、デバイス制御部20aは、タブレット端末10と制御装置11との通信接続が切断された後、予め定められた期間内に再度通信接続がなされなかった時、制御オブジェクトを消去する。
 この構成によれば、接続の切断後、所定期間内に再接続が行なわれるような一時的な切断があった場合に、切断前の接続時に使用していた制御オブジェクトが消去されることを防止しつつ、再接続後に、改めて制御オブジェクトを生成することなく、制御オブジェクトを利用可能である。また、不必要に長時間、制御オブジェクトが消去されず、これに伴って、デバイスの制御が開放されないといったことを防止できる。
 また、本実施形態では、デバイス制御部20aは、タブレット端末10と制御装置11との通信接続が切断された後、予め定められた期間内に再度通信接続がなされたとき、再度通信接続がなされたときの識別情報と記憶部22に記憶された制御オブジェクトに対応付けられた識別情報とに基づいて、制御オブジェクトの生成を制御する。
 この構成によれば、一時的な切断による再接続後、識別情報をキーとして、切断前の接続時に使用していた制御オブジェクトを判別でき、かつ、利用可能である。
 また、本実施形態に係るPOSシステム1(制御システム)は、データを送信するデバイスと、デバイスと通信して、デバイスが送信したデータを受信する第1通信部71、第1通信部71で受信したデータに識別情報を付与するデバイス制御部20a、識別情報が付与されたデータを記憶する記憶部22、及び、識別情報が付与されたデータを送信する第2通信部50を有する制御装置11と、制御装置11から送信された識別情報が付与されたデータを受信する接続部45、接続部45で受信された識別情報が付与されたデータの識別情報を記憶する端末記憶部25、及び、識別情報が付与されたデータを処理するアプリケーションを動作させる端末制御部26を有し、ブラウザーが動作するタブレット端末10と、を備える。
 この構成によれば、制御装置11から端末に送信されるデータに識別情報が付与されると共に、制御装置11は、送信するデータを記憶し、端末は、受信するデータに係る識別情報を記憶する。このため、接続の切断があった場合、識別情報をキーとして、接続の切断に起因して端末が受信していないデータを特定でき、かつ、特定したデータを再送信することが可能となる。つまり、本発明の構成によれば、ブラウザーを有する端末と、制御装置とがネットワークを介して通信する制御システムについて、システムを、各装置がネットワークを介して通信する構成に対応させることができる。
 また、本実施形態では、タブレット端末10と制御装置11との通信の接続が切断された後に再接続されたとき、タブレット端末10は、記憶した識別情報を制御装置11に送信し、制御装置11のデバイス制御部20aは、タブレット端末10から送信された識別情報と、記憶部22に記憶された識別情報が付与されたデータの識別情報とに基づいて、タブレット端末10に記憶されていない識別情報が付与されたデータを判別し、制御装置11の第2通信部50は、タブレット端末10に記憶されていない識別情報が付与されたデータを送信する。
 この構成によれば、接続の切断後における再接続に際し、識別情報を利用して、タブレット端末10が受信していないデータの特定が可能である。
 また、本実施形態では、制御装置11のデバイス制御部20aで付与される識別情報は、規則性を有する情報であり、デバイス制御部20aは、識別情報の規則性に基づいて、タブレット端末10に記憶されていない識別情報が付与されたデータを判別する。
 この構成によれば、例えば、タブレット端末10が制御装置11に対して、一定期間に受信したデータの全てについて識別情報を送信し、制御装置11は受信した識別情報と、記憶した識別情報付きのデータにおける識別情報との比較により、タブレット端末10が受信していないデータを特定する、といった処理をすることなく、識別情報の規則性を利用した簡易な手段で、制御装置11は、タブレット端末10が受信していないデータを特定可能である。
 また、本実施形態に係る制御装置11は、デバイスと接続されてデバイスと通信する第1通信部71と、ブラウザーが動作するタブレット端末10と接続されて、タブレット端末10からの要求を受信する第2通信部50と、タブレット端末10からの要求に基づいてデバイスを制御する制御オブジェクトを動作させると共に、タブレット端末10と通信接続が切断されたときに制御オブジェクトを予め定められた所定期間保持した後に消去するデバイス制御部20aと、を備える。
 この構成によれば、通信の切断に応じて、すぐに制御オブジェクトが消去されるのではなく、所定期間保持された後、消去される。このため、意図しない一時的な通信の切断があった場合であっても、すぐに制御オブジェクトが消去されず、一時的な通信の切断が回復したときに、消去されずに残存した制御オブジェクトによってデバイスの制御を開始することが可能である。また、制御オブジェクトが所定期間保持された後は、消去されるため、不必要に長期間制御オブジェクトが消去されず、これに伴って、デバイスの制御が開放されないといったことが防止される。つまり、本発明の構成によれば、ブラウザーを有するタブレット端末10と、制御装置11とがネットワークを介して通信するPOSシステム1について、制御装置11を、各装置がネットワークを介して通信する構成に対応させることができる。
 また、本実施形態によれば、デバイス制御部20aは、タブレット端末10との通信接続が切断されて、所定期間以上の時間が経過した後にタブレット端末10と通信接続が行なわれたとき、タブレット端末10からの要求に基づいて制御オブジェクトを生成して動作させる。
 この構成によれば、通信の切断後、所定期間内に再接続が行なわれず、これに伴って、制御オブジェクトが消去された場合であっても、タブレット端末10の要求に基づいて制御オブジェクトが生成され、迅速にデバイスの制御を可能な状態とすることができる。
 また、本実施形態によれば、デバイス制御部20aで動作される制御オブジェクトは、送信されたタブレット端末10からの要求を、第1通信部71を介してデバイスに送信されるデータに変換する。
 本発明の構成によれば、制御オブジェクトの機能を利用して、端末からデバイスに要求を出し、デバイスを制御することが可能となる。
 なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
 例えば、上述した実施形態では、レジカウンターLを有する店舗に、POSシステム1が適用された場合を例にして、本発明を説明したが、POSシステムの使用の態様はこの例に限らず、例えば、喫茶店や、レストラン等の飲食店に対して適用することも可能である。また例えば、制御装置11と、POSサーバー17とは、別個の装置であったが、制御装置11にPOSサーバー17の機能を持たせてもよい。また例えば、制御装置11はサーマルプリンターであったが、記録形式は何であってもよい。
 また例えば、図2、3に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、各機器は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。
 以上説明したように、本発明は、タブレット端末等の端末が接続されたPOS端末やPOS端末を用いたPOSシステムに有用であり、POSシステム等の情報処理装置や情報処理システムに適用可能である。
 1…POSシステム(制御システム)、10…タブレット端末(端末)、11…制御装置、12…バーコードスキャナー(デバイス)、13…キャッシュチェンジャー(デバイス)、14…ディスプレー(デバイス)、20a…デバイス制御部、21…印刷部(デバイス)、22…記憶部、25…端末記憶部、26…端末制御部、45…接続部、50…第2通信部、53…キャッシュチェンジャー制御オブジェクト(制御オブジェクト)、54…バーコードスキャナー制御オブジェクト(制御オブジェクト)、55…ディスプレー制御オブジェクト(制御オブジェクト)、56…プリンター制御オブジェクト(制御オブジェクト)、71…第1通信部、K1…通信経路。

Claims (10)

  1.  ブラウザーが動作する端末と前記端末にデータの送受信を行う制御装置との通信接続を確立し、
     確立された通信接続に係わる識別情報を生成し、
     生成された前記識別情報を前記端末及び前記制御装置に記憶し、
     前記端末と前記制御装置との通信接続が切断されたのち、再度通信接続がなされるとき、前記前記端末及び前記制御装置が記憶する前記通信接続に係わる識別情報に基づいて通信接続を行うことを特徴とする制御システムの制御方法。
  2.  前記通信接続に係わる識別情報に基づく通信接続は、前記端末と前記制御装置との通信接続が切断された後、予め定められた期間内で再度通信接続を行うときに実行する請求項1に記載の制御システムの制御方法。
  3.  データを送信するデバイスと、
     前記デバイスと通信して、前記デバイスが送信した前記データを受信する第1通信部、前記第1通信部で受信した前記データに識別情報を付与するデバイス制御部、前記識別情報が付与されたデータを記憶する記憶部、及び、前記識別情報が付与されたデータを送信する第2通信部を有する制御装置と、
     前記制御装置から送信された前記識別情報が付与されたデータを受信する接続部、前記接続部で受信された前記識別情報が付与されたデータの前記識別情報を記憶する端末記憶部、及び、前記識別情報が付与されたデータを処理するアプリケーションを動作させる端末制御部を有し、ブラウザーが動作する端末と、
     を備えることを特徴とする制御システム。
  4.  前記端末と前記制御装置との通信の接続が切断された後に再接続されたとき、
     前記端末は、
     記憶した前記識別情報を前記制御装置に送信し、
     前記制御装置の前記デバイス制御部は、前記端末から送信された前記識別情報と、前記記憶部に記憶された前記識別情報が付与されたデータの前記識別情報とに基づいて、前記端末に記憶されていない前記識別情報が付与されたデータを判別し、
     前記制御装置の前記第2通信部は、前記端末に記憶されていない前記識別情報が付与されたデータを送信する請求項3に記載の制御システム。
  5.  前記制御装置の前記デバイス制御部で付与される前記識別情報は、規則性を有する情報であり、
     前記デバイス制御部は、前記識別情報の規則性に基づいて、前記端末に記憶されていない前記識別情報が付与されたデータを判別する請求項4に記載の制御システム。
  6.  制御装置で、接続されたデバイスから送信されたデータに、識別情報を付与して、前記識別情報が付与されたデータを記憶し、
     前記識別情報が付与されたデータを端末に送信し、
     前記識別情報が付与されたデータを送信された前記端末で、前記識別情報が付与されたデータの前記識別情報を記憶することを特徴とする制御システムの制御方法。
  7.  前記制御装置と前記端末との通信中に通信が切断された後、通信が再接続された時、
     前記端末は記憶した前記識別情報を前記制御装置に送信し、
     前記制御装置は、送信された前記識別情報と、記憶した前記識別情報が付与されたデータの前記識別情報とに基づいて、前記端末に記憶されていない前記識別情報が付与されたデータを前記端末に送信する請求項6に記載の制御システムの制御方法。
  8.  デバイスと接続されて前記デバイスと通信する第1通信部と、
     ブラウザーが動作する端末と接続されて前記端末からの要求を受信する第2通信部と、
     前記端末からの要求に基づいて前記デバイスを制御する制御オブジェクトを動作させ、前記端末と通信接続が切断されたときに前記制御オブジェクトを予め定められた所定期間保持した後に消去するデバイス制御部と、
     を備えることを特徴とする制御装置。
  9.  前記デバイス制御部は、前記端末との通信接続が切断されて、前記所定期間以上の時間が経過した後に前記端末と通信接続が行なわれたとき、前記端末からの要求に基づいて前記制御オブジェクトを生成して動作させる請求項8に記載の制御装置。
  10.  前記デバイス制御部で動作される前記制御オブジェクトは、送信された前記端末からの要求を、前記第1通信部を介して前記デバイスに送信されるデータに変換する請求項13または9に記載の制御装置。
PCT/JP2014/000433 2013-01-30 2014-01-28 制御システム、制御システムの制御方法、及び、制御装置 WO2014119290A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP14745737.8A EP2953033B1 (en) 2013-01-30 2014-01-28 Control system and control method for the control system
CN201480004391.2A CN104919435B (zh) 2013-01-30 2014-01-28 控制系统、控制系统的控制方法以及控制装置
US14/763,041 US10491457B2 (en) 2013-01-30 2014-01-28 Control system, control method of a control system, and control device
KR1020157023299A KR101772781B1 (ko) 2013-01-30 2014-01-28 Pos 제어 시스템, pos 제어 시스템의 제어 방법, 및, 제어 장치

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2013-016054 2013-01-30
JP2013-016053 2013-01-30
JP2013-016058 2013-01-30
JP2013016054A JP6229269B2 (ja) 2013-01-30 2013-01-30 制御装置、及び、制御装置の制御方法
JP2013016053A JP6229268B2 (ja) 2013-01-30 2013-01-30 制御装置、及び、制御装置の制御方法
JP2013016058A JP6229270B2 (ja) 2013-01-30 2013-01-30 制御システム、及び、制御システムの制御方法

Publications (1)

Publication Number Publication Date
WO2014119290A1 true WO2014119290A1 (ja) 2014-08-07

Family

ID=51262008

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/000433 WO2014119290A1 (ja) 2013-01-30 2014-01-28 制御システム、制御システムの制御方法、及び、制御装置

Country Status (5)

Country Link
US (1) US10491457B2 (ja)
EP (1) EP2953033B1 (ja)
KR (1) KR101772781B1 (ja)
CN (1) CN104919435B (ja)
WO (1) WO2014119290A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016128962A (ja) * 2015-01-09 2016-07-14 セイコーエプソン株式会社 制御装置、及び、制御装置の制御方法
CN110879552A (zh) * 2019-11-29 2020-03-13 联想(北京)有限公司 一种控制方法及控制系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3040870A4 (en) * 2013-08-29 2017-03-15 Seiko Epson Corporation Transmission system, transmission device, and data transmission method
JP6705971B2 (ja) * 2017-03-16 2020-06-03 株式会社安川電機 コントロールシステム、コントローラ及び制御方法
US20190227955A1 (en) * 2017-07-10 2019-07-25 Trusted Solutions Corporation System for connecting web pos system with peripheral device
CN108762189B (zh) * 2018-06-12 2021-10-01 浙江精功科技股份有限公司 一种基于plc控制的pc构件模台控制系统
JP7047673B2 (ja) * 2018-08-30 2022-04-05 セイコーエプソン株式会社 印刷装置、印刷装置の制御方法、及び、制御システム
KR20210084923A (ko) 2019-12-30 2021-07-08 주식회사 에스엔유비텍 Pos 단말기 명령 전달 시스템 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0267671A (ja) * 1988-09-01 1990-03-07 Tohoku Nippon Denki Software Kk オンライン処理の実行再開方式
JPH0573769A (ja) 1991-09-11 1993-03-26 Nec Eng Ltd Posシステム
JP2005108121A (ja) * 2003-10-01 2005-04-21 Canon Sales Co Inc 情報処理装置、情報処理システム、情報処理方法およびそのプログラム
JP2007508617A (ja) * 2003-10-10 2007-04-05 サイトリックス システムズ, インコーポレイテッド 持続的なアプリケーションセッションにアクセスを提供する方法および装置
JP2010273045A (ja) * 2009-05-20 2010-12-02 Hitachi Software Eng Co Ltd サーバ装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69822283T2 (de) 1997-12-24 2004-07-29 Nortel Networks Ltd., St. Laurent Verteilte dauerhafte Speicher für Benutzer- Anbieter- Systeme mit manchmal unterbrochenen Verbindungen
US8117328B2 (en) * 2002-06-25 2012-02-14 Microsoft Corporation System and method for automatically recovering from failed network connections in streaming media scenarios
US7650432B2 (en) 2004-05-20 2010-01-19 Bea Systems, Inc. Occasionally-connected application server
KR100694155B1 (ko) 2005-10-12 2007-03-12 삼성전자주식회사 웹서비스를 통해 홈 네트워크 기기의 서비스를 홈 네트워크외부에 제공하는 방법 및 장치
JP5176301B2 (ja) 2006-09-25 2013-04-03 大日本印刷株式会社 Webアプリケーション接続管理システム、Webサーバ、Webアプリケーション接続管理方法、プログラム、及び記録媒体
JP4956255B2 (ja) * 2007-03-28 2012-06-20 富士通フロンテック株式会社 Posシステムおよびposシステムの制御方法
JP4929192B2 (ja) * 2008-01-21 2012-05-09 株式会社日立製作所 無線通信システムおよび無線通信システムにおけるソフトハンドオフ制御方法
US8331545B2 (en) * 2008-12-11 2012-12-11 International Business Machines Corporation Handling communication session disconnection and reconnection
CN101800639A (zh) * 2009-02-09 2010-08-11 华为终端有限公司 一种实现网银业务的方法、系统和设备
US8527774B2 (en) * 2009-05-28 2013-09-03 Kaazing Corporation System and methods for providing stateless security management for web applications using non-HTTP communications protocols
JP2013051571A (ja) * 2011-08-31 2013-03-14 Seiko Epson Corp 処理端末および処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0267671A (ja) * 1988-09-01 1990-03-07 Tohoku Nippon Denki Software Kk オンライン処理の実行再開方式
JPH0573769A (ja) 1991-09-11 1993-03-26 Nec Eng Ltd Posシステム
JP2005108121A (ja) * 2003-10-01 2005-04-21 Canon Sales Co Inc 情報処理装置、情報処理システム、情報処理方法およびそのプログラム
JP2007508617A (ja) * 2003-10-10 2007-04-05 サイトリックス システムズ, インコーポレイテッド 持続的なアプリケーションセッションにアクセスを提供する方法および装置
JP2010273045A (ja) * 2009-05-20 2010-12-02 Hitachi Software Eng Co Ltd サーバ装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2953033A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016128962A (ja) * 2015-01-09 2016-07-14 セイコーエプソン株式会社 制御装置、及び、制御装置の制御方法
CN110879552A (zh) * 2019-11-29 2020-03-13 联想(北京)有限公司 一种控制方法及控制系统
CN110879552B (zh) * 2019-11-29 2021-08-17 联想(北京)有限公司 一种控制方法及控制系统

Also Published As

Publication number Publication date
CN104919435A (zh) 2015-09-16
EP2953033A1 (en) 2015-12-09
EP2953033B1 (en) 2018-11-21
KR101772781B1 (ko) 2017-08-29
US10491457B2 (en) 2019-11-26
US20150365272A1 (en) 2015-12-17
KR20150112004A (ko) 2015-10-06
EP2953033A4 (en) 2017-02-15
CN104919435B (zh) 2018-08-24

Similar Documents

Publication Publication Date Title
WO2014119290A1 (ja) 制御システム、制御システムの制御方法、及び、制御装置
JP6060708B2 (ja) 制御システムの制御方法、及び、制御装置の制御方法
JP6182880B2 (ja) 制御システム、及び、制御システムの制御方法
JP6365648B2 (ja) 端末、及び端末の制御方法
JP6277959B2 (ja) レシート発行システム、プリンター、及びレシート発行方法
US20140211255A1 (en) Control system and control method of a control system
JP2015035153A (ja) 商品販売データ処理装置、情報端末、及び制御プログラム
JP2014147045A (ja) 制御システム、及び、制御システムの制御方法
JP6229269B2 (ja) 制御装置、及び、制御装置の制御方法
JP6229268B2 (ja) 制御装置、及び、制御装置の制御方法
JP6229270B2 (ja) 制御システム、及び、制御システムの制御方法
JP6446812B2 (ja) Posシステム及びposシステムの制御方法
JP2017156855A (ja) レシート発行装置、制御方法、及びプログラム
RU2575420C2 (ru) Способ управления системы управления и сама система управления
JP2015135635A (ja) Posシステム、及び、posシステムの制御方法
JP2016049723A (ja) 記録装置、記録装置の制御方法、及び、記録システム
JP6326924B2 (ja) Posシステムおよびposシステムの制御方法
JP6160437B2 (ja) Posシステム、ホスト装置、及び、ホスト装置の制御方法
JP6171837B2 (ja) 送信システム、送信装置、及び、データ送信方法
JP2016051273A (ja) 記録装置、及び、記録装置の制御方法
JP2015148873A (ja) 制御システム、及び制御システムの制御方法

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: 14745737

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14763041

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20157023299

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2014745737

Country of ref document: EP