JP3942098B2 - 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体 - Google Patents

情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP3942098B2
JP3942098B2 JP2003379831A JP2003379831A JP3942098B2 JP 3942098 B2 JP3942098 B2 JP 3942098B2 JP 2003379831 A JP2003379831 A JP 2003379831A JP 2003379831 A JP2003379831 A JP 2003379831A JP 3942098 B2 JP3942098 B2 JP 3942098B2
Authority
JP
Japan
Prior art keywords
information
work
block
graphics processing
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003379831A
Other languages
English (en)
Other versions
JP2005141641A (ja
Inventor
実裕 古市
享 下遠野
哲也 野口
潤 杉山
ハサン ハジ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2003379831A priority Critical patent/JP3942098B2/ja
Priority to US10/985,707 priority patent/US7936356B2/en
Publication of JP2005141641A publication Critical patent/JP2005141641A/ja
Application granted granted Critical
Publication of JP3942098B2 publication Critical patent/JP3942098B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、グループ内のユーザが各情報処理装置において実施する共通作業を合理化する情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体に関するものである。
PC(パーソナル・コンピュータ)のユーザが、アプリケーション・ソフトウェアや共有プリンタ等の設定作業において具体的にどのように設定すればよいか分からないときのユーザの一般的な対処法は、対応のマニュアル若しくは参考書、又はオンライン・ヘルプを参照したり、あるいはアプリケーション・ソフトウェアのベンダが提供するWebページのQ&A等を参照することである。しかし、目的の記載箇所を探して、かつ適切な設定を決めるのには、労力及び時間がかかる。アプリケーション・ソフトウェア等には、予めデフォルトの設定が存在することがあるが、そのようなデフォルトの設定が存在しなかったり、ユーザが所属するグループ等で固有の設定が必要になる場合には、ユーザ自らが設定作業を行なわなければならない。
特許文献1の装置及び方法は、LANに複数台のクライアント端末と各端末の共用するイメージ・スキャナとが接続されているとき、共有のイメージ・スキャナの設定値をパラメータ設定ファイル・サーバに登録している。そして、各端末において共有のイメージ・スキャナを利用するときは、パラメータ設定ファイル・サーバに予め登録されている設定値を利用することにして、各端末における煩雑な設定作業を回避している。
特許文献2の装置及び方法では、アプリケーション・ソフトウェアで画面表示される各ウィンドウにIDを付与し、ユーザがウィンドウにおいて操作に行き詰ったとき、IDを検索キーに使って、ネットワーク上のサポート用DB(データ・ベース)を検索し、該ウィンドウについての最新のサポート情報を閲覧できるようにしている。
特許文献3の装置及び方法は、ネットワークで相互に接続されている各PCにおいて共有する環境情報の設定に関して、所定の担当者が、グループ内のユーザに先立ち、環境情報を設定して、保存しておき、各ユーザは、自分のPCにおいて、担当者の設定した環境情報をそのまま継承することにより、各ユーザの設定作業を合理化している。
特許文献4の装置及び方法では、各ユーザ及びグループの処理履歴情報を蓄積し、所定のユーザからの入力操作に対して、該ユーザの処理履歴情報だけでなく、該ユーザの属する処理履歴情報も利用して、適切な処理が実施できるようににしている。
特開2000−29592公報 特開2002−182811公報 特開平9−34844号公報 特開平11−288439号公報
ユーザが使用しているアプリケーション・ソフトウェアや共有資源は、グループ全体が使用しているものに限らず、一部のユーザのみしか使用していないものがある。例えば、グループ員の全員が利用する必要もない図形ソフトについては、グループで統一して使用するものを決めておらず、グループ内の幾人かはA社の図形ソフトを使用し、他の幾人かはB社の図形ソフトを使用することがある。また、ワープロ・ソフトについて新バージョンが発売されたが、まだ、新バージョンの導入は少数に留まっていることがある。各アプリケーション・ソフトウェアの各バージョンについて、複数の設定作業が必要とされることがあると、同一の設定作業にもかかわらず、グループ全体の設定作業は膨大となり、担当者がそのすべての設定作業について先行して実施し、その設定データをデータベースに登録しておくことは、担当者の負担を増大させるとともに、各設定作業の設定データをグループ員に迅速に公開することが無理となる。
特許文献1,3の装置及び方法では、所定の担当者が予め、グループ固有の設定値を登録することになっているので、上記問題を解決できない。特許文献2は、所定のウィンドウに関連付けて効率的な検索方法を開示するのみである。また、特許文献4は、ユーザの処理履歴を残しておき、ユーザが後日、再アクセスしてきた時に、過去の処理履歴を利用することを開示するのみである。
一方、グループ内では、設定作業の他にも、別々のユーザが別々のPCで一連の操作が同一である作業を行なう場合があり、そのような場合には、後続のユーザは、作業を先行したユーザの操作内容が分かれば、作業能率を高めることができる場合がある。
本発明の目的は、ユーザがグループ内の共通作業を先行して済ませた場合には、該共通作業の情報が速やかにデータベースに登録され、また、ユーザが、処理中の作業についての情報を要求したときにはデータベースの情報を速やかに提供できる基盤(インフラストラクチャ)として役立つ情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体を提供することである。
本発明の情報処理システムは情報登録用情報処理装置及び情報検索用情報処理装置を有している。情報登録用情報処理装置は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、及び捕捉されたグラフィクス処理命令の中から、作業終了となった作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベースに登録するデータベース登録手段、を有している。情報検索用情報処理装置は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する進行中作業検出手段、進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づきデータベース内を検索して該進行中作業の作業済み情報を入手する情報入手手段、及び情報入手手段により入手した作業済み情報を進行中作業に利用する情報利用手段、を有している。本発明の別の情報検索用情報処理装置は、ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出するグラフィクス・オブジェクト情報検出手段、進行中作業に係る作業済み情報について検出したオブジェクトに基づきデータベース内を検索して該進行中作業の作業済み情報を入手する情報入手手段、及び情報入手手段により入手した作業済み情報を進行中作業に利用する情報利用手段、を有している。
本発明の情報登録用情報処理方法は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する第1のステップ、及び捕捉されたグラフィクス処理命令の中から、作業終了した作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベースに登録する第2のステップ、有する。
本発明の情報検索用情報処理方法は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する第3のステップ、進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する第4のステップ、進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づきデータベース内を検索して該進行中作業の作業済み情報を入手する第5のステップ、及び入手した作業済み情報を進行中作業に利用する第6のステップ、
を有している。本発明の別の情報検索用情報処理方法は、ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出するステップ、検出したオブジェクトに基づき作業済み情報に係るデータベース内を検索して該進行中作業の作業済み情報を入手するステップ、及び入手した作業済み情報を進行中作業に利用するステップ、を有している。
本発明のプログラムは、前述の情報登録用情報処理方法若しくは情報検索用情報処理方法、又は後述の実施の形態に係る情報登録用情報処理方法若しくは情報検索用情報処理方法の各ステップを、コンピュータを実現させる。本発明の記録媒体は、かかるプログラムをコンピュータ読み取り可能に記録したものである。
本発明によれば、グラフィクス・インターフェースへのグラフィクス処理命令に着目し、該グラフィクス処理命令に基づき作業済み情報をデータベースに登録又はデータベースを検索する。したがって、登録側ユーザは、作業のデータベース登録を意識した特別な操作をすることなく、通常に操作をするだけで、作業済み情報がデータベースに速やかにかつ能率的に登録される。また、検索側ユーザが、作業の操作に行き詰れば、作業済み情報を適切に検索するための検索キーが、行き詰った時までのグラフィクス処理命令に基づき適切に選択されるので、ユーザが、適切な検索キーの選択に多大な時間や労力をかけるのを回避できる。
さらに、本発明を設定作業に適用した場合では、ユーザが、登録を意識することなく、通常の操作で設定作業を行い、それが成功すれば、その設定作業の内容が作業済み情報としてデータベースに登録されることになる。したがって、所定の担当者が設定データをデータベースに登録する方式とは異なり、設定作業をいち早く済ませたユーザの設定作業が速やかにデータベースに登録される。結果、グループ全体における膨大な個数の設定作業にもかかわらず、各設定作業の公開時期及び利用時期を早めることができる。
図1は設定処理に係るデータベースを利用するシステムの構成図である。情報処理装置としてのPC(パーソナル・コンピュータ)10a,10b,・・・,10nは、会社の部や課等の同一のグループに所属するユーザ11a,11b,・・・11nの所有となっており、インターネットやLANを含むネットワーク12を介して相互に接続され、ネットワーク12上のデータベース13を共有している。これらPCには、デスクトップPC及びノート型PCが含まれる。後述の図2の情報登録用情報処理装置18及び/又は図3の情報検索用情報処理装置28は例えば、PCから成るか、PCに実装される。
図1では、データベース13はPC10a,10b,・・・,10nの外部に単独で存在するようになっているが、所定のユーザに係る特定の1個のPCのハード・ディスク装置等の記憶装置内に存在するものであったり、複数個のPCの記憶装置に分散させて、存在するものであってもよい。
図2は情報登録用情報処理装置18の機能ブロック図である。ユーザ23の情報登録用情報処理装置18は、アプリケーション・ソフトウェア21、OS22、捕捉手段19、及びデータベース登録手段20を有している。捕捉手段19は、起動中のアプリケーション・ソフトウェア21からグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する。データベース登録手段20は、捕捉されたグラフィクス処理命令の中から、作業終了した作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベース13に登録する。
グラフィクス・インターフェースは典型的にはOS22に実装されている。図2及び次の図3では、情報登録用情報処理装置18及び情報検索用情報処理装置28はアプリケーション・ソフトウェア21及びOS22を装備するが、情報登録用情報処理装置18及び情報検索用情報処理装置28をプログラムにより構成することにより、アプリケーション・ソフトウェア21及びOS22を情報登録用情報処理装置18及び情報検索用情報処理装置28の外部に存在させることもできる。
図3は情報検索用情報処理装置28の機能ブロック図である。ユーザ33の情報検索用情報処理装置28は、アプリケーション・ソフトウェア21及びOS22の他に、捕捉手段29、進行中作業検出手段30、情報入手手段31及び情報利用手段32を有している。捕捉手段29は、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する。進行中作業検出手段30は、進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する。情報入手手段31は、進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づき作業済み情報に係るデータベース内を検索して該進行中作業の作業済み情報を入手する。情報利用手段32は、情報入手手段により入手した作業済み情報を進行中作業に利用する。
作業とは、例えば、アプリケーション・ソフトウェア及び/又は所属グループの共有資源についての設定作業であるが、これに限定されず、所定の様式書類における複数個の項目欄に所定の文章を入力する作業や、汎用的な書式に対して一部変更してグループ独自の書式を作成したり、マウスのドラッグ・アンド・ドロップを使って、単一又は複数個のイメージを所定の場所へ移動したりする作業も含まれる。設定作業に係るウィンドウは例えば図6及び図7に示されるものである。図6は、マイクロソフト社の日本語用ワープロソフト”Microsoft Word(登録商標)”のオプションの設定ウィンドウを示している。図6の設定ウィンドウでは、上部に複数個のタグが存在し、ユーザは、設定しようとするタグを選択して、該タグに係る設定項目を表示し、マウスのクリックボタンを利用して、チェック・マークの有無を選択する。図7はIBM社のプリンタ”IBM 5589−L36”のプロパティの設定ウィンドウである。チェック・マークの記入や、ラジオ・ボタンの選択、及びドライバの選択が設定作業として必要とされている。
例えば20〜100人位のユーザが所属するグループを想定する。グループの各ユーザのPCにおけるアプリケーション・ソフトウェアの各種設定の中には、汎用的なもの(デフォルトの設定)では、不十分であり、グループ固有の設定が適宜、必要となるものがあり、そのような設定では、各ユーザはグループ固有の設定を部分的又は全面的に要請される。一方、グループ内で使用されているアプリケーション・ソフトウェアには、ユーザ全員が一斉に導入するアプリケーション・ソフトウェアの他に、比較的少数のユーザのみの導入に留まるアプリケーション・ソフトウェア、バージョンアップされたもののまだ新バージョンをインストールしたユーザが少数に留まるアプリケーション・ソフトウェア等、事情が多種にわたる多数のアプリケーション・ソフトウェアが存在する。さらに、各アプリケーション・ソフトウェアにおいて設定を必要とする作業は、表示、書式等、複数であることが多い。したがって、共通設定が可能な作業の数は、グループ全体では膨大となり、固定的な設定担当者が、共通設定作業の全部についてその設定を先行して、設定データをグループ所属ユーザに利用させることは、設定担当者にとって大変な負担であるとともに、変更、更新、追加等に迅速に対処し得ない。また、少数派のアプリケーション・ソフトウェアについて共通設定作業については、特に設定担当者を定めないことがある。
これに対し、グループ所属ユーザのPCを情報登録用情報処理装置18とすることにより又は情報登録用情報処理装置18を実装することにより、グループ員の誰かがユーザ23として情報登録用情報処理装置18においていち早く済ませた作業に係る一連のグラフィクス処理命令についての情報は作業済み情報として直ちにデータベース13に登録される。グループ全体における情報登録用情報処理装置18の個数は多いので、グループにおける各設定作業に係る作業済み情報についてのデータベース13への登録は迅速かつ増大する。
各作業に対して設定済みとしてデータベース13に登録される作業済み情報は、1個に限定されず、複数個であってもよい。すなわち、或る作業Xに対してユーザU1が最初に作業終了して、その作業済み情報をデータベース13に登録した後、別のユーザU2が同一の作業Xに対して独自に作業を終了した場合に、ユーザU1に係る作業済み情報I1をユーザU2に係る作業済み情報I2(ただし、I1≠I2。同一のグループにおいて複数の異なる設定が許容されることもあり得る。)に置き換え、又はI1,I2の両方をデータベース13へ登録してよい。また、ユーザ33は、情報検索用情報処理装置28において、作業Xを実施するとき、作業済み情報に作業済み情報I1及びI2のいずれを利用してもよいし、新しい方の作業済み情報I2のみを利用してもよい。また、I1,I2に対してその登録者名(又はコンピュータ名)も付加登録及び付加表示することとし、ユーザは好みの登録者名の方の作業済み情報を選択できるようになっていてもよい。
情報登録用情報処理装置18と情報検索用情報処理装置28とは、同一の情報処理装置であってもよい。すなわち、ユーザUは、その所有する情報処理装置において、アプリケーション・ソフトウェアA1に係る設定作業W1については、自ら済ませ、また、別のアプリケーション・ソフトウェアA2に係る設定作業W2については、データベース13の作業済み情報I2を利用する場合がある。また、ユーザが、所定の作業Xを自分の情報処理装置において、作業に行き詰ったならば、該情報処理装置が、情報検索用情報処理装置28となって、先行ユーザの作業済み情報を検索し、また、作業に行き詰まらければ、該情報処理装置が情報登録用情報処理装置18となって、該作業に係る作業済み情報がデータベース13に登録されるようにしてもよい。
情報登録用情報処理装置18からデータベース13への作業済み情報の登録は、典型的には、自動であるが、ユーザ23が作業を終了した時に、該作業に係る作業済み情報をデータベース13へ登録するか否かをユーザに選択させ、ユーザ23が登録を選択したときに限り登録するようにしてもよい。また、典型的には、情報検索用情報処理装置28では、ユーザ33が作業途中でヘルプのアイコンをクリックしたり、ヘルプの機能ボタンを押下したりする等、作業済み情報の提供要求を明示的に出してから、作業済み情報の検索が開始される。
情報登録用情報処理装置18及び情報検索用情報処理装置28のさらなる具体例を説明する。
図4はデータベース登録手段20の内部を詳細に示す情報登録用情報処理装置18の主要部構成図である。データベース登録手段20は、第1種ブロック生成手段37及びブロック登録手段38を有している。第1種ブロック生成手段37は、捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第1種のブロックを生成する。ブロック登録手段38は、各第1種のブロックを1個の作業済み情報に対応させて各作業済み情報をデータベースに登録する。
OS22は通常、マルチタスクに対処していて、情報登録用情報処理装置18では、同時に複数個のアプリケーション・ソフトウェア21が起動状態になっているので、アプリケーション・ソフトウェア21からOS22へ送られる通信には、グラフィクス処理命令とは別の処理命令や、作業済み情報を生成しようとする目標(target)の作業とは別の作業に係るグラフィクス処理命令が含まれている。これに対し、第1種ブロック生成手段37は、捕捉手段19において捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出することにより、目標のグラフィクス処理命令を効率的に抽出できる。また、各第1種のブロックを1個の作業済み情報に対応させて、各作業済み情報をデータベースに登録することにより、情報検索用情報処理装置28では、第1種のブロックを作業済み情報として入手でき、入手後の処理を合理化できる。なお、第1種のブロックとは、図10におけるProcess1のデータ、Process2のデータ、ProcessNのデータのブロックに対応する。なお、典型的なブロックは、ヘッダを有し、該ヘッダに、ブロックのサイズ情報やタイム・スタンプ及びその他の情報が適宜、書き込まれる。
図5は図4のデータベース登録手段20をさらに具体化した情報登録用情報処理装置18の構成図である。データベース登録手段20は第2種ブロック生成手段39を有している。第2種ブロック生成手段39は、第1種のブロックに属する1個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第2種のブロックを生成する。ブロック登録手段38は構造化登録手段40を含む。構造化登録手段40は、第2種のブロックが、第1種のブロックのサブブロックとして、第1種のブロック内に配置されるデータ構造により各作業済み情報をデータベース13に登録する。
第1種のブロックに属する1個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出して、それら抽出グラフィクス処理命令を含む第2種のブロックを生成し、さらに、データベース13における作業済み情報は、第1種のブロック内に第2種のブロックを配設した構造となる。こうして、情報検索用情報処理装置28では、第1種のブロック及び第2種のブロックを構造化したブロックとして作業済み情報を入手でき、入手後の処理を合理化できる。なお、第2種のブロックとは、図10におけるProcess1のデータ、Process2のデータ、ProcessNのデータのブロックの内部に含まれている小ブロック(例えば、CreateProcess及びCreateWindows(W1)が記入されているブロック)に対応する。
データベース登録手段20は描画命令ブロック生成手段41を有している。描画命令ブロック生成手段41は、第2種のブロックとしての描画命令ブロックを、その内部を、OSからの1個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第3種のブロックに区分する。構造化登録手段40は、同一の第1種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる第3種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、2番目以降の描画命令ブロックは、その内容が1番目の描画命令ブロックと同一であることを示すことにより内容を省略した簡略ブロックとするデータ構造により各作業済み情報をデータベース13に登録する。
2番目以降の描画命令ブロックを、1番目の描画命令ブロックより簡略化したブロックとすることにより、作業済み情報の構造を簡単化し、かつデータ・サイズを縮小することができる。なお、1番目及び2番目以降の描画命令は、図11の右側のブロックにおけるDrawCmd及びRepeatDrawCmdにそれぞれ対応する。
データベース13内の作業済み情報の構造化は情報登録用情報処理装置18の検索の合理化にも繋がる。例えば、第1種のブロックの記憶場所は、作業済み情報の1個又は複数個の要素を直列に連結してストリングを作り、該ストリングに対応するハッシュ値を計算し、ハッシュ値に対応するアドレスとすることが考えられる。その場合に、作業済み情報の要素として第1種及び第2種のブロックに対応する名前(例:ウィンドウ名やオブジェクト名等)を利用すれば、対応の作業済み情報を能率的に探し出すことができる。
作業済み情報は、各処理命令をプログラミング言語により表現したシンボル列から成る。編集手段42は、ユーザが作業済み情報のシンボル列を編集することを可能にする。なお、編集手段42は情報検索用情報処理装置28に装備されていてもよい。
作業済み情報を編集することにより、特定のボタンの色を変えたり、文字列を強調表示したりすることができる。さらに、不要な命令を排除することもできる。例えば、過去の操作例を表示する際、単に記録した時と全く同じ画像を表示するのではなく、ユーザが次に操作すべきボタンの文字列を赤色表示に変えて強調表示したり、ボタンの枠を太線表示に変えることによって、ガイドとして使いやすい表示方法を実現できる。通常のビットマップ形式による画面キャプチャでは、このような編集が極めて困難である。なお、このような編集作業は、人の手で行っても構わないし、機械的に自動編集することも可能である。
図3に戻って、情報検索用情報処理装置28では、情報利用手段32は、作業済み情報に係る設定データを静止画で表示する静止画表示手段(図示せず)、作業済み情報に係る設定データに基づいて進行中作業を自動実行する自動実行手段(図示せず)、又は作業済み情報が基づいている設定作業に係るユーザ設定操作の流れを動画で表示する動画生成手段(図示せず)、を有している。
このように、各設定作業に関してデータベース13において登録された作業済み情報は、情報検索用情報処理装置28において、静止画表示、自動実行、又は動画としてユーザに提供される。静止画表示では、先行して設定を済ませたユーザが各項目について何を設定したかが分かる支援用作業済み情報(例:図6や図7)が、本来の作業済み情報とは、サイズや位置等により区別されて、情報検索用情報処理装置28のディスプレイに表示される。自動実行では、情報検索用情報処理装置28のCPUが、作業済み情報から各設定データを抽出して、該設定データのとおりに情報検索用情報処理装置28の対象設定作業の各項目を設定する。動画表示は、設定作業がドラッグ・アンド・ドロップ等の移動操作を含む場合に、有益である。
さらに、情報検索用情報処理装置28では、情報入手手段31は、進行中作業におけるユーザ操作を捕捉手段29の捕捉したグラフィクス処理命令から検出し、検出したユーザ操作に基づき該進行中作業に係る作業済み情報を検索する。
捕捉手段29の捕捉したグラフィクス処理命令から検出するユーザ操作とは、単一のユーザ操作だけでなく、複数のユーザ操作、及び順番を考慮した複数のユーザ操作としてのユーザ操作履歴を含むものとする。
データベース13内の作業済み情報は、同一のプロセスに係るグラフィクス処理命令を含む第1種のブロック(図10の外側のブロック)とする構造となっている。これに対して、情報入手手段31は、進行中作業に係る作業済み情報を1個の第1種のブロックとしてデータベースから入手する。
さらに、データベース13内の作業済み情報は、第1種のブロックに属する1個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第2種のブロック(図10の各Processの内側のブロック)とし、第2種のブロックが、第1種のブロックのサブブロックとして、第1種のブロック内に配置される構造となっている。これに対し、情報入手手段31は、進行中作業に係る作業済み情報を、複数個の第2種のブロックを含む1個の第1種のブロックとしてデータベースから入手する。
データベース13内の作業済み情報は、第2種のブロックとしての描画命令ブロックが、その内部を、OSからの1個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第3種のブロックに区分され、次に、同一の第1種のブロック内にある複数個の描画命令ブロック(図11の左側のブロックにおけるDrawCmd)に対して、それらに含まれる第3種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、2番目以降の描画命令ブロックは、その内容が1番目の描画命令ブロックと同一であることを示すことにより内容を省略した簡略ブロック(図11の右側のブロックにおけるRepeatDrawCmd)とするデータ構造となっている。情報入手手段31は、進行中作業に係る作業済み情報を、簡略ブロックを含む1個の第1種のブロックとしてデータベース13から入手する。
なお、情報検索用情報処理装置28は捕捉手段29に代えてグラフィクス・オブジェクト情報検出手段を有することもできる。この場合、グラフィクス・オブジェクト情報検出手段は、ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出し、情報入手手段31は、検出したオブジェクトに基づき作業済み情報に係るデータベース13内を検索して入手し、情報利用手段32は、入手・検索手段31により入手した作業済み情報を進行中作業に利用する。
図8は捕捉手段19,29が各設定作業におけるユーザ操作を捕捉する原理の説明図である。各アプリケーション・ソフトウェア21a,21b,21c,・・・と1個のOS22との間にフック・ドライバ57a,57b,57c,・・・が介在する。これらフック・ドライバ57a,57b,57c,・・・は、アプリケーション・ソフトウェア21a,21b,21c,・・・によるAPI呼出と、システムからアプリケーション・ソフトウェアに対するメッセージ送信を監視することが可能になる。API呼出及びメッセージ送信を捕捉した捕捉手段19は、データベース登録手段20に対して、イベントの種類やパラメータなどを渡し、データを生成させる。なお、図8については、後述の実施例の項で、詳述する。
次のシンボル列Aのリストは情報登録用情報処理装置18において、DNS( Domain Name System )サーバの設定作業を捕捉した際にシステム上で発行された全グラフィクス処理命令列をテキスト形式に整形したものである。煩雑さを排除するため、描画データ、マウス・データなど、検索に関係しないデータは省略している。測定は、Microsoft Windows XPにおいて行った。なお、シンボル列の各行の左端の番号は、説明の便宜上挿入したものであり、実際の捕捉では、このような行番号は現れない。また、シンボル列Aの先頭(行番号10)のCaptureStartは、フック・ドライバがフックを開始したというイベントを意味しており、アプリケーション・プログラムが呼び出すAPIでも、OSが送るメッセージでもない。シンボルにおける各パラメータの定義についてはシンボル列Aのリストの後で説明する。
(シンボル列A)
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"
・・・
例えば、上記のシンボル列Aから、プロセス"C:\WINDOWS\Explorer.exe"のクラス名"#32770"というウィンドウに関するグラフィクス処理命令のみを抽出すると、行番号15と、行番号105〜111となる。すなわち、"C:\WINDOWS\Explorer.exe"以外のプロセスに係るグラフィクス処理命令、及び"C:\WINDOWS\Explorer.exe"のプロセスであっても、クラス名"#32770"というウィンドウ以外のウィンドウに係るグラフィクス処理命令は、抽出しないことになる。
[シンボルにおける各パラメータの定義]
行番号15のCreateProcess 13:17:02 [420] "C:\WINDOWS\Explorer.EXE"はプロセス生成のシンボルであり、その各パラメータの定義は次のとおりである。
13:17:02:起動時刻
420:プロセスID
"C:\WINDOWS\Explorer.EXE":プログラムのファイル名
行番号105のCreateWindow 0x50316 Parent 0 [420.640] (332) Class "#32770"はウィンドウ生成のシンボルであり、その各パラメータの定義は次のとおりである。
0x50316:ウィンドウハンドルと呼ばれる識別子
Parent 0:0ならば、当該フィンドウは、親ウィンドウ無し、つまりトップレベルウィンドウであることを意味する。0以外ならば、親ウィンドウハンドルの指定であることを意味する。
[420.640]:プロセスID420、スレッドID640
332:その時点でのウィンドウ数
Class "#32770":クラス名が、「#32770」という名前であることを意味する。
行番号106の MoveWindow 0x50316 (153,194) 336x253 Z 0x502acは、ウィンドウ移動のシンボルであり、その各パラメータの定義は次のとおりである。
0x50136:ウィンドウハンドル
(153,194):移動後の左上隅座標
336x253:移動後のサイズ
Z 0x502ac:Z-order順で、上位のウィンドウハンドル (0x502acというウィンドウの下に来る)
次のシンボル列Bのリストは情報検索用情報処理装置28において、DNSサーバの設定作業を捕捉した際にシステム上で発行された全グラフィクス処理命令列をテキスト形式に整形したものである。情報登録用情報処理装置18の場合と同様に、煩雑さを排除するため、描画データ、マウス・データなど、検索に関係しないデータは省略し、また、測定は、Microsoft Windows XPにおいて行った。
(シンボル列B)
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"
・・・
例えば、シンボル列Bから、プロセス"C:\WINDOWS\Explorer.exe"のクラス名"#32770"というウィンドウに関するグラフィクス処理命令のみを抽出すると、行番号306〜314となる。
データベース登録手段20は、捕捉手段19が捕捉したユーザ操作情報を、指定されたデータ・フォーマットに整形して、データベース13に登録する。図9は各種イベントに対する一連のグラフィクス処理命令についてのデータ・フォーマットを例示している。(a)はウィンドウの作成イベント(CreateWindow)、(b)はウィンドウのサイズ・位置変更イベント(MoveWindow)、(c)はウィンドウのタイトル変更イベント(SetText)、(d)は画面描画命令(DrawCmd)、及び(e)はアプリケーション開始イベント(CreateProcess)についてのデータ・フォーマットである。図示のイベント以外にも、ウィンドウ削除イベント、オフスクリーンバッファ確保・解放イベント、マウス操作イベント、メニュー操作イベントなどが存在する。
データベース登録手段20は、データベース13にデータを登録する際、単に生成されたデータを時間順に追記するのではなく、プロセスごと、さらにグラフィクス・オブジェクト(ウィンドウやオフスクリーンバッファ)ごとに分類して捕捉する。また、グラフィクス・オブジェクトの生成パターンに基づいて操作内容の検索を容易にするため、データ列のハッシュ値などを探索キーとしてデータに付随して登録する。図10はデータベース登録手段が各設定作業に対してデータベース13に登録する作業済み情報の構造を示している。図10については、後の実施例1において詳述する。
捕捉手段19が捕捉した全部の処理命令から、注目するウィンドウW1,W2−1,W2−2のグラフィクス処理命令だけを抽出した命令列が次のシンボル列Cであったとする。なお、左端の行番号は説明の便宜上挿入しただけである。
(シンボル列C)
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);
この時系列データを、プロセスP1,P2ごと、ウィンドウW1,W2−1,W2−2ごとに分類したものが、図10の左側2つのブロックのプロセス1,2である。一方、マルチタスク環境では、OSのスケジューラにより適当な間隔でタスク・スイッチが生じるため、システム全体での処理命令列はどのような順序になるか想定できない。しかし、ウィンドウごとに分類して、特定のウィンドウに関するデータだけを見てみると、同じ絵を表示するためには、毎回必ず同じ順序で処理命令が生成される。本発明は、この点に着目して、同じ処理命令パターンならば、同じ操作内容だと判断する。
通常、ウィンドウが生成された後も、色々なイベントに応じて、ウィンドウ内部の絵は描き改められる。例えば、上にかぶさっていた別なウィンドウがいなくなったため、新たに出現した領域の絵を描き直す必要がある。このとき、最初に生成された時に実行された描画命令と、再描画したときに実行された描画命令を区別しておけば、検索・編集・圧縮などが容易に実現可能になる。例えば、もし再描画命令が前回の描画命令とまったく同じであるならば、2回目以降の描画命令は、単に「前回と同じ」という命令に置き換えることが可能である。このような機能を実現するためには、単に描画命令を生成された順にパックしていけばいいというわけにはいかず、何らかのイベントごとに描画命令を区切っておく。図11は再描画命令について最初の描画命令に置き換えたプロセスに係る作業済み情報の構造図である。左側のデータ構造における2回目以降のDrawCmdは、右側のデータ構造では、RepeatDrawCmdに置き換えられて、サイズが縮小されている。
図12はデータベース登録ルーチンのフローチャートである。データベース登録ルーチンは情報登録用情報処理装置18に実装される。S65では、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する。S66では、捕捉されたグラフィクス処理命令の中から、作業終了した作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベース13に登録する。
データベース登録ルーチンの具体例を図13及び図14において説明する。作業とは、アプリケーション・ソフトウェア及び/又は所属グループの共有資源についての設定作業である。
図13において、S66はサブステップS69,S70を有している。S69では、捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第1種のブロックを生成する。S70では、各第1種のブロックを1個の作業済み情報に対応させて各作業済み情報をデータベースに登録する。
図14において、S66はサブステップS72を含む。S72では、第1種のブロックに属する1個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第2種のブロックを生成する。S70では、第2種のブロックが、第1種のブロックのサブブロックとして、第1種のブロック内に配置されるデータ構造により各作業済み情報をデータベースに登録する。
さらに、S66では、図11の左右のブロックに対応させて次の処理を行なってもよい。S66のサブステップS73では、第2種のブロックとしての描画命令ブロックを、その内部を、OSからの1個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第3種のブロック(図11の左側のブロックにおけるDrawCmd)に区分する。そして、S73では、同一の第1種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第3種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、2番目以降の描画命令ブロックは、その内容が1番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロック(図11の右側のブロックにおけるRepeatDrawCmd)とするデータ構造により各作業済み情報をデータベース13に登録する。
図15はデータベース検索ルーチンのフローチャートである。S76では、起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する。S77では、進行中となっている作業を、捕捉したグラフィクス処理命令に基づき進行中作業として検出する。S78では、進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づきデータベース13内を検索し、該進行中作業の作業済み情報を入手する。S79では、入手した作業済み情報を進行中作業に利用する。
データベース検索ルーチンのさらなる具体例は次のとおりである。作業とは、アプリケーション・ソフトウェア及び/又は所属グループの共有資源についての設定作業である。
S79は、作業済み情報に係る設定データを静止画で表示するサブステップ、作業済み情報に係る設定データに基づいて進行中作業を自動実行するサブステップ、及び/又は作業済み情報が基づいている設定作業に係るユーザ設定操作の流れを動画で表示するサブステップを有する。どのサブステップを選択するかは、作業の種類に応じて切替えてもよい。
S78では、進行中作業におけるユーザ操作をS76において捕捉したグラフィクス処理命令から検出し、検出したユーザ操作に基づき該進行中作業に係る作業済み情報を検索する。
捕捉したグラフィクス処理命令から検出するユーザ操作とは、単一のユーザ操作だけでなく、複数のユーザ操作、及び順番を考慮した複数のユーザ操作としてのユーザ操作履歴を含むものとする。
データベース13内の作業済み情報は、同一のプロセスに係るグラフィクス処理命令を含む第1種のブロックとする構造となっている。これに対し、S78では、進行中作業に係る作業済み情報を1個の第1種のブロックとしてデータベースから入手する。
データベース13内の作業済み情報は、第1種のブロックに属する1個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第2種のブロックとし、第2種のブロックが、第1種のブロックのサブブロックとして、第1種のブロック内に配置される構造となっている。これに対し、S78では、進行中作業に係る作業済み情報を、複数個の第2種のブロックを含む1個の第1種のブロックとしてデータベースから入手する。
データベース内の作業済み情報は、第2種のブロックとしての描画命令ブロックが、その内部を、OSからの1個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第3種のブロックに区分され、次に、同一の第1種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第3種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、2番目以降の描画命令ブロックは、その内容が1番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとなっている。これに対し、S78では、進行中作業に係る作業済み情報を、簡略ブロックを含む1個の第1種のブロックとしてデータベースから入手する。
データベース検索ルーチンは次のステップからなってもよい。ユーザからの進行中作業についての作業済み情報の利用要求に係るグラフィクス・オブジェクトに関する情報を検出する。検出したオブジェクトに基づき作業済み情報に係るデータベース13内を検索し、該進行中作業の作業済み情報を入手する。検索手段により入手した作業済み情報を進行中作業に利用する。ユーザの操作履歴ではなく、ユーザが作業済み情報について利用要求を出したオブジェクトに基づき検索するので、ユーザの操作履歴の記録を省略できる。
本発明は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するコンピュータ・システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムを制御し、本発明に係る処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、又は1.他の言語・コード・表記への変換、2.他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを捕捉した媒体もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、MO、CD−ROM、DVD、ハード・ディスク装置、ROM、MRAM、RAM等の任意のコンピュータ読み取り可能な捕捉媒体に格納することができる。かかるプログラムは、捕捉媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の捕捉媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、又は複数に分割して、単一又は複数の捕捉媒体に格納することもできる。
図16はプログラムを実行するためのハードウェア構成図である。前述した情報登録用情報処理装置18及び情報検索用情報処理装置28の各手段としてコンピュータを機能させるためのプログラムは、例えば図16に記載したハードウェアを使用して、実行される。あるいは、前述した作業済み情報生成方法及び作業済み情報利用方法の各ステップ(サブステップを含む。)をコンピュータに実行させるための作業済み情報生成プログラム及び作業済み情報利用プログラムは、例えば、図16に記載したハードウェアを使用して、実行される。システム・バス80には、CPU81、主記憶装置82及び入出力制御装置83が接続される。前述した手段又はステップは、コード化されたプログラムとして実行可能となっている。入出力制御装置83には、ハード・ディスク・インターフェース等が含まれ、CPU81が実行する各種プログラムはハード・ディスク装置等にストアされている。プログラムは、CPU81において実行されるのに先立ち、主記憶装置82にストアされる。CPU81は、主記憶装置82の命令行を順次、読み出して、該プログラムを実行する。
図17は、データ生成コンピュータ85aの構成図である。データ生成コンピュータ85aは、ユーザ操作捕捉部86とデータ生成部87、アプリケーション88及びOS89で構成される。ユーザ操作捕捉部86は、ユーザ90による操作に起因して生成されるアプリケーションによるグラフィクス・インターフェース(API)呼び出しや、アプリケーションに対するイベント・メッセージを監視することにより、ユーザ操作を捕捉する。捕捉内容には、グラフィクス・オブジェクトに対する描画命令や、グラフィクス・オブジェクトの生成・削除命令、マウス、キー、メニューなどのユーザ操作情報を含む。ユーザ操作捕捉部86は、ユーザの全操作内容を取りこぼしなく捕捉することも可能であるし、あらかじめ定めたアプリケーションやグラフィクス・オブジェクトに限定して捕捉することも可能である。
図8は、ユーザ操作捕捉部86の実装例として、Microsoft Windowsにおけるソフトウェア階層図を示す。ユーザ操作捕捉部86は、ユーザモードDLL(フック・ドライバ(Hook Driver)57と呼ぶ)として実装され、各アプリケーション・プロセス空間にマップされる。各アプリケーション・プロセス内にマップされたHook Driverは、プロセスのアドレス空間内の全モジュールのImport Address Tableを修正し、USER32.DLL及びGDI32.DLLに含まれるAPIフックを行う。同時に、システムに対してWindowのサブクラス化を要求し、アプリケーション・プログラムのウィンドウに対するメッセージを受信できるようにする。これにより、アプリケーションによるAPI呼出と、システムからアプリケーションに対するメッセージ送信を監視することが可能になる。API呼出及びメッセージ送信を捕捉したHook Driverは、後述するデータ生成部87に対して、イベントの種類やパラメータなどを渡し、データを生成させる。
データ生成部87は、ユーザ操作捕捉部86が捕捉したユーザ操作情報を、指定されたデータ・フォーマットに整形して、データベース92に記録する。データ生成部87が生成するデータ・フォーマットの例は、図9で説明したものであり、ウィンドウの作成イベント(CreateWindow)、ウィンドウのサイズ・位置変更イベント(MoveWindow)、ウィンドウのタイトル変更イベント(SetText)、画面描画命令(DrawCmd)、アプリケーション開始イベント(CreateProcess)の各データ例を示す。図示したデータ以外にも、ウィンドウ削除イベント、オフスクリーンバッファ確保・解放イベント、マウス操作イベント、メニュー操作イベントなどが存在する。
データ生成部87は、データベース92にデータを記録する際、図10に記すように、単に生成されたデータを時間順に追記するのではなく、プロセスごと、さらにグラフィクス・オブジェクト(ウィンドウやオフスクリーンバッファ)ごとに分類して記録する。また、グラフィクス・オブジェクトの生成パターンに基づいて操作内容の検索を容易にするため、データ列のハッシュ値などを探索キーとしてデータに付随して登録する。
通常、典型的なウィンドウアプリケーションでは、次の動作を行う。
1:アプリケーション開始 (CreateProcess)
2:Window作成 (CreateWindow)
3:Window位置設定 (MoveWindow)
4:Windowタイトル設定 (SetText)
5:描画 (DrawCmd)
6:Window削除 (DestroyWindow)
7:アプリケーション終了 (KillProcess)
このようなアプリケーションに対して、データ生成部87は、図10に示すプロセス1のようなデータ列を生成する。また、ウィンドウが子ウィンドウを持つ場合には、2〜6の処理が入れ子になることもあり、その場合、図10に示すプロセス2のようなデータ列が生成される。さらに、プロセス内に複数スレッドが稼働しており、各々が独立したウィンドウを管理する場合には、図10に示すプロセスNのようなデータ列が生成される。図10に示したデータパターンは、最も単純なケースであり、当然、ユーザが様々な操作をすることにより、ウィンドウサイズの変更データや、再描画命令データが随時生成される。しかし、異なる環境で同じアプリケーションを同じように実行した場合、プロセスID、ウィンドウID、ウィンドウ座標などの稼働時の環境に依存する値を除いて、基本的に全く同じデータ列が生成される。
そこで、本実施例では、グラフィクス・オブジェクトの生成から消滅に至る一連の操作において生成されるデータ列のうち、環境に依存しない部分だけのデータからハッシュ値を生成し、グラフィクス・オブジェクトに対する操作命令列データと関連づけして、データベースに探索キーとして登録する。より具体的には、例えば図10のプロセス1を例にすると、プロセス名、ウィンドウ・タイトル名、クラス名、スタイル、及びウィンドウの生成順序などの、環境に依存しない値だけをパックしてハッシュ値を計算し、データに付加する。これらの値は、異なる環境で実行しても同じように繰り返し再現されるデータであるため、同じハッシュ値を生成する。ハッシュ値の生成は、データ登録時に同時に行ってもよいが、バックグラウンドで後処理してもよい。
図18はデータ参照コンピュータ95aの構成図である。データ参照コンピュータ95aは、ユーザ操作捕捉部96、データ生成部97、ユーザインターフェース提供部98、データ検索部99、データ表示部100、操作履歴バッファ101、及びアプリケーション102とOS103で構成される。
ユーザ操作捕捉部96とデータ生成部97は、それぞれデータ生成コンピュータ85aのユーザ操作捕捉部86、データ生成部87と類似の機能を持ち、ユーザ104の操作履歴を管理する。データ生成部97は、データ参照コンピュータ95aの内部にある操作履歴バッファ101に、ユーザ操作履歴データを蓄積する。この操作履歴データは、データ生成コンピュータ85aで生成されるデータと同一のフォーマットであり、共有データベース92から過去の同類の操作例を検索する際に利用される。
インターフェース提供部98は、ユーザ104に対してヘルプ要求のためのインターフェースを提供する。具体的には、設定ダイアログボックスのタイトルバーにヘルプ要求のためのボタンを追加したり、ダイアログボックスの個々の設定箇所近傍にマウスカーソルを移動したときに、ヘルプ要求のためのウィンドウまたはメニューを表示したりする。 あるいは、キー入力を監視することで、ユーザ104にある特定のホットキー操作を行わせることもできる。また、ThinkPad(登録商標)のAccessIBMボタンのような特殊なハードウェアキーを用意してもよい。
データ検索部99は、ユーザ104が、ユーザインターフェース提供部98が提示したインターフェースを介してヘルプ要求をした時に、対象となるウィンドウ(例えばボタンが押されたウィンドウや、その時点でアクティブなウィンドウ)に関する操作履歴データを、操作履歴バッファ101から取得し、同一操作だと思われる過去の操作例をデータベース92から検索する。検索する際、グラフィクス・オブジェクトの生成パターンデータから環境依存値を除外したデータのハッシュ値を求め、データベースから同一ハッシュ値のデータを探索すれば、効率的に検索できる。
データ表示部100は、データ検索部99が検索した過去の操作例をデータベース92から取り出し、ユーザ104に提示する。具体的には、過去の操作例をアニメーション形式で再生したり、該当ウィンドウだけを静止画で表示する。また、ユーザ104がヘルプ要求した項目のパラメータ例を、その項目の入力箇所近傍に表示してもよい。さらに、同じ操作に対する過去の操作例が複数存在する場合には、ユーザ数の多い設定例を提示したり(多数決方式)、最も最近設定したユーザ104の設定例を提示したりする。
以下、実データを用いながら、検索の具体例を示す。
前述のシンボル列Aは、データ生成コンピュータ85aにおいて、DNSサーバの設定作業を記録した際にシステム上で発行された全グラフィクス処理命令列をテキスト形式に整形したものである。煩雑さを排除するため、描画データ、マウス・データなど、検索に関係しないデータは省略している。測定は、Microsoft Windows XPにおいて行った。シンボル列Aの行番号15及び行番号105〜111が、DNSサーバの設定ウィンドウに関連するデータのうち、ハッシュ値の計算に用いる箇所である。
一方、シンボル列Bに記載のデータは、データ参照コンピュータ95aにおいて、同様にDNSサーバの設定操作をしており、DNSサーバの設定箇所でユーザ104がヘルプ要求ボタンを押した時の、操作履歴データである。行番号205と、行番号306〜314が、該当ウィンドウに関連するデータであり、検索の際にハッシュ値の計算に利用する箇所である。シンボル列Aの行番号15及び行番号105〜111と比較すれば分かるように、ウィンドウハンドルやトップレベルウィンドウの絶対座標、プロセスIDなど環境依存の値を除いて、全く同じように再現されているため、両方とも同じハッシュ値を生成する。
ここでは、ハッシュ値を算出して比較する例を述べたが、これに限定するわけではなく、一致する操作例データが見つかるなら、そのほかの手法を用いてもよい。
また、検索キーの生成方法は、状況に応じて柔軟に変えることができる。例えば、上の例では、対象ウィンドウがダイアログボックスだったので、子ウィンドウの相対位置・サイズが常に同じだったが、仮に対象がサイズ可変のトップレベルウィンドウだとすると、画面サイズやウィンドウサイズに応じて、子ウィンドウの相対位置・サイズが変わる可能性もあり得る。しかし、検索キーの算出に用いるデータは、常に同一種類に固定されている必要性はなく、ウィンドウスタイルに応じて可変にすることができる。例えば、ダイアログボックスでは子ウィンドウの相対位置・サイズを検索キーの算出に用いるが、可変サイズのウィンドウスタイルの場合には用いない。
同様に、検索する人のニーズに応じて、検索キーの算出方法を柔軟に変えてもよい。例えば、ウィンドウ・タイトルやボタンの文字列を含めて検索すると、通常は検索精度が向上する。しかし、同じアプリケーション・プログラムの英語版と日本語版とでデータを共有したいときには、逆に文字列情報は邪魔になる。そのような場合、検索キーの算出には、文字列情報以外の、クラス名、子ウィンドウの生成順序、プロセス名などだけを用いるべきである。
本実施例により、グループ内のユーザは、グループ内で別のユーザが過去に同じ操作を行っていた場合、そのユーザの操作内容を参照しながら、自分の操作を行うことができる。企業内の同一部署のような小規模グループで適用すると、そのグループ固有のネットワーク設定やプリンタ設定、あるいはアプリケーション・プログラムの利用方法などの情報を、効率よく共有できるようになる。
また、上記実施例では、グループ内の誰もがデータ生成できると仮定したが、必ずしもその必要性はなく、例えば部門のシステム管理者だけが、操作データを生成してデータベースに記録できるようにし、一般ユーザは、データベースに記録された模範設定例を参照するだけという利用形態も可能である。
また、データ生成する際、ユーザがデータを登録するかしないかの選択をできるユーザインターフェースを提供してもよい。さらに、本発明で利用したデータ・フォーマットは、処理命令をシンボル列で記述できるため、描画命令の編集が可能である。そのため、操作履歴データを直接データベースに記録するのではなく、一度データ生成コンピュータの内部にバッファリングしておき、データの編集や取捨選択をした上で、共有データベースに登録することも可能である。
図19は別のデータ参照コンピュータ95bの構成図である。該データ参照コンピュータ95bでは、ユーザによるヘルプ要求が発生した時点でグラフィクス・オブジェクトの状態を調査し、その情報をヒントにデータベースから過去の同じ操作例を検索する。データ参照コンピュータ95bは、検索精度をやや犠牲にする代わりに、データ参照コンピュータで操作履歴を捕捉し続ける必要がなくなる利点がある。
データ参照コンピュータ95bにおいてデータ参照コンピュータ95aとの違いは、ユーザ操作捕捉部96、データ生成部97、操作履歴バッファ101がない代わりに、オブジェクト調査部107が加わった点である。
ユーザインターフェース提供部98が、ユーザからのヘルプ要求を受けると、オブジェクト調査部107は、その時点の対象ウィンドウのグラフィクス・オブジェクトの状態を調べる。具体的には、対象ウィンドウのウィンドウ・タイトル名、サイズの縦横比、ウィンドウ内部の文字列、ボタンの配置座標、子ウィンドウの数など、ウィンドウを識別できる何らかの情報を取得する。これらの情報は、逐次状態遷移を捕捉していなくても、オンデマンドに取得できる情報である。
オブジェクト調査部107が、対象ウィンドウの識別情報を取得すると、データ検索部99に対して、データベース92から過去の同じ操作例を検索させる。例えば、識別情報としてウィンドウ・タイトル名を利用した場合、データ検索部99は、データベース内のデータのうち、同じウィンドウ・タイトル名のウィンドウ生成イベントを含むデータを検索する。直接テキスト検索をしてもよいが、効率的に検索するため、実施例1と同様に、データの登録時にハッシュテーブルを用意し、検索時にはハッシュキーで探索してもよい。
データ参照コンピュータ95aに比べ、データ参照コンピュータ95bでは、オブジェクトの生成パターンをトラックしているわけではないので、検索精度が下がる可能性がある。例えば、同じウィンドウ・タイトル名のウィンドウを生成する、まったく別なアプリケーション・プログラムのデータが複数存在する可能性がある。そこで、初回の検索で複数の異なるデータが見つかった場合、例えば、親ウィンドウ情報を付加したり、プロセス情報を付加することにより、再帰的に検索し、検索精度を上げる。
実施例4では、データ参照コンピュータは、データ参照コンピュータが過去の操作例を参照する際、ユーザにその操作内容そのものを示すのではなく、その操作を行ったユーザに関する情報を示すものである。この実施例4では、ヘルプを求めるユーザは、過去にグループ内のどのユーザが同じ操作をしたことがあるのか把握できるので、誰に問い合わせればよいかを効率よく知ることができる。参照する操作データ内の具体的な設定パラメータを他人に見せたくないような場合に有効な方法である。
図20は、本実施例におけるデータ参照コンピュータ95cを示す。 データ参照コンピュータ95cは、データ参照コンピュータが過去の操作例を参照する時、操作例を提示するだけでなく、同時にユーザに代わってその操作そのものを自動的に代行する機能を提供する。データ参照コンピュータ95aとの差異は、操作代行部110が追加された点だけである。
データ参照コンピュータ95cでは、操作代行部110は、ユーザによるマウス操作、メニュー操作、キー入力操作をエミュレートする機能を備え、データベースから取得した過去の操作例データに示された操作内容を、ユーザに代わって自動的に実行する。
図21はデータ参照コンピュータ95dがデータ生成コンピュータ85bに直接操作データを要求する場合の説明図である。データ参照コンピュータ95dがネットワークを介してデータベースにアクセスするのではなく、データベース92そのものを、データ生成コンピュータ85bの内部に配置し、データ参照コンピュータ95dが、データ生成コンピュータ85bに直接操作データを要求する。図には記載されていないが、2台のコンピュータ85b,95dは、赤外線通信や無線アドホックネットワークなどを介して通信することを想定している。
データ生成コンピュータ85bは、データベース92を内部に配置する。また、データ転送の要求を受け付けてデータを転送する、データ転送部115も備える。その他の構成要素は、データ生成コンピュータ85aと同じである。
データ参照コンピュータ95dは、データ生成コンピュータ85bのデータ転送部115からデータを受信する、データ受信部116を新たに備える。その他は、データ参照コンピュータ95aと同じである。
本実施例は、やや複雑な操作方法を口頭で教える代わりに、その場で実際に操作内容を記録し、参照コンピュータのユーザに提示するような利用形態に適している。
本発明により、ユーザが、設定パラメータを共有できる他のユーザの過去の操作例を、LANや赤外線通信、あるいはアドホックネットワークなどを介して、参照しながら、実際に自分のコンピュータの設定作業を行えるユーザ支援システムを実現できる。ユーザは、複数のドキュメントに分散しているガイド情報を個別に収集する煩雑さから解放され、近隣のユーザに口頭で問い合わせるのと同じような感覚で、気軽に過去の操作例を参照することができる。また、システム管理者やアプリケーションベンダなどは、個々の利用環境に応じたヘルプドキュメントを容易に作成できるようになり、管理・運営コストを大幅に減らすことができる。
さらに別の実施例を説明する。情報利用手段32(図3)は、複数の設定パラメータが選択可能な場合に、過去に同じ設定を行ったユーザ数の多い順に候補を提示すること、あるいは最もユーザ数の多い候補のみを提示する。情報利用手段32は、複数の設定パラメータが選択可能な場合に、過去の最も直近に設定を行ったユーザが操作した例を提示する。データベース13(図2)は、時間の経過に伴いに情報が次第に豊富になるとともに、参照ユーザ数の少ないデータや、同一ユーザによる同一項目の再設定頻度が高いデータなどを、廃れた情報とみなして削除する。
設定処理に係るデータベースを利用するシステムの構成図である。 情報登録用情報処理装置の機能ブロック図である。 情報検索用情報処理装置の機能ブロック図である。 データベース登録手段の内部を詳細に示す情報登録用情報処理装置の主要部構成図である。 図4のデータベース登録手段をさらに具体化した情報登録用情報処理装置の構成図である。 日本語用ワープロソフトのオプションの設定ウィンドウを示す図である。 プリンタのプロパティの設定ウィンドウを示す図である。 捕捉手段が各設定作業におけるユーザ操作を捕捉する原理の説明図である。 各種イベントに対する一連のグラフィクス処理命令についてのデータ・フォーマットを示す図である。 データベース登録手段が各設定作業に対してデータベース13に登録する作業済み情報の構造を示す図である。 OSからの1個のイベントに対して生成される一連の描画命令のみを抽出してそれら一連の描画命令を描画命令ブロックとする説明図である。 データベース登録ルーチンのフローチャートである。 図12のデータベース登録ルーチンのステップを具体化したフローチャートである。 図12のデータベース登録ルーチンのステップを具体化したフローチャートである。 データベース検索ルーチンのフローチャートである。 プログラムを実行するためのハードウェア構成図である。 データ生成コンピュータの構成図である。 データ参照コンピュータの構成図である。 別のデータ参照コンピュータの構成図である。 さらに別のデータ参照コンピュータを示す図である。 別のデータ参照コンピュータがデータ生成コンピュータ85bに直接操作データを要求する場合の説明図である。
符号の説明
13:データベース、18:情報登録用情報処理装置、19:捕捉手段、20:データベース登録手段、28:情報検索用情報処理装置、29:捕捉手段、30:進行中作業検出手段、31:情報入手手段、32:情報利用手段、37:第1種ブロック生成手段、38:ブロック登録手段、39:第2種ブロック生成手段、40:構造化登録手段、41:描画命令ブロック生成手段、42:編集手段。

