WO2016080429A1 - 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム - Google Patents

情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム Download PDF

Info

Publication number
WO2016080429A1
WO2016080429A1 PCT/JP2015/082362 JP2015082362W WO2016080429A1 WO 2016080429 A1 WO2016080429 A1 WO 2016080429A1 JP 2015082362 W JP2015082362 W JP 2015082362W WO 2016080429 A1 WO2016080429 A1 WO 2016080429A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
information processing
processing apparatus
communication terminal
driver
Prior art date
Application number
PCT/JP2015/082362
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
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2016560259A priority Critical patent/JPWO2016080429A1/ja
Priority to US15/528,011 priority patent/US20180040207A1/en
Publication of WO2016080429A1 publication Critical patent/WO2016080429A1/ja

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44584Portable applications, i.e. making applications self-contained, e.g. U3 standard
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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
    • 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/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • 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/209Specified transaction journal output feature, e.g. printed receipt or voice output
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0009Details of the software in the checkout register, electronic cash register [ECR] or point of sale terminal [POS]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0036Checkout procedures
    • G07G1/0045Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader

Definitions

  • the present invention relates to an information processing system, an information processing method, an information processing apparatus, a control method thereof, and a control program.
  • Patent Document 1 describes that when a POS terminal in a POS (Point of Sales) system is turned on, a keyboard, hand scanner, and printer can be recognized via a USB (Universal Serial Bus) interface.
  • a technique is disclosed in which application software for executing business is started.
  • the device when a device essential for the application software of the POS terminal is connected to the remote USB interface, the device may not be stably recognized from the POS terminal.
  • the application software may be activated even if the essential device is not operable, or the application software cannot be activated even though the essential device is operable.
  • An object of the present invention is to provide a technique for solving the above-described problems.
  • an information processing apparatus provides: Application storage means for storing an application and a device necessary for executing the application in association with each other; Device determination means for determining whether or not the device is usable depending on whether or not a device driver for the device is activated; Application launching means for launching the application associated with the device determined to be usable; Is provided.
  • a method for controlling an information processing apparatus includes: A device determination step for determining whether or not the device is usable depending on whether or not a device driver for the device is activated; and An application activation step of activating the application associated with the device determined to be usable with reference to an application storage unit that associates and stores an application and a device necessary for executing the application; including.
  • a control program for an information processing apparatus provides: A device determination step for determining whether or not the device is usable depending on whether or not a device driver for the device is activated; and An application activation step of activating the application associated with the device determined to be usable with reference to an application storage unit that associates and stores an application and a device necessary for executing the application; Is executed on the computer.
  • an information processing system provides: An information processing device; A communication terminal communicably connected to the information processing apparatus; A device connected to the communication terminal; With The information processing apparatus has an application interface of a device driver that drives the device, and the communication terminal has a device control interface of the device driver,
  • the information processing apparatus includes: Application storage means for storing an application and a device necessary for executing the application in association with each other; Device determination means for determining whether or not the device is usable depending on whether or not the application interface of the device driver is activated; Application launching means for launching the application associated with the device determined to be usable; Is provided.
  • an information processing method includes: An information processing device; A communication terminal communicably connected to the information processing apparatus; A device connected to the communication terminal; An information processing method for an information processing system comprising: The information processing apparatus has an application interface of a device driver that drives the device, and the communication terminal has a device control interface of the device driver, The information processing apparatus further includes an application storage unit that stores an application in association with the device necessary for executing the application, The information processing apparatus includes: A device determination step for determining whether or not the device is usable depending on whether or not a device driver for the device is activated; and An application activation step of activating the application associated with the device determined to be usable with reference to the application storage unit; Middleware including
  • an application that uses a desired device can be stably started.
  • the information processing apparatus 100 is an apparatus that executes an application that uses a device.
  • the information processing apparatus 100 includes an application storage unit 101, a device determination unit 102, and an application activation unit 103.
  • the application storage unit 101 stores the application 111 and the device device 105 (112) necessary for executing the application 111 in association with each other.
  • the device determination unit 102 determines whether the device is usable 122 based on whether the device driver 121 for the device 105 is activated.
  • the application activation unit 103 activates the application 111 associated with the device 105 determined to be usable.
  • the information processing system according to the present embodiment includes an information processing apparatus and a remote device, detects that the remote device is prepared, and activates a corresponding application of the information processing apparatus. This avoids problems such as the fact that an essential device is not prepared despite the application being started.
  • a POS system will be described as a specific example.
  • the present embodiment may be applied to an information processing system including another information processing apparatus and a remote device, such as a diagnosis support system or an education support system. The effect of.
  • FIG. 2A is a diagram illustrating an operation of the information processing system 200 including the information processing apparatus according to the present embodiment and a remote device.
  • the information processing system 200 includes an information processing device 230 that executes a POS application (POS application in the drawing) 231, a communication terminal 220 that is connected to the information processing device 230 for communication, and a device 210 that is connected to the communication terminal 220 via a bus. And including.
  • the information processing apparatus 230 manages the directly connected device and the device remotely connected via the communication terminal 220 by the device manager 236. Note that a device remotely connected through the communication terminal 220 is preferably controlled by a device driver that cooperates between the information processing apparatus 230 and the communication terminal 220.
  • the device manager 236 displays the connection device management screen
  • the directly connected device and the device remotely connected via the communication terminal 220 are similarly displayed and can be selected.
  • . 2A may be a desktop PC (Personal Computer) or a notebook PC, or may be a virtual PC built on a cloud server.
  • the fact that a predetermined device set such as a USB display (monitor), a keyboard, and a barcode reader is connected to the startup driver is periodically Check when there is a change in the target or startup driver.
  • a predetermined application in this example, the POS application 231 is activated.
  • FIG. 2B is a diagram showing a configuration of the information processing system 200 according to the present embodiment.
  • FIG. 2B shows an example of the store POS when the information processing device 230 is a virtual PC constructed on a cloud server and the communication terminal 220 is a smart device such as a smartphone or a tablet.
  • the information processing system 200 includes an information processing device 230 as a cloud server, a communication terminal 220 as a smart device disposed in the store 201, and a network 240 including a 3G network and the Internet connecting the information processing device 230 and the communication terminal 220. And a device 210 connected to the communication terminal 220 by a bus.
  • the information processing apparatus 230 executes an application that processes a POS system, such as a POS application or an electronic money (e-money) application.
  • the information processing apparatus 230 shares and executes the application interface portion in a device driver that controls a device connected to the communication terminal 220.
  • the communication terminal 220 includes a cash drawer, a receipt printer, a barcode reader, a credit card reader, a contactless RW terminal, etc., in addition to a display, keyboard, and pointing device (not shown) that are devices for realizing the POS system. Are connected by bus.
  • the communication terminal 220 shares and executes the host controller interface portion in the device driver that controls each device to be connected.
  • a device driver is configured while the application interface portion of the information processing apparatus 230 and the host controller interface portion of the communication terminal 220 communicate with each other.
  • POS / CRM Customer Relationship Management
  • accumulation of member data and purchase data analysis of accumulated data, output, CRM-related functions (coupons, points, etc.) are executed.
  • a multi-service gateway and service cooperation electronic money which are electronic money functions are executed.
  • POS function a cash register function utilizing a smart device, a peripheral device that can be selected upon request, a sales information recording and settlement function, an electronic money settlement function, and the like are executed.
  • the middleware of the information processing apparatus 230 checks a device driver activated for a device connected to the communication terminal 220 that is a smart device, and can be used by being connected from the check result.
  • the update or stop of the application is controlled by increasing or decreasing the number of connected and usable devices. That is, when the number of connected devices that can be used increases, a new application that executes the function that can be executed is started, or the function of the application that is being executed is additionally executed. Further, when the number of connected devices that can be used decreases, the application that cannot be executed is terminated, or the function that cannot be executed by the application that is being executed is stopped.
  • FIG. 2C is a diagram illustrating a concept of the information processing system 200 according to the present embodiment.
  • FIG. 2C illustrates a configuration of a device driver between the information processing apparatus 230 and the communication terminal 220 in the present embodiment.
  • a display 212 as a monitor, an input instruction keyboard 213, and a barcode reader 214 for reading product information are connected to the communication terminal 220.
  • the device driver is activated.
  • the display 212 and the keyboard 213 are connected to the bus interface 221 of the communication terminal 220 via the hub 211.
  • the barcode reader 214 is connected to the bus interface 221 of the communication terminal 220.
  • the host controller interface 222 of the communication terminal 220 and the application interface 232 of the information processing device 230 are activated.
  • a pipe is established between the host controller interface 222 and the application interface 232 via the network 240.
  • the host controller interface 223 of the communication terminal 220 and the application interface 233 of the information processing apparatus 230 are activated as a keyboard / device driver for controlling the keyboard 213.
  • a pipe is established between the host controller interface 223 and the application interface 233 via the network 240.
  • the host controller interface 224 of the communication terminal 220 and the application interface 234 of the information processing device 230 are activated as a barcode reader / device driver for controlling the barcode reader 214.
  • a pipe is established between the host controller interface 224 and the application interface 234 via the network 240.
  • the information processing apparatus 230 checks whether or not the application interfaces 232 to 234 are activated, and determines that the monitor, the keyboard, and the barcode reader are usable, activates the POS application 231 as application software. When the monitor, the keyboard, and the barcode reader are usable, the POS application 231 is activated, but the price setting process using the discount price tag for the product can be executed. For example, when it is determined that the cash drawer and the receipt printer can be used, the cash clearing process can be executed in the POS application 231. If it is determined that the credit card reader can be used, the credit clearing process can be executed in the POS application 231. If it is determined that the non-session RW terminal can be used, the electronic money clearing process can be executed in the POS application 231.
  • a configuration in which the functions of the same POS application 231 can be executed step by step by a device set may be employed, or a configuration in which different POS applications are activated by a device set may be employed.
  • FIG. 2D is a diagram showing device connection of the information processing system 200 according to the present embodiment.
  • FIG. 2D is a diagram showing how a control pipe (default pipe) and a data pipe are established among the host (information processing apparatus) 230, the communication terminal 220, and the USB device 210.
  • OS Operating System
  • BIOS Basic Input / Output System
  • the information processing system 200 in FIG. 2D includes a host 230 as an information processing apparatus, a communication terminal 220 that is remote and connected to the host 230 via a network 240, and a USB device connected to a USB connector of the communication terminal 220. 210.
  • the host 230 includes, as software, application software 231 and an application interface (application IF in the figure) 235 as a part of the device driver.
  • the application software 231 is software for providing a service provided in advance by the host 230 or a service developed by the user.
  • the application interface 235 interprets the structure of the input / output file operation requested by the application software 231 and transmits control information and data transmitted / received via the network 240 according to the target device of the input / output file operation, its protocol, data format, and the like. Generate a structure that defines In this example, since the input / output file is accessed to the USB device 210, data transmission / reception in accordance with a command or data format corresponding to the USB protocol is prepared.
  • the communication terminal 220 includes, as software, a host controller interface (a host controller IF in the figure) 225 as a part of a device driver, and a USB bus interface 226 having a host controller and SIE.
  • the host controller interface 225 passes commands, data, and the like according to the USB protocol received from the application interface 235 to the host controller of the USB bus interface 226 via the network 240 in an understandable format.
  • the host controller interface 225 transmits data, device status, and the like passed from the host controller of the USB bus interface 226 via the network 240 to the application interface 235 via the network 240.
  • the host controller of the USB bus interface 226 executes serial communication via the USB cable 260 according to the USB protocol while exchanging commands and data with the host controller interface 225.
  • the SIE of the USB bus interface 226 controls the signal on the USB cable 260 according to the USB communication specification.
  • the USB device 210 has, as software, a USB bus interface 216 of the USB device 210 that exchanges signals by connecting to the USB bus interface 226 of the communication terminal 220 via the USB cable 260.
  • the USB device 210 has an endpoint 0217 consisting of FIFO (First-in-First-out) 0 for storing descriptors including device information and control information, and endpoints 1 to 1 consisting of FIFOs 1 to n for storing input / output data. n218.
  • the communication terminal 220 and the USB device 210 perform physical level communication through the USB bus interfaces 226 and 216 of each other. Further, control communication as basic processing is realized between the application software 231 and the endpoint 0217 via the default pipe 251 by system level control transfer via the application interface 235, the network 240, and the host controller interface 225. . In the application level data transfer, data communication as each method of the device class is realized between the application software 231 and the end points 1 to n 218 via the data pipe group 252.
  • the network communication between the application interface 235 of the host 230 and the host controller interface 225 of the communication terminal 220 via the network 240 and the serial communication between the USB bus interfaces 226 and 216 via the USB cable. , Can form a unified communication channel (pipe).
  • FIG. 2E is a diagram illustrating a configuration of a communication message according to the present embodiment. Note that the format of the communication message is not limited to FIG. 2E.
  • FIG. 2E shows a control message 270 transmitted / received on the control channel that is the default pipe 251 and a data message 280 transmitted / received on the data channel that is the data pipe group 252.
  • the control message transmitted from the host 230 to the communication terminal 220 includes an IP address 271, a transmission destination area / transmission source area 272, communication data 273, and error correction, for example, CRC 274.
  • IP address 271 a destination communication terminal address and a source host address are set.
  • the transmission destination area / transmission source area 272 the FIFO 0 of the USB device 210 is designated as the transmission destination area, and the USB buffer 0 of the host 230 is designated as the transmission source area.
  • the communication data 273, a device address assigned by the host 230 and a control command for the USB device 210 are transmitted.
  • the control message transmitted from the communication terminal 220 to the host 230 has an IP address 275, a transmission destination area / transmission source area 276, communication data 277, and error correction, for example, CRC 278.
  • IP address 275 a destination host address and a source communication terminal address are set.
  • the transmission destination area / transmission source area 276, the USB buffer 0 of the host 230 is designated in the transmission destination area, and the FIFO 0 of the USB device 210 is designated in the transmission source area.
  • the communication data 277 a device descriptor and a device status of the USB device 210 are transmitted.
  • the data message transmitted from the host 230 to the communication terminal 220 has an IP address 281, a transmission destination area / transmission source area 282, communication data 283, and error correction, for example, CRC 284.
  • IP address 281 a destination communication terminal address and a source host address are set.
  • transmission destination area / transmission source area 282 FIFO 1 to n of the USB device 210 is associated with the transmission destination area, and USB buffers 1 to n of the host 230 are associated with the transmission source area.
  • the communication data 283, one or a plurality of bulk OUT data is transmitted.
  • a data message transmitted from the communication terminal 220 to the host 230 has an IP address 285, a transmission destination area / transmission source area 286, communication data 287, and error correction, for example, CRC288.
  • IP address 285, a destination host address and a source communication terminal address are set.
  • the USB buffers 1 to n of the host 230 are associated with the transmission destination area, and the FIFOs 1 to n of the USB device 210 are associated with the transmission source area.
  • the communication data 287 one or a plurality of bulk IN data is transmitted.
  • the encapsulated IP address is network communication between the host 230 and the communication terminal 220, but the data includes the USB buffer secured by the application software 231 in the host 230 and the endpoint of the USB device 210. Is transmitted to or from the FIFO.
  • FIG. 2F is a diagram showing a communication data configuration according to the present embodiment.
  • the IP address for cabselling in FIG. 2E is omitted.
  • FIG. 2F shows an example of a communication data configuration that implements the present embodiment, but the present invention is not limited to this.
  • function parameters can be transmitted and received as communication data in the upper layer of the device driver, and the function itself can be transmitted and received.
  • FIG. 2F shows a basic communication data configuration 273/277, a communication data configuration 273 in the case of USB, and a communication data configuration 277 in the case of other HDMI (registered trademark) and SCSI.
  • the communication data structure 273/277 has device specifying information.
  • the device specifying information includes a device type, a connection bus type, and a device identifier.
  • the communication data structure 273/277 has a transfer mode in the connection bus and information to be transferred through the connection bus. Information to be transferred includes commands, statuses and data.
  • the communication data configuration 273 in the case of USB has, as device identification information, industrial equipment that is a device type, USB that is a connection bus, and IE001 that is a device identifier.
  • the communication data structure 273 in the case of USB includes a USB control transfer as a transfer mode and a USB request and a device descriptor as transfer information. According to such a configuration, it is not necessary to consider the limitation of 127 units at the maximum due to the conventional USB connection.
  • the communication data configuration 277 in the case of other HDMI (registered trademark) or SCSI has a monitor, HDMI (registered trademark), MT0002, CD, SCSI, and CD0005 as device specifying information.
  • the transfer mode 2 includes HDMI (registered trademark) control and SCSI control, and transfer information includes DDC / CED and command / response.
  • FIG. 2G is a diagram illustrating data transmission in the information processing system 200 according to the present embodiment.
  • FIG. 2G shows L2 level communication in the USB device, but the communication may be at a lower level or an upper level.
  • FIG. 2G is a sequence diagram showing a descriptor acquisition procedure for a USB device connected by USB.
  • the descriptor set in the device 210 is acquired by a USB request such as GET_DESCRIPTOR. Each USB request is exchanged with the device 210 by control transfer. Each control transfer consists of a set stage, a data stage, and a status stage. Each stage consists of a token packet, a data packet, and a handshake packet. The descriptor is acquired in the data packet of each data stage. The descriptor acquired from the device 210 is subjected to IP encapsulation using an IP header or a TCP header, and is transmitted to the information processing device 230 from the USB hub 221 formed of a mobile terminal.
  • IP encapsulation using an IP header or a TCP header
  • the class driver 232 and the bus driver that configure the application interface of the information processing device 230 first generate a control transfer and a GET DESCRIPTOR USB request in order to confirm the connected device To the communication control unit.
  • the control transfer and the USB request of GET DESCRIPTOR which are IP-encapsulated by the IP header or the TCP header, are received and IP-encapsulated by the communication control unit of the USB hub 221 including the communication terminal.
  • the control transfer and the GET DESCRIPTOR USB request are passed to the host controller driver 225.
  • the host controller driver 225 instructs a USB bus interface (not shown) to generate each packet on the USB bus to the device 210 based on the control transfer and the USB request of GET DESCRIPTOR.
  • the host controller driver 225 extracts the data packet received at the data stage received from the device 210 as a device descriptor, and passes it to the communication control unit as a control transfer and device descriptor.
  • the control transfer and the device descriptor that are IP-encapsulated by the IP header or the TCP header are transmitted from the communication control unit of the USB hub 221 including the communication terminal to the communication control unit of the information processing apparatus 230.
  • the class driver 232 responds to the device input / output request of the application 231, Notify connected device information.
  • the host controller driver 225 and the USB bus interface 226 may be integrated software.
  • FIG. 3 is a diagram illustrating a software configuration of the information processing system 200 according to the present embodiment.
  • FIG. 3 shows an outline of the software configuration in the present embodiment, and a detailed configuration is omitted.
  • the application 333, the middleware 332, the OS 331, and the application interface of each device driver 340 are executed.
  • the communication terminal 220 a host controller interface of each device driver 340 and a bus interface 221 that performs bus control to the device hardware 210 are executed.
  • the middleware 332 includes application management software that executes control between the application 333 and the OS 331 to control application activation in the present embodiment, and includes control such as activation / stop / monitoring of each application. I do.
  • the middleware 332 includes database management software, transaction monitor software, and the like.
  • FIG. 4 is a block diagram illustrating a functional configuration of the information processing apparatus 230 according to the present embodiment.
  • FIG. 4 illustrates functional components that are deeply related to the operation of the present embodiment, and does not illustrate normal functional components included in the information processing apparatus 230. For example, various processing functions when the information processing device 230 is a PC are not shown.
  • the information processing apparatus 230 includes a communication control unit 401, an application execution unit 402, a drive application interface unit 403, and an application activation unit 404.
  • an application database (application DB in the figure) 405 is provided outside or inside the information processing apparatus 230.
  • the application database 405 stores a plurality of applications 451 and a plurality of application interfaces 452 that are part of the device driver.
  • the communication control unit 401 controls communication with the communication terminal 220 via the network 240.
  • the application execution unit 402 executes an application stored in the application data database 405 in accordance with an instruction from the application activation unit 404.
  • FIG. 4 shows an example in which a POS application is being executed.
  • the drive application interface unit 403 searches the application database 405 for an application interface for realizing an input / output file operation corresponding to a device connected to the communication terminal 220 and executes it.
  • FIG. 4 shows an example in which the display driver / application interface 431, the keyboard driver / application interface 432, and the barcode reader driver / application interface 433 are operating.
  • the application activation unit 404 checks the active application interface from the drive application interface unit 403, selects an application to be activated based on the application activation table 441, and instructs the application execution unit 402 to execute the application.
  • the display driver / application interface 431, the keyboard driver / application interface 432, and the barcode reader driver / application interface 433 are the display driver / host controller interface 521, keyboard driver / host controller interface 522, and barcode of the communication terminal 220, respectively.
  • Each device driver is configured in conjunction with the reader driver / host controller interface 523.
  • FIG. 5 is a block diagram illustrating a functional configuration of the communication terminal according to the present embodiment.
  • FIG. 5 illustrates functional components that are closely related to the operation of the present embodiment, and does not illustrate normal functional components that the communication terminal 220 has. For example, various processing functions when the communication terminal 220 is a smartphone or a tablet are not shown.
  • the communication terminal 220 includes a communication control unit 501, a host controller interface unit 502, a device control unit 503, and a bus interface 221.
  • the communication control unit 501 controls communication with the information processing apparatus 230 via the network 240.
  • the host control interface unit 502 executes a host controller interface for realizing input / output file operations corresponding to the connected devices.
  • FIG. 5 shows an example in which the display driver / host control interface 521, the keyboard driver / host control interface 522, and the barcode reader driver / host control interface 523 are operating.
  • the display driver / host controller interface 521, the keyboard driver / host controller interface 522, and the barcode reader driver / host controller interface 523 are a display driver / application interface 431 and a keyboard driver / application interface of the information processing apparatus 230, respectively.
  • Each device driver is configured in conjunction with 432 and the barcode reader driver / application interface 433.
  • the device control unit 503 controls the device corresponding to the connection bus of each device.
  • FIG. 5 shows an example in which the display / device control unit 531, the keyboard / device control unit 532, and the barcode reader / device control unit 533 are operating.
  • the bus interface 221 controls bus communication with the display 212, the keyboard 213, and the barcode reader 214, which are devices.
  • FIG. 6 is a diagram showing a configuration of the application activation table 441 according to the present embodiment.
  • the application activation table 441 is used by the application activation unit 404 to check the availability of a device from the activation of the device driver and select and activate an application corresponding to the usable device.
  • the application activation table 441 stores a device connection state 601 that is determined based on whether or not the device driver can be used and an activation application 602 corresponding to the device connection state 601.
  • the device connection state 601 stores the connection state of a display, a keyboard, a barcode reader, a cash drawer, a receipt printer, a credit card reader, a non-contact terminal, and the like.
  • indicates that it can be used by being connected
  • X indicates that it cannot be used.
  • the activation application 602 stores a POS application, its type, and function. Note that the activation application 602 may store the same POS application so as to select an execution function therein, or may store different functions using different POS applications.
  • FIG. 6 shows in detail the configuration of the application startup table 441 for the POS system to which attention is paid in the present embodiment.
  • the same application is applied to the diagnosis support system application and the learning support system application.
  • An activation table can be generated, and the application activation control has the same effect as in the present embodiment.
  • FIG. 7 is a block diagram illustrating a hardware configuration of the information processing apparatus 230 according to the present embodiment.
  • the information processing apparatus 230 is illustrated as an actual PC, but may be a virtual PC constructed in a cloud server.
  • a CPU (Central Processing Unit) 710 is a processor for arithmetic control, and implements a functional configuration unit of the information processing apparatus 230 in FIG. 4 by executing a program.
  • a ROM (Read Only Memory) 720 stores fixed data and programs such as initial data and programs.
  • the communication control unit 401 communicates with the communication terminal 220 via the network 240. Note that the number of CPUs 710 is not limited to one, and may be a plurality of CPUs or may include a GPU for image processing.
  • the communication control unit 401 preferably includes a CPU independent of the CPU 710 and writes or reads transmission / reception data in a RAM (Random Access Memory) 740 area.
  • the CPU 710 recognizes that the data has been received or transferred to the RAM 740 and processes the data. Further, the CPU 710 prepares the processing result in the RAM 740 and leaves the subsequent transmission or transfer to the communication control unit 401 or the DMAC.
  • the RAM 740 is a random access memory that the CPU 710 uses as a temporary storage work area. In the RAM 740, an area for storing data necessary for realizing the present embodiment is secured.
  • the device connection table 741 determines and stores devices that can be connected and used based on whether or not the device driver is activated.
  • the activation application ID 742 stores the identifier (ID) of the activation application selected with reference to the application activation table 441 based on the contents of the device connection table 741.
  • the transmission / reception data 743 is data transmitted / received to / from the communication terminal 220 and the device 210 connected to the communication terminal 220 via the communication control unit 401.
  • the storage 750 stores a database, various parameters, or the following data or programs necessary for realizing the present embodiment.
  • the application 451 is searchable application software provided by the information processing apparatus 230.
  • the application interface 452 is a part of a device driver provided by the information processing apparatus 230 corresponding to a device.
  • the application activation database 751 is a database that accumulates the relationship between a device set that is connected and usable and an application to be activated.
  • the application activation table 441 is a part of the application activation database 751 and may be set by a user or generated by learning based on data stored in the application activation database 751.
  • the storage 750 stores the following programs.
  • the information processing device control program 752 is a program for controlling the entire information processing device 230.
  • the application interface 753 is a part of each activated device driver.
  • the application activation module 754 is a module as middleware that selects an application based on the device connection table 741 and the application activation database 751 and instructs activation.
  • the application program 755 is an application selected and activated by the application activation module 754.
  • RAM 740 and the storage 750 in FIG. 7 do not show programs and data related to general-purpose functions and other realizable functions of the information processing apparatus 230.
  • FIG. 8 is a flowchart showing a processing procedure of the information processing apparatus 230 according to the present embodiment. This flowchart is executed by the CPU 710 in FIG. 7 using the RAM 740, and implements the functional configuration unit in FIG.
  • the information processing apparatus 230 registers the application activation condition in the application activation database 751 in step S801. This registration may be an input of a device set and a startup application by a user, or a device set and a startup application generated by learning from a past history.
  • the information processing apparatus 230 executes application activation processing according to the application activation table 441.
  • the information processing apparatus 230 accumulates the execution state of the application. Then, in step S807, the information processing apparatus 230 determines whether or not the application process is finished. If it is not the end of the application process, the information processing apparatus 230 returns to step S803 and performs the activation process of the next application.
  • FIG. 9 is a flowchart showing a procedure of application activation processing (S803) according to the present embodiment.
  • step S901 the information processing apparatus 230 activates a timer that counts time for confirming the activated device driver.
  • step S903 the information processing apparatus 230 determines whether a predetermined end process has been performed. If there is an end process, the process ends and returns.
  • the information processing apparatus 230 determines in step S905 whether or not the timer has counted a predetermined period. If the timer has not timed the predetermined period, the information processing apparatus 230 returns to step S903 and continues the time measurement for confirming the activated device driver.
  • the information processing apparatus 230 confirms the activated device driver as a connected device in step S907.
  • the information processing apparatus 230 determines whether the activated device driver matches the activated device registered in step S801. If they do not match, it is determined that a necessary device is not connected or is not usable, and the process ends and returns.
  • step S911 the information processing apparatus 230 selects the application registered in step S801 corresponding to the matched activation device and instructs activation.
  • the application is activated by such application selection and activation instruction.
  • step S913 the information processing apparatus 230 activates a timer that times the time for confirming the activated device driver. Note that the time measured by the timer may be the same as or different from step S901.
  • step S915 the information processing apparatus 230 determines whether or not a predetermined end process has been performed. If there is an end process, the information processing apparatus 230 issues an instruction to end the application that has been instructed to start in step S911 in step S923.
  • the information processing apparatus 230 determines in step S917 whether or not the timer has counted a predetermined period. If the timer has not timed the predetermined period, the information processing apparatus 230 returns to step S915 and continues the time measurement for checking the activated device driver.
  • step S919 the information processing apparatus 230 confirms the activated device driver as a connected device.
  • step S921 the information processing apparatus 230 determines whether the activated device driver matches the activated device registered in step S801. If they do not match, it is determined that a necessary device has been disconnected or becomes unusable.
  • step S923 the information processing apparatus 230 issues an instruction to end the application that has been activated in step S911.
  • step S913 the information processing apparatus 230 returns to step S913 and continues the process of confirming the activation driver after the timer time again.
  • the information processing system according to the present embodiment is different from the second embodiment in that the activation application is selected corresponding to the user. Since other configurations and operations are the same as those of the second embodiment, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted.
  • FIG. 10A is a diagram illustrating an operation of the information processing system 1000 including the information processing apparatus according to the present embodiment and a remote device.
  • the same reference numerals are given to the same components as those in FIG. 2A.
  • the information processing system 1000 confirms the user who is the user as the connection confirmation 1036 and executes the POS application (POS application in the figure) 1031 or the POS boss application (POS manager application in the figure) 1032 corresponding to the user.
  • the information processing apparatus 1030 is included.
  • the information processing system 1000 includes a communication terminal 1020 that is communicatively connected to the information processing apparatus 1030 and a device 1010 that is bus-connected to the communication terminal 1020.
  • the information processing apparatus 1030 manages the directly connected device and the device remotely connected via the communication terminal 1020 by the device manager 236. Note that a device remotely connected via the communication terminal 1020 is preferably controlled by a device driver that cooperates between the information processing apparatus 1030 and the communication terminal 1020.
  • the device manager 236 displays the connection device management screen
  • the directly connected device and the device remotely connected via the communication terminal 1020 are similarly displayed and can be selected.
  • the information processing apparatus 1030 in FIG. 10A may be a desktop PC, a notebook PC, or a virtual PC constructed in a cloud server.
  • a predetermined device set such as a USB display (monitor), a keyboard, and a barcode reader is connected, and a user of an application to be started is specified.
  • the activation driver it is checked periodically or when the activation driver is changed. Then, when it is detected that necessary devices are prepared, a predetermined application corresponding to the user is activated.
  • the normal POS application 1031 is activated when the user is the employee A
  • the POS supervisor application 1032 is activated when the user is the administrator B.
  • FIG. 10B is a diagram showing a configuration of a communication message according to the present embodiment.
  • the format of the communication message is not limited to FIG. 10B.
  • the same elements as those in FIG. 2E are denoted by the same reference numerals, and description thereof is omitted.
  • the information processing apparatus 1030 before transmitting / receiving the control message 270 transmitted / received on the control channel for each device, inquires of the communication terminal 1020 about the information of the user who operates the communication terminal 1020, and the communication terminal 1020 A user message 1070 in response to the information processing apparatus 1030 is illustrated.
  • a message transmitted from the information processing apparatus 1030 to the communication terminal 1020 has an IP address 1071, a command 1072, and error correction, for example, CRC 1073.
  • IP address 1071 a destination communication terminal address and a source host address are set.
  • command 1072 a user information acquisition command is transmitted.
  • a user message transmitted from the communication terminal 1020 to the information processing apparatus 1030 has an IP address 1075, response data 1076, and error correction, for example, CRC278.
  • IP address 1075 As the IP address 1075, a destination host address and a source communication terminal address are set. User information is transmitted as the response data 1076.
  • user information may be transmitted from the communication terminal 1020 to the information processing apparatus 1030 without an inquiry from the information processing apparatus 1030 to the communication terminal 1020.
  • FIG. 11 is a diagram showing a configuration of an application startup table according to the present embodiment. In FIG. 11, elements similar to those in FIG.
  • a table 1100 for storing a startup application corresponding to a user stores a startup application 1104 corresponding to a set of an application user 1101, a language 1102 to be used, and an application class 1103.
  • the conditions other than the user 1101 are not limited to this.
  • FIG. 12 is a flowchart showing a procedure of application activation processing according to the present embodiment.
  • steps S901 to S923 are the same as those in FIG.
  • step S1201 the information processing apparatus 1030 acquires a user or information including the user.
  • step S1203 the information processing apparatus 1030 refers to the table 1100 and selects a startup application based on the user or information including the user.
  • the activation application since the activation application is selected based on the user or information including the user, the application corresponding to the user can be activated.
  • the information processing system according to the present embodiment is different from the second embodiment and the third embodiment in that an activation application is selected corresponding to a login terminal. Since other configurations and operations are the same as those of the second embodiment and the third embodiment, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted. Although not shown, in the information processing system of this embodiment, the login terminal is confirmed as the connection confirmation 1036 in FIG. 10A.
  • FIG. 13 is a diagram showing the configuration of the application startup table according to the present embodiment. In FIG. 13, the same elements as those in FIG. 13, the same elements as those in FIG. 13, the same elements as those in FIG. 13, the same elements as those in FIG. 13, the same elements as those in FIG. 13, the same elements as those in FIG. 13, the same elements as those in FIG. 13, the same elements as those in FIG. 13, the same elements as those in FIG. 13, the same elements as those in FIG.
  • a table 1300 that stores a startup application corresponding to a login terminal stores a startup application 1302 corresponding to the login terminal 1301 that requested the startup of the application.
  • Information of the login terminal 1301 includes a terminal ID and a model. Note that the information of the login terminal 1301 is not limited to this.
  • FIG. 14 is a flowchart showing a procedure of application activation processing according to the present embodiment.
  • steps S901 to S923 are the same as those in FIG.
  • step S1401 the information processing apparatus acquires information on the login terminal.
  • step S1403 the information processing apparatus refers to the table 1300 and selects an activation application based on the information of the login terminal.
  • the activation application is selected based on the login terminal information, an application corresponding to the login terminal can be activated.
  • the information processing system according to this embodiment is different from the second to fourth embodiments in that operations from a plurality of users or a plurality of login terminals are shared. Since other configurations and operations are the same as those in the second to fourth embodiments, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted.
  • FIG. 15A is a diagram illustrating an operation of an information processing system 1500 including an information processing apparatus and a remote device according to the present embodiment.
  • the same reference numerals are given to the same components as those in FIG. 2A or 10A.
  • the information processing system 1500 confirms the user who is the user as the connection confirmation 1036, and executes the POS application (POS application in the figure) 1031 and the POS boss application (POS manager application in the figure) 1032 corresponding to the user.
  • the information processing device 1530 is included.
  • the information processing apparatus 1530 further includes an operation sharing unit 1533 for sharing operations in the POS application 1031 and the POS supervisor application 1032.
  • an operation sharing unit 1533 and an operation storage unit (DB) 1534 at the time of simultaneous login are further prepared.
  • the operation instruction pattern is stored in the operation storage unit (DB) 1534.
  • DB operation storage unit
  • the information processing system 1500 includes a communication terminal 1520 that is connected to the information processing apparatus 1530 and a device 1510 that is connected to the communication terminal 1520 by a bus.
  • the POS application 1031 and the POS manager application 1032 may be activated corresponding to each of the plurality of communication terminals 1520 or activated corresponding to each of a plurality of devices connected to one communication terminal 1520. May be.
  • the information processing apparatus 1530 uses the device manager 236 to manage directly connected devices and devices remotely connected via the communication terminal 1520.
  • a device remotely connected via the communication terminal 1520 is preferably controlled by a device driver that cooperates between the information processing apparatus 1530 and the communication terminal 1520.
  • the device manager 236 displays the management screen of the connected device
  • the directly connected device and the device remotely connected via the communication terminal 1320 are similarly displayed and can be selected.
  • the information processing apparatus 1530 in FIG. 15A may be a desktop PC or a notebook PC, or a virtual PC constructed on a cloud server.
  • a predetermined device set such as a USB display (monitor), a keyboard, and a barcode reader is connected, and a user of an application to be started is Corresponding to the activation driver, it is checked periodically or when the activation driver is changed. Then, when it is detected that necessary devices are prepared, a predetermined application corresponding to the user is activated.
  • the normal POS application 1031 is activated when the user is the employee A
  • the POS supervisor application 1032 is activated when the user is the administrator B, and the operation is shared.
  • FIG. 15B is a diagram showing an operation sharing operation of the information processing system 1500 according to the present embodiment.
  • screen sharing will be described, but sharing of a keyboard, a pointing device, and other devices is the same.
  • the screen operation in the POS boss application 1532 and the screen operation in the POS application 1531 are shared, and the administrator and the employee can transmit or learn the operation of the POS device while viewing the same screen.
  • the employee can confirm the point of interest in step S1531.
  • the administrator reads the product and price with the barcode reader in step S1513
  • the employee reads the same product and price with the barcode reader in step S1533, the correctness of the operation can be confirmed on the common screen.
  • the clearing process S1515 and S1535
  • the deposit process S1517 and S1537)
  • the withdrawal process S1519 and S1539
  • these operations can be confirmed.
  • the discount process (S1521 and S1541) and other more advanced processes (S1523 and S1543) can be confirmed on the common screen.
  • FIG. 16A is a diagram showing a configuration of operation sharing of the information processing system 1500 according to the present embodiment.
  • FIG. 16A is a diagram in which the configuration of FIG. 15A is embodied as a POS system.
  • the same reference numerals are given to the same functional components as those in FIG. 15A, and description thereof will be omitted.
  • the screen sharing is performed by the monitor distributor 1632 in which the display as a monitor is softwareized, and the operation is shared by the HUB 1631 in which the keyboard and mouse are softwareized.
  • technologies such as virtual DSP (digital signal processor) and virtual Ethernet are used (see 1633).
  • a FIFO (first-in / first-out) buffer is provided. Still, when a certain amount cannot be secured, a communication channel error may be displayed, and further, the bandwidth expansion control of the communication channel may be performed (see 1640).
  • FIG. 16B is a diagram showing a concept of operation sharing of the information processing system 1500 according to the present embodiment.
  • FIG. 16B shows a configuration of a device driver between the information processing apparatus 1530 and the communication terminals 220 and 1520 in the present embodiment.
  • the same components as those in FIG. 2C are denoted by the same reference numerals, and description thereof is omitted.
  • the configuration of the information processing apparatus 1530, the communication terminal 220, and the device 210 in the lower part of FIG. 16B is the same as that in FIG. In FIG. 16B, configurations of an information processing apparatus 1530, a communication terminal 1520, and a device 1510 that share operations are added.
  • a display 1612 as a monitor, an input instruction keyboard 1613, and a barcode reader 1614 for reading product information are connected to the communication terminal 1520 as minimum devices for starting the POS application.
  • the device driver is activated.
  • the display 1612, the keyboard 1613, and the barcode reader 214 are connected to the bus interface 1621 of the communication terminal 1520.
  • the host controller interface 1622 of the communication terminal 1520 and the application interface 1632 of the information processing apparatus 1530 are activated.
  • a pipe is established between the host controller interface 1622 and the application interface 1632 via the network 240.
  • a keyboard / device driver for controlling the keyboard 1613 a host controller interface 1623 of the communication terminal 1520 and an application interface 1633 of the information processing apparatus 1530 are activated.
  • a pipe is established between the host controller interface 1623 and the application interface 1633 via the network 240.
  • a barcode reader / device driver for controlling the barcode reader 1614 a host controller interface 1624 of the communication terminal 1520 and an application interface 1634 of the information processing apparatus 1530 are activated.
  • a pipe is established between the host controller interface 1624 and the application interface 1634 via the network 240.
  • the information processing apparatus 1530 checks whether or not the application interfaces 232 to 234 are activated, and determines that the monitor, keyboard, and barcode reader are usable, activates the POS application 231 as application software. If the information processing apparatus 1530 checks whether the application interfaces 1632 to 1634 are activated and determines that the monitor, the keyboard, and the barcode reader are usable, the information processing apparatus 1530 selects the POS supervisor application 1631 as application software. to start.
  • the POS application 231 and the POS boss application 1631 are activated, and, for example, the monitor screen is shared via the operation sharing unit 1635.
  • the monitor screen of the operation sharing unit 1635 is transmitted to the display 1612 via the application interface 1632, the network 240, and the host controller interface 1622, and is transmitted to the display 212 via the application interface 232, the network 240, and the host controller interface 222. And shared.
  • monitor screen is shared between the POS application 231 and the POS supervisor application 1631.
  • FIG. 17 is a diagram showing a configuration of the application activation and operation sharing table 1741 according to the present embodiment.
  • FIG. 17 is accumulated in the operation storage unit 1534 of FIG. 15A and used for learning of application activation and operation sharing.
  • the application activation and operation sharing table 1741 stores a plurality of workflows 1702 and an evaluation level 1703 of each workflow corresponding to the activation application 1701 sharing the operations.
  • the workflow is middleware including a processing procedure between a plurality of activated applications as shown in FIG. 15B and a processing procedure between operation sharing in one activated application.
  • the evaluation level 1703 is an evaluation of whether each workflow is effective as a learning result, for example.
  • the application activation table 441 for selecting the activation application is provided separately from the application activation and operation sharing table 1741.
  • FIG. 18 is a flowchart showing the procedure of the execution state accumulation process (S805) according to this embodiment.
  • step S1801 the information processing apparatus 1530 determines whether the storage of the workflow has been instructed after the application activation process is completed. If storage is instructed, the information processing apparatus 1530 evaluates the workflow in step S1803. The information processing apparatus 1530 stores the workflow in step S1805.
  • the information processing apparatus 1530 If storage is not instructed or after storage, the information processing apparatus 1530 generates an evaluation rank of the stored workflow in step S1807 and responds to subsequent use of the workflow.
  • the information processing system according to the present embodiment is different from the second to fifth embodiments in that the workflow is evaluated by voice and stored. Since other configurations and operations are the same as those in the second to fifth embodiments, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted.
  • FIG. 19 is a diagram illustrating an operation of an information processing system 1900 including an information processing apparatus and a remote device according to the present embodiment.
  • FIG. 19 the same components as those in FIG. 2A, FIG. 10A, or FIG.
  • the information processing system 1900 executes a POS application (POS application in the figure) 1531 and a POS boss application (POS manager application in the figure) 1532 to share operations in the POS application 1531 and the POS boss application 1532.
  • An information processing device 1930 having a unit 1533 is included.
  • the information processing apparatus 1930 further includes a voice recognition unit 1931 that recognizes the voice acquired by the microphone 1911.
  • a successful success pattern is automatically registered as a success pattern from a tweet picked up by a microphone or voice recognition of a conversation.
  • the information processing system 1900 includes a communication terminal 1920 that is connected to the information processing apparatus 1930 and a device 1910 that includes a microphone 1911 connected to the communication terminal 1920 by a bus.
  • FIG. 20 is a flowchart showing the procedure of the execution state accumulation process (S805) according to this embodiment.
  • step S2001 the information processing apparatus 1930 determines whether or not the current workflow is a successful example from the tweet or speech recognition of the conversation picked up by the microphone 1911 after the application activation process is completed. If it is determined as a successful example, the information processing apparatus 1930 stores the workflow of the successful example in step S2003.
  • step S2005 the information processing apparatus 1930 reads the stored success examples, and in step S2007, orders the success examples for subsequent use of the workflow.
  • the information processing system according to the present embodiment differs from the second to sixth embodiments in that other related applications are activated. Since other configurations and operations are the same as those in the second to sixth embodiments, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted.
  • FIG. 21 is a diagram illustrating an operation of the information processing system 2100 including the information processing apparatus according to the present embodiment and a remote device.
  • the information processing system 2100 executes a POS application (POS application in the figure) 1531 and a POS boss application (POS manager application in the figure) 1532 and performs operation sharing for sharing operations in the POS application 1531 and the POS boss application 1532
  • An information processing device 1930 having a unit 1533 is included.
  • the information processing apparatus 1930 includes a voice recognition unit 1931 that recognizes the voice acquired by the microphone 1911, and further includes another application activation unit 2131 that activates other related applications.
  • the information processing system 2100 also stores other apps that have been activated together as a success pattern, and later activates the workflow including other apps. Support and use devices while switching launched apps to other related apps. In addition, it automatically switches the screen that appears on the front panel of the peripheral device you are using.
  • the information processing system 2100 includes a communication terminal 2120 that is connected to the information processing apparatus 2130 for communication.
  • FIG. 22 is a diagram showing the configuration of the application activation and related application table 2241 according to this embodiment.
  • FIG. 22 is accumulated in the operation storage unit 1534 of FIG. 21 and is used for application activation and related application activation.
  • the application activation and related application table 2241 stores an application 2203 to be activated in association with the activation application 2201.
  • the application 2203 to be activated in association includes an operation sharing application for operation sharing, a workflow related application associated in the workflow, and the workflow.
  • the application activation table 441 for selecting the activation application is provided separately from the application activation and operation sharing table 1741.
  • FIG. 23 is a flowchart showing a procedure of execution state accumulation processing (S805) according to the present embodiment.
  • step S2301 the information processing apparatus 2130 determines whether or not there is an application sharing the operation after the application activation process is completed. If there is an application sharing the operation, the information processing apparatus 2130 stores the operation sharing application as the related application 2203 in step S2303.
  • step S2305 the information processing apparatus 2130 determines whether there is an associated application in the workflow. If there is a related application in the workflow, the information processing apparatus 2130 stores the workflow-related application and the corresponding workflow as the related application 2203 in step S2307.
  • the information processing system according to the present embodiment is different from the second to seventh embodiments in that multilingual processing is performed in a restaurant where multilingual employees and customers gather. Since other configurations and operations are the same as those in the second to seventh embodiments, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted.
  • FIG. 24A is a diagram showing an operation of the information processing system 2400 including the information processing apparatus and the remote device according to the present embodiment.
  • the information processing system 2400 includes a cloud server 2430 and a network 240 that connects the cloud server 2430 and a communication terminal of the restaurant 2401.
  • the cloud server 2430 uses a multilingual application such as a POS application corresponding to various languages, a Cantonese or English ordering application, a post-Spanish restaurant application, and the like as a startup application. When the language is determined, it is executed so that information can be exchanged between different languages.
  • a multilingual application such as a POS application corresponding to various languages, a Cantonese or English ordering application, a post-Spanish restaurant application, and the like.
  • the communication terminal of the restaurant 2401 includes the cashier processing terminal 2410 of the POS system of the above embodiment.
  • a tablet 2416 that can be ordered by a customer from a display screen
  • a smartphone 2417 that can be ordered by a customer by connecting a barcode reader that reads an order barcode, and a dedicated terminal 2415 that a waitress orders.
  • the communication terminal of the restaurant 2401 includes a monitor display 2418 for displaying an order on the kitchen.
  • the information processing system 2400 may include an AP (Access Point) 2419 that relays the communication terminal to the network 240.
  • AP Access Point
  • FIG. 24B is a diagram showing a configuration of an information processing system 2400 according to the present embodiment. In FIG. 24B, description of the same components as in FIG. 2B is omitted.
  • the information processing system 2400 includes a cloud server 2430, each communication terminal as a smart device arranged in the restaurant 2401, a network 240 including a 3G network and the Internet connecting the cloud server 2430 and each communication terminal, and a bus to each communication terminal.
  • a connected device includes a cloud server 2430, each communication terminal as a smart device arranged in the restaurant 2401, a network 240 including a 3G network and the Internet connecting the cloud server 2430 and each communication terminal, and a bus to each communication terminal.
  • a connected device includes a cloud server 2430, each communication terminal as a smart device arranged in the restaurant 2401, a network 240 including a 3G network and the Internet connecting the cloud server 2430 and each communication terminal, and a bus to each communication terminal.
  • the configuration of the cash register 2410 is the same as the store device of FIG. 2B.
  • smart devices are connected via the AP 2419.
  • a display 2418 is connected to the kitchen.
  • a smart device for inventory management 2450 or the like may be connected.
  • FIG. 25 is a sequence diagram showing an operation procedure of the information processing system 2400 according to the present embodiment.
  • step S2501 the device is connected to the communication terminal and the device driver is activated.
  • step S2503 the cloud server checks the activated device driver and activates a cash register application corresponding to the cash register language.
  • step S2505 when the kitchen monitor is turned on and the floor ordering device is turned on, the cloud server activates the order service application corresponding to the cook language or the order language in step S2507.
  • the cloud server requests the order application by the customer device in step S2511. Start up.
  • step S2513 an order is input by the floor equipment or the customer equipment.
  • the order is displayed in the cook language, and in step S2517, an order processing notification is made in each language.
  • the cash settlement is performed as it is, but when the credit card reader is turned on at the cash register in step S2521, the credit settlement application is activated on the quad server.
  • the non-contact RW device is turned on at the cash register, the electronic money settlement application is activated in the quad server.
  • FIG. 26 is a diagram showing a configuration of an application startup table according to the present embodiment.
  • the application activation table 441 includes activation conditions for the order application and kitchen application in addition to the POS application.
  • a table 2600 for storing a startup application stores a startup application 2604 corresponding to a combination of an application user 2601, a login terminal 2602, and a language 2603 to be used.
  • the conditions are not limited to this.
  • FIG. 27 is a flowchart showing a procedure of application activation processing (S803) according to the present embodiment.
  • steps S901 to S923 are the same as those in FIG.
  • step S2701 the cloud server 2430 as the information processing apparatus acquires information on the lock-in terminal.
  • step S2703 the cloud server 2430 acquires a user or information including the user.
  • step S2705 the cloud server 2430 acquires language information.
  • step S2707 the cloud server 2430 selects an application corresponding to the login terminal, the user, and the language used.
  • an application corresponding to the language of the user who uses the desired device can be started stably.
  • the ninth embodiment of the present invention different data is communicated between the information processing apparatus 230 (virtual PC) and the communication terminal 220 to which the device is connected as compared with the second to eighth embodiments. It is different in point.
  • the application IF of the information processing device 230 and the host controller IF of the communication terminal 220 are separated from each other by a portion different from the second embodiment.
  • the entire device driver including the host controller chip (HC) is realized by software
  • the set of the host controller driver and the host controller chip is divided in consideration of communication efficiency and communication speed at various levels. To do.
  • the information between the divided layers is designed to be network-communicated between the information processing device 230 and the communication terminal 220. Since other configurations and operations are the same as those in the second to eighth embodiments, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted.
  • FIG. 28 is a diagram showing data transmission in the information processing system according to the present embodiment.
  • FIG. 28 is a diagram showing a descriptor acquisition procedure of a USB device connected via USB, as in FIG. 2G. Therefore, in FIG. 28, the same reference numerals are given to the same components as in FIG. 2G, and the description will be omitted.
  • the descriptor set in the device 210 is acquired by a USB request such as GET_DESCRIPTOR.
  • a frame including the USB protocol of the USB request for control transfer is exchanged between the information processing apparatus 230 and the device 210.
  • Each control transfer consists of a set stage, a data stage, and a status stage.
  • Each stage consists of a token packet, a data packet, and a handshake packet.
  • the descriptor is acquired in the data packet of each data stage.
  • the descriptor acquired from the device 210 is inserted into a frame that has been IP-encapsulated using an IP header or a TCP header, and is transmitted from the mobile terminal 220 to the information processing device 230.
  • the application interface 2832 of the information processing device 230 first generates a frame including the USB protocol of the USB request of GET DESCRIPTOR in order to confirm the connected device, and the communication control unit 401.
  • a frame including a GET DESCRIPTOR USB request that has been IP encapsulated with an IP header or a TCP header is received by the communication control unit 501 of the communication terminal 220 and IP unencapsulated.
  • the GET DESCRIPTOR USB request is passed to the host controller interface 2825.
  • the host controller interface 2825 instructs the USB bus interface 226 (not shown) to transfer each packet on the USB bus to the device 210 based on the frame including the USB protocol of the USB request of GET DESCRIPTOR.
  • the host controller interface 2825 passes a frame including the data packet received from the device 210 in the data stage as the device descriptor 2863 to the communication control unit 501.
  • a frame including the device descriptor 2863 IP-encapsulated by the IP header or the TCP header is transmitted from the communication control unit 501 of the communication terminal 220 to the communication control unit 401 of the information processing device 230.
  • the application interface 2832 When the communication control unit 401 of the information processing apparatus passes the frame including the unencapsulated device descriptor 2863 to the application interface 2832, the application interface 2832 notifies the connection device information in response to the device input / output request of the application 231.
  • the host controller interface 2825 and the USB bus interface 226 may be integrated software.
  • FIG. 29 is a diagram showing another data transmission in the information processing system according to the present embodiment.
  • FIG. 29 is a diagram showing a descriptor acquisition procedure for a USB device connected by USB, as in FIGS. 2G and 28. Therefore, in FIG. 29, the same reference numerals are given to the same components as those in FIGS. 2G and 28, and description thereof will be omitted.
  • the descriptor set in the device 210 is acquired by a USB request such as GET_DESCRIPTOR.
  • the control transfer including the USB protocol of the USB request includes a set stage, a data stage, and a status stage. Each stage consists of a token packet, a data packet, and a handshake packet.
  • the set stage including the USB protocol of the USB request for control transfer, the data stage, and the status stage are exchanged between the information processing apparatus 230 and the device 210, respectively.
  • the descriptor is acquired in the data packet of each data stage.
  • the descriptor acquired from the device 210 is inserted into the data stage IP-encapsulated by the IP header or TCP header, and transmitted from the portable terminal 220 to the information processing device 230.
  • the application interface 2932 of the information processing device 230 first generates a set stage including the USB protocol of the USB request of GET DESCRIPTOR in order to confirm the connected device, and performs communication. It passes to the control unit 401.
  • the set stage including the GET DESCRIPTOR USB request that is IP-encapsulated by the IP header or TCP header is received by the communication control unit 501 of the communication terminal 220 and is IP-encapsulated.
  • the GET DESCRIPTOR USB request is passed to the host controller interface 2925.
  • the host controller interface 2925 instructs the USB bus interface 226 (not shown) to transfer each packet on the USB bus to the device 210 based on the set stage including the USB protocol of the GET DESCRIPTOR USB request.
  • the host controller interface 2925 passes the data stage including the data packet received from the device 210 in the data stage as the device descriptor 2963 to the communication control unit 501.
  • the data stage including the device descriptor 2963 IP-encapsulated by the IP header or the TCP header is transmitted from the communication control unit 501 of the communication terminal 220 to the communication control unit 401 of the information processing device 230.
  • the application interface 2932 When the communication control unit 401 of the information processing apparatus passes the data stage including the unencapsulated device descriptor 2963 to the application interface 2932, the application interface 2932 notifies the connection device information in response to the device input / output request of the application 231. To do.
  • the host controller interface 2925 passes the status stage including the data packet received from the device 210 at the status stage as the status data 2964 to the communication control unit 501.
  • the status stage including the status data 2964 IP-encapsulated with the IP header or the TCP header is transmitted from the communication control unit 501 of the communication terminal 220 to the communication control unit 401 of the information processing device 230.
  • the application interface 2932 When the communication control unit 401 of the information processing apparatus passes the status stage including the unencapsulated status data 2964 to the application interface 2932, the application interface 2932 notifies the connection device information in response to the device input / output request of the application 231. To do.
  • the application interface 2932 does not determine the handshake packet.
  • the application interface 2932 may be configured to confirm the handshake packet in each stage.
  • the host controller interface 2925 and the USB bus interface 226 may be integrated software.
  • the communication between the information processing apparatus (virtual PC) and the communication terminal can be performed by remote communication with the USB device regardless of whether the communication is performed in units of frames obtained by dividing each driver or in units of stages.
  • the same operation as when directly connected to the information processing apparatus can be performed.
  • the POS application of the POS system has been mainly described.
  • the present invention is not limited to the processing in the POS application of the POS system.
  • the present invention is applied to a medical examination support system in the medical field, a learning support system in the education field, or a device operation support system in the industrial field, and has the same effect.
  • the present invention may be applied to a system composed of a plurality of devices, or may be applied to a single device. Furthermore, the present invention can also be applied to a case where an information processing program that implements the functions of the embodiments is supplied directly or remotely to a system or apparatus. Therefore, in order to realize the functions of the present invention on a computer, a program installed on the computer, a medium storing the program, and a WWW (World Wide Web) server that downloads the program are also included in the scope of the present invention. . In particular, at least a non-transitory computer readable medium storing a program for causing a computer to execute the processing steps included in the above-described embodiments is included in the scope of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Stored Programmes (AREA)

