(57)【特許請求の範囲】
【請求項１】
アプリケーションを実行する１以上のアプリケーション実行サーバと、前記アプリケーションの実行を要求する１以上のクライアント端末と、当該クライアント端末の操作に伴って動作する１以上のデバイスと、により構成されるネットワークシステムであって、
前記クライアント端末は、
前記アプリケーション実行サーバに対し、前記デバイスで実行している処理の一時停止動作、前記処理の一時停止からの復旧動作、および前記処理の中止動作のうちのいずれかの動作を伴うアプリケーション実行要求を送信する実行要求手段と、
前記アプリケーション実行要求に対する前記アプリケーション実行サーバの実行結果を含む第１応答データを受信する実行結果受信手段と、
受信した前記第１応答データに基づき、対象となる前記デバイスに対し、前記一時停止動作、前記復旧動作、および前記中止動作のうちのいずれかの動作要求を含むデバイス動作要求を送信する動作要求手段と、
前記デバイス動作要求に対する前記デバイスの動作結果を含む第２応答データを受信する動作結果受信手段と、を備え、
前記デバイスは、
前記クライアント端末からの前記デバイス動作要求を解釈し、前記デバイスに対応したコマンドに変換して前記デバイスを動作させるファームウェアを備え、
前記ファームウェアは、前記デバイスの動作結果を前記クライアント端末に送信することを特徴とするネットワークシステム。
【請求項２】
前記クライアント端末は、
受信した前記第２応答データに基づいて前記デバイスの動作結果を判別し、判別の結果、前記デバイスの動作が正常終了しなかった場合、当該デバイスに対して、同一の前記デバイス動作要求を再送信することを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記クライアント端末は、
受信した前記第２応答データに基づいて前記デバイスの動作結果を判別し、判別の結果、前記デバイスの動作が正常終了しなかった場合、当該デバイスの状態に基づいたエラー処理を行うことを特徴とする請求項１に記載のネットワークシステム。
【請求項４】
前記アプリケーション実行サーバおよび前記デバイスは、ＨＴＴＰサーバを備え、
前記クライアント端末は、プラグイン機能を有しない単機能ブラウザを備え、
前記実行要求手段、前記実行結果受信手段および前記動作要求手段は、前記アプリケーション実行サーバおよび前記デバイスと、前記単機能ブラウザとの間で、ハイパーテキスト転送プロトコルに基づいて通信を行うことを特徴とする請求項１ないし３のいずれか１項に記載のネットワークシステム。
【請求項５】
前記第１応答データには、少なくとも前記デバイスを特定するデバイス特定情報がさらに含まれており、
前記動作要求手段は、前記第１応答データに含まれる情報に基づいて、前記デバイス動作要求を送信することを特徴とする請求項１ないし４のいずれか１項に記載のネットワークシステム。
【請求項６】
前記アプリケーション実行サーバと前記クライアント端末とは、インターネット接続されていることを特徴とする請求項１ないし５のいずれか１項に記載のネットワークシステム。
【請求項７】
前記アプリケーション実行サーバは、ＰＯＳサーバとして機能し、
前記クライアント端末は、ＰＯＳ端末として機能することを特徴とする請求項１ないし６のいずれか１項に記載のネットワークシステム。
【請求項８】
アプリケーションを実行する１以上のアプリケーション実行サーバと、前記アプリケーションの実行を要求する１以上のクライアント端末と、当該クライアント端末の操作に伴って動作する１以上のデバイスと、により構成されるネットワークシステムの制御方法であって、
前記クライアント端末は、
前記アプリケーション実行サーバに対し、前記デバイスで実行している処理の一時停止動作、前記処理の一時停止からの復旧動作、および前記処理の中止動作のうちのいずれかの動作を伴うアプリケーション実行要求を送信するステップと、
前記アプリケーション実行要求に対する前記アプリケーション実行サーバの実行結果を含む第１応答データを受信するステップと、
受信した前記第１応答データに基づき、対象となる前記デバイスに対し、前記一時停止動作、前記復旧動作、および前記中止動作のうちのいずれかの動作要求を含むデバイス動作要求を送信するステップと、
前記デバイス動作要求に対する前記デバイスの動作結果を含む第２応答データを受信するステップと、を実行し、
前記デバイスは、
前記クライアント端末からの前記デバイス動作要求を解釈し、前記デバイスに対応したコマンドに変換して前記デバイスを動作させるファームウェアを備え、
前記ファームウェアは、前記デバイスの動作結果を前記クライアント端末に送信するステップを実行することを特徴とするネットワークシステムの制御方法。
【請求項９】
コンピュータを、請求項１ないし７のいずれか１項に記載のネットワークシステムにおける前記アプリケーション実行サーバの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＡＮ、インターネット等のネットワークを介してデバイスの制御を行うネットワークシステム、ネットワークシステムの制御方法およびプログラムに関するものである。
【背景技術】
【０００２】
従来、一般的にコンピュータからデバイスを使用する場合、デバイス製造メーカより提供される特定のＯＳ専用のデバイスドライバをコンピュータにインストールしてデバイス（プリンタ、スキャナ等の周辺デバイス）を動作させる。また、多数のコンピュータによりデバイスを共有する場合においては、デバイスに対応するデバイスドライバを、ネットワーク上に設けられたサーバ（集中ドライバストレージ）により一括管理し、各コンピュータ（クライアント）に配布する方法が知られている（例えば、特許文献１参照）。この場合、サーバでは、デバイスドライバをＷｉｎｄｏｗｓ２０００（登録商標）やＷｉｎｄｏｗｓＸＰ（登録商標）等のＯＳ毎に管理すると共に、当該デバイスドライバのバージョン（版数）の管理を行い、各クライアントのＯＳに応じてデバイスドライバを配布することで、各クライアントからデバイス（共有デバイス）を使用可能にしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３０３２５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記では、デバイスを使用するためには、各クライアントのＯＳの種類に対応したデバイスドライバをインストールする必要がある。また、デバイスドライバはＯＳに依存して動作するため、クライアントの処理負荷が大きくなる。さらに、デバイスメーカ側も、各クライアントのＯＳの種類ごとに、対応したデバイスドライバを開発する必要があり、開発コストが大きくなるという問題がある。
【０００５】
本発明は、上記の問題点に鑑みたものであり、クライアントにデバイスドライバをインストールすることなくデバイスを制御することができるネットワークシステム、ネットワークシステムの制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のネットワークシステムは、アプリケーションを実行する１以上のアプリケーション実行サーバと、アプリケーションの実行を要求する１以上のクライアント端末と、当該クライアント端末の操作に伴って動作する１以上のデバイスと、により構成されるネットワークシステムであって、クライアント端末は、アプリケーション実行サーバに対し、デバイスで実行している処理の一時停止動作、処理の一時停止からの復旧動作、および処理の中止動作のうちのいずれかの動作を伴うアプリケーション実行要求を送信する実行要求手段と、アプリケーション実行要求に対するアプリケーション実行サーバの実行結果を含む第１応答データを受信する実行結果受信手段と、受信した第１応答データに基づき、対象となるデバイスに対し、一時停止動作、復旧動作、および中止動作のうちのいずれかの動作要求を含むデバイス動作要求を送信する動作要求手段と、デバイス動作要求に対するデバイスの動作結果を含む第２応答データを受信する動作結果受信手段と、を備え、デバイスは、クライアント端末からのデバイス動作要求を解釈し、デバイスに対応したコマンドに変換してデバイスを動作させるファームウェアを備え、ファームウェアは、デバイスの動作結果をクライアント端末に送信することを特徴とする。
また、上記のネットワークシステムにおいて、クライアント端末は、受信した第２応答データに基づいてデバイスの動作結果を判別し、判別の結果、デバイスの動作が正常終了しなかった場合、当該デバイスに対して、同一のデバイス動作要求を再送信することを特徴とする。
また、上記のネットワークシステムにおいて、クライアント端末は、受信した第２応答データに基づいてデバイスの動作結果を判別し、判別の結果、デバイスの動作が正常終了しなかった場合、当該デバイスの状態に基づいたエラー処理を行うことを特徴とする。
また、上記のネットワークシステムにおいて、アプリケーション実行サーバおよびデバイスは、ＨＴＴＰサーバを備え、クライアント端末は、プラグイン機能を有しない単機能ブラウザを備え、実行要求手段、実行結果受信手段および動作要求手段は、アプリケーション実行サーバおよびデバイスと、単機能ブラウザとの間で、ハイパーテキスト転送プロトコルに基づいて通信を行うことを特徴とする。
また、上記のネットワークシステムにおいて、第１応答データには、少なくともデバイスを特定するデバイス特定情報がさらに含まれており、動作要求手段は、第１応答データに含まれる情報に基づいて、デバイス動作要求を送信することを特徴とする。
また、上記のネットワークシステムにおいて、アプリケーション実行サーバとクライアント端末とは、インターネット接続されていることを特徴とする。
また、上記のネットワークシステムにおいて、アプリケーション実行サーバは、ＰＯＳサーバとして機能し、クライアント端末は、ＰＯＳ端末として機能することを特徴とする。
本発明のネットワークシステムの制御方法は、アプリケーションを実行する１以上のアプリケーション実行サーバと、アプリケーションの実行を要求する１以上のクライアント端末と、当該クライアント端末の操作に伴って動作する１以上のデバイスと、により構成されるネットワークシステムの制御方法であって、クライアント端末は、アプリケーション実行サーバに対し、デバイスで実行している処理の一時停止動作、処理の一時停止からの復旧動作、および処理の中止動作のうちのいずれかの動作を伴うアプリケーション実行要求を送信するステップと、アプリケーション実行要求に対するアプリケーション実行サーバの実行結果を含む第１応答データを受信するステップと、受信した第１応答データに基づき、対象となるデバイスに対し、一時停止動作、復旧動作、および中止動作のうちのいずれかの動作要求を含むデバイス動作要求を送信するステップと、デバイス動作要求に対するデバイスの動作結果を含む第２応答データを受信するステップと、を実行し、デバイスは、クライアント端末からのデバイス動作要求を解釈し、デバイスに対応したコマンドに変換してデバイスを動作させるファームウェアを備え、ファームウェアは、デバイスの動作結果をクライアント端末に送信するステップを実行することを特徴とする。
本発明のプログラムは、コンピュータを、上記に記載のネットワークシステムにおけるアプリケーション実行サーバの各手段として機能させるためのものであることを特徴とする。
なお、以下の構成としても良い。
本発明のネットワークシステムは、アプリケーションを実行する１以上のアプリケーション実行サーバと、当該アプリケーション実行サーバにアプリケーションの実行を要求する１以上のクライアント端末と、当該クライアント端末の操作に伴って動作する１以上のデバイスと、を有し、少なくともアプリケーション実行サーバとクライアント端末、クライアント端末とデバイスがそれぞれネットワーク接続されたネットワークシステムであって、クライアント端末は、アプリケーション実行サーバに対し、デバイスの動作を伴うアプリケーション実行要求を送信する実行要求手段と、アプリケーション実行要求に対するアプリケーション実行サーバの実行結果を含む第１応答データを受信する実行結果受信手段と、第１応答データの受信に伴って、デバイスに対しデバイス動作要求を送信する動作要求手段と、デバイス動作要求に対するデバイスの動作結果を含む第２応答データを受信する動作結果受信手段と、を備え、デバイスは、クライアント端末からのデバイス動作要求を解釈し、デバイスに対応したコマンドに変換してデバイスを動作させるファームウェアを備え、ファームウェアは、デバイスの動作結果をクライアント端末に送信することを特徴とする。
【０００７】
この構成によれば、クライアント端末が、デバイス動作を伴うアプリケーション実行要求を送信すると、アプリケーション実行サーバは当該アプリケーション実行要求に対する実行結果を第１応答データとしてクライアント端末に送信する。そして、クライアント端末は、第１応答データに伴ってデバイスに動作要求を送信し、デバイスは、ファームウェア（デバイスドライバに相当する機能を含む）により当該動作要求を解釈して自身を動作させると共に、その動作結果をクライアント端末に返信する。これにより、クライアント端末にデバイスドライバをインストールすることなく、クライアント端末からの動作要求に基づき、デバイスを使用することができる。また、クライアント端末にデバイスドライバが不要になるため、デバイスの使用に係るクライアント端末の処理の負荷を軽減することができる。さらに、デバイスメーカにとっては、各クライアント端末のＯＳの種類毎にデバイスドライバを作成する必要がなくなり、これに係る開発コストを削減できるといった効果がある。
【０００８】
この場合、アプリケーション実行サーバおよびデバイスは、ＨＴＴＰサーバを備え、クライアント端末は、プラグイン機能を有しない単機能ブラウザを備え、実行要求手段、実行結果受信手段および動作要求手段は、アプリケーション実行サーバおよびデバイスと、単機能ブラウザとの間で、ハイパーテキスト転送プロトコルに基づいて通信を行うことが好ましい。
【０００９】
この構成によれば、クライアント端末は、単機能ブラウザを使用して、アプリケーション実行サーバおよびデバイスとハイパーテキスト転送プロトコル（ＨＴＴＰ）に基づいて通信を行うことで、クライアント端末の環境（クライアント端末のＯＳの種類等）に依存することなく、デバイス（例えば、プリンタ、スキャナ等の周辺機器）にアクセスすることができる。また、クライアント端末はＯＳの種類やブラウザに依存したプラグインモジュールが不要であるため、例えば、プラグインモジュールが提供されておらず、デバイスが使用できないといったことがなくなる。なお、ここで言う単機能ブラウザとは、プラグインモジュールをインストールしていない標準のブラウザである。
【００１０】
これらの場合、第１応答データには、少なくともデバイスを特定するデバイス特定情報がさらに含まれており、動作要求手段は、第１応答データに含まれる情報に基づいて、デバイス動作要求を送信することが好ましい。
【００１１】
また、これらの場合、動作要求手段は、受信した第１応答データに、少なくともデバイスを特定するデバイス特定情報を含めたデバイス動作要求を送信することが好ましい。
【００１２】
これらの構成によれば、アプリケーション実行サーバにより受信したデバイス特定情報を含む第１応答データ、またはクライアント端末により動的にデバイス特定情報を含めた第１応答データに基づいて、デバイス動作要求を送信する。これにより、アプリケーション実行サーバとデバイスとのドメインが異なる場合においても、アプリケーション実行サーバとデバイスとがシームレスに連携することができる。また、クライアント端末を使用するユーザは、デバイスに関する情報を意識することなくデバイスを使用することができる。
【００１３】
これらの場合、デバイスは、デバイス本体と、ファームウェアを有するデバイスアダプタと、で構成され、デバイス本体は、デバイスアダプタを介してクライアント端末と接続され、デバイスアダプタは、クライアント端末からのデバイス動作要求に基づき、デバイス本体を制御することが好ましい。
【００１４】
この構成によれば、デバイスアダプタを介してデバイス本体とクライアント端末と、をネットワーク接続すると共に、デバイスアダプタによりクライアント端末からのデバイス動作要求等を受信してデバイス本体の動作制御ができる。これにより、デバイス本体が直接ネットワークに接続できない場合でも、クライアント端末からネットワークを介してデバイスを使用することができる。
【００１５】
これらの場合、アプリケーション実行サーバとクライアント端末とは、インターネット接続されていることが好ましい。
【００１６】
この構成によれば、アプリケーション実行サーバをインターネット上に配置することで、クライアント端末の設置場所に拘らず、アプリケーション実行サーバにアクセスし、使用することができる。
【００１７】
これらの場合、アプリケーション実行サーバは、ＰＯＳサーバとして機能し、クライアント端末は、ＰＯＳ端末として機能することが好ましい。
【００１８】
この構成によれば、各ＰＯＳ端末にアプリケーションやデバイスドライバをインストールする必要がないため、ＰＯＳ端末の低廉化を図ることができると共に、保守・管理に要する時間やコストを軽減できる。
【００１９】
これらの場合、アプリケーション実行サーバに接続されると共に、当該アプリケーション実行サーバと同様の処理を行うアプリケーション代理実行サーバを、さらに備え、アプリケーション実行サーバは、クライアント端末およびデバイスと接続され、アプリケーション代理実行サーバは、アプリケーション実行サーバが異常状態となった場合、アプリケーション実行サーバの処理を代理実行することが好ましい。
【００２０】
この構成によれば、アプリケーション実行サーバが異常状態の場合、アプリケーション代理実行サーバにより、クライアント端末からの処理依頼を代理実行することができる。これにより、アプリケーション代理サーバをアプリケーション実行サーバのバックアップサーバとして使用することができると共に、クライアント端末はアプリケーション実行サーバの不具合を意識することなく、アプリケーションの実行結果を取得することができる。なお、異常状態とは、正常状態でない状態であり、例えば、アプリケーション実行サーバのアプリケーションからの応答がない場合や、アプリケーション実行サーバが故障した場合をいう。
【００２１】
この場合、アプリケーション実行サーバと、アプリケーション代理実行サーバとの間で、アプリケーションに係る情報の同期を取ることが好ましい。
【００２２】
この構成によれば、アプリケーション実行サーバとアプリケーション代理実行サーバの同期を取ることができ、例えば、アプリケーション実行サーバが異常状態になった場合でも、クライアント端末は、アプリケーション実行サーバに実行要求した場合の実行結果と同一の実行結果をアプリケーション代理実行サーバから取得することができる。
【００２３】
これらの場合、アプリケーション代理実行サーバとアプリケーション実行サーバとは、インターネット接続され、アプリケーション実行サーバ、クライアント端末およびデバイスは、ＬＡＮ接続されていることが好ましい。
【００２４】
この構成によれば、アプリケーション実行サーバ、クライアント端末およびデバイスがＬＡＮ接続されるため、アプリケーション実行サーバをインターネット上に設置する場合と比べ、アプリケーション実行サーバとクライアント端末と、の間の応答速度を速くすることができる。
【００２５】
これらの場合、デバイスは、当該デバイスの設定サービスを行うためのデバイス設定手段を備え、クライアント端末は、デバイス設定手段による設定サービスを使用し、デバイスの設定を行うことが好ましい。
【００２６】
この構成によれば、クライアント端末から設定サービスを使用してデバイスの設定を行うことができるため、デバイスに入力装置を設ける必要がなく、簡単に且つ低コストでデバイスの設定を行うことができる。なお、ここでいう設定サービスとは、ＷｅｂページによるＵＩやＷｅｂサービスＡＰＩ等によりデバイスの初期設定（ＩＰアドレス、デバイス名等の設定）を行うものである。
【００２７】
本発明のプログラムは、コンピュータを、上記に記載のネットワークシステムにおけるアプリケーション実行サーバの各手段として機能させるためのものであることを特徴とする。
【００２８】
このプログラムを用いることにより、クライアント端末にデバイスドライバをインストールすることなく、クライアント端末からの動作要求に基づきデバイスを動作させることができる。
【００２９】
また、本発明の他のプログラムは、コンピュータを、上記に記載のネットワークシステムにおけるアプリケーション代理実行サーバの各手段として機能させるためのものであることを特徴とする。
【００３０】
このプログラムを用いることにより、クライアント端末にデバイスドライバをインストールすることなく、クライアント端末からの動作要求に基づきデバイスを動作させることができ、且つアプリケーションの実行を停止することなくシステムを安定的に動作させることができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態に係るＰＯＳシステムのシステム構成図である。
【図２】ＰＯＳシステムのブロック図である。
【図３】デバイスアダプタをソフトウェアで実現した場合のシステム構成図である。
【図４】ホスト装置からデバイスを動作させる手順について説明するフローチャートである。
【図５】ＰＯＳサーバとホスト装置との間の認証処理手順について説明するフローチャートである。
【図６】印刷装置でエラーが発生した場合の処理手順について説明するフローチャートである。
【図７】印刷装置を一時停止させる場合の処理手順について説明するフローチャートである。
【図８】代理ＰＯＳサーバを導入した場合のシステム構成図である。
【発明を実施するための形態】
【００３２】
以下、添付の図面を参照して、本実施形態に係るネットワークシステム、ネットワークシステムの制御方法およびプログラムについて説明する。本実施形態に係るネットワークシステムは、クライアント端末にデバイスドライバをインストールすることなく、クライアント端末からのデバイス動作要求に基づき、対象となるデバイスを使用することができるシステムである。以下、本発明のネットワークシステムを、スーパーやコンビニエンス・ストア等の店舗にて使用されるＰＯＳシステムに適用した場合を例に挙げて説明する。なお、本発明のデバイスとは、キーボードデバイスやポインタデバイス以外の非標準デバイスを対象とする。
【００３３】
図１に示すように、本発明の一実施形態に係るＰＯＳシステム１（ネットワークシステム）は、オペレータによって商品情報が入力され、清算金額を算出する複数のＰＯＳ端末２（図１では２台）と、当該ＰＯＳ端末２とインターネット４で接続される共に、当該ＰＯＳ端末２を管理するＰＯＳサーバ３（アプリケーション実行サーバ）とから構成されている。ＰＯＳサーバ３をインターネット４上に設置することで、ＰＯＳ端末２の設置場所に拘らずアクセスすることが可能となり、多数のユーザに同一品質のＰＯＳサービスを提供することができる。
【００３４】
ＰＯＳサーバ３は、いわゆるＷｅｂアプリケーションサーバとして構築され、図２に示すように、ＣＰＵ１１（Central Processing Unit）、ＲＯＭ１２（Read Only Memory）、ＲＡＭ１３（Random Access Memory）、ＨＤＤ１４（Hard Disk Drive）、入力デバイス１５、ディスプレイ１６、入出力インターフェース（Input/Output）１７、通信インターフェース１８を備え、ＲＯＭ１２内に記憶された制御プログラムに従って、ＲＡＭ１３内のデータの処理を行う。ＨＤＤ１４には、ＨＴＴＰサーバ２１、ＰＯＳアプリケーション２２（Ｗｅｂアプリケーション）、商品マスタ２３（データベース）が記憶されている。
【００３５】
ＰＯＳサーバ３とＰＯＳ端末２（ブラウザ５１）との通信は、ＨＴＴＰサーバ２１により、ハイパーテキスト転送プロトコル（ＨＴＴＰ）に基づいて行われる。つまり、ＰＯＳサーバ３のＣＰＵ１１は、ＰＯＳ端末２（ホスト装置３１）からのアプリケーション実行要求を、通信インターフェース１８を介してＨＴＴＰリクエストとして受信し、当該アプリケーション実行要求の実行結果をＨＴＭＬ形式やＸＭＬ形式のデータ（ページ）としてＰＯＳ端末２に送信（応答）する。また、ＣＰＵ１１は、ＰＯＳ端末２からデバイス動作を含むアプリケーション実行要求を受信した場合、その応答データとして、当該アプリケーション実行要求の実行結果、動作対象となるデバイス５（例えば、印刷装置３４、スキャナ等の周辺機器）を特定するデバイス特定情報（当該デバイス５のＩＰアドレス）、デバイス５の動作を指定する動作情報（例えば、デバイス操作のためのＡＰＩ等の情報）、デバイス動作に関する各種パラメタ等をタグとして挿入したデータ（ページ）をＰＯＳ端末２に送信する。
【００３６】
ＰＯＳアプリケーション２２は、ＰＯＳ端末２からの要求に基づいて決済処理を行うためのものである。例えば、ＰＯＳ端末２から商品の入力情報が送信されると、ＣＰＵ１１は、ＰＯＳアプリケーション２２を実行し、当該入力情報に基づいて、商品マスタ２３から商品コード、商品名、金額に関する情報を抽出し、レシートの印刷およびＰＯＳ端末２のカスタマディスプレイ３２の表示に用いる商品データを生成する。また、ＣＰＵ１１は、ＰＯＳ端末２からの入力情報や生成した上記商品データからレシートに印刷するための決済情報印刷データを生成する。これらの生成したデータは、ＰＯＳアプリケーション２２の実行結果としてＰＯＳ端末２側に送信され、印刷処理や表示処理が行われる。なお、ここで生成される各データは、ＨＴＭＬ形式、若しくはＸＭＬ形式のデータである。
【００３７】
また、ＰＯＳサーバ３のＣＰＵ１１は、ＰＯＳ端末２を使用するユーザ（従業員）のアカウント管理を行い、ユーザの識別を行う。ＣＰＵ１１は、ＰＯＳ端末２から送信されるユーザＩＤおよびパスワードを受信し、ＰＯＳサーバ３に登録されているものと一致するか否かを認証する。認証が成功した場合は、ＰＯＳサーバ３へのアクセスを許可し、失敗した場合は、再度ユーザＩＤおよびパスワードを入力させる、あるいはアクセス拒否通知を送信するなどの処理を実行する。
【００３８】
一方、ＰＯＳ端末２は、ＰＯＳサーバ３から商品データを取得するホスト装置３１（クライアント端末）と、商品名や売上金額等を表示するカスタマディスプレイ３２（デバイス本体）と、カスタマディスプレイ３２をホスト装置３１にネットワーク接続するためのデバイスアダプタ３３と、レシートに決済情報を印刷する印刷装置３４と、を備え、これらはＬＡＮ３５により接続されている（図１参照）。
【００３９】
図２に示すように、ホスト装置３１は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、ＨＤＤ４４、入出力インターフェース４５、標準入力デバイス４６、通信インターフェース４７を備え、ＨＤＤ４４には、ブラウザ５１（Ｗｅｂブラウザ）が記憶されている。ＣＰＵ４１は、ＲＯＭ４２内に記憶された制御プログラムに従って、ＲＡＭ４３内のデータの処理を行う。標準入力デバイス４６としては、キーボード５２、バーコードスキャナ５３（バーコードリーダ）を備え、ＣＰＵ４１は、キーボード５２による入力およびバーコードスキャナ５３による読み取りによって、ＰＯＳサーバ３から商品コードや商品名、金額等に関する商品データを取得する。
【００４０】
ブラウザ５１は、プラグインモジュールを有さない単機能ブラウザ（標準ブラウザ）であり、ＣＰＵ４１は、このブラウザ５１を使用して、通信インターフェース４７を介してネットワーク接続（インターネット接続、またはＬＡＮ接続）されたＰＯＳサーバ３、およびカスタマディスプレイ３２（デバイスアダプタ３３）や印刷装置３４等のデバイス５と通信を行う。この通信は、ＨＴＴＰに基づいて行われ、ｈｔｔｐ（ｓ）：//ｘ．ｘ．ｘ．ｘ/のようなＵＲＩを指定することで、ＰＯＳサーバ３および各デバイス５と接続することにより行われる。
【００４１】
ＣＰＵ４１は、ブラウザ５１を使用して、標準入力デバイス４６からの入力情報に基づき、ＰＯＳサーバ３にアプリケーション実行要求を送信する（実行要求手段）。この時、ＰＯＳサーバ３からの応答データをカスタマディスプレイ３２に表示、あるいは印刷装置３４で印刷する等のデバイス動作を伴う場合は、上記アプリケーション実行要求にデバイス動作を伴う旨の情報を含めて送信する。そして、ＣＰＵ４１は、ＰＯＳサーバ３から入力情報に対応する商品コードや商品名、金額等に関する情報、および動作対象となるデバイス５（カスタマディスプレイ３２や印刷装置３４等）を特定する情報（デバイス特定情報）、デバイス５の動作を指定する動作情報、デバイス動作に関する各種パラメタ等をタグとして挿入したＨＴＭＬ形式、若しくはＸＭＬ形式の応答データを受信（取得）する（実行結果受信手段）。その後、ＣＰＵ４１は、受信した応答データに基づいて、対象となるデバイス５に対してデバイス動作要求を送信する（動作要求手段）。また、ＣＰＵ４１は、デバイス５からデバイス動作要求に対する動作結果を含む応答データを受信し（動作結果受信手段）、この応答データによりデバイス５の動作結果を判別し、所定の処理を行う。つまり、デバイス５を動作させる場合、ホスト装置３１は、ブラウザ５１を使用して、デバイス動作要求（ＨＴＴＰリクエスト）をデバイス５に送信するだけでよく、従来のようにホスト装置３１自身でデバイス５を制御する必要がない。これにより、ホスト装置３１には、ホスト装置３１の環境（ＯＳの種類等）に依存したデバイスドライバが不要となる。また、ブラウザ５１は、単機能ブラウザ５１でよく、プラグインモジュールを必要としないため、ホスト装置３１の環境に依存することなく、デバイス５にアクセスすることができる。
【００４２】
なお、デバイス５の応答データには、デバイス動作の成功／失敗の情報のみならず、デバイス５が生成したデータ（画像データや、文書データ等）も含まれる。この場合、ホスト装置３１のＣＰＵ４１は、当該データをＰＯＳサーバ３に送信（アップロード）することが可能である。また、応答データ内に、デバイス５に関する情報（デバイス５のアドレス）を含むタグが挿入されているため、ＰＯＳサーバ３とデバイス５とのドメインが異なる場合でも、問題なくデバイス５にアクセスが可能（クロスサイトアクセスが可能）となり、ＰＯＳサーバ３とデバイス５とがシームレスに連携することができる。これにより、ユーザは、デバイス５に関する情報を意識することなくデバイス５にアクセスすることができる。なお、当該タグは、ＰＯＳサーバ３側で応答データ内に挿入しても良いし、あるいは、ホスト装置３１側でタグを生成し、動的に応答データに挿入するようにしてもよい。
【００４３】
カスタマディスプレイ３２は、標準入力デバイス４６により入力された（読み取られた）商品情報を表示し、顧客に対して購入商品の一覧、金額等を提示する。本実施形態で説明するカスタマディスプレイ３２は、単体ではネットワーク接続が不可能なものを想定しており、ホスト装置３１とはデバイスアダプタ３３を介してＬＡＮ３５で接続される。これにより、ネットワーク接続ができないデバイス５であっても、ホスト装置３１からネットワークを介して使用することができる。
【００４４】
デバイスアダプタ３３は、ＣＰＵ６１、記憶部６２および通信インターフェース６３を有し、記憶部６２には、ＨＴＴＰサーバ６５およびファームウェア６６を備えている。ＣＰＵ６１は、ＨＴＴＰサーバ６５により、通信インターフェース６３を介してＬＡＮ３５で接続されたホスト装置３１（ブラウザ５１）から、ＨＴＴＰに基づいてデバイス動作要求（ＨＴＴＰリクエスト）を受信し、その要求に対する動作結果をホスト装置３１に送信する。この場合、ＣＰＵ６１は、ファームウェア６６により、ホスト装置３１から送信されたＨＴＭＬ形式、若しくはＸＭＬ形式のデバイス動作要求を解釈してカスタマディスプレイ３２に対応したコマンドに変換し、カスタマディスプレイ３２に所望の文字や画像を表示させる。そして、デバイスアダプタ３３は、カスタマディスプレイ３２の表示結果（正常に表示できたか否か等）をホスト装置３１に送信する。
【００４５】
なお、上記では、デバイスアダプタ３３をハードウェアとして構成いるが、これに限らず、ソフトウェアとして構成してもよい。この場合、ソフトウェアデバイスアダプタ３６をホスト装置３１に組み込み、カスタマディスプレイ３２に所望の情報を表示させることが好ましい（図３参照）。
【００４６】
印刷装置３４は、レシート上に決済情報を印刷するレシートプリンタであり、ＣＰＵ８１、記憶部８２、印刷部８３および通信インターフェース８４を備え、通信インターフェース８４を介してホスト装置３１とＬＡＮ３５で接続されている。また、記憶部８２には、ＨＴＴＰサーバ８５と、ファームウェア８６と、を有している（図２参照）。印刷装置３４とホスト装置３１（ブラウザ５１）との通信は、ＨＴＴＰサーバ８５により、ＨＴＴＰに基づいて行われる。ＣＰＵ８１は、ホスト装置３１からのデバイス動作要求（ＨＴＴＰリクエスト）を受信し、その要求に基づいて印刷装置３４の動作を制御する。この時、ＣＰＵ８１は、ファームウェア８６によりデバイス動作要求を解釈して印刷装置３４に対応したコマンドに変換すると共に、印刷対象となるデータ（例えば、文書データ）を当該印刷装置３４で印刷可能なデータ（印刷データ）に変換し、これらに基づいて印刷部８３を制御して印刷処理を行う。そして、ＣＰＵ８１は、印刷処理の結果（成功／失敗等）をホスト装置３１に送信する。
【００４７】
また、印刷装置３４は、自身の初期設定や環境設定（プロパティ設定等）を行うための設定サービスを備え、ホスト装置３１等にデバイス設定機能を提供する（デバイス設定手段）。この設定サービスは、例えば、ＷｅｂページによるＵＩ（User Interface）やＷｅｂサービスＡＰＩ（Application Program Interface）として提供することが好ましい。これにより、印刷装置３４（デバイス５）に入力装置を設ける必要がなく、簡単に且つ低コストで印刷装置３４（デバイス５）の設定を行うことができる。
【００４８】
次に、図４を参照して、本発明のＰＯＳシステム１において、ホスト装置３１からデバイス５を動作させる手順について説明する。ここでは、対象となるデバイス５として、印刷装置３４を例に挙げ、入力された商品情報に基づいてレシートを印刷する手順について説明する。まず、ホスト装置３１がＰＯＳサーバ３に接続すると、ＰＯＳサーバ３は、ホスト装置３１を使用するユーザの認証処理を行う（Ｓ０１、詳細は後述）。ユーザ認証終了後、ホスト装置３１は、標準入力デバイス４６（キーボード５２やバーコードスキャナ５３）により商品情報を入力（読み取り）し、ＰＯＳサーバ３に対して入力した商品情報に基づくレシート印刷要求（アプリケーション実行要求）を送信する（Ｓ０２，実行要求手段）。このレシート印刷要求は、ホスト装置３１のブラウザ５１から、ＨＴＴＰリクエストとしてＰＯＳサーバ３（ＨＴＴＰサーバ２１）に送信される。
【００４９】
ＰＯＳサーバ３は、レシート印刷要求を受信し（Ｓ０３）、当該要求に基づいてＰＯＳアプリケーション２２を実行し、ＨＴＭＬ形式（若しくはＸＭＬ形式）の第１応答データ（ページ）を生成する（Ｓ０４）。この第１応答データには、対象となる商品情報をレシートに印刷するための決済情報印刷データ、印刷装置３４の特定情報（ＩＰアドレス等）、印刷装置３４の起動に関する情報（起動用のＡＰＩ名等）、印刷装置３４からのコールバックを受けるためのＪａｖａＳｃｒｉｐｔ（登録商標）の関数が埋め込まれている。そして、ＰＯＳサーバ３は、ホスト装置３１に対して当該第１応答データ（ページ）を送信する（Ｓ０５）。
【００５０】
第１応答データを受信したホスト装置３１（ブラウザ５１）は（Ｓ０６，実行結果受信手段）、当該第１応答データに基づいて、印刷装置３４（ＨＴＴＰサーバ８５）に対してＨＴＴＰリクエストとして印刷装置起動要求（デバイス起動要求）を送信する（Ｓ０７，動作要求手段）。
【００５１】
印刷装置３４は、ホスト装置３１からの印刷装置起動要求を受信すると（Ｓ０８）、ファームウェア８６を介して印刷装置起動要求を解釈すると共に、決済情報印刷データを印刷装置３４で出力可能なデータに変換し、印刷部８３を動作させて印刷処理を行う（Ｓ０９）。その後、印刷装置３４は、印刷処理の実行結果（成功／失敗等）および印刷装置３４の状態に関する情報を第２応答データとして生成する（Ｓ１０）。この第２応答データは、ＪＳＯＮＰ（JSON with Padding）によりＪａｖａＳｃｒｉｐｔ（登録商標）のコールバック関数として生成される。そして、印刷装置３４は、当該第２応答データをホスト装置３１に送信する（Ｓ１１）。
【００５２】
第２応答データを受信したホスト装置３１は（Ｓ１２，動作結果受信手段）、当該第２応答データに基づき、印刷装置３４の動作結果を判別する（Ｓ１３）。具体的には、ホスト装置３１は、第２応答データのＪａｖａＳｃｒｉｐｔ（登録商標）を実行し、コールバック関数を呼び出すことで、印刷装置３４の動作結果を取得し、判別する。印刷処理が正常に終了した場合（Ｓ１４：Ｙｅｓ）、ホスト装置３１は、印刷装置３４での印刷処理が正常終了した旨をＰＯＳサーバ３に通知し（Ｓ１５）、ＰＯＳサーバ３は、その通知を受信する（Ｓ１６）。一方、印刷処理が正常終了しなかった場合（Ｓ１４：Ｎｏ）、ホスト装置３１は、印刷装置３４に、再度、印刷装置起動要求を送信したり、あるいは印刷装置３４の状態に基づいたエラー処理を行う（Ｓ１７）。
【００５３】
次に、図５を参照して、ホスト装置３１を使用するユーザの認証の手順について説明する。まず、ホスト装置３１は、ユーザによりユーザＩＤおよびパスワード（以下、認証情報）が入力されると（Ｓ２１）、当該認証情報をＰＯＳサーバ３に送信する（Ｓ２２）。認証情報を受信したＰＯＳサーバ３は、認証用データベース（図示省略）を参照し、当該ユーザＩＤに対するパスワードが登録されたものと一致するか認証を行う（Ｓ２３）。認証が成功した場合（Ｓ２４：Ｙｅｓ）、ＰＯＳサーバ３は、当該ユーザ（ホスト装置３１）にＰＯＳアプリケーション２２の使用を許可する（Ｓ２５）。一方、認証が失敗した場合（Ｓ２４：Ｎｏ）、ＰＯＳサーバ３は、ホスト装置３１（ユーザ）に対してその旨を通知し（例えば、認証情報の入力画面を再表示する等）、ホスト装置３１（ユーザ）は、再度ユーザＩＤおよびパスワードを入力し（Ｓ２６）、再入力したユーザＩＤおよびパスワードをＰＯＳサーバ３に送信する（Ｓ２２）。なお、パスワードを連続して所定回数間違って入力した場合、ＰＯＳサーバ３への接続を切断したり、あるいは、当該ユーザＩＤを無効にする等の処理をすることが好ましい。
【００５４】
次に、図６を参照して、印刷装置３４に障害が発生した場合の動作手順について説明する。まず、印刷装置３４は、エラー（障害）を検出すると（Ｓ３１）、印刷装置３４は、自身の印刷動作を停止する（Ｓ３２）。そして、印刷装置３４は、自身のイベント情報やステータス情報等に基づいて、ＪＳＯＮＰ（JSON with Padding）によりＪａｖａＳｃｒｉｐｔ（登録商標）のコールバック関数として応答データを生成し（Ｓ３３）、当該応答データをホスト装置３１に送信する（Ｓ３４）。ホスト装置３１は、印刷装置３４からの応答データを受信すると（Ｓ３５，動作結果受信手段）、コールバック関数を呼び出して印刷装置３４の状態を判別し（Ｓ３６）、その状態（エラー内容）に応じたエラー処理を行う（Ｓ３７）。このエラー処理は、ホスト装置３１のブラウザ５１上で動作するスクリプトで処理を完結できるため、ＰＯＳサーバ３が介在する必要はない。
【００５５】
次に、図７を参照して、印刷装置３４の印刷動作の一時停止動作、復旧動作、中止動作の動作手順について説明する。なお、これらの動作手順は、送受信するデータの内容が異なるだけで、基本的に同一であるため、ここでは、印刷装置３４の一時停止動作について説明する。まず、ホスト装置３１は、ブラウザ５１を使用し、ＰＯＳサーバ３（ＨＴＴＰサーバ２１）に対して、ＨＴＴＰリクエストとして印刷動作一時停止要求（アプリケーション実行要求）を送信する（Ｓ４１，実行要求手段）。
【００５６】
ＰＯＳサーバ３は、印刷動作一時停止要求を受信し（Ｓ４２）、当該印刷動作一時停止要求に基づいて、ＰＯＳアプリケーション２２を実行してＨＴＭＬ形式（若しくはＸＭＬ形式）の第１応答データ（ページ）を生成する（Ｓ４３）。この第１応答データには、印刷装置３４の特定情報（ＩＰアドレス等）、印刷装置３４の一時停止に関する情報（一時停止用のＡＰＩ名等）、印刷装置３４からのコールバックを受けるためのＪａｖａＳｃｒｉｐｔ（登録商標）の関数が埋め込まれている。そして、ＰＯＳサーバ３は、ホスト装置３１に対して当該第１応答データ（ページ）を送信する（Ｓ４４）。
【００５７】
第１応答データを受信したホスト装置３１（ブラウザ５１）は（Ｓ４５，実行結果受信手段）、当該第１応答データに基づいて、印刷装置３４（ＨＴＴＰサーバ８５）に対してＨＴＴＰリクエストとして印刷装置一時停止要求（デバイス動作要求）送信する（Ｓ４６，動作要求手段）。印刷装置３４は、ホスト装置３１からの印刷装置一時停止要求を受信すると（Ｓ４７）、ファームウェア８６を介して印刷装置一時停止要求を解釈し、自身の動作（印刷動作等）を一時停止する（Ｓ４８）。その後、印刷装置３４は、一時停止処理の結果（成功／失敗等）および印刷装置３４の状態（ステータス）に関する情報を第２応答データとして生成する（Ｓ４９）。この第２応答データは、ＪＳＯＮＰ（JSON with Padding）によりＪａｖａＳｃｒｉｐｔ（登録商標）のコールバック関数として生成される。そして、印刷装置３４は、当該第２応答データをホスト装置３１に送信する（Ｓ５０）。
【００５８】
第２応答データを受信したホスト装置３１は（Ｓ５１，動作結果受信手段）、当該第２応答データに基づき、印刷装置３４の動作結果を判別する（Ｓ５２）。具体的には、ホスト装置３１は、第２応答データのＪａｖａＳｃｒｉｐｔ（登録商標）を実行し、コールバック関数を呼び出すことで、印刷装置３４の動作結果を取得し、判別する。一時停止処理が正常に終了した場合（Ｓ５３：Ｙｅｓ）、ホスト装置３１は、印刷装置３４の一時停止に係る処理を完了する（Ｓ５４）。一方、一時停止処理が正常終了しなかった場合（Ｓ５３：Ｎｏ）、ホスト装置３１は、印刷装置３４に、再度、印刷装置一時停止要求を送信したり、あるいは印刷装置３４の状態に基づいたエラー処理を行う（Ｓ５５）。なお、印刷動作を中止させる場合、印刷装置３４は、上記の処理に合わせて、中止対象となる印刷動作の印刷ジョブを削除する処理を行う。
【００５９】
このように、本実施形態によれば、ホスト装置３１が、デバイス動作を伴うアプリケーション実行要求を送信すると、ＰＯＳサーバ３は当該アプリケーション実行要求に対する実行結果を応答データとしてホスト装置３１に送信する。そして、ホスト装置３１は、当該応答データに基づいてデバイス５に動作要求を送信し、デバイス５は、ファームウェア６６（８６）により当該動作要求を解釈して自身を動作させると共に、その動作結果をホスト装置３１に返信する。これにより、ホスト装置３１にデバイスドライバをインストールすることなく、ホスト装置３１からの動作要求に基づき、デバイス５を使用することができる。また、ホスト装置３１にデバイスドライバが不要になるため、デバイス５の使用に係るホスト装置３１の処理の負荷を軽減することができる。さらに、デバイスメーカにとっては、各ホスト装置３１のＯＳの種類毎にデバイスドライバを作成する必要がなくなり、これに係る開発コストを削減できる。
【００６０】
また、各ＰＯＳ端末２（ホスト装置３１）にＰＯＳアプリケーション２２やデバイスドライバをインストールする必要がないため、ＰＯＳ端末２（ホスト装置３１）の低廉化を図ることができると共に、保守・管理に要する時間やコストを軽減できる。
【００６１】
なお、図８に示すように、上述したＰＯＳシステム１に、ＰＯＳサーバ３が異常状態の場合にホスト装置３１からの処理を代理実行する代理ＰＯＳサーバ９１（アプリケーション代理実行サーバ）を導入し、ＰＯＳサーバ３とＰＯＳ端末２とを同一ＬＡＮ３５上に、代理ＰＯＳサーバ９１をインターネット４上に設置するようにしてもよい。この場合、ＰＯＳサーバ３と代理ＰＯＳサーバ９１との間で、ホスト装置３１からの実行要求の処理状況、商品マスタ２３の情報、認証情報（ユーザＩＤやパスワード）等のデータの同期を所定間隔で取り、ＰＯＳサーバ３が異常状態になり、代理ＰＯＳサーバ９１に処理が移行した場合においても、確実に処理が引き継がれるようにする。これにより、ホスト装置３１は、ＰＯＳサーバ３に実行要求した場合の実行結果と同一の実行結果を代理ＰＯＳサーバ９１から取得することができる。また、代理ＰＯＳサーバ９１をＰＯＳサーバ３のバックアップサーバとして使用することができると共に、ホスト装置３１はＰＯＳサーバ３の不具合を意識することなく、アプリケーション実行要求や実行結果の取得を行うことができる。また、ＰＯＳサーバ３とホスト装置３１とを同一のＬＡＮ３５に設置するため、ＰＯＳサーバ３がインターネット４上に設置される場合と比べ、ＰＯＳサーバ３とホスト装置３１との間の応答速度を早くすることができ、ＰＯＳシステム１全体の処理効率を向上させることができる。なお、異常状態とは、正常状態でない状態であり、例えば、ＰＯＳサーバ３のＰＯＳアプリケーション２２からの応答がない場合や、ＰＯＳサーバ３が故障した場合をいう。
【００６２】
また、本実施形態では、デバイス５として、カスタマディスプレイ３２や印刷装置３４（レシート印刷装置）を例に挙げて説明したが、これに限らず、家庭用プリンタ、イメージスキャナ、各種ストレージ等のコンシューマ向けデバイス、オフィス向けデバイスおよび業務用デバイスに適用することが可能である。
また、上述した実施例のＰＯＳシステム１は一例であり、用途は限定されない。例えば、オフィスにおいてレーザプリンタとイメージスキャナを使用した帳票入出力システム等に、本発明は適用可能である。
【００６３】
また、上記の例に示した、ＰＯＳシステム１の機能をプログラムとして提供することも可能である。また、そのプログラムを記憶媒体（図示省略）に格納して提供することも可能である。記録媒体としては、ＣＤ−ＲＯＭ、フラッシュＲＯＭ、メモリカード（コンパクトフラッシュ（登録商標）、スマートメディア、メモリースティック等）、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
【００６４】
また、上述した実施例によらず、ＰＯＳシステム１の装置構成や処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
【符号の説明】
【００６５】
１…ＰＯＳシステム  ２…ＰＯＳ端末  ３…ＰＯＳサーバ  ４…インターネット  ５…デバイス  ２１、６５、８５…ＨＴＴＰサーバ  ３１…ホスト装置  ３２…カスタマディスプレイ  ３３…デバイスアダプタ  ３４…印刷装置  ３５…ＬＡＮ  ５１…ブラウザ  ６６、８６…ファームウェア  ９１…代理ＰＯＳサーバ
【図１】
0005370528.tif 000002
【図２】
0005370528.tif 000003
【図３】
0005370528.tif 000004
【図４】
0005370528.tif 000005
【図５】
0005370528.tif 000006
【図６】
0005370528.tif 000007
【図７】
0005370528.tif 000008
【図８】
0005370528.tif 000009