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

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

Info

Publication number
JPWO2016080429A1
JPWO2016080429A1 JP2016560259A JP2016560259A JPWO2016080429A1 JP WO2016080429 A1 JPWO2016080429 A1 JP WO2016080429A1 JP 2016560259 A JP2016560259 A JP 2016560259A JP 2016560259 A JP2016560259 A JP 2016560259A JP WO2016080429 A1 JPWO2016080429 A1 JP WO2016080429A1
Authority
JP
Japan
Prior art keywords
application
information processing
processing apparatus
communication terminal
driver
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2016560259A
Other languages
English (en)
Inventor
小林 佳和
佳和 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2016080429A1 publication Critical patent/JPWO2016080429A1/ja
Pending legal-status Critical Current

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

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. 情報処理装置と、
    前記情報処理装置と通信接続される通信端末と、
    前記通信端末に接続されるデバイスと、
    を備える情報処理システムの情報処理方法であって、
    前記情報処理装置は、前記デバイスを駆動するデバイスドライバのアプリケーションインタフェースを有し、前記通信端末は、前記デバイスドライバのデバイスコントロールインタフェースを有し、
    前記情報処理装置は、さらに、アプリケーションと、該アプリケーションの実行に必要な前記デバイスとを対応付けて記憶するアプリケーション記憶手段を有し、
    前記情報処理装置は、
    デバイス用のデバイスドライバが起動されたか否かにより、前記デバイスが使用可能であるか否かを判定するデバイス判定ステップと、
    前記アプリケーション記憶手段を参照して、使用可能と判定された前記デバイスに対応付けられた前記アプリケーションを起動するアプリケーション起動ステップと、
    を含むミドルウェアを有する情報処理方法。
JP2016560259A 2014-11-19 2015-11-18 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム Pending JPWO2016080429A1 (ja)

Applications Claiming Priority (3)

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

Publications (1)

Publication Number Publication Date
JPWO2016080429A1 true JPWO2016080429A1 (ja) 2017-08-17

Family

ID=56013964

Family Applications (1)

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

Country Status (3)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870806A (zh) * 2016-09-26 2018-04-03 法乐第(北京)网络科技有限公司 应用程序呼出方法及装置
JP6944295B2 (ja) * 2017-07-18 2021-10-06 東芝テック株式会社 販売データ処理装置及びプログラム
JP6891705B2 (ja) * 2017-07-27 2021-06-18 セイコーエプソン株式会社 印刷装置、及び、印刷装置の制御方法
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

Citations (4)

* 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 画像形成装置,プログラム起動方法及びプログラム起動プログラム
JP2006178912A (ja) * 2004-12-24 2006-07-06 Fujitsu Ltd 情報処理方法及びプログラム
JP2010113519A (ja) * 2008-11-06 2010-05-20 Ntt Docomo Inc 携帯端末
WO2013146083A1 (ja) * 2012-03-24 2013-10-03 日本電気株式会社 情報処理システム、情報処理方法、携帯端末、情報処理装置およびその制御方法と制御プログラム

Patent Citations (4)

* 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 画像形成装置,プログラム起動方法及びプログラム起動プログラム
JP2006178912A (ja) * 2004-12-24 2006-07-06 Fujitsu Ltd 情報処理方法及びプログラム
JP2010113519A (ja) * 2008-11-06 2010-05-20 Ntt Docomo Inc 携帯端末
WO2013146083A1 (ja) * 2012-03-24 2013-10-03 日本電気株式会社 情報処理システム、情報処理方法、携帯端末、情報処理装置およびその制御方法と制御プログラム

Also Published As

Publication number Publication date
WO2016080429A1 (ja) 2016-05-26
US20180040207A1 (en) 2018-02-08

Similar Documents

Publication Publication Date Title
CN107209892B (zh) 向交易计算***自动传输用户设备数据
US20140379505A1 (en) Electronic Transaction Record Distribution System
US10817135B2 (en) Graphical user interface displaying collectible icon animations
CN108140185A (zh) 无线信号转发
WO2016080429A1 (ja) 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
US20150278803A1 (en) Near field communication field detection
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
US11397959B2 (en) Information processing device, information processing terminal, and information processing method
US20150254633A1 (en) Receipt production system, printer, and receipt production method
US20190050893A1 (en) Linking Offline Location Signals to Online Conversions
CN104036412A (zh) 导购***、导购管理装置及方法
KR102315675B1 (ko) 근접 기반 컴퓨팅 장치 간 협상 기법
US20170337532A1 (en) Payment processing method, and payment processing server and computer program performing the payment processing method
KR20130030863A (ko) 사용자 단말을 이용한 구매 확인 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
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
WO2014008061A1 (en) Electronic transaction record distribution system
CN104901993B (zh) 一种信息传输方法及其***、应用服务器
KR102197650B1 (ko) 타깃 마케팅을 제공하는 서비스 제공 장치, 그를 포함하는 타깃 마케팅 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR20220113887A (ko) 앱 로그인 없이 포인트 적립이 가능한 가상 계좌를 사용한 포인트 적립 시스템, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR101723980B1 (ko) 뷰티 관리 및 화장품 방문 판매 중계 시스템 및 그의 제어 방법
WO2017007149A1 (ko) 결제 자동화 장치 및 그 동작 방법
KR102163747B1 (ko) 쿠폰 전송을 위한 단말과 서비스 제공 장치, 그를 포함하는 쿠폰 전송 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
US20140172546A1 (en) Digital personalization schema for offers
KR20170019761A (ko) 사용자 장치, 서비스 제공 장치, pos 단말, 그를 포함하는 결제 시스템, 그의 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180821