Claims (16)

  1. 情報登録用情報処理装置及び情報検索用情報処理装置を有し、
    前記情報登録用情報処理装置及び前記情報検索用情報処理装置は、所定のグループに所属する相互に別のパーソナル・コンピュータに実装されているとともに、ネットワークにより相互に接続され、
    アプリケーション・ソフトウェア及び/又は所属グループの共有資源についての設定情報に係るユーザによる設定作業が、開始後、前記情報登録用情報処理装置に係るパーソナル・コンピュータ自身への登録が行われた場合及びいまだ行われない場合、該設定作業を、それぞれ「終了作業」及び「進行中作業」と呼ぶことにし、
    前記情報登録用情報処理装置は、
    起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、及び
    捕捉されたグラフィクス処理命令の中から、終了作業に係る一連のグラフィクス処理命令についての情報を作業済み情報として前記ネットワーク上のデータベースに登録するデータベース登録手段、
    を有し、
    前記情報検索用情報処理装置は、
    起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、
    進行中作業を、捕捉したグラフィクス処理命令に基づき検出する進行中作業検出手段、
    進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づき前記データベース内を検索して該進行中作業の作業済み情報を入手する情報入手手段、及び
    前記情報入手手段により入手した作業済み情報に係る設定データを静止画で表示する、又は作業済み情報に係る設定データに基づいて進行中作業を自動実行する手段、
    を有していることを特徴とする情報処理システム。
  2. 情報登録用情報処理装置及び情報検索用情報処理装置が、所定のグループに所属する相互に別のパーソナル・コンピュータに実装されているとともに、ネットワークにより相互に接続されている情報処理システムの情報登録用情報処理装置であって、
    アプリケーション・ソフトウェア及び/又は所属グループの共有資源についての設定情報に係るユーザによる設定作業が、開始後、前記情報登録用情報処理装置に係るパーソナル・コンピュータ自身への登録が行われた場合及びいまだ行われない場合、該設定作業を、それぞれ「終了作業」及び「進行中作業」と呼ぶことにし、
    起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、及び
    捕捉されたグラフィクス処理命令の中から、終了作業に係る一連のグラフィクス処理命令についての情報を作業済み情報として前記ネットワーク上のデータベースに登録するデータベース登録手段、
    を有することを特徴とする情報登録用情報処理装置。
  3. 前記データベース登録手段は、
    捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第1種のブロックを生成する第1種ブロック生成手段、
    第1種のブロックに属する1個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第2種のブロックを生成する第2種ブロック生成手段、
    及び
    各第1種のブロックを1個の作業済み情報に対応させて各作業済み情報を前記データベースに登録するとともに、前記第2種のブロックが、前記第1種のブロックより1個下のブロック階層であるサブブロックとして、前記第1種のブロック内に配置される階層化データ構造により各作業済み情報を前記データベースに登録する構造化登録手段、
    を有していることを特徴とする請求項2記載の情報登録用情報処理装置。
  4. 前記データベース登録手段は、
    第2種のブロックとしての描画命令ブロックを、その内部を、OSからの1個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第3種のブロックに区分する描画命令ブロック生成手段、及び
    同一の第1種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第3種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、2番目以降の描画命令ブロックは、その内容が1番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとするデータ構造により各作業済み情報をデータベースに登録する前記構造化登録手段、
    を有していることを特徴とする請求項3記載の情報登録用情報処理装置。
  5. 前記作業済み情報は、各処理命令をプログラミング言語により表現したシンボル列から成り、
    ユーザが前記作業済み情報のシンボル列を編集することを可能にする編集手段を有していることを特徴とする請求項2記載の情報登録用情報処理装置。
  6. 情報登録用情報処理装置及び情報検索用情報処理装置が、所定のグループに所属する相互に別のパーソナル・コンピュータに実装されているとともに、ネットワークにより相互に接続されている情報処理システムの情報検索用情報処理装置であって、
    アプリケーション・ソフトウェア及び/又は所属グループの共有資源についての設定情報に係るユーザによる設定作業が、開始後、前記情報登録用情報処理装置に係るパーソナル・コンピュータ自身への登録が行われた場合及びいまだ行われない場合、該設定作業を、それぞれ「終了作業」及び「進行中作業」と呼ぶことにし、
    起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する捕捉手段、
    進行中作業を、捕捉したグラフィクス処理命令に基づき検出する進行中作業検出手段、
    進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づき前記ネットワーク上のデータベース内を検索して該進行中作業の作業済み情報を入手する情報入手手段、及び
    前記情報入手手段により入手した作業済み情報に係る設定データを静止画で表示する、又は作業済み情報に係る設定データに基づいて進行中作業を自動実行する手段、
    を有していることを特徴とする情報検索用情報処理装置。
  7. 前記情報入手手段は、進行中作業におけるユーザ操作を前記捕捉手段の捕捉したグラフィクス処理命令から検出し、検出したユーザ操作に基づき該進行中作業に係る作業済み情報を検索するものであり、
    前記データベース内の作業済み情報は、
    同一のプロセスに係るグラフィクス処理命令を含む第1種のブロックとする構造となっており、
    さらに、第1種のブロックに属する1個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第2種のブロックとし、第2種のブロックが、前記第1種のブロックより1個下のブロック階層であるサブブロックとして、前記第1種のブロック内に配置される階層化データ構造となっており、
    前記情報入手手段は、進行中作業に係る作業済み情報を、複数個の第2種のブロックを含む1個の第1種のブロックとして前記データベースから入手することを特徴とする請求項6記載の情報検索用情報処理装置。
  8. データベース内の作業済み情報は、第2種のブロックとしての描画命令ブロックが、その内部を、OSからの1個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第3種のブロックに区分され、次に、同一の第1種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第3種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、2番目以降の描画命令ブロックは、その内容が1番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとするデータ構造となっており、
    前記情報入手手段は、進行中作業に係る作業済み情報を、前記簡略ブロックを含む1個の第1種のブロックとして前記データベースから入手することを特徴とする請求項7記載の情報検索用情報処理装置。
  9. 情報登録用情報処理装置及び情報検索用情報処理装置が、所定のグループに所属する相互に別のパーソナル・コンピュータに実装されているとともに、ネットワークにより相互に接続されている情報処理システムの情報登録用情報処理装置に適用される方法であって、
    アプリケーション・ソフトウェア及び/又は所属グループの共有資源についての設定情報に係るユーザによる設定作業が、開始後、前記情報登録用情報処理装置に係るパーソナル・コンピュータ自身への登録が行われた場合及びいまだ行われない場合、該設定作業を、それぞれ「終了作業」及び「進行中作業」と呼ぶことにし、
    起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する第1のステップ、及び
    捕捉されたグラフィクス処理命令の中から、終了作業に係る一連のグラフィクス処理命令についての情報を作業済み情報としてデータベースに登録する第2のステップ、
    を有することを特徴とする作業済み情報登録用情報処理方法。
  10. 前記第2のステップは、
    捕捉された全部のグラフィクス処理命令から、同一のプロセスに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第1種のブロックを生成する第1のサブステップ、
    第1種のブロックに属する1個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第2種のブロックを生成する第2のサブステップ、
    及び
    各第1種のブロックを1個の作業済み情報に対応させて各作業済み情報を前記データベースに登録するとともに、前記第2種のブロックが、前記第1種のブロックより1個下のブロック階層であるサブブロックとして、前記第1種のブロック内に配置される階層化データ構造により各作業済み情報を前記データベースに登録する第3のサブステップ、
    を有していることを特徴とする請求項9記載の作業済み情報登録用情報処理方法。
  11. 前記第2のステップは、
    第2種のブロックとしての描画命令ブロックを、その内部を、OSからの1個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第3種のブロックに区分する第4のサブステップ、
    を有し、
    前記第2のサブステップでは、
    同一の第1種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第3種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、2番目以降の描画命令ブロックは、その内容が1番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとするデータ構造により各作業済み情報をデータベースに登録することを特徴とする請求項10記載の作業済み情報登録用情報処理方法。
  12. 情報登録用情報処理装置及び情報検索用情報処理装置が、所定のグループに所属する相互に別のパーソナル・コンピュータに実装されているとともに、ネットワークにより相互に接続されている情報処理システムの情報検索用情報処理装置に適用される方法であって、
    アプリケーション・ソフトウェア及び/又は所属グループの共有資源についての設定情報に係るユーザによる設定作業が、開始後、前記情報登録用情報処理装置に係るパーソナル・コンピュータ自身への登録が行われた場合及びいまだ行われない場合、該設定作業を、それぞれ「終了作業」及び「進行中作業」と呼ぶことにし、
    起動中のアプリケーション・ソフトウェアからグラフィクス・インターフェースへのグラフィクス処理命令を捕捉する第3のステップ、
    進行中作業を、捕捉したグラフィクス処理命令に基づき検出する第4のステップ、
    進行中作業の作業済み情報について該進行中作業に係るグラフィクス処理命令に基づき前記ネットワーク上のデータベース内を検索して該進行中作業の作業済み情報を入手する第5のステップ、及び
    前記第5のステップにおいて入手した作業済み情報に係る設定データを静止画で表示する、又は作業済み情報に係る設定データに基づいて進行中作業を自動実行する第6のステップ、
    を有していることを特徴とする情報検索用情報処理方法。
  13. 前記第5のステップは、
    進行中作業におけるユーザ操作を前記第3のステップにおいて捕捉したグラフィクス処理命令から検出し、検出したユーザ操作に基づき該進行中作業に係る作業済み情報を検索するものであり、
    前記データベース内の作業済み情報は、
    同一のプロセスに係るグラフィクス処理命令を含む第1種のブロックとする構造となっており、
    さらに、第1種のブロックに属する1個又は複数個のグラフィクス処理命令より、同一の描画対象オブジェクトに係るグラフィクス処理命令を抽出してそれら抽出グラフィクス処理命令を含む第2種のブロックとし、第2種のブロックが、前記第1種のブロックより1個下のブロック階層であるサブブロックとして、前記第1種のブロック内に配置される階層化データ構造となっており、
    前記第5のステップでは、進行中作業に係る作業済み情報を、複数個の第2種のブロックを含む1個の第1種のブロックとして前記データベースから入手することを特徴とする請求項12記載の情報検索用情報処理方法。
  14. データベース内の作業済み情報は、第2種のブロックとしての描画命令ブロックが、その内部を、OSからの1個のイベントに対して生成される一連のグラフィクス処理命令ごとにまとめた第3種のブロックに区分され、次に、同一の第1種のブロック内にある複数個の描画命令ブロックに対して、それらに含まれる全部の第3種のブロックが同一である描画命令ブロック同士は同一の描画命令ブロックとし、複数個の同一の描画命令ブロックについては、2番目以降の描画命令ブロックは、その内容が1番目の描画命令ブロックと同一であることを示すことにより内容を簡略した簡略ブロックとするデータ構造となっており、
    前記第5のステップでは、進行中作業に係る作業済み情報を、前記簡略ブロックを含む1個の第1種のブロックとして前記データベースから入手することを特徴とする請求項13記載の情報検索用情報処理方法。
  15. 請求項9〜14のいずれかに記載の方法の各ステップをコンピュータに実行させるプログラム。
  16. 請求項15記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2003379831A 2003-11-10 2003-11-10 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体 Expired - Fee Related JP3942098B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003379831A JP3942098B2 (ja) 2003-11-10 2003-11-10 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体
