JP5614475B2 - POS system - Google Patents
POS system Download PDFInfo
- Publication number
- JP5614475B2 JP5614475B2 JP2013127242A JP2013127242A JP5614475B2 JP 5614475 B2 JP5614475 B2 JP 5614475B2 JP 2013127242 A JP2013127242 A JP 2013127242A JP 2013127242 A JP2013127242 A JP 2013127242A JP 5614475 B2 JP5614475 B2 JP 5614475B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- request
- pos
- information
- printing
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Description
本発明は、LAN、インターネット等のネットワークを介してデバイスの制御を行うネットワークシステムおよびプログラムに関するものである。 The present invention relates to a network system and a program for controlling devices via a network such as a LAN or the Internet.
従来、一般的にコンピュータからデバイスを使用する場合、デバイス製造メーカより提供される特定のOS専用のデバイスドライバをコンピュータにインストールしてデバイス(プリンタ、スキャナ等の周辺デバイス)を動作させる。また、多数のコンピュータによりデバイスを共有する場合においては、デバイスに対応するデバイスドライバを、ネットワーク上に設けられたサーバ(集中ドライバストレージ)により一括管理し、各コンピュータ(クライアント)に配布する方法が知られている(例えば、特許文献1参照)。この場合、サーバでは、デバイスドライバをWindows(登録商標)2000やWindowsXP(登録商標)等のOS毎に管理すると共に、当該デバイスドライバのバージョン(版数)の管理を行い、各クライアントのOSに応じてデバイスドライバを配布することで、各クライアントからデバイス(共有デバイス)を使用可能にしている。 Conventionally, when a device is generally used from a computer, a device driver for a specific OS provided by a device manufacturer is installed in the computer to operate the device (peripheral devices such as a printer and a scanner). In addition, when a device is shared by many computers, a method is known in which device drivers corresponding to the device are collectively managed by a server (centralized driver storage) provided on the network and distributed to each computer (client). (For example, refer to Patent Document 1). In this case, the server manages the device driver for each OS such as Windows (registered trademark) 2000 and Windows XP (registered trademark), and also manages the version (version number) of the device driver, depending on the OS of each client. By distributing device drivers, devices (shared devices) can be used from each client.
しかし、上記では、デバイスを使用するためには、各クライアントにデバイスドライバをインストールする必要があり、このデバイスドライバはOSに依存して動作するため、クライアントの処理負荷が大きくなる。また、デバイスメーカ側も、各クライアントのOSの種類ごとに、対応したデバイスドライバを開発する必要があり、開発コストが大きくなるという問題がある。 However, in the above, in order to use a device, it is necessary to install a device driver in each client. Since this device driver operates depending on the OS, the processing load on the client increases. Also, the device manufacturer has to develop a corresponding device driver for each client OS type, which increases the development cost.
本発明は、上記の問題点に鑑みたものであり、クライアントにデバイスドライバをインストールすることなくデバイスを制御することができるネットワークシステムおよびプログラムを提供することを目的とする。 SUMMARY An advantage of some aspects of the invention is that it provides a network system and a program capable of controlling a device without installing a device driver in a client.
本発明のネットワークシステムは、アプリケーションを実行する1以上のアプリケーション実行サーバと、当該アプリケーション実行サーバにアプリケーションの実行を要求する1以上のクライアント端末と、当該クライアント端末の操作に伴って動作する1以上のデバイスと、当該デバイスを制御する1以上のデバイスサーバと、を有し、少なくともアプリケーション実行サーバとクライアント端末、デバイスサーバとデバイス、アプリケーション実行サーバとデバイスサーバ、クライアント端末とデバイス、がそれぞれネットワーク接続されたネットワークシステムであって、アプリケーション実行サーバは、クライアント端末から、デバイス動作を伴うアプリケーション実行要求を受信する実行要求受信手段と、アプリケーション実行要求の受信に伴ってデバイスを制御するためのデバイス制御情報を生成し、デバイスサーバに送信するデバイス制御情報送信手段と、デバイス制御情報の送信に対するデバイスサーバからの応答受信に伴って、アプリケーションの実行結果を含む第1応答データを生成し、クライアント端末に送信する第1応答データ送信手段と、を備え、クライアント端末は、アプリケーション実行サーバからの第1応答データの受信に伴って、デバイスに対しデバイス動作要求を送信する動作要求手段と、デバイス動作要求に対するデバイスの動作結果を含む第2応答データを受信する動作結果受信手段と、を備え、デバイスサーバは、アプリケーション実行サーバからデバイス制御情報を受信し、制御対象となるデバイスに応じてコマンド変換したコマンド変換情報を、デバイス別のキューに保存するコマンド変換情報保存手段と、アプリケーション実行サーバに対し、コマンド変換情報の保存に伴う応答を送信する保存応答手段と、を備え、デバイスは、クライアント端末からのデバイス動作要求の受信に伴って、デバイスサーバに対しデバイスコマンド要求を送信するコマンド要求送信手段と、デバイスコマンド要求に対してデバイスサーバがデバイス別のキューから取り出したコマンド変換情報を受信し、当該コマンド変換情報に従って動作する動作手段と、動作手段の動作結果を、第2応答データとしてクライアント端末に送信する動作結果送信手段と、を備えたことを特徴とする。 The network system of the present invention includes at least one application execution server that executes an application, at least one client terminal that requests the application execution server to execute the application, and at least one that operates in accordance with the operation of the client terminal. A device and one or more device servers that control the device, and at least the application execution server and the client terminal, the device server and the device, the application execution server and the device server, and the client terminal and the device are connected to the network. In the network system, the application execution server includes an execution request receiving unit that receives an application execution request accompanied by a device operation from a client terminal, and an application execution Generate device control information for controlling the device in response to the reception of the request, and transmit the device control information to the device server, and execute the application in response to receiving the response from the device server to the transmission of the device control information First response data transmitting means for generating first response data including a result and transmitting the first response data to the client terminal. The client terminal receives the first response data from the application execution server. An operation request means for transmitting an operation request; and an operation result receiving means for receiving second response data including a device operation result in response to the device operation request. The device server receives device control information from the application execution server. Command converted according to the device to be controlled Command conversion information storage means for storing the command conversion information in a queue for each device, and storage response means for transmitting a response accompanying the storage of the command conversion information to the application execution server. In response to the reception of the device operation request, the command request transmission means for transmitting the device command request to the device server, and the command conversion information received from the device-specific queue by the device server in response to the device command request An operation means that operates according to the command conversion information; and an operation result transmission means that transmits an operation result of the operation means to the client terminal as second response data.
この構成によれば、クライアント端末が、デバイス動作を伴うアプリケーション実行要求を送信すると、アプリケーション実行サーバは、当該アプリケーション実行要求に基づいて、対象となるデバイスを制御するためのデバイス制御情報を生成し、デバイスサーバに送信する。デバイスサーバは、デバイス制御情報を対象となるデバイスに応じてコマンド変換し、デバイス別のキューに保存する。そして、デバイスサーバは、アプリケーション実行サーバに対してデバイス制御情報に係る処理が完了した旨の応答を送信する。アプリケーション実行サーバは、当該応答に伴って、アプリケーションの実行結果を第1応答データとして生成し、当該第1応答データをクライアント端末に送信する。クライアント端末は、受信した第1応答データに基づいて、対象となるデバイスに対してデバイス動作要求を送信する。デバイス動作要求を受信したデバイスは、デバイスサーバに対してデバイスコマンドを要求し、デバイスサーバから当該デバイスに対応するデバイス別キューに保存されているコマンド変換情報を受信する。そして、デバイスは、このコマンド変換情報に基づいて自身を動作させ、その動作結果をクライアント端末に送信し、クライアント端末が当該動作結果を受信することで、一連のデバイス動作に関する処理が完了する。これにより、デバイスサーバが各デバイスの制御情報を管理すると共に、各デバイスのデバイスドライバの役目を果たすため、クライアント端末にデバイスドライバをインストールすることなく、クライアント端末からの動作要求に基づき、デバイスを使用することができる。また、クライアント端末にデバイスドライバが不要になるため、デバイスの使用に係るクライアント端末の処理の負荷を軽減することができる。さらに、デバイスメーカにとっては、各クライアント端末のOSの種類毎にデバイスドライバを作成する必要がなくなり、これに係る開発コストを削減できるといった効果がある。 According to this configuration, when the client terminal transmits an application execution request involving device operation, the application execution server generates device control information for controlling a target device based on the application execution request, Send to device server. The device server converts the device control information into a command according to the target device and stores it in a queue for each device. Then, the device server transmits a response to the effect that the processing related to the device control information has been completed to the application execution server. The application execution server generates an application execution result as first response data in response to the response, and transmits the first response data to the client terminal. The client terminal transmits a device operation request to the target device based on the received first response data. The device that has received the device operation request requests a device command from the device server, and receives command conversion information stored in the device-specific queue corresponding to the device from the device server. Then, the device operates itself based on the command conversion information, transmits the operation result to the client terminal, and the client terminal receives the operation result, thereby completing a series of processing relating to the device operation. As a result, the device server manages the control information of each device and functions as a device driver for each device. Therefore, the device is used based on the operation request from the client terminal without installing the device driver in the client terminal. can do. In addition, since a device driver is not required for the client terminal, it is possible to reduce the processing load on the client terminal related to the use of the device. Further, for the device manufacturer, there is no need to create a device driver for each type of OS of each client terminal, and there is an effect that the development cost related to this can be reduced.
この場合、アプリケーション実行サーバおよびデバイスは、HTTPサーバとHTTPクライアントと、を備え、デバイスサーバは、HTTPサーバを備え、クライアント端末は、プラグイン機能を有しない単機能ブラウザを備え、アプリケーション実行サーバ、クライアント端末、デバイスサーバおよびデバイスは、ハイパーテキスト転送プロトコルに基づいて通信を行うことが好ましい。 In this case, the application execution server and the device include an HTTP server and an HTTP client, the device server includes an HTTP server, and the client terminal includes a single function browser having no plug-in function. The terminal, device server, and device preferably communicate based on the hypertext transfer protocol.
この構成によれば、クライアント端末は、単機能ブラウザを使用して、アプリケーション実行サーバおよびデバイスとハイパーテキスト転送プロトコル(HTTP)に基づいて通信を行うことで、クライアント端末の環境(クライアント端末のOSの種類等)に依存することなく、デバイス(例えば、プリンタ、スキャナ等の周辺機器)にアクセスすることができる。また、クライアント端末はOSの種類やブラウザに依存したプラグインモジュールが不要であるため、例えば、プラグインモジュールが提供されておらず、デバイスが使用できないといったことがなくなる。なお、ここで言う単機能ブラウザとは、プラグインモジュールをインストールしていない標準のブラウザである。 According to this configuration, the client terminal communicates with the application execution server and the device based on the hypertext transfer protocol (HTTP) using a single function browser, so that the environment of the client terminal (the OS of the client terminal OS) It is possible to access a device (for example, a peripheral device such as a printer or a scanner) without depending on the type. In addition, since the client terminal does not require a plug-in module depending on the type of OS or browser, for example, the plug-in module is not provided and the device cannot be used. The single-function browser here is a standard browser in which no plug-in module is installed.
これらの場合、第1応答データには、少なくともデバイスを特定するデバイス特定情報およびデバイスの動作を指定する動作情報を含むタグが挿入されており、動作要求手段は、タグの情報に基づいて、デバイス動作要求を送信することが好ましい。 In these cases, the first response data includes a tag including at least device specifying information for specifying the device and operation information for specifying the operation of the device, and the operation requesting means Preferably, an operation request is transmitted.
また、これらの場合、動作要求手段は、受信した第1応答データに、少なくともデバイスを特定するデバイス特定情報およびデバイスの動作を指定する動作情報を含むタグを挿入し、当該タグの情報に基づいて、デバイス動作要求を送信することが好ましい。 In these cases, the operation requesting unit inserts a tag including at least device specifying information for specifying the device and operation information for specifying the operation of the device into the received first response data, and based on the information of the tag Preferably, the device operation request is transmitted.
これらの構成によれば、アプリケーション実行サーバによりデバイス特定情報および動作情報を含むタグが挿入された第1応答データ、またはクライアント端末により動的にデバイス特定情報および動作情報を含むタグを挿入した第一応答データに基づいて、デバイス動作要求を送信する。これにより、アプリケーション実行サーバとデバイスとのドメインが異なる場合においても、アプリケーション実行サーバとデバイスとがシームレスに連携することができる。また、クライアント端末を使用するユーザは、デバイスに関する情報を意識することなくデバイスを使用することができる。 According to these configurations, the first response data in which the tag including the device identification information and the operation information is inserted by the application execution server, or the first tag in which the tag including the device identification information and the operation information is dynamically inserted by the client terminal A device operation request is transmitted based on the response data. Thus, even when the application execution server and the device have different domains, the application execution server and the device can seamlessly cooperate with each other. In addition, a user who uses the client terminal can use the device without being aware of information about the device.
これらの場合、デバイスは、デバイス本体とデバイスアダプタと、で構成され、デバイス本体は、デバイスアダプタを介してクライアント端末およびデバイスサーバと接続され、デバイスアダプタは、クライアント端末からのデバイス動作要求に基づき、デバイスサーバに対しデバイスコマンド要求を送信することが好ましい。 In these cases, the device is composed of a device body and a device adapter, the device body is connected to the client terminal and the device server via the device adapter, and the device adapter is based on a device operation request from the client terminal, It is preferable to send a device command request to the device server.
この構成によれば、デバイスアダプタを介してデバイス本体と、クライアント端末およびデバイスサーバと、をネットワーク接続できる。そして、デバイスアダプタによりクライアント端末からのデバイス動作要求等を受信すると共に、この要求に伴いデバイスサーバに対してデバイスコマンド要求を送信してデバイス本体の動作制御ができる。これにより、デバイス本体が直接ネットワークに接続できない場合でも、クライアント端末からネットワークを介してデバイスを使用することができる。 According to this configuration, the device main body, the client terminal, and the device server can be connected to the network via the device adapter. The device adapter receives a device operation request or the like from the client terminal, and transmits a device command request to the device server in accordance with this request to control the operation of the device body. Thereby, even when the device body cannot be directly connected to the network, the device can be used from the client terminal via the network.
これらの場合、アプリケーション実行サーバは、デバイスサーバに対し、デバイスを専有して使用するためのデバイス専有要求を送信するデバイス専有要求手段を、さらに備え、デバイスサーバは、デバイス専有要求に基づき、当該デバイスの使用を単一のアプリケーション実行サーバに限定するデバイス排他制御手段と、専有されたデバイスに対して、他のアプリケーション実行サーバから使用要求が有った場合、他のアプリケーション実行サーバに対して、当該デバイスの使用を禁止する旨を通知する通知手段と、を備えたことが好ましい。 In these cases, the application execution server further includes device exclusive request means for transmitting a device exclusive request for exclusive use of the device to the device server, and the device server is configured to transmit the device exclusive request based on the device exclusive request. Device exclusive control means that restricts the use to a single application execution server, and when there is a use request from another application execution server to a dedicated device, And a notification means for notifying that the use of the device is prohibited.
この構成によれば、アプリケーション実行サーバからのデバイス専有要求により、デバイスサーバは、対象となるデバイスの排他制御を行う。これにより、単一のアプリケーション実行サーバで、該当するデバイスを専有することができ、例えば、アプリケーション実行サーバで、デバイス動作を伴う優先度の高い処理を行う場合等、該当するデバイスを専有することで処理遅延を防止できる。なお、デバイス専有要求がされていないデバイスに関しては、複数のアプリケーション実行サーバで共有して使用可能である。 According to this configuration, the device server performs exclusive control of the target device in response to a device exclusive request from the application execution server. This allows a single application execution server to occupy the corresponding device. For example, when the application execution server performs high-priority processing involving device operations, Processing delay can be prevented. It should be noted that a device that is not requested for device exclusive use can be shared by a plurality of application execution servers.
これらの場合、アプリケーション実行サーバとクライアント端末、デバイスサーバとデバイス、がそれぞれインターネット接続されていることが好ましい。 In these cases, it is preferable that the application execution server and the client terminal, and the device server and the device are respectively connected to the Internet.
この構成によれば、アプリケーション実行サーバおよびデバイスサーバをインターネット上に配置することで、クライアント端末およびデバイスの設置場所に拘らず、上記両サーバにアクセスし、アプリケーションおよびデバイスを使用することができる。 According to this configuration, by arranging the application execution server and the device server on the Internet, it is possible to access both the servers and use the application and the device regardless of the installation location of the client terminal and the device.
これらの場合、アプリケーション実行サーバは、POSサーバとして機能し、クライアント端末は、POS端末として機能することが好ましい。 In these cases, it is preferable that the application execution server functions as a POS server and the client terminal functions as a POS terminal.
この構成によれば、各POS端末にアプリケーションやデバイスドライバをインストールする必要がないため、POS端末の低廉化を図ることができると共に、保守・管理に要する時間やコストを軽減できる。 According to this configuration, since it is not necessary to install an application or a device driver in each POS terminal, it is possible to reduce the cost of the POS terminal and reduce the time and cost required for maintenance and management.
これらの場合、アプリケーション実行サーバに接続されると共に、当該アプリケーション実行サーバと同様の処理を行うアプリケーション代理実行サーバと、デバイスサーバに接続されると共に、当該デバイスサーバと同様の処理を行う代理デバイスサーバと、をさらに備え、アプリケーション代理実行サーバと代理デバイスサーバと、がネットワーク接続され、アプリケーション代理実行サーバは、アプリケーション実行サーバが異常状態となった場合、アプリケーション実行サーバの処理を代理実行し、代理デバイスサーバは、デバイスサーバが異常状態となった場合、デバイスサーバの処理を代理実行することが好ましい。 In these cases, an application proxy execution server that is connected to the application execution server and performs processing similar to the application execution server, and a proxy device server that is connected to the device server and performs processing similar to the device server The application proxy execution server and the proxy device server are connected to the network, and the application proxy execution server performs proxy processing of the application execution server when the application execution server is in an abnormal state. In the case where the device server is in an abnormal state, it is preferable to execute the processing of the device server as a proxy.
この構成によれば、アプリケーション実行サーバが異常状態の場合、アプリケーション代理実行サーバにより、クライアント端末からの処理依頼を代理実行することができる。また、デバイスサーバが異常状態の場合には、代理デバイスサーバにより、デバイスからのデバイスコマンド要求依頼を代理実行することができる。これにより、アプリケーション代理サーバをアプリケーション実行サーバのバックアップサーバとして使用することができると共に、クライアント端末はアプリケーション実行サーバの不具合を意識することなく、アプリケーションの実行結果を取得することができる。また、代理デバイスサーバをデバイスサーバのバックアップとして使用できるため、デバイスサーバの状態を意識することなく、確実にデバイスを動作させることができる。なお、異常状態とは、正常状態でない状態であり、例えば、アプリケーション実行サーバのアプリケーションからの応答がない場合や、アプリケーション実行サーバまたはデバイスサーバが故障した場合をいう。 According to this configuration, when the application execution server is in an abnormal state, the application proxy execution server can execute a processing request from the client terminal as a proxy. When the device server is in an abnormal state, the proxy device server can execute a device command request request from the device by proxy. As a result, the application proxy server can be used as a backup server for the application execution server, and the client terminal can acquire the execution result of the application without being aware of the malfunction of the application execution server. In addition, since the proxy device server can be used as a backup of the device server, the device can be reliably operated without being aware of the state of the device server. The abnormal state is a state that is not a normal state, for example, a case where there is no response from the application of the application execution server, or a case where the application execution server or the device server fails.
この場合、アプリケーション実行サーバとアプリケーション代理実行サーバとの間、およびデバイスサーバと代理デバイスサーバとの間で、アプリケーション実行要求に関する情報の同期を取ることが好ましい。 In this case, it is preferable to synchronize information regarding application execution requests between the application execution server and the application proxy execution server and between the device server and the proxy device server.
この構成によれば、アプリケーション実行サーバとアプリケーション代理実行サーバの同期を取ることができ、例えば、アプリケーション実行サーバが異常状態になった場合でも、クライアント端末は、アプリケーション実行サーバに実行要求した場合の実行結果と同一の実行結果をアプリケーション代理実行サーバから取得することができる。また、デバイスサーバと代理デバイスサーバの同期を取ることで、例えば、デバイスサーバが異常状態になった場合でも、デバイスは、デバイスサーバに要求した場合の応答結果(コマンド変換情報や印刷データ)と同一の応答結果を代理デバイスサーバから取得することができる。 According to this configuration, the application execution server and the application proxy execution server can be synchronized. For example, even when the application execution server is in an abnormal state, the client terminal executes when the execution request is made to the application execution server. The same execution result as the result can be acquired from the application proxy execution server. In addition, by synchronizing the device server and the proxy device server, for example, even when the device server is in an abnormal state, the device is the same as the response result (command conversion information and print data) when requested to the device server. Can be obtained from the proxy device server.
これらの場合、アプリケーション実行サーバとアプリケーション代理実行サーバ、デバイスサーバと代理デバイスサーバ、がインターネット接続され、アプリケーション実行サーバ、デバイスサーバ、クライアント端末およびデバイスは、LAN接続されていることが好ましい。 In these cases, it is preferable that the application execution server and the application proxy execution server, the device server and the proxy device server are connected to the Internet, and the application execution server, the device server, the client terminal, and the device are LAN connected.
この構成によれば、アプリケーション実行サーバ、デバイスサーバ、クライアント端末およびデバイスがLAN接続されるため、アプリケーション実行サーバおよびデバイスサーバをインターネット上に設置する場合と比べ、アプリケーション実行サーバとクライアント端末との間、およびデバイスサーバとデバイスとの間の応答速度を速くすることができる。 According to this configuration, since the application execution server, the device server, the client terminal, and the device are LAN-connected, compared to the case where the application execution server and the device server are installed on the Internet, between the application execution server and the client terminal, In addition, the response speed between the device server and the device can be increased.
これらの場合、デバイスは、当該デバイスの設定サービスを行うためのデバイス設定手段を備え、クライアント端末は、デバイス設定手段による設定サービスを使用し、デバイスの設定を行うことが好ましい。 In these cases, it is preferable that the device includes device setting means for performing a setting service for the device, and the client terminal uses the setting service provided by the device setting means to perform device setting.
この構成によれば、クライアント端末から設定サービスを使用してデバイスの設定を行うことができるため、デバイスに入力装置を設ける必要がなく、簡単に且つ低コストでデバイスの設定を行うことができる。なお、ここでいう設定サービスとは、WebページによるUIやWebサービスAPI等によりデバイスの初期設定(IPアドレス、通信対象となるデバイスサーバ名等の設定)を行うものである。 According to this configuration, since it is possible to set the device using the setting service from the client terminal, it is not necessary to provide an input device in the device, and the device can be set easily and at low cost. Note that the setting service here refers to initial setting of a device (setting of an IP address, a device server name to be communicated, and the like) using a Web page UI, Web service API, or the like.
これらの場合、デバイスサーバは、制御対象となるデバイスの環境設定サービスを行うためのデバイス環境設定手段を備え、クライアント端末は、デバイス環境設定手段による環境設定サービスを使用し、デバイスの環境設定を行うことが好ましい。 In these cases, the device server includes device environment setting means for performing an environment setting service for the device to be controlled, and the client terminal uses the environment setting service provided by the device environment setting means to set the environment of the device. It is preferable.
この構成によれば、デバイスサーバが提供するデバイスの環境設定サービスを使用することで、クライアント端末から制御対象となるデバイスの環境設定(デバイスの登録・削除、デバイス名・IDの設定、デバイスのプロパティ設定等)を行うことができるため、デバイス毎に環境設定用の入力装置を設ける必要がなく、簡単に且つ低コストでデバイスの環境設定を行うことができる。なお、ここでいう環境設定サービスとは、WebページによるUIやWebサービスAPI等によりデバイスの環境設定を行うものである。 According to this configuration, by using the device environment setting service provided by the device server, the environment setting of the device to be controlled from the client terminal (device registration / deletion, device name / ID setting, device property Therefore, it is not necessary to provide an input device for setting the environment for each device, and the device environment can be set easily and at low cost. Note that the environment setting service here is for setting the environment of a device by a UI using a Web page, a Web service API, or the like.
これらの場合、アプリケーション実行サーバとデバイスサーバと、が単一のサーバとして構成されていることが好ましい。 In these cases, it is preferable that the application execution server and the device server are configured as a single server.
この構成によれば、アプリケーション実行サーバとデバイスサーバとを1台のサーバで構成することで、アプリケーション実行サーバとデバイスサーバとの間のデータ通信が不要となり、システムの処理速度が向上する。また、低コストでシステムを構築することができると共に、システム管理が容易になる。 According to this configuration, by configuring the application execution server and the device server with a single server, data communication between the application execution server and the device server becomes unnecessary, and the processing speed of the system is improved. In addition, a system can be constructed at a low cost, and system management becomes easy.
本発明のプログラムは、コンピュータを、上記に記載のネットワークシステムにおけるアプリケーション実行サーバまたはデバイスサーバの各手段として機能させるためのものであることを特徴とする。 The program of the present invention is a program for causing a computer to function as each means of an application execution server or a device server in the network system described above.
このプログラムを用いることにより、クライアント端末にデバイスドライバをインストールすることなく、クライアント端末からの動作要求に基づきデバイスを動作させることができる。 By using this program, the device can be operated based on an operation request from the client terminal without installing a device driver in the client terminal.
以下、添付の図面を参照して、本実施形態に係るネットワークシステムについて説明する。本実施形態に係るネットワークシステムは、クライアント端末にデバイスドライバをインストールすることなく、クライアント端末からのデバイス動作要求に基づき、対象となるデバイスを使用することができるシステムである。以下、本発明のネットワークシステムを、スーパーやコンビニエンス・ストア等の店舗にて使用されるPOSシステムに適用した場合を例に挙げて説明する。なお、本発明のデバイスとは、キーボードデバイスやポインタデバイス以外の非標準デバイスを対象とする。 Hereinafter, a network system according to the present embodiment will be described with reference to the accompanying drawings. The network system according to the present embodiment is a system that can use a target device based on a device operation request from a client terminal without installing a device driver in the client terminal. Hereinafter, a case where the network system of the present invention is applied to a POS system used in a store such as a supermarket or a convenience store will be described as an example. The device of the present invention is intended for non-standard devices other than keyboard devices and pointer devices.
図1に示すように、本発明の一実施形態に係るPOSシステム1(ネットワークシステム)は、オペレータによって商品情報が入力され、清算金額を算出する複数のPOS端末2(図1では2台)と、POS端末2とインターネット6で接続される共に、当該POS端末2を管理するPOSサーバ3(アプリケーション実行サーバ)と、POS端末2とインターネット6で接続され、POS端末2の構成要素である各種デバイス5を管理するデバイスサーバ4と、から構成されている。POSサーバ3およびデバイスサーバ4をインターネット6上に設置することで、POS端末2の設置場所に拘らずアクセスすることが可能となり、多数のユーザに同一品質のPOSサービスおよびデバイスサービスを提供することができる。
As shown in FIG. 1, a POS system 1 (network system) according to an embodiment of the present invention includes a plurality of POS terminals 2 (two in FIG. 1) that receive merchandise information and calculates a settlement amount. A POS server 3 (application execution server) that is connected to the
POSサーバ3は、いわゆるWebアプリケーションサーバとして構築され、図2に示すように、CPU11(Central Processing Unit)、ROM12(Read Only Memory)、RAM13(Random Access Memory)、HDD14(Hard Disk Drive)、入力デバイス15、ディスプレイ16、入出力インターフェース(Input/Output)17、通信インターフェース18を備え、ROM12内に記憶された制御プログラムに従って、RAM13内のデータの処理を行う。HDD14には、HTTPサーバ21、HTTPクライアント22、POSアプリケーション23(Webアプリケーション)、商品マスタ24(データベース)が記憶されている。
The POS server 3 is constructed as a so-called Web application server. As shown in FIG. 2, the CPU 11 (Central Processing Unit), ROM 12 (Read Only Memory), RAM 13 (Random Access Memory), HDD 14 (Hard Disk Drive),
POSサーバ3は、HTTPサーバ21を介して、ハイパーテキスト転送プロトコル(HTTP)に基づいてPOS端末2(ホスト装置51のブラウザ71)と通信を行う。つまり、POSサーバ3のCPU11は、POS端末2(ホスト装置51)からのデバイス動作を含むアプリケーション実行要求を、通信インターフェース18を介してHTTPリクエストとして受信し(実行要求受信手段)、当該アプリケーション実行要求に対する実行結果をHTML形式やXML形式のデータ(ページ)としてPOS端末2に送信(応答)する(第1応答データ送信手段)。この場合、CPU11は、POS端末2からデバイス動作を含むアプリケーション実行要求を受信すると、その応答データとして、動作対象となるデバイス5(例えば、印刷装置54、スキャナ等の周辺機器)を特定するデバイス特定情報(当該デバイス5のIPアドレス)、デバイス5の動作を指定する動作情報(例えば、デバイス操作のためのAPI等の情報)等をタグとして挿入したデータ(ページ)、あるいは、後述するデバイスサーバ4での処理結果等をHTML形式、若しくはXML形式のデータ(ページ)としてPOS端末2に送信する。
The POS server 3 communicates with the POS terminal 2 (the
一方、デバイスサーバ4(HTTPサーバ41)との通信は、POSサーバ3のHTTPクライアント22を介して、SOAP(Simple Object Access Protocol)に基づいて行う(転送プロトコルはHTTPを使用)。POSサーバ3のCPU11は、上記のデバイス動作を含むアプリケーション実行要求に基づいてデバイス制御情報(対象となるデバイス5の情報)を生成し、当該デバイス制御情報と処理対象となるデータ(例えば、印刷データ等)と、をHTTPリクエストとしてデバイスサーバ4に送信する(デバイス制御情報送信手段)。そして、デバイスサーバ4から当該リクエストに対する処理結果を受信する。なお、デバイス制御情報は、XML形式(若しくは、HTML形式)のデータとして生成される。
On the other hand, communication with the device server 4 (HTTP server 41) is performed based on SOAP (Simple Object Access Protocol) via the
POSアプリケーション23は、POS端末2からの要求に基づいて決済処理を行うためのものである。例えば、POS端末2から商品の入力情報が送信されると、CPU11は、POSアプリケーション23を実行し、当該入力情報に基づいて、商品マスタ24から商品コード、商品名、金額に関する情報を抽出し、レシートの印刷およびPOS端末2のカスタマディスプレイ52の表示に用いる商品データを生成する。また、CPU11は、POS端末2からの入力情報や生成した上記商品データからレシートに印刷するための決済情報印刷データを生成する。これらの生成したデータは、POS端末2からのアプリケーション実行要求に伴い、上記のデバイス制御情報と共にデバイスサーバ4に送信される。なお、ここで生成される各データは、HTML形式、若しくはXML形式のデータである。
The
また、POSサーバ3のCPU11は、POS端末2を使用するユーザ(従業員)のアカウント管理を行い、ユーザの識別を行う。CPU11は、POS端末2から送信されるユーザIDおよびパスワードを受信し、POSサーバ3に登録されているものと一致するか否かを認証する。認証が成功した場合は、POSサーバ3へのアクセスを許可し、失敗した場合は、再度ユーザIDおよびパスワードを入力させる、あるいはアクセス拒否通知を送信するなどの処理を実行する。
Further, the
デバイスサーバ4は、Webアプリケーションサーバとして構築され、図2に示すように、CPU31、ROM32、RAM33、HDD34、入力デバイス35、ディスプレイ36、入出力インターフェース37、通信インターフェース38を備え、ROM32内に記憶された制御プログラムに従って、RAM33内のデータの処理を行う。HDD34には、HTTPサーバ41、デバイス管理アプリケーション42(Webアプリケーション)、デバイス管理データベース43が記憶されている。
The
デバイスサーバ4は、HTTPサーバ41を介して、SOAPに基づいてPOSサーバ3と通信を行う(転送プロトコルはHTTPを使用)。つまり、デバイスサーバ4のCPU31は、POSサーバ3(HTTPクライアント22)からのデバイス制御情報および処理対象となるデータ(印刷データ等)を、通信インターフェース38を介してHTTPリクエストとして受信する。そして、CPU31は、デバイス管理アプリケーション42により、デバイス管理データベース43を参照して当該デバイス制御情報を制御対象となるデバイス5に対応するようにコマンド変換し、その変換したコマンド変換情報を、デバイス別のキューに保存する(コマンド変換情報保存手段)。その後、CPU31は、POSサーバ3に対し、コマンド変換情報の保存処理に伴う結果(保存の成功/失敗)をXML形式のデータとして送信(応答)する(保存応答手段)。なお、デバイス管理データベース43には、各デバイス5に対応するデバイスドライバの情報が記録されており、CPU31は、この情報に基づいて、デバイス制御情報を制御対象となるデバイス5に即したコマンドに変換する。また、POSサーバ3からの各処理要求に対してジョブIDを付与し、例えば、印刷のキャンセル処理等が発生した場合に、当該ジョブIDを指定して処理を行う。
The
また、デバイスサーバ4は、HTTPサーバ41を介して、HTTPに基づいてデバイス5(あるいは、デバイスアダプタ53)とも通信を行う。デバイスサーバ4のCPU31は、デバイス5(HTTPクライアント86、96)からのデバイスコマンド要求をHTTPリクエストとして受信する。そして、当該デバイスコマンド要求に基づいて、対象となるデバイス5用のキューに保存したデバイス制御情報(コマンド等)を順番に取り出し、応答データとしてデバイス5に送信する。また、デバイス5側でデータ出力やデータの書き込みを行うための対象となるデータが有る場合には、当該データを対象となるデバイス5で処理可能な形式のデータに変換し、上記のデバイス制御情報と合わせて送信する。
The
また、デバイスサーバ4のCPU31は、デバイス5のアカウント管理を行い、デバイス5の識別を行う。CPU31は、デバイス5から送信されるデバイスIDおよびパスワードを受信し、デバイスサーバ4に登録されているものと一致するか否かを認証する。認証が成功した場合は、デバイスサーバ4へのアクセスを許可し、失敗した場合は、デバイスサーバ4のアクセスを拒否すると共に、デバイス5に対してその旨を通知する。これにより、確実にデバイス5を識別することができ、誤って別のデバイス5にデータを送信する等のトラブルを防止することができる。
Further, the
また、デバイスサーバ4は、自身が管理する各デバイス5の環境設定を行うための環境設定サービスを備え、POS端末2(ホスト装置51)等にデバイス環境設定機能を提供する(デバイス環境設定手段)。この環境設定サービスでは、例えば、デバイス5の登録・削除、デバイス名・IDの設定、デバイス5のプロパティ設定等を行うことができる。なお、この環境設定サービスは、例えば、WebページによるUI(User Interface)やWebサービスAPI(Application Program Interface)として提供することが好ましい。これにより、デバイス5毎に環境設定用の入力装置を設ける必要がなく、簡単に且つ低コストでデバイス5の設定を行うことができる。
The
一方、POS端末2は、POSサーバ3から商品データを取得するホスト装置51(クライアント端末)と、商品名や売上金額等を表示するカスタマディスプレイ52(デバイス本体)と、カスタマディスプレイ52をホスト装置51にネットワーク接続するためのデバイスアダプタ53と、レシートに決済情報を印刷する印刷装置54と、を備え、これらはLAN55により接続されている(図1参照)。
On the other hand, the
ホスト装置51は、図2に示すように、CPU61、ROM62、RAM63、HDD64、入出力インターフェース65、標準入力デバイス66、通信インターフェース67を備え、HDD64には、ブラウザ71(Webブラウザ)が記憶されている。CPU61は、ROM62内に記憶された制御プログラムに従って、RAM63内のデータの処理を行う。標準入力デバイス66としては、キーボード72、バーコードスキャナ73(バーコードリーダ)を備え、CPU61は、キーボード72による入力およびバーコードスキャナ73による読み取りによって、POSサーバ3から商品コードや商品名、金額等に関する商品データを取得する。
As shown in FIG. 2, the
ブラウザ71は、プラグインモジュールを有さない単機能ブラウザ(標準ブラウザ)であり、CPU61は、このブラウザ71を使用して、通信インターフェース67を介してネットワーク接続(インターネット接続、またはLAN接続)されたPOSサーバ3、およびカスタマディスプレイ52(デバイスアダプタ53)や印刷装置54等のデバイス5と通信を行う。この通信は、HTTPに基づいて行われ、http(s)://x.x.x.x/のようなURIを指定することで、POSサーバ3および各デバイス5と接続することにより行われる。
The
CPU61は、ブラウザ71を使用して、標準入力デバイス66からの入力情報に基づき、POSサーバ3にアプリケーション実行要求を送信する。この時、POSサーバ3からの応答データをカスタマディスプレイ52に表示、あるいは印刷装置54で印刷する等のデバイス動作を伴う場合は、上記アプリケーション実行要求にデバイス動作を伴う旨の情報を含めて送信する。そして、CPU61は、POSサーバ3から動作対象となるデバイス5(カスタマディスプレイ52や印刷装置54等)を特定する情報(デバイス特定情報)、デバイス5の動作を指定する動作情報等をタグとして挿入したHTML形式、若しくはXML形式の応答データを受信(取得)する。その後、CPU61は、受信した応答データに基づいて、対象となるデバイス5に対してデバイス動作要求を送信する(動作要求手段)。また、CPU61は、デバイス5からデバイス動作要求に対する動作結果を含む応答データを受信し(動作結果受信手段)、この応答データによりデバイスの動作結果を判別し、所定の処理を行う。つまり、デバイス5を動作させる場合、ホスト装置51は、ブラウザ71を使用して、デバイス動作要求(HTTPリクエスト)をデバイス5に送信するだけでよく、従来のようにホスト装置51自身でデバイス5を制御する必要がない。これにより、ホスト装置51には、ホスト装置51の環境(OSの種類等)に依存したデバイスドライバが不要となる。また、ブラウザ71は、単機能ブラウザでよく、プラグインモジュールを必要としないため、ホスト装置51の環境に依存することなく、デバイス5にアクセスすることができる。
The
なお、デバイス5からの応答データには、デバイス動作の成功/失敗の情報のみならず、デバイス5が生成したデータ(画像データや、文書データ等)も含まれる。この場合、ホスト装置51のCPU61は、当該データをPOSサーバ3に送信(アップロード)することが可能である。また、POSサーバ3からの応答データ内に、デバイス5に関する情報(デバイス5のアドレス)を含むタグが挿入されているため、POSサーバ3とデバイス5とのドメインが異なる場合でも、問題なくデバイス5にアクセスが可能(クロスサイトアクセスが可能)となり、POSサーバ3とデバイス5とがシームレスに連携することができる。これにより、ユーザは、デバイス5に関する情報を意識することなくデバイス5にアクセスすることができる。なお、当該タグは、POSサーバ3側で応答データ内に挿入しても良いし、あるいは、ホスト装置51側でタグを生成し、動的に応答データに挿入するようにしてもよい。
The response data from the
カスタマディスプレイ52は、標準入力デバイス66により入力された(読み取られた)商品情報を表示し、顧客に対して購入商品の一覧、金額等を提示する。本実施形態で説明するカスタマディスプレイ52は、単体ではネットワーク接続が不可能なものを想定しており、デバイスアダプタ53を介して、ホスト装置51とLAN55で接続されると共に、デバイスサーバ4とインターネット6接続される。これにより、ネットワーク接続ができないデバイス5であっても、ホスト装置51からネットワークを介してデバイス5を使用することができる。
The
デバイスアダプタ53は、CPU81、記憶部82および通信インターフェース83を有し、記憶部82には、HTTPサーバ85およびHTTPクライアント86を備えている。デバイスアダプタ53は、HTTPサーバ85を介して、HTTPに基づいてホスト装置51(ブラウザ71)と通信を行う。CPU81は、通信インターフェース83を介してLAN55で接続されたホスト装置51(ブラウザ71)から、HTTPリクエストとしてカスタマディスプレイ52への表示要求(デバイス動作要求)を受信する。そして、CPU81は、ホスト装置51から受信したカスタマディスプレイ52への表示要求に基づき、HTTPクライアント86を介して、デバイスサーバ4(HTTPサーバ41)に対し、デバイスコマンド要求(HTTPリクエスト)を送信する(コマンド要求送信手段)。この時、デバイスアダプタ53(CPU81)は、自身のデバイスIDおよびパスワードを合わせて送信し、デバイスサーバ4による認証を受ける。そして、認証成功後、CPU81は、デバイスサーバ4から、当該要求に対応するデバイスコマンド(デバイス制御情報)および表示データを受信する。そして、CPU81は、このデバイスコマンドおよび表示データに基づいて、カスタマディスプレイ52を制御して所望の文字や画像を表示させ(動作手段)、その結果(正常に表示できたか否か)を、HTTPサーバ85を介してホスト装置51(ブラウザ71)に送信する(動作結果送信手段)。
The
なお、上記では、デバイスアダプタ53をハードウェアとして構成しているが、これに限らず、ソフトウェアとして構成してもよい。この場合、ソフトウェアデバイスアダプタ87をホスト装置51に組み込み、カスタマディスプレイ52に所望の情報を表示させることが好ましい(図3参照)。
In the above description, the
印刷装置54は、レシート上に決済情報を印刷するレシートプリンタであり、CPU91、記憶部92、印刷部93および通信インターフェース94を備え、通信インターフェース94を介してホスト装置51とLAN55で接続されると共に、デバイスサーバ4とインターネット6で接続されている。また、記憶部92には、HTTPサーバ95と、HTTPクライアント96と、を有している(図2参照)。
The
印刷装置54は、HTTPサーバ95を介して、HTTPに基づいてホスト装置51(ブラウザ71)と通信を行う。CPU91は、HTTPサーバ95により、通信インターフェース94を介してLAN55で接続されたホスト装置51(ブラウザ71)から、HTTPリクエストとして印刷要求(デバイス動作要求)を受信する。そして、CPU91は、ホスト装置51から受信した印刷要求に基づき、HTTPクライアント96を介して、デバイスサーバ4(HTTPサーバ41)に対し、デバイスコマンド要求(HTTPリクエスト)を送信する(コマンド要求送信手段)。この時、印刷装置54(CPU91)は、自身のデバイスIDおよびパスワードを合わせて送信し、デバイスサーバ4による認証を受ける。そして、認証成功後、CPU91は、デバイスサーバ4から、当該要求に対応するデバイスコマンド(デバイス制御情報)および印刷データを受信する。そして、CPU91は、このデバイスコマンドおよび印刷データに基づいて、印刷部93を制御して印刷処理を行い(動作手段)、その印刷処理結果(成功/失敗)を、HTTPサーバ95を介してホスト装置51(ブラウザ71)に送信する(動作結果送信手段)。
The
また、印刷装置54は、自身の初期設定を行うための設定サービスを備え、ホスト装置51等にデバイス設定機能を提供する(デバイス設定手段)。この設定サービスは、例えば、WebページによるUI(User Interface)やWebサービスAPI(Application Program Interface)として提供することが好ましい。これにより、印刷装置54(デバイス5)に入力装置を設ける必要がなく、簡単に且つ低コストで印刷装置54(デバイス5)の設定を行うことができる。
Further, the
次に、図4および図5を参照して、本発明のPOSシステム1において、ホスト装置51からデバイス5を動作させる手順について説明する。ここでは、対象となるデバイス5として、印刷装置54を例に挙げ、入力された商品情報に基づいてレシートを印刷する手順について説明する。まず、ホスト装置51がPOSサーバ3に接続すると、POSサーバ3は、ホスト装置51を使用するユーザの認証処理を行う(S01,詳細は後述)。ユーザ認証終了後、ホスト装置51は、標準入力デバイス66(キーボード72やバーコードスキャナ73)により商品情報を入力(読み取り)し、POSサーバ3に対して入力した商品情報に基づくレシート印刷要求(アプリケーション実行要求)を送信する(S02)。このレシート印刷要求は、ホスト装置51のブラウザ71から、HTTPリクエストとしてPOSサーバ3(HTTPサーバ21)に送信される。
Next, a procedure for operating the
POSサーバ3は、レシート印刷要求を受信すると(S03,実行要求受信手段)、当該要求に基づき、POSアプリケーション23を実行してXML形式のデバイス制御情報(印刷装置54に関する情報)および印刷対象となる決済情報印刷データを生成し(S04)、デバイスサーバ4に送信する(S05,デバイス制御情報送信手段)。デバイスサーバ4は、デバイス制御情報および決済情報印刷データを受信し(S06)、当該デバイス制御情報を制御対象となる印刷装置54に対応するようにコマンド変換してコマンド変換情報(デバイスコマンド)を生成し(S07)、当該印刷装置54用のキューに保存する(S08,コマンド変換情報保存手段)。そして、デバイスサーバ4は、POSサーバ3に対し、この保存処理に伴う結果(保存の成功/失敗)を送信する(S09,保存応答手段)。
When the POS server 3 receives the receipt print request (S03, execution request receiving means), the
POSサーバ3は、デバイスサーバ4から処理結果を受信すると(S10)、HTML形式(若しくはXML形式)の第1応答データ(ページ)を生成する(S11)。この第1応答データには、印刷装置54の特定情報(IPアドレス等)、印刷装置54の起動に関する情報(起動用のAPI名等)、印刷装置54からのコールバックを受けるためのJavaScript(登録商標)の関数が埋め込まれている。そして、POSサーバ3は、ホスト装置51に対して当該第1応答データ(ページ)を送信する(S12,第1応答データ送信手段)。
When receiving the processing result from the device server 4 (S10), the POS server 3 generates first response data (page) in HTML format (or XML format) (S11). The first response data includes specific information (such as an IP address) of the
ホスト装置51(ブラウザ71)は、第1応答データを受信し(S13)、当該第1応答データに基づいて、印刷装置54(HTTPサーバ95)に対してHTTPリクエストとして印刷装置起動要求(デバイス起動要求)を送信する(S14,動作要求手段)。 The host device 51 (browser 71) receives the first response data (S13), and based on the first response data, the printing device activation request (device activation) as an HTTP request to the printing device 54 (HTTP server 95). Request) is transmitted (S14, operation request means).
印刷装置54(HTTPサーバ95)は、ホスト装置51からの印刷装置起動要求を受信し(S15)、これに伴い、デバイスサーバ4に対して自身のデバイスIDおよびパスワード送信する。そして、デバイスサーバ4は、受信した印刷装置54のIDとパスワードに基づいて印刷装置54の認証処理(デバイス認証)を行う(S16,詳細は後述)。デバイス認証終了後、印刷装置54(HTTPクライアント96)は、デバイスサーバ4(HTTPサーバ41)に対し、HTTPリクエストとしてデバイスコマンド要求を送信する(S17,コマンド要求送信手段)。
The printing apparatus 54 (HTTP server 95) receives the printing apparatus activation request from the host apparatus 51 (S15), and accordingly transmits its own device ID and password to the
デバイスサーバ4は、デバイスコマンド要求を受信し(S18)、この要求に基づいて、保存済みのコマンド変換情報(デバイスコマンド)を、当該印刷装置54用のキューから取り出すと共に、印刷対象である決済情報印刷データを印刷装置54で出力可能な形式のデータに変換して印刷装置54に送信する(S19)。印刷装置54は、デバイスコマンドおよび決済情報印刷データを受信し(S20)、当該デバイスコマンドに基づいて、印刷部93を動作させて印刷処理を行う(S21,動作手段)。その後、印刷装置54は、印刷処理の実行結果(成功/失敗等)および印刷装置54の状態に関する情報を第2応答データとして生成する(S22)。この第2応答データは、JSONP(JSON with Padding)によりJavaScript(登録商標)のコールバック関数として生成される。そして、印刷装置54は、当該第2応答データをホスト装置51に送信する(S23,動作結果送信手段)。
The
第2応答データを受信したホスト装置51は(S24,動作結果受信手段)、当該第2応答データに基づき、印刷装置54の動作結果を判別する(S25)。具体的には、ホスト装置51は、第2応答データのJavaScript(登録商標)を実行し、コールバック関数を呼び出すことで、印刷装置54の動作結果を取得し、判別する。印刷処理が正常に終了した場合(S26:Yes)、ホスト装置51は、印刷装置54での印刷処理が正常終了した旨をPOSサーバ3に通知し(S27)、POSサーバ3は、その通知を受信する(S28)。一方、印刷処理が正常終了しなかった場合(S26:No)、ホスト装置51は、印刷装置54に、再度、印刷装置起動要求を送信したり、あるいは印刷装置54の状態に基づいたエラー処理を行う(S29)。
The
次に、図6を参照して、ホスト装置51を使用するユーザの認証の手順について説明する。まず、ホスト装置51は、ユーザによりユーザIDおよびパスワード(以下、ユーザ認証情報)が入力されると(S31)、当該ユーザ認証情報をPOSサーバ3に送信する(S32)。ユーザ認証情報を受信したPOSサーバ3は、ユーザ認証用データベース(図示省略)を参照し、当該ユーザIDに対するパスワードが登録されたものと一致するか認証を行う(S33)。認証が成功した場合(S34:Yes)、POSサーバ3は、当該ユーザ(ホスト装置51)にPOSアプリケーション23の使用を許可する(S35)。一方、認証が失敗した場合(S34:No)、POSサーバ3は、ホスト装置51(ユーザ)に対してその旨を通知し(例えば、ユーザ認証情報の入力画面を再表示する等)、ホスト装置51(ユーザ)は、再度ユーザIDおよびパスワードを入力し(S36)、再入力したユーザIDおよびパスワードをPOSサーバ3に送信する(S32)。なお、パスワードを連続して所定回数間違って入力した場合、POSサーバ3への接続を切断したり、あるいは、当該ユーザIDを無効にする等の処理をすることが好ましい。
Next, a procedure for authenticating a user who uses the
次に、図7を参照して、デバイスサーバ4にアクセスするデバイス5(あるいは、デバイスアダプタ53)の認証の手順について説明する。まず、デバイス5は、デバイスIDおよびパスワード(以下、デバイス認証情報)をデバイスサーバ4に送信する(S41)。当該デバイス認証情報を受信したデバイスサーバ4は、デバイス認証用データベース(図示省略)を参照し、当該デバイスIDに対するパスワードが登録されたものと一致するか認証を行う(S42)。認証が成功した場合(S43:Yes)、デバイスサーバ4は、当該デバイス5に自身(デバイスサーバ4)へのアクセスを許可する(S44)。一方、認証が失敗した場合(S43:No)、デバイスサーバ4は、デバイス5に対してその旨を通知する。認証失敗の通知を受けたデバイス5は(S45)、ホスト装置51に対し、認証が失敗してデバイスサーバ4にアクセスできない旨を通知し(S46)、ホスト装置51は、その通知に基づいてエラー処理を行う(S47)。
Next, with reference to FIG. 7, a procedure for authenticating the device 5 (or the device adapter 53) accessing the
次に、図8を参照して、印刷装置54に障害が発生した場合の動作手順について説明する。まず、印刷装置54は、エラー(障害)を検出すると(S51)、印刷装置54は、自身の印刷動作を停止する(S52)。そして、印刷装置54は、自身のイベント情報やステータス情報(以下、デバイス情報)等をHTTPリクエストとしてデバイスサーバ4に送信する(S53)。デバイスサーバ4は、デバイス情報を受信し(S54)、当該デバイス情報に基づいて、デバイス管理アプリケーション42により、当該印刷装置54の状態(ステータス)を変更する等の処理を行うと共に(S55)、デバイス情報を受信した旨の通知(受信完了通知)を印刷装置54に送信する(S56)。受信完了通知を受信した印刷装置54は、自身の動作を停止させたまま、ホスト装置51からのデバイス動作要求に対する応答データを、JSONP(JSON with Padding)によりJavaScript(登録商標)のコールバック関数として生成し(S57)、当該応答データをホスト装置51に送信する(S58,動作結果送信手段)。ホスト装置51は、印刷装置54からの応答データを受信すると(S59,動作結果受信手段)、コールバック関数を呼び出して印刷装置54の状態を判別し(S60)、その状態(エラー内容)に応じたエラー処理を行う(S61)。
Next, an operation procedure when a failure occurs in the
次に、図9および図10を参照して、印刷装置54の印刷動作の一時停止動作、復旧動作、中止動作の動作手順について説明する。なお、これらの動作手順は、送受信するデータの内容が異なるだけで、基本的に同一であるため、ここでは、印刷装置54の一時停止動作について説明する。
Next, with reference to FIG. 9 and FIG. 10, the operation procedure of the pause operation, the recovery operation, and the stop operation of the printing operation of the
まず、ホスト装置51は、ブラウザ71を使用し、POSサーバ3(HTTPサーバ21)に対して、HTTPリクエストとして印刷動作一時停止要求(アプリケーション実行要求)を送信する(S71)。POSサーバ3は、印刷動作一時停止要求を受信し(S72,実行要求受信手段)、当該印刷動作一時停止要求に基づいて、POSアプリケーション23を実行してHTML形式(若しくはXML形式)の第1応答データ(ページ)を生成する(S73)。この第1応答データには、印刷装置54の特定情報(IPアドレス等)、印刷装置54の一時停止に関する情報(一時停止用のAPI名等)、印刷装置54からのコールバックを受けるためのJavaScript(登録商標)の関数が埋め込まれている。そして、POSサーバ3は、ホスト装置51に対して当該第1応答データ(ページ)を送信する(S74,第1応答データ送信手段)。
First, the
ホスト装置51(ブラウザ71)は、第1応答データを受信し(S75)、当該第1応答データに基づいて、印刷装置54(HTTPサーバ95)に対してHTTPリクエストとして印刷装置一時停止要求(デバイス動作要求)送信する(S76,動作要求手段)。印刷装置54は、ホスト装置51からの印刷装置一時停止要求を受信すると(S77)、自身のイベント情報やステータス情報(以下、デバイス情報)等をHTTPリクエストとしてデバイスサーバ4に送信する(S78)。デバイスサーバ4は、デバイス情報を受信し(S79)、当該デバイス情報に基づいて、デバイス管理アプリケーション42により、当該印刷装置54の状態(ステータス)を一時停止状態に変更する等の処理を行うと共に(S80)、デバイス情報を受信した旨の通知および一時停止用のデバイスコマンド(応答通知)を印刷装置54に送信する(S81)。応答通知を受信した印刷装置54は、自身の動作を一時停止させ(S82,動作手段)、一時停止処理の結果(成功/失敗等)および印刷装置54の状態(ステータス)に関する情報を第2応答データとして生成する(S83)。この第2応答データは、JSONP(JSON with Padding)によりJavaScript(登録商標)のコールバック関数として生成される。そして、印刷装置54は、当該第2応答データをホスト装置51に送信する(S84,動作結果送信手段)。
The host device 51 (browser 71) receives the first response data (S75), and based on the first response data, the printing device temporary stop request (device) as an HTTP request to the printing device 54 (HTTP server 95). Operation request) is transmitted (S76, operation request means). When the
第2応答データを受信したホスト装置51は(S85,動作結果受信手段)、当該第2応答データに基づき、印刷装置54の動作結果を判別する(S86)。具体的には、ホスト装置51は、第2応答データのJavaScript(登録商標)を実行し、コールバック関数を呼び出すことで、印刷装置54の動作結果を取得し、判別する。一時停止処理が正常に終了した場合(S87:Yes)、ホスト装置51は、印刷装置54の一時停止に係る処理を完了する(S88)。一方、一時停止処理が正常終了しなかった場合(S87:No)、ホスト装置51は、印刷装置54に、再度、印刷装置一時停止要求を送信したり、あるいは印刷装置54の状態に基づいたエラー処理を行う(S89)。なお、印刷動作を中止させる場合、印刷装置54およびデバイスサーバ4は、上記の処理に合わせて、中止対象となる印刷動作の印刷ジョブを削除する処理を行う。
The
以上のように、本実施形態によれば、ホスト装置51(クライアント端末)からデバイス5を動作させる場合、デバイスサーバ4が各デバイス5の制御情報を管理すると共に、各デバイス5のデバイスドライバの役目を果たすため、ホスト装置51にデバイスドライバをインストールすることなく、デバイス5を使用することができる。また、ホスト装置51にデバイスドライバが不要になるため、デバイス5の使用に係るホスト装置51の処理の負荷を軽減することができる。さらに、デバイスメーカにとっては、各ホスト装置51のOSの種類毎にデバイスドライバを作成する必要がなくなり、これに係る開発コストを削減できるといった効果がある。
As described above, according to this embodiment, when the
また、各POS端末2(ホスト装置51)にPOSアプリケーション23やデバイスドライバをインストールする必要がないため、POS端末2(ホスト装置51)の低廉化を図ることができると共に、保守・管理に要する時間やコストを軽減できる。
Further, since it is not necessary to install the
なお、図11に示すように、上述したPOSシステム1に、POSサーバ3が異常状態の場合にホスト装置51からの処理要求を代理実行する代理POSサーバ101(アプリケーション代理実行サーバ)と、デバイスサーバ4が異常状態の場合にデバイス5からの処理要求を代理実行する代理デバイスサーバ102と、を導入し、POSサーバ3、デバイスサーバ4およびPOS端末2を同一LAN55上に、代理POSサーバ101および代理デバイスサーバ102をインターネット6上に設置するようにしてもよい。この場合、POSサーバ3と代理POSサーバ101との間で、ホスト装置51からの実行要求の処理状況、商品マスタ24の情報、ユーザ認証情報(ユーザIDやパスワード)等のデータの同期を所定間隔で取り、POSサーバ3が異常状態になり、代理POSサーバ101に処理が移行した場合においても、確実に処理が引き継がれるようにする。また、デバイスサーバ4と代理デバイスサーバ102との間でも、POSサーバ3(代理POSサーバ101)からのデバイス制御情報、デバイス5からの要求に対する処理状況、デバイス管理データベース43の情報、デバイス認証情報(デバイスIDやパスワード)等のデータの同期を所定間隔で取り、デバイスサーバ4が異常状態になり、代理デバイスサーバ102に処理が移行した場合においても、確実に処理が引き継がれるようにする。これにより、ホスト装置51は、POSサーバ3に実行要求した場合の実行結果と同一の実行結果を代理POSサーバ101から取得することができる。一方、デバイス5は、デバイスサーバ4にコマンド要求した場合の応答結果(コマンド変換情報や印刷データ)と同一の応答結果を代理デバイスサーバ102から取得することができる。つまり、結果として、ホスト装置51から各デバイス5を確実に動作させることができる。
As shown in FIG. 11, in the
また、代理POSサーバ101をPOSサーバ3のバックアップサーバとして、代理デバイスサーバ102をデバイスサーバ4のバックアップとして使用することができるため、ホスト装置51はPOSサーバ3の不具合を意識することなく、アプリケーションの実行結果を取得することができると共に、デバイスサーバ4の状態を意識することなく、確実にデバイス5を動作させることができる。なお、異常状態とは、正常状態でない状態であり、例えば、POSサーバ3のPOSアプリケーション23や、デバイスサーバ4のデバイス管理アプリケーション42からの応答がない場合や、POSサーバ3またはデバイスサーバ4が故障した場合をいう。また、POSサーバ3、デバイスサーバ4およびPOS端末2(ホスト装置51とデバイス5)を同一のLAN55に設置するため、POSサーバ3およびデバイスサーバ4がインターネット6上に設置される場合と比べ、応答速度を早くすることができ、POSシステム1全体の処理効率を向上させることができる。
Further, since the
また、本実施形態では、POSサーバ3とデバイスサーバ4と、を別個のサーバで構成しているが、これに限らず、POSサーバ3とデバイスサーバ4と、を単一のサーバとして構成してもよい。これにより、POSサーバ3とデバイスサーバとの間のデータ通信が不要となり、POSシステム1全体の処理速度が向上する。また、低コストでシステムを構築することができると共に、システム管理が容易になる。
In the present embodiment, the POS server 3 and the
また、本実施形態では、デバイス5として、カスタマディスプレイ52や印刷装置54(レシート印刷装置)を例に挙げて説明したが、これに限らず、家庭用プリンタ、イメージスキャナ、各種ストレージ等のコンシューマ向けデバイス、オフィス向けデバイスおよび業務用デバイスに適用することが可能である。
また、上述した実施例のPOSシステム1は一例であり、用途は限定されない。例えば、オフィスにおいてレーザプリンタとイメージスキャナを使用した帳票入出力システム等に、本発明は適用可能である。
In the present embodiment, the
Further, the
また、デバイスサーバ4は、自身が管理するデバイス5の使用を単一のPOSサーバ3(アプリケーション実行サーバ)に限定する機能を有することが好ましい(デバイス排他制御手段)。この場合、POSサーバ3(アプリケーション実行サーバ)は、デバイスサーバ4に対し、デバイス5を専有して使用するためのデバイス専有要求を送信し(デバイス専有要求手段)、デバイスサーバ4は、デバイス専有要求に基づき、当該デバイス5の使用を当該POSサーバ3(アプリケーション実行サーバ)に限定する。そして、専有されたデバイス5に対して、他のPOSサーバ3(アプリケーション実行サーバ)から使用要求が有った場合、当該デバイス5の使用を禁止する旨を通知する(通知手段)。これにより、例えば、POSサーバ3(アプリケーション実行サーバ)で、デバイス動作を伴う優先度の高い処理を行う場合等、該当するデバイス5を専有することで処理遅延を防止できる。
The
また、上記の例に示した、POSシステム1の機能をプログラムとして提供することも可能である。また、そのプログラムを記憶媒体(図示省略)に格納して提供することも可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
It is also possible to provide the function of the
また、上述した実施例によらず、POSシステム1の装置構成や処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
Further, regardless of the above-described embodiments, the apparatus configuration, processing steps, and the like of the
1…POSシステム 2…POS端末 3…POSサーバ 4…デバイスサーバ 5…デバイス 6…インターネット 21、41、85、95…HTTPサーバ 22、86、96…HTTPクライアント 51…ホスト装置 52…カスタマディスプレイ 53…デバイスアダプタ 54…印刷装置 55…LAN 71…ブラウザ 101…代理POSサーバ 102…代理デバイスサーバ。
DESCRIPTION OF
Claims (5)
ブラウザを使用して、POSアプリケーションの実行を要求するアプリケーション実行要求及び前記印刷装置の動作を要求する動作要求を送信するホスト装置と、
前記ホスト装置と接続し、前記ホスト装置から送信された前記アプリケーション実行要求に基づいて決済処理を行う前記POSアプリケーションを実行して決済情報印刷データ及び制御情報を生成し、生成された前記決済情報印刷データ及び前記制御情報を送信するPOSサーバと、
前記POSサーバ及び前記印刷装置と接続し、前記POSサーバから送信された前記決済情報印刷データ及び前記制御情報を受信し、前記制御情報を前記印刷装置に対応するコマンド変換情報に変換し、前記コマンド変換情報を保存し、前記コマンド変換情報の保存処理に伴う結果を前記POSサーバに送信するデバイスサーバと、を備え、
前記POSサーバは、前記コマンド変換情報の保存処理に伴う結果を受信した後、前記印刷装置の特定情報を含む応答データを生成し、前記ホスト装置に送信し、
前記ホスト装置は、前記応答データを受信し、前記応答データに基づいて前記印刷装置へ前記印刷装置の起動を要求する印刷装置起動要求を送信し、
前記印刷装置は、前記印刷装置起動要求を受信し、前記印刷装置起動要求に基づいて前記デバイスサーバに前記コマンド変換情報を要求するデバイスコマンド要求を送信し、
前記デバイスサーバは、前記デバイスコマンド要求を受信し、前記デバイスコマンド要求に基づいて前記コマンド変換情報及び前記決済情報印刷データを前記印刷装置に送信する、
ことを特徴とするPOSシステム。 A printing device for printing payment information on a receipt;
A host device that uses a browser to transmit an application execution request for requesting execution of a POS application and an operation request for requesting operation of the printing device;
The payment information print data and control information generated by executing the POS application connected to the host device and performing a payment process based on the application execution request transmitted from the host device, and generating the payment information printing A POS server for transmitting data and the control information;
Connecting to the POS server and the printing apparatus, receiving the payment information print data and the control information transmitted from the POS server, converting the control information into command conversion information corresponding to the printing apparatus, and A device server that stores conversion information and transmits a result of the command conversion information storage process to the POS server;
The POS server, after receiving the result of the command conversion information storage process, generates response data including specific information of the printing device, and transmits the response data to the host device.
The host device receives the response data, and transmits a printing device activation request for requesting activation of the printing device to the printing device based on the response data;
The printing apparatus receives the printing apparatus activation request, transmits a device command request for requesting the command conversion information to the device server based on the printing apparatus activation request,
The device server receives the device command request, and transmits the command conversion information and the payment information print data to the printing apparatus based on the device command request.
POS system characterized by that.
前記ホスト装置は、前記ディスプレイの表示要求を送信し、
前記デバイスサーバは、前記表示要求に基づいて、前記ディスプレイの制御情報及び表示データを送信し、
前記ディスプレイは、前記表示データを表示する請求項1乃至4のいずれか1項に記載のPOSシステム。 Connected to the host device and having a display for displaying;
The host device transmits a display request for the display,
The device server transmits control information and display data of the display based on the display request,
The POS system according to claim 1, wherein the display displays the display data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013127242A JP5614475B2 (en) | 2013-06-18 | 2013-06-18 | POS system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013127242A JP5614475B2 (en) | 2013-06-18 | 2013-06-18 | POS system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011287170A Division JP5299503B2 (en) | 2011-12-28 | 2011-12-28 | Network system and program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014131097A Division JP5817891B2 (en) | 2014-06-26 | 2014-06-26 | POS system control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013211054A JP2013211054A (en) | 2013-10-10 |
JP5614475B2 true JP5614475B2 (en) | 2014-10-29 |
Family
ID=49528741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013127242A Expired - Fee Related JP5614475B2 (en) | 2013-06-18 | 2013-06-18 | POS system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5614475B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6260231B2 (en) * | 2013-11-29 | 2018-01-17 | セイコーエプソン株式会社 | Print control system and print control method |
KR102249489B1 (en) * | 2020-07-15 | 2021-05-07 | 권성택 | Apparatus of supporting unattended order service for interworking multiple pos terminal |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001350967A (en) * | 2000-06-09 | 2001-12-21 | Seiko Epson Corp | Print data managing device, storage medium with print data management program stored therein, storage medium with use certificate data stored therein and print data utilizing method |
JP2003044244A (en) * | 2001-08-02 | 2003-02-14 | Canon Inc | Print server, method for controlling the same, its program and storage medium |
JP2006318158A (en) * | 2005-05-12 | 2006-11-24 | Seiko Epson Corp | Printing system, pos system, connection device, control method for printing system and program therefor |
-
2013
- 2013-06-18 JP JP2013127242A patent/JP5614475B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013211054A (en) | 2013-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5040486B2 (en) | Network system and program | |
JP4900096B2 (en) | Network system and program | |
US8520230B2 (en) | Image processing system, image processing apparatus, image forming apparatus, image processing method, program, and recording medium with login management and authentication tickets | |
US8792111B2 (en) | Image processing apparatus, information processing method, and storage medium | |
JP2014010769A (en) | Relay device | |
JP2014010770A (en) | Relay device | |
EP3158496A1 (en) | Information processing program product, information processing apparatus, and information processing system | |
US11140294B2 (en) | Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method executed by communication device | |
CN104871126A (en) | Terminal apparatus, output system, and output method | |
JP4983445B2 (en) | Network system and program | |
US20150370650A1 (en) | Image processing apparatus, image processing method, and non-transitory computer readable medium | |
US9756203B2 (en) | Image processing apparatus, method for controlling the same, and storage medium | |
US10846033B2 (en) | Print server, control method, and storage medium | |
US20170295164A1 (en) | System for management of a monitor apparatus monitoring a device in a customer environment | |
JP5614475B2 (en) | POS system | |
US11849083B2 (en) | Identifying one of a server and a cloud service as a controller of a multi-function device | |
JP5299503B2 (en) | Network system and program | |
US11789671B2 (en) | Specific communication device, and non-transitory computer-readable recording medium storing computer readable instructions for specific communication device | |
JP5817891B2 (en) | POS system control method | |
JP5370528B2 (en) | Network system, network system control method and program | |
JP5660174B2 (en) | Display control method and device adapter | |
JP5668816B2 (en) | Printing apparatus control method and printing apparatus | |
JP5360269B2 (en) | Network system, network system control method and program | |
JP6127586B2 (en) | Information processing system and information processing method | |
JP5533929B2 (en) | Client terminal, client terminal control method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130712 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130712 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140723 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140812 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140825 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5614475 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |