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