(57)【要約】【課題】  所定のグループ内の複数のユーザにより実施されかつ共通化できる種々の作業について、先行のユーザが済ませた作業についての操作内容を迅速に公開かつ利用できる基盤を提供する。【解決手段】  情報登録用情報処理装置１８において、捕捉手段１９は、グラフィクス処理命令を捕捉し、データベース登録手段２０は、捕捉されたグラフィクス処理命令の中から、作業終了となった作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベース１３に登録する。情報検索用情報処理装置２８では、進行中作業検出手段３０は、進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出し、情報入手手段３１は、進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づきデータベース内を検索して該進行中作業の作業済み情報を入手する。【選択図】      図２
2005141641.tif 000002
【特許請求の範囲】
【請求項１】
情報登録用情報処理装置及び情報検索用情報処理装置を有し、
前記情報登録用情報処理装置は、
起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、及び
捕捉されたグラフィクス処理命令の中から、作業終了となった作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベースに登録するデータベース登録手段、
を有し、
前記情報検索用情報処理装置は、
起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、
進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する進行中作業検出手段、
進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づき前記データベース内を検索して該進行中作業の作業済み情報を入手する情報入手手段、及び
前記情報入手手段により入手した作業済み情報を前記進行中作業に利用する情報利用手段、
を有していることを特徴とする情報処理システム。
【請求項２】
起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、及び
捕捉されたグラフィクス処理命令の中から、作業終了した作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベースに登録するデータベース登録手段、
を有することを特徴とする情報登録用情報処理装置。
【請求項３】
前記作業とは、アプリケーション・ソフトウェア及び／又は所属グループの共有資源についての設定作業であることを特徴とする請求項２記載の情報登録用情報処理装置。
【請求項４】
前記データベース登録手段は、
捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第１種のブロックを生成する第１種ブロック生成手段、及び
各第１種のブロックを１個の作業済み情報に対応させて各作業済み情報を前記データベースに登録するブロック登録手段、
を有していることを特徴とする請求項２記載の情報登録用情報処理装置。
【請求項５】
前記データベース登録手段は、第１種のブロックに属する１個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第２種のブロックを生成する第２種ブロック生成手段、及び
前記第２種のブロックが、前記第１種のブロックのサブブロックとして、前記第１種のブロック内に配置されるデータ構造により各作業済み情報を前記データベースに登録する構造化登録手段、
を有していることを特徴とする請求項４記載の情報登録用情報処理装置。
【請求項６】
前記データベース登録手段は、
第２種のブロックとしての描画命令ブロックを、その内部を、ＯＳからの１個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第３種のブロックに区分する描画命令ブロック生成手段、及び
同一の第１種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第３種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、２番目以降の描画命令ブロックは、その内容が１番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとするデータ構造により各作業済み情報をデータベースに登録する前記構造化登録手段、
を有していることを特徴とする請求項５記載の情報登録用情報処理装置。
【請求項７】
前記作業済み情報は、各処理命令をプログラミング言語により表現したシンボル列から成り、
ユーザが前記作業済み情報のシンボル列を編集することを可能にする編集手段を有していることを特徴とする請求項２記載の情報登録用情報処理装置。
【請求項８】
起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、
進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する進行中作業検出手段、
進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づきデータベース内を検索して該進行中作業の作業済み情報を入手する情報入手手段、及び
前記情報入手手段により入手した作業済み情報を前記進行中作業に利用する情報利用手段、
を有していることを特徴とする情報検索用情報処理装置。
【請求項９】
前記作業とは、アプリケーション・ソフトウェア及び／又は所属グループの共有資源についての設定作業であることを特徴とする請求項８記載の情報検索用情報処理装置。
【請求項１０】
前記情報利用手段は、作業済み情報に係る設定データを静止画で表示する静止画表示手段、作業済み情報に係る設定データに基づいて進行中作業を自動実行する自動実行手段、又は作業済み情報が基づいている設定作業に係るユーザ設定操作の流れを動画で表示する動画生成手段、を有していることを特徴とする請求項８記載の情報検索用情報処理装置。
【請求項１１】
前記情報入手手段は、進行中作業におけるユーザ操作を前記捕捉手段の捕捉したグラフィクス処理命令から検出し、検出したユーザ操作に基づき該進行中作業に係る作業済み情報を検索することを特徴とする請求項８記載の情報検索用情報処理装置。
【請求項１２】
前記データベース内の作業済み情報は、同一のプロセスに係るグラフィクス処理命令を含む第１種のブロックとする構造となっており、
前記情報入手手段は、進行中作業に係る作業済み情報を１個の第１種のブロックとして前記データベースから入手することを特徴とする請求項８記載の情報検索用情報処理装置。
【請求項１３】
データベース内の作業済み情報は、第１種のブロックに属する１個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第２種のブロックとし、第２種のブロックが、前記第１種のブロックのサブブロックとして、前記第１種のブロック内に配置される構造となっており、
前記情報入手手段は、進行中作業に係る作業済み情報を、複数個の第２種のブロックを含む１個の第１種のブロックとして前記データベースから入手することを特徴とする請求項１２記載の情報検索用情報処理装置。
【請求項１４】
データベース内の作業済み情報は、第２種のブロックとしての描画命令ブロックが、その内部を、ＯＳからの１個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第３種のブロックに区分され、次に、同一の第１種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第３種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、２番目以降の描画命令ブロックは、その内容が１番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとするデータ構造となっており、
前記情報入手手段は、進行中作業に係る作業済み情報を、前記簡略ブロックを含む１個の第１種のブロックとして前記データベースから入手することを特徴とする請求項１３記載の情報検索用情報処理装置。
【請求項１５】
ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出するグラフィクス・オブジェクト情報検出手段、
進行中作業に係る作業済み情報について検出したオブジェクトに基づきデータベース内を検索して該進行中作業の作業済み情報を入手する情報入手手段、及び
前記情報入手手段により入手した作業済み情報を前記進行中作業に利用する情報利用手段、
を有していることを特徴とする情報検索用情報処理装置。
【請求項１６】
起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する第１のステップ、及び
捕捉されたグラフィクス処理命令の中から、作業終了した作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベースに登録する第２のステップ、
を有することを特徴とする作業済み情報登録用情報処理方法。
【請求項１７】
前記作業とは、アプリケーション・ソフトウェア及び／又は所属グループの共有資源についての設定作業であることを特徴とする請求項１６記載の作業済み情報登録用情報処理方法。
【請求項１８】
前記第２のステップは、
捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第１種のブロックを生成する第１のサブステップ、及び
各第１種のブロックを１個の作業済み情報に対応させて各作業済み情報を前記データベースに登録する第２のサブステップ、
を有していることを特徴とする請求項１６記載の作業済み情報登録用情報処理方法。
【請求項１９】
前記第２のステップは、第１種のブロックに属する１個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第２種のブロックを生成する第３のサブステップを有し、
前記第２のサブステップでは、前記第２種のブロックが、前記第１種のブロックのサブブロックとして、前記第１種のブロック内に配置されるデータ構造により各作業済み情報を前記データベースに登録することを特徴とする請求項１８記載の作業済み情報登録用情報処理方法。
【請求項２０】
前記第２のステップは、
第２種のブロックとしての描画命令ブロックを、その内部を、ＯＳからの１個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第３種のブロックに区分する第４のサブステップ、
を有し、
前記第２のサブステップでは、
同一の第１種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第３種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、２番目以降の描画命令ブロックは、その内容が１番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとするデータ構造により各作業済み情報をデータベースに登録することを特徴とする請求項１９記載の作業済み情報登録用情報処理方法。
【請求項２１】
起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する第３のステップ、
進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する第４のステップ、
進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づき前記データベース内を検索して該進行中作業の作業済み情報を入手する第５のステップ、及び
入手した作業済み情報を前記進行中作業に利用する第６のステップ、
を有していることを特徴とする情報検索用情報処理方法。
【請求項２２】
前記作業とは、アプリケーション・ソフトウェア及び／又は所属グループの共有資源についての設定作業であることを特徴とする請求項２１記載の情報検索用情報処理方法。
【請求項２３】
前記第６のステップは、
作業済み情報に係る設定データを静止画で表示するサブステップ、作業済み情報に係る設定データに基づいて進行中作業を自動実行するサブステップ、又は作業済み情報が基づいている設定作業に係るユーザ設定操作の流れを動画で表示するサブステップ、
を有していることを特徴とする請求項２１記載の情報検索用情報処理方法。
【請求項２４】
前記第５のステップは、
進行中作業におけるユーザ操作を前記第３のステップにおいて捕捉したグラフィクス処理命令から検出し、検出したユーザ操作に基づき該進行中作業に係る作業済み情報を検索することを特徴とする請求項２１記載の情報検索用情報処理方法。
【請求項２５】
データベース内の作業済み情報は、同一のプロセスに係るグラフィクス処理命令を含む第１種のブロックとする構造となっており、
前記第５のステップは、進行中作業に係る作業済み情報を１個の第１種のブロックとして前記データベースから入手することを特徴とする請求項２１記載の情報検索用情報処理方法。
【請求項２６】
データベース内の作業済み情報は、第１種のブロックに属する１個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第２種のブロックとし、第２種のブロックが、前記第１種のブロックのサブブロックとして、前記第１種のブロック内に配置される構造となっており、
前記第５のステップでは、進行中作業に係る作業済み情報を、複数個の第２種のブロックを含む１個の第１種のブロックとして前記データベースから入手することを特徴とする請求項２５記載の情報検索用情報処理方法。
【請求項２７】
データベース内の作業済み情報は、第２種のブロックとしての描画命令ブロックが、その内部を、ＯＳからの１個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第３種のブロックに区分され、次に、同一の第１種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第３種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、２番目以降の描画命令ブロックは、その内容が１番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとするデータ構造となっており、
前記第５のステップでは、進行中作業に係る作業済み情報を、前記簡略ブロックを含む１個の第１種のブロックとして前記データベースから入手することを特徴とする請求項２６記載の情報検索用情報処理方法。
【請求項２８】
ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出するステップ、
検出したオブジェクトに基づき作業済み情報に係るデータベース内を検索して該進行中作業の作業済み情報を入手するステップ、及び
入手した作業済み情報を前記進行中作業に利用するステップ、
を有していることを特徴とする情報検索用情報処理方法。
【請求項２９】
請求項１６〜２８のいずれかに記載の方法の各ステップを、コンピュータに実現させるプログラム。
【請求項３０】
請求項２９記載のプログラムをコンピュータ可読媒体に記録した記録媒体。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グループ内のユーザが各情報処理装置において実施する共通作業を合理化する情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体に関するものである。
【背景技術】
【０００２】
ＰＣ（パーソナル・コンピュータ）のユーザが、アプリケーション・ソフトウェアや共有プリンタ等の設定作業において具体的にどのように設定すればよいか分からないときのユーザの一般的な対処法は、対応のマニュアル若しくは参考書、又はオンライン・ヘルプを参照したり、あるいはアプリケーション・ソフトウェアのベンダが提供するＷｅｂページのＱ＆Ａ等を参照することである。しかし、目的の記載箇所を探して、かつ適切な設定を決めるのには、労力及び時間がかかる。アプリケーション・ソフトウェア等には、予めデフォルトの設定が存在することがあるが、そのようなデフォルトの設定が存在しなかったり、ユーザが所属するグループ等で固有の設定が必要になる場合には、ユーザ自らが設定作業を行なわなければならない。
【０００３】
特許文献１の装置及び方法は、ＬＡＮに複数台のクライアント端末と各端末の共用するイメージ・スキャナとが接続されているとき、共有のイメージ・スキャナの設定値をパラメータ設定ファイル・サーバに登録している。そして、各端末において共有のイメージ・スキャナを利用するときは、パラメータ設定ファイル・サーバに予め登録されている設定値を利用することにして、各端末における煩雑な設定作業を回避している。
【０００４】
特許文献２の装置及び方法では、アプリケーション・ソフトウェアで画面表示される各ウィンドウにＩＤを付与し、ユーザがウィンドウにおいて操作に行き詰ったとき、ＩＤを検索キーに使って、ネットワーク上のサポート用ＤＢ（データ・ベース）を検索し、該ウィンドウについての最新のサポート情報を閲覧できるようにしている。
【０００５】
特許文献３の装置及び方法は、ネットワークで相互に接続されている各ＰＣにおいて共有する環境情報の設定に関して、所定の担当者が、グループ内のユーザに先立ち、環境情報を設定して、保存しておき、各ユーザは、自分のＰＣにおいて、担当者の設定した環境情報をそのまま継承することにより、各ユーザの設定作業を合理化している。
【０００６】
特許文献４の装置及び方法では、各ユーザ及びグループの処理履歴情報を蓄積し、所定のユーザからの入力操作に対して、該ユーザの処理履歴情報だけでなく、該ユーザの属する処理履歴情報も利用して、適切な処理が実施できるようににしている。
【特許文献１】特開２０００−２９５９２公報
【特許文献２】特開２００２−１８２８１１公報
【特許文献３】特開平９−３４８４４号公報
【特許文献４】特開平１１−２８８４３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ユーザが使用しているアプリケーション・ソフトウェアや共有資源は、グループ全体が使用しているものに限らず、一部のユーザのみしか使用していないものがある。例えば、グループ員の全員が利用する必要もない図形ソフトについては、グループで統一して使用するものを決めておらず、グループ内の幾人かはＡ社の図形ソフトを使用し、他の幾人かはＢ社の図形ソフトを使用することがある。また、ワープロ・ソフトについて新バージョンが発売されたが、まだ、新バージョンの導入は少数に留まっていることがある。各アプリケーション・ソフトウェアの各バージョンについて、複数の設定作業が必要とされることがあると、同一の設定作業にもかかわらず、グループ全体の設定作業は膨大となり、担当者がそのすべての設定作業について先行して実施し、その設定データをデータベースに登録しておくことは、担当者の負担を増大させるとともに、各設定作業の設定データをグループ員に迅速に公開することが無理となる。
【０００８】
特許文献１，３の装置及び方法では、所定の担当者が予め、グループ固有の設定値を登録することになっているので、上記問題を解決できない。特許文献２は、所定のウィンドウに関連付けて効率的な検索方法を開示するのみである。また、特許文献４は、ユーザの処理履歴を残しておき、ユーザが後日、再アクセスしてきた時に、過去の処理履歴を利用することを開示するのみである。
【０００９】
一方、グループ内では、設定作業の他にも、別々のユーザが別々のＰＣで一連の操作が同一である作業を行なう場合があり、そのような場合には、後続のユーザは、作業を先行したユーザの操作内容が分かれば、作業能率を高めることができる場合がある。
【００１０】
本発明の目的は、ユーザがグループ内の共通作業を先行して済ませた場合には、該共通作業の情報が速やかにデータベースに登録され、また、ユーザが、処理中の作業についての情報を要求したときにはデータベースの情報を速やかに提供できる基盤（インフラストラクチャ）として役立つ情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体を提供することである。
【課題を解決するための手段】
【００１１】
本発明の情報処理システムは情報登録用情報処理装置及び情報検索用情報処理装置を有している。情報登録用情報処理装置は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、及び捕捉されたグラフィクス処理命令の中から、作業終了となった作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベースに登録するデータベース登録手段、を有している。情報検索用情報処理装置は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する進行中作業検出手段、進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づきデータベース内を検索して該進行中作業の作業済み情報を入手する情報入手手段、及び情報入手手段により入手した作業済み情報を進行中作業に利用する情報利用手段、を有している。本発明の別の情報検索用情報処理装置は、ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出するグラフィクス・オブジェクト情報検出手段、進行中作業に係る作業済み情報について検出したオブジェクトに基づきデータベース内を検索して該進行中作業の作業済み情報を入手する情報入手手段、及び情報入手手段により入手した作業済み情報を進行中作業に利用する情報利用手段、を有している。
【００１２】
本発明の情報登録用情報処理方法は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する第１のステップ、及び捕捉されたグラフィクス処理命令の中から、作業終了した作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベースに登録する第２のステップ、有する。
【００１３】
本発明の情報検索用情報処理方法は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する第３のステップ、進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する第４のステップ、進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づきデータベース内を検索して該進行中作業の作業済み情報を入手する第５のステップ、及び入手した作業済み情報を進行中作業に利用する第６のステップ、
を有している。本発明の別の情報検索用情報処理方法は、ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出するステップ、検出したオブジェクトに基づき作業済み情報に係るデータベース内を検索して該進行中作業の作業済み情報を入手するステップ、及び入手した作業済み情報を進行中作業に利用するステップ、を有している。
【００１４】
本発明のプログラムは、前述の情報登録用情報処理方法若しくは情報検索用情報処理方法、又は後述の実施の形態に係る情報登録用情報処理方法若しくは情報検索用情報処理方法の各ステップを、コンピュータを実現させる。本発明の記録媒体は、かかるプログラムをコンピュータ読み取り可能に記録したものである。
【発明の効果】
【００１５】
本発明によれば、グラフィクス・インターフェースへのグラフィクス処理命令に着目し、該グラフィクス処理命令に基づき作業済み情報をデータベースに登録又はデータベースを検索する。したがって、登録側ユーザは、作業のデータベース登録を意識した特別な操作をすることなく、通常に操作をするだけで、作業済み情報がデータベースに速やかにかつ能率的に登録される。また、検索側ユーザが、作業の操作に行き詰れば、作業済み情報を適切に検索するための検索キーが、行き詰った時までのグラフィクス処理命令に基づき適切に選択されるので、ユーザが、適切な検索キーの選択に多大な時間や労力をかけるのを回避できる。
【００１６】
さらに、本発明を設定作業に適用した場合では、ユーザが、登録を意識することなく、通常の操作で設定作業を行い、それが成功すれば、その設定作業の内容が作業済み情報としてデータベースに登録されることになる。したがって、所定の担当者が設定データをデータベースに登録する方式とは異なり、設定作業をいち早く済ませたユーザの設定作業が速やかにデータベースに登録される。結果、グループ全体における膨大な個数の設定作業にもかかわらず、各設定作業の公開時期及び利用時期を早めることができる。
【発明を実施するための最良の形態】
【００１７】
図１は設定処理に係るデータベースを利用するシステムの構成図である。情報処理装置としてのＰＣ（パーソナル・コンピュータ）１０ａ，１０ｂ，・・・，１０ｎは、会社の部や課等の同一のグループに所属するユーザ１１ａ，１１ｂ，・・・１１ｎの所有となっており、インターネットやＬＡＮを含むネットワーク１２を介して相互に接続され、ネットワーク１２上のデータベース１３を共有している。これらＰＣには、デスクトップＰＣ及びノート型ＰＣが含まれる。後述の図２の情報登録用情報処理装置１８及び／又は図３の情報検索用情報処理装置２８は例えば、ＰＣから成るか、ＰＣに実装される。
【００１８】
図１では、データベース１３はＰＣ１０ａ，１０ｂ，・・・，１０ｎの外部に単独で存在するようになっているが、所定のユーザに係る特定の１個のＰＣのハード・ディスク装置等の記憶装置内に存在するものであったり、複数個のＰＣの記憶装置に分散させて、存在するものであってもよい。
【００１９】
図２は情報登録用情報処理装置１８の機能ブロック図である。ユーザ２３の情報登録用情報処理装置１８は、アプリケーション・ソフトウェア２１、ＯＳ２２、捕捉手段１９、及びデータベース登録手段２０を有している。捕捉手段１９は、起動中のアプリケーション・ソフトウェア２１からグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する。データベース登録手段２０は、捕捉されたグラフィクス処理命令の中から、作業終了した作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベース１３に登録する。
【００２０】
グラフィクス・インターフェースは典型的にはＯＳ２２に実装されている。図２及び次の図３では、情報登録用情報処理装置１８及び情報検索用情報処理装置２８はアプリケーション・ソフトウェア２１及びＯＳ２２を装備するが、情報登録用情報処理装置１８及び情報検索用情報処理装置２８をプログラムにより構成することにより、アプリケーション・ソフトウェア２１及びＯＳ２２を情報登録用情報処理装置１８及び情報検索用情報処理装置２８の外部に存在させることもできる。
【００２１】
図３は情報検索用情報処理装置２８の機能ブロック図である。ユーザ３３の情報検索用情報処理装置２８は、アプリケーション・ソフトウェア２１及びＯＳ２２の他に、捕捉手段２９、進行中作業検出手段３０、情報入手手段３１及び情報利用手段３２を有している。捕捉手段２９は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する。進行中作業検出手段３０は、進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する。情報入手手段３１は、進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づき作業済み情報に係るデータベース内を検索して該進行中作業の作業済み情報を入手する。情報利用手段３２は、情報入手手段により入手した作業済み情報を進行中作業に利用する。
【００２２】
作業とは、例えば、アプリケーション・ソフトウェア及び／又は所属グループの共有資源についての設定作業であるが、これに限定されず、所定の様式書類における複数個の項目欄に所定の文章を入力する作業や、汎用的な書式に対して一部変更してグループ独自の書式を作成したり、マウスのドラッグ・アンド・ドロップを使って、単一又は複数個のイメージを所定の場所へ移動したりする作業も含まれる。設定作業に係るウィンドウは例えば図６及び図７に示されるものである。図６は、マイクロソフト社の日本語用ワープロソフト”Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）”のオプションの設定ウィンドウを示している。図６の設定ウィンドウでは、上部に複数個のタグが存在し、ユーザは、設定しようとするタグを選択して、該タグに係る設定項目を表示し、マウスのクリックボタンを利用して、チェック・マークの有無を選択する。図７はＩＢＭ社のプリンタ”ＩＢＭ  ５５８９−Ｌ３６”のプロパティの設定ウィンドウである。チェック・マークの記入や、ラジオ・ボタンの選択、及びドライバの選択が設定作業として必要とされている。
【００２３】
例えば２０〜１００人位のユーザが所属するグループを想定する。グループの各ユーザのＰＣにおけるアプリケーション・ソフトウェアの各種設定の中には、汎用的なもの（デフォルトの設定）では、不十分であり、グループ固有の設定が適宜、必要となるものがあり、そのような設定では、各ユーザはグループ固有の設定を部分的又は全面的に要請される。一方、グループ内で使用されているアプリケーション・ソフトウェアには、ユーザ全員が一斉に導入するアプリケーション・ソフトウェアの他に、比較的少数のユーザのみの導入に留まるアプリケーション・ソフトウェア、バージョンアップされたもののまだ新バージョンをインストールしたユーザが少数に留まるアプリケーション・ソフトウェア等、事情が多種にわたる多数のアプリケーション・ソフトウェアが存在する。さらに、各アプリケーション・ソフトウェアにおいて設定を必要とする作業は、表示、書式等、複数であることが多い。したがって、共通設定が可能な作業の数は、グループ全体では膨大となり、固定的な設定担当者が、共通設定作業の全部についてその設定を先行して、設定データをグループ所属ユーザに利用させることは、設定担当者にとって大変な負担であるとともに、変更、更新、追加等に迅速に対処し得ない。また、少数派のアプリケーション・ソフトウェアについて共通設定作業については、特に設定担当者を定めないことがある。
【００２４】
これに対し、グループ所属ユーザのＰＣを情報登録用情報処理装置１８とすることにより又は情報登録用情報処理装置１８を実装することにより、グループ員の誰かがユーザ２３として情報登録用情報処理装置１８においていち早く済ませた作業に係る一連のグラフィクス処理命令についての情報は作業済み情報として直ちにデータベース１３に登録される。グループ全体における情報登録用情報処理装置１８の個数は多いので、グループにおける各設定作業に係る作業済み情報についてのデータベース１３への登録は迅速かつ増大する。
【００２５】
各作業に対して設定済みとしてデータベース１３に登録される作業済み情報は、１個に限定されず、複数個であってもよい。すなわち、或る作業Ｘに対してユーザＵ１が最初に作業終了して、その作業済み情報をデータベース１３に登録した後、別のユーザＵ２が同一の作業Ｘに対して独自に作業を終了した場合に、ユーザＵ１に係る作業済み情報Ｉ１をユーザＵ２に係る作業済み情報Ｉ２（ただし、Ｉ１≠Ｉ２。同一のグループにおいて複数の異なる設定が許容されることもあり得る。）に置き換え、又はＩ１，Ｉ２の両方をデータベース１３へ登録してよい。また、ユーザ３３は、情報検索用情報処理装置２８において、作業Ｘを実施するとき、作業済み情報に作業済み情報Ｉ１及びＩ２のいずれを利用してもよいし、新しい方の作業済み情報Ｉ２のみを利用してもよい。また、Ｉ１，Ｉ２に対してその登録者名（又はコンピュータ名）も付加登録及び付加表示することとし、ユーザは好みの登録者名の方の作業済み情報を選択できるようになっていてもよい。
【００２６】
情報登録用情報処理装置１８と情報検索用情報処理装置２８とは、同一の情報処理装置であってもよい。すなわち、ユーザＵは、その所有する情報処理装置において、アプリケーション・ソフトウェアＡ１に係る設定作業Ｗ１については、自ら済ませ、また、別のアプリケーション・ソフトウェアＡ２に係る設定作業Ｗ２については、データベース１３の作業済み情報Ｉ２を利用する場合がある。また、ユーザが、所定の作業Ｘを自分の情報処理装置において、作業に行き詰ったならば、該情報処理装置が、情報検索用情報処理装置２８となって、先行ユーザの作業済み情報を検索し、また、作業に行き詰まらければ、該情報処理装置が情報登録用情報処理装置１８となって、該作業に係る作業済み情報がデータベース１３に登録されるようにしてもよい。
【００２７】
情報登録用情報処理装置１８からデータベース１３への作業済み情報の登録は、典型的には、自動であるが、ユーザ２３が作業を終了した時に、該作業に係る作業済み情報をデータベース１３へ登録するか否かをユーザに選択させ、ユーザ２３が登録を選択したときに限り登録するようにしてもよい。また、典型的には、情報検索用情報処理装置２８では、ユーザ３３が作業途中でヘルプのアイコンをクリックしたり、ヘルプの機能ボタンを押下したりする等、作業済み情報の提供要求を明示的に出してから、作業済み情報の検索が開始される。
【００２８】
情報登録用情報処理装置１８及び情報検索用情報処理装置２８のさらなる具体例を説明する。
【００２９】
図４はデータベース登録手段２０の内部を詳細に示す情報登録用情報処理装置１８の主要部構成図である。データベース登録手段２０は、第１種ブロック生成手段３７及びブロック登録手段３８を有している。第１種ブロック生成手段３７は、捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第１種のブロックを生成する。ブロック登録手段３８は、各第１種のブロックを１個の作業済み情報に対応させて各作業済み情報をデータベースに登録する。
【００３０】
ＯＳ２２は通常、マルチタスクに対処していて、情報登録用情報処理装置１８では、同時に複数個のアプリケーション・ソフトウェア２１が起動状態になっているので、アプリケーション・ソフトウェア２１からＯＳ２２へ送られる通信には、グラフィクス処理命令とは別の処理命令や、作業済み情報を生成しようとする目標（ｔａｒｇｅｔ）の作業とは別の作業に係るグラフィクス処理命令が含まれている。これに対し、第１種ブロック生成手段３７は、捕捉手段１９において捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出することにより、目標のグラフィクス処理命令を効率的に抽出できる。また、各第１種のブロックを１個の作業済み情報に対応させて、各作業済み情報をデータベースに登録することにより、情報検索用情報処理装置２８では、第１種のブロックを作業済み情報として入手でき、入手後の処理を合理化できる。なお、第１種のブロックとは、図１０におけるＰｒｏｃｅｓｓ１のデータ、Ｐｒｏｃｅｓｓ２のデータ、ＰｒｏｃｅｓｓＮのデータのブロックに対応する。なお、典型的なブロックは、ヘッダを有し、該ヘッダに、ブロックのサイズ情報やタイム・スタンプ及びその他の情報が適宜、書き込まれる。
【００３１】
図５は図４のデータベース登録手段２０をさらに具体化した情報登録用情報処理装置１８の構成図である。データベース登録手段２０は第２種ブロック生成手段３９を有している。第２種ブロック生成手段３９は、第１種のブロックに属する１個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第２種のブロックを生成する。ブロック登録手段３８は構造化登録手段４０を含む。構造化登録手段４０は、第２種のブロックが、第１種のブロックのサブブロックとして、第１種のブロック内に配置されるデータ構造により各作業済み情報をデータベース１３に登録する。
【００３２】
第１種のブロックに属する１個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出して、それら抽出グラフィクス処理命令を含む第２種のブロックを生成し、さらに、データベース１３における作業済み情報は、第１種のブロック内に第２種のブロックを配設した構造となる。こうして、情報検索用情報処理装置２８では、第１種のブロック及び第２種のブロックを構造化したブロックとして作業済み情報を入手でき、入手後の処理を合理化できる。なお、第２種のブロックとは、図１０におけるＰｒｏｃｅｓｓ１のデータ、Ｐｒｏｃｅｓｓ２のデータ、ＰｒｏｃｅｓｓＮのデータのブロックの内部に含まれている小ブロック（例えば、ＣｒｅａｔｅＰｒｏｃｅｓｓ及びＣｒｅａｔｅＷｉｎｄｏｗｓ（Ｗ１）が記入されているブロック）に対応する。
【００３３】
データベース登録手段２０は描画命令ブロック生成手段４１を有している。描画命令ブロック生成手段４１は、第２種のブロックとしての描画命令ブロックを、その内部を、ＯＳからの１個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第３種のブロックに区分する。構造化登録手段４０は、同一の第１種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる第３種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、２番目以降の描画命令ブロックは、その内容が１番目の描画命令ブロックと同一であることを示すことにより内容を省略した簡略ブロックとするデータ構造により各作業済み情報をデータベース１３に登録する。
【００３４】
２番目以降の描画命令ブロックを、１番目の描画命令ブロックより簡略化したブロックとすることにより、作業済み情報の構造を簡単化し、かつデータ・サイズを縮小することができる。なお、１番目及び２番目以降の描画命令は、図１１の右側のブロックにおけるＤｒａｗＣｍｄ及びＲｅｐｅａｔＤｒａｗＣｍｄにそれぞれ対応する。
【００３５】
データベース１３内の作業済み情報の構造化は情報登録用情報処理装置１８の検索の合理化にも繋がる。例えば、第１種のブロックの記憶場所は、作業済み情報の１個又は複数個の要素を直列に連結してストリングを作り、該ストリングに対応するハッシュ値を計算し、ハッシュ値に対応するアドレスとすることが考えられる。その場合に、作業済み情報の要素として第１種及び第２種のブロックに対応する名前（例：ウィンドウ名やオブジェクト名等）を利用すれば、対応の作業済み情報を能率的に探し出すことができる。
【００３６】
作業済み情報は、各処理命令をプログラミング言語により表現したシンボル列から成る。編集手段４２は、ユーザが作業済み情報のシンボル列を編集することを可能にする。なお、編集手段４２は情報検索用情報処理装置２８に装備されていてもよい。
【００３７】
作業済み情報を編集することにより、特定のボタンの色を変えたり、文字列を強調表示したりすることができる。さらに、不要な命令を排除することもできる。例えば、過去の操作例を表示する際、単に記録した時と全く同じ画像を表示するのではなく、ユーザが次に操作すべきボタンの文字列を赤色表示に変えて強調表示したり、ボタンの枠を太線表示に変えることによって、ガイドとして使いやすい表示方法を実現できる。通常のビットマップ形式による画面キャプチャでは、このような編集が極めて困難である。なお、このような編集作業は、人の手で行っても構わないし、機械的に自動編集することも可能である。
【００３８】
図３に戻って、情報検索用情報処理装置２８では、情報利用手段３２は、作業済み情報に係る設定データを静止画で表示する静止画表示手段（図示せず）、作業済み情報に係る設定データに基づいて進行中作業を自動実行する自動実行手段（図示せず）、又は作業済み情報が基づいている設定作業に係るユーザ設定操作の流れを動画で表示する動画生成手段（図示せず）、を有している。
【００３９】
このように、各設定作業に関してデータベース１３において登録された作業済み情報は、情報検索用情報処理装置２８において、静止画表示、自動実行、又は動画としてユーザに提供される。静止画表示では、先行して設定を済ませたユーザが各項目について何を設定したかが分かる支援用作業済み情報（例：図６や図７）が、本来の作業済み情報とは、サイズや位置等により区別されて、情報検索用情報処理装置２８のディスプレイに表示される。自動実行では、情報検索用情報処理装置２８のＣＰＵが、作業済み情報から各設定データを抽出して、該設定データのとおりに情報検索用情報処理装置２８の対象設定作業の各項目を設定する。動画表示は、設定作業がドラッグ・アンド・ドロップ等の移動操作を含む場合に、有益である。
【００４０】
さらに、情報検索用情報処理装置２８では、情報入手手段３１は、進行中作業におけるユーザ操作を捕捉手段２９の捕捉したグラフィクス処理命令から検出し、検出したユーザ操作に基づき該進行中作業に係る作業済み情報を検索する。
【００４１】
捕捉手段２９の捕捉したグラフィクス処理命令から検出するユーザ操作とは、単一のユーザ操作だけでなく、複数のユーザ操作、及び順番を考慮した複数のユーザ操作としてのユーザ操作履歴を含むものとする。
【００４２】
データベース１３内の作業済み情報は、同一のプロセスに係るグラフィクス処理命令を含む第１種のブロック（図１０の外側のブロック）とする構造となっている。これに対して、情報入手手段３１は、進行中作業に係る作業済み情報を１個の第１種のブロックとしてデータベースから入手する。
【００４３】
さらに、データベース１３内の作業済み情報は、第１種のブロックに属する１個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第２種のブロック（図１０の各Ｐｒｏｃｅｓｓの内側のブロック）とし、第２種のブロックが、第１種のブロックのサブブロックとして、第１種のブロック内に配置される構造となっている。これに対し、情報入手手段３１は、進行中作業に係る作業済み情報を、複数個の第２種のブロックを含む１個の第１種のブロックとしてデータベースから入手する。
【００４４】
データベース１３内の作業済み情報は、第２種のブロックとしての描画命令ブロックが、その内部を、ＯＳからの１個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第３種のブロックに区分され、次に、同一の第１種のブロック内にある複数個の描画命令ブロック（図１１の左側のブロックにおけるＤｒａｗＣｍｄ）に対して、それらに含まれる第３種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、２番目以降の描画命令ブロックは、その内容が１番目の描画命令ブロックと同一であることを示すことにより内容を省略した簡略ブロック（図１１の右側のブロックにおけるＲｅｐｅａｔＤｒａｗＣｍｄ）とするデータ構造となっている。情報入手手段３１は、進行中作業に係る作業済み情報を、簡略ブロックを含む１個の第１種のブロックとしてデータベース１３から入手する。
【００４５】
なお、情報検索用情報処理装置２８は捕捉手段２９に代えてグラフィクス・オブジェクト情報検出手段を有することもできる。この場合、グラフィクス・オブジェクト情報検出手段は、ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出し、情報入手手段３１は、検出したオブジェクトに基づき作業済み情報に係るデータベース１３内を検索して入手し、情報利用手段３２は、入手・検索手段３１により入手した作業済み情報を進行中作業に利用する。
【００４６】
図８は捕捉手段１９，２９が各設定作業におけるユーザ操作を捕捉する原理の説明図である。各アプリケーション・ソフトウェア２１ａ，２１ｂ，２１ｃ，・・・と１個のＯＳ２２との間にフック・ドライバ５７ａ，５７ｂ，５７ｃ，・・・が介在する。これらフック・ドライバ５７ａ，５７ｂ，５７ｃ，・・・は、アプリケーション・ソフトウェア２１ａ，２１ｂ，２１ｃ，・・・によるＡＰＩ呼出と、システムからアプリケーション・ソフトウェアに対するメッセージ送信を監視することが可能になる。ＡＰＩ呼出及びメッセージ送信を捕捉した捕捉手段１９は、データベース登録手段２０に対して、イベントの種類やパラメータなどを渡し、データを生成させる。なお、図８については、後述の実施例の項で、詳述する。
【００４７】
次のシンボル列Ａのリストは情報登録用情報処理装置１８において、ＤＮＳ( Domain Name System )サーバの設定作業を捕捉した際にシステム上で発行された全グラフィクス処理命令列をテキスト形式に整形したものである。煩雑さを排除するため、描画データ、マウス・データなど、検索に関係しないデータは省略している。測定は、Microsoft Windows XPにおいて行った。なお、シンボル列の各行の左端の番号は、説明の便宜上挿入したものであり、実際の捕捉では、このような行番号は現れない。また、シンボル列Ａの先頭（行番号１０）のCaptureStartは、フック・ドライバがフックを開始したというイベントを意味しており、アプリケーション・プログラムが呼び出すＡＰＩでも、ＯＳが送るメッセージでもない。シンボルにおける各パラメータの定義についてはシンボル列Ａのリストの後で説明する。
【００４８】
（シンボル列Ａ）
10:(CaptureStart)
11:UpdateVideoMode 1280 x 1024 16bpp 60 Hz
12:CreateProcess 13:17:01 [1008] "C:\Program Files\Debugging Tools for Windows\windbg.exe"
13:CreateWindow 0x10014 Parent 0 [1008.632] (1) Class "#32769"
14:MoveWindow 0x10014 (0, 0) 1280 x 1024 Z 0
15:CreateProcess 13:17:02 [420] "C:\WINDOWS\Explorer.EXE"
16:CreateWindow 0x10014 Parent 0 [420.632] (1) Class "#32769"
17:CreateProcess 13:17:02 [944] "V:\code\PCService\Sable\SABLEManager\debug\SABLEController.exe"
・・・
100:MoveWindow 0x502b0 (0, 0) 0 x 0 Z 0x30314
101:MoveWindow 0x502ac (0, 0) 0 x 0 Z 0x502b0
102:MoveWindow 0x602c0 (110, 110) 367 x 443 Z 0x502ac
103:ActivateWindow 0x602c0 [Active]
104:ActivateWindow 0x402be [Active]
105:CreateWindow 0x50316 Parent 0 [420.640] (332) Class "#32770"
106:MoveWindow 0x50316 (153, 194) 336 x 253 Z 0x30314
107:CreateWindow 0x40324 Parent 0x50316 [420.640] (333) Class "Button"
108:MoveWindow 0x40324 (6, 198) 75 x 23 Z 0
109:CreateWindow 0x40326 Parent 0x50316 [420.640] (334) Class "Button"
110:MoveWindow 0x40326 (87, 198) 75 x 23 Z 0x40324
111:CreateWindow 0x40328 Parent 0x50316 [420.640] (335) Class "Button"
・・・
【００４９】
例えば、上記のシンボル列Ａから、プロセス"C:\WINDOWS\Explorer.exe"のクラス名"#32770"というウィンドウに関するグラフィクス処理命令のみを抽出すると、行番号１５と、行番号１０５〜１１１となる。すなわち、"C:\WINDOWS\Explorer.exe"以外のプロセスに係るグラフィクス処理命令、及び"C:\WINDOWS\Explorer.exe"のプロセスであっても、クラス名"#32770"というウィンドウ以外のウィンドウに係るグラフィクス処理命令は、抽出しないことになる。
【００５０】
［シンボルにおける各パラメータの定義］
行番号１５のCreateProcess 13:17:02 [420] "C:\WINDOWS\Explorer.EXE"はプロセス生成のシンボルであり、その各パラメータの定義は次のとおりである。
13:17:02：起動時刻
420：プロセスID
"C:\WINDOWS\Explorer.EXE"：プログラムのファイル名
行番号１０５のCreateWindow 0x50316 Parent 0 [420.640] (332) Class "#32770"はウィンドウ生成のシンボルであり、その各パラメータの定義は次のとおりである。
0x50316：ウィンドウハンドルと呼ばれる識別子
Parent 0：0ならば、当該フィンドウは、親ウィンドウ無し、つまりトップレベルウィンドウであることを意味する。0以外ならば、親ウィンドウハンドルの指定であることを意味する。
[420.640]：プロセスID420、スレッドID640
332：その時点でのウィンドウ数
Class "#32770"：クラス名が、「#32770」という名前であることを意味する。
行番号１０６の MoveWindow 0x50316 (153,194) 336x253 Z 0x502acは、ウィンドウ移動のシンボルであり、その各パラメータの定義は次のとおりである。
0x50136：ウィンドウハンドル
(153,194)：移動後の左上隅座標
336x253：移動後のサイズ
Z 0x502ac：Z-order順で、上位のウィンドウハンドル (0x502acというウィンドウの下に来る)
【００５１】
次のシンボル列Ｂのリストは情報検索用情報処理装置２８において、ＤＮＳサーバの設定作業を捕捉した際にシステム上で発行された全グラフィクス処理命令列をテキスト形式に整形したものである。情報登録用情報処理装置１８の場合と同様に、煩雑さを排除するため、描画データ、マウス・データなど、検索に関係しないデータは省略し、また、測定は、Microsoft Windows XPにおいて行った。
【００５２】
（シンボル列Ｂ）
200:MoveWindow 0x6017e (0, 0) 472 x 194 Z 0
201:CreateWindow 0x3022c Parent 0 [1288.1960] (5) Class "MSCTFIME UI"
202:MoveWindow 0x3022c (0, 0) 0 x 0 Z 0x800a4
203:CreateWindow 0x6016e Parent 0 [1288.1960] (6) Class "IME"
204:MoveWindow 0x6016e (0, 0) 0 x 0 Z 0x3022c
205:CreateProcess 13:11:31 [556] "C:\WINDOWS\Explorer.EXE"
206:CreateWindow 0x10014 Parent 0 [556.632] (7) Class "#32769"
207:CreateProcess 13:11:32 [1716] "C:\Program Files\Messenger\msmsgs.exe"
・・・
300:MoveWindow 0x6016a (0, 0) 0 x 0 Z 0x800a4
301:MoveWindow 0x9015c (0, 0) 0 x 0 Z 0x6016a
302:MoveWindow 0xe020e (0, 0) 0 x 0 Z 0x9015c
303:MoveWindow 0x1201ac (132, 132) 367 x 443 Z 0xe020e
304:ActivateWindow 0x1201ac [Active]
305:ActivateWindow 0x3021c [Active]
306:CreateWindow 0x7017a Parent 0 [556.1284] (157) Class "#32770"
307:MoveWindow 0x7017a (175, 216) 336 x 253 Z 0x6016a
308:CreateWindow 0xc01bc Parent 0x7017a [556.1284] (158) Class "Button"
309:MoveWindow 0xc01bc (6, 198) 75 x 23 Z 0
310:CreateWindow 0x1201b6 Parent 0x7017a [556.1284] (159) Class "Button"
311:MoveWindow 0x1201b6 (87, 198) 75 x 23 Z 0xc01bc
312:CreateWindow 0xe019a Parent 0x7017a [556.1284] (160) Class "Button"
313:MoveWindow 0xe019a (168, 198) 75 x 23 Z 0x1201b6
314:CreateWindow 0x70156 Parent 0x7017a [556.1284] (161) Class "Button"
・・・
【００５３】
例えば、シンボル列Ｂから、プロセス"C:\WINDOWS\Explorer.exe"のクラス名"#32770"というウィンドウに関するグラフィクス処理命令のみを抽出すると、行番号３０６〜３１４となる。
【００５４】
データベース登録手段２０は、捕捉手段１９が捕捉したユーザ操作情報を、指定されたデータ・フォーマットに整形して、データベース１３に登録する。図９は各種イベントに対する一連のグラフィクス処理命令についてのデータ・フォーマットを例示している。（ａ）はウィンドウの作成イベント(CreateWindow)、（ｂ）はウィンドウのサイズ・位置変更イベント(MoveWindow)、（ｃ）はウィンドウのタイトル変更イベント(SetText)、（ｄ）は画面描画命令(DrawCmd)、及び（ｅ）はアプリケーション開始イベント(CreateProcess)についてのデータ・フォーマットである。図示のイベント以外にも、ウィンドウ削除イベント、オフスクリーンバッファ確保・解放イベント、マウス操作イベント、メニュー操作イベントなどが存在する。
【００５５】
データベース登録手段２０は、データベース１３にデータを登録する際、単に生成されたデータを時間順に追記するのではなく、プロセスごと、さらにグラフィクス・オブジェクト(ウィンドウやオフスクリーンバッファ)ごとに分類して捕捉する。また、グラフィクス・オブジェクトの生成パターンに基づいて操作内容の検索を容易にするため、データ列のハッシュ値などを探索キーとしてデータに付随して登録する。図１０はデータベース登録手段が各設定作業に対してデータベース１３に登録する作業済み情報の構造を示している。図１０については、後の実施例１において詳述する。
【００５６】
捕捉手段１９が捕捉した全部の処理命令から、注目するウィンドウＷ１，Ｗ２−１，Ｗ２−２のグラフィクス処理命令だけを抽出した命令列が次のシンボル列Ｃであったとする。なお、左端の行番号は説明の便宜上挿入しただけである。
【００５７】
（シンボル列Ｃ）
400:CreateProcess(P1);
401:CreateWindow(W1);
402:BeginPaint(W1);
403:CreateProcess(P2);
404:CreateWindow(W2-1);
405:CreateWindow(W2-2);
406:PatBlt(W1);
407:TextOut(W1);
408:BeginPaint(W2-1);
409:BitBlt(W2-1);
410:LineTo(W2-1);
411:EndPaint(W2-1);
412:EndPaint(W1);
413:DestroyWindow(W1);
414:BeginPaint(W2-2);
415:TextOut(W2-2);
416:KillProcess(P1);
417:EndPaint(W2-2);
418:DestroyWindow(W2-1);
419:DestroyWindow(W2-2);
420:KillProcess(P2);
【００５８】
この時系列データを、プロセスＰ１，Ｐ２ごと、ウィンドウＷ１，Ｗ２−１，Ｗ２−２ごとに分類したものが、図１０の左側２つのブロックのプロセス１，２である。一方、マルチタスク環境では、ＯＳのスケジューラにより適当な間隔でタスク・スイッチが生じるため、システム全体での処理命令列はどのような順序になるか想定できない。しかし、ウィンドウごとに分類して、特定のウィンドウに関するデータだけを見てみると、同じ絵を表示するためには、毎回必ず同じ順序で処理命令が生成される。本発明は、この点に着目して、同じ処理命令パターンならば、同じ操作内容だと判断する。
【００５９】
通常、ウィンドウが生成された後も、色々なイベントに応じて、ウィンドウ内部の絵は描き改められる。例えば、上にかぶさっていた別なウィンドウがいなくなったため、新たに出現した領域の絵を描き直す必要がある。このとき、最初に生成された時に実行された描画命令と、再描画したときに実行された描画命令を区別しておけば、検索・編集・圧縮などが容易に実現可能になる。例えば、もし再描画命令が前回の描画命令とまったく同じであるならば、２回目以降の描画命令は、単に「前回と同じ」という命令に置き換えることが可能である。このような機能を実現するためには、単に描画命令を生成された順にパックしていけばいいというわけにはいかず、何らかのイベントごとに描画命令を区切っておく。図１１は再描画命令について最初の描画命令に置き換えたプロセスに係る作業済み情報の構造図である。左側のデータ構造における２回目以降のＤｒａｗＣｍｄは、右側のデータ構造では、ＲｅｐｅａｔＤｒａｗＣｍｄに置き換えられて、サイズが縮小されている。
【００６０】
図１２はデータベース登録ルーチンのフローチャートである。データベース登録ルーチンは情報登録用情報処理装置１８に実装される。Ｓ６５では、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する。Ｓ６６では、捕捉されたグラフィクス処理命令の中から、作業終了した作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベース１３に登録する。
【００６１】
データベース登録ルーチンの具体例を図１３及び図１４において説明する。作業とは、アプリケーション・ソフトウェア及び／又は所属グループの共有資源についての設定作業である。
【００６２】
図１３において、Ｓ６６はサブステップＳ６９，Ｓ７０を有している。Ｓ６９では、捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第１種のブロックを生成する。Ｓ７０では、各第１種のブロックを１個の作業済み情報に対応させて各作業済み情報をデータベースに登録する。
【００６３】
図１４において、Ｓ６６はサブステップＳ７２を含む。Ｓ７２では、第１種のブロックに属する１個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第２種のブロックを生成する。Ｓ７０では、第２種のブロックが、第１種のブロックのサブブロックとして、第１種のブロック内に配置されるデータ構造により各作業済み情報をデータベースに登録する。
【００６４】
さらに、Ｓ６６では、図１１の左右のブロックに対応させて次の処理を行なってもよい。Ｓ６６のサブステップＳ７３では、第２種のブロックとしての描画命令ブロックを、その内部を、ＯＳからの１個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第３種のブロック（図１１の左側のブロックにおけるＤｒａｗＣｍｄ）に区分する。そして、Ｓ７３では、同一の第１種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第３種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、２番目以降の描画命令ブロックは、その内容が１番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロック（図１１の右側のブロックにおけるＲｅｐｅａｔＤｒａｗＣｍｄ）とするデータ構造により各作業済み情報をデータベース１３に登録する。
【００６５】
図１５はデータベース検索ルーチンのフローチャートである。Ｓ７６では、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する。Ｓ７７では、進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する。Ｓ７８では、進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づきデータベース１３内を検索し、該進行中作業の作業済み情報を入手する。Ｓ７９では、入手した作業済み情報を進行中作業に利用する。
【００６６】
データベース検索ルーチンのさらなる具体例は次のとおりである。作業とは、アプリケーション・ソフトウェア及び／又は所属グループの共有資源についての設定作業である。
【００６７】
Ｓ７９は、作業済み情報に係る設定データを静止画で表示するサブステップ、作業済み情報に係る設定データに基づいて進行中作業を自動実行するサブステップ、及び／又は作業済み情報が基づいている設定作業に係るユーザ設定操作の流れを動画で表示するサブステップを有する。どのサブステップを選択するかは、作業の種類に応じて切替えてもよい。
【００６８】
Ｓ７８では、進行中作業におけるユーザ操作をＳ７６において捕捉したグラフィクス処理命令から検出し、検出したユーザ操作に基づき該進行中作業に係る作業済み情報を検索する。
【００６９】
捕捉したグラフィクス処理命令から検出するユーザ操作とは、単一のユーザ操作だけでなく、複数のユーザ操作、及び順番を考慮した複数のユーザ操作としてのユーザ操作履歴を含むものとする。
【００７０】
データベース１３内の作業済み情報は、同一のプロセスに係るグラフィクス処理命令を含む第１種のブロックとする構造となっている。これに対し、Ｓ７８では、進行中作業に係る作業済み情報を１個の第１種のブロックとしてデータベースから入手する。
【００７１】
データベース１３内の作業済み情報は、第１種のブロックに属する１個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第２種のブロックとし、第２種のブロックが、第１種のブロックのサブブロックとして、第１種のブロック内に配置される構造となっている。これに対し、Ｓ７８では、進行中作業に係る作業済み情報を、複数個の第２種のブロックを含む１個の第１種のブロックとしてデータベースから入手する。
【００７２】
データベース内の作業済み情報は、第２種のブロックとしての描画命令ブロックが、その内部を、ＯＳからの１個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第３種のブロックに区分され、次に、同一の第１種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第３種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、２番目以降の描画命令ブロックは、その内容が１番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとなっている。これに対し、Ｓ７８では、進行中作業に係る作業済み情報を、簡略ブロックを含む１個の第１種のブロックとしてデータベースから入手する。
【００７３】
データベース検索ルーチンは次のステップからなってもよい。ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出する。検出したオブジェクトに基づき作業済み情報に係るデータベース１３内を検索し、該進行中作業の作業済み情報を入手する。検索手段により入手した作業済み情報を進行中作業に利用する。ユーザの操作履歴ではなく、ユーザが作業済み情報について利用要求を出したオブジェクトに基づき検索するので、ユーザの操作履歴の記録を省略できる。
【００７４】
本発明は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するコンピュータ・システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムを制御し、本発明に係る処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、又は１．他の言語・コード・表記への変換、２．他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを捕捉した媒体もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハード・ディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ読み取り可能な捕捉媒体に格納することができる。かかるプログラムは、捕捉媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の捕捉媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、又は複数に分割して、単一又は複数の捕捉媒体に格納することもできる。
【００７５】
図１６はプログラムを実行するためのハードウェア構成図である。前述した情報登録用情報処理装置１８及び情報検索用情報処理装置２８の各手段としてコンピュータを機能させるためのプログラムは、例えば図１６に記載したハードウェアを使用して、実行される。あるいは、前述した作業済み情報生成方法及び作業済み情報利用方法の各ステップ（サブステップを含む。）をコンピュータに実行させるための作業済み情報生成プログラム及び作業済み情報利用プログラムは、例えば、図１６に記載したハードウェアを使用して、実行される。システム・バス８０には、ＣＰＵ８１、主記憶装置８２及び入出力制御装置８３が接続される。前述した手段又はステップは、コード化されたプログラムとして実行可能となっている。入出力制御装置８３には、ハード・ディスク・インターフェース等が含まれ、ＣＰＵ８１が実行する各種プログラムはハード・ディスク装置等にストアされている。プログラムは、ＣＰＵ８１において実行されるのに先立ち、主記憶装置８２にストアされる。ＣＰＵ８１は、主記憶装置８２の命令行を順次、読み出して、該プログラムを実行する。  
【実施例１】
【００７６】
図１７は、データ生成コンピュータ８５ａの構成図である。データ生成コンピュータ８５ａは、ユーザ操作捕捉部８６とデータ生成部８７、アプリケーション８８及びＯＳ８９で構成される。ユーザ操作捕捉部８６は、ユーザ９０による操作に起因して生成されるアプリケーションによるグラフィクス・インターフェース（ＡＰＩ）呼び出しや、アプリケーションに対するイベント・メッセージを監視することにより、ユーザ操作を捕捉する。捕捉内容には、グラフィクス・オブジェクトに対する描画命令や、グラフィクス・オブジェクトの生成・削除命令、マウス、キー、メニューなどのユーザ操作情報を含む。ユーザ操作捕捉部８６は、ユーザの全操作内容を取りこぼしなく捕捉することも可能であるし、あらかじめ定めたアプリケーションやグラフィクス・オブジェクトに限定して捕捉することも可能である。
【００７７】
図８は、ユーザ操作捕捉部８６の実装例として、Microsoft Windowsにおけるソフトウェア階層図を示す。ユーザ操作捕捉部８６は、ユーザモードDLL(フック・ドライバ（Hook Driver）５７と呼ぶ)として実装され、各アプリケーション・プロセス空間にマップされる。各アプリケーション・プロセス内にマップされたHook Driverは、プロセスのアドレス空間内の全モジュールのImport Address Tableを修正し、USER32.DLL及びGDI32.DLLに含まれるAPIフックを行う。同時に、システムに対してWindowのサブクラス化を要求し、アプリケーション・プログラムのウィンドウに対するメッセージを受信できるようにする。これにより、アプリケーションによるＡＰＩ呼出と、システムからアプリケーションに対するメッセージ送信を監視することが可能になる。ＡＰＩ呼出及びメッセージ送信を捕捉したHook Driverは、後述するデータ生成部８７に対して、イベントの種類やパラメータなどを渡し、データを生成させる。
【００７８】
データ生成部８７は、ユーザ操作捕捉部８６が捕捉したユーザ操作情報を、指定されたデータ・フォーマットに整形して、データベース９２に記録する。データ生成部８７が生成するデータ・フォーマットの例は、図９で説明したものであり、ウィンドウの作成イベント(CreateWindow)、ウィンドウのサイズ・位置変更イベント(MoveWindow)、ウィンドウのタイトル変更イベント(SetText)、画面描画命令(DrawCmd)、アプリケーション開始イベント(CreateProcess)の各データ例を示す。図示したデータ以外にも、ウィンドウ削除イベント、オフスクリーンバッファ確保・解放イベント、マウス操作イベント、メニュー操作イベントなどが存在する。
【００７９】
データ生成部８７は、データベース９２にデータを記録する際、図１０に記すように、単に生成されたデータを時間順に追記するのではなく、プロセスごと、さらにグラフィクス・オブジェクト(ウィンドウやオフスクリーンバッファ)ごとに分類して記録する。また、グラフィクス・オブジェクトの生成パターンに基づいて操作内容の検索を容易にするため、データ列のハッシュ値などを探索キーとしてデータに付随して登録する。
【００８０】
通常、典型的なウィンドウアプリケーションでは、次の動作を行う。
1：アプリケーション開始 (CreateProcess)
2：Window作成 (CreateWindow)
3：Window位置設定 (MoveWindow)
4：Windowタイトル設定 (SetText)
5：描画 (DrawCmd)
6：Window削除 (DestroyWindow)
7：アプリケーション終了 (KillProcess)
【００８１】
このようなアプリケーションに対して、データ生成部８７は、図１０に示すプロセス1のようなデータ列を生成する。また、ウィンドウが子ウィンドウを持つ場合には、2〜6の処理が入れ子になることもあり、その場合、図１０に示すプロセス2のようなデータ列が生成される。さらに、プロセス内に複数スレッドが稼働しており、各々が独立したウィンドウを管理する場合には、図１０に示すプロセスNのようなデータ列が生成される。図１０に示したデータパターンは、最も単純なケースであり、当然、ユーザが様々な操作をすることにより、ウィンドウサイズの変更データや、再描画命令データが随時生成される。しかし、異なる環境で同じアプリケーションを同じように実行した場合、プロセスＩＤ、ウィンドウＩＤ、ウィンドウ座標などの稼働時の環境に依存する値を除いて、基本的に全く同じデータ列が生成される。
【００８２】
そこで、本実施例では、グラフィクス・オブジェクトの生成から消滅に至る一連の操作において生成されるデータ列のうち、環境に依存しない部分だけのデータからハッシュ値を生成し、グラフィクス・オブジェクトに対する操作命令列データと関連づけして、データベースに探索キーとして登録する。より具体的には、例えば図１０のプロセス1を例にすると、プロセス名、ウィンドウ・タイトル名、クラス名、スタイル、及びウィンドウの生成順序などの、環境に依存しない値だけをパックしてハッシュ値を計算し、データに付加する。これらの値は、異なる環境で実行しても同じように繰り返し再現されるデータであるため、同じハッシュ値を生成する。ハッシュ値の生成は、データ登録時に同時に行ってもよいが、バックグラウンドで後処理してもよい。
【実施例２】
【００８３】
図１８はデータ参照コンピュータ９５ａの構成図である。データ参照コンピュータ９５ａは、ユーザ操作捕捉部９６、データ生成部９７、ユーザインターフェース提供部９８、データ検索部９９、データ表示部１００、操作履歴バッファ１０１、及びアプリケーション１０２とＯＳ１０３で構成される。
【００８４】
ユーザ操作捕捉部９６とデータ生成部９７は、それぞれデータ生成コンピュータ８５ａのユーザ操作捕捉部８６、データ生成部８７と類似の機能を持ち、ユーザ１０４の操作履歴を管理する。データ生成部９７は、データ参照コンピュータ９５ａの内部にある操作履歴バッファ１０１に、ユーザ操作履歴データを蓄積する。この操作履歴データは、データ生成コンピュータ８５ａで生成されるデータと同一のフォーマットであり、共有データベース９２から過去の同類の操作例を検索する際に利用される。
【００８５】
インターフェース提供部９８は、ユーザ１０４に対してヘルプ要求のためのインターフェースを提供する。具体的には、設定ダイアログボックスのタイトルバーにヘルプ要求のためのボタンを追加したり、ダイアログボックスの個々の設定箇所近傍にマウスカーソルを移動したときに、ヘルプ要求のためのウィンドウまたはメニューを表示したりする。 あるいは、キー入力を監視することで、ユーザ１０４にある特定のホットキー操作を行わせることもできる。また、ThinkPad（登録商標）のAccessIBMボタンのような特殊なハードウェアキーを用意してもよい。
【００８６】
データ検索部９９は、ユーザ１０４が、ユーザインターフェース提供部９８が提示したインターフェースを介してヘルプ要求をした時に、対象となるウィンドウ(例えばボタンが押されたウィンドウや、その時点でアクティブなウィンドウ)に関する操作履歴データを、操作履歴バッファ１０１から取得し、同一操作だと思われる過去の操作例をデータベース９２から検索する。検索する際、グラフィクス・オブジェクトの生成パターンデータから環境依存値を除外したデータのハッシュ値を求め、データベースから同一ハッシュ値のデータを探索すれば、効率的に検索できる。
【００８７】
データ表示部１００は、データ検索部９９が検索した過去の操作例をデータベース９２から取り出し、ユーザ１０４に提示する。具体的には、過去の操作例をアニメーション形式で再生したり、該当ウィンドウだけを静止画で表示する。また、ユーザ１０４がヘルプ要求した項目のパラメータ例を、その項目の入力箇所近傍に表示してもよい。さらに、同じ操作に対する過去の操作例が複数存在する場合には、ユーザ数の多い設定例を提示したり(多数決方式)、最も最近設定したユーザ１０４の設定例を提示したりする。
【００８８】
以下、実データを用いながら、検索の具体例を示す。
【００８９】
前述のシンボル列Ａは、データ生成コンピュータ８５ａにおいて、ＤＮＳサーバの設定作業を記録した際にシステム上で発行された全グラフィクス処理命令列をテキスト形式に整形したものである。煩雑さを排除するため、描画データ、マウス・データなど、検索に関係しないデータは省略している。測定は、Microsoft Windows XPにおいて行った。シンボル列Ａの行番号１５及び行番号１０５〜１１１が、ＤＮＳサーバの設定ウィンドウに関連するデータのうち、ハッシュ値の計算に用いる箇所である。
【００９０】
一方、シンボル列Ｂに記載のデータは、データ参照コンピュータ９５ａにおいて、同様にＤＮＳサーバの設定操作をしており、ＤＮＳサーバの設定箇所でユーザ１０４がヘルプ要求ボタンを押した時の、操作履歴データである。行番号２０５と、行番号３０６〜３１４が、該当ウィンドウに関連するデータであり、検索の際にハッシュ値の計算に利用する箇所である。シンボル列Ａの行番号１５及び行番号１０５〜１１１と比較すれば分かるように、ウィンドウハンドルやトップレベルウィンドウの絶対座標、プロセスＩＤなど環境依存の値を除いて、全く同じように再現されているため、両方とも同じハッシュ値を生成する。
【００９１】
ここでは、ハッシュ値を算出して比較する例を述べたが、これに限定するわけではなく、一致する操作例データが見つかるなら、そのほかの手法を用いてもよい。
【００９２】
また、検索キーの生成方法は、状況に応じて柔軟に変えることができる。例えば、上の例では、対象ウィンドウがダイアログボックスだったので、子ウィンドウの相対位置・サイズが常に同じだったが、仮に対象がサイズ可変のトップレベルウィンドウだとすると、画面サイズやウィンドウサイズに応じて、子ウィンドウの相対位置・サイズが変わる可能性もあり得る。しかし、検索キーの算出に用いるデータは、常に同一種類に固定されている必要性はなく、ウィンドウスタイルに応じて可変にすることができる。例えば、ダイアログボックスでは子ウィンドウの相対位置・サイズを検索キーの算出に用いるが、可変サイズのウィンドウスタイルの場合には用いない。
【００９３】
同様に、検索する人のニーズに応じて、検索キーの算出方法を柔軟に変えてもよい。例えば、ウィンドウ・タイトルやボタンの文字列を含めて検索すると、通常は検索精度が向上する。しかし、同じアプリケーション・プログラムの英語版と日本語版とでデータを共有したいときには、逆に文字列情報は邪魔になる。そのような場合、検索キーの算出には、文字列情報以外の、クラス名、子ウィンドウの生成順序、プロセス名などだけを用いるべきである。
【００９４】
本実施例により、グループ内のユーザは、グループ内で別のユーザが過去に同じ操作を行っていた場合、そのユーザの操作内容を参照しながら、自分の操作を行うことができる。企業内の同一部署のような小規模グループで適用すると、そのグループ固有のネットワーク設定やプリンタ設定、あるいはアプリケーション・プログラムの利用方法などの情報を、効率よく共有できるようになる。
【００９５】
また、上記実施例では、グループ内の誰もがデータ生成できると仮定したが、必ずしもその必要性はなく、例えば部門のシステム管理者だけが、操作データを生成してデータベースに記録できるようにし、一般ユーザは、データベースに記録された模範設定例を参照するだけという利用形態も可能である。
【００９６】
また、データ生成する際、ユーザがデータを登録するかしないかの選択をできるユーザインターフェースを提供してもよい。さらに、本発明で利用したデータ・フォーマットは、処理命令をシンボル列で記述できるため、描画命令の編集が可能である。そのため、操作履歴データを直接データベースに記録するのではなく、一度データ生成コンピュータの内部にバッファリングしておき、データの編集や取捨選択をした上で、共有データベースに登録することも可能である。
【実施例３】
【００９７】
図１９は別のデータ参照コンピュータ９５ｂの構成図である。該データ参照コンピュータ９５ｂでは、ユーザによるヘルプ要求が発生した時点でグラフィクス・オブジェクトの状態を調査し、その情報をヒントにデータベースから過去の同じ操作例を検索する。データ参照コンピュータ９５ｂは、検索精度をやや犠牲にする代わりに、データ参照コンピュータで操作履歴を捕捉し続ける必要がなくなる利点がある。
【００９８】
データ参照コンピュータ９５ｂにおいてデータ参照コンピュータ９５ａとの違いは、ユーザ操作捕捉部９６、データ生成部９７、操作履歴バッファ１０１がない代わりに、オブジェクト調査部１０７が加わった点である。
【００９９】
ユーザインターフェース提供部９８が、ユーザからのヘルプ要求を受けると、オブジェクト調査部１０７は、その時点の対象ウィンドウのグラフィクス・オブジェクトの状態を調べる。具体的には、対象ウィンドウのウィンドウ・タイトル名、サイズの縦横比、ウィンドウ内部の文字列、ボタンの配置座標、子ウィンドウの数など、ウィンドウを識別できる何らかの情報を取得する。これらの情報は、逐次状態遷移を捕捉していなくても、オンデマンドに取得できる情報である。
【０１００】
オブジェクト調査部１０７が、対象ウィンドウの識別情報を取得すると、データ検索部９９に対して、データベース９２から過去の同じ操作例を検索させる。例えば、識別情報としてウィンドウ・タイトル名を利用した場合、データ検索部９９は、データベース内のデータのうち、同じウィンドウ・タイトル名のウィンドウ生成イベントを含むデータを検索する。直接テキスト検索をしてもよいが、効率的に検索するため、実施例1と同様に、データの登録時にハッシュテーブルを用意し、検索時にはハッシュキーで探索してもよい。
【０１０１】
データ参照コンピュータ９５ａに比べ、データ参照コンピュータ９５ｂでは、オブジェクトの生成パターンをトラックしているわけではないので、検索精度が下がる可能性がある。例えば、同じウィンドウ・タイトル名のウィンドウを生成する、まったく別なアプリケーション・プログラムのデータが複数存在する可能性がある。そこで、初回の検索で複数の異なるデータが見つかった場合、例えば、親ウィンドウ情報を付加したり、プロセス情報を付加することにより、再帰的に検索し、検索精度を上げる。
【実施例４】
【０１０２】
実施例４では、データ参照コンピュータは、データ参照コンピュータが過去の操作例を参照する際、ユーザにその操作内容そのものを示すのではなく、その操作を行ったユーザに関する情報を示すものである。この実施例４では、ヘルプを求めるユーザは、過去にグループ内のどのユーザが同じ操作をしたことがあるのか把握できるので、誰に問い合わせればよいかを効率よく知ることができる。参照する操作データ内の具体的な設定パラメータを他人に見せたくないような場合に有効な方法である。
【実施例５】
【０１０３】
図２０は、本実施例におけるデータ参照コンピュータ９５ｃを示す。 データ参照コンピュータ９５ｃは、データ参照コンピュータが過去の操作例を参照する時、操作例を提示するだけでなく、同時にユーザに代わってその操作そのものを自動的に代行する機能を提供する。データ参照コンピュータ９５ａとの差異は、操作代行部１１０が追加された点だけである。
【０１０４】
データ参照コンピュータ９５ｃでは、操作代行部１１０は、ユーザによるマウス操作、メニュー操作、キー入力操作をエミュレートする機能を備え、データベースから取得した過去の操作例データに示された操作内容を、ユーザに代わって自動的に実行する。
【０１０５】
図２１はデータ参照コンピュータ９５ｄがデータ生成コンピュータ８５ｂに直接操作データを要求する場合の説明図である。データ参照コンピュータ９５ｄがネットワークを介してデータベースにアクセスするのではなく、データベース９２そのものを、データ生成コンピュータ８５ｂの内部に配置し、データ参照コンピュータ９５ｄが、データ生成コンピュータ８５ｂに直接操作データを要求する。図には記載されていないが、２台のコンピュータ８５ｂ，９５ｄは、赤外線通信や無線アドホックネットワークなどを介して通信することを想定している。
【０１０６】
データ生成コンピュータ８５ｂは、データベース９２を内部に配置する。また、データ転送の要求を受け付けてデータを転送する、データ転送部１１５も備える。その他の構成要素は、データ生成コンピュータ８５ａと同じである。
【０１０７】
データ参照コンピュータ９５ｄは、データ生成コンピュータ８５ｂのデータ転送部１１５からデータを受信する、データ受信部１１６を新たに備える。その他は、データ参照コンピュータ９５ａと同じである。
【０１０８】
本実施例は、やや複雑な操作方法を口頭で教える代わりに、その場で実際に操作内容を記録し、参照コンピュータのユーザに提示するような利用形態に適している。
【０１０９】
本発明により、ユーザが、設定パラメータを共有できる他のユーザの過去の操作例を、LANや赤外線通信、あるいはアドホックネットワークなどを介して、参照しながら、実際に自分のコンピュータの設定作業を行えるユーザ支援システムを実現できる。ユーザは、複数のドキュメントに分散しているガイド情報を個別に収集する煩雑さから解放され、近隣のユーザに口頭で問い合わせるのと同じような感覚で、気軽に過去の操作例を参照することができる。また、システム管理者やアプリケーションベンダなどは、個々の利用環境に応じたヘルプドキュメントを容易に作成できるようになり、管理・運営コストを大幅に減らすことができる。
【実施例６】
【０１１０】
さらに別の実施例を説明する。情報利用手段３２（図３）は、複数の設定パラメータが選択可能な場合に、過去に同じ設定を行ったユーザ数の多い順に候補を提示すること、あるいは最もユーザ数の多い候補のみを提示する。情報利用手段３２は、複数の設定パラメータが選択可能な場合に、過去の最も直近に設定を行ったユーザが操作した例を提示する。データベース１３（図２）は、時間の経過に伴いに情報が次第に豊富になるとともに、参照ユーザ数の少ないデータや、同一ユーザによる同一項目の再設定頻度が高いデータなどを、廃れた情報とみなして削除する。
【図面の簡単な説明】
【０１１１】
【図１】設定処理に係るデータベースを利用するシステムの構成図である。
【図２】情報登録用情報処理装置の機能ブロック図である。
【図３】情報検索用情報処理装置の機能ブロック図である。
【図４】データベース登録手段の内部を詳細に示す情報登録用情報処理装置の主要部構成図である。
【図５】図４のデータベース登録手段をさらに具体化した情報登録用情報処理装置の構成図である。
【図６】日本語用ワープロソフトのオプションの設定ウィンドウを示す図である。
【図７】プリンタのプロパティの設定ウィンドウを示す図である。
【図８】捕捉手段が各設定作業におけるユーザ操作を捕捉する原理の説明図である。
【図９】各種イベントに対する一連のグラフィクス処理命令についてのデータ・フォーマットを示す図である。
【図１０】データベース登録手段が各設定作業に対してデータベース１３に登録する作業済み情報の構造を示す図である。
【図１１】ＯＳからの１個のイベントに対して生成される一連の描画命令のみを抽出してそれら一連の描画命令を描画命令ブロックとする説明図である。
【図１２】データベース登録ルーチンのフローチャートである。
【図１３】図１２のデータベース登録ルーチンのステップを具体化したフローチャートである。
【図１４】図１２のデータベース登録ルーチンのステップを具体化したフローチャートである。
【図１５】データベース検索ルーチンのフローチャートである。
【図１６】プログラムを実行するためのハードウェア構成図である。
【図１７】データ生成コンピュータの構成図である。
【図１８】データ参照コンピュータの構成図である。
【図１９】別のデータ参照コンピュータの構成図である。
【図２０】さらに別のデータ参照コンピュータを示す図である。
【図２１】別のデータ参照コンピュータがデータ生成コンピュータ８５ｂに直接操作データを要求する場合の説明図である。
【符号の説明】
【０１１２】
１３：データベース、１８：情報登録用情報処理装置、１９：捕捉手段、２０：データベース登録手段、２８：情報検索用情報処理装置、２９：捕捉手段、３０：進行中作業検出手段、３１：情報入手手段、３２：情報利用手段、３７：第１種ブロック生成手段、３８：ブロック登録手段、３９：第２種ブロック生成手段、４０：構造化登録手段、４１：描画命令ブロック生成手段、４２：編集手段。
【図１】
2005141641.tif 000003
【図２】
2005141641.tif 000004
【図３】
2005141641.tif 000005
【図４】
2005141641.tif 000006
【図５】
2005141641.tif 000007
【図６】
2005141641.tif 000008
【図７】
2005141641.tif 000009
【図８】
2005141641.tif 000010
【図９】
2005141641.tif 000011
【図１０】
2005141641.tif 000012
【図１１】
2005141641.tif 000013
【図１２】
2005141641.tif 000014
【図１３】
2005141641.tif 000015
【図１４】
2005141641.tif 000016
【図１５】
2005141641.tif 000017
【図１６】
2005141641.tif 000018
【図１７】
2005141641.tif 000019
【図１８】
2005141641.tif 000020
【図１９】
2005141641.tif 000021
【図２０】
2005141641.tif 000022
【図２１】
2005141641.tif 000023