Abstract

 本発明のシステムは、所望のデバイスを使用するアプリケーションを安定的に起動する情報処理システムである。この情報処理システムは、アプリケーションと、アプリケーションの実行に必要なデバイスとを対応付けて記憶するアプリケーション記憶部と、デバイス用のデバイスドライバが起動されたか否かにより、デバイスが使用可能であるか否かを判定するデバイス判定部と、使用可能と判定されたデバイスに対応付けられたアプリケーションを起動するアプリケーション起動部と、を備える。

Description

情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
 本発明は、情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラムに関する。
 上記技術分野において、特許文献1には、POS(Point of Sales)システムにおけるPOS端末の電源投入時に、USB(Universal Serial Bus)インタフェースを介してキーボード、ハンドスキャナ、プリンタが認識できると、POS端末の業務を実行するアプリケーションソフトが起動される技術が開示されている。
特開2008-003927号公報
 しかしながら、上記文献に記載の技術では、POS端末のアプリケーションソフトに必須のデバイスが遠隔のUSBインタフェースに接続されている場合、POS端末から安定的にデバイスを認識できないことがある。その場合には、必須のデバイスが動作可能でなくてもアプリケーションソフトを起動したり、必須のデバイスが動作可能であるのにアプリケーションソフトを起動できなかったりすることになる。
 本発明の目的は、上述の課題を解決する技術を提供することにある。
 上記目的を達成するため、本発明に係る情報処理装置は、
 アプリケーションと、該アプリケーションの実行に必要なデバイスとを対応付けて記憶するアプリケーション記憶手段と、
 前記デバイス用のデバイスドライバが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定手段と、
 使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動手段と、
 を備える。
 上記目的を達成するため、本発明に係る情報処理装置の制御方法は、
 デバイス用のデバイスドライバが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定ステップと、
 アプリケーションと、該アプリケーションの実行に必要なデバイスとを対応付けて記憶するアプリケーション記憶手段を参照して、使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動ステップと、
 を含む。
 上記目的を達成するため、本発明に係る情報処理装置の制御プログラムは、
 デバイス用のデバイスドライバが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定ステップと、
 アプリケーションと、該アプリケーションの実行に必要なデバイスとを対応付けて記憶するアプリケーション記憶手段を参照して、使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動ステップと、
 をコンピュータに実行させる。
 上記目的を達成するため、本発明に係る情報処理システムは、
 情報処理装置と、
 前記情報処理装置と通信接続される通信端末と、
 前記通信端末に接続されるデバイスと、
 を備え、
 前記情報処理装置は、前記デバイスを駆動するデバイスドライバのアプリケーションインタフェースを有し、前記通信端末は、前記デバイスドライバのデバイスコントロールインタフェースを有し、
 前記情報処理装置は、
  アプリケーションと、該アプリケーションの実行に必要なデバイスとを対応付けて記憶するアプリケーション記憶手段と、
  前記デバイスドライバのアプリケーションインタフェースが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定手段と、
  使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動手段と、
 を備える。
 上記目的を達成するため、本発明に係る情報処理方法は、
 情報処理装置と、
 前記情報処理装置と通信接続される通信端末と、
 前記通信端末に接続されるデバイスと、
 を備える情報処理システムの情報処理方法であって、
 前記情報処理装置は、前記デバイスを駆動するデバイスドライバのアプリケーションインタフェースを有し、前記通信端末は、前記デバイスドライバのデバイスコントロールインタフェースを有し、
 前記情報処理装置は、さらに、アプリケーションと、該アプリケーションの実行に必要な前記デバイスとを対応付けて記憶するアプリケーション記憶手段を有し、
 前記情報処理装置は、
  デバイス用のデバイスドライバが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定ステップと、
  前記アプリケーション記憶手段を参照して、使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動ステップと、
 を含むミドルウェアを有する。
 本発明によれば、所望のデバイスを使用するアプリケーションを安定的に起動することができる。