US10/985,707 US7936356B2 (en) 2003-11-10 2004-11-10 Information processing method for information registration, and information processing method for information retrieval

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003379831A JP3942098B2 (ja) 2003-11-10 2003-11-10 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2005141641A JP2005141641A (ja) 2005-06-02
JP3942098B2 true JP3942098B2 (ja) 2007-07-11

Family

ID=34631372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003379831A Expired - Fee Related JP3942098B2 (ja) 2003-11-10 2003-11-10 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体

Country Status (2)

Country Link
US (1) US7936356B2 (ja)
JP (1) JP3942098B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100034928A1 (en) * 2007-04-19 2010-02-11 Mario Paleari Printed antifog films
JP4382155B2 (ja) * 2008-02-26 2009-12-09 パナソニック株式会社 操作支援装置及びその方法
JP2010055153A (ja) * 2008-08-26 2010-03-11 Fujitsu Ltd 秘密情報の非表示化方法
US20110283204A1 (en) * 2010-05-12 2011-11-17 Microsoft Corporation Pasting Various Data into a Programming Environment
US8869272B2 (en) * 2010-08-13 2014-10-21 Mcafee, Inc. System, method, and computer program product for preventing a modification to a domain name system setting
US9049176B2 (en) * 2011-06-22 2015-06-02 Dropbox, Inc. File sharing via link generation
US10031643B2 (en) 2014-09-26 2018-07-24 At&T Mobility Ii Llc Predictive determination of actions
CN112256339B (zh) * 2019-07-22 2023-11-03 百度在线网络技术(北京)有限公司 多进程管理方法、装置、电子设备和存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829294A (en) * 1986-06-25 1989-05-09 Hitachi, Ltd. Document processing method and system using multiwindow
JP3703171B2 (ja) 1995-07-20 2005-10-05 キヤノン株式会社 グループ環境設定方法及びそのシステム
JPH10222689A (ja) 1996-12-02 1998-08-21 Nippon Telegr & Teleph Corp <Ntt> 図形表示方法及び装置及び図形表示プログラムを格納した記憶媒体
JPH11288439A (ja) 1998-04-01 1999-10-19 Hitachi Ltd 情報処理システム
JP2000029592A (ja) 1998-07-14 2000-01-28 Fuji Xerox Co Ltd 画像処理装置のパラメータ共有方法およびシステム
JP2000163602A (ja) 1998-11-26 2000-06-16 Hitachi Ltd 入力履歴蓄積装置
US6466970B1 (en) * 1999-01-27 2002-10-15 International Business Machines Corporation System and method for collecting and analyzing information about content requested in a network (World Wide Web) environment
US6340977B1 (en) * 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US6546397B1 (en) * 1999-12-02 2003-04-08 Steven H. Rempell Browser based web site generation tool and run time engine
US7225244B2 (en) * 2000-05-20 2007-05-29 Ciena Corporation Common command interface
JP4064621B2 (ja) 2000-12-11 2008-03-19 株式会社東芝 ソフトウェアのサポートシステム及びサポートプログラムを記録したコンピュータ読み取り可能な記録媒体
US7185286B2 (en) * 2001-08-28 2007-02-27 Nvidia International, Inc. Interface for mobilizing content and transactions on multiple classes of devices
US20030142344A1 (en) * 2002-01-31 2003-07-31 Jennifer Geske System and method for electronically monitoring the content of print data
US7206788B2 (en) * 2002-07-30 2007-04-17 Microsoft Corporation Schema-based services for identity-based access to device data
US20040215719A1 (en) * 2003-04-09 2004-10-28 Altshuler Dennis Wayne Method and system for designing, editing and publishing web page content in a live internet session
US20050034083A1 (en) * 2003-08-05 2005-02-10 Denny Jaeger Intuitive graphic user interface with universal tools
US7665019B2 (en) * 2003-09-26 2010-02-16 Nbor Corporation Method for recording and replaying operations in a computer environment using initial conditions
US20050068549A1 (en) * 2003-09-26 2005-03-31 Denny Jaeger Graphic user interface and method for selectively printing objects displayed on a display device
US20050071747A1 (en) * 2003-09-28 2005-03-31 Denny Jaeger Method and apparatus for performing multimedia operations

