(57)【要約】【課題】  ドットネットの仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供するサービスオブジェクトに対するトレース機能を実現させることが可能なデバイス制御システム、デバイス制御処理方法及びデバイス制御プログラムを提供する【解決手段】  デバイス制御システムに、サービスオブジェクト、トレース用のサービスオブジェクト、記憶手段、オブジェクト生成手段、及び変更手段を備えることにより、ドットネットの仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供するサービスオブジェクトに対するトレース機能を実現させることが可能となる。また、トレース機能の有効／無効の設定に応じて、アプリケーション・ソフトウェアを変更せずに、サービスオブジェクトに対するトレース機能を実現させることが可能となる。【選択図】  図６
2007025928.tif 000002
【特許請求の範囲】
【請求項１】
１個又は複数個のデバイスの制御を、アプリケーション・ソフトウェアによって実行させるデバイス制御システムであって、
前記アプリケーション・ソフトウェアに対して、所定の仕様に基づいて前記デバイス毎のインタフェースを提供する、前記デバイス毎に対応付けられる第１のオブジェクトと、
前記アプリケーション・ソフトウェアに対して、前記第１のオブジェクトに対する付加機能を提供する、前記デバイス毎に対応付けられる第２のオブジェクトと、
前記付加機能を有効にするか、又は無効にするかを指定する指定情報を記憶する記憶手段と、
前記指定情報に基づいて、前記付加機能が有効であるときには前記第２のオブジェクトを生成し、前記付加機能が無効であるときには前記第１のオブジェクトを生成するオブジェクト生成手段と、
を備えていることを特徴とするデバイス制御システム。
【請求項２】
更に、前記記憶手段に記憶されている前記指定情報を変更することによって、前記付加機能を有効から無効へ、又は無効から有効へ切り替える変更手段を備えていることを特徴とする請求項１に記載のデバイス制御システム。
【請求項３】
前記指定情報は、前記付加機能が有効であるときには前記第２のオブジェクトが定義されている場所を示す情報であり、前記付加機能が無効であるときには前記第１のオブジェクトが定義されている場所を示す情報であることを特徴とする請求項１又は２に記載のデバイス制御システム。
【請求項４】
前記デバイスに対応付けられる前記第２のオブジェクトは、当該デバイスに対応付けられる前記第１のオブジェクトが定義されている場所を示す情報を取得し、取得した情報に基づいて、当該第１のオブジェクトを生成することを特徴とする請求項１から３のいずれか１項に記載のデバイス制御システム。
【請求項５】
前記第２のオブジェクトは、前記第１のオブジェクトが定義されている場所を示す情報を、前記指定情報及び所定のルールに基づいて取得し、取得した情報に基づいて、当該第１のオブジェクトを生成することを特徴とする請求項４に記載のデバイス制御システム。
【請求項６】
前記付加機能が、前記第１のオブジェクトの実行状況をトレースする機能であることを特徴とする請求項１から５のいずれか１項に記載のデバイス制御システム。
【請求項７】
前記所定の仕様がドットネット仕様であり、かつ、前記第１オブジェクトがサービスオブジェクトであることを特徴とする請求項１から６のいずれか１項に記載のデバイス制御システム。
【請求項８】
アプリケーション・ソフトウェアによって、１個又は複数個のデバイスを制御するデバイス制御処理方法であって、
前記アプリケーション・ソフトウェアに対して、所定の仕様に基づいて前記デバイス毎のインタフェースを提供する、前記デバイス毎に対応付けられる第１のオブジェクトと、
前記アプリケーション・ソフトウェアに対して、前記第１のオブジェクトに対する付加機能を提供する、前記デバイス毎に対応付けられる第２のオブジェクトと、
を有し、
前記付加機能を有効にするか、又は無効にするかを指定する指定情報に基づいて、前記付加機能が有効であるときには前記第２のオブジェクトを生成し、前記付加機能が無効であるときには前記第１のオブジェクトを生成するオブジェクト生成工程を備えていることを特徴とするデバイス制御処理方法。
【請求項９】
更に、前記指定情報を変更することによって、前記付加機能を有効から無効へ、又は無効から有効へ切り替える変更工程を備え、
前記オブジェクト生成工程は、前記変更工程によって変更された前記指定情報に基づいて、前記第１のオブジェクト又は前記第２のオブジェクトを生成することを特徴とする請求項８に記載のデバイス制御処理方法。
【請求項１０】
前記指定情報は、前記付加機能が有効であるときには前記第２のオブジェクトが定義されている場所を示す情報であり、前記付加機能が無効であるときには前記第１のオブジェクトが定義されている場所を示す情報であることを特徴とする請求項８又は９に記載のデバイス制御処理方法。
【請求項１１】
前記デバイスに対応付けられる前記第２のオブジェクトは、当該デバイスに対応付けられる前記第１のオブジェクトが定義されている場所を示す情報を取得し、取得した情報に基づいて、当該第１のオブジェクトを生成することを特徴とする請求項８から１０のいずれか１項に記載のデバイス制御処理方法。
【請求項１２】
前記第２のオブジェクトは、前記第１のオブジェクトが定義されている場所を示す情報を、前記指定情報及び所定のルールに基づいて取得し、取得した情報に基づいて、当該第１のオブジェクトを生成することを特徴とする請求項１１に記載のデバイス制御処理方法。
【請求項１３】
前記付加機能が、前記第１のオブジェクトの実行状況をトレースする機能であることを特徴とする請求項８から１２のいずれか１項に記載のデバイス制御処理方法。
【請求項１４】
前記所定の仕様がドットネット仕様であり、かつ、前記第１のオブジェクトがサービスオブジェクトであることを特徴とする請求項８から１３のいずれか１項に記載のデバイス制御処理方法。
【請求項１５】
１個又は複数個のデバイスを制御する処理をコンピュータに実行させるプログラムであって、
請求項１から７のいずれか１項に記載のデバイス制御システムの各手段及び各オブジェクトの機能を実現させる処理を前記コンピュータに実行させることを特徴とするデバイス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムを構成する１個又は複数個のデバイスの制御を、アプリケーション・ソフトウェアによって実行させるデバイス制御システム、デバイス制御処理方法及びデバイス制御プログラムに関する。特に、ドットネットの仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供するサービスオブジェクトに対する付加機能であるトレース機能を実現させることが可能なデバイス制御システム、デバイス制御処理方法及びデバイス制御プログラムに関する。
【背景技術】
【０００２】
ＰＯＳシステムのような、ホスト・コンピュータと種々のデバイスから構成されるシステムの構築において、デバイスの種類等を意識することなく、システムの各種機能を実現させるアプリケーション・ソフトウェアを開発するため、ホスト・コンピュータとデバイスとのインタフェースを所定の仕様に基づいて標準化させるためのソフトウェアが提供されている。以下、システムとして、ＰＯＳシステムを例に挙げて説明する。
【０００３】
ＯＰＯＳ（ＯＬＥ  ｆｏｒ  Ｒｅｔａｉｌ  ＰＯＳ）は、世界標準の規格（仕様）であり、ＯＰＯＳ準拠のオブジェクトは、ＰＯＳシステムにおける端末システム（以下、「ＰＯＳ端末システム」という）を構成するデバイスに関わるインタフェースの標準化を定義し、ＰＯＳ端末システムのホスト・コンピュータのＷｉｎｄｏｗｓ（登録商標）ＯＳ上でサポートされるＯＬＥ（Ｏｂｊｅｃｔ  Ｌｉｎｋｉｎｇ  ａｎｄ  Ｅｍｂｅｄｄｉｎｇ）Ｃｏｎｔｒｏｌを使用して、アプリケーション・ソフトウェアを容易に開発するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）関数をアプリケーション開発者に提供している。以下、ＯＰＯＳ準拠のオブジェクトをＯＰＯＳという。
【０００４】
また、Ｊａｖａ（登録商標）ＰＯＳは、Ｊａｖａ（登録商標）言語で記述されたプログラムで、ＰＯＳシステムを構築するための規格（仕様）であり、Ｊａｖａ（登録商標）ＰＯＳ準拠のオブジェクトは、ＯＳの種類等に依存しない、アプリケーション・ソフトウェアを容易に開発するためのＡＰＩ関数をアプリケーション開発者に提供している。以下、Ｊａｖａ（登録商標）ＰＯＳ準拠のオブジェクトをＪａｖａ（登録商標）ＰＯＳという。
【０００５】
また、ＰＯＳｆｏｒ．ＮＥＴは、マイクロソフト社が発表したＭｉｃｒｏｓｏｆｔ．ＮＥＴに対応したＰＯＳシステムを構築するための規格（仕様）であり、ＰＯＳｆｏｒ．ＮＥＴ準拠のオブジェクトは、アプリケーション・ソフトウェアを容易に開発するためのＡＰＩ関数をアプリケーション開発者に提供している。以下、ＰＯＳｆｏｒ．ＮＥＴ準拠のオブジェクトをＰＯＳｆｏｒ．ＮＥＴという。また、Ｍｉｃｒｏｓｏｆｔ．ＮＥＴを．ＮＥＴ（ドットネット）という。
【０００６】
上述したような様々な仕様に基づいて標準化させるためのソフトウェアを利用した、ＰＯＳシステムの各種機能を実現させるアプリケーション・ソフトウェアの開発、システムの動作チェック等において、各オブジェクトの実行状況をトレースしたいという要望がある。トレース機能は、各オブジェクトの動作を追跡するためのログを収集する機能であり、通常の業務作業においては、不要の機能である。ここで、オブジェクトの動作とは、メソッドの実行、メソッドの実行結果、プロパティの取得／設定、プロパティの取得／設定した結果、イベントの発行、等である。
【０００７】
特許文献１の発明では、Ｊａｖａ（登録商標）ＰＯＳ仕様におけるデバイスオブジェクトのトレース機能の実現方法が提案されている。
【０００８】
Ｊａｖａ（登録商標）ＰＯＳでは、デバイスサービスとアプリケーション・ソフトウェアとの間にデバイスコントロールが存在する。デバイスコントロールは、プリンタ、ディスプレイ等のデバイスクラス毎に提供させるオブジェクトであり、アプリケーション・ソフトウェアとのインタフェースを司っている。デバイスサービスは、プリンタの機種等のデバイス毎に提供させるオブジェクトである。以下、アプリケーション・ソフトウェアをアプリケーションという。デバイスコントロールでは、デバイスサービスのオブジェクトを生成するためのクラスであるサービスファクトリを用いて、デバイスサービスのオブジェクトを生成する。
【０００９】
サービスファクトリはデバイスサービスを作成したベンダーが独自に作成することができるため、サービスファクトリ内でトレース機能の有効／無効の設定情報を知ることが可能である。このため、サービスファクトリがデバイスサービスのオブジェクトを生成するとき、トレース機能の有効／無効の設定に応じて、トレース機能が有効のときは、トレース用のデバイスサービスであるトレースサービスのオブジェクトを生成し、トレース機能が無効のときは、通常のデバイスサービスのオブジェクトを生成することが可能である。
【００１０】
図１０は、Ｊａｖａ（登録商標）ＰＯＳ仕様におけるデバイスオブジェクトのトレース機能の実現方法を説明するための図である。図１０の矢印で示すように、アプリケーションがデバイスサービスに対してオープンメソッドを実行する（図中（１））と、デバイスコントロールはサービスファクトリのオブジェクトを生成する（図中（２））。サービスファクトリは内部においてトレース機能の有効／無効の設定情報を判定する（図中（３））。サービスファクトリの内部でトレース機能が有効であると判定されたとき、サービスファクトリはトレースサービスのオブジェクトを生成し（図中（４））、トレースサービスは通常のデバイスサービスのオブジェクトを生成し（図中（５））、サービスファクトリは生成したトレースサービスのオブジェクトをデバイスコントロールに返す（図中（６））。一方、サービスファクトリの内部でトレース機能が無効であると判定されたとき、サービスファクトリは通常のデバイスサービスのオブジェクトを生成し（図中（７））、サービスファクトリは生成したデバイスサービスのオブジェクトをデバイスコントロールに返す（図中（６））。
【００１１】
上述したように、アプリケーションがデバイスサービスに対して命令をするとき、アプリケーションとデバイスサービスの間にデバイスコントロールが挟まるため、デバイスサービスをトレース用のデバイスサービスであるトレースサービスと通常のデバイスサービスとで切り替えても、アプリケーションに影響はない。従って、トレース機能が有効の場合は図中の白抜きブロック矢印に示したように、トレース機能が有効の場合は図中の白ブロック矢印に示したように、トレース機能が無効の場合は図中の黒ブロック矢印に示したように、アプリケーションは、メソッド及びプロパティによって制御対象となるデバイスに所望の制御を実行させ、イベント及びプロパティによってデバイスに制御を実行させた結果を受け取る。
【００１２】
【特許文献１】特開２００２−３１８７０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、ＰＯＳｆｏｒ．ＮＥＴ仕様におけるサービスオブジェクトのトレース機能の実現方法は、まだ提案されていない。ＰＯＳｆｏｒ．ＮＥＴ仕様では、サービスオブジェクトのインスタンスの生成は、マイクロソフト社が提供しているモジュールによって実行される。ここで、マイクロソフト社が提供しているモジュールは、ＣＣＬ（Ｃｏｍｍｏｎ  Ｃｏｎｔｒｏｌ  Ｌｉｂｒａｒｙ）である。また、サービスオブジェクトはＪａｖａ（登録商標）ＰＯＳのデバイスサービスに対応するオブジェクトで、プリンタの機種等のデバイス毎に提供させるオブジェクトである。
【００１４】
また、ＣＣＬによるサービスオブジェクトのインスタンスの生成は、サービスオブジェクトの識別情報及びサービスオブジェクトの場所情報に基づいて、実行される。ここで、サービスオブジェクトの識別情報は、アプリケーションからＣＣＬに渡される情報である。また、サービスオブジェクトの場所情報は、サービスオブジェクトが入っているアセンブリの場所のディレクトリ情報であり、レジストリに予め格納されている情報である。
【００１５】
従って、Ｊａｖａ（登録商標）ＰＯＳ仕様と同様に、トレース用のサービスオブジェクトであるトレースサービスを別に用意した場合、トレース機能の有効／無効を切り替えるためには、サービスオブジェクトの識別情報、又はサービスオブジェクトの場所情報を、トレース機能の有効／無効の設定に応じて変更しなければならないという問題点がある。また、アプリケーションからＣＣＬに渡されるサービスオブジェクトの識別情報を変更する場合は、トレース機能の有効／無効の設定に応じて、アプリケーションを変更しなければならないという問題点もある。
【００１６】
図１１は、トレースサービスを利用した場合のＰＯＳｆｏｒ．ＮＥＴ仕様におけるサービスオブジェクトのトレース機能の実現方法の問題点を説明するための図である。図１１の矢印で示すように、アプリケーションがＣＣＬに対して識別情報がＡであるサービスオブジェクトのインスタンスの生成を要求する（図中（１））と、ＣＣＬは、サービスオブジェクトが格納されているアセンブリのディレクトリ情報をレジストリから取得する（図中（２））。ここで、識別情報のＡがサービスオブジェクトの識別情報であり、サービスオブジェクトが格納されているアセンブリのディレクトリ情報がサービスオブジェクトの場所情報である。
【００１７】
ＣＣＬは、サービスオブジェクトの識別情報及びサービスオブジェクトの場所情報に基づいて、トレース機能の有効／無効の設定情報を判定する。ＣＣＬの内部でトレース機能が有効であると判定されたとき、ＣＣＬはトレースサービスのインスタンスを生成し（図中（３））、トレースサービスは通常のサービスオブジェクトのインスタンスを生成し（図中（４））、ＣＣＬは生成したトレースサービスのインスタンスをアプリケーションに返す（図中（５））。一方、ＣＣＬでトレース機能が無効であると判定されたとき、ＣＣＬは通常のサービスオブジェクトのインスタンスを生成し（図中（３）’）、ＣＣＬは生成したサービスオブジェクトのインスタンスをアプリケーションに返す（図中（５））。
【００１８】
しかしながら、ＣＣＬはマイクロソフト社が提供しているモジュールであることから、トレース機能の有効／無効を切り替えるためには、サービスオブジェクトの識別情報、又はサービスオブジェクトの場所情報を、トレース機能の有効／無効の設定に応じて変更しなければならない。
【００１９】
また、トレース用のサービスオブジェクトを用意せずに、通常のサービスオブジェクト自身にトレース機能を組み込む方法もある。図１２は、サービスオブジェクト自身にトレース機能を組み込んだプログラム例を示した図である。
【００２０】
図１２に示すように、トレースが有効であるか否かの判定を処理の途中で何度も実行しなければならない。そのため、トレース機能を無効にした通常の動作においても、トレースが有効であるか否かの判定が実行され、パフォーマンスの低下が発生するという問題点がある。また、ＰＯＳｆｏｒ．ＮＥＴ仕様では、エラーは全て例外として通知する。ここで、例外として通知する情報の中にはエラー箇所を示す情報も含まれている。従って、呼び出し元で、全ての例外を受け取って、再度発行するような処理を実行すると、エラー箇所を示す情報が、再発行を行った箇所を示す情報で上書きされてしまうという問題点もある。
【００２１】
本発明は、以上のような問題点を解決するためになされたもので、ドットネットの仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供するサービスオブジェクトに対するトレース機能を実現させることが可能なデバイス制御システム、デバイス制御処理方法及びデバイス制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
上述した従来の問題点を解決すべく下記の発明を提供する。
【００２３】
本発明の第１の態様にかかるデバイス制御システムは、１個又は複数個のデバイスの制御を、アプリケーション・ソフトウェアによって実行させるデバイス制御システムであって、前記アプリケーション・ソフトウェアに対して、所定の仕様に基づいて前記デバイス毎のインタフェースを提供する、前記デバイス毎に対応付けられる第１のオブジェクトと、前記アプリケーション・ソフトウェアに対して、前記第１のオブジェクトに対する付加機能を提供する、前記デバイス毎に対応付けられる第２のオブジェクトと、前記付加機能を有効にするか、又は無効にするかを指定する指定情報を記憶する記憶手段と、前記指定情報に基づいて、前記付加機能が有効であるときには前記第２のオブジェクトを生成し、前記付加機能が無効であるときには前記第１のオブジェクトを生成するオブジェクト生成手段と、を備えていることを特徴とする。
【００２４】
このような構成であれば、デバイス制御システムは、記憶手段によって、付加機能を有効にするか、又は無効にするかを指定する指定情報を記憶させる。また、オブジェクト生成手段によって、アプリケーション・ソフトウェアに対して、所定の仕様に基づいてデバイス毎のインタフェースを提供する、デバイス毎に対応付けられる第１のオブジェクト、及びアプリケーション・ソフトウェアに対して、第１のオブジェクトに対する付加機能を提供する、デバイス毎に対応付けられる第２のオブジェクトのどちらか一方のオブジェクトを、指定情報に基づいて生成させる。即ち、付加機能が有効であるときには前記第２のオブジェクトを生成させ、前記付加機能が無効であるときには前記第１のオブジェクトを生成させる。
【００２５】
これにより、所定の仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供する第１のオブジェクトに対する付加機能を実現させることが可能となる。また、付加機能の有効／無効の設定に応じて、アプリケーション・ソフトウェアを変更せずに、第１のオブジェクトに対する付加機能を実現させることが可能となる。また、第１のオブジェクト自身に付加機能を組み込んだプログラムでないことから、付加機能を無効にした通常の動作においても、パフォーマンスの低下しない第１のオブジェクトに対する付加機能を実現させることが可能となる。
【００２６】
本発明の他の態様にかかるデバイス制御システムは、上述した本発明の態様にかかるデバイス制御システムに、更に、前記記憶手段に記憶されている前記指定情報を変更することによって、前記付加機能を有効から無効へ、又は無効から有効へ切り替える変更手段を備えていることを特徴とする。
【００２７】
このような構成であれば、デバイス制御システムは、変更手段によって、指定情報を変更させ、付加機能を有効から無効へ、又は無効から有効へ切り替えさせる。
【００２８】
これにより、ユーザ等の要求に基づいて、第１のオブジェクトに対する付加機能を実現させたいとき、無効から有効へ切り替えるように、指定情報を変更させるだけで、所定の仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供する第１のオブジェクトに対する付加機能を実現させることが可能となる。
【００２９】
本発明の他の態様にかかるデバイス制御システムは、上述した本発明の態様にかかるデバイス制御システムにおける前記指定情報は、前記付加機能が有効であるときには前記第２のオブジェクトが定義されている場所を示す情報であり、前記付加機能が無効であるときには前記第１のオブジェクトが定義されている場所を示す情報であることを特徴とする。
【００３０】
これにより、ユーザ等の要求に基づいて、第１のオブジェクトに対する付加機能を実現させたいとき、無効から有効へ切り替えるように、指定情報を変更させるだけで、所定の仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供する第１のオブジェクトに対する付加機能を実現させることが可能となる。
【００３１】
本発明の他の態様にかかるデバイス制御システムは、上述した本発明の態様にかかるデバイス制御システムにおける、前記デバイスに対応付けられる前記第２のオブジェクトは、当該デバイスに対応付けられる前記第１のオブジェクトが定義されている場所を示す情報を取得し、取得した情報に基づいて、当該第１のオブジェクトを生成することを特徴とする。
【００３２】
これにより、所定の仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供する第１のオブジェクトに対する付加機能を実現させることが可能となる。
【００３３】
本発明の他の態様にかかるデバイス制御システムは、上述した本発明の態様にかかるデバイス制御システムにおける前記第２のオブジェクトは、前記第１のオブジェクトが定義されている場所を示す情報を、前記指定情報及び所定のルールに基づいて取得し、取得した情報に基づいて、当該第１のオブジェクトを生成することを特徴とする。
【００３４】
これにより、所定の仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供する第１のオブジェクトに対する付加機能を実現させることが可能となる。
【００３５】
本発明の他の態様にかかるデバイス制御システムは、上述した本発明の態様にかかるデバイス制御システムにおける前記付加機能が、前記第１のオブジェクトの実行状況をトレースする機能であることを特徴とする。
【００３６】
これにより、所定の仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供する第１のオブジェクトに対するトレース機能を実現させることが可能となる。また、トレース機能の有効／無効の設定に応じて、アプリケーション・ソフトウェアを変更せずに、第１のオブジェクトに対するトレース機能を実現させることが可能となる。また、第１のオブジェクト自身にトレース機能を組み込んだプログラムでないことから、トレース機能を無効にした通常の動作においても、パフォーマンスの低下しない第１のオブジェクトに対するトレース機能を実現させることが可能となる。
【００３７】
本発明の他の態様にかかるデバイス制御システムは、上述した本発明の態様にかかるデバイス制御システムにおいて、前記所定の仕様がドットネット仕様であり、かつ、前記第１オブジェクトがサービスオブジェクトであることを特徴とする。
【００３８】
これにより、ドットネットの仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供するサービスオブジェクトに対するトレース機能を実現させることが可能となる。また、トレース機能の有効／無効の設定に応じて、アプリケーション・ソフトウェアを変更せずに、サービスオブジェクトに対するトレース機能を実現させることが可能となる。また、サービスオブジェクト自身にトレース機能を組み込んだプログラムでないことから、トレース機能を無効にした通常の動作においても、パフォーマンスの低下しないサービスオブジェクトに対するトレース機能を実現させることが可能となる。また、ユーザ等の要求に基づいて、サービスオブジェクトに対するトレース機能を実現させたいとき、無効から有効へ切り替えるように、指定情報を変更させるだけで、ドットネットの仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供するサービスオブジェクトに対するトレース機能を実現させることが可能となる。
【００３９】
本発明の第１の態様にかかるデバイス制御処理方法は、アプリケーション・ソフトウェアによって、１個又は複数個のデバイスを制御するデバイス制御処理方法であって、前記アプリケーション・ソフトウェアに対して、所定の仕様に基づいて前記デバイス毎のインタフェースを提供する、前記デバイス毎に対応付けられる第１のオブジェクトと、前記アプリケーション・ソフトウェアに対して、前記第１のオブジェクトに対する付加機能を提供する、前記デバイス毎に対応付けられる第２のオブジェクトと、を有し、前記付加機能を有効にするか、又は無効にするかを指定する指定情報に基づいて、前記付加機能が有効であるときには前記第２のオブジェクトを生成し、前記付加機能が無効であるときには前記第１のオブジェクトを生成するオブジェクト生成工程を備えていることを特徴とする。これにより、上述した本発明の態様にかかるデバイス制御システムと同等の効果が得られる。
【００４０】
本発明の他の態様にかかるデバイス制御処理方法は、上述した本発明の態様にかかるデバイス制御処理方法に、更に、前記指定情報を変更することによって、前記付加機能を有効から無効へ、又は無効から有効へ切り替える変更工程を備え、前記オブジェクト生成工程は、前記変更工程によって変更された前記指定情報に基づいて、前記第１のオブジェクト又は前記第２のオブジェクトを生成することを特徴とする。これにより、上述した本発明の態様にかかるデバイス制御システムと同等の効果が得られる。
【００４１】
本発明の他の態様にかかるデバイス制御処理方法は、上述した本発明の態様にかかるデバイス制御処理方法における前記指定情報は、前記付加機能が有効であるときには前記第２のオブジェクトが定義されている場所を示す情報であり、前記付加機能が無効であるときには前記第１のオブジェクトが定義されている場所を示す情報であることを特徴とする。これにより、上述した本発明の態様にかかるデバイス制御システムと同等の効果が得られる。
【００４２】
本発明の他の態様にかかるデバイス制御処理方法は、上述した本発明の態様にかかるデバイス制御処理方法における、前記デバイスに対応付けられる前記第２のオブジェクトは、当該デバイスに対応付けられる前記第１のオブジェクトが定義されている場所を示す情報を取得し、取得した情報に基づいて、当該第１のオブジェクトを生成することを特徴とする。これにより、上述した本発明の態様にかかるデバイス制御システムと同等の効果が得られる。
【００４３】
本発明の他の態様にかかるデバイス制御処理方法は、上述した本発明の態様にかかるデバイス制御処理方法における前記第２のオブジェクトは、前記第１のオブジェクトが定義されている場所を示す情報を、前記指定情報及び所定のルールに基づいて取得し、取得した情報に基づいて、当該第１のオブジェクトを生成することを特徴とする。これにより、上述した本発明の態様にかかるデバイス制御システムと同等の効果が得られる。
【００４４】
本発明の他の態様にかかるデバイス制御処理方法は、上述した本発明の態様にかかるデバイス制御処理方法における前記付加機能が、前記第１のオブジェクトの実行状況をトレースする機能であることを特徴とする。これにより、上述した本発明の態様にかかるデバイス制御システムと同等の効果が得られる。
【００４５】
本発明の他の態様にかかるデバイス制御処理方法は、上述した本発明の態様にかかるデバイス制御処理方法において、前記所定の仕様がドットネット仕様であり、かつ、前記第１オブジェクトがサービスオブジェクトであることを特徴とする。これにより、上述した本発明の態様にかかるデバイス制御システムと同等の効果が得られる。
【００４６】
本発明の第１の態様にかかるデバイス制御プログラムは、１個又は複数個のデバイスを制御する処理をコンピュータに実行させるプログラムであって、上述した本発明の態様にかかるデバイス制御システムの各手段及び各オブジェクトの機能を実現させる処理を前記コンピュータに実行させることを特徴とする。
【００４７】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムによって、コンピュータが処理を実行すると、上述した本発明の態様にかかるデバイス制御システムと同等の作用及び効果が得られる。
【発明の効果】
【００４８】
本発明によれば、ドットネットの仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供するサービスオブジェクトに対するトレース機能を実現させることが可能となる。また、トレース機能の有効／無効の設定に応じて、アプリケーション・ソフトウェアを変更せずに、サービスオブジェクトに対するトレース機能を実現させることが可能となる。また、サービスオブジェクト自身にトレース機能を組み込んだプログラムでないことから、トレース機能を無効にした通常の動作においても、パフォーマンスの低下しないサービスオブジェクトに対するトレース機能を実現させることが可能となる。また、ユーザ等の要求に基づいて、サービスオブジェクトに対するトレース機能を実現させたいとき、無効から有効へ切り替えるように、指定情報を変更させるだけで、ドットネットの仕様に基づいて、アプリケーション・ソフトウェアに対してデバイス毎のインタフェースを提供するサービスオブジェクトに対するトレース機能を実現させることが可能となる。
【発明を実施するための最良の形態】
【００４９】
この発明の一実施態様を、図面を参照しながら説明する。なお、以下に説明する実施態様は説明のためのものであり、本発明の範囲を制限するものではない。従って、当業者であればこれらの各要素もしくは全要素をこれと均等なものによって置換した実施態様を採用することが可能であるが、これらの実施態様も本発明の範囲に含まれる。
【００５０】
図１は、ＰＯＳ端末システムのシステム構成の一例を示す図である。図１に示すように、ＰＯＳ端末システム１０は、ホスト・コンピュータ１２、プリンタ１４、カスタマディスプレイ１６及びドロワ１８によって構成されている。
【００５１】
ホスト・コンピュータ１２は、ＰＯＳ端末システム１０の各種機能を実現するアプリケーション・ソフトウェアを備えている。また、ホスト・コンピュータ１２は、レシート、ジャーナル等を印刷するためのプリンタ１４、購入商品の情報等を表示するカスタマディスプレイ１６、および、現金等を入れておく引き出しであるドロワ１８とそれぞれ通信回線２０を介して接続されている。通信回線２０においては、シリアル・ケーブル、パラレル・ケーブル、ネットワーク・ケーブル、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等、各種の通信形態により提供される通信プロトコルを採用することができる。
【００５２】
図２は、図１に示すブロック構成図に含まれるホスト・コンピュータ１２の概要を示すブロック構成図である。図２に示すように、ホスト・コンピュータ１２は通信回線２０に接続するためのインタフェース３２と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央処理装置）３４と、ＣＰＵ３４が実行するプログラムや一時的な作業内容を記憶する記憶領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３６と、ＣＰＵ３４が実行するプログラムや各種データを記憶するハードディスク３８と、各種のメッセージをユーザに知らせるためのモニタディスプレイ４０などの表示装置と、ユーザからの入力を受け付けるキーボードやマウスなどの入力装置４２と、これらを接続するバス４４を備える。
【００５３】
図３は、ＰＯＳ端末システムにおけるＰＯＳｆｏｒ．ＮＥＴ仕様のサービスオブジェクトの位置付けを示す図である。図３に示すように、ＰＯＳｆｏｒ．ＮＥＴ仕様のサービスオブジェクトは、ＰＯＳ端末システムを構成するデバイスの制御を実行させるアプリケーション・ソフトウェアとＯＳとの間に位置し、ホスト・コンピュータとデバイスとのインタフェースを所定の仕様に基づいて標準化させるためのソフトウェアである。
【００５４】
サービスオブジェクトは、プリンタの機種等のデバイス毎に提供させるオブジェクトであり、ＯＳを介して各デバイスの制御を実行する。また、サービスオブジェクトを生成するときに参照するサービスオブジェクトの位置情報はレジストリに記憶され、レジストリは、ＯＳによって管理されている。
【００５５】
アプリケーション・ソフトウェアは、メソッド及びプロパティによって制御対象となるデバイスに所望の制御を実行させ、イベント及びプロパティによってデバイスに制御を実行させた結果を受け取る。
【００５６】
図４は、トレース用のサービスオブジェクトを説明するための図である。図４に示すように、トレース用のサービスオブジェクトの識別情報を、対応付けられる通常のサービスオブジェクトの識別情報と同じ情報で作成し、トレース用のサービスオブジェクトは、対応付けられる通常のサービスオブジェクトと概ね同じ情報になるように作成する。
【００５７】
また、トレース用のサービスオブジェクトが入っているアセンブリは、通常のサービスオブジェクトが入っているアセンブリとは別に定義し、通常のサービスオブジェクトが入っているアセンブリとトレース用のサービスオブジェクトが入っているアセンブリとを別々の場所に格納する。例えば、インストーラによってサービスオブジェクトをインストールする場合に、通常のサービスオブジェクトが入っているアセンブリとトレース用のサービスオブジェクトが入っているアセンブリとを別々のディレクトリにインストールする。例えば、通常のサービスオブジェクトが入っているアセンブリを「Ｃ：￥Ｐｒｏｇｒａｍ．．．￥ＯＰＯＳｆｏｒ．ＮＥＴ」のディレクトリに、トレース用のサービスオブジェクトが入っているアセンブリを「Ｃ：￥Ｐｒｏｇｒａｍ．．．￥ＯＰＯＳｆｏｒ．ＮＥＴ￥Ｔｒａｃｅ」のディレクトリに、それぞれインストールする。
【００５８】
また、トレース用のサービスオブジェクトは、内部で、通常のサービスオブジェクトを生成する（図中（２））。そのため、トレース用のサービスオブジェクトが入っているアセンブリは、通常のサービスオブジェクトが入っているアセンブリがインストールされたディレクトリを取得できるようにする。例えば、通常のサービスオブジェクトが入っているアセンブリがインストールされるディレクトリと、トレース用のサービスオブジェクトが入っているアセンブリがインストールされるディレクトリとの間に所定のルール付けをしておき、そのルールに基づいて、トレース用のサービスオブジェクトが入っているアセンブリは、通常のサービスオブジェクトが入っているアセンブリがインストールされたディレクトリを取得する。上述の例のように、「通常のサービスオブジェクトが入っているアセンブリがインストールされたディレクトリを、トレース用のサービスオブジェクトが入っているアセンブリがインストールされるディレクトリの一階層上のディレクトリとする」ルールを決めておく。また例えば、レジストリに、通常のサービスオブジェクトが入っているアセンブリがインストールされたディレクトリを格納しておき、トレース用のサービスオブジェクトが、レジストリを参照して、通常のサービスオブジェクトが入っているアセンブリがインストールされたディレクトリを取得する。
【００５９】
次に、トレース機能を有効にしたときのトレース用のサービスオブジェクトの生成の流れを説明する。図５は、トレース用のサービスオブジェクトの生成の流れを説明するための図である。
【００６０】
図５に示すように、まず、トレース用のサービスオブジェクトが入っているアセンブリの場所をレジストリに書き込む（図中（１））。例えば、トレース用のサービスオブジェクトが入っているアセンブリがインストールされたディレクトリである「Ｃ：￥Ｐｒｏｇｒａｍ．．．￥ＯＰＯＳｆｏｒ．ＮＥＴ￥Ｔｒａｃｅ」を、レジストリに格納する。
【００６１】
アプリケーションからＣＣＬへ、識別情報がＡであるサービスオブジェクトが要求される（図中（２））と、ＣＣＬはレジストリよりトレース用のサービスオブジェクトが入っているアセンブリの場所を取得する（図中（３））。取得した場所に格納されているアセンブリから、識別情報がＡであるトレース用のサービスオブジェクトを生成し（図中（４））、生成したトレース用のサービスオブジェクトをアプリケーションに返す（図中（５））。
【００６２】
次に、作成したトレース用のサービスオブジェクトを利用したＰＯＳｆｏｒ．ＮＥＴ仕様におけるサービスオブジェクトのトレース機能の実現方法を説明する。図６は、ＰＯＳｆｏｒ．ＮＥＴ仕様におけるサービスオブジェクトのトレース機能の実現方法を説明するための図である。
【００６３】
図６に示すように、まず、トレース機能の有効／無効の設定情報をセットアップユーティリティにより設定する（図中（１））。即ち、トレース機能を有効に設定すると、レジストリに、トレース用のサービスオブジェクトが入っているアセンブリの場所ｂが場所情報として格納され、トレース機能を無効に設定すると、レジストリに、通常のサービスオブジェクトが入っているアセンブリの場所ａが場所情報として格納される。
【００６４】
図７は、セットアップユーティリティにおける、トレース機能の有効／無効を設定するダイアログの例を示す図である。図７に示すように、チェック領域５０に、チェックマークを入力すると、トレース機能が有効に設定され、チェックマークをはずすと、トレース機能が無効に設定される。また、トレース機能が有効に設定された場合は、ログを格納させるためのトレースファイルのファイル名とファイルサイズを、名称領域５２とサイズ領域５４に入力する。
【００６５】
図６に戻り、アプリケーションからＣＣＬへ、識別情報がＡであるサービスオブジェクトが要求される（図中（２））と、ＣＣＬはレジストリを参照して、場所情報を取得する（図中（３））。取得した場所情報に格納されているアセンブリから、サービスオブジェクトを生成し（図中（４））、生成したサービスオブジェクトをアプリケーションに返す（図中（５））。
【００６６】
トレース機能が無効である場合は、ＣＣＬが取得した場所情報は場所ａであり、場所ａに格納されている、通常のサービスオブジェクトが入っているアセンブリから、通常のサービスオブジェクトを生成する。
【００６７】
トレース機能が有効である場合は、ＣＣＬが取得した場所情報は場所ｂであり、場所ｂに格納されている、トレース用のサービスオブジェクトが入っているアセンブリから、トレース用のサービスオブジェクトを生成する。トレース用のサービスオブジェクトは、ルールに基づいて、例えば、「通常のサービスオブジェクトが入っているアセンブリがインストールされたディレクトリを、トレース用のサービスオブジェクトが入っているアセンブリがインストールされるディレクトリの一階層上のディレクトリとする」ルールに基づいて、通常のサービスオブジェクトが入っているアセンブリの場所ａを取得し、場所ａに格納されているアセンブリから、通常のサービスオブジェクトを生成する（図中（６））。
【００６８】
次に、トレース用のサービスオブジェクトから通常のサービスオブジェクトを生成する処理の詳細を説明する。図８は、トレース用のサービスオブジェクトから通常のサービスオブジェクトを生成する処理のフローチャート図である。
【００６９】
図８に示すように、識別情報がＡであるトレース用のサービスオブジェクトが生成されると、トレース用のサービスオブジェクトが入っているアセンブリが格納されている場所を取得する（Ｓ１０２）。次に、取得したトレース用のサービスオブジェクトが入っているアセンブリが格納されている場所から、通常のサービスオブジェクトが入っているアセンブリが格納されている場所を取得する（Ｓ１０４）。取得した場所に格納されているアセンブリを読み込み、識別情報がＡである通常のサービスオブジェクトを生成する（Ｓ１０６）。最後に、生成した識別情報がＡである通常のサービスオブジェクトを保持して（Ｓ１０８）、処理を終了する。
【００７０】
上述した図６においては、アプリケーションからの要求がトリガーとなって、ＣＣＬがサービスオブジェクトを生成する場合を説明したが、プラグ・アンド・プレイ機能による通知をトリガーとして、ＣＣＬがサービスオブジェクトを生成する場合もある。図９は、プラグ・アンド・プレイ機能による通知がトリガーとなる場合の、ＰＯＳｆｏｒ．ＮＥＴ仕様におけるサービスオブジェクトのトレース機能の実現方法を説明するための図である。
【００７１】
登録エントリファイルにより、トレース機能の有効／無効の設定情報をレジストリに格納する（図中（１）’）。プラグ・アンド・プレイ機能を司るＯＳからＣＣＬへ、新しいデバイスの検出を通知するイベントが発行される（図中（２）’）と、ＣＣＬはレジストリを参照して、場所情報を取得する（図中（３））。取得した場所情報に格納されているアセンブリから、サービスオブジェクトを生成し（図中（４））、生成したサービスオブジェクトをアプリケーションに返す（図中（５））。
【００７２】
上述したトレース機能を実現させる場合に、ホスト・コンピュータ１２のハードディスク３８に予め格納されているデバイス制御プログラムを実行する場合について説明したが、これらの各機能を実行させるプログラムを記録した情報記録媒体から、そのプログラムをＲＡＭ３６に読み込んで実行するようにしても良い。
【００７３】
ここで、情報記録媒体とは、ＲＡＭ、ＲＯＭ等の半導体記録媒体、ＦＤ、ＨＤ等の磁気記憶型記録媒体、ＣＤ、ＣＤＶ、ＬＤ、ＤＶＤ等の光学的読取方式記録媒体、ＭＯ等の磁気記憶型／光学的読取方式記録媒体であって、電子的、磁気的、光学等の読み取り方法のいかんにかかわらず、コンピュータによって読み取り可能な情報記録媒体であれば、あらゆる情報記録媒体を含むものである。また、プログラムを、ネットワークを経由してダウンロードして実行するようにしても良い。
【図面の簡単な説明】
【００７４】
【図１】ＰＯＳ端末システムのシステム構成の一例を示す図である。
【図２】図１に示すブロック構成図に含まれるホスト・コンピュータ１２の概要を示すブロック構成図である。
【図３】ＰＯＳ端末システムにおけるＰＯＳｆｏｒ．ＮＥＴ仕様のサービスオブジェクトの位置付けを示す図である。
【図４】トレース用のサービスオブジェクトを説明するための図である。
【図５】トレース用のサービスオブジェクトの生成の流れを説明するための図である。
【図６】ＰＯＳｆｏｒ．ＮＥＴ仕様におけるサービスオブジェクトのトレース機能の実現方法を説明するための図である。
【図７】セットアップユーティリティにおける、トレース機能の有効／無効を設定するダイアログの例を示す図である。
【図８】トレース用のサービスオブジェクトから通常のサービスオブジェクトを生成する処理のフローチャート図である。
【図９】プラグ・アンド・プレイ機能による通知がトリガーとなる場合の、ＰＯＳｆｏｒ．ＮＥＴ仕様におけるサービスオブジェクトのトレース機能の実現方法を説明するための図である。
【図１０】Ｊａｖａ（登録商標）ＰＯＳ仕様におけるデバイスオブジェクトのトレース機能の実現方法を説明するための図である。
【図１１】トレースサービスを利用した場合のＰＯＳｆｏｒ．ＮＥＴ仕様におけるサービスオブジェクトのトレース機能の実現方法の問題点を説明するための図である。
【図１２】サービスオブジェクト自身にトレース機能を組み込んだプログラム例を示した図である。
【符号の説明】
【００７５】
１０    ＰＯＳ端末システム
１２    ホスト・コンピュータ
１４    プリンタ
１６    カスタマディスプレイ
１８    ドロワ
２０    通信回線
【図１】
2007025928.tif 000003
【図２】
2007025928.tif 000004
【図３】
2007025928.tif 000005
【図４】
2007025928.tif 000006
【図５】
2007025928.tif 000007
【図６】
2007025928.tif 000008
【図７】
2007025928.tif 000009
【図８】
2007025928.tif 000010
【図９】
2007025928.tif 000011
【図１０】
2007025928.tif 000012
【図１１】
2007025928.tif 000013
【図１２】
2007025928.tif 000014