本発明の第1実施形態に係る情報処理装置の構成を示すブロック図である。 本発明の第2実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システムの動作を示す図である。 本発明の第2実施形態に係る情報処理システムの構成を示す図である。 本発明の第2実施形態に係る情報処理システムの概念を示す図である。 本発明の第2実施形態に係る情報処理システムのデバイス接続を示す図である。 本発明の第2実施形態に係る通信メッセージの構成を示す図である。 本発明の第2実施形態に係る通信データ構成を示す図である。 本発明の第2実施形態に係る情報処理システムにおけるデータ伝送を示す図である。 本発明の第2実施形態に係る情報処理システムのソフトウェア構成を示す図である。 本発明の第2実施形態に係る情報処理装置の機能構成を示すブロック図である。 本発明の第2実施形態に係る通信端末の機能構成を示すブロック図である。 本発明の第2実施形態に係るアプリケーション起動テーブルの構成を示す図である。 本発明の第2実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。 本発明の第2実施形態に係る情報処理装置の処理手順を示すフローチャートである。 本発明の第2実施形態に係るアプリケーション起動処理の手順を示すフローチャートである。 本発明の第3実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システムの動作を示す図である。 本発明の第3実施形態に係る通信メッセージの構成を示す図である。 本発明の第3実施形態に係るアプリケーション起動テーブルの構成を示す図である。 本発明の第3実施形態に係るアプリケーション起動処理の手順を示すフローチャートである。 本発明の第4実施形態に係るアプリケーション起動テーブルの構成を示す図である。 本発明の第4実施形態に係るアプリケーション起動処理の手順を示すフローチャートである。 本発明の第5実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システムの動作を示す図である。 本発明の第5実施形態に係る情報処理システムの操作共有動作を示す図である。 本発明の第5実施形態に係る情報処理システムの操作共有の構成を示す図である。 本発明の第5実施形態に係る情報処理システムの操作共有の概念を示す図である。 本発明の第5実施形態に係るアプリケーション起動および操作共有テーブルの構成を示す図である。 本発明の第5実施形態に係る実行状態蓄積処理の手順を示すフローチャートである。 本発明の第6実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システムの動作を示す図である。 本発明の第6実施形態に係る実行状態蓄積処理の手順を示すフローチャートである。 本発明の第7実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システムの動作を示す図である。 本発明の第7実施形態に係るアプリケーション起動および関連アプリケーションテーブルの構成を示す図である。 本発明の第7実施形態に係る実行状態蓄積処理の手順を示すフローチャートである。 本発明の第8実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システムの動作を示す図である。 本発明の第8実施形態に係る情報処理システムの構成を示す図である。 本発明の第8実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第8実施形態に係るアプリケーション起動テーブルの構成を示す図である。 本発明の第8実施形態に係るアプリケーション起動処理の手順を示すフローチャートである。 本発明の第9実施形態に係る情報処理システムにおけるデータ伝送を示す図である。 本発明の第9実施形態に係る情報処理システムにおける他のデータ伝送を示す図である。
 以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
 [第1実施形態]
 本発明の第1実施形態としての情報処理装置100について、図1を用いて説明する。情報処理装置100は、デバイスを用いるアプリケーションを実行する装置である。
 図1に示すように、情報処理装置100は、アプリケーション記憶部101と、デバイス判定部102と、アプリケーション起動部103と、を含む。アプリケーション記憶部101は、アプリケーション111と、アプリケーション111の実行に必要なデバイスデバイス105(112)とを対応付けて記憶する。デバイス判定部102は、デバイス105用のデバイスドライバ121が起動されたか否かにより、デバイスが使用可能122であるか否かを判定する。アプリケーション起動部103は、使用可能と判定されたデバイス105に対応付けられたアプリケーション111を起動する。
 本実施形態によれば、遠隔のデバイス用のデバイスドライブの起動を判定することにより、所望のデバイスを使用するアプリケーションを安定的に起動することができる。
 [第2実施形態]
 次に、本発明の第2実施形態に係る情報処理装置を含む情報処理システムについ説明する。本実施形態に係る情報処理システムは、情報処理装置と遠隔のデバイスとを含み、遠隔のデバイスが準備されたことを検出して、情報処理装置の対応するアプリケーションを起動する。これにより、アプリケーションを起動したにも関わらず必須のデバイスが準備されていないなどの問題を回避する。なお、本実施形態においては、具体例としてPOSシステムにより説明するが、他の情報処理装置と遠隔のデバイスとを含む情報処理システム、例えば、診断支援システムや教育支援システムなどに適用されても同様の効果を奏する。
 《情報処理システム》
 図2Aは、本実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システム200の動作を示す図である。
 情報処理システム200は、POSアプリケーション(図中、POSアプリ)231が実行される情報処理装置230と、情報処理装置230と通信接続される通信端末220と、通信端末220にバス接続されるデバイス210と、を含む。情報処理装置230は、デバイスマネージャ236により、直接接続されたデバイス、および、通信端末220を介して遠隔に接続されたデバイスを管理する。なお、通信端末220を介して遠隔に接続されたデバイスは、情報処理装置230と通信端末220とで協働するデバイスドライバにより制御するのが望ましい。
 図2Aの情報処理装置230において、デバイスマネージャ236により接続デバイスの管理画面を表示すると、直接接続されたデバイス、および、通信端末220を介して遠隔に接続されたデバイスが同様に表示され、選択できる。なお、図2Aの情報処理装置230は、デスクトップPC(Personal Computer)やノートPCであっても、クラウドサーバに構築された仮想PCであってもよい。
 情報処理システム200においては、コメント201に記載のように、例として、USBディスプレイ(モニタ)、キーボード、バーコードリーダ、という所定のデバイスセットが接続されたことを、起動ドライバと対応付けて、定期的あるいは起動ドライバの変更があった時にチェックする。そして、必要なデバイスが揃ったことを検出したら、あらかじめ定めたアプリケーション、この例ではPOSアプリケーション231が起動する。
 図2Bは、本実施形態に係る情報処理システム200の構成を示す図である。図2Bは、情報処理装置230がクラウドサーバに構築された仮想PCであり、通信端末220がスマートフォンやタブレットなどのスマートデバイスである場合の、店舗POSの一例を示す。
 情報処理システム200は、クラウドサーバとしての情報処理装置230と、店舗201に配置されたスマートデバイスとしての通信端末220、情報処理装置230と通信端末220とを接続する3G網やインターネットを含むネットワーク240、通信端末220にバス接続されるデバイス210と、を備える。情報処理装置230は、本実施形態においてはPOSアプリケーションや電子マネー(e-money)アプリケーションなどのPOSシステムを処理するアプリケーションが実行される。そして、情報処理装置230は、通信端末220に接続するデバイスを制御するデバイスドライバの中でアプリケーションインタフェース部分を分担して実行する。
 通信端末220には、POSシステムを実現するためのデバイスであるディスプレイ、キーボード、ポインティングデバイス(不図示)の外に、キャッシュドロア、レシートプリンタ、バーコードリーダ、クレジットカードリーダ、無接触RW端末、などがバス接続される。通信端末220は、接続する各デバイスを制御するデバイスドライバの中でホストコントローラインタフェース部分を分担して実行する。情報処理装置230のアプリケーションインタフェース部分と通信端末220のホストコントローラインタフェース部分とが通信しながら、デバイスドライバを構成する。
 本情報処理システムにおいて、POS/CRM(Customer Relationship Management)関連機能として、会員データや購買データの蓄積、蓄積データの分析、アウトプット、CRM関連機能(クーポン、ポイント等)が実行される。また、電子マネー機能であるマルチサービスゲートウェイ、サービス連携(電子マネー)が実行される。また、POS機能としては、スマートデバイスを活用したレジ機能、要望に応じて選択可能な周辺機器、売上情報記録と精算機能、電子マネー精算機能、などが実行される。
 本実施形態においては、例えば、情報処理装置230のミドルウェアが、スマードデバイスである通信端末220に接続されたデバイスに対して起動されたデバイスドライバをチェックして、そのチェック結果から接続され使用可能となったデバイスで実行可能なアプリケーションを起動する。ここで、接続され使用可能となったデバイスの増減により、アプリケーションの更新や停止が制御される。すなわち、接続され使用可能となったデバイスが増加すると、実行可能となった機能を実行する新たなアプリケーションを起動したり、実行中のアプリケーヨンの機能を追加実行したりする。また、接続され使用可能となったデバイスが減少すると、実行不可となったアプリケーションを終了したり、実行中のアプリケーヨンの実行不可となった機能を停止したりする。
 図2Cは、本実施形態に係る情報処理システム200の概念を示す図である。図2Cは、本実施形態における情報処理装置230と通信端末220との間のデバイスドライバの構成について示している。
 図2Cでは、POSアプリケーションを起動する最低限のデバイスとして、モニタとしてのディスプレイ212と、入力指示用のキーボード213と、商品情報を読み取るバーコードリーダ214と、が通信端末220に接続されて、各デバイスドライバが起動された状態を示している。ディスプレイ212と、キーボード213とは、ハブ211を介して、通信端末220のバスインタフェース221に接続される。バーコードリーダ214は、通信端末220のバスインタフェース221に接続される。
 ディスプレイ212を制御するためのモニタ・デバイスドライバとして、通信端末220のホストコントローラインタフェース222と情報処理装置230のアプリケーションインタフェース232とが起動している。そして、ホストコントローラインタフェース222とアプリケーションインタフェース232との間にネットワーク240を介してパイプが確立する。また、キーボード213を制御するためのキーボード・デバイスドライバとして、通信端末220のホストコントローラインタフェース223と情報処理装置230のアプリケーションインタフェース233とが起動している。そして、ホストコントローラインタフェース223とアプリケーションインタフェース233との間にネットワーク240を介してパイプが確立する。また、バーコードリーダ214を制御するためのバーコードリーダ・デバイスドライバとして、通信端末220のホストコントローラインタフェース224と情報処理装置230のアプリケーションインタフェース234とが起動している。そして、ホストコントローラインタフェース224とアプリケーションインタフェース234との間にネットワーク240を介してパイプが確立する。
 情報処理装置230は、アプリケーションインタフェース232~234が起動しているか否かをチェックして、モニタとキーボードとバーコードリーダとが使用可能であると判定すると、アプリケーションソフトウェアとしてPOSアプリケーション231を起動する。なお、モニタとキーボードとバーコードリーダとが使用可能である場合には、POSアプリケーション231を起動するが、その機能の内、商品への割引値札による値段設定処理が実行可能となる。例えば、キャッシュドロアとレシートプリンタとが使用可能と判定すると、POSアプリケーション231の内、現金清算処理が実行可能となる。また、クレジットカードリーダが使用可能と判定すると、POSアプリケーション231の内、クレジット清算処理が実行可能となる。また、非セッショクRW端末が使用可能と判定すると、POSアプリケーション231の内、電子マネー清算処理が実行可能となる。
 このように、同じPOSアプリケーション231の機能が、デバイスセットにより段階的に実行可能となる構成であってもよいし、デバイスセットにより異なるPOSアプリケーションが起動される構成であってもよい。
 図2Dは、本実施形態に係る情報処理システム200のデバイス接続を示す図である。図2Dは、ホスト(情報処理装置)230と通信端末220とUSBデバイス210との間において、どのように制御パイプ(デフォルトパイプ)とデータパイプが確立するかを示す図である。なお、図2Dにおいては、常備のソフトウェアであるOS(Operating System)やBIOS(Basic Input/Output System)などの図示を省略している。
 図2Dの情報処理システム200は、情報処理装置としてのホスト230と、遠隔にあって、ホスト230とネットワーク240を介して接続する通信端末220と、通信端末220のUSBコネクタに接続されたUSBデバイス210と、を備える。
 ホスト230は、ソフトウェアとして、アプリケーションソフトウェア231と、デバイスドライバの一部としてのアプリケーションインタフェース(図中、アプリケーションIF)235とを有する。アプリケーションソフトウェア231は、あらかじめホスト230が提供するサービス、あるいは、ユーザが開発したサービスを提供するためのソフトウェアである。アプリケーションインタフェース235は、アプリケーションソフトウェア231が要求した入出力ファイル操作の構造体を解釈して、入出力ファイル操作の対象デバイスやそのプロトコル、データフォーマットなどに従って、ネットワーク240を介して送受信する制御情報やデータを定義する構造体を生成する。本例ではUSBデバイス210に対する入出力ファイルのアクセスなので、USBのプロトコルに応じたコマンドやデータフォーマットに従うデータの送受信を準備する。
 通信端末220は、ソフトウェアとして、デバイスドライバの一部としてのホストコントローラインタフェース(図中、ホストコントローラIF)225と、ホストコントローラおよびSIEを有するUSBバスインタフェース226とを有する。ホストコントローラインタフェース225は、ネットワーク240を介して、アプリケーションインタフェース235から受信したUSBのプロトコルに応じたコマンドやデータなどを、USBバスインタフェース226のホストコントローラに理解できる形式で渡す。また、ホストコントローラインタフェース225は、ネットワーク240を介して、USBバスインタフェース226のホストコントローラから渡されたデータやデバイスステータスなどを、ネットワーク240を介して、アプリケーションインタフェース235に送信する。USBバスインタフェース226のホストコントローラは、ホストコントローラインタフェース225とコマンドやデータなどを交換しながら、USBケーブル260を介したシリアル通信をUSBプロトコルに従い実行する。USBバスインタフェース226のSIEは、USBケーブル260上の信号をUSB通信の仕様に従い制御する。
 USBデバイス210は、ソフトウェアとして、通信端末220のUSBバスインタフェース226とUSBケーブル260を介して接続して、信号をやり取りするUSBデバイス210のUSBバスインタフェース216を有する。また、USBデバイス210は、デバイス情報や制御情報を含むディスクリプタを記憶するFIFO(First-in First-out)0からなるエンドポイント0217と、入出力データを記憶するFIFO1~nからなるエンドポイント1~n218とを有する。
 かかる接続により、通信端末220とUSBデバイス210とは、お互いのUSBバスインタフェース226、216により物理レベルの通信を実行する。また、アプリケーションインタフェース235、ネットワーク240およびホストコントローラインタフェース225を介したシステムレベルのコントロール転送により、デフォルトパイプ251を介してアプリケーションソフトウェア231とエンドポイント0217との間で、基本処理としての制御通信を実現する。また、アプリケーションレベルのデータ転送では、データパイプ群252を介してアプリケーションソフトウェア231とエンドポイント1~n218との間で、デバイスクラスの各メソッドとしてのデータ通信を実現する。
 以上のように、ネットワーク240を介した、ホスト230のアプリケーションインタフェース235と通信端末220のホストコントローラインタフェース225とのネットワーク通信と、USBケーブルを介した、USBバスインタフェース226と216間のシリアル通信とから、統一された通信チャネル(パイプ)を形成することができる。
 (通信メッセージ)
 図2Eは、本実施形態に係る通信メッセージの構成を示す図である。なお、通信メッセージのフォーマットは、図2Eに限定されるものではない。
 図2Eには、デフォルトパイプ251である制御チャネルで送受信される制御メッセージ270と、データパイプ群252となるデータチャネルで送受信されるデータメッセージ280とが図示されている。
 制御メッセージ270の内、ホスト230から通信端末220に送信される制御メッセージは、IPアドレス271と、伝送先エリア/伝送元エリア272と、通信データ273と、誤り訂正の例えばCRC274と、を有する。IPアドレス271としては、送信先の通信端末アドレスと送信元のホストアドレスとがセットされる。伝送先エリア/伝送元エリア272としては、伝送先エリアにUSBデバイス210のFIFO0が、伝送元エリアにホスト230のUSBバッファ0が、指示される。また、通信データ273としては、ホスト230が割り当てたデバイスアドレスやUSBデバイス210の制御コマンドが伝送される。
 制御メッセージ270の内、通信端末220からホスト230に送信される制御メッセージは、IPアドレス275と、伝送先エリア/伝送元エリア276と、通信データ277と、誤り訂正の例えばCRC278と、を有する。IPアドレス275としては、送信先のホストアドレスと送信元の通信端末アドレスとがセットされる。伝送先エリア/伝送元エリア276としては、伝送先エリアにホスト230のUSBバッファ0が、伝送元エリアにUSBデバイス210のFIFO0が、指示される。また、通信データ277としては、USBデバイス210のデバイスディスクリプタやデバイスステータスが伝送される。
 データメッセージ280の内、ホスト230から通信端末220に送信されるデータメッセージは、IPアドレス281と、伝送先エリア/伝送元エリア282と、通信データ283と、誤り訂正の例えばCRC284と、を有する。IPアドレス281としては、送信先の通信端末アドレスと送信元のホストアドレスとがセットされる。伝送先エリア/伝送元エリア282としては、伝送先エリアにUSBデバイス210のFIFO1~nが、伝送元エリアにホスト230のUSBバッファ1~nが、対応付けられて指示される。また、通信データ283としては、1つまたは複数のバルクOUTデータが伝送される。
 データメッセージ280の内、通信端末220からホスト230に送信されるデータメッセージは、IPアドレス285と、伝送先エリア/伝送元エリア286と、通信データ287と、誤り訂正の例えばCRC288と、を有する。IPアドレス285としては、送信先のホストアドレスと送信元の通信端末アドレスとがセットされる。伝送先エリア/伝送元エリア286としては、伝送先エリアにホスト230のUSBバッファ1~nが、伝送元エリアにUSBデバイス210のFIFO1~nが、対応付けられて指示される。また、通信データ287としては、1つまたは複数のバルクINデータが伝送される。
 なお、コントロール転送、バルク転送の外に、インタラプト転送やアイソクロナス転送があるが、データメッセージの構成としては、“SETUP”ステージが省略されるが同様であるので、それらのメッセージの説明を省略する。
 このように、カプセリングしたIPアドレスとしては、ホスト230と通信端末220との間のネットワーク通信であるが、データは、ホスト230にアプリケーションソフトウェア231が確保させたUSBバッファと、USBデバイス210のエンドポイントであるFIFOとの間で伝送される。
 (通信データ構成例)
 図2Fは、本実施形態に係る通信データ構成を示す図である。図2Fにおいては、図2Eにおける、カブセル化のためのIPアドレスなどは省かれている。なお、図2Fには、本実施形態を実現する通信データ構成の一例を示すが、これに限定されるわけではない。例えば、デバイスドライバの上位層における通信データとして、関数のパラメータ(引数)を送受信することや、さらに、関数自体を送受信することなどもできる。
 図2Fには、基本的な通信データ構成273/277と、USBの場合の通信データ構成273と、他のHDMI(登録商標)やSCSIの場合の通信データ構成277が示されている。
 通信データ構成273/277は、デバイス特定情報を有する。デバイス特定情報は、デバイス種類と、接続バス種類と、デバイス識別子と、を含む。通信データ構成273/277は、接続バスにおける転送モードと、接続バスを介して転送すべき情報と、を有する。転送すべき情報には、コマンドやステータスやデータを含む。
 USBの場合の通信データ構成273は、デバイス特定情報として、デバイス種類である産業機器と、接続バスであるUSBと、デバイス識別子であるIE001と、を有する。USBの場合の通信データ構成273は、転送モードとしてUSBコントロール転送と、転送情報としてUSBリクエストやデバイスディスクリプタを含む。かかる構成によれば、従来のUSB接続による最大127台という制限を考慮する必要はなくなる。
 他のHDMI(登録商標)やSCSIの場合の通信データ構成277は、デバイス特定情報として、モニタ、HDMI(登録商標)、MT0002や、CD、SCSI、CD0005を有する。また、転送モード2としてHDMI(登録商標)制御やSCSI制御、転送情報としてDDC/CEDやコマンド/レスポンスを含む。
 (データ伝送例)
 図2Gは、本実施形態に係る情報処理システム200におけるデータ伝送を示す図である。なお、図2Gは、USBデバイスにおけるL2レベルの通信を示すが、通信はさらに下位レベルであっても上位レベルであってもよい。
 図2Gは、USB接続されたUSBデバイスのディスクリプタ取得手順を示すシーケンス図である。
 デバイス210に設定されているディスクリプタは、GET_DESCRIPTORなどのUSBリクエストにより取得される。USBリクエストは、それぞれコントロール転送によりデバイス210とやり取りされる。各コントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。デバイス210から取得したディスクリプタはIPヘッダやTCPヘッダでIPカプセリングして、携帯端末からなるUSBハブ221から情報処理装置230に送信される。
 ここで、情報処理装置230のアプリケーションインタフェースを構成するクラスドライバ232およびバスドライバは、アプリケーション231のデバイス入出力要求に応じて、まず接続デバイスを確認するためコントロール転送とGET DESCRIPTORのUSBリクエストとを生成して、通信制御部に渡す。
 IPヘッダやTCPヘッダでIPカプセリングされたコントロール転送とGET DESCRIPTORのUSBリクエストとは、通信端末からなるUSBハブ221の通信制御部で受信されてIPアンカプセリングされる。コントロール転送とGET DESCRIPTORのUSBリクエストとは、ホストコントローラドライバ225に渡される。ホストコントローラドライバ225は、コントロール転送とGET DESCRIPTORのUSBリクエストとに基づいて、デバイス210へのUSBバスにおける各パケットを生成するようUSBバスインタフェース(不図示)に指示する。
 ホストコントローラドライバ225は、デバイス210から受信した、データ・ステージで受信したデータ・パケットをデバイスディスクリプタとして抽出し、コントロール転送とデバイスディスクリプタとして、通信制御部に渡す。IPヘッダやTCPヘッダでIPカプセリングされたコントロール転送とデバイスディスクリプタとは、通信端末からなるUSBハブ221の通信制御部から情報処理装置230の通信制御部に送信される。
 情報処理装置の通信制御部は、アンカプセリングしたコントロール転送とデバイスディスクリプタを、アプリケーションインタフェースを構成するバスドライバおよびクラスドライバ232に渡すと、クラスドライバ232はアプリケーション231のデバイス入出力要求に応答して、接続デバイス情報を通知する。
 以下、他のコントロール転送や、バルク転送、インタラプト転送、アイソロナス転送においても、同様のデータ伝送が行なわれる。なお、ホストコントローラドライバ225とUSBバスインタフェース226とが一体にされたソフトウェアであってもよい。
 《ソフトウェア構成》
 図3は、本実施形態に係る情報処理システム200のソフトウェア構成を示す図である。なお、図3には、本実施形態におけるソフトウェア構成の概略を示し、詳細な構成については省略する。
 情報処理装置230に構築された仮想PCでは、アプリケーション333と、ミドルウェア332と、OS331と、各デバイスドライバ340のアプリケーションインタフェースと、が実行される。通信端末220では、各デバイスドライバ340のホストコントローラインタフェースと、デバイスハードウェア210へのバス制御を行なうバスインタフェース221と、が実行される。ここで、ミドルウェア332は、本実施形態におけるアプリケーション起動を制御するような、アプリケーション333とOS331との間における制御を実行するアプリケーション管理ソフトを含む、各アプリケーションの起動・停止・監視などを含めた制御を行う。ミドルウェア332は、その他、データベース管理ソフトやトランザクションモニタソフトなども含まれる。
 《情報処理装置の機能構成》
 図4は、本実施形態に係る情報処理装置230の機能構成を示すブロック図である。なお、図4には、本実施形態の動作に関連の深い機能構成部を図示し、情報処理装置230が有する通常の機能構成部は図示していない。例えば、情報処理装置230がPCの場合の種々の処理機能については示していない
 情報処理装置230は、通信制御部401と、アプリケーション実行部402と、ドライブアプリインタフェース部403と、アプリケーション起動部404と、を備える。なお、情報処理装置230の外部あるいは内部に、アプリケーションデータベース(図中、アプリケーションDB)405を備える。アプリケーションデータベース405は、複数のアプリケーション451、および、デバイスドライバの一部である複数のアプリケーションインタフェース452を格納する。
 通信制御部401は、ネットワーク240を介する通信端末220との通信を制御する。アプリケーション実行部402は、アプリケーション起動部404の指示に従って、アプリケーションデータデータベース405に格納されたアプリケーションを実行する。図4においては、POSアプリケーションが実行されている例を示している。ドライブアプリインタフェース部403は、通信端末220に接続されたデバイスに対応して入出力ファイル操作を実現するためのアプリケーションインタフェースを、アプリケーションデータベース405から検索して実行する。なお、図4には、ディスプレイドライバ・アプリインタフェース431とキーボードドライバ・アプリインタフェース432とバーコードリーダドライバ・アプリインタフェース433とが動作中の例を示している。アプリケーション起動部404は、ドライブアプリインタフェース部403から動作中のアプリケーションインタフェースをチェックして、アプリケーション起動テーブル441に基づいて起動するアプリケーションを選択して、アプリケーション実行部402に実行を指示する。
 なお、ディスプレイドライバ・アプリインタフェース431とキーボードドライバ・アプリインタフェース432とバーコードリーダドライバ・アプリインタフェース433とは、それぞれ通信端末220のディスプレイドライバ・ホストコントローラインタフェース521とキーボードドライバ・ホストコントローラインタフェース522とバーコードリーダドライバ・ホストコントローラインタフェース523と連動して、各デバイスドライバを構成する。
 《通信端末の機能構成》
 図5は、本実施形態に係る通信端末の機能構成を示すブロック図である。なお、図5には、本実施形態の動作に関連の深い機能構成部を図示し、通信端末220が有する通常の機能構成部は図示していない。例えば、通信端末220がスマートフォンやタブレットの場合の種々の処理機能については示していない。
 通信端末220は、通信制御部501と、ホストコントローラインタフェース部502と、デバイス制御部503と、バスインタフェース221と、を備える。
 通信制御部501は、ネットワーク240を介する情報処理装置230との通信を制御する。ホストコントロールインタフェース部502は、接続されたデバイスに対応して入出力ファイル操作を実現するためのホストコントローラインタフェースを実行する。なお、図5には、ディスプレイドライバ・ホストコントロールインタフェース521とキーボードドライバ・ホストコントロールインタフェース522とバーコードリーダドライバ・ホストコントロールインタフェース523とが動作中の例を示している。なお、ディスプレイドライバ・ホストコントローラインタフェース521とキーボードドライバ・ホストコントローラインタフェース522とバーコードリーダドライバ・ホストコントローラインタフェース523とは、は、それぞれ情報処理装置230のディスプレイドライバ・アプリインタフェース431とキーボードドライバ・アプリインタフェース432とバーコードリーダドライバ・アプリインタフェース433と連動して、各デバイスドライバを構成する。
 デバイス制御部503は、各デバイスの接続バスに対応してデバイスを制御する。なお、図5には、ディスプレイ・デバイス制御部531とキーボード・デバイス制御部532とバーコードリーダ・デバイス制御部533とが動作中の例を示している。バスインタフェース221は、デバイスであるディスプレイ212や、キーボード213や、バーコードリーダ214とのバス通信を制御する。
 (アプリケーション起動テーブル)
 図6は、本実施形態に係るアプリケーション起動テーブル441の構成を示す図である。アプリケーション起動テーブル441は、デバイスドライバの起動からデバイスの使用可能をチェックして、使用可能なデバイスに対応するアプリケーションを選択して起動するために、アプリケーション起動部404により使用される。
 アプリケーション起動テーブル441は、デバイスドライバの動作から使用可能か否かを判定したデバイス接続状態601と、デバイス接続状態601に対応して起動アプリケーション602と、を記憶する。デバイス接続状態601には、本実施形態のPOSシステムにおいては、例えば、ディスプレイ、キーボード、バーコードリーダ、キャッシュドロア、レシートプリンタ、クレジットカードリーダ、非接触端末、などの接続状態を記憶する。図6においては、○が接続されて使用可能、×が使用不能を示す。起動アプリケーション602としては、POSアプリケーションと、その種類、機能、を記憶する。なお、起動アプリケーション602は、同じPOSアプリケーションでその中の実行機能を選択するように記憶しても、異なる機能を異なるPOSアプリケーションで記憶してもよい。
 図6には、本実施形態で注目するPOSシステムについてアプリケーション起動テーブル441の構成を詳細に示したが、例えば、診断支援システムのアプリケーションや、学習支援システムのアプリケーションなどの対しても、同様のアプリケーション起動テーブルが生成でき、そのアプリケーション起動制御は本実施形態と同様の効果を奏する。
 《情報処理装置のハードウェア構成》
 図7は、本実施形態に係る情報処理装置230のハードウェア構成を示すブロック図である。なお、図7においては、情報処理装置230を実際のPCにように図示しているが、クラウドサーバに構築された仮想PCであってもよい。
 図7で、CPU(Central Processing Unit)710は演算制御用のプロセッサであり、プログラムを実行することで図4の情報処理装置230の機能構成部を実現する。ROM(Read Only Memory)720は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部401は、ネットワーク240を介して通信端末220と通信する。なお、CPU710は1つに限定されず、複数のCPUであっても、あるいは画像処理用のGPUを含んでもよい。また、通信制御部401は、CPU710とは独立したCPUを有して、RAM(Random Access Memory)740の領域に送受信データを書き込みあるいは読み出しするのが望ましい。また、RAM740とストレージ750との間でデータを転送するDMACを設けるのが望ましい(図示なし)。したがって、CPU710は、RAM740にデータが受信あるいは転送されたことを認識してデータを処理する。また、CPU710は、処理結果をRAM740に準備し、後の送信あるいは転送は通信制御部401やDMACに任せる。
 RAM740は、CPU710が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM740には、本実施形態の実現に必要なデータを記憶する領域が確保されている。デバイス接続テーブル741は、デバイスドライバが起動しているか否かから接続され使用可能なデバイスを判定して記憶する。起動アプリケーションID742は、デバイス接続テーブル741の内容に基づき、アプリケーション起動テーブル441を参照して選択された起動アプリケーションの識別子(ID)を記憶する。送受信データ743は、通信制御部401を介して通信端末220および通信端末220に接続するデバイス210と送受信するデータである。
 ストレージ750には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。アプリケーション451は、情報処理装置230が提供する検索可能なプリケーションソフトウェアである。アプリケーションインタフェース452は、情報処理装置230がデバイスに対応して提供するデバイスドライバの一部である。アプリケーション起動データベース751は、接続され使用可能となったデバイスセットと起動するアプリケーションとの関係を蓄積するデータベースである。アプリケーション起動テーブル441は、アプリケーション起動データベース751の一部であって、ユーザにより設定されても、アプリケーション起動データベース751に蓄積されたデータに基づく学習により生成されてもよい。
 ストレージ750には、以下のプログラムが格納される。情報処理装置制御プログラム752は、本情報処理装置230全体を制御するプログラムである。アプリケーションインタフェース753は、起動した各デバイスドライバの一部である。アプリケーション起動モジュール754は、デバイス接続テーブル741とアプリケーション起動データベース751とに基づいて、アプリケーションを選択して起動を指示するミドルウェアとしてのモジュールである。アプリケーションプログラム755は、アプリケーション起動モジュール754により選択され起動されたアプリケーションである。
 なお、図7のRAM740やストレージ750には、情報処理装置230が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
 《情報処理装置の処理手順》
 図8は、本実施形態に係る情報処理装置230の処理手順を示すフローチャートである。このフローチャートは、図7のCPU710がRAM740を使用して実行し、図4の機能構成部を実現する。
 情報処理装置230は、ステップS801において、アプリケーション起動条件をアプリケーション起動データベース751に登録する。この登録は、ユーザによるデバイスセットと起動アプリケーションとの入力であっても、過去の履歴から学習して生成したデバイスセットと起動アプリケーションとであってもよい。情報処理装置230は、ステップS803において、アプリケーション起動テーブル441に従ったアプリケーション起動処理を実行する。情報処理装置230は、ステップS805において、アプリケーションの実行状態を蓄積する。そして、情報処理装置230は、ステップS807において、アプリケーション処理の終了か否かを判定する。アプリケーション処理の終了でなければ、情報処理装置230は、ステップS803に戻って、次のアプリケーションの起動処理をする。
 (アプリケーション起動処理)
 図9は、本実施形態に係るアプリケーション起動処理(S803)の手順を示すフローチャートである。
 情報処理装置230は、ステップS901において、起動されたデバイスドライバを確認するための時間を計時するタイマを起動する。情報処理装置230は、ステップS903において、あらかじめ定めた終了処理が有ったか否かを判定する。終了処理があれば、処理を終了してリターンする。
 終了処理がなければ、情報処理装置230は、ステップS905において、タイマが所定期間を計時したか否かを判定する。タイマが所定期間を計時してなければ、情報処理装置230は、ステップS903に戻って、起動されたデバイスドライバを確認するための時間計時を継続する。
 タイマが所定期間を計時すると、情報処理装置230は、ステップS907において、起動しているデバイスドライバを接続したデバイスとして確認する。そして、情報処理装置230は、ステップS909において、起動しているデバイスドライバとステップS801で登録した起動デバイスとが一致するか否かを判定する。不一致であれば必要なデバイスが接続してないあるいは使用可能でないとして、処理を終了してリターンする。
 一致していれば、情報処理装置230は、ステップS911において、一致した起動デバイスに対応してステップS801で登録されたアプリケーションを選択して起動を指示する。かかるアプリケーションの選択と起動指示によりアプリケーションが起動する。
 情報処理装置230は、ステップS913において、起動されているデバイスドライバを確認するための時間を計時するタイマを起動する。なお、タイマの計時する時間は、ステップS901と同じでも異なってもよい。情報処理装置230は、ステップS915において、あらかじめ定めた終了処理が有ったか否かを判定する。終了処理があれば、情報処理装置230は、ステップS923において、ステップS911で起動指示したアプリケーションの終了指示を行なう。
 終了処理がなければ、情報処理装置230は、ステップS917において、タイマが所定期間を計時したか否かを判定する。タイマが所定期間を計時してなければ、情報処理装置230は、ステップS915に戻って、起動されているデバイスドライバを確認するための時間計時を継続する。
 タイマが所定期間を計時すると、情報処理装置230は、ステップS919において、起動しているデバイスドライバを接続したデバイスとして確認する。そして、情報処理装置230は、ステップS921において、起動しているデバイスドライバとステップS801で登録した起動デバイスとが一致するか否かを判定する。不一致であれば必要なデバイスが切り離されたあるいは使用不能になったとして、情報処理装置230は、ステップS923において、ステップS911で起動指示したアプリケーションの終了指示を行なう。
 一致であれば、情報処理装置230は、ステップS913に戻って、再度、タイマ時間後の起動ドライバ確認の処理を継続する。
 なお、図9のフローチャートでは、起動デバイスによりアプリケーションを起動または終了させる場合を示した。しかし、起動デバイスの増減に対応して異なるアプリケーションを起動させても、起動デバイスの増減に対応して同じアプリケーションの中で実行機能を選択させてもよい。これらのフローチャートは複雑になるので詳細は省略するが、容易に作成できる。
 本実施形態によれば、遠隔のPOSデバイス用のデバイスドライブの起動を判定することにより、所望のPOSデバイスを使用するPOSアプリケーションを安定的に起動することができる。
 [第3実施形態]
 次に、本発明の第3実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態と比べると、起動アプリケーションが利用者に対応して選択される点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
 《情報処理システム》
 図10Aは、本実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システム1000の動作を示す図である。なお、図10Aにおいて、図2Aと同様の構成要素には同じ参照番号を付す。
 情報処理システム1000は、接続確認1036として利用者であるユーザを確認し、利用者に対応するPOSアプリケーション(図中、POSアプリ)1031またはPOS上司アプリケーション(図中、POS上司アプリ)1032を実行する、情報処理装置1030を含む。また、情報処理システム1000は情報処理装置1030と通信接続される通信端末1020と、通信端末1020にバス接続されるデバイス1010と、を含む。情報処理装置1030は、デバイスマネージャ236により、直接接続されたデバイス、および、通信端末1020を介して遠隔に接続されたデバイスを管理する。なお、通信端末1020を介して遠隔に接続されたデバイスは、情報処理装置1030と通信端末1020とで協働するデバイスドライバにより制御するのが望ましい。
 図10Aの情報処理装置1030において、デバイスマネージャ236により接続デバイスの管理画面を表示すると、直接接続されたデバイス、および、通信端末1020を介して遠隔に接続されたデバイスが同様に表示され、選択できる。なお、図10Aの情報処理装置1030は、デスクトップPCやノートPCであっても、クラウドサーバに構築された仮想PCであってもよい。
 情報処理システム1000においては、コメント1001に記載のように、例として、USBディスプレイ(モニタ)、キーボード、バーコードリーダ、という所定のデバイスセットが接続されたこと、および、起動するアプリケーションの利用者を、起動ドライバと対応付けて、定期的あるいは起動ドライバの変更があった時にチェックする。そして、必要なデバイスが揃ったことを検出したら、利用者に対応してあらかじめ定めたアプリケーションが起動する。この例では、利用者が従業員のAさんの場合は通常のPOSアプリケーション1031が起動し、利用者が管理者のBさんの場合はPOS上司アプリケーション1032が起動する。
 (通信メッセージ)
 図10Bは、本実施形態に係る通信メッセージの構成を示す図である。通信メッセージのフォーマットは、図10Bに限定されるものではない。なお、図10Bにおいて、図2Eと同様の要素には同じ参照番号を付して、説明を省略する。
 図10Bには、各デバイスについて制御チャネルで送受信される制御メッセージ270の送受信の前に、通信端末1020を操作する利用者の情報を情報処理装置1030から通信端末1020に問い合わせて、通信端末1020から情報処理装置1030に応答する使用者メッセージ1070が図示されている。
 使用者メッセージ1070の内、情報処理装置1030から通信端末1020に送信されるメッセージは、IPアドレス1071と、コマンド1072と、誤り訂正の例えばCRC1073と、を有する。IPアドレス1071としては、送信先の通信端末アドレスと送信元のホストアドレスとがセットされる。コマンド1072としては、使用者情報取得のコマンドが伝送される。
 使用者メッセージ1070の内、通信端末1020から情報処理装置1030に送信される使用者メッセージは、IPアドレス1075と、応答データ1076と、誤り訂正の例えばCRC278と、を有する。IPアドレス1075としては、送信先のホストアドレスと送信元の通信端末アドレスとがセットされる。応答データ1076としては、使用者情報が伝送される。
 なお、プロトコルとしては、情報処理装置1030から通信端末1020への問い合わせ無しに、通信端末1020から情報処理装置1030に使用者情報が伝送されてもよい。
 (アプリケーション起動テーブル)
 図11は、本実施形態に係るアプリケーション起動テーブルの構成を示す図である。なお、図11において、図6と同様の要素には同じ参照番号を付して、説明は省略する。
 図11において、利用者に対応する起動アプリケーションを記憶するテーブル1100は、アプリケーションの利用者1101と、使用する言語1102と、アプリケーションのクラス1103との組に対応して、起動アプリケーション1104を記憶する。なお、利用者1101以外の条件はこれに限らない。
 (アプリケーション起動処理)
 図12は、本実施形態に係るアプリケーション起動処理の手順を示すフローチャートである。なお、図12において、ステップS901~S923は図9と同様であるので、説明を省略する。
 情報処理装置1030は、ステップS1201において、利用者あるいは利用者を含む情報を取得する。情報処理装置1030は、ステップS1203において、テーブル1100を参照して、利用者あるいは利用者を含む情報に基づいて起動アプリケーションを選択する。
 本実施形態によれば、利用者あるいは利用者を含む情報により起動アプリケーションを選択するので、さらに利用者に対応するアプリケーションを起動できる。
 [第4実施形態]
 次に、本発明の第4実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態、第3実施形態と比べると、起動アプリケーションがログイン端末に対応して選択される点で異なる。その他の構成および動作は、第2実施形態、第3実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。なお、図示しないが、本実施形態の情報処理システムにおいては、図10Aの接続確認1036としてログイン端末を確認する。
 (アプリケーション起動テーブル)
 図13は、本実施形態に係るアプリケーション起動テーブルの構成を示す図である。なお、図13において、図6と同様の要素には同じ参照番号を付して、説明は省略する。
 図13において、ログイン端末に対応する起動アプリケーションを記憶するテーブル1300は、アプリケーションの起動を要求したログイン端末1301に対応して、起動アプリケーション1302を記憶する。ログイン端末1301の情報として端末IDや機種などを含む。なお、ログイン端末1301の情報はこれに限らない。
 (アプリケーション起動処理)
 図14は、本実施形態に係るアプリケーション起動処理の手順を示すフローチャートである。なお、図14において、ステップS901~S923は図9と同様であるので、説明を省略する。
 情報処理装置は、ステップS1401において、ログイン端末の情報を取得する。情報処理装置は、ステップS1403において、テーブル1300を参照して、ログイン端末の情報に基づいて起動アプリケーションを選択する。
 本実施形態によれば、ログイン端末情報により起動アプリケーションを選択するので、さらにログイン端末に対応するアプリケーションを起動できる。
 [第5実施形態]
 次に、本発明の第5実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態乃至第4実施形態と比べると、複数の利用者あるいは複数のログイン端末からの操作を共有する点で異なる。その他の構成および動作は、第2実施形態から第4実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
 《情報処理システム》
 図15Aは、本実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システム1500の動作を示す図である。なお、図15Aにおいて、図2Aまたは図10Aと同様の構成要素には同じ参照番号を付す。
 情報処理システム1500は、接続確認1036として利用者であるユーザを確認し、利用者に対応するPOSアプリケーション(図中、POSアプリ)1031およびPOS上司アプリケーション(図中、POS上司アプリ)1032を実行する、情報処理装置1530を含む。情報処理装置1530は、さらに、POSアプリケーション1031およびPOS上司アプリケーション1032における操作を共有するための、操作共有部1533を有する。
 すなわち、情報処理システム1500においては、コメント1501に記載のように、さらに、同時ログイン時の操作共有部1533と操作記憶部(DB)1534とを用意する。うまく行った時、通信端末1520においてDBに登録するボタンを押すと、その操作指導パターンが操作記憶部(DB)1534に記憶される。操作記憶部(DB)1534に類似のパターンが増えると、他のワーカ(従業員)と指導者との適切な操作ワークフローとして提案される。
 また、情報処理システム1500は情報処理装置1530と通信接続される通信端末1520と、通信端末1520にバス接続されるデバイス1510と、を含む。なお、POSアプリケーション1031およびPOS上司アプリケーション1032は、複数の通信端末1520のそれぞれに対応して起動してもよいし、1つの通信端末1520に接続された複数のデバイスのそれぞれに対応して起動されてもよい。
 情報処理装置1530は、デバイスマネージャ236により、直接接続されたデバイス、および、通信端末1520を介して遠隔に接続されたデバイスを管理する。なお、通信端末1520を介して遠隔に接続されたデバイスは、情報処理装置1530と通信端末1520とで協働するデバイスドライバにより制御するのが望ましい。
 図15Aの情報処理装置1530において、デバイスマネージャ236により接続デバイスの管理画面を表示すると、直接接続されたデバイス、および、通信端末1320を介して遠隔に接続されたデバイスが同様に表示され、選択できる。なお、図15Aの情報処理装置1530は、デスクトップPCやノートPCであっても、クラウドサーバに構築された仮想PCであってもよい。
 情報処理システム1500においては、コメント1001に記載のように、例として、USBディスプレイ(モニタ)、キーボード、バーコードリーダ、という所定のデバイスセットが接続されたこと、および、起動するアプリケーションの利用者を、起動ドライバと対応付けて、定期的あるいは起動ドライバの変更があった時にチェックする。そして、必要なデバイスが揃ったことを検出したら、利用者に対応してあらかじめ定めたアプリケーションが起動する。この例では、利用者が従業員のAさんの場合に通常のPOSアプリケーション1031が起動し、利用者が管理者のBさんの場合にPOS上司アプリケーション1032が起動し、その操作が共有される。
 図15Bは、本実施形態に係る情報処理システム1500の操作共有動作を示す図である。なお、図15においては、画面の共有を説明するが、キーボードやポインチングデバイス、その他のデバイスの共有も同様である。
 図15Bのように、POS上司アプリケーション1532における画面操作と、POSアプリケーション1531における画面操作とが共有されて、管理者と従業員とが同じ画面を見ながらPOS機器の操作を伝達あるいは学習できる。
 例えば、管理者がステップS1511において初期画面としてチェックすべき注目箇所を指示すると、従業員はステップS1531においてその注目箇所を確認することができる。また、管理者がステップS1513においてバーコードリーダで商品および価格を読み込み、一方、従業員がステップS1533においてバーコードリーダで同じ商品および価格を読み込みと、共通画面においてその操作の正否が確認できる。また、清算処理(S1515とS1535)、入金処理(S1517とS1537)、出金処理(S1519とS1539)においても、それらの操作の確認ができる。さらに、値引き処理(S1521とS1541)や、さらに高度な他の処理(S1523とS1543)においても、その正否を共通画面により確認できる。
 図16Aは、本実施形態に係る情報処理システム1500の操作共有の構成を示す図である。図16Aは、図15Aの構成をPOSシステムとして具体化した図である。なお、図16Aにおいて、図15Aと同様の機能構成部には同じ参照番号を付して、説明は省略する。
 図16Aにおいては、モニタであるディスプレイをソフト化したモニタ分配機1632によって画面共有し、キーボードおよびマウスをソフト化したHUB1631によって操作共有する。かかる画面共有および操作共有には、仮想DSP(digital signal processor)や仮想イーサ等の技術が利用される(1633参照)。
 また、ネットワーク(IP/MAC通信)240において発生するジッタを吸収するために、FIFO(first-in first-out)バッファを設ける。それでも、一定量が確保できない場合には、通信路エラーを表示したり、さらに、通信路の帯域拡大制御をしたりしてもよい(1640参照)。
 図16Bは、本実施形態に係る情報処理システム1500の操作共有の概念を示す図である。図16Bは、本実施形態における情報処理装置1530と、通信端末220、1520との間のデバイスドライバの構成について示している。なお、図16Bにおいて、図2Cと同様の構成要素には同じ参照番号を付して、説明を省略する。
 図16Bの下段における、情報処理装置1530と通信端末220とデバイス210との構成は図2Cと同様なので、説明は省略する。図16Bでは、操作共有する情報処理装置1530と通信端末1520とデバイス1510との構成が追加されている。
 図16Bでは、POSアプリケーションを起動する最低限のデバイスとして、モニタとしてのディスプレイ1612と、入力指示用のキーボード1613と、商品情報を読み取るバーコードリーダ1614と、が通信端末1520に接続されて、各デバイスドライバが起動された状態を示している。ディスプレイ1612と、キーボード1613と、バーコードリーダ214とは、通信端末1520のバスインタフェース1621に接続される。
 ディスプレイ1612を制御するためのモニタ・デバイスドライバとして、通信端末1520のホストコントローラインタフェース1622と情報処理装置1530のアプリケーションインタフェース1632とが起動している。そして、ホストコントローラインタフェース1622とアプリケーションインタフェース1632との間にネットワーク240を介してパイプが確立する。また、キーボード1613を制御するためのキーボード・デバイスドライバとして、通信端末1520のホストコントローラインタフェース1623と情報処理装置1530のアプリケーションインタフェース1633とが起動している。そして、ホストコントローラインタフェース1623とアプリケーションインタフェース1633との間にネットワーク240を介してパイプが確立する。また、バーコードリーダ1614を制御するためのバーコードリーダ・デバイスドライバとして、通信端末1520のホストコントローラインタフェース1624と情報処理装置1530のアプリケーションインタフェース1634とが起動している。そして、ホストコントローラインタフェース1624とアプリケーションインタフェース1634との間にネットワーク240を介してパイプが確立する。
 情報処理装置1530は、アプリケーションインタフェース232~234が起動しているか否かをチェックして、モニタとキーボードとバーコードリーダとが使用可能であると判定すると、アプリケーションソフトウェアとしてPOSアプリケーション231を起動する。また、情報処理装置1530は、アプリケーションインタフェース1632~1634が起動しているか否かをチェックして、モニタとキーボードとバーコードリーダとが使用可能であると判定すると、アプリケーションソフトウェアとしてPOS上司アプリケーション1631を起動する。
 そして、情報処理装置1530は、POSアプリケーション231とPOS上司アプリケーション1631とが起動すると共に、操作共有部1635を介して、例えば、モニタ画面を共有する。操作共有部1635のモニタ画面は、アプリケーションインタフェース1632、ネットワーク240、ホストコントローラインタフェース1622を介して、ディスプレイ1612へ送信され、アプリケーションインタフェース232、ネットワーク240、ホストコントローラインタフェース222を介して、ディスプレイ212へ送信されて、共有される。
 このように、モニタ画面がPOSアプリケーション231とPOS上司アプリケーション1631とで共有される。他のデバイスの操作共有も同様である。
 (アプリケーション起動および操作共有テーブル)
 図17は、本実施形態に係るアプリケーション起動および操作共有テーブル1741の構成を示す図である。図17は、図15Aの操作記憶部1534に蓄積されて、アプリケーション起動および操作共有の学習に使用される。
 アプリケーション起動および操作共有テーブル1741は、操作共有している起動アプリケーション1701に対応して、複数のワークフロー1702と、各ワークフローの評価レベル1703と、を記憶する。ここで、ワークフローとは、図15Bで示したような複数の起動アプリケーション間での処理手順や、1つの起動アプリケーションにおける操作共有間での処理手順を含むミドルウェアである。評価レベル1703は、各ワークフローが、例えば学習結果として効果的であったか否かなどの評価である。
 なお、本実施形態において、起動アプリケーションを選択するアプリケーション起動テーブル441は、アプリケーション起動および操作共有テーブル1741とは別に設けられている。
 (実行状態蓄積処理)
 図18は、本実施形態に係る実行状態蓄積処理(S805)の手順を示すフローチャートである。
 情報処理装置1530は、ステップS1801において、アプリケーション起動処理が終了した後、ワークフローの記憶が指示されたか否かを判定する。記憶が指示された場合、情報処理装置1530は、ステップS1803において、ワークフローを評価する。そして、情報処理装置1530は、ステップS1805において、ワークフローを格納する。
 記憶が指示されない場合あるいは格納後、情報処理装置1530は、ステップS1807において、格納されているワークフローの評価順位を生成して、以降のワークフローの使用に対応する。
 本実施形態によれば、所望のデバイスを使用するアプリケーションを安定的に起動し、起動アプリケーションによる操作共有ができる。
 [第6実施形態]
 次に、本発明の第6実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態から第5実施形態と比べると、音声によりワークフローの評価をして格納する点で異なる。その他の構成および動作は、第2実施形態から第5実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
 《情報処理システム》
 図19は、本実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システム1900の動作を示す図である。なお、図19において、図2A、図10Aまたは図15Aと同様の構成要素には同じ参照番号を付す。
 情報処理システム1900は、POSアプリケーション(図中、POSアプリ)1531およびPOS上司アプリケーション(図中、POS上司アプリ)1532を実行し、POSアプリケーション1531およびPOS上司アプリケーション1532における操作を共有するための操作共有部1533を有する、情報処理装置1930を含む。情報処理装置1930は、さらに、マイク1911が取得した音声を認識する音声認識部1931を有する。
 すなわち、情報処理システム1900においては、コメント1901に記載のように、うまく行った成功パターンをマイクで拾ったつぶやきや会話の音声認識から、自動的に成功パターンとして登録する。
 また、情報処理システム1900は情報処理装置1930と通信接続される通信端末1920と、通信端末1920にバス接続されるマイク1911を含むデバイス1910と、を含む。
 (実行状態蓄積処理)
 図20は、本実施形態に係る実行状態蓄積処理(S805)の手順を示すフローチャートである。
 情報処理装置1930は、ステップS2001において、アプリケーション起動処理が終了した後、マイク1911が拾ったつぶやきや会話の音声認識から、今回のワークフローが成功例か否かを判定する。成功例と判定された場合、情報処理装置1930は、ステップS2003において、成功例のワークフローを格納する。
 そして、情報処理装置1930は、ステップS2005において、格納された成功例を読み出し、ステップS2007において、以降のワークフローの使用のために成功例の順序付けをする。
 本実施形態によれば、所望のデバイスを使用するアプリケーションを安定的に起動し、起動アプリケーションによる操作共有ができると共に、操作共有のワークフローの成功例を自動に得ることができる。
 [第7実施形態]
 次に、本発明の第7実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態から第6実施形態と比べると、関連する他のアプリケーションを起動する点で異なる。その他の構成および動作は、第2実施形態から第6実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
 《情報処理システム》
 図21は、本実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システム2100の動作を示す図である。なお、図21において、図2A、図10A、図15Aまたは図19と同様の構成要素には同じ参照番号を付す。
 情報処理システム2100は、POSアプリケーション(図中、POSアプリ)1531およびPOS上司アプリケーション(図中、POS上司アプリ)1532を実行し、POSアプリケーション1531およびPOS上司アプリケーション1532における操作を共有するための操作共有部1533を有する、情報処理装置1930を含む。情報処理装置1930は、マイク1911が取得した音声を認識する音声認識部1931を有し、さらに、関連する他のアプリケーションを起動する他のアプリ起動部2131を有する。
 すなわち、情報処理システム2100においては、コメント2101に記載のように、さらに、成功パターンとして、併用起動していた他のアプリも記憶し、後から、他のアプリも含めた起動をしてワークフローを支援し、起動したアプリを関連する他のアプリに切り替えつつ、デバイスを活用する。さらに、使っている周辺機器で、前面に出す画面を自動的に切り替える。
 また、情報処理システム2100は情報処理装置2130と通信接続される通信端末2120を含む。
 (アプリケーション起動および関連アプリケーションテーブル)
 図22は、本実施形態に係るアプリケーション起動および関連アプリケーションテーブル2241の構成を示す図である。図22は、図21の操作記憶部1534に蓄積されて、アプリケーション起動および関連アプリケーション起動に使用される。
 アプリケーション起動および関連アプリケーションテーブル2241は、起動アプリケーション2201に対応して、関連して起動するアプリケーション2203を記憶する。ここで、関連して起動するアプリケーション2203には、操作共有する操作共有アプリケーション、ワークフロー内で関連付けられたワークフロー関連アプリケーション、そのワークフロー、が含まれる。
 なお、本実施形態において、起動アプリケーションを選択するアプリケーション起動テーブル441は、アプリケーション起動および操作共有テーブル1741とは別に設けられている。
 (実行状態蓄積処理)
 図23は、本実施形態に係る実行状態蓄積処理(S805)の手順を示すフローチャートである。
 情報処理装置2130は、ステップS2301において、アプリケーション起動処理が終了した後、操作共有をしたアプリケーションが有るか否かを判定する。操作共有をしたアプリケーションが有れば、情報処理装置2130は、ステップS2303において、操作共有アプリケーションを関連アプリケーション2203として記憶する。
 情報処理装置2130は、ステップS2305において、ワークフロー内で関連をしたアプリケーションが有るか否かを判定する。ワークフロー内で関連をしたアプリケーションが有れば、情報処理装置2130は、ステップS2307において、ワークフロー関連アプリと対応するワークフローとを関連アプリケーション2203として記憶する。
 本実施形態によれば、所望のデバイスを使用するアプリケーションを安定的に起動し、起動アプリケーションによる操作共有ができると共に、関連するアプリケーションを起動ことができる。
 [第8実施形態]
 次に、本発明の第8実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態から第7実施形態と比べると、多言語の従業員および客が集まるレストランでの多言語処理をする点で異なる。その他の構成および動作は、第2実施形態から第7実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
 《情報処理システム》
 図24Aは、本実施形態に係る情報処理装置と遠隔のデバイスとを含む情報処理システム2400の動作を示す図である。
 情報処理システム2400は、クラウドサーバ2430と、クラウドサーバ2430とレストラン2401の通信端末とを接続するネットワーク240と、を備える。
 クラウドサーバ2430は、起動アプリケーションとして、例えば、種々の言語に対応するPOSアプリケーション、広東語や英語の注文アプリケーション、スペイン後の料理場アプリケーション、など多言語のアプリケーションが、必要なデバイスが準備されて使用言語を判定すると、異なる言語間で互いに情報交換可能なように実行される。
 レストラン2401の通信端末としては、上記実施形態のPOSシステムのレジ処理端末2410を含む。また、レストラン2401の通信端末としては、表示画面から客が注文可能なタブレット2416、注文バーコードを読み取るバーコードリーダをUSB接続して客が注文可能なスマートフォン2417、ウェイトレスが注文する専用端末2415を含む。また、レストラン2401の通信端末としては、厨房に注文を表示するモニタ用のディスプレイ2418を含む。
 さらに、情報処理システム2400は、通信端末をネットワーク240に中継するAP(Access Point)2419を有してもよい。
 このように、アメリカ人が英語画面から注文し、中国人が中国語メニューから注文し、厨房のスペイン人コックはスペイン語の注文を見ながら、調理する。
 図24Bは、本実施形態に係る情報処理システム2400の構成を示す図である。なお、図24Bにおいて、図2Bと同様の構成要素については、説明を省略する。
 情報処理システム2400は、クラウドサーバ2430と、レストラン2401に配置されたスマートデバイスとしての各通信端末、クラウドサーバ2430と各通信端末とを接続する3G網やインターネットを含むネットワーク240、各通信端末にバス接続されるデバイスと、を備える。
 レジ2410の構成は、図2Bの店舗デバイスと同様である。フロアにおいては、AP2419を中継してスマートデバイスが接続される。厨房には、ディスプレイ2418が接続される。さらに、在庫管理2450などのためのスマートデバイスが接続されてもよい。
 図25は、本実施形態に係る情報処理システム2400の動作手順を示すシーケンス図である。
 レジでは、ステップS2501において、デバイスが通信端末に接続されてデバイスドライバが起動する。クラウドサーバは、ステップS2503において、起動したデバイスドライバをチェックし、レジ言語に対応したレジアプリケーションを起動する。
 また、ステップS2505において、厨房のモニタがONされ、フロアの注文機器がONされると、クラウドサーバは、ステップS2507において、料理人言語あるいは注文言語に対応して、注文サービスアプリケーションを起動する。
 また、客が自身のスマートデバイスを使って、ステップS2509において、レストランのホームページに接続して、使用言語を設定、メニュー画面の表示要求をすると、クラウドサーバは、ステップS2511において、客機器による注文アプリケーションを起動する。
 その後、ステップS2513において、フロア機器あるいは客機器による注文入力が行なわれる。厨房では、ステップS2515において、注文が調理人言語で表示され、ステップS2517においては、各言語で注文処理通知が行なわれる。
 清算時には、そのままでは現金精算が行なわれるが、ステップS2521において、レジにおいてクレジットカードリーダがONになると、クサウドサーバにおいてクレジット決済アプリが起動する。また、ステップS2523において、レジにおいて非接触RW機器がONになると、クサウドサーバにおいて電子マネー決済アプリが起動する。
 (アプリケーション起動テーブル)
 図26は、本実施形態に係るアプリケーション起動テーブルの構成を示す図である。なお、図26において、図6、図11または図13と同様の要素には同じ参照番号を付して、説明は省略する。
 図26において、アプリケーション起動テーブル441には、POSアプリケーションの他に注文アプリケーションや厨房アプリケーションの起動条件を追加した。
 また、図26において、起動アプリケーションを記憶するテーブル2600は、アプリケーションの利用者2601と、ログイン端末2602と、使用する言語2603と、の組に対応して、起動アプリケーション2604を記憶する。なお、条件はこれに限らない。
 《情報処理装置の処理手順》
 図27は、本実施形態に係るアプリケーション起動処理(S803)の手順を示すフローチャートである。なお、図27において、ステップS901~S923は図9と同様であるので、説明を省略する。
 情報処理装置としてのクラウドサーバ2430は、ステップS2701において、ロクイン端末の情報を取得する。また、クラウドサーバ2430は、ステップS2703において、利用者あるいは利用者を含む情報を取得する。また、クラウドサーバ2430は、ステップS2705において、使用言語の情報を取得する。クラウドサーバ2430は、ステップS2707において、ログイン端末、利用者、使用言語に対応するアプリケーションを選択する。
 本実施形態によれば、所望のデバイスを使用する利用者の言語に対応のアプリケーションを安定的に起動できる。
 [第9実施形態]
 次に、本発明の第9実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態乃至第8実施形態と比べると、情報処理装置230(仮想PC)とデバイスが接続された通信端末220との間で異なるデータが通信される点で異なる。すなわち、本実施形態においては、情報処理装置230のアプリケーションIFと通信端末220のホストコントローラIFとが、第2実施形態と異なる部分で分離されている。例えば、ホストコントローラチップ(HC)を含めて全体のデバイスドライバをソフトウェアで実現した場合に、特に、ホストコントローラドライバとホストコントローラチップとの組を種々の階層で通信効率や通信速度を考慮して分割する。そして、分割された階層間の情報を情報処理装置230と通信端末220間でネットワーク通信するよう設計する。その他の構成および動作は、第2実施形態から第8実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
 (データ伝送例)
 図28は、本実施形態に係る情報処理システムにおけるデータ伝送を示す図である。なお、図28は、図2Gと同様に、USB接続されたUSBデバイスのディスクリプタ取得手順を示す図である。したがって、図28において、図2Gと同様の構成要素には同じ参照番号を付して、説明は省略する。
 デバイス210に設定されているディスクリプタは、GET_DESCRIPTORなどのUSBリクエストにより取得される。コントロール転送であるUSBリクエストのUSBプロトコルを含むフレームは、情報処理装置230とデバイス210間でやり取りされる。各コントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。デバイス210から取得したディスクリプタはIPヘッダやTCPヘッダでIPカプセリングされたフレームに挿入されて、携帯端末220から情報処理装置230に送信される。
 ここで、情報処理装置230のアプリケーションインタフェース2832は、アプリケーション231のデバイス入出力要求に応じて、まず接続デバイスを確認するためGET DESCRIPTORのUSBリクエストのUSBプロトコルを含むフレームを生成して、通信制御部401に渡す。
 IPヘッダやTCPヘッダでIPカプセリングされたGET DESCRIPTORのUSBリクエストを含むフレームは、通信端末220の通信制御部501で受信されてIPアンカプセリングされる。GET DESCRIPTORのUSBリクエストは、ホストコントローラインタフェース2825に渡される。ホストコントローラインタフェース2825は、GET DESCRIPTORのUSBリクエストのUSBプロトコルを含むフレームに基づいて、デバイス210へのUSBバスにおける各パケットを転送するようUSBバスインタフェース226(不図示)に指示する。
 ホストコントローラインタフェース2825は、デバイス210からデータ・ステージにおいて受信したデータ・パケットをデバイスディスクリプタ2863として含むフレームを、通信制御部501に渡す。IPヘッダやTCPヘッダでIPカプセリングされたデバイスディスクリプタ2863を含むフレームは、通信端末220の通信制御部501から情報処理装置230の通信制御部401に送信される。
 情報処理装置の通信制御部401は、アンカプセリングしたデバイスディスクリプタ2863を含むフレームをアプリケーションインタフェース2832に渡すと、アプリケーションインタフェース2832はアプリケーション231のデバイス入出力要求に応答して、接続デバイス情報を通知する。
 以下、他のコントロール転送や、バルク転送、インタラプト転送、アイソロナス転送においても、同様のデータ伝送が行なわれる。なお、ホストコントローラインタフェース2825とUSBバスインタフェース226とが一体にされたソフトウェアであってもよい。
 図29は、本実施形態に係る情報処理システムにおける他のデータ伝送を示す図である。なお、図29は、図2Gおよび図28と同様に、USB接続されたUSBデバイスのディスクリプタ取得手順を示す図である。したがって、図29において、図2Gおよび図28と同様の構成要素には同じ参照番号を付して、説明は省略する。
 デバイス210に設定されているディスクリプタは、GET_DESCRIPTORなどのUSBリクエストにより取得される。USBリクエストのUSBプロトコルを含むコントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。コントロール転送であるUSBリクエストのUSBプロトコルを含むセット・ステージと、データ・ステージと、ステータス・ステージとは、それぞれ、情報処理装置230とデバイス210間でやり取りされる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。デバイス210から取得したディスクリプタはIPヘッダやTCPヘッダでIPカプセリングされたデータ・ステージに挿入されて、携帯端末220から情報処理装置230に送信される。
 ここで、情報処理装置230のアプリケーションインタフェース2932は、アプリケーション231のデバイス入出力要求に応じて、まず接続デバイスを確認するためGET DESCRIPTORのUSBリクエストのUSBプロトコルを含むセット・ステージを生成して、通信制御部401に渡す。
 IPヘッダやTCPヘッダでIPカプセリングされたGET DESCRIPTORのUSBリクエストを含むセット・ステージは、通信端末220の通信制御部501で受信されてIPアンカプセリングされる。GET DESCRIPTORのUSBリクエストは、ホストコントローラインタフェース2925に渡される。ホストコントローラインタフェース2925は、GET DESCRIPTORのUSBリクエストのUSBプロトコルを含むセット・ステージに基づいて、デバイス210へのUSBバスにおける各パケットを転送するようUSBバスインタフェース226(不図示)に指示する。
 ホストコントローラインタフェース2925は、デバイス210からデータ・ステージにおいて受信したデータ・パケットをデバイスディスクリプタ2963として含むデータ・ステージを、通信制御部501に渡す。IPヘッダやTCPヘッダでIPカプセリングされたデバイスディスクリプタ2963を含むデータ・ステージは、通信端末220の通信制御部501から情報処理装置230の通信制御部401に送信される。
 情報処理装置の通信制御部401は、アンカプセリングしたデバイスディスクリプタ2963を含むデータ・ステージをアプリケーションインタフェース2932に渡すと、アプリケーションインタフェース2932はアプリケーション231のデバイス入出力要求に応答して、接続デバイス情報を通知する。
 また、ホストコントローラインタフェース2925は、デバイス210からステータス・ステージで受信したデータ・パケットをステータスデータ2964として含むステータス・ステージを、通信制御部501に渡す。IPヘッダやTCPヘッダでIPカプセリングされたステータスデータ2964を含むステータス・ステージは、通信端末220の通信制御部501から情報処理装置230の通信制御部401に送信される。
 情報処理装置の通信制御部401は、アンカプセリングしたステータスデータ2964を含むステータス・ステージをアプリケーションインタフェース2932に渡すと、アプリケーションインタフェース2932はアプリケーション231のデバイス入出力要求に応答して、接続デバイス情報を通知する。
 なお、上記説明では、アプリケーションインタフェース2932においては、ハンドシェイク・パケットについて判定していないが、アプリケーションインタフェース2932が各ステージにおけるハンドシェイク・パケットを確認する構成であってもよい。
 以下、他のコントロール転送や、バルク転送、インタラプト転送、アイソロナス転送においても、同様のデータ伝送が行なわれる。なお、ホストコントローラインタフェース2925とUSBバスインタフェース226とが一体にされたソフトウェアであってもよい。
 本実施形態によれば、情報処理装置(仮想PC)と通信端末間の通信が互いのドライバを分割したフレーム単位の通信であってもステージ単位の通信であっても、USBデバイスを遠隔の通信端末に接続した時にも、情報処理装置に直接接続した場合と同じ操作ができる。
 [他の実施形態]
 なお、上記実施形態においては、USB、HDMI(登録商標)によるデバイスの接続例を示したが、SCSIなどの他の接続であっても同様の効果を奏する。さらに、デバイスを近距離無線、例えば、赤外線通信、WiFi、Bluetooth(登録商標)などで接続する場合にも適用でき、同様の効果を奏する。
 また、上記実施形態においては、主にPOSシステムのPOSアプリケーションについて説明したが、本発明はPOSシステムのPOSアプリケーションにおける処理に限定されない。例えば、医療分野における診察支援システムや教育分野における学習支援システム、あるいは、産業分野における機器操作支援システムにおいても、適用され同様の効果を奏する。
 また、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
 また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の範疇に含まれる。
 なお、この出願は、同日出願された日本国特許出願(特願2014-235108,特願2014-235109、特願2014-235110)と関連し、その開示の全てをここに取り込む。
 この出願は、2014年11月19日に出願された日本国特許出願 特願2014-235111号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (8)

  1.  アプリケーションと、該アプリケーションの実行に必要なデバイスとを対応付けて記憶するアプリケーション記憶手段と、
     前記デバイス用のデバイスドライバが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定手段と、
     使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動手段と、
     を備える情報処理装置。
  2.  前記アプリケーション記憶手段は、アプリケーションと、該アプリケーションの実行に必要な複数のデバイスの組み合わせとを対応付けて記憶し、
     前記アプリケーション起動手段は、使用可能と判定された複数のデバイスの組み合わせに対応するアプリケーションを起動する、請求項1に記載の情報処理装置。
  3.  情報処理装置の利用者を判定する利用者判定手段をさらに備え、
     前記アプリケーション起動手段は、前記利用者に対応するアプリケーションを起動する、請求項1または2に記載の情報処理装置。
  4.  前記デバイスに接続された前記通信端末を検知する通信端末検知手段をさらに備え、
     前記アプリケーション起動手段は、前記通信端末に対応するアプリケーションを起動する、請求項1乃至3のいずれか1項に記載の情報処理装置。
  5.  デバイス用のデバイスドライバが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定ステップと、
     アプリケーションと、該アプリケーションの実行に必要なデバイスとを対応付けて記憶するアプリケーション記憶手段を参照して、使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動ステップと、
     を含む情報処理装置の制御方法。
  6.  デバイス用のデバイスドライバが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定ステップと、
     アプリケーションと、該アプリケーションの実行に必要なデバイスとを対応付けて記憶するアプリケーション記憶手段を参照して、使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動ステップと、
     をコンピュータに実行させる情報処理装置の制御プログラム。
  7.  情報処理装置と、
     前記情報処理装置と通信接続される通信端末と、
     前記通信端末に接続されるデバイスと、
     を備え、
     前記情報処理装置は、前記デバイスを駆動するデバイスドライバのアプリケーションインタフェースを有し、前記通信端末は、前記デバイスドライバのデバイスコントロールインタフェースを有し、
     前記情報処理装置は、
      アプリケーションと、該アプリケーションの実行に必要なデバイスとを対応付けて記憶するアプリケーション記憶手段と、
      前記デバイスドライバのアプリケーションインタフェースが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定手段と、
      使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動手段と、
     を備える情報処理システム。
  8.  情報処理装置と、
     前記情報処理装置と通信接続される通信端末と、
     前記通信端末に接続されるデバイスと、
     を備える情報処理システムの情報処理方法であって、
     前記情報処理装置は、前記デバイスを駆動するデバイスドライバのアプリケーションインタフェースを有し、前記通信端末は、前記デバイスドライバのデバイスコントロールインタフェースを有し、
     前記情報処理装置は、さらに、アプリケーションと、該アプリケーションの実行に必要な前記デバイスとを対応付けて記憶するアプリケーション記憶手段を有し、
     前記情報処理装置は、
      デバイス用のデバイスドライバが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定ステップと、
      前記アプリケーション記憶手段を参照して、使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動ステップと、
     を含むミドルウェアを有する情報処理方法。