Also Published As

Publication number Publication date
JP2005141641A (ja) 2005-06-02
US20050122336A1 (en) 2005-06-09
US7936356B2 (en) 2011-05-03

Similar Documents

Publication Publication Date Title
JP4972254B2 (ja) リフレッシュ可能なWebクエリを作成するための統合された方法
JPH11259459A (ja) 文書管理装置
JP2010055483A (ja) 情報再取得手順生成プログラム及び情報再取得手順生成装置
EP1143351A2 (en) Multimedia information structuring and application generating method and apparatus
WO2014002812A1 (ja) 端末装置及びアノテーション方法並びにコンピュータシステム及びコンピュータプログラム
US20100057770A1 (en) System and method of file management, and recording medium storing file management program
EP2437184A1 (en) Host apparatus and method of displaying content by the same
JP2012103786A (ja) テスト支援装置、制御方法、及びプログラム
JP2005266954A (ja) 操作情報記録・再生装置
JP3942098B2 (ja) 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体
US20020158909A1 (en) Apparatus for outputting relation of dependency of files and method thereof
JP6910494B1 (ja) 情報処理プログラム、情報処理装置及び情報処理方法
JP6423933B2 (ja) 情報処理装置、帳票管理システム、帳票管理サーバ、情報処理方法、及びそのプログラム
JP2006127117A (ja) Web閲覧操作の記録・再生方法及び装置及びプログラム及びプログラムを格納した記憶媒体
JP6109443B1 (ja) コンテンツ表示装置、コンテンツ表示システム、コンテンツ表示方法、及びコンテンツ表示プログラム
JP2005025295A (ja) コンテンツ変換プログラム、コンテンツ変換方法、およびコンテンツ変換装置
JP3150889B2 (ja) ソフトウェア開発支援方法及び装置
JP2014211812A (ja) 情報処理装置、制御方法およびコンピュータプログラム
JP2018116750A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP6331307B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
CN110730379B (zh) 一种视频信息处理方法、装置和存储介质
JP2000207081A (ja) 情報処理装置および情報処理装置のデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体
JP3157917B2 (ja) データ処理方法およびデータ処理装置
JPH09305366A (ja) 画面表示最適化方法
JP2024100388A (ja) 情報処理システムおよびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070328

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070330

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees