(57)【特許請求の範囲】
【請求項１】
ユーザによって選択される複数のオペレーションを有した、対象アプリケーションのインタフェースと、
前記ユーザが前記インタフェースの前記複数のオペレーションを選択するデータをモニタし、モニタしたデータのログを生成するように構成されたモニタリングユニットと、
前記モニタしたデータのログを送信するように構成された通信デバイスと、を備え、
前記通信デバイスは、前記ユーザが対象アプリケーションから出た場合に、前記モニタしたデータのログを送信することを特徴とするアプリケーションユニットのモニタシステム。
【請求項２】
ユーザによって選択される複数のオペレーションを有した、対象アプリケーションのインタフェースと、
前記ユーザが前記インタフェースの前記複数のオペレーションを選択するデータをモニタし、モニタしたデータのログを生成するように構成されたモニタリングユニットと、
前記モニタしたデータのログを送信するように構成された通信デバイスと、
前記通信デバイスが前記モニタしたデータのログを送信する前に、前記ユーザによって実行される対象アプリケーションのセッション数を設定するように構成された設定ユニットと、
を備えたことを特徴とするアプリケーションユニットのモニタシステム。
【請求項３】
前記対象アプリケーションは、ソフトウエアアプリケーションであり、
前記インタフェースは、前記ソフトウエアアプリケーションの表示画面であることを特徴とする請求項１または２に記載のアプリケーションユニットのモニタシステム。
【請求項４】
前記対象アプリケーションは、画像形成装置であり、
前記インタフェースは、前記画像形成装置の操作パネルであることを特徴とする請求項１または２に記載のアプリケーションユニットのモニタシステム。
【請求項５】
前記対象アプリケーションは、特定用途向けの機器であり、
前記インタフェースは、前記機器の操作パネルであることを特徴とする請求項１または２に記載のアプリケーションユニットのモニタシステム。
【請求項６】
前記通信デバイスは、インターネットメールによって前記モニタしたデータのログを送信することを特徴とする請求項１〜５のいずれか一つに記載のアプリケーションユニットのモニタシステム。
【請求項７】
ユーザによって選択される複数のオペレーションを提供する、対象アプリケーション手段のインタフェース手段と、
前記ユーザが前記インタフェース手段の前記複数のオペレーションを選択するデータをモニタし、モニタしたデータのログを生成するモニタリング手段と、
前記モニタしたデータのログを送信する通信手段と、を備え、
前記通信手段は、前記ユーザが対象アプリケーションから出た場合に、前記モニタしたデータのログを送信することを特徴とするアプリケーションユニットのモニタシステム。
【請求項８】
ユーザによって選択される複数のオペレーションを提供する、対象アプリケーション手段のインタフェース手段と、
前記ユーザが前記インタフェース手段の前記複数のオペレーションを選択するデータをモニタし、モニタしたデータのログを生成するモニタリング手段と、
前記モニタしたデータのログを送信する通信手段と、
前記通信手段が前記モニタしたデータのログを送信する前に、前記ユーザによって実行される対象アプリケーションのセッション数を設定する設定手段と、
を備えたことを特徴とするアプリケーションユニットのモニタシステム。
【請求項９】
前記対象アプリケーション手段は、ソフトウエアアプリケーションであり、
前記インタフェース手段は、前記ソフトウエアアプリケーションの表示画面であることを特徴とする請求項７または８に記載のアプリケーションユニットのモニタシステム。
【請求項１０】
前記対象アプリケーション手段は、画像形成装置であり、
前記インタフェース手段は、前記画像形成装置の操作パネルであることを特徴とする請求項７または８に記載のアプリケーションユニットのモニタシステム。
【請求項１１】
前記対象アプリケーション手段は、特定用途向けの機器であり、
前記インタフェース手段は、前記機器の操作パネルであることを特徴とする請求項７または８に記載のアプリケーションユニットのモニタシステム。
【請求項１２】
前記通信手段は、インターネットメールによって前記モニタしたデータのログを送信することを特徴とする請求項７〜１１のいずれか一つに記載のアプリケーションユニットのモニタシステム。
【請求項１３】
ユーザによって選択される複数のオペレーションを含む、対象アプリケーションにおけるインタフェースの使用法をモニタするアプリケーションユニットのモニタ方法であって、
前記ユーザが前記インタフェースの複数のオペレーションを選択するデータをモニタするモニタ工程と、
前記モニタしたデータのログを生成する生成工程と、
前記モニタしたデータのログを送信する通信工程と、を含み、
前記通信工程は、前記ユーザが対象アプリケーションから出た場合に、前記モニタしたデータのログを送信することを特徴とするアプリケーションユニットのモニタ方法。
【請求項１４】
ユーザによって選択される複数のオペレーションを含む、対象アプリケーションにおけるインタフェースの使用法をモニタするアプリケーションユニットのモニタ方法であって、
前記ユーザが前記インタフェースの複数のオペレーションを選択するデータをモニタするモニタ工程と、
前記モニタしたデータのログを生成する生成工程と、
前記モニタしたデータのログを送信する通信工程と、
前記通信工程が前記モニタしたデータのログを送信する前に、前記ユーザによって実行される対象アプリケーションのセッション数を設定する設定工程と、
を含むことを特徴とするアプリケーションユニットのモニタ方法。
【請求項１５】
前記対象アプリケーションは、ソフトウエアアプリケーションであり、
前記インタフェースは、前記ソフトウエアアプリケーションの表示画面であることを特徴とする請求項１３または１４に記載のアプリケーションユニットのモニタ方法。
【請求項１６】
前記対象アプリケーションは、画像形成装置であり、
前記インタフェースは、前記画像形成装置の操作パネルであることを特徴とする請求項１３または１４に記載のアプリケーションユニットのモニタ方法。
【請求項１７】
前記対象アプリケーションは、特定用途向けの機器であり、
前記インタフェースは、前記機器の操作パネルであることを特徴とする請求項１３または１４に記載のアプリケーションユニットのモニタ方法。
【請求項１８】
前記通信工程は、インターネットメールによって前記モニタしたデータのログを送信することを特徴とする請求項１４〜１７のいずれか一つに記載のアプリケーションユニットのモニタ方法。
【請求項１９】
コンピュータプログラム製品であって、
コンピュータ記録媒体，およびユーザによる対象アプリケーションのインタフェースの使用法をコンピュータにモニタさせる、前記コンピュータ記録媒体に埋め込まれたコンピュータプログラムコードメカニズムを備え、
前記インタフェースは、ユーザによって選択される複数のオペレーションを備え、
前記コンピュータプログラムコードメカニズムは、前記ユーザが前記インタフェースの前記複数のオペレーションを選択するデータをモニタするように構成され、かつ、前記モニタしたデータのログを生成するように構成された第１のコンピュータコードデバイスと、
前記モニタしたデータのログを送信するように構成された第２のコンピュータコードデバイスと、を備え、
前記第２のコンピュータコードデバイスは、さらに、前記ユーザが対象アプリケーションから出た場合に、前記モニタしたデータのログを送信するように構成されていることを特徴とするコンピュータプログラム製品。
【請求項２０】
コンピュータプログラム製品であって、
コンピュータ記録媒体，およびユーザによる対象アプリケーションのインタフェースの使用法をコンピュータにモニタさせる、前記コンピュータ記録媒体に埋め込まれたコンピュータプログラムコードメカニズムを備え、
前記インタフェースは、ユーザによって選択される複数のオペレーションを備え、
前記コンピュータプログラムコードメカニズムは、前記ユーザが前記インタフェースの前記複数のオペレーションを選択するデータをモニタするように構成され、かつ、前記モニタしたデータのログを生成するように構成された第１のコンピュータコードデバイスと、
前記モニタしたデータのログを送信するように構成された第２のコンピュータコードデバイスと、
前記第２のコンピュータコードデバイスが前記モニタしたデータのログを送信する前に、前記ユーザによって実行される対象アプリケーションのセッション数を設定するように構成された第３のコンピュータコードデバイスと、
を備えたことを特徴とするコンピュータプログラム製品。
【請求項２１】
前記対象アプリケーションは、ソフトウエアアプリケーションであり、
前記インタフェースは、前記ソフトウエアアプリケーションの表示画面であることを特徴とする請求項１９または２０に記載のコンピュータプログラム製品。
【請求項２２】
前記対象アプリケーションは、画像形成装置であり、
前記インタフェースは、前記画像形成装置の操作パネルであることを特徴とする請求項１９または２０に記載のコンピュータプログラム製品。
【請求項２３】
前記対象アプリケーションは、特定用途向けの機器であり、
前記インタフェースは、前記機器の操作パネルであることを特徴とする請求項１９または２０に記載のコンピュータプログラム製品。
【請求項２４】
前記第２のコンピュータコードデバイスは、インターネットメールによって前記モニタしたデータのログを送信することを特徴とする請求項１９〜２３のいずれか一つに記載のコンピュータプログラム製品。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザによるアプリケーションユニットの対象アプリケーションの使用法（usage）をモニタすることができると共に、モニタした使用法に関するデータを簡単かつ効率的に送信することができるアプリケーションユニットモニタリングデバイスに関する。
【０００２】
【従来の技術】
コンピュータがますます普及していくにつれて、ソフトウエア開発が非常に重要なビジネスとなってきている。ソフトウエアを評価する際、どのようにしてユーザがソフトウエアアプリケーションを利用しているのかを正確にモニタするようにすることが有益である場合がある。一例として、ユーザが最もよく使用するコマンドがどれかを知ることはソフトウエア開発者の役に立つ。
【０００３】
また、人間が対話するデバイスを設計する際には、ユーザがそのようなデバイスとどのように対話するのかをモニタすることが望ましい。一例として、複写機・ファクシミリ装置・プリンタ・スキャナのような画像形成装置，電子レンジ・ビデオカセットレコーダ・ディジタルカメラ・携帯電話・パームトップコンピュータのような特定用途向けの機器等のコントロールパネルをユーザがどのようにして使用するのかをモニタすることが望ましい場合がある。
【０００４】
さらに、ますます多くのユーザがインターネットを利用することになるものと考えられる。ユーザがどのようにインターネットを使用するのかということ、特にどのようにしてユーザが特定のウェブページ等を閲覧するのかということは重要な関心事である。また、ユーザによるそれらのインターネットの使用法をモニタすることも重要となる場合がある。
【０００５】
これらの例において、ユーザがあるアプリケーション、たとえばソフトウエアアプリケーション，ユーザによって操作されるインターフェースを備えたデバイス，ウェブページ等をどのようにして利用しているかを調べることが望ましい場合、ユーザによるそのアプリケーションの使用法をモニタしなければならないだけでなく、ユーザの使用法をモニタすることによって得られた情報を効率的に所望の関係先に送信しなければならない。
【０００６】
【発明が解決しようとする課題】
本発明は、ユーザによるアプリケーションユニットの対象アプリケーションの使用法をモニタするための新規かつ効果的なシステムを提供することを目的とする。
【０００７】
また、本発明は、ユーザによるアプリケーションユニットの対象アプリケーションの使用法をモニタすることによって得られたデータを所望の関係先に送信するための新規なシステムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、アプリケーションユニットにおける対象アプリケーションのユーザインタフェースの使用法をモニタすることによって、これらおよび他の目的を達成するものである。このようなモニタリングは、一例として、ユーザによる操作の下、コンピュータもしくはワークステーション上で実行されているソフトウエアプログラムや、複写機・プリンタ・ファクシミリ・スキャナのような画像形成装置，電子レンジ・ビデオカセットレコーダ・ディジタルカメラ・携帯電話・パームトップコンピュータ等のような特定用途向けの機器またはユーザインタフェースを有する他のあらゆるデバイスまたはシステムのコントロールパネルの使用法をモニタすることができる。本発明におけるさらなる特徴として、ユーザによるアプリケーションユニットの対象アプリケーションの使用法をモニタすることによって得られたデータが収集され、かつ記録され、そしてインターネット電子メールによって所望の場所に送信される。電子メール通信を使用することにより、そのようなデータを送信することに関わるコストを削減することができる。ユーザがアプリケーションユニットの対象アプリケーションから出る（を終了させる）毎，またはユーザがアプリケーションユニットの対象アプリケーションを利用すると共にその対象アプリケーションから出る（を終了させる）ことを所定の回数行った後を含むいくつかの場合に、データを所望の場所に送信するようにすることもできる。
【０００９】
すなわち、請求項１にかかる発明は、ユーザによって選択される複数のオペレーションを有した、対象アプリケーションのインタフェースと、前記ユーザが前記インタフェースの前記複数のオペレーションを選択するデータをモニタし、モニタしたデータのログを生成するように構成されたモニタリングユニットと、前記モニタしたデータのログを送信するように構成された通信デバイスと、を備え、前記通信デバイスは、前記ユーザが対象アプリケーションから出た場合に、前記モニタしたデータのログを送信することを特徴とするアプリケーションユニットのモニタシステムである。
【００１０】
また、請求項２にかかる発明は、ユーザによって選択される複数のオペレーションを有した、対象アプリケーションのインタフェースと、前記ユーザが前記インタフェースの前記複数のオペレーションを選択するデータをモニタし、モニタしたデータのログを生成するように構成されたモニタリングユニットと、前記モニタしたデータのログを送信するように構成された通信デバイスと、前記通信デバイスが前記モニタしたデータのログを送信する前に、前記ユーザによって実行される対象アプリケーションのセッション数を設定するように構成された設定ユニットと、を備えたことを特徴とするアプリケーションユニットのモニタシステムである。
【００１１】
また、請求項３にかかる発明は、前記対象アプリケーションは、ソフトウエアアプリケーションであり、前記インタフェースは、前記ソフトウエアアプリケーションの表示画面であることを特徴とする。
【００１２】
また、請求項４にかかる発明は、前記対象アプリケーションは、画像形成装置であり、前記インタフェースは、前記画像形成装置の操作パネルであることを特徴とする。
【００１３】
また、請求項５にかかる発明は、前記対象アプリケーションは、特定用途向けの機器であり、前記インタフェースは、前記機器の操作パネルであることを特徴とする。
【００１４】
また、請求項６にかかる発明は、前記通信デバイスは、インターネットメールによって前記モニタしたデータのログを送信することを特徴とする。
【００１５】
また、請求項７にかかる発明は、ユーザによって選択される複数のオペレーションを提供する、対象アプリケーション手段のインタフェース手段と、前記ユーザが前記インタフェース手段の前記複数のオペレーションを選択するデータをモニタし、モニタしたデータのログを生成するモニタリング手段と、前記モニタしたデータのログを送信する通信手段と、を備え、前記通信手段は、前記ユーザが対象アプリケーションから出た場合に、前記モニタしたデータのログを送信することを特徴とする。
【００１６】
また、請求項８にかかる発明は、ユーザによって選択される複数のオペレーションを提供する、対象アプリケーション手段のインタフェース手段と、前記ユーザが前記インタフェース手段の前記複数のオペレーションを選択するデータをモニタし、モニタしたデータのログを生成するモニタリング手段と、前記モニタしたデータのログを送信する通信手段と、前記通信手段が前記モニタしたデータのログを送信する前に、前記ユーザによって実行される対象アプリケーションのセッション数を設定する設定手段と、を備えたことを特徴とする。
【００１７】
また、請求項９にかかる発明は、前記対象アプリケーション手段は、ソフトウエアアプリケーションであり、前記インタフェース手段は、前記ソフトウエアアプリケーションの表示画面であることを特徴とする。
【００１８】
また、請求項１０にかかる発明は、前記対象アプリケーション手段は、画像形成装置であり、前記インタフェース手段は、前記画像形成装置の操作パネルであることを特徴とする。
【００１９】
また、請求項１１にかかる発明は、前記対象アプリケーション手段は、特定用途向けの機器であり、前記インタフェース手段は、前記機器の操作パネルであることを特徴とする。
【００２０】
また、請求項１２にかかる発明は、前記通信手段は、インターネットメールによって前記モニタしたデータのログを送信することを特徴とする。
【００２１】
また、請求項１３にかかる発明は、ユーザによって選択される複数のオペレーションを含む、対象アプリケーションにおけるインタフェースの使用法をモニタするアプリケーションユニットのモニタ方法であって、前記ユーザが前記インタフェースの複数のオペレーションを選択するデータをモニタするモニタ工程と、前記モニタしたデータのログを生成する生成工程と、前記モニタしたデータのログを送信する通信工程と、を含み、前記通信工程は、前記ユーザが対象アプリケーションから出た場合に、前記モニタしたデータのログを送信することを特徴とする。
【００２２】
また、請求項１４にかかる発明は、ユーザによって選択される複数のオペレーションを含む、対象アプリケーションにおけるインタフェースの使用法をモニタするアプリケーションユニットのモニタ方法であって、前記ユーザが前記インタフェースの複数のオペレーションを選択するデータをモニタするモニタ工程と、前記モニタしたデータのログを生成する生成工程と、前記モニタしたデータのログを送信する通信工程と、前記通信工程が前記モニタしたデータのログを送信する前に、前記ユーザによって実行される対象アプリケーションのセッション数を設定する設定工程と、を含むことを特徴とするアプリケーションユニットのモニタ方法である。
【００２３】
また、請求項１５にかかる発明は、前記対象アプリケーションは、ソフトウエアアプリケーションであり、前記インタフェースは、前記ソフトウエアアプリケーションの表示画面であることを特徴とする。
【００２４】
また、請求項１６にかかる発明は、前記対象アプリケーションは、画像形成装置であり、前記インタフェースは、前記画像形成装置の操作パネルであることを特徴とする。
【００２５】
また、請求項１７にかかる発明は、前記対象アプリケーションは、特定用途向けの機器であり、前記インタフェースは、前記機器の操作パネルであることを特徴とする。
【００２６】
また、請求項１８にかかる発明は、前記通信工程は、インターネットメールによって前記モニタしたデータのログを送信することを特徴とする。
【００２７】
また、請求項１９にかかる発明は、コンピュータプログラム製品であって、コンピュータ記録媒体，およびユーザによる対象アプリケーションのインタフェースの使用法をコンピュータにモニタさせる、前記コンピュータ記録媒体に埋め込まれたコンピュータプログラムコードメカニズムを備え、前記インタフェースは、ユーザによって選択される複数のオペレーションを備え、前記コンピュータプログラムコードメカニズムは、前記ユーザが前記インタフェースの前記複数のオペレーションを選択するデータをモニタするように構成され、かつ、前記モニタしたデータのログを生成するように構成された第１のコンピュータコードデバイスと、前記モニタしたデータのログを送信するように構成された第２のコンピュータコードデバイスと、を備え、前記第２のコンピュータコードデバイスは、さらに、前記ユーザが対象アプリケーションから出た場合に、前記モニタしたデータのログを送信するように構成されていることを特徴とする。
【００２８】
また、請求項２０にかかる発明は、コンピュータプログラム製品であって、コンピュータ記録媒体，およびユーザによる対象アプリケーションのインタフェースの使用法をコンピュータにモニタさせる、前記コンピュータ記録媒体に埋め込まれたコンピュータプログラムコードメカニズムを備え、前記インタフェースは、ユーザによって選択される複数のオペレーションを備え、前記コンピュータプログラムコードメカニズムは、前記ユーザが前記インタフェースの前記複数のオペレーションを選択するデータをモニタするように構成され、かつ、前記モニタしたデータのログを生成するように構成された第１のコンピュータコードデバイスと、前記モニタしたデータのログを送信するように構成された第２のコンピュータコードデバイスと、前記第２のコンピュータコードデバイスが前記モニタしたデータのログを送信する前に、前記ユーザによって実行される対象アプリケーションのセッション数を設定するように構成された第３のコンピュータコードデバイスと、を備えたことを特徴とする。
【００２９】
また、請求項２１にかかる発明は、前記対象アプリケーションは、ソフトウエアアプリケーションであり、前記インタフェースは、前記ソフトウエアアプリケーションの表示画面であることを特徴とする。
【００３０】
また、請求項２２にかかる発明は、前記対象アプリケーションは、画像形成装置であり、前記インタフェースは、前記画像形成装置の操作パネルであることを特徴とする。
【００３１】
また、請求項２３にかかる発明は、前記対象アプリケーションは、特定用途向けの機器であり、前記インタフェースは、前記機器の操作パネルであることを特徴とする。
【００３２】
また、請求項２４にかかる発明は、前記第２のコンピュータコードデバイスは、インターネットメールによって前記モニタしたデータのログを送信することを特徴とする。
【００３７】
【発明の実施の形態】
図面を参照しつつ本発明の実施の形態について説明することにするが、いくつかの図において、同一または対応する部分については同一の符号を付すことにする。
【００３８】
図１は、マシンのオペレーションをモニタし、診断し、さらに制御する様々なマシンやコンピュータを示す図である。図１において、最初のネットワーク１６はローカルエリアネットワーク（ＬＡＮ）のようなものであり、コンピュータワークステーション１７，１８，２０および２２に接続されている。ワークステーション１７，１８，２０および２２は、ＩＢＭパーソナルコンピュータ互換デバイス，Ｕｎｉｘベースのコンピュータまたはアップル・マッキントッシュを含むどのような種類のコンピュータであっても良い。
【００３９】
また、ネットワーク１６には、ディジタル複写機／プリンタ２４，ファクシミリ装置２８およびプリンタ３２（デバイス，ビジネスオフィスマシン）が接続されている。デバイス２４，２８および３２ならびにワークステーション１７，１８，２０および２２は、マシンまたは被モニタデバイスと呼ばれるものである。また、以下で説明するあらゆるデバイスを含む他の種類のデバイスを上記マシンまたは被モニタデバイスとして使用することにしても良い。また、ファクシミリサーバ（図示せず）がネットワーク１６に接続されていても良く、そのファクシミリサーバは電話，ＩＳＤＮ（サービス統合ディジタル網）またはケーブル接続を有していても良い。
【００４０】
また、ディジタル複写機／プリンタ２４，ファクシミリ装置２８およびプリンタ３２がネットワーク１６に接続されていることに加えて、これらのデバイスが従来の電話回線および／またはＩＳＤＮ回線および／またはケーブル回線２６，３０，３４に対する接続をそれぞれ含んでいても良い。以下に説明するように、ビジネスオフィスマシンまたはビジネスデバイス２４，２８および３２は、ネットワーク１６を介したインターネット経由で、または直接的な電話，ＩＳＤＮまたはケーブル接続によって、モニタデバイスとも呼ばれる遠隔モニタ，診断および制御ステーションと通信する。
【００４１】
図１において、インターネットは参照符号１０で示されている。インターネット１０は、１２Ａ〜１２Ｉで示される相互に接続された複数のコンピュータおよびルータを含んでいる。インターネットを介して通信する方法は、NIC.DDN.MILまたはFTP NISC.SRI.COMからＦＴＰで得られるＲＦＣドキュメントを通じて知られている。ＴＣＰ／ＩＰ関連の通信については、たとえば、"TCP/IP illustrated," Vol. 1, The Protocols, by Stevens, from Addison-Wesley Publishing Company, 1994に説明があり、この書籍中の該当する記述は参照としてここに援用される。
【００４２】
図１において、ファイアウォール１４はインターネット１０とネットワーク１６との間に接続される。ファイアウォールは、許可されたコンピュータのみがインターネットを介してネットワークまたは他のコンピュータにアクセスすることを可能にするデバイスである。ファイアウォールは、既知のおよび市販のデバイスおよび／またはソフトウエアであり、その一例として、サンマイクロシステムズ社のSunScreenがある。同様に、ファイアウォール５０はインターネット１０とネットワーク５２との間に接続されている。また、ファイアウォール４０はインターネット１０とワークステーション４２との間に接続されている。
【００４３】
ネットワーク５２は、従来のネットワークであり、複数のワークステーション５６，６２，６８および７４を含むものである。これらのワークステーション５６，６２，６８および７４は、マーケティング部門，製造部門，設計エンジニアリング部門およびカスタマーサービス部門のような会社内の異なる部門に存在するものと考えることができる。ネットワーク５２を介して接続されるワークステーションに加えて、ネットワーク５２に直接接続されていないワークステーション４２も存在している。ディスク４６に格納されるデータベースの情報は、インターネット上における適当な暗号およびプロトコルを使用することにより、ネットワーク５２に接続しているワークステーションで直接共有することが可能である。
【００４４】
また、ワークステーション４２は電話回線および／またはＩＳＤＮ回線および／またはケーブル回線４４への直接接続を含み、電話回線，ＩＳＤＮ回線またはケーブル回線を介してディスク４６のデータベースにアクセスできるようにしても良い。本発明で使用されるケーブル回線は、テレビプログラムを伝送するために一般に使用されるケーブルを使って実現することが可能である。ケーブル回線は、コンピュータ等で一般に使用されるディジタルデータの高速コミュニケーションを提供するものであり、あらゆる所望の種類のケーブルを使用して実現することができる。
【００４５】
ビジネスオフィスマシン２４，２８および３２の情報を、ディスク４６，５４，５８，６４，７０および７６に格納される一以上のデータベースに格納することにしても良い。カスタマーサービス，マーケティング，製造およびエンジニアリング部門のそれぞれは、それら自身のデータベースを持つことにしても良いし、一以上のデータベースを共有することにしても良い。データベースを格納するために使用されるディスクのそれぞれは、ハードディスクまたは光ディスクのような不揮発性メモリである。
【００４６】
これに代えて、固体および／または半導体メモリデバイスを含むあらゆる種類のストレージデバイスにデータベースを格納することにしても良い。たとえば、ディスク６４はマーケティングデータベースを含み、ディスク５８は製造データベースを含み、ディスク７０はエンジニアリングデータベースを含み、さらに、ディスク７６はカスタマーサービスデータベースを含んでいる。これに代えて、ディスク５４および４６が一以上のデータベースを格納することにしても良い。
【００４７】
また、ワークステーション５６，６２，６８，７４および４２がインターネット１０に接続されていることに加えて、これらのワークステーションが、電話回線，ＩＳＤＮ回線またはケーブル回線６０，６６，７２，８０および４４への接続を含むことにしても良い。この接続は、モニタされ、診断されかつ／または制御されているマシンに対する確実な接続を提供するものであり、コネクションモード（connection-mode）通信の間において使用される。その上、インターネット，電話回線，ＩＳＤＮ回線およびケーブル回線のうちの一つが正常に動作していない場合に、他の一つが通信のために自動的に使用されるようにすることもできる。
【００４８】
本発明の特徴は、マシンを診断しかつ制御するために、マシンとコンピュータとの間においてコネクションレスモード（connectionless-mode）通信（たとえばインターネット電子メール）または伝送を行うことである。これに代えて、伝送される電子メールを、コネクションモード（connection mode）通信を使って実現することにしても良い。George McDanielによるThe IBM Dictionary of Computing(1994)は、コネクションレスモード伝送（connectionless-mode transmission）ついて、接続を確立することなく、ソースサービスアクセスポイントから一以上の行き先サービスアクセスポイントにデータのシングルユニットを伝送することと定義している。
【００４９】
また、The IBM Dictionary of Computingは、コネクションモード伝送（connection-mode transmission）について、ソースサービスアクセスポイントから一以上の行き先サービスアクセスポイントに、接続を介してデータのユニットを伝送することであると定義している。接続は、データ伝送に先立って確立され、データ伝送後に解放される。コネクションモードオペレーションおよびコネクションレスモードオペレーションについての追加情報は、the Handbook of Computer-Communications Standards, Vol. 1, 2nd edition, by William Stallings, 1990に記載されており、これは参照としてここに援用される。あるＤＴＥ（Data Terminal Equipment）から別のＤＴＥにデータを転送するために、固有の識別子（unique identifier）または固有のアドレスが各ＤＴＥのために用意されている。この固有の識別子またはアドレスは、コネクションレスモード通信およびコネクションモード通信の両方で使用することが可能である。
【００５０】
図２は、図１に示すディジタル複写機／プリンタ２４の機械的なレイアウトを示す図である。図２において、１０１はスキャナ用のファン、１０２はレーザープリンタで使用されるポリゴンミラーおよび１０３はレーザ（図示せず）からの光を平行にする（collimate）ために使用されるＦθレンズをそれぞれ示している。参照符号１０４はスキャナからの光を検出するセンサ、１０５はスキャナからの光をセンサ１０４上に集光するレンズ、１０６は感光体ドラム１３２上のイメージを消去するために使用されるケンチングランプである。１０７はコロナ放電器、１０８は現像ローラを示している。
【００５１】
参照符号１０９は、スキャンされるドキュメントを照明するために使用されるランプを示し、１１０，１１１および１１２はセンサ１０４上に向けて光を反射するために使用されるミラーを示す。１１３は、ポリゴンミラー１０２からの光を感光体ドラム１３２に向けて反射するために使用されるドラムミラーである。参照符号１１４はディジタル複写機／プリンタ２４の帯電エリアを冷却するために使用されるファン、１１５は第１の用紙カセット１１７から用紙を給紙するために使用される第１の給紙ローラ、１１６は手差し給紙テーブルである。
【００５２】
同様に、１１８は第２の用紙カセット１１９から用紙を給紙するために使用される第２の給紙ローラを示す。参照符号１２０はリレーローラ、１２１はレジストローラ、１２２はイメージ濃度センサ、１２３は転写／分離コロナユニットである。参照符号１２４はクリーニングユニット、１２５は真空ファン、１２６は搬送ベルト、１２７は圧力ローラ、１２８は出口ローラである。参照符号１２９は、用紙上にトナーを定着させるために使用されるホットローラ、１３０は排気ファン、１３１はデジタル複写機を駆動するために使用されるメインモータである。
【００５３】
図３は、図２に示したディジタル複写機／プリンタ２４の電子的構成要素を示すブロック図である。ＣＰＵ１６０はマイクロプロセッサであり、システムコントローラとして機能する。ランダムアクセスメモリ（ＲＡＭ）１６２は、ディジタル複写機の操作用パラメータを含む動的に変化する情報を記憶する。リードオンリーメモリ（ＲＯＭ）１６４は、ディジタル複写機を動かすために使用されるプログラムコードや、型番，複写機の製造番号およびデフォルトパラメータのような複写機を記述する情報（静的な状態のデータ）を記憶する。
【００５４】
マルチポート通信インタフェース（Ｉ／Ｆ）１６６は、ディジタル複写機が外部デバイスと通信することを可能にする。参照符号１６８は電話回線，ＩＳＤＮ回線またはケーブル回線を示し、１７０はネットワークを示す。マルチポート通信インタフェース１６６のさらなる情報については、図４を参照しつつ説明することにする。インタフェース（Ｉ／Ｆ）コントローラ１７２は、操作パネル１７４をシステムバス１８６に接続するために使用される。操作パネル１７４は、ディジタル複写機上で通常見られる入出力デバイスを含み、コピーボタンや、コピー枚数，拡大／縮小，濃い／薄い等の複写機のオペレーションを制御するキーを有している。さらに、液晶ディスプレイを操作パネル１７４中に含め、それによってユーザにディジタル複写機のパラメータおよびメッセージを表示するようにしても良い。
【００５５】
ストレージインタフェース（Ｉ／Ｆ）１７６は、各種ストレージデバイスをシステムバス１８６に接続する。これらのストレージデバイスには、従来のＥＥＰＲＯＭで置換可能なフラッシュメモリ１７８，およびディスク１８２が含まれる。ディスク１８２は、ハードディスク，光ディスクおよび／またはフロッピーディスクドライブを含むものである。ストレージインタフェース１７６には、追加のメモリデバイスをディジタル複写機に接続できるようにする接続部１８０が接続されている。
【００５６】
フラッシュメモリ１７８は、複写機の寿命にわたってまれに変更されるデジタル複写機のパラメータを記述する半静的データ（semi-static state data）を記憶するために使用される。そのようなパラメータは、ディジタル複写機のオプションおよび構成を含むものである。オプションインタフェース（Ｉ／Ｆ）１８４は、外部インタフェースのような追加のハードウエアをディジタル複写機に接続することを可能にする。クロック／タイマ１８７は、日時情報を得続けるために利用されると共に、経過時間を計るためにも利用される。
【００５７】
図３の左側には、ディジタル複写機を構成する各部が示されている。参照符号２０２はソータを示し、ソータ２０２はディジタル複写機の出力をソートするために使用されるセンサおよびアクチュエータを含んでいる。デュプレクサ（duplexer）２００は、ディジタル複写機で実行される多重操作を可能にするものであり、従来のセンサおよびアクチュエータを含むものである。ディジタル複写機は大容量トレイユニット１９８を含み、ディジタル複写機で使用される大量のシートを保持する用紙トレイを使用できるようにしている。大容量トレイユニット１９８は、従来のセンサおよびアクチュエータを含んでいる。
【００５８】
給紙コントローラ１９６は、ディジタル複写機に用紙を給紙すると共に、ディジタル複写機内において用紙を搬送するオペレーションを制御するために使用される。スキャナ１９４は、イメージをスキャンしてディジタル複写機に入力するために使用されるものであり、光源，ミラー等のような従来のスキャニング用構成要素を含むものである。さらに、ホームポジションセンサのようなスキャナセンサが、スキャナがホームポジションにあることを判定するために使用され、また、ランプサーミスタのようなスキャナセンサが、スキャニングランプの適切なオペレーションを確実にするために使用される。
【００５９】
ディジタル複写機の出力を印刷するプリンタ／イメージャ１９２が設けられており、それは従来のレーザ印字機構，トナーセンサおよびイメージ濃度センサを含んでいる。定着装置１９０は、高温ローラを使用して、ページ上にトナーを溶融して定着させるために使用されるものであり、出口センサ、定着装置がオーバーヒートしないことを保証するサーミスタおよびオイルセンサを含むものである。さらに、オプション用ユニットインタフェース１８８は、ディジタル複写機のオプションの構成要素、たとえば自動給紙装置、異なる種類のソータ／コレータまたはディジタル複写機に追加可能な他の構成要素等を接続するために使用される。
【００６０】
図４は、マルチポート通信インタフェース１６６の詳細を示す図である。印刷される情報を受信または伝送するセントロニクスインタフェース２２０，ケーブル回線による高速接続を実現するケーブルモデムユニット２２１，ＳＣＳＩインタフェース２２２，電話回線１６８Ａに接続される従来の電話インタフェース２２４，ＩＳＤＮ回線１６８Ｂに接続されるＩＳＤＮインタフェース２２６，ＲＳ−２３２インタフェース２２８およびＬＡＮ１７０に接続されるＬＡＮインタフェース２３０を介して、ディジタル複写機は外部デバイスと通信することができる。ローカルエリアネットワークおよび電話回線に接続される単一のデバイスは、Ｍｅｇａｈｅｒｔｚ社から市販されており、イーサネットモデムとして知られている。
【００６１】
ＣＰＵまたは他のマイクロプロセッサもしくは回路は、モニタプロセスを実行してディジタル複写機の各センサの状態をモニタし、また、シーケンスプロセスを実行してディジタル複写機の制御および動作に必要な命令コードを実行する。さらに、集中方式制御プロセスを実行してディジタル複写機の全体のオペレーションを制御し、通信プロセスを実行してディジタル複写機に接続されている外部デバイスと信頼性の高い通信を保証する。システム制御プロセスは、図３のＲＯＭ１６４のような静的状態メモリ,フラッシュメモリ１７８もしくはディスク１８２のような半静的メモリ，または，ＲＡＭ１６２，フラッシュメモリもしくはディスク１８２のような揮発性または不揮発性メモリにおいて記憶される動的な状態のデータをモニタすると共に制御する。さらに、静的な状態のデータを、フラッシュメモリ１７８およびディスク１８２の一方を含む不揮発性メモリのようなＲＯＭ１６４以外の装置に記憶することにしても良い。
【００６２】
上述した詳細な事項はディジタル複写機に関して記述されたものであるが、本発明は、たとえばアナログ複写機，ファクシミリ装置，スキャナ，プリンタ，ファクシミリサーバまたは他のビジネスオフィスマシンのような他のビジネスオフィスマシンまたはデバイス、または、電子レンジ，ビデオカセットレコーダ，ディジタルカメラ，携帯電話，パームトップコンピュータ等のようなユーザに結びつけられる特定用途向けの機器に等しく適用することが可能なものである。
【００６３】
さらに、本発明は、コネクションモードまたはコネクションレスモードコミュニケーションおよび電子メールを使用して動作する他の種類のマシンを含むものであり、たとえば、ガス，水もしくは電気計量システムを含む計量システム，自動販売機，または自動車のような機械的なオペレーションを実行し、モニタされることが必要で、任意の機能を実行する他のあらゆるデバイス等が含まれる。特殊な目的のマシンおよびコンピュータをモニタすることに加えて、本発明は、モニタおよび／または制御されるデバイスである汎用コンピュータをモニタし、制御し、かつ診断するために使用することも可能である。
【００６４】
図５は、異なるデバイスおよびサブシステムがインターネット１０に接続されるようにした、本発明の代替システムを示す図である。なお、発明の一部としてこれらのデバイスまたはサブシステムのそれぞれを有していなければならないというわけではないが、図５に示すあらゆる個々の構成要素またはサブシステムは発明の一部である。さらに、図５に示すインターネット１０に、図１に示した構成要素を接続することにしても良い。
【００６５】
図５において、ファイアウォール２５０は、イントラネット２５２に接続されている。イントラネット２５２に接続されているコンピュータまたはデバイスの一つはサービスマシン２５４であり、サービスマシン２５４はデータベースフォーマットで記憶され得るデータベース２５６を含みまたは接続されている。データベース２５６は、履歴，パフォーマンス，機能異常およびオペレーションまたは故障またはセットアップおよびモニタされるデバイスの構成要素またはオプション機器の統計情報を含むあらゆる他の情報を含むものである。サービスマシン２５４は、デバイスまたはコンピュータとして実現されても良く、それは、被モニタデバイスにデータの伝送をリクエストしたり、または、リモートコントロールおよび／または診断テストが被モニタデバイス上で実行されるようにリクエストしたりする。サービスマシン２５４は、どのような種類のデバイスとして実現されても良いが、汎用コンピュータのようなコンピュータ化されたデバイスを使用して実現されることが好ましい。
【００６６】
図５に示す別のサブシステムは、ファイアウォール２５８，イントラネット２６０およびそれに接続されたプリンタ２６２を含んでいる。このサブシステムには、イントラネット２６０（または異なる種類のコンピュータネットワーク）の間に接続された別々の汎用コンピュータは存在していないが、プリンタ２６２による（および同様に複写機２８６による）電子メールメッセージを送信および受信する機能は、プリンタ２６２中に含まれたまたはプリンタ２６２に搭載された回路，マイクロプロセッサまたは他のあらゆる種類のハードウエアによって実行される。
【００６７】
代替的な種類のサブシステムは、インターネットサービスプロバイダ２６４の利用を含む。インターネットサービスプロバイダ２６４は、America Online, Netcom, CompuServe, Nifty-serve, the Internet service provider Erols等のような既知の商業上の会社を含むどのような種類のインターネットサービスプロバイダであっても良い。このサブシステムにおいて、コンピュータ２６６は、モデムを介してインターネットサービスプロバイダ２６４に接続される。
【００６８】
モデムの例としては、電話回線モデム，ケーブルモデム，ＩＳＤＮ（サービス総合ディジタル通信網）回線やＡＤＳＬ（非対称ディジタル加入者線（asymmetric digital subscriber line））において使用されるモデムのような任意の種類のワイヤを使用するモデム，フレームリレー通信（frame relay communication）を使用するモデム，あらゆるディジタルまたはアナログモデム，無線周波モデムのような無線モデム，光ファイバーモデム，または赤外線光波を使用するデバイスがある。さらに、ビジネスオフィスデバイス２６８はコンピュータ２６６に接続される。ビジネスオフィスデバイス２６８（および図５に示す他のあらゆるデバイス）に代えて、ディジタル複写機，あらゆる種類の電気機器，セキュリティーシステム，または電気・水・ガス需給計器のような需給計器，またはここで説明される他のあらゆるデバイスのような異なる種類のマシンが、モニタまたは制御されるようにしても良い。
【００６９】
また、図５において、ファイアウォール２７０はネットワーク２７４に接続されている。ネットワーク２７４は、たとえばイーサネットネットワーク等、あらゆる種類のコンピュータネットワークとして実現され得る。ネットワークを制御するために使用することが可能なネットワーキングソフトウエアは、ノベル社やマイクロソフト社による市販のソフトウエアを含むあらゆる所望のネットワーキングソフトウエアを含む。必要に応じて、ネットワーク２７４をイントラネットとして実現することにしても良い。ネットワーク２７４に接続されるコンピュータ２７２は、ビジネスオフィスデバイス２７８から情報を得るために使用されても良く、また、ネットワークに接続されている様々なマシンにおいて発生した問題を示すレポートやネットワーク２７４に接続されているデバイスの毎月の使用レポートを生成するために使用されても良い。
【００７０】
この実施の形態において、コンピュータ２７６はビジネスオフィスデバイス２７８およびネットワーク２７４の間に接続されている。このコンピュータ２７６は、ネットワーク２７４から電子メールコミュニケーションを受信すると共に、適当なコマンドもしくはデータまたは他のあらゆる情報をビジネスオフィスデバイス２７８に転送する。ビジネスオフィスデバイス２７８がコンピュータ２７６に接続されると説明したが、ビジネスオフィスデバイス２７８とコンピュータ２７６との間にワイヤード接続が要求されるされるわけではなく、無線周波接続，および赤外線接続もしくは光ファイバを介した光接続の使用を含むワイヤまたはワイヤレス方式を使用することによって、ビジネスオフィスデバイス２７８とコンピュータ２７６との間の通信を実現することにしても良い。
【００７１】
同様に、図５に示される様々なネットワークおよびイントラネットのそれぞれは、無線周波ネットワークのようなワイヤレスネットワークの確立を通じることを含むあらゆる所望の方法を使用することによって確立され得る。ここで記述される無線通信は、拡張コード，およびワールドワイドウェブサイトwww.bluetooth.comのBluetooth  Specificationに開示されている周波数ホッピングワイヤレスネットワーク（frequency hopping wireless network）のような周波数ホッピング技術（frequency hopping techniques）を使用する技術を含む広帯域スペクトラム技術を使用することによって確立されても良い。なお、上記文献は参照としてここに援用される。
【００７２】
図５に示す別のサブシステムは、ファイアウォール２８０，イントラネット２８４,イントラネット２８４にそれぞれ接続されるコンピュータ２８２および複写機２８６を含んでいる。コンピュータ２８２は、レポートを生成するために使用されても良く、また、診断手順または制御手順をリクエストするために使用されても良い。これらの診断および制御手順は、複写機２８６または図５に示される他のあらゆるデバイスもしくは図５で使用される他のあらゆるデバイスに関して実行されても良い。図５は複数のファイアウォールを示している。ファイアウォールは好ましいものではあるが、オプションの機器である。したがって、必要に応じて、ファイアウォールを使用することなく、本発明を動作させることにしても良い。
【００７３】
図６は、構成要素３０２，３０４，３０６，３０８，３１０，３１２，３１４，３１６および３１８を含む典型的な電子メール交換システム（email exchange system）に接続されるアプリケーションユニット３００を示す図である。これらは、従来の方法で実現されることが可能なものであり、前述したStevensの図２８．１から引用されたものである。アプリケーションユニット３００は、ここで記述されるいずれのデバイスであっても良く、ユーザ端末３０２は、図５に示したコンピュータ２７６にような図示されたどのコンピュータに対応するものであっても良い。図６にはユーザ端末３０２が送信側であるとして示されているが、図６において発信機能および着信機能は逆であっても良い。さらに、ユーザが端末に存在しなければならないとする必要性が必ずしもあるわけではない。
【００７４】
ユーザエージェント３０４はユーザ端末３０２に接続される。Ｕｎｉｘ版のポピュラーなユーザエージェントは、MH，Berkeley Mail，ElmおよびMushを含む。ユーザエージェント３０４は、送信される電子メールメッセージを作成し、必要に応じて、送信されるこれらのメッセージをメール待ち行列（queue）３０６に置く。送信されるメールは、メッセージ転送エージェント（ＭＴＡ：message transfer agent）３０８に転送される。Ｕｎｉｘシステムの一般的なＭＴＡはSendmailである。
【００７５】
概して、メッセージ転送エージェント３０８および３１２は、ＴＣＰ（Transfer Communication Protocol）接続またはＴＣＰ／ＩＰ（Internet Protocol）接続もしくはプロトコルを使用してコミュニケーションを交換する。なお、メッセージ転送エージェント３０８および３１２の間のコミュニケーションはインターネット上で行われても良いが、代わりとして、ローカルエリアネットワーク、広域ネットワークおよび／またはイントラネットのようなあらゆるネットワークコネクションを含む任意の種類の接続上で行われても良い。さらに、メッセージ転送エージェント３０８および３１２の間においては、あらゆる所望の接続を利用することも可能である。
【００７６】
メッセージ転送エージェント３１２からの電子メールメッセージは、受信ターミナルの機能を果たすユーザメールボックス３１４に記憶され、ユーザエージェント３１６へ転送されると共に、最終的にユーザ端末３１８に転送される。
【００７７】
ＴＣＰ接続は、コネクションモード伝送を提供する。しかし、送信側のユーザ端末３０２と受信側のユーザ端末３１８との間で直接接続が通常確立されることはない。このように、二人のユーザ間または二つの端末間に言及される場合、電子メールメッセージの伝送はコネクションレスモード通信と考えて良い。ただし、ＭＴＡの間の転送を考慮する場合、通信は通常コネクションモード通信である。
【００７８】
インターネットは多くの人々や組織によってアクセス可能なネットワークであるため、安全性について考慮されているわけではない。したがって、インターネット上に伝送されるメッセージは、メッセージを秘密にしておくために暗号化されるべきである。暗号メカニズムは知られていると共に市販されており、それらを本発明で使用することにしても良い。たとえば、Ｃライブラリ関数であるcrypt()は、Ｕｎｉｘオペレーティングシステム用としてSun Microcomputers社から入手することができる。また、他の暗号および復号化ルーチンは知られていると共に市販されており、これを本発明で使用することにしても良い。
【００７９】
図６の一般的な構成に代えて、ユーザ端末、さらにはメッセージ転送エージェントとして機能する単一のコンピュータを使用することにしても良い。図７に示すように、アプリケーションユニット３００は、メッセージ転送エージェント３０８を含むコンピュータ３０１に接続される。必要に応じて、ユーザエージェント３０４および送信されるメールのメール待ち行列３０６を含む図６の送信側の他の構成要素が、図７のコンピュータ３０１に含まれることにしても良い。
【００８０】
さらなる代替的な構成が図８に示されている。ここでは、メッセージ転送エージェント３０８がアプリケーションユニット３００の一部として構成されている。また、メッセージ転送エージェント３０８は、メッセージ転送エージェント３１２にＴＣＰ接続３１０で接続されている。この図８に示す実施の形態は、アプリケーションユニット３００が直接ＴＣＰ接続３１０に接続されており、電子メール機能を有している例を示すものである。この図８に示す実施の形態の一般的な例としては、アプリケーションユニット３００がＲＦＣ２３０５（インターネットメールを使用するファクシミリのシンプルモード）の電子メール機能を有するファクシミリ装置である場合が挙げられる。
【００８１】
図９は、メールを伝送する代替的なインプリメンテーションを示しており、Stevensの図２８．３に基づくものである。図９は、各末端でリレーシステム（relay system）を有する電子メールシステムを示している。図９の構成は、ある組織で一つのシステムがメールハブとして機能することを可能にしている。図９においては、四つのＭＴＡが二つのユーザエージェント３０４および３１６の間に接続されている。これらのＭＴＡは、ローカルＭＴＡ３２２，リレーＭＴＡ３２８，リレーＭＴＡ３３２およびローカルＭＴＡ３４０を含んでいる。メールメッセージのために使用される最も一般的なプロトコルは、ＳＭＴＰ（Simple Mail Transfer Protocol）である。
【００８２】
あらゆる所望のメールプロトコルを利用することにしても良いが、この発明ではＳＭＴＰを使用することにしても良い。図９において、３２０は送信側ホストを示し、送信側ホスト３２０はユーザ端末３０２，ユーザエージェント３０４およびローカルＭＴＡ３２２を含んでいる。アプリケーションユニット３００は、送信側ホスト３２０に接続されるか、またはそれに代えて、送信側ホスト３２０に含まれるようにしても良い。
【００８３】
別の場合として、アプリケーションユニット３００およびホスト３２０を一つのマシンとすることも可能であり、ホスト機能をアプリケーションユニット３００中に組み込むことにしても良い。他のローカルＭＴＡは、ローカルＭＴＡ３２４および３２６を含んでいる。伝送されるメールおよび受信されるメールは、リレーＭＴＡ３２８のメール待ち行列３３０の待ち行列に入れられても良い。メッセージは、ＴＣＰ接続３１０を介して伝送される。ＴＣＰ接続３１０は、たとえばインターネットであっても良いし、他のあらゆる種類のネットワークまたは接続であっても良い。
【００８４】
伝送されたメッセージは、リレーＭＴＡ３３２で受信され、必要に応じて、メール待ち行列３３４に格納される。そして、メールは受信側ホスト３４２のローカルＭＴＡ３４０に伝送される。メールは一以上のユーザメールボックス３１４に置かれ、その後ユーザエージェント３１６に転送され、最終的にユーザ端末３１８に転送されるようにしても良い。ユーザが端末にいることを要求しないことにしても良く、ユーザとの対話処理なしで直接端末にメールが転送されるようにしても良い。受信側の他のローカルＭＴＡは、ローカルＭＴＡ３３８およびローカルＭＴＡ３３６を含み、それらはそれら自身のメールボックス，ユーザエージェントおよび端末を有していても良い。
【００８５】
図５のコンピュータ２６６，２７６および２８６を含む本発明で利用される様々なコンピュータは、図１０に示すようにして実現され得る。さらに、必要に応じて図５のサービスマシン２５４，コンピュータ２７２およびコンピュータ２８２を含むこの発明によって利用される他のどのコンピュータも、図１０に示すコンピュータに類似した方法で実現することができる。しかし、図１０に示す全ての構成要素がこれらのコンピュータのそれぞれにおいて必要というわけではない。
【００８６】
図１０において、コンピュータ３６０はＣＰＵ３６２を含み、ＣＰＵ３６２は、たとえばインテル，モトローラ，日立およびＮＥＣのような会社から市販されているマイクロプロセッサを含む任意の種類のプロセッサとして実現されても良い。また、ＲＡＭ３６４のような作業メモリおよび無線デバイス３６８と通信する無線インタフェース３６６が設けられている。無線インタフェース３６６および無線デバイス３６８の間のコミュニケーションには、たとえば電波または光波のような任意の無線媒体を使用しても良い。電波はＣＤＭＡ（Code Division Multiple Access）通信のような広帯域スペクトラム技術またはBluetooth Specificationに開示されているもののような周波数ホッピング技術を使用することによって実現可能である。
【００８７】
ＲＯＭ３７０およびフラッシュメモリ３７１が設けられているが、フラッシュメモリ３７１に加えてまたは代えて、ＥＰＲＯＭまたはＥＥＰＲＯＭのような他のあらゆる種類の不揮発性メモリを利用することにしても良い。入力コントローラ３７２には、キーボード３７４およびマウス３７６が接続されている。シリアルインターフェース３７８は、シリアルデバイス３８０に接続されている。さらに、パラレルインターフェース３８２はパラレルデバイス３８４に接続され、ユニバーサルシリアルバス（ＵＳＢ）インタフェース３８６はユニバーサルシリアルバス（ＵＳＢ）デバイス３８８に接続され、さらに、ＩＥＥＥ１３９４インタフェース３９８に接続されるファイヤワイヤ（firewire）デバイスと一般に呼ばれるＩＥＥＥ１３９４デバイス４００が設けられている。
【００８８】
コンピュータ３６０の様々な構成要素は、システムバス３９０で接続される。ディスクコントローラ３９６は、フロッピーディスク（ＦＤ）ドライブ３９４およびハードディスク（ＨＤ）ドライブ３９２に接続される。通信コントローラ４０６は、コンピュータ３６０が他のコンピュータと通信し、またはたとえば電話回線４０２もしくはネットワーク４０４上に電子メールメッセージを送信することを可能にする。Ｉ／Ｏ（入力／出力）コントローラ４０８は、たとえばＳＣＳＩ（Small Computer System Interface）バスを使用することにより、プリンタ４１０およびハードディスク（ＨＤ）ドライブ４１２に接続される。また、ディスプレイコントローラ４１６が、ＣＲＴ（Cathode Ray Tube）４１４に接続されている。ディスプレイとしては、液晶ディスプレイ，発光ダイオードディスプレイ，プラズマディスプレイ等を含む他のあらゆる種類のディスプレイを使用することにしても良い。
【００８９】
本発明の一つの特徴は、ユーザによるアプリケーションユニットの対象アプリケーションの使用法をモニタすることである。この例におけるアプリケーションユニットという用語は、ユーザが対話および制御するシステムに該当し、対象アプリケーションは、アプリケーションユニットのユーザによって制御される製品である。たとえば、アプリケーションユニットは典型的にコンピュータであり、従って対象アプリケーションはワードプロセッサのようなソフトウエアプログラムであり、ソフトウエアプログラムにある機能を実行させるためにコンピュータスクリーン上でポインタを動かし、あるコマンドアイコン上でクリックすることによってユーザが操作するコンピュータ上で動作するものである。
【００９０】
この意味において、本発明のアプリケーションユニットは、ソフトウエアプログラムを動作させる図１に示したワークステーション１７，１８，２０，２２，５６，６２，６８，７４，４２や、ソフトウエアプログラムを動作させる図７に示したコンピュータ３０１等のいずれか一つについて述べるものであっても良い。また、アプリケーションユニットは、ディジタル複写機／プリンタ２４，ファクシミリ装置２８およびプリンタ３２のような画像形成装置について述べるものであっても良い。この例においては、これらのデバイスアプリケーションユニットのそれぞれが、操作パネル１７４（図３参照）のようなユーザインタフェースを含み、ユーザがそれを利用してデバイスアプリケーションユニットと対話すると共に、デバイスアプリケーションユニットを制御する。
【００９１】
本発明は、そのような操作パネル上においてユーザが選択した操作をモニタするものである。さらなる例として、アプリケーションユニットは、操作パネルを有する電子レンジのような特定用途向けの機器であっても良い。また、アプリケーションユニットは、ユーザが対話するソフトウエアを含む他のあらゆるデバイスであっても良く、この場合において、対象アプリケーションはユーザが対話するソフトウエアの一つの機能に該当する場合がある。
【００９２】
本発明のひとつの特徴は、ユーザによるアプリケーションユニットのそのような対象アプリケーションの使用法をモニタすることであると共に、モニタした使用法に関するデータを効率的に伝送することである。このデータは、典型的に、図６もしくは図７のコンピュータ３０１または図８のアプリケーションユニット３００による電子メールで伝送される。そして、ユーザによるアプリケーションユニットの対象アプリケーションの使用法に関するデータは、多くの点、たとえばソフトウエア開発を改善する際、画像形成装置のようなデバイスの使用をモニタする際、機器およびソフトウエアに伴うユーザの問題を発見する際、最も頻繁に使用されるアプリケーションユニットの特徴を見出す際等において使用される。
【００９３】
図１１は、本発明の様々な要素を示している。より詳細には、図１１は、対象アプリケーション５０５を含むアプリケーションユニット３００を示し、対象アプリケーション５０５はユーザインタフェース５１０を含んでいる。このユーザインタフェース５１０は、ユーザが対象アプリケーション５０５を制御するためのインタフェースである。上述したように、一つの共通の例において、対象アプリケーション５０５は、本明細書の図１に例として示したワークステーション１７，１８，２０，２２の一つにおいて動作するソフトウエアプログラムである場合がある。この例においては、ユーザインタフェース５１０は、これらのワークステーションの一つのモニタ上における表示であっても良い。
【００９４】
対象アプリケーションのこの例は、図１２において詳細に示されており、図１２は、ワークステーション１７，１８，２０，２２の一つのモニタ６００を示している。対象アプリケーションのこの例は、複数のファンクションキー６０５がモニタ６００上に表示されており、ユーザはたとえばマウスでポインタの位置を変化させ、このようなファンクションキーの一つの上においてクリックすることにより、これらのファンクションキーにアクセスすることができる。さらなる例として、モニタ６００がタッチパッドである場合、ユーザはファンクションキー６０５の一つにタッチすることによってソフトウエアアプリケーションユニットを制御することができる。これらの例において、本発明は、ユーザがファンクションキー６０５の一つを「クリック」し、またはタッチする各操作をモニタし、このようなユーザの使用法に関するデータを続く通信のために記録する（ログをとる）。
【００９５】
さらなる例として、上述したように、アプリケーションユニット３００は、図１に示したディジタル複写機／プリンタ２６，ファクシミリ装置２８またはプリンタ３２のような画像形成装置である場合がある。この場合、ユーザインタフェース５１０は、ユーザが画像形成装置の制御の操作を行うための複数のキーおよび／またはタッチスクリーンを有する操作パネル（たとえば、図３の操作パネル１７４）の形態をとる場合がある。この例におけるこのようなユーザインタフェース５１０の具体的な例としては、アプリケーションユニット３００がディジタル複写機／プリンタ２６またはプリンタ３２の形態をとる場合、図１３に示されるようなものを挙げることができる。この例において、本発明は、ユーザが操作パネル上の制御ボタンの一つを押下する各操作をモニタし、そのようなユーザの使用法に関するデータを続く通信のために記録する。
【００９６】
図１３は、画像形成装置のユーザインタフェースをより詳細に示すものである。図１３は、一例として、図３の操作パネル１７４に対応させることが可能なユーザインタフェース７００を示すものである。図１３に示すように、そのような操作パネル７００はタッチスクリーン７０５を含み、その上には様々なコマンドが表示され、オペレータはタッチスクリーン７０５の異なる部分をタッチすることでコマンドを選択することができる。また、操作パネル７００は、１０キーパッド７１０や様々な他の制御ボタン７１５を含むものであっても良い。画像形成装置の場合において、制御ボタン７１５は、用紙サイズを選択するコマンド，倍率を変更するコマンド，所望の画像の濃度を変更するコマンド等である場合がある。
【００９７】
図１１のアプリケーションユニット３００が画像形成装置であり、ユーザインタフェース５１０が図１３に示した操作パネル７００に相当するものである場合、本発明は、ユーザの図１３に示したコマンド選択をモニタすることができる。また、図１３に示した操作パネル７００は、設計変更することにより、ユーザが結び付けられる、電子レンジ・ビデオカセットレコーダ・ディジタルカメラ・携帯電話・パームトップコンピュータ等のような特定用途向け機器のための操作パネルとすることも可能である。
【００９８】
図１２および図１３は、本発明が適用される図１１のアプリケーションユニット３００およびユーザインタフェース５１０の例を示すものである。当業者にとって、本発明が様々なタイプのユーザインタフェースを含む様々なタイプのアプリケーションユニットに向けられたものであるということは容易に理解されるものである。本発明は、ユーザインタフェースを含み、ユーザがそのユーザインタフェースをどのように使用するのかをモニタすることが望まれるあらゆるデバイスに本質的に適用可能なものである。
【００９９】
図１１に戻り、本発明は、また、モニタ・ログブロック（monitoring and logging block）５１５および送信ブロック５２０を含んでいる。モニタ・ログブロック５１５は、ユーザによるユーザインタフェース５１０の使用法をモニタすると共に、そのようなモニタした使用法に関するデータを記録する（ログをとる）。指定された時間に、ユーザによるユーザインタフェース５１０の使用法を記録したデータが送信ブロック５２０に送信され、それにより、そのようなモニタされた使用法のデータは指定された相手先に送信される。
【０１００】
モニタ・ログブロック５１５は、アプリケーションユニット３００を含むデバイスに実装されるようにすることもでき、また、別のシステムコントロール装置に実装されるようにすることも可能である。また、送信ブロック５２０は、図８のアプリケーションユニット３００を含むデバイスに実装されるようにすることもでき、また、アプリケーションユニット３００が接続される図７のコンピュータ３０１に実装されるようにすることも可能である。本発明は、また、コンピュータ読み取り可能な媒体上に記録されたコンピュータ制御コードの形態をとることも可能である。
【０１０１】
図１４は、アプリケーションユニット３００部分の全システム図を示している。図１５〜図２１は、図１１に示したモニタ・ログブロック５１５および送信ブロック５２０において実行されるオペレーションを示すものである。図１４〜図２１は、"The Unified Modeling Language User Guide" by Booch et al. Addison-Wesley, 1999で述べられているような統一されたモデリング言語（unified modeling language）を用いたオブジェクト指向フォーマットにおけるシステムおよびそのようなオペレーションについて記述するものである点に留意すべきである。
【０１０２】
図１４において、オブジェクトＭＢ１３００は、モニタされることになる対象アプリケーションを示している。図１４における破線のブロックは、モニタ機能の役割を果たすオブジェクトを含んでいる。CMonitoringIFオブジェクト１３０５は、対象アプリケーションＭＢ１３００のモニタ機能を実行する。CUsageLoggerオブジェクト１３１５は、CMonitoringIFオブジェクト１３０５で得られたモニタデータを記録するための機能を含んでいる。CUsageLoggerオブジェクト１３１５は、システム情報を得ることができるようにSystemオブジェクト１３２５に接続されると共に、ログデータ（記録されたデータ）のストレージであるCUsageDataオブジェクト１３３０に接続される。
【０１０３】
また、UsageDataSendManagerオブジェクト１３１０は、CMonitoringIFオブジェクト１３０５に接続されている。このUsageDataSendManagerオブジェクト１３１０は、CMonitoringIFオブジェクト１３０５によってモニタされることに応じて、ユーザによる対象アプリケーションＭＢ１３００の使用法に関してモニタしたデータの伝送を制御する。また、このUsageDataSendManagerオブジェクト１３１０は、送信されるデータを変更することができるCUsageInformationオブジェクト１７３０，送信されるデータをストアするLogFileオブジェクト１６０５，ならびにLogFileオブジェクト１６０５へのおよびLogFileオブジェクト１６０５からのデータをエンコードおよびデコードすることができるUsageDataEncoderDecoderオブジェクト１６１０に接続されている。また、UsageDataSendManagerオブジェクト１３１０は、送信されるデータをSendingBlockオブジェクト１６００に与える。
【０１０４】
図１４に示された様々なオブジェクトによって実行される各種オペレーションが、図１５〜図２１においてさらに詳細に説明される。図１５〜図２１において、様々な機能は数字およびコロンの後に示されている。この名称は、様々なオペレーションの順序を常に示すものではない。なぜなら、様々なオペレーションを平行して実行し、また、異なる時間に実行するようにすることが可能であるからである。
【０１０５】
図１５は、本発明において実行されるモニタリング開始操作（Start  Monitoring  Control）を示している。図１５に示されるように、対象アプリケーションＭＢが起動すると、ＭＢオブジェクト１３００はCMonitoringIFオブジェクト１３０５のファンクションstartMonitoringを呼び出す。このオペレーションは、ユーザによるユーザインタフェース５１０の使用法に対応するデータの記録をとること（ログをとること）の開始を示している。そして、CMonitoringIFオブジェクト１３０５は、UsageDataSendManagerオブジェクト１３１０のsetTriggerInformationファンクションを呼び出す。このオペレーションは、記録されたデータ（ログデータ）がいつ送信ブロック５２０によって送信されるべきかを示すトリガ情報をセットするものである。このトリガ情報がどのようにしてセットされるかについては、以下で説明する図１６を参照しつつさらに詳細に説明する。
【０１０６】
図１５に戻り、CMonitoringIFオブジェクト１３０５はまた、CUsageLoggerオブジェクト１３１５からlogStartDataファンクションを呼び出す。このオペレーションについては、UsageDataSendManager１３１０のsetTriggerInformationファンクションの呼び出しと平行して、またはsetTriggerInformationファンクションを呼び出した後に実行することができる。
【０１０７】
そして、CUsageLoggerオブジェクト１３１５はCTimeオブジェクト１３２０のGetCurrentTimeファンクションを呼び出し、続いてCTimeオブジェクト１３２０はCTimeデータをCUsageLoggerオブジェクト１３１５に戻す。返却CTimeデータはモニタリングの開始時刻のデータである。このオペレーションは、開始時刻を示すデータをCUsageLoggerオブジェクト１３１５に送信するものであるため、モニタされている対象アプリケーション５０５のユーザインタフェース５１０の使用をユーザがいつ開始したかを決定することができる。
【０１０８】
そして、CUsageLoggerオブジェクト１３１５は、CUsageDataオブジェクト１３３０のsetStartTimeファンクションを呼び出し、開始時刻のCTimeデータをCUsageDataオブジェクト１３３０に送信する。CUsageLoggerオブジェクト１３１５は、つぎのオペレーションにおいて、Systemオブジェクト１３２５のgetCumulativeUsageファンクションを呼び出し、Systemオブジェクト１３２５はUINTデータをCUsageLoggerオブジェクト１３１５に戻す。このオペレーションにおいて、CUsageLoggerオブジェクト１３１５は、Systemオブジェクト１３２５から、ユーザがモニタされる対象アプリケーションを使用した回数を取得し、Systemオブジェクト１３２５はタイプＵＩＮＴの整数値を返す。そのため、このオペレーションにおいて、対象アプリケーション５０５が２回以上利用された場合、CUsageLoggerオブジェクト１３１５はこの複数の使用を反映するように更新される。
【０１０９】
そして、CUsageLoggerオブジェクト１３１５は、setCumulativeUsageファンクションを呼び出すと共に、値を増加させた後にデータＵＩＮＴをCUsageDataオブジェクト１３３０に送信する。また、CUsageLoggerオブジェクト１３１５はSystemオブジェクト１３２５のgetSystemIDファンクションを呼び出し、そしてSystemオブジェクト１３２５はシステムＩＤを示すデータCStringをCUsageLogger１３１５に戻す。システムＩＤは、対象アプリケーション５０５が動作する環境を識別する。このＩＤの目的は、異なるシステムからの使用法のデータをソートすることにある。また、CUsageLoggerオブジェクト１３１５はCUsageDataオブジェクト１３３０のsetSystemIDファンクションを呼び出しシステムＩＤを示すデータCStringをCUsageDataオブジェクト１３３０に送信する。
【０１１０】
図１６は、トリガのタイプ（trigger type）を設定する特定の制御操作を示すものである。トリガのタイプは、ユーザインタフェース５１０の使用法をモニタして記録したデータが送信ブロック５２０から送信されることになるときを示すものである。より詳細には、上述したように、本発明においてはユーザによるユーザインタフェース５１０の使用法をモニタすることができる。この場合、送信ブロック５２０によって、モニタしたデータを様々な時刻において送信することができる。ひとつのオペレーションは、ユーザが対象アプリケーション５０５を出る（を終了させる）毎の後に、モニタした使用法のデータを送信ブロック５２０で送信することである。
【０１１１】
たとえば、対象アプリケーション５０５がユーザの実行しているソフトウエアである場合、ユーザが終了機能をクリックしまたはタッチする毎に、モニタされると共に記録されたデータが送信ブロック５２０によって送信される。代替的なものとして、対象アプリケーション５０５を使用するセッションの所定の回数の後のみに、モニタした使用法のデータが送信ブロック５２０によって送信されるようにユーザが設定を行うこともできる。たとえば、ユーザが設定を行い、またはデフォルトのオペレーションが設定を行い、その結果、ユーザが対象アプリケーション５０５を５回使用した後のみに、モニタした使用法のデータを送信ブロック５２０が送信するようにすることができる。図１６は、トリガファンクションを設定する制御操作を示すものである。
【０１１２】
図１６において、ＭＢオブジェクト１３００はCMonitoringIFオブジェクト１３０５のsetSendTriggerTypeファンクションを呼び出し、そして、CMonitoringIFオブジェクト１３０５はUsageDataSendManager１３１０のsetSendTriggerTypeファンクションを呼び出す。そして、UsageDataSendManagerオブジェクト１３１０はSystemオブジェクト１３２５のsetSendTriggerTypeファンクションを呼び出すと共に、Systemオブジェクト１３２５にデータUINTを与える。UINTデータは、この場合、対象アプリケーション５０５を利用するセッションの所定の回数の後に送信ブロック５２０に送信するためのトリガのタイプを示すデータである。それにより、本発明におけるこれらのステップで実行されるこのオペレーションは、ユーザによる対象アプリケーション５０５のセッションの所定の回数の後にトリガが送信ブロック５２０に送信され、モニタされると共に記録されたデータを指定された場所に送信するように、トリガのタイプをセットする。
【０１１３】
上述したように、本発明のさらなるオペレーションとして、送信ブロック５２０にトリガを発行することに先立って実行されるセッションの数を、ＭＢオブジェクト１３００がセットすることができ、または、初期設定が実行されてセットするようにすることもできる。一例として、ＭＢオブジェクト１３００は、対象アプリケーションを５回使用する毎の後に、モニタしかつ記録したデータを送信するための設定を発行することができる。
【０１１４】
このオペレーションにおいて、複数のセッションの後にトリガのタイプをセットするという上述したオペレーションを実行した後、ＭＢオブジェクト１３００は、さらに、CMonitoringIFオブジェクト１３０５のsetNumberOfSessionsファンクションを呼び出し、これによりUsageDataSendManagerオブジェクト１３１０のsetNumberOfSessionsを呼び出し、データUINTをUsageDataSendManagerオブジェクト１３１０に送信し、これによりSystemオブジェクト１３２５のsetNumberOfSessionsファンクションを呼び出し、UINTデータをSystemオブジェクト１３２５に送信する。この場合、データUINTは、ＭＢオブジェクトの設定または送信ブロック５２０にトリガを送信することに先立って実行されるセッションの数の初期設定を示している。そのため、Systemオブジェクト１３２５は、トリガを送信することに先立って実行しなければならないセッションの回数を示すデータUINTを記憶する。
【０１１５】
図１７および図１８は、ユーザインタフェース５１０を介してユーザによって選択されたアプリケーションユニット５０５のファンクションをモニタするシナリオを示している。すなわち、これらの図は、たとえばユーザが対象アプリケーションとしてのソフトウエアアプリケーションにおけるコマンド上をクリックし、または特定用途向けの機器，画像形成装置等の操作パネル上のボタンを押下した場合に、本発明において実行される実際のモニタおよび記録（ログ）オペレーションを示すものである。
【０１１６】
図１７において、ユーザがモニタされている対象アプリケーション５０５のユーザインタフェース５１０から特定のコマンドを選択すると、ＭＢオブジェクト１３００はCMonitoringIFオブジェクト１３０５のcommandUsageファンクションを呼び出すと共に、ユーザによって選択されたユーザインタフェース５１０上のコマンドまたはファンクションの名称を示すデータCStringをCMonitoringIFオブジェクト１３０５に送信する。CMonitoringIFオブジェクト１３０５は、そして、CUsageLoggerオブジェクト１３１５のlogCommandUsageファンクションを呼び出すと共に、CStringデータをCUsageLoggerオブジェクト１３１５に送信する。
【０１１７】
このファンクションは、ユーザによって選択されたユーザインタフェース５１０上のコマンドまたはファンクションのデータを記録(記憶)するようにCUsageLoggerオブジェクト１３１５に指示するものである。そして、CUsageLoggerオブジェクト１３１５は、CStringデータをCUsageDataオブジェクト１３３０に送信すると共に、CUsageDataオブジェクト１３３０のupdateCommandUsageファンクションを呼び出す。そして、CUsageDataオブジェクト１３３０は、選択されると共にモニタされたコマンドまたはファンクションの押下された名称を、その名称が存在しない場合、即ちその名称が予め選択されることなく、そして記憶されていない場合にあっては、その頻度と共に記憶し、または、その名称が存在する場合、即ちその名称が予め選択されて記憶されている場合にあっては、その名称に関連する頻度を増加させる。
【０１１８】
図１８のコマンド使用シナリオは、CUsageLoggerオブジェクト１３１５がCTimeオブジェクト１３２０のGetCurrentTimeファンクションを呼び出し、それに応じてCTimeオブジェクト１３２０が現在時刻を示すCTimeデータをCUsageLoggerオブジェクト１３１５に送信することを除き、図１７のものと同一である。そして、CTimeデータは、また、CUsageDataオブジェクト１３３０に送信される。図１８におけるこのオペレーションにおいて、モニタされている対象アプリケーション５０５のユーザインタフェース５１０のどのコマンドがユーザによって選択されたのかを記録することに加えて、そのようなコマンドが選択される時刻も記録される。
【０１１９】
すなわち、図１７におけるオペレーションにおいて、記録される唯一のデータはユーザによって選択されるユーザインタフェース５１０のコマンドのデータであり、一方、図１８のコマンド使用オペレーションは、ユーザインタフェース５１０上のそのようなコマンドがユーザによって選択された時刻のデータを付加的に記録するものである。
【０１２０】
図１９および図２０は、ユーザによるユーザインタフェース５１０の使用法のモニタリングを停止するオペレーションを示すものである。ユーザによるユーザインタフェース５１０のモニタリングは、ユーザが対象アプリケーション５０５を終了する（を出る）場合に停止させることができる。たとえば、対象アプリケーション５０５がワークステーション上で動作しているソフトウエアであるとした場合、ユーザが実行されているプログラムを終了させた際にモニタリングを停止させることができる。対象アプリケーション５０５が特定用途向けの機器，画像形成装置等の操作パネルである場合、複写機のスタートボタンのような特定のアイコンまたはボタンが押下された際にモニタリングを停止させることができる。
【０１２１】
また、たとえば、所定の期間の後や、ユーザが対象アプリケーションを使用していない間における所定の期間の後に、モニタリングを停止させることもできる。対象アプリケーション５０５が複写機，ファクシミリ装置，プリンタ，スキャナのような画像形成装置，または電子レンジ，ビデオカセットレコーダ，ディジタルカメラ，携帯電話，パームトップコンピュータのような特定用途向けの機器等である場合であっても、ユーザによるユーザインタフェース５１０の使用のモニタリングを停止させるための類似の条件を実行することができる。繰り返すが、このような場合、ユーザが終了コマンドを入力したとき，所定の期間の後，所定の不使用期間の後等において、モニタリングを停止させることができる。
【０１２２】
ユーザがＭＢオブジェクト１３００から出る際、ＭＢオブジェクト１３００は最初にCMonitoringIFオブジェクト１３０５のstopMonitoringファンクションを呼び出す。そして、CMonitoringIFオブジェクト１３０５は、CUsageLoggerオブジェクト１３１５がユーザによるユーザインタフェース５１０の使用法に関するデータの記録を停止することができるように、CUsageLoggerオブジェクト１３１５のlogStopDataファンクションを呼び出す。そして、CUsageLoggerオブジェクト１３１５は、CTimeオブジェクト１３２０のgetCurrentTimeファンクションを呼び出し、CTimeオブジェクト１３２０はつぎに、現在時刻を示すCTimeデータをCUsageLoggerオブジェクト１３１５に戻す。
【０１２３】
この現在時刻は、ユーザによるユーザインタフェース５１０の使用法のモニタリングが停止された時刻を示すものである。そして、CUsageLoggerオブジェクト１３１５は、CUsageDataオブジェクト１３３０のgetStartTimeファンクションを呼び出し、CUsageDataオブジェクト１３３０は、それにより、モニタリングが開始された、記憶された時刻を示すCTimeデータを戻す。これらのオペレーションの後、CUsageLoggerオブジェクト１３１５はモニタリングの開始時刻およびモニタリングが停止された現在時刻のデータを持つことになる。それにより、CUsageLoggerオブジェクト１３１５は、ユーザによるユーザインタフェース５１０の使用法がモニタされていた間の時間を決定することができる。
【０１２４】
そして、CUsageLoggerオブジェクト１３１５は、CUsageDataオブジェクト１３３０のsetDurationファンクションを呼び出すと共に、このsetDurationファンクションでデータUINTを送信する。すなわち、この場合、UINTデータはユーザによるユーザインタフェース５１０の使用法がモニタされていた間の時間を示すものである。また、CUsageLoggerオブジェクト１３１５はCUsageDataオブジェクト１３３０のgetCumulativeUsageファンクションを呼び出し、CUsageDataオブジェクト１３３０はつぎにリクエストされたデータをデータＵＩＮＴとして戻す。
【０１２５】
そして、CUsageLoggerオブジェクト１３１５はこのUINTデータをSystemオブジェクト１３２５に送信すると共に、Systemオブジェクト１３２５のsetCumulativeUsageファンクションを呼び出すため、つぎにモニタリングオペレーションが実行される際に、モニタリングセッションが実行された回数の値が現在の実行回数より多くなる。
【０１２６】
また、CMonitoringIFオブジェクト１３０５はCUsageLoggerオブジェクト１３１５のgetUsageData機能を呼び出し、CUsageLoggerオブジェクト１３１５はCUsageDataをCMonitoringIFオブジェクト１３０５に戻す。このデータは、システムＩＤ，累積的な使用，開始時刻，使用期間および頻度を含む、記憶されたモニタリングデータの全てを示すものである。そして、CMonitoringIFオブジェクト１３０５は、UsageDataSendManagerオブジェクト１３１０のsendUsageDataAtTriggerファンクションを呼び出すことでCUsageDataを送信する。そして、UsageDataSendManagerオブジェクト１３１０はSystemオブジェクト１３２５のgetSendTriggerTypeファンクションを呼び出し、それによりEXITデータをUsageDataSendManagerオブジェクト１３１０に戻す。
【０１２７】
返却値EXITは、ユーザが対象アプリケーションを出る毎に、モニタされたデータがSendingBlockオブジェクト１６００を介して送信されることを示している。そして、UsageDataSendManagerオブジェクト１３１０は、ユーザによるユーザインタフェース５１０の使用法に関する使用法データの全てを示すCUsageInformationを、SendingBlockオブジェクト１６００のsendUsageDataファンクションを介して送信する。SendingBlockオブジェクト１６００は、つぎに、そのデータを指定された相手先に送信するファンクションを実行し、そして確認信号であるＹＥＳをUsageDataSendManagerオブジェクト１３１０に戻す。
【０１２８】
図１９に示されるこのオペレーションは、ユーザが対象アプリケーション５０５を出ることによるトリガイベントに基づいて使用法のデータが送信されるオペレーションに対応している。
【０１２９】
図２０に示されているモニタリング停止オペレーションは、所定数のセッションの後に使用法データがSendingBlockオブジェクト１６００によって送信されるオペレーションを除き、図１９に示されているものと同様である。上述したように、本発明におけるひとつの特徴として、ユーザが対象アプリケーション５０５を使用するセッションの所定の回数の後に、モニタした使用法のデータを電子メールで送信することができる。図２０に示されるオペレーションは、そのような数のセッションの後に、使用法のデータを送信することに対応するものである。図２０において実行されるオペレーション１〜９ａは、図１９において実行されるものと同一であることからそれらの説明については省略する。
【０１３０】
図２０に示されるモニタリング停止オペレーションにおいて、Systemオブジェクト１３２５のgetSendTriggerTypeファンクションを呼び出した後、UsageDataSendManager１３１０はまた、Systemオブジェクト１３２５のgetNumberOfSessionsファンクションを呼び出す。このオペレーションはユーザによって予めセットされたデータを得るものであり、このデータはこのオペレーションでモニタしたデータを送信する前に終了しなければならないセッションの数を示している。図１６に示したように、セッションの数はSystemオブジェクト１３２５においてセットされる。そして、Systemオブジェクト１３２５は、データが送信される前のセッションの数を示すデータUINTをUsageDataSendManager１３１０に戻す。
【０１３１】
そして、UsageDataSendManagerオブジェクト１３１０はLogFileオブジェクト１６０５のstoreUsageDataファンクションを呼び出すと共に、CUsageDataを送信する。この場合、予めセットされた数のセッションが実行されていない場合、セッションからのデータはLogFileオブジェクト１６０５によって不揮発性メモリに記憶される。そして、LogFileオブジェクト１６０５は、UsageDataEncoderDecoderオブジェクト１６１０のencodeUsageDataファンクションを呼び出すと共に、CUsageDataおよびLogFileを送信する。
【０１３２】
このオペレーションはそのようなデータをエンコード、たとえばストレージの容易化を図るためにそのようなデータを圧縮するなどし、エンコードされたデータをログファイルに保存する。適切な数のセッションが完了した場合、UsageDataSendManagerオブジェクト１３１０は、sendUsageDataファンクションを呼び出すと共に、CUsageInformationをSendingBlockオブジェクト１６００に送信する。SendingBlockはつぎに、データを送信すると共に、確認データであるＹＥＳをUsageDataSendManager１３１０に戻す。
【０１３３】
図２１は、図１９および図２０のSendingBlockオブジェクト１６００において実行されるオペレーションを示すものである。
【０１３４】
図２１に示される名称１によるステップは、図１９に示される名称１０によるステップおよび図２０に示される名称１２によるステップに対応している。このステップにおいて、MonitoringBlock１６１５は、SendMailTriggerオブジェクト１７００のsendUsageDataファンクションを呼び出し、CUsageInformationDerived１データをSendMailTriggerオブジェクト１７００に送信する。また、SendMailTriggerオブジェクト１７００は、その情報を送信した後、確認信号であるＹＥＳをMonitoringBlock１６１５に送信する。
【０１３５】
そして、SendMailTriggerオブジェクト１７００は、CUsageInformationDerived１データをInputPackオブジェクト１７１０に送信すると共に、InputPackオブジェクト１７１０のconvertファンクションを呼び出す。InputPackオブジェクト１７１０は、つぎに、CUsageInformationDerived１データを異なるフォーマットのデータであるCUsageInformationDerived２に変換する。このCUsageInformationDerived２データは、そしてSendMailTriggerオブジェクト１７００に送信される。このように変換を行う理由は、いかなる異なるデータフォーマットであっても、異なる送信トリガに従ってモニタリングブロックから送信ブロックに渡すことができるようにすることである。変換の後、データフォーマットは、SendingBlockオブジェクト１６００内において同一のものとなる。
【０１３６】
そして、InputPackオブジェクト１７１０は、CUsageInformationDerived１オブジェクト１７１５のGetXXXファンクションを呼び出す。CUsageInformationDerived１オブジェクト１７１５は、つぎに、要求されたXXXデータをInputPackオブジェクト１７１０に戻す。XXXによって参照されるデータの例は、システムＩＤ，累積的使用，開始時刻，期間およびモニタした使用法のデータである。
【０１３７】
SendMailTriggerオブジェクト１７００は、つぎに、データCUsageInformationDerived２をSecurity/DataEncodeオブジェクト１７２０に送信すると共に、Security/DataEncodeオブジェクト１７２０のencodeファンクションを呼び出す。そして、Security/DataEncodeオブジェクト１７２０は、CUsageInformationDerived２データをエンコードし、テキストファイルまたはCStringをSendMailTriggerオブジェクト１７００に戻す。すなわち、テキストファイルまたはCStringデータは、SendMailTriggerオブジェクト１７００に戻されるセキュリティエンコードデータ（security encoded data）である。本発明におけるこのオペレーションにより、電子メールで送信される前に、使用法のデータを暗号化して安全性を確保することができる。
【０１３８】
そして、Security/DataEncodeオブジェクト１７２０はGetXXXファンクションをCUsageInformationDerived２オブジェクト１７２５から呼び出し、これに応じて、CUsageInformationDerived２オブジェクト１７２５は名称３によるステップで行われたように、要求されたXXXデータをSecurity/DataEncodeオブジェクト１７２０に戻す。
【０１３９】
SendMailTrigger１７００は、つぎに、mailThisDataファンクションをコールすると共に、エンコードおよび暗号化されたデータのテキストファイルまたはCStringをSendMailオブジェクト１７０５に送信する。そして、SendMailオブジェクト１７０５は暗号化されたデータを送信し、SendMailオブジェクト１７０５はつぎに、そのデータを送信したことを示す確認信号であるＹＥＳをSendMailTriggerオブジェクト１７００に戻す。
【０１４０】
上述したオペレーションにより、本発明は、対象アプリケーションの一部であるユーザインタフェースのユーザによる使用法をモニタするための制御操作を提供する。また、本発明のそのようなオペレーションは、モニタされた使用法のデータを記憶し、適切な選択された時間にインターネットメールで送信することを可能にする。インターネットメールは、そのような送信の便利な発信源である。それは、モニタされた使用データのそのような送信が典型的に時間に敏感な情報ではないからである。
【０１４１】
また、インターネットメールを利用してそのようなデータを伝送すると、伝送コストを相当削減することができる。また、記録された使用法のデータは本発明においてはインターネットメールで送信されるため、記録された使用法のデータは、インターネットメールで送信された使用法のデータを分析するようにプログラムされたさらなるコンピュータシステムに自動的に送信されるようにすることも可能である。本発明によって可能となるこのようなオペレーションは、モニタリングやそのような使用データの分析の効率を相当増加させることができる。
【０１４２】
その好適なインプリメンテーションにおいて、本発明はコンピュータを利用するものであって、コンピュータは接続されるデバイスと別々のハウジングを有するものである。これにより、新しいハードウエアコストが削減されるため、所望の処理を実行するためにすでに既存のコンピュータを有する設備に対して、本発明を安価に実装することができる、また、そのようなアレンジにより、デバイスに対してハードウエア的な変更を施すことなく、本発明の実装が可能になる。しかし、必要に応じて、デバイスに接続されている独立のコンピュータに加えてまたは代えて、モニタされかつ／または制御されているデバイスに適切な処理およびデータ記憶機能を含めることによって本発明を実装するようにしても良い。
【０１４３】
この出願は、参照としてこの出願に援用され、相互参照された特許および特許出願において開示されている様々な概念に関連し、かつ基づくものである。この特許出願は、関連する出願において明らかにされた発明だけでなく、この出願および関連する各出願において開示された個々の実施の形態の様々な特徴および機能の結合を含めることを意図したものである。このように、関連する出願または特許のうちの一つにおいて開示された特徴は、本発明において開示された概念に容易に応用可能なものであり、また、一以上の他の出願において開示された概念は、他の出願で明らかにされる概念に応用可能なものである。また、電子メールメッセージは、ここに開示されている他の通信モードの一つのような異なる通信モードまたは関連特許および特許出願に開示されている通信モードを用いて実行される他の方向における通信により、送信のためにのみ使用することもできる。
【０１４４】
この発明は、コンピュータ技術の当業者にとって明らかなように、本明細書の教示に従ってプログラムされた従来の汎用デジタルコンピュータまたはマイクロプロセッサを使用することによって都合良く実現することができるものである。適切なソフトウエアコーディングは、ソフトウエア技術の当業者にとって明らかなように、本開示の教示に基づいて、熟練したプログラマによって容易に準備することが可能なものある。また、本発明は、その技術の当業者にとって明らかなように、用途特化集積回路（application specific integrated circuit）を用意することによって、または従来の部品回路の適切なネットワークを相互に結びつけることによって実現可能なものである。
【０１４５】
本発明は、コンピュータにプログラムを供給し、本発明のプロセスを実行させることができる、命令を含んだ記録媒体のようなコンピュータプログラムプロダクトを含むものである。以下のものに限定されるわけではないが、記録媒体には、フロッピーディスク・光ディスク・ＣＤ−ＲＯＭおよび光磁気ディスクを含むあらゆる種類のディスク，ＲＯＭ・ＲＡＭ・ＥＰＲＯＭ・ＥＥＰＲＯＭ・磁気または光学カード，または電子的な命令を記憶することに適したあらゆる種類の媒体が含まれる。
【０１４６】
前述した教示を考慮することによって、本発明について様々な設計変更を行うことが可能であることは明らかである。したがって、特許請求の範囲における各請求項の範囲内で、ここで特に開示されたようなものとは別の方法で本発明を実施することも可能であると理解すべきである。
【０１４７】
（関連出願の相互参照）
本出願は、１９９８年１１月１７に出願された米国特許出願０９／１９２，５８３『コンピュータに接続されたデバイスと電子メールメッセージを用いて通信する方法およびシステム』，１９９７年６月２６日に出願された米国特許出願０８／８８３，４９２『配信モニタリングおよび相互通信モードを有するコネクションレスモードを使用してマシンを診断および制御する方法およびシステム』，１９９７年３月１９日に出願された米国特許出願０８／８２０，６３３（米国特許５，８８７，２１６）『ユーザによって設定された操作用パラメータに基づいてビジネスオフィスデバイスを診断する方法およびシステム』，１９９６年１０月１６日に出願された米国特許出願０８／７３３，１３４『コネクションレスモード通信を使用してマシンを診断および制御する方法およびシステム』，１９９６年３月２９日に出願された米国特許出願０８／６２４，２２８（米国特許５，８１８，６０３）『複数の通信フォーマットを使用したマシンの制御およびそのマシンとの通信のための方法およびシステム』，１９９５年６月５日に出願された米国特許出願０８／４６３，００２（米国特許５，８１９，１１０）『コネクションモード通信およびコネクションレスモード通信を使用してマシンを診断および制御する方法およびシステム』の分割出願として１９９６年１０月３０日にそれぞれ出願された米国特許出願０８／７３８，６５９および０８／７３８，４６１『コネクションモード通信およびコネクションレスモード通信を使用して、マシンを診断および制御する方法およびシステム』，および，１９９０年７月６日に出願された米国特許出願０７／５４９，２７８（放棄済み）の継続出願で、１９９２年６月１９日に出願された米国特許出願０７／９０２，４６２（放棄済み）の継続出願で、１９９４年７月２８日に出願された米国特許出願０８／２８２，１６８（米国特許５，４１２，７７９）『ビジネスオフィスデバイスの制御およびそのビジネスオフィスデバイスとの通信のための方法および装置』の継続出願である１９９５年４月２４日に出願された米国特許出願０８／４２６，６７９（米国特許５，５３７，５５４）『ビジネスオフィスデバイスの制御およびそのビジネスオフィスデバイスとの通信のための方法および装置』の継続出願で、１９９５年６月６日に出願された米国特許出願０８／４７３，７８０（米国特許５，５４４，２８９）『ビジネスオフィスデバイスの制御およびそのビジネスオフィスデバイスとの通信のための方法および装置』の継続出願で、１９９５年１１月２２日に出願された米国特許出願０８／５６２，１９２の継続出願である１９９６年８月１５日に出願された米国特許出願０８／６９８，０６８（米国特許５，６４９，１２０）『ビジネスオフィスデバイスの制御およびそのビジネスオフィスデバイスとの通信のための方法および装置』の継続出願で、１９９７年５月７日に出願された米国特許出願０８／８５２，４１３（米国特許５，７７４，６７８）『ビジネスオフィスデバイスの制御およびそのビジネスオフィスデバイスとの通信のための方法および装置』に関連しており、それぞれの開示は参照としてここに援用される。
【０１４８】
【発明の効果】
以上説明したように、本発明によれば、ユーザによるアプリケーションユニットの対象アプリケーションの使用法をモニタするための新規かつ効果的なシステムを提供することや、ユーザによるアプリケーションユニットの対象アプリケーションの使用法をモニタすることによって得られたデータを所望の関係先に送信するための新規なシステムを提供すること等が可能となる。
【図面の簡単な説明】
【図１】コンピュータおよびデータベースのネットワークにインターネットを介して接続された三つのネットワークオフィス装置を示す図である。
【図２】ディジタル複写機／プリンタの構成要素を示す図である。
【図３】図２に示すディジタル複写機／プリンタの電気的構成要素を示す図である。
【図４】図３に示すマルチポート通信インタフェースの詳細を示す図である。
【図５】ネットワークに接続されているコンピュータ、さらには直接ネットワークに接続されているデバイスにビジネスオフィスデバイスが接続される代替システム構成を示す図である。
【図６】電子メールを使って、デバイスと情報のやり取りを行う方法を示すブロック図である。
【図７】デバイスに接続されているコンピュータがメッセージ転送エージェントとして機能するようにした場合の電子メールを使用したコミュニケーションの別の方法を示す図である。
【図８】アプリケーションユニットが電子メール機能を含む場合の電子メールを使用したコミュニケーションの別の方法を示す図である。
【図９】インターネットを介してメッセージを送信する代替的な方法を示す図である。
【図１０】デバイスに接続されて電子メールメッセージをやり取りするために使用可能なコンピュータの一例を示す図である。
【図１１】本発明において、アプリケーションユニットの対象アプリケーションにモニタ・ログブロックおよび送信ブロックを接続した例を示すブロック図である。
【図１２】本発明が適用されるアプリケーションユニットの一例を示す図である。
【図１３】本発明が適用されるアプリケーションユニットの他の例を示す図である。
【図１４】本発明において実行されるオブジェクトの全体図である。
【図１５】本発明において実行されるモニタリング開始オペレーション（start monitoring operation）を示す図である。
【図１６】本発明におけるトリガタイプおよびセッションオペレーションの回数をセットするオペレーションを示す図である。
【図１７】本発明において実行可能なコマンドの使用オペレーション（command usage operation）を示す図である。
【図１８】本発明において実行可能なコマンドの使用オペレーション（command usage operation）を示す図である。
【図１９】本発明において実行可能なモニタリング停止オペレーション（stopping monitoring operation）を示す図である。
【図２０】本発明において実行可能なモニタリング停止オペレーション（stopping monitoring operation）を示す図である。
【図２１】本発明において実行可能な送信制御オペレーション（sending control operation）を示す図である。
【符号の説明】
３００  アプリケーションユニット
５０５  対象アプリケーション
５１０  ユーザインタフェース
５１５  モニタ・ログブロック
５２０  送信ブロック
６００  モニタ
６０５  ファンクションキー
７００  操作パネル
７０５  タッチスクリーン
７１０  １０キーパッド
７１５  制御ボタン
１３００  ＭＢオブジェクト
１３０５  CMonitoringIFオブジェクト
１３１０  UsageDataSendManagerオブジェクト
１３１５  CUsageLoggerオブジェクト
１３２０  CTimeオブジェクト
１３２５  Systemオブジェクト
１３３０  CUsageDataオブジェクト
１６００  SendingBlockオブジェクト
１６０５  LogFileオブジェクト
１６１０  UsageDataEncoderDecoderオブジェクト
１６１５  MonitoringBlockオブジェクト
１７００  SendMailTriggerオブジェクト
１７０５  SendMailオブジェクト
１７１０  InputPackオブジェクト
１７１５  CUsageInformationDerived１オブジェクト
１７２０  Security/DataEncodeオブジェクト
１７２５  CUsageInformationDerived２オブジェクト
１７３０  CUsageInformationオブジェクト
【図１】
0003798599.tif 000002
【図２】
0003798599.tif 000003
【図３】
0003798599.tif 000004
【図４】
0003798599.tif 000005
【図５】
0003798599.tif 000006
【図６】
0003798599.tif 000007
【図７】
0003798599.tif 000008
【図８】
0003798599.tif 000009
【図９】
0003798599.tif 000010
【図１０】
0003798599.tif 000011
【図１１】
0003798599.tif 000012
【図１２】
0003798599.tif 000013
【図１３】
0003798599.tif 000014
【図１４】
0003798599.tif 000015
【図１５】
0003798599.tif 000016
【図１６】
0003798599.tif 000017
【図１７】
0003798599.tif 000018
【図１８】
0003798599.tif 000019
【図１９】
0003798599.tif 000020
【図２０】
0003798599.tif 000021
【図２１】
0003798599.tif 000022