PCT/JP2015/082362 2014-11-19 2015-11-18 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム WO2016080429A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016560259A JPWO2016080429A1 (ja) 2014-11-19 2015-11-18 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
US15/528,011 US20180040207A1 (en) 2014-11-19 2015-11-18 Information processing device, control method and information processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014235111 2014-11-19
JP2014-235111 2014-11-19

Publications (1)

Publication Number Publication Date
WO2016080429A1 true WO2016080429A1 (ja) 2016-05-26

Family

ID=56013964

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/082362 WO2016080429A1 (ja) 2014-11-19 2015-11-18 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム

Country Status (3)

Country Link
US (1) US20180040207A1 (ja)
JP (1) JPWO2016080429A1 (ja)
WO (1) WO2016080429A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870806A (zh) * 2016-09-26 2018-04-03 法乐第(北京)网络科技有限公司 应用程序呼出方法及装置
NL2020277B1 (en) * 2018-01-15 2019-07-25 Numus Entpr B V Device with a network connection to a (cloud) server for coupling a cash drawer, a point of sale (POS) system and various peripherals, for integrating sales- and payment transactions for managing, monitoring, reporting and securing counter sales

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6944295B2 (ja) * 2017-07-18 2021-10-06 東芝テック株式会社 販売データ処理装置及びプログラム
JP6891705B2 (ja) * 2017-07-27 2021-06-18 セイコーエプソン株式会社 印刷装置、及び、印刷装置の制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192628A (ja) * 2002-11-26 2004-07-08 Ricoh Co Ltd 画像形成装置,プログラム起動方法及びプログラム起動プログラム
JP2010113519A (ja) * 2008-11-06 2010-05-20 Ntt Docomo Inc 携帯端末
WO2013146083A1 (ja) * 2012-03-24 2013-10-03 日本電気株式会社 情報処理システム、情報処理方法、携帯端末、情報処理装置およびその制御方法と制御プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178912A (ja) * 2004-12-24 2006-07-06 Fujitsu Ltd 情報処理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192628A (ja) * 2002-11-26 2004-07-08 Ricoh Co Ltd 画像形成装置,プログラム起動方法及びプログラム起動プログラム
JP2010113519A (ja) * 2008-11-06 2010-05-20 Ntt Docomo Inc 携帯端末
WO2013146083A1 (ja) * 2012-03-24 2013-10-03 日本電気株式会社 情報処理システム、情報処理方法、携帯端末、情報処理装置およびその制御方法と制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870806A (zh) * 2016-09-26 2018-04-03 法乐第(北京)网络科技有限公司 应用程序呼出方法及装置
NL2020277B1 (en) * 2018-01-15 2019-07-25 Numus Entpr B V Device with a network connection to a (cloud) server for coupling a cash drawer, a point of sale (POS) system and various peripherals, for integrating sales- and payment transactions for managing, monitoring, reporting and securing counter sales
WO2019139480A3 (en) * 2018-01-15 2019-08-15 Numus Enterprise B.V. Device with a network connection to a (cloud) server for coupling a cash drawer, a point of sale (pos) system and various peripherals, for integrating sales- and payment transactions for managing, monitoring, reporting and securing counter sales

