(57)【特許請求の範囲】
【請求項１】
利用者に指示されたタスクを自動的に実行するようにコンピュータを制御する方法であって、
それぞれがコンピュータにおけるある特定のタイプのイベントの発生に関連する複数のトリガをそれぞれのオペレーティングシステムレベルのオブジェクトの形態でコンピュータのメモリに保存する工程と、
利用者が、タスクの遂行中に実行されるアクションを指定し、そのタスクのために前記複数のトリガのいずれか一つを選択するためのインターフェースを提供する工程と、
前記選択されたトリガに関連するタイプの特定のイベントの発生を検出するためのトリガインスタンスを確立する工程と、
前記確立したトリガインスタンスに基づいて、前記特定のイベントが発生したときに、コンピュータにその旨を指摘する工程と、
前記指摘に対応して、前記指定されたアクションを実行させる工程とを有し、
前記指定されるアクションとは、アプリケーションプログラムを開始させることであり、利用者によるアクションの指定は、前記アプリケーションプログラムの動作を制御するためのパラメータの定義を含み、
前記トリガが関連するイベントのタイプは、時間に関係するイベントと、時間に関係ない他のイベントとの両方を含む、コンピュータを制御する方法。
【請求項２】
利用者に指示されたタスクを自動的に実行するようにコンピュータを制御する方法であって、
それぞれがコンピュータにおけるある特定のタイプのイベントの発生に関連する複数のトリガをそれぞれのオペレーティングシステムレベルのオブジェクトの形態でコンピュータのメモリに保存する工程と、
前記メモリ中に利用者通知の複数の形態をそれぞれのオペレーティングシステムレベルのオブジェクトとして保存する工程と、
利用者が、タスクの遂行中に実行されるアクションを指定し、そのタスクのために前記複数のトリガのいずれか一つを選択するためのインターフェースを提供する工程と、
利用者が、前記インターフェースを介して前記通知の形態の内のいずれかを選択するための工程と、
前記選択されたトリガに関連するタイプの特定のイベントの発生を検出するためのトリガインスタンスを確立する工程と、
前記確立したトリガインスタンスに基づいて、前記特定のイベントが発生したときに、コンピュータにその旨を指摘する工程と、
前記指摘に対応して、前記指定されたアクションを実行させる工程と、
前記指定されたアクションが実行されるときに選択された通知の形態を利用者に提供する工程とを有し、
前記指定されるアクションとは、アプリケーションプログラムを開始させることであり、利用者によるアクションの指定は、前記アプリケーションプログラムの動作を制御するためのパラメータの定義を含み、
前記トリガが関連するイベントのタイプは、時間に関係するイベントと、時間に関係ない他のイベントとの両方を含む、コンピュータを制御する方法。
【請求項３】
請求項１の方法であって、前記インターフェースは、利用者が、それを介して実行すべきアクションを指定し、トリガを選択し、そして前記特定のイベントを識別するトリガのパラメータに関係する情報を提供する、情報の枠の列を含む、コンピュータを制御する方法。
【請求項４】
コンピュータにおいてタスクを自動的に実行するためのシステムであって、
それぞれが、実行されるべきアクションの識別情報とそのアクションの実行を開始させるイベントとを少なくとも含む複数のタスクファイルを保存する手段と、
それぞれのタスクファイルを調査し、タスクファイル中で識別されるイベントが発生したときに通知を行うオペレーティングシステムレベルのトリガオブジェクトのインスタンスを生成するための生成手段と、
前記生成したトリガオブジェクトのインスタンスに基づいて、前記イベントが発生したときに通知を行う手段と、
実行すべきアクションを開始するために、前記イベントが発生したことの通知に反応する手段とを有し、
前記アクションの実行の開始は、前記アクションを実施するプログラムの起動を含み、前記タスクファイルは、前記プログラムの動作を制御するためのパラメータの定義を含み、
前記イベントのタイプは、時間に関係するイベントと、時間に関係ない他のイベントとの両方を含む、タスクを自動的に実行するためのシステム。
【請求項５】
請求項４のシステムであって、前記タスクファイルは、利用者に提供されるべき通知の形態の識別情報を更に含み、前記システムは、識別された通知を利用者に提供するためにアクションの実行に反応する手段を更に有する、タスクを自動的に実行するためのシステム。
【請求項６】
請求項４のシステムであって、前記タスクファイルは、少なくとも２つのイベントの識別情報を含み、前記生成手段は、それぞれのイベントのための別個のトリガオブジェクトのインスタンスを生成する、タスクを自動的に実行するためのシステム。
【請求項７】
コンピュータにおいてタスクを自動的に実行するためのシステムであって、
利用者が、コンピュータにより自動的に実行されるべきタスクを指定するための利用者インターフェースオブジェクトと、
自動化されたタスクの遂行を開始するために使用することのできる、プログラム的に検出可能なそれぞれ異なるイベントに関連する複数のオペレーティングシステムレベルのトリガオブジェクトと、
実施可能な異なるタスクにそれぞれ関連する複数のアシスタントとを含み、
前記アシスタントのそれぞれは、前記利用者インターフェースオブジェクトを介したある特定タスクの利用者の指定に応じて、前記検出可能なイベントの一つを利用者が指示することのできる会見シーケンスを提供し、前記トリガオブジェクトの一つに関連づけられ、指示されたイベントの発生に際して、前記指定されたタスクが実行されるようにするタスクファイルを生成し、
前記タスクファイルは、前記タスクの遂行中において起動されるプログラムの動作を制御するためのパラメータの定義を含み、
前記指示されたイベントのタイプは、時間に関係するイベントと、時間に関係ない他のイベントとの両方を含み、
前記指示されたイベントの発生に際して、前記指示されたイベントに関連するトリガオブジェクトに関連づけられたタスクファイルで指定されたタスクが実行される、タスクを自動的に実行するためのシステム。
【請求項８】
コンピュータにおいてタスクを自動的に実行するためのシステムであって、
利用者が、コンピュータによって自動的に実行されるべきタスクを指定するための利用者インターフェースオブジェクトと、
自動化されたタスクの遂行を開始するために使用することのできる、プログラム的に検出可能なそれぞれ異なるイベントに関連する複数のオペレーティングシステムレベルのトリガオブジェクトと、
実施可能な異なるタスクにそれぞれ関連する複数のアシスタントとを含み、
前記アシスタントのそれぞれは、前記利用者インターフェースオブジェクトを介したある特定タスクの利用者による指定および前記検出可能なイベントの一つの利用者による指示に応じて、前記トリガオブジェクトの一つに関連づけられ、指示されたイベントの発生に際して前記指定されたタスクが実行されるようにするタスクファイルを生成し、
前記タスクファイルは、前記タスクの遂行中において起動されるプログラムの動作を制御するためのパラメータの定義を含み、
前記指示されたイベントのタイプは、時間に関係するイベントと、時間に関係ない他のイベントとの両方を含み、
前記指示されたイベントの発生に際して、前記指示されたイベントに関連するトリガオブジェクトに関連づけられたタスクファイルで指定されたタスクが実行される、タスクを自動的に実行するためのシステム。
【発明の詳細な説明】
［発明の分野］
本発明は、コンピュータとそのコンピュータの人間の利用者とのインターフェース、特に、利用者がコンピュータによって自動的にタスクを遂行できるようにするインターフェースを指向する。
［発明の背景］
一般に、ほとんどのパーソナルコンピュータは受動的なツールとして使用されている。コンピュータの利用者は、所望のタスクを遂行するためにインターフェースの要素を直接操作する必要がある。新しい特徴とコンピュータによって利用できるサービスとは、しばしば試行錯誤を通してのみ見い出される。その結果、利用者は、コンピュータをかれらにとって役立つものとする能力の利用のしかたがわからず、そのためコンピュータは最も効果的なやりかたで利用されていない。言い換えれば、利用者が、彼らが自由に使えるすべての能力をよく知らないか、あるいはそれらを効果的に利用できないため、コンピュータの膨大な潜在能力が発揮されないことがしばしばある。
コンピュータが利用される効率を向上させるため、利用者が彼らのコンピュータと対話（interaction）する基本的な方法を改訂することが求められている。特に、利用者により直接操作される受動的ツールとしてコンピュータを利用するのではなく、利用者により設計されたタスクの遂行を補助する共同のパートナとしてコンピュータを利用する方が望ましい。この目的のために、タスクが実行されることになっている時ごとにコンピュータへの指示や他の操作を利用者に要求せず、自動的にタスクを遂行するようコンピュータを設定できる機構を備えることが望ましい。
この点について、いくぶんかの能力を備えたコンピュータプログラムもある。例えば、利用者に着信メールがあるか調べるために、サーバコンピュータに１日の所定時刻に自動的にアクセスするスケジューリング機能を備えた電子メールプログラムがある。もしあるなら、そのメールは利用者のコンピュータにダウンロードされ、サーバコンピュータとの接続はそこで終了する。他のアプリケーションプログラムにも、自動のスケジューリング機能を備えるものがある。
もう一つの例として、ほとんどのオペレーティングシステムでは、稼働開始時にある決まった動作を実行することができる。例えば、利用者は、コンピュータが初めにスタートした時に起動されて実行される決まったプログラムを指定できる。同様の方法で、アプリケーションプログラムを、起動された時に特定のファイルを自動的に開く構成とすることもできる。
これらの様々な機能により、ユーザは一定のタスクを自動化することができる一方、それら機能の適用はそれぞれ限られている。特に、電子メールプログラムのスケジューリング機能は、そのプログラムのためのソフトウエアに固定的にコード化（hard coded）されており、それゆえにその特定のプログラムの文脈（context）の中でのみ利用できる。更に、スケジューリングタスクを実行するためにはそのプログラムを実行せねばならない。この要求は望ましいものではない。なぜなら、そのプログラムは実行される間にコンピュータのメモリを利用するであろうから、それによって他のプログラムが利用できる量が減るからである。スケジュールされたタスクを有する異なるプログラムそれぞれは、それらタスクを実施するためにメモリ中で実行されなければならないため、設定され得る異なるタスクの数もまた実質的に制限される。
同様に、稼働開始時に起動できるアプリケーションはそのひとつの特定のインスタンス（instance）に限られる。利用者は、他の時や、他のイベントに反応して自動的にタスクを実行させることはできない。
それゆえ、利用者がコンピュータのプログラミングについて熟知している必要なしに、異なる様々なイベントに反応して、あるいは所望の時刻に、利用者に望まれるであろう如何なるタスクでも自動的に実行できるコンピュータを構成するための機構が望ましい。利用者に望まれる多様なタスクのいかなるものについても適用させるために、特定のプログラムなどに拘束されるのではなく、コンピュータのオペレーティングシステムのレベルにおいては、好ましくはこのような機構が機能すべきである。
［発明の簡単な説明］
この目的のために、本発明は、利用者の所期の目的の達成をコンピュータが補助できるようにした方法で利用者とコンピュータとを対話し易くしたコンピュータ−利用者インターフェースを備える。このインターフェースを媒介として、利用者は達成すべき目的とタスクとを記述する。実行される個別の動作に基づいて、そのタスクに関連した情報を得るために、コンピュータは利用者と会見（interview）する。いったんコンピュータが情報を獲得すると、そのコンピュータは、利用者に設計されたトリガイベントに反応して所望の動作を自動的に実行するタスクを生成するために、利用者とともに働く。更に、そのタスクは、前記動作が実行されているときにはいつでも利用者に通知する。
このコンピュータ−人間インターフェースは、利用者に、極めて柔軟に自動化されたタスクを生成させる開かれた構成を有している。一般に、あらゆる実行可能な機能は、タスクの実体として利用者により設計し得る。このタスクは、利用者により設計された、プログラム的に検出可能なあらゆるイベントやトリガに反応して開始され得る。ほかの特徴として、そのタスクが実行されているときにはいつでも、利用者は、用意されるいくつかの異なるタイプの通知の中から選択することができる。この構成によって生じる柔軟性により、利用者は、自分自身の特別な要求に合わせてコンピュータの動作をカスタマイズすることができる。
タスクの各要素、例えば実行される動作やトリガ，通知は、オペレーティングシステムレベルで分離したオブジェクトとして格納される。利用者は、これら多様なオブジェクトを選択でき、ファイルへの追加動作としてそのファイルに結び付けることができる。これら要素はシステムレベルで動作するため、たとえ結び付いたファイルが休止状態であったとしても、それら要素はトリガイベントに反応して活性化され得る。更に、そのファイル自体がタスクのスケジューリングを知っている必要は全くない。このため、そのファイルをタスクと結び付けられるようにするためにはファイル自体のカスタマイズ、例えば付加コードは必要ない。
それゆえ、本発明の全体的な効果は、利用者に、コンピュータをどのように利用するかに集中するのではなく、目的の達成に集中させることができることにある。更に、本発明の特徴及びそれによって生じる利点は、添付された図面に図示された本発明の実施例によって以下の通り詳細に説明する。
【図面の簡単な説明】
図１Ａは、本発明による自動のタスク生成機能を利用するためのボタンを含んだデスクトップディスプレイの図である。
図１Ｂは、補助ボタンの拡大図である。
図２は、アクセスウインドウの図である。
図３Ａ−３Ｄ，４Ａ−４Ｂ，５Ａ−５Ｂ，６は、自動タスクの設定のための会見パネルの図である。
図７は、自動タスクを生成するためのインターフェースのアシスタント部分の構成を示すブロック図である。
図８，９は、タスクシステムウインドウの図である。
図１０，１１は、それぞれ中間及び全開状態のリポータウインドウの図である。
図１２は、タスクインスタンス生成（instantiation）を制御する構成の概要ブロック図である。
図１３は、作用資源データ列の一例である。
図１４は、作用インスタンスの構成のブロック図である。
図１５−２０は、自動タスクのインスタンス生成（instantiatin）を制御するバックグラウンドプロセスの動作を示す流れ図である。
図２１は、作用インジケータを含むアイコンの図である。
［詳細な説明］
本発明は、コンピュータの利用者に、トリガとなるあるイベントの発生あるいはある時刻にタスクが実行されるようにそのタスクの実行をコンピュータに委ねるだけでなく、一連の動作を繰返し行うために、彼らのコンピュータの動作を自動化できるインターフェースを提供するものである。本発明を理解し易くするため、アップルコンピュータ株式会社製のマッキントッシュ（登録商標）商標のコンピュータ上での実施を例にとって以下では説明する。しかしながら、本発明の実際的な応用はこの特定の実施例に限定されないことは理解されるであろう。むしろ、他のタイプのコンピュータ及びオペレーティングシステムへの本発明の応用は当業者には容易に明らかになるであろう。
本質的に、本発明のコンピュータ−人間インターフェースは、利用者がそれを通して所望のタスクを実行するコンピュータを構成できるところの媒介手段を備える。この機能は、利用者自身のコンピュータの動作と、所期の目的を遂行するためにそれを制御する方法とを利用者が理解する補助をする、より一般的なインターフェースの文脈（context）のなかで実施され得る。この点について、こういったインターフェースは、好ましくは、初心者から上級に至る利用者の幅広い要求に応える機能を有する。未経験の利用者については、このインターフェースは、利用者に、コンピュータの通常の機能に必要な基本的な動作を実行させることができる情報を与える。より上級の利用者のためには、このインターフェースは、利用者が遂行されるタスクを自動的に設定できるようにする。それゆえ、一般的に、このインターフェースは利用者を、かれらのコンピュータをより効果的に利用できるよう補助する。
本願発明の原理がその中で実施できるこういったインターフェースの一例は、「アップルガイド」として知られている。このインターフェースは、所望の動作を達成する段階的なやり方を利用者に指導するヘルプシステムを備えている。このインターフェースに関する他の情報のために、共通に譲渡され、同時係属中の出願である、１９９３年１月２７日出願の第０８／０１０，０６３号、１９９３年４月３０日出願の第０８／０５６，３６７号、１９９３年５月１０日出願の第０８／０５９，５４２号が参照され、それらの開示はそれを参照することでこの中に組み込まれる。好ましくは、本発明の特徴はこれらの出願で開示されるタイプのインターフェースに組み込まれる。
あらゆるタイプのコンピュータ利用者が利用し易くするため、本発明で提供される特徴機能は単純なインターフェースオブジェクトを介して利用できる。このようなオブジェクトの一例が図１Ａに示されている。これを参照すると、この図は、コンピュータに格納されたオブジェクトを表わすために卓上になぞらえたインターフェースにより、利用者に対して典型的に表示されるタイプのディスプレイスクリーンを図示している。図１Ａに示されるように、スクリーンの主要部分はデスクトップ１０として知られる領域を含んでいる。デスクトップの上部には、利用者に、コンピュータの動作を制御するための基本的な機能を利用させるメニューバー１２が配置されている。デスクトップ上の様々なアイコン１４は、コンピュータ利用者が利用できる、ディスクドライブ，フォルダ，ファイル，アプリケーションプログラムといったオブジェクトを表している。この技術では公知のように、メニューアイテム及びアイコンへは、マウスやペン等といった、利用者により操作される適当な入力装置で制御されるカーソルによってアクセスする。
また、デスクトップ上には補助ボタン１６が図示されており、図１Ｂにその拡大図が示されている。利用者は、このボタンによりインターフェースの特徴機能である指導及び補助を利用する。好ましくは、このボタンは、利用者がいつでも利用できるよう、ウインドウ及びアイコンのように、デスクトップの他の全てのオブジェクトの上に浮ぶパレット上に位置すると良い。利用者がこのボタンをデスクトップから消去することができるよう、このパレットには閉ボタン１８が用意されており、これは、よく知られた方法でこの特徴機能の表示を消去するよう働く。このボタンが一旦消去されると、ヘルプメニューといった、メニューバー１２上の項目を通してそれを利用できる。
インターフェースの補助の特徴機能を呼び出すには、利用者は、例えばカーソルポインタが補助ボタン上にある間にマウスボタンをクリックすることによって、補助ボタン１６を作動させる。そのようにするとともに、図２に示されるように、アクセスウインドウが利用者に対して表示される。アクセスウインドウはまた、利用者に呼び出された時にデスクトップ上のすべてのアプリケーションウインドウ及びアイコンの上に浮かぶシステムウインドウである。
アクセスウインドウは、コンピュータが使用されている状況に適した所定の質問、課題及びタスクのリストを表示する。したがって、例えば、利用者がデスクトップ自体の上で作業をしている時には、アクセスウインドウの内容は、図２に示されているように、コンピュータの動作に結び付いた基本的な機能に関連していてよい。一方、利用者が、ワードプロセシングといった特定のアプリケーションで作業しているならば、アクセスウインドウの内容はその特定のアプリケーションに結び付いた機能に関連していてよい。この情報はプログラムの一部として、例えばヘルプファイルに用意される。このように、アクセスウインドウの内容は常に状況に対して容易に変化する。
図２に示された具体的な例では、アクセスウインドウの上部には、利用者が異なる検索モードを切り替えられる３つのボタン２０−２４がある。図２において強調表示されている第１のボタン２０で、利用者は総括的なトピックによる問合せ領域を選択できる。真ん中のボタン２２は、アルファベット順で、あるいは他の指示されたやりかたでユーザに対して情報を表示する。右端のボタン２４で、利用者は個別の質問を入力でき、その質問により、それに関連したトピックを突き止めるためにコンピュータが検索を執り行う。
アクセスウインドウの中央部分には、２つの情報の枠（pane）が含まれている。左側の枠２６は、利用者に作動させられる３つの検索モードボタンのどれか一つにより定められる情報を表示する。したがって図２の例では、左側の枠には利用者が情報を得ることのできる様々なトピックのリストが含まれる。利用者は、この枠で識別される一つのトピックを選択できる。これに応じて、右側の枠２８は、選択されたトピックに適したタスクのリストを表示する。図２の特定例では、利用者はトピック「ファイル及びディスク」を選択している。これに応じて、右側の枠には、利用者に対する、この総括的トピックの下でのより詳しい項目の選択の範囲が表示される。アクセスウインドウのこれら特徴機能に関する他の情報のために、前述した特許出願が参照される。
アクセスウインドウの下部には、３つの利用者補助モードボタンが含まれている。右端のボタン３０は、「指導せよ」とラベル付けされており、前述の特許出願に説明されている「アップルガイドシステム」により提供されるような、個々のタスクを遂行するための段階的な指示を通して利用者を導いていく。このタイプの動作は、利用者がそのタスクの達成のし方を学びたい場合には適している。中央のボタン３２は、「実行せよ」とラベル付けされており、タスクを完了するために要求されるステップを簡素化して、できる限り多くのタスクを自動で動作させる径路を通して利用者を導く。このモードは、利用者が個々のタスクを、それがどのように実行されるかを学ぶことは望まないが、達成したい場合に適している。このボタンを作動させるとタスクは一回実行される。タスクの実施の前に、コンピュータは利用者からタスクのパラメータに関する情報を求める必要があることがある。例えば、要求されたタスクがファイルのバックアップであれば、コンピュータは利用者にバックアップすべきファイルの詳細と、それらがコピーされる目的ディスクを要求することがある。この情報が入れられると、コンピュータは利用者による他の入力なしでそのタスクを実行する。
「自動化せよ」とラベル付けられた第３のボタン３４により、利用者は、反復的なタスクの実行を自動化することができる。それが作動される場合、システムは、指定されたトリガ条件が発生した場合にいつでも実行される自動タスクを生成する。「実行せよ」動作と同様に、このボタンにより提供されるタイプの補助は、タスクに関する必要な情報を得るために、利用者との会見（interview）シーケンスを実行する。しかしながら、この場合には、タスクの開始および、タスクが発生したときに用意される通知あるいはロギングのためのトリガ条件を利用者が指定できる追加の選択範囲が表示される。
このインターフェースの自動タスクの特徴機能は３つの主な概念に基づいている。すなわち、タスク，トリガ，アシスタントである。タスクは、利用者が指定した時刻にプログラム的に開始できる動作または動作列である。タスクは、（i）何を行うべきか、（ii）いつ行うべきか、（iii）どのようにして利用者に通知すべきかを指定した３項目の情報から成る。タスクについての「何を行う」かの指定は、タスクを固有なものにする変数を記述する。これらの変数は、例えば、その内容をバックアップすべきフォルダ名やディレクトリ名や、ネットワーク上で検索するフォルダ名や、電子メールアドレスが重要であろうとみなされる人達のリストを含んでいてよい。タスクに関する「いつ行う」かの指定は、自動タスクの実行のトリガの時刻あるいはイベントの条件を記述する。「通知」の指定は、タスクが実行されている時にどのように通知されたいか、及び後の再検討ために通知をログしておくべきかどうかに関して利用者の好むところを記述する。
トリガは、プログラム的に検出でき、自動タスクの実行開始に用いられるいかなるイベントであっても良い。例えば、時刻に基づいたトリガは、一つの時刻あるいは繰り返しの時間間隔を指定できる。他にも、システムの稼働開始、システムの稼働終了、あるいはアプリケーションの起動といった、指定されたイベントに基づいた、より複雑なトリガが有り得る。これらはまた、監視される複雑な条件に基づいていてもよい。例えば、トリガはハードディスクの空き領域の量を監視し、指定されたしきい値よりも利用可能領域が少なくなった時にタスクを開始する。その他のトリガとしては、指定されたキーストロークの組み合わせを検出したり、他のタスクが完了するまで待つことであっても良い。
自動タスクの第３の特徴的機能、すなわちアシスタントは、ひとつあるいは幾つかの潜在的な自動タスクのテンプレートと、これらタスクのインスタンスを指定するために必要とされるパラメータを集めるための会見シーケンスの集合である。各タスクのテンプレートは、アシスタントが提供できる技（skill）あるいはサービスを表している。アシスタントが利用者に呼び出されると、アシスタントは利用可能な技を表示し、利用者は、会見によって各タスクのために必要な、何を行うのとか、いつ行うのかと、通知の情報を指定して自動タスクを生成できる。それぞれのアシスタントは、設定するように設計された自動タスクの多くのインスタンスを生成できる。言い換えれば、アシスタントとは技の集合であり、それはタスクのインスタンスをいくつでも作り出すために、何重にもインスタンスが生成され（instantiated）得る。
アシスタントは、会見シーケンスによりタスクを定義するために必要なパラメータを集める。各シーケンスは、自動化される個々のタスクにかかわりなく一貫したインターフェースを利用者に提供するために、導入部、何を行うかの指定シーケンス、いつ行うかの指定シーケンス、通知の指定シーケンス及び終止部を備えている。利用者が、図２に示されたアクセスウインドウの中の適当なボタン３４を選択することで自動化されたアシスタントの形態を選ぶと、自動タスクを完全に詳しく指定するために、会見シーケンスの一部分が利用者に対して表示される。この動作を、図３Ａ−６により図示される具体的な例に関して説明する。
まず図２を参照すると、図示された例は、アクセスウインドウの右側の枠２８から、見出し「私のファイルをバックアップして下さい」を利用者が選択し、それから「自動化せよ」ボタン３４を作動させた状況に関連している。それに反応して、図３Ａに示されたような導入パネルが利用者に対して表示される。このパネルでは、アシスタントの特有の技に利用者を導くメッセージ３６がアシスタントにより提供される。この場合、その技とは、規則的な間隔で自動的にファイルをバックアップできることである。更にその技を説明すると、導入パネルは、生成されるであろうタスクの重要な表示を利用者に供するタスクアイコン３８を含んでいる。
会見シーケンスの一部分を形成する各パネルは、会見シーケンスを通して利用者が進行（navigate）できる適当な制御機構を有している。図３Ａを参照すると、図示された例においては、この機構は、パネルの右下角部に配置された１対のボタン４０及び４２を備えている。これら２つのボタンの間に表示された数字「１」は、これが会見シーケンスの第１番目のパネルであることを示している。
右矢印ボタン４０をクリックすることで、会見シーケンスは、図３Ｂに示された第２のパネルに進む。このパネルでは、利用者は、バックアップされるべきファイルの含まれたディスクを識別することが要求される。適当なディスクを選択すると、図３Ｃに示された、このシーケンスの次のパネルを表示するために右矢印ボタン４０が作動される。このパネルでは、利用者は、バックアップの手続きに含まれるはずの特定のファイルのタイプを指定する。最後に、図３Ｄの第４のパネルにおいて、利用者はバックアップファイルがコピーされるディスクを指定する。
このパネルのシーケンスは、タスクの詳細指定の「何を行うか」の部分を含んでいる。パネルに表示される個々の情報は、自動化される個々のタスクのコードの開発者により決定される。タスクの性質によって、利用者はある種の動作を遂行し、会見プロセスの一部として選択をすることができる。例えば、もしタスクが経費報告書といった書式を完成することを伴うのであれば、そのタスクのためのアシスタントは、書式を表示し、利用者がそれに必要事項を書き込む指導をし、適切であれば選択された受取人へとそれを発送する。
タスクのための「何を行うか」の指定を完了しすると、利用者は、このタスクがいつ実行されるべきか指定するよう促される。この情報を得るためのパネルが図４Ａに示されている。特にこの例では、利用者は毎金曜日の午後５時にファイルをバックアップするよう要求している。パネルの主枠４３の上部には、タスクが予定時刻に実行されるべきであることを示す情報ボックス４４が配置されている。付加的な利用者の入力要素４６及び４８は、タスクが遂行されるべき詳しい時刻と曜日とを指定するために表示されている。
所定の時刻に発生するのではなく、他の検出可能なイベントに基づいてタスクを起動させることもできる。例えば、利用者はコンピュータが電源を落とされるごとにファイルのバックアップを望んでも構わない。これら他のタイプのトリガイベントのひとつを指定するために、「いつ行うか：」ボックス４４の矢印ボタンを、利用できるタイプのトリガイベントのポップアップメニューを呼び出すために作動することができる。図４Ｂにこうしたメニューの一例が示されている。見ての通り、そこでは、ポップアップメニュー５０により、タスクのトリガとして利用できる異なるタイプのイベントについて、利用者はいろいろな選択ができる。時刻に関連したイベントではなく、アプリケーションプログラムの起動やコンピュータの稼働終了といった、他のプログラム的に検出可能なイベントがタスクを開始させるために選択され得る。利用者により選ばれるトリガイベントの個別のタイプに応じて、それに特有のインターフェース要素４６及び４８が、利用者がそのイベントに結び付いたパラメータを指定できるよう、枠４３内に表示される。
同一のトリガを、自動化できるすべてのタスクに対して一般的には利用できる。望むならば、デフォルトのトリガを各タスクに対して指定でき、それは会見シーケンスのあいだ情報ボックス４４に自動的に表示される。利用者は、デフォルトを望まないならポップアップメニュー５０を通して他のトリガを選択すことができる。この点について、利用可能なトリガのリストは、いかなる指定タスクについてもトリガとなる決まったタイプだけか、あるいは個々のタスクのために生成され得る特殊なトリガに限定し得る。
利用者が「いつ行うか」の詳細指定を完了したあと、そのパネルの右矢印ボタン４０をクリックすると、利用者はタスクが完了した時に発生するはずの通知の形態の指定を促される。この情報は、図５Ａに示された通知の詳細指定パネルによって用意される。「いつ行うか」の詳細指定パネルと同様、図５Ｂに示したように、このパネルは利用者に、彼らのコンピュータ上で利用可能な様々な通知のタイプを切り替えさせるポップアップメニュー５２を含んでいる。例えば、通知は、利用者により指定されたテキストメッセージや、点滅表示、音声、テキストから変換された音声メッセージやそれらの組み合わせの形態であってよい。通知の詳細指定パネルはまた、選択された通知のタイプに適したインターフェースの表示を切り替える枠５４を含んでいる。特にこの図５Ａの例では、利用者は通知のために話されるメッセージを選んでいる。これに応えて、インターフェースパネル５４は、この通知の形式の下で利用可能な様々なメッセージのリストを供する。
通知の詳細指定のパネルにはまた、各通知をログとして記録すべきか否かを利用者が指示できるチェックボックス５６が含まれている。この機能は、自動タスクが正しく実行されていることを判定する他の手段を利用者に提供している。会見シーケンスの最後のパネルは、図６に示されるように、終止パネルである。このパネルは、「何を行うか」、「いつ行うか」及び、「通知」の詳細指定の簡単な要約文を表示し、自動タスクを生成する前にそれらを編集する機会をもう一回提供する。いったん利用者がタスクを指定する情報に満足したら、生成５８ボタンをクリックすることで受領が確認される。これに応えて、アシスタントは自動タスクを生成し、インストールする。
インターフェースのアシスタント部分の構成は図７に示されている。前述したように、図２に示されたアクセスウインドウから、利用者は自動化された特定のタスクを識別する。この動作により幾つかのアシスタント６０の一つが選択される。要するに、各アシスタントは実行し得る異なるタイプのタスクを表わす。様々なアシスタントが、利用者により各々選択され得るシステムレベルのオブジェクトとしてコンピュータに格納されている。
いったん活性化されると、図３Ａ−６に示されたように、選ばれたアシスタントは会見枠６２の表示を制御する。会見プロセスの「何を行うか」の部分は、自動化されるタスクが明記され、そのタスクの文脈において適切な選択のみを利用者に示す。更に、会見プロセスのこの部分に示された連続する枠のそれぞれは、利用者のコンピュータの状態だけでなく、それに先立つ枠に示された選択範囲に対する利用者の応答に基づいて選択し得る。換言すれば、会見プロセスの「何を行うか」の部分は、それがタスクに固有的に適合しており、そのタスクに必要とされる情報だけを要求するということの長所によって利用者を補助する。更にこれに関して、前述した特許出願に述べられている様に、会見プロセスを通して利用者を指導するために、教訓的な機能を利用することもできる。
「何を行うか」の詳細指定に対して、タスクの「いつ行うか」「通知」の方は、個々のタスクに対して指定されない。むしろ、様々なトリガ及び通知の形態はどれでも、与えられたタスクのどれにでも用いることができる。好ましくは、それぞれのトリガ及び通知の形態は、すべてのアシスタント６０が利用できるフォルダ６３及び６４にそれぞれ格納される。
いったん会見プロセスが完了すると、アシスタントは、そのタスクに関連した必要なすべてのパラメータに関する利用者の入力を獲得している。この情報はタスクに結び付いたスクリプトファイル６５を完成させるために利用される。完成したスクリプトファイルは、タスクの「何を行うか」「いつ行うか」「通知」の詳細指定に関する情報をも含んだタスクファイル６６に格納される。例えば、前述の例では、スクリプトファイルはひとつのディスクからもうひとつのディスクへと指定されたファイルをコピーする命令を含んでいる。
この方法では、自動タスクはいくつでも生成でき、インストールできる。利用者は、図８に示されたようなタスクシステムウインドウにより、利用者のシステムにインストールされたすべてのタスクを見て、管理することができる。このウインドウは、例えばヘルプメニュー上の適当なメニュー項目により開くことができる。自動タスクウインドウは、システム上で稼働するよう現在スケジュールされたすべてのタスクだけでなく、生成され得るが現在は活性化されていない他のタスクをリストに載せる。図８を参照すると、各タスクは、ウインドウの別々の行に１回、リストに載せられる。行は、タスクを記述する幾つかの情報のセルを含む。セルの左の列は「タスク」とラベルが付けられた列である。この列は、生成された各タスクのための別個のアイコン３８を表示する。次の列は、タスクの「何を行うか」の詳細指定のリストを含む。これは、それぞれのタスクにより達成されるはずの機能を文字により説明している。第３の列は、タスクの「いつ行うか」の詳細指定である。この列のリストは、「いつ行うか」の詳細指定のシーケンスで利用者により指定されたように、実行されるタスクを発生させるトリガ条件を文字により説明している。
第４の列は、利用者に指定されたように、それぞれのタスクが実行される時に用いられるであろう「通知」の機構を文字により説明している。第５の列は、各タスクが実行可能か不可能かをシンボルで示している。図８の例では、チェックマークはタスクが実行可能であることを示し、国際的な「禁止」シンボルはタスクが実行できないことを示している。ウインドウ中の最後の列は状態の列である。これは、タスクが実行された時に受け取った最新の通知のメッセージを示している。典型的な例では、このメッセージはタスクが最後に成功裡に完了した時刻を表示する。タスクがエラーであれば、あるいは完了できなかったなら、エラーメッセージがこの列に表示される。
自動タスクウインドウが表示されている場合、利用者はリスト中のどのセルをクリックしても良い。そうすることで指定されたタスクが選択され、その行のすべてのセルが強調表示される。この状態は図９に示されており、そこでは文書のバックアップに関係したタスクが選択されている。タスクが選択されると、その行のすべてのセルが、そのひとつをクリックすることでそれが動作することを示すために、ボタンとして表示される。「何を行うか」「いつ行うか」「通知」のセルに関しては、それぞれに対応するボタンのクリックにより、タスクのその部分を編集することができる会見ウインドウ中の関連した枠を利用者に返す。もし「実行可能」セルのボタンがクリックされたなら、実行可能と実行不能状態の間で表示を切り替える。状態セルのクリックにより、後述するリポータウインドウが呼び出される。
自動タスクウインドウはまた、その下部に配置された３つのボタンを含んでいる。「生成」ボタン６７はリスト中に新たなタスクを生成する。利用者がこのボタンをクリックすると、利用者は、例えばアシスタントが供する会見シーケンスを通して、タスクを生成するための適当な情報を入力するよう促される。
「削除」ボタン６８は選択されたタスクを削除する。「輸出」ボタン７０により、セーブすべく現在選択されているタスクをファイルフォルダや他の指定された場所にコピーする。
タスクを選択してそのセルのひとつをクリックする代わりに、自動タスクウインドウ中のいずれかのセルをダブルクリックすることで直接タスクの編集を実行することもできる。それにより会見シーケンスの適切な部分が自動的に検索される。
補助インターフェースのもうひとつの特徴は、利用者にタスクの活動を監視させるリポータウインドウである。このウインドウは自動タスクの状態メッセージと通知とを報告するシステムウインドウである。これはまた、自動タスクの活動についての過去のメッセージのログを維持する。リポータウインドウは、図１Ｂに示された、補助ヘルプボタンを表示する浮動パレットを通して利用できる。このパレットはその右上角部にズームボックス７２を備える。このボックスをクリックすることで、図１０に示されているようなリポータウインドウの中間状態が表示される。これを参照すると、リポータウインドウは補助ボタン１６を備えており、これは、既にヘルプアクセスウインドウで説明した要領で機能する。補助ボタンのとなりには時計ボタン７４が配置されており、これは図８に示した自動タスクウインドウを開くために利用でき、それにより、スケジュールされたタスクのリストが用意される。図１０に示したリポータウインドウの右側には状態メッセージ表示領域７６が含まれる。この領域内には表示されたタスクに関する状態メッセージ、あるいはタスクが遂行されているときの通知が表示される。図１０における特定の例は、ディスク上のファイルがバックアップされているときに与えられる通知を図示している。
図１０に示したように、中間状態のリポータウインドウにはズームボックス７２及び最小化ボックス７８が含まれる。最小化ボックスが作動されると、ウインドウは図１Ｂに示した最少状態に戻る。そうではなくズームボックス７２が差動されたなら、ウインドウは図１１に示したようにいっぱいに広がった状態に拡張される。この状態では、ウインドウには中間状態のすべての機能に加えて、ログ枠８０が表示される。この枠は、過去の状態メッセージと通知とを含む、スクロール可能な文字フィールドを表示する。これらのメッセージは時間順あるいは他の適当な順序に維持できる。好ましくは、利用者は、このフィールドの文字を選択し、コピーできる。
前述したとおり、図８の自動タスクウインドウ中でタスクの状態セルがクリックされたとき、リポータウインドウが表示される。好ましくは、この動作が発生したとき、そのタスクに関係するログ枠中の個々の行は、利用者により参照し利用し易くするために強調表示される。
前述したとおり、自動タスクが生成されるそれぞれの時刻に、タスクファイルが生成される。タスクファイルには、タスクを定義するために必要なすべての情報が含まれており、それには「何を行うか」「いつ行うか」「通知」の詳細指定だけでなく、タスクが実行されているときにそのタスクによって必要とされるであろうあらゆる関連ファイルへのポインタが含まれる。例えばタスクが、ディスクドライブが起動されるごとにエンジンの点火音をまねた録音を再生するよう設計されているとすれば、タスクファイルのポインタにより、記録された音を含むファイルの位置を参照できる。
図１２を参照すると、全てのタスクファイル６６は、スケジュールされた項目のフォルダ８２に格納されている。このフォルダ中のファイルは、バックグラウンドで実行されるプロセス８４により監視される。すなわち、その動作は利用者には透けて見える。動作中、バックグラウンドプロセスは、「何を行うか」「いつ行うか」「通知」の詳細指定を記述する作用資源（behavior resources）を識別するために、スケジュールされたタスクフォルダ内の各ファイルを走査する。作用資源の例が図１３に示されている。要するに、その資源には、「いつ行うか」の指定に関するトリガデータと、実行される動作に関するランチャーデータと、通知データとからなるデータ列が含まれている。タスクファイル中のこのような作用資源のそれぞれについて、バックグラウンドプロセス８４は作用インスタンスあるいは作用オブジェクト８５を創り出し、メモリ８６のある部分に格納する。
作用インスタンスの構成は図１４に示されている。それは、タスクを分離したインスタンスで定義し、それらの間のプロトコルを調和させつつ編成する（orchestrate）３つの内訳に分離される。動作においては、トリガインスタンス８８はタスクの実行を開始させる条件の発生を検出する。例えば、指定された時刻に発生するようにタスクが設計されていれば、トリガインスタンスは、１日のその時刻であるか判定するために頻繁に時計をポールすることがあり得る。それに代わって、トリガインスタンスは、スケジュールされた時刻になったことを示すか、あるいは他の注目イベントが発生したことを示す他のオペレーティングシステムのサービスと協働してもよい。したがって、トリガインスタンスは、知らされる必要のあるタイマサービスに、注目時刻になったときに知らせることも有り得る。
トリガとなるイベントが発生すると、トリガインスタンスはこのことを示すためにビット９０をセットする。バックグラウンドプロセス８４はこのビットを、例えばアイドルパルスが生成されるごとに、規則的にチェックする。そのビットがセットされていることが検出されると、プロセス８４はランチャーインスタンス９２を呼び出す。これに応えて、ランチャーインスタンスは、発生させる指定された動作、例えば記録された音声を再生したり、ファイルをバックアップディスクにコピーしたりといった動作を引き起こす。タスクが完了すると、通知インスタンス９４はタスクの最終部分を形成する通知を行うために呼び出される。
図１４に示したとおり、課題あるいは「何を行うか」の部分や、トリガや通知といったタスクの各要素は、独立したシステムオブジェクトとして表現される。より詳しくいえば、利用者は、タスクの生成において、個々の動作のどれに、どの所望のトリガと、どの利用可能な形態の通知とを組合わせるか、あるいは全く通知を用いないかの自由を与えられている。更に、実際のタスクの活動を遂行するアプリケーションあるいは他のプログラムがそのタスク自体を知っている必要は全くない。この理由は、タスクは、どのような実行可能な機能のためにも、その機能自体を変更するいかなる必要もなしに設定され得るためである。
このシステムの構成は事実上開かれており、その結果新しいタイプのトリガとなるイベントや通知をいつでも追加し得る。更に詳しくは、いったん新たなタイプのトリガとなるイベントが生成されると、そのイベントは、会見プロセスの間に利用者がもうひとつの選択肢を利用できるようにするために、トリガオブジェクトのフォルダ６３に追加される。同様に、通知の新たな形態も、前から存在しているいかなるタスクにも影響を及ぼすことなく、通知オブジェクトのフォルダ６４に追加し得る。
各タスクをタスクファイルに格納することで、操作及び利用者間のタスクの交換が容易になる。例えば、タスクファイルはディスク上にコピーすることができ、他の利用者のコンピュータにおいてその利用者に提供することができる。同様に、タスクファイルを重複させ、その「いつ行うか」の詳細指定を、同じタスクを２つの異なる時刻に実行させるように編集することもできる。
一つのタスクファイルは、一つ以上の作用資源をもつことができる。例えば利用者が、株式監視プログラムが１日のうち、例えば午前９時，午後１時，午後４時３０分の３回株式情報を検索するタスクを設定したとする。別々の時刻のそれぞれは異なるトリガイベントであり、それゆえ別々の作用資源である。けれども、３つのタスク全部が、監視される特定の株式などある共通情報を共有するため、それらタスクは同じタスクファイルでまかなうことができる。この共通情報、すなわち指定された「何を行うか」「いつ行うか」「通知」の詳細以外のタスクのパラメータに関連する共通情報もまた、作用資源とは別にタスクファイルに格納される。
動作においては、バックグラウンドプロセス８４が、タスクファイルが１つ以上の作用資源を持つことを検出すると、そのプロセスは各資源のために別々の作用インスタンスを設定し、その結果各トリガイベントは別々に検出され、作用されることもあり得る。
バックグラウンドプロセス８４の動作を、このあと図１５−２０の流れ図を参照して詳細に説明する。このプロセスの主ルーチンは図１５に描写されている。これを参照すると、バックグラウンドプロセスが呼び出されたとき、ステップ９６においては、そのプロセスは初期化サブルーチンINITから実行される。このサブルーチンのステップは図１６の流れ図に示されている。ステップ９８においては、バックグラウンドプロセスはそれ自身をファイルシステムのクライアントとして登録する。要するにこのステップでは、バックグラウンドシステムは、その存在と、スケジュールされたタスクのフォルダ８２内で何等かの活動が発生したときにはいつでもメッセージを受信する要求とを、コンピュータのオペレーティングシステムに知らせる。それ自身を登録したら、バックグラウンドプロセスはフォルダ内のファイルを調べる。ステップ１００−１０４においては、そのプロセスは、タスクフォルダであるか、すなわち作用資源を有するかを判定するために、フォルダ内の各ファイルを見る。もしそうであれば、ステップ１０６において、メモリに不変（persistent）トリガ情報をロードするためにLOADサブルーチンを呼び出す。
LOADサブルーチンのステップは図１７の流れ図に示されている。ステップ１０８においては、プロセスは、ステップ１００−１０４で選択されたタスクファイルを開き、そのファイル中の作用資源からトリガインスタンスデータを読む（ステップ１１０）。このデータから、プロセスはトリガインスタンスのためのクラス名を獲得する（ステップ１１２）。この名前は、例えばスケジュールされた時刻に達したか、あるいはキーボードイベントに反応したか、あるいはファイルがオープンされたかといった、タスクに結び付いたタイプのトリガを識別するものである。ステップ１１４においては、プロセスは、このトリガクラスを生成するためのソフトウエアの構成要素が既にロードされているか判定する。ロードされていなければ、ステップ１１６及び１１７において、その構成要素が利用可能であるか判定され、利用可能であればステップ１１８でロードされる。その構成要素が利用可能でなければ、ステップ１２０でエラーメッセージが返される。
いったんソフトウエア構成要素がロードされたなら、あるいは既に存在していたなら、そのトリガクラスについてのトリガオブジェクトがステップ１２２で生成される。この時点において、新たに生成されたトリガオブジェクトは形式的には包括的である。そしてステップ１２４において、この特定のタスクに関するトリガインスタンスデータから情報が与えられる。例えば、トリガがスケジュールされた時刻に生じるものであれば、トリガインスタンスからの情報は、トリガのための特定の時刻と日付を指定する。この後、ステップ１２６において、トリガに発動準備させるべくトリガ手続きが呼び出される。そしてバックグラウンドプロセスは、トリガインスタンスリスト中のこの新しいトリガオブジェクトへの参照を付加する（ステップ１２８）。
ステップ１３０において１つのトリガインスタンスに関するこれらステップを実行した後、バックグラウンドプロセスは、さらにトリガインスタンスデータがタスクファイル中にあるか、例えばタスクファイルに１つ以上の作用資源が含まれているかを判定する。含まれていれば、ルーチンはステップ１１０に戻り、手続きはもうひとつのトリガオブジェクトの生成を繰り返す。いったんこのタスクのために要求されるすべてのトリガオブジェクトが生成されたなら、ファイルは閉じられ、プロセスはステップ１００に戻る（図１６）。この手続きは、フォルダ内の全ファイルが試され、要求されるトリガオブジェクトが生成されてしまうまで繰返される。
それからプロセスは主ルーチン（図１５）に戻り、ステップ１３２に進む。このステップでは、プロセスはイベントの待ち行列からイベントを検索する。例えば、イベントとしては、マウスのクリックや、キーストロークや、ネットワークサーバからのメッセージといったものが有り得る。いったんイベントが検索されると、そのイベントがファイルシステム通知イベントであるか判定される（ステップ１３４）。もしそうであれば、ステップ１３６で、イベントを処理するためにサブルーチンが呼ばれる。このサブルーチンは図１８に示されている。要するにこのサブルーチンは、イベントを、ファイルの削除や生成、あるいは移動に関連するものか判定するために調べる。もし関連するなら、そのタイプのイベントのためにふさわしい動作を行う。例えば、利用者が、図９の自動タスクウインドウ中の「削除」ボタン６８をクリックすると、選択されたタスクのためのタスクファイルがコンピュータメモリから削除される。イベントがこれら３種類のタイプの一つでないなら、そのタイプのイベントにふさわしい他の処理が適宜実行される。
もし待ち行列からのイベントがファイルシステム通知イベントでなければ、ステップ１３８（図１５）において、それが中止イベントであるか判定される。中止イベントであるなら、バックグラウンドプロセスはステップ１４０で中止される。もしイベントが何か他のタイプであるなら、ステップ１４２において適宜処理される。
検索されたイベントが処理されたなら、バックグラウンドプロセスはステップ１４４でアイドルルーチンを呼び出す。このルーチンは図１９Ａ及び図１９Ｂに示されている。これは、トリガ条件が存在するときに行うはずの動作を実行するだけでなく、各トリガインスタンスに必要な処理をなんでも実行する機会を順番に与えるよう働く。図１９Ａを参照すると、アイドルルーチンが呼び出されると、トリガオブジェクトが生成されたときにステップ１２８で更新されたトリガインスタンスリストを調べるステップ１４６に進む。トリガリスト中の各トリガインスタンスについては、このルーチンはステップ１４８でアイドル手続きを呼び出す。この手続きは図１９Ｂの流れ図に示されている。これを参照すると、ステップ１５０において、プロセスはトリガインスタンスが発動準備されているか、あるいは動作可能であるか判定する。もしそうであるなら、ステップ１５２において、発動条件が生じているか、例えば、特定の時刻が近づいたというトリガが通知されたか判定される。この条件は、例えばトリガインスタンスにより設定されるビット９０の状態をチェックすることで検出できる。トリガ条件が生じたなら、ステップ１５４でトリガは発動準備を解除され、トリガが発動してしまったことを示すために、ステップ１５６においてあるルーチンが呼び出される。トリガインスタンスが発動準備されていなければ、あるいは発動条件が生じていなければ、アイドルプロセスはステップ１５８に進む。そこではトリガインスタンスはトリガの発動に関係のない適当なアイドル処理が行われる。例えば、トリガインスタンスは利用者と対話（interaction）できるが、こういった対話はこのときに実行される。
ステップ１５６で呼び出される作動ルーチンは図２０で示されている。呼びだれると、そのルーチンは最初にタスクファイルに結び付いたプログラムが実行中であるか判定する（ステップ１６０）。例えば、タスクが１日のある時刻における株式相場を更新するものであるなら、株式監視プログラムが実行中であるか判定する。実行中でなければ、ステップ１６２でそれを起動する。それからプログラムはステップ１６４でタスクファイルを開くようにメッセージを送られる。そこでは、タスクを実行するために必要な情報を獲得できる。例えば、価格が更新されるべき特定の株式をこのファイル中で識別することができる。すなわちスクリプトファイルを実行できる。タスクが完了した後には、トリガインスタンスがステップ１６６で再度発動準備される。
バックグラウンドプロセスは、イベントを処理して各トリガインスタンスを空回りさせる、この要領で動作を続行する。そうすることで、各タスクのトリガ条件が生じたときに各タスクのインスタンスを生成（instantiate）する。
ここまでのところ、アクセスウインドウ（図２）上の「自動化せよ」ボタンを介して呼び出されるアシスタントの利用に関してタスクの生成を説明した。しかしながら、これはタスクを生成し得る手続きのみではない。本質的には、スクリプトファイル、エイリアス、バッチファイルなどといった実行可能なあらゆるオブジェクトがタスクの実体となり得る。このようなオブジェクトに関するタスクを生成するために、利用者はスケジュールされたタスクのフォルダ８２にオブジェクトをドラッグすることができる。このような動作が検出されると、バックグラウンドグラウンドプロセス８４は、利用者がタスクについてのトリガと通知の詳細指定とを設定する会見シーケンスの部分を呼び出すことができる。その結果、オブジェクトの実行が所望の時刻に行われる。
この概念の更なる延長として、作用の形式をファイル及び他のオブジェクトに与えるために、本発明の原理をそれらに適用することができる。例えば、ファイルに機密事項が含まれているならば、閲覧者にそれが機密であることを思い出させるために、ファイルが開かれるごとに警告が与えられることが望ましい。この目的を達成するために、ファイルはタグ等を備えていれば良く、それにより、ファイルがそのタグ等に結び付いたある作用をすることをオペレーティングシステムに示す。ファイルが開かれたときにはかならず、オペレーティングシステムは、そのファイルに結び付いたトリガインスタンスにそのことを知らせる。それに応えて、トリガインスタンスは実行されるべきタスクを発生させる。上述した例においては、それは警告メッセージの表示である。このような作用の他の例としては、特定のファイルが重複したり削除されたときに目で見えるあるいは耳で聞こえる警告メッセージを生成することや、あるいは、特定のファイルがアクセスされたときに、追跡に利用するため保安施設やシステムオペレータに内密の電子メールメッセージを送ることがある。
利用者にファイルの作用を通知するために、そのアイコンにインジケータを結び付けることができる。図２１を見ると、画像要素１７０と名前ラベル１７２とを含んだ典型的なファイルアイコンである。本発明に従って、利用者にそのファイルは作用と結び付いていることを知らせるために、インジケータ１７４をアイコンに沿って表示することができる。このインジケータはアイコン自身の一部を形成しているのではないが、アイコンとともに表示され、移動する。できれば、このインジケータは機能性を有しており、そのため利用者がその上をクリックしたなら、例えば、この動作でファイルに結び付いたすべての作用を表示するウインドウを開く。
他の特徴として、タスクファイル６６は、追加のカスタマイズのために、実行時に完了する特定のタスクを部分的に生成するために利用できる。例えば、利用者は、特定のグループの人達との会合をスケジュールするタスクを設定できる。けれども、会議の日付を指定する代わりに、会見シーケンスの一部として表示される、文を記載したフィールドに特殊なマーカやトークンを挿入してもよい。このタスクのタスクファイルは、利用者によって利用し易い、例えばデスクトップといった従来の位置に置かれる。要するに、このファイルは、指定されたジョブが実行されるべきときに完成されてサービス組織に発送される紙の作業伝票の要領で機能する。
タスクが実行されるべきとき、利用者は作業伝票ファイルを、例えばそれをダブルクリックすることで利用する。そうする代わりに、利用者はそのファイルをスケジュールされたタスクのフォルダにドラッグしても良い。これらのうちの動作の一つに応えて、タスクの詳細指定の遂行に必要な会見パネルが利用者に対して表示される。いったん必要な値が入力されてしまえばタスクは実行される。
前述したことより、本発明は、コンピュータの操作のしかたに関するのではなく、利用者を目的の達成に集中させる機構を提供する。この機能は、タスクを自動的に実行するコンピュータを利用者が極めて柔軟に構成できるシステムを通して提供されている。より詳しくは、タスクの要素のそれぞれ、すなわち遂行される動作，トリガ，通知形態は、オペレーティングシステムレベルの独立したオブジェクトの形式に属する。利用者は、自動タスクを生成するために、所望の動作を、利用可能なトリガ及び通知形態のどれとでも混ぜ合わせることができる。この構成は、以前に作られたどのタスクにも影響を及ぼさずに、新しい要素、例えば新しいトリガイベントをいつでも追加できるので、システムの拡張性に寄与している。
更に、タスクのスケジューリングは、実際に所望の動作を実行するアプリケーションプログラム及び他のオブジェクトで独立に行われる。その結果、インスタンス生成される（to be instantiated）タスクのためにプログラムを実行している必要はない。更に、このような目的のために特に設計されたこれらのプログラムだけでなく、むしろタスクの実体によりいかなる実行可能な動作も作り得る。
当業者ならば、本発明はその精神あるいは本質的な特徴から逸脱することなく他の形式として具体化できることが理解できるであろう。ここで開示した実施例はすべての点において例証であり、これに限定されることはない。本発明の範囲は、前述した明細書ではなく添付された特許請求の範囲により示されている。これに等価の意味及び範囲内の変更は、本発明に包含される。
【図１Ａ】
0004055911.tif 000002
【図１Ｂ】
0004055911.tif 000003
【図２】
0004055911.tif 000004
【図３Ａ】
0004055911.tif 000005
【図３Ｂ】
0004055911.tif 000006
【図３Ｃ】
0004055911.tif 000007
【図３Ｄ】
0004055911.tif 000008
【図４Ａ】
0004055911.tif 000009
【図４Ｂ】
0004055911.tif 000010
【図５Ａ】
0004055911.tif 000011
【図５Ｂ】
0004055911.tif 000012
【図６】
0004055911.tif 000013
【図７】
0004055911.tif 000014
【図８】
0004055911.tif 000015
【図９】
0004055911.tif 000016
【図１０】
0004055911.tif 000017
【図１１】
0004055911.tif 000018
【図１２】
0004055911.tif 000019
【図１３】
0004055911.tif 000020
【図１４】
0004055911.tif 000021
【図１５】
0004055911.tif 000022
【図１６】
0004055911.tif 000023
【図１７】
0004055911.tif 000024
【図１８】
0004055911.tif 000025
【図１９Ａ】
0004055911.tif 000026
【図１９Ｂ】
0004055911.tif 000027
【図２０】
0004055911.tif 000028
【図２１】
0004055911.tif 000029