Also Published As

Publication number Publication date
US20180040207A1 (en) 2018-02-08
JPWO2016080429A1 (ja) 2017-08-17

Similar Documents

Publication Publication Date Title
CN107209892B (zh) 向交易计算系统自动传输用户设备数据
WO2016080429A1 (ja) 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
CN108140185A (zh) 无线信号转发
US10817135B2 (en) Graphical user interface displaying collectible icon animations
JP2014510327A (ja) 電子取引記録の配信システム
KR101579118B1 (ko) 블루투스를 이용한 결제데이터송수신장치, 이동단말기의 결제수행방법 및 결제수행어플리케이션
US20150112823A1 (en) Information processing system, information processing apparatus, information processing method, information processing program, portable communication terminal, and control method and control program thereof
US20150254633A1 (en) Receipt production system, printer, and receipt production method
CN107679955A (zh) 订单处理方法及系统
US20170337532A1 (en) Payment processing method, and payment processing server and computer program performing the payment processing method
CN104036412A (zh) 导购系统、导购管理装置及方法
US11366621B2 (en) Printing apparatus to acquire print data and transmits a request to an external apparatus to close websocket communication when predetermined time period elapsed
US20190050893A1 (en) Linking Offline Location Signals to Online Conversions
WO2014008061A1 (en) Electronic transaction record distribution system
WO2008058012A2 (en) Point of sale device configuration systems and methods
KR20120077577A (ko) 원격 사용자 인터페이스를 이용한 결제장치 및 방법
KR102202679B1 (ko) 사용자 장치와 서비스 제공 장치, 그를 포함하는 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR20220113887A (ko) 앱 로그인 없이 포인트 적립이 가능한 가상 계좌를 사용한 포인트 적립 시스템, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR102580848B1 (ko) 사용자 장치, 서비스 제공 장치, pos 단말, 그를 포함하는 결제 시스템, 그의 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR101723980B1 (ko) 뷰티 관리 및 화장품 방문 판매 중계 시스템 및 그의 제어 방법
WO2014100031A1 (en) Digital personalization schema for offers
KR102572703B1 (ko) 사이버 머니를 이용한 결제 서비스 제공 장치 및 방법, 그리고 이를 포함하는 시스템 및 컴퓨터 프로그램이 기록된 기록매체
KR102331513B1 (ko) 시각 정보를 포함하는 상품 정보 제공 시스템 및 그 방법
KR102370377B1 (ko) 사용자 장치, 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
US20170140412A1 (en) Server, control method thereof, non-transitory computer readable storage medium having computer program recorded thereon

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016560259

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15528011

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15862089

Country of ref document: EP

Kind code of ref document: A1