(57)【要約】【課題】仮想的な作業空間上における作業結果および／または途中経過の内容を説明する資料の作成後に、当該仮想的な作業空間上の状態が変化した場合であっても、説明者がより適切に説明を行なうことが可能な情報処理装置、方法およびプログラムを提供する。【解決手段】ワークスペースに対して何らかの編集操作がなされた後、シナリオを再生する場合を考える。このとき、前回のシナリオ再生時に保存された当該時点におけるワークスペースの状態を示すＷＳ情報（写）３５０と、現時点におけるワークスペースの状態を示すＷＳ情報３００Ａとが比較される。そして、両者の内容が不一致となった場合には、ワークスペースの状態が前回のシナリオ再生時から変更されたことおよび／またはその変更の内容がユーザに通知される。【選択図】図３５
2010287158.tif 000002
【特許請求の範囲】
【請求項１】
仮想的な作業空間を提供する情報処理装置であって、
前記作業空間と前記作業空間に含まれるオブジェクトとを定義する第１情報を管理するための第１管理手段と、
前記第１情報に基づいて、前記仮想作業空間の一部または全部の内容を表示するための第１表示手段と、
前記仮想作業空間に含まれる特定のオブジェクトを指定する第２情報を管理するための第２管理手段と、
前記第１情報を参照することで、前記第２情報において指定される前記特定のオブジェクトを表示するための第２表示手段と、
前記第２表示手段によって前記特定のオブジェクトが表示されるときの、前記第１情報における定義内容の少なくとも一部を記憶する記憶手段と、
前記特定のオブジェクトの前回表示時に記憶された前記第１情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第１情報における定義内容の少なくとも一部とを比較することで、今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断する判断手段とを備える、情報処理装置。
【請求項２】
前記判断手段によって今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたと判断されたときに、変更点の数および変更内容の少なくとも一方を通知するための通知手段をさらに備える、請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段は、前記第１情報における定義内容の全体を記憶し、
前記判断手段は、
前記特定のオブジェクトの前回表示時に記憶された前記第１情報における定義内容と、前記特定のオブジェクトの今回表示時における前記第１情報における定義内容との間の相違点を抽出するための手段と、
当該抽出された定義内容の相違点のうち、前記第２情報において指定される前記特定のオブジェクトに関する相違点を抽出するための手段とを含む、請求項１または２に記載の情報処理装置。
【請求項４】
前記判断手段は、
前記第２情報において指定される特定のオブジェクトのうち、前回の表示内容からの変更の有無を判断すべき対象のオブジェクトの設定を受付ける手段と、
前記特定のオブジェクトの前回表示時に記憶された前記第１情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第１情報における定義内容の少なくとも一部との間の相違点のうち、前記対象のオブジェクトとして設定されたオブジェクトに関する相違点を抽出するための手段とを含む、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記記憶手段は、前記第１情報に定義されたファイルのある状態を示す固有値を記憶する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
ユーザ操作に応答して、当該時点の前記第１情報における定義内容を含む第３情報を生成するための生成手段と、
前記第３情報を参照することで、前記第２情報において指定される前記特定のオブジェクトを、前記第１情報の定義内容とは独立して表示する第３表示手段とをさらに備える、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１情報を前記第３情報の内容に更新するための更新手段をさらに備え、
前記第１表示手段は、前記第２情報において指定される前記特定のオブジェクトを、前記第３情報が生成された時点の状態で表示する、請求項６に記載の情報処理装置。
【請求項８】
情報処理装置を用いて仮想的な作業空間を提供する方法であって、前記情報処理装置が以下のステップを実行し、前記以下のステップは、
前記作業空間と前記作業空間に含まれるオブジェクトとを定義する第１情報を管理するステップと、
前記第１情報に基づいて、前記仮想作業空間の一部または全部の内容を表示するステップと、
前記仮想作業空間に含まれる特定のオブジェクトを指定する第２情報を管理するステップと、
前記第１情報を参照することで、前記第２情報において指定される前記特定のオブジェクトを表示するステップと、
前記特定のオブジェクトが表示されるときの、前記第１情報における定義内容の少なくとも一部を記憶するステップと、
前記特定のオブジェクトの前回表示時に記憶された前記第１情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第１情報における定義内容の少なくとも一部とを比較することで、今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを備える、方法。
【請求項９】
コンピュータを仮想的な作業空間を提供する情報処理装置として機能させるプログラムであって、前記プログラムは、前記コンピュータに、
前記作業空間と前記作業空間に含まれるオブジェクトとを定義する第１情報を管理するステップと、
前記第１情報に基づいて、前記仮想作業空間の一部または全部の内容を表示するステップと、
前記仮想作業空間に含まれる特定のオブジェクトを指定する第２情報を管理するステップと、
前記第１情報を参照することで、前記第２情報において指定される前記特定のオブジェクトを表示するステップと、
前記特定のオブジェクトが表示されるときの、前記第１情報における定義内容の少なくとも一部を記憶するステップと、
前記特定のオブジェクトの前回表示時に記憶された前記第１情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第１情報における定義内容の少なくとも一部とを比較することで、今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、仮想的な作業空間を提供するための情報処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、知的創造作業を支援するための仮想的な作業空間（以下、「ワークスペース」とも称す。）が提案されている（例えば、特開平１０−０５１５８１号公報（特許文献１）や特開平１０−１２６７５８号公報（特許文献２）など）。
【０００３】
このワークスペースとは、いわば仮想的なホワイトボードのように使用可能な作業空間であり、ユーザは、この作業空間上において、手書き文字、画像、写真などの題材（以下、「オブジェクト」とも称す。）をインタラクティブに入力したり操作したりすることができる。ワークスペースを用いることで、個人またはグループでの知的創造作業（考えを練ったり、他メンバーとコミュニケーションをとったりする）が促進される。
【０００４】
このようなワークスペースでは、物理的なホワイトボードやメモ帳などとは異なり、実際にユーザが閲覧する範囲より広い範囲の作業空間を仮想的に提供することができる。なお、ユーザが閲覧する範囲は、必要に応じて自在に拡大もしくは縮小できるので、狭い領域に対しても書込みなどを行なうことができる。そのため、広大な範囲の作業空間であっても、ユーザはストレス無く作業を行なうことができる。
【０００５】
このようなワークスペースを用いた知的創造作業の具体的なシーンとしては、ユーザが発想した題材を次々にオブジェクトとして入力し、これらの入力された多数のオブジェクトを分類（カテゴライズ）したり、互いに関連付けたりすることで、情報の整理を行ない新たな発想に繋げるという場合などが考えられる（典型的には、ＫＪ法）。
【０００６】
このような知的創造作業の過程においては、各ユーザは、ワークスペースをノートのように使用して、その上に様々な場所に種々のオブジェクトが配置しながら、考えを練り上げることが想定される。そのため、このような知的創造作業（発想作業）が完了した時点では、当該作業における結論となり得るオブジェクト（記述された内容）以外にも、様々な中間的なオブジェクトがワークスペース上に残ったままとなっている場合もある。このようなワークスペース上の中間的なオブジェクトによって、ユーザは、どの場所にどのようなオブジェクトをどのようなタイミングでどのユーザが配置したかといった知的創造作業の経緯を思い出しやすいため、その全体や個々の情報をより詳細に記憶することができる。
【０００７】
すなわち、知的創造作業を行なったユーザ自身にとってみれば、作業結果を整理し直すより、ワークスペースがそのままの表示状態で残されることで、ビジュアル的なイメージを維持する方が記憶に残りやすく、かつ再利用もしやすい。
【０００８】
一方、このような知的創造作業では、情報収集、情報整理、発想、情報収集、情報整理、発想・・・といった複数のフェーズからなるサイクルを何度も繰返すことでより創造性の高いアウトプットが得られることが多い。例えば、情報を整理した作業結果を他人に説明して意見をもらい、そこでもらったアイデアをもとに、情報整理をし直すといった場合などである。また、自身のアイデアをメンバー間で整理しながらブラッシュアップするという場合もある。このとき、あるユーザ個人の作業結果をそのままの状態で他人（典型的には、アドバイザーやオブザーバ）に見せても、当該他人はそもそも知的創造作業の途中経過を知らないためビジュアル的に具体的なイメージを得ることは難しい。むしろ、ワークスペース上の情報をある程度整理して他人に見せた方が知的創造作業の全体像を理解し易くなり好ましい。また、知的創造作業を行なったユーザ自身にとってみても、ビジュアル的なイメージに加えて論理的な説明も併せて結果として残すことは、より理解を高める意味で効果的である。
【０００９】
このようなあるユーザが自身の作業結果および／または途中経過を他人に説明する場合を考えると、知的創造作業を行なったユーザ自身が作業しやすい（あるいは、記憶に残りやすい）態様と他のユーザが理解しやすい態様とは一般的に異なる。そのため、あるユーザが自身の作業結果および／または途中経過を他人に説明する場合、説明用のドキュメントなどを新たに作成する必要がある。例えば、ワークスペースの全体や一部をコピーして、説明用の文書に貼り付けたり、知的創造作業の流れがわかるように順序や説明記述を追加したりするといった追加の作業が発生する。このように、説明用のドキュメントを別途作り直すのは作業負担が大きく、本来の目的である知的創造に費やす時間や労力を無駄に消費する。
【００１０】
一方、ワークスペース上から不要なオブジェクトを削除した上で説明を行なう場合には、他人への説明中に、関連情報を見たくなった場合や、元の作業結果を修正したくなった場合に適切に対応できない。説明用のドキュメントとは独立して作業結果を別途残している場合であっても、説明中に思い付いた修正対象箇所を、別途残しておいた作業結果から都度探し出す必要がある。そのため、他人への説明時に判明した必要性を適宜反映することと、他人へのスムーズな説明とを両立させることは難しかった。
【００１１】
このような課題の解決手段として、ユーザが実際に作業を行なうワークスペースとは独立して、主としてプレゼンテーションを行なうための「シナリオ」機能を付加することが考えられる。このシナリオ機能は、ワークスペース上のいずれのオブジェクトをいずれの順序で表示するかといった情報（シナリオ情報）を、ワークスペースを定義するための情報とは別途保持しておき、再生時には、このシナリオ情報に基づいて、プレゼンテーションを行なう。これにより、ワークスペース上の作業状態をそのままの状態で保持できる一方で、このワークスペースを定義するための情報をそのまま利用して（別途、説明用の文書を作成する必要がなく）、目的とするオブジェクトに絞って適切な順序・表現方法でプレゼンテーションを行なうことができる。さらに、作業中のワークスペースを定義するための情報そのものを利用して表示などを行なうため、説明中に（当初説明対象としたオブジェクト以外の）別のオブジェクトを参照する必要が生じたり、ワークスペースを定義するための情報を説明中に修正（ブラッシュアップ）したりすることができる。このようなシナリオは、独立して複数作成することができ、説明相手毎にそれぞれ適したものを設定することができる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平１０−０５１５８１号公報
【特許文献２】特開平１０−１２６７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
ところで、上述のようなプレゼンテーションは、予めシナリオを作成した上で行われる。すなわち、シナリオを用いた説明は、当該シナリオの作成時から時間が経過してから行われることがしばしば生じる。そのため、ワークスペース上の状態が変更されている場合には、シナリオ作成者の意図とは異なった内容のシナリオが再生されてしまうことが予想される。
【００１４】
このようにワークスペース上の状態が変更されてしまう原因としては、典型的には、以下のような形態が想定される
複数のメンバーで構成されるグループで知的創造作業を行なう場合において、上述のような説明は、当該グループのあるメンバーがグループ外の第三者に向けられることが多いが、このような説明が行なわれるまでに、説明を行なうメンバー以外の他のメンバーが作業を継続している可能性がある。
【００１５】
また、同一のワークスペース上のオブジェクト（題材）を用いて別々に説明がなされるような場合において、先に行われた説明に基づいてワークスペースに対して変更がなされることがあり、このような場合には、後に行われる説明に影響を与え得る。特に、同一グループ内の複数のメンバーがそれぞれ別に説明を行なう場合には、先の説明者によってなされた変更が後の説明者にまで伝えられていないようなことも多いと考えられ、このような状況において後の説明者が困ることが想定される。
【００１６】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、仮想的な作業空間上における作業結果および／または途中経過の内容を説明する資料の作成後に、当該仮想的な作業空間上の状態が変化した場合であっても、説明者がより適切に説明を行なうことが可能な情報処理装置、方法およびプログラムを提供することである。
【課題を解決するための手段】
【００１７】
この発明のある局面に従う仮想的な作業空間を提供する情報処理装置は、作業空間と作業空間に含まれるオブジェクトとを定義する第１情報を管理するための第１管理手段と、第１情報に基づいて、仮想作業空間の一部または全部の内容を表示するための第１表示手段と、仮想作業空間に含まれる特定のオブジェクトを指定する第２情報を管理するための第２管理手段と、第１情報を参照することで、第２情報において指定される特定のオブジェクトを表示するための第２表示手段と、第２表示手段によって特定のオブジェクトが表示されるときの、第１情報における定義内容の少なくとも一部を記憶する記憶手段と、特定のオブジェクトの前回表示時に記憶された第１情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第１情報における定義内容の少なくとも一部とを比較することで、今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断する判断手段とを含む。
【００１８】
好ましくは、判断手段によって今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたと判断されたときに、変更点の数および変更内容の少なくとも一方を通知するための通知手段をさらに含む。
【００１９】
好ましくは、記憶手段は、第１情報における定義内容の全体を記憶し、判断手段は、特定のオブジェクトの前回表示時に記憶された第１情報における定義内容と、特定のオブジェクトの今回表示時における第１情報における定義内容との間の相違点を抽出するための手段と、当該抽出された定義内容の相違点のうち、第２情報において指定される特定のオブジェクトに関する相違点を抽出するための手段とを含む。
【００２０】
好ましくは、判断手段は、第２情報において指定される特定のオブジェクトのうち、前回の表示内容からの変更の有無を判断すべき対象のオブジェクトの設定を受付ける手段と、特定のオブジェクトの前回表示時に記憶された第１情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第１情報における定義内容の少なくとも一部との間の相違点のうち、対象のオブジェクトとして設定されたオブジェクトに関する相違点を抽出するための手段とを含む。
【００２１】
好ましくは、記憶手段は、第１情報に定義されたファイルのある状態を示す固有値を記憶する。
【００２２】
好ましくは、本情報処理装置は、ユーザ操作に応答して、当該時点の第１情報における定義内容を含む第３情報を生成するための生成手段と、第３情報を参照することで、第２情報において指定される特定のオブジェクトを、第１情報の定義内容とは独立して表示する第３表示手段とをさらに含む。
【００２３】
さらに好ましくは、本情報処理装置は、第１情報を第３情報の内容に更新するための更新手段をさらに含み。第１表示手段は、第２情報において指定される特定のオブジェクトを、第３情報が生成された時点の状態で表示する。
【００２４】
この発明の別の局面に従う情報処理装置を用いて仮想的な作業空間を提供する方法は、情報処理装置が以下のステップを実行する。当該以下のステップは、作業空間と作業空間に含まれるオブジェクトとを定義する第１情報を管理するステップと、第１情報に基づいて、仮想作業空間の一部または全部の内容を表示するステップと、仮想作業空間に含まれる特定のオブジェクトを指定する第２情報を管理するステップと、第１情報を参照することで、第２情報において指定される特定のオブジェクトを表示するステップと、特定のオブジェクトが表示されるときの、第１情報における定義内容の少なくとも一部を記憶するステップと、特定のオブジェクトの前回表示時に記憶された第１情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第１情報における定義内容の少なくとも一部とを比較することで、今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを含む。
【００２５】
この発明のさらに別の局面に従えば、コンピュータを仮想的な作業空間を提供する情報処理装置として機能させるプログラムを提供する。本プログラムは、コンピュータに、作業空間と作業空間に含まれるオブジェクトとを定義する第１情報を管理するステップと、第１情報に基づいて、仮想作業空間の一部または全部の内容を表示するステップと、仮想作業空間に含まれる特定のオブジェクトを指定する第２情報を管理するステップと、第１情報を参照することで、第２情報において指定される特定のオブジェクトを表示するステップと、特定のオブジェクトが表示されるときの、第１情報における定義内容の少なくとも一部を記憶するステップと、特定のオブジェクトの前回表示時に記憶された第１情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第１情報における定義内容の少なくとも一部とを比較することで、今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを実行させる。
【発明の効果】
【００２６】
この発明によれば、仮想的な作業空間上における作業結果および／または途中経過の内容を説明する資料の作成後に、当該仮想的な作業空間上の状態が変化した場合であっても、説明者がより適切に説明を行なうことができる。
【図面の簡単な説明】
【００２７】
【図１】この発明の実施の形態に従うワークスペースを提供するための情報処理システムの概略構成図である。
【図２】この発明の実施の形態に従う情報処理装置の概略のハードウェア構成を示す模式図である。
【図３】この発明の実施の形態に従うワークスペースの一例を模式的に示す図である。
【図４】図３に示すワークスペースに対応するワークスペース（ＷＳ）情報の内容の一例を示す図である。
【図５】この発明の実施の形態に従うワークスペースにおける初期操作を説明するための図である。
【図６】この発明の実施の形態に従うワークスペースのユーザインターフェイスの一例を示す図である。
【図７】この発明の実施の形態に従うワークスペースにおける編集操作を説明するための図である。
【図８】図７に示す編集操作に対応するワークスペース（ＷＳ）情報の内容の一例を示す図である。
【図９】この発明の実施の形態に従うワークスペースにおけるオブジェクトの選択操作の別形態を示す図である。
【図１０】この発明の実施の形態に従うワークスペースにおける編集前のあるオブジェクトの状態の一例を示す図である。
【図１１】この発明の実施の形態に従うワークスペースにおける編集操作（サイズ変更）を説明するための図である。
【図１２】この発明の実施の形態に従うワークスペースにおける編集操作（色変更）を説明するための図である。
【図１３】この発明の実施の形態に従うワークスペースにおける編集操作（属性変更）を説明するための図である。
【図１４】この発明の実施の形態に従うワークスペースにおける編集操作（付与属性表示）を説明するための図である。
【図１５】この発明の実施の形態に従うワークスペースにおける編集操作（表示装飾変更）を説明するための図である。
【図１６】この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。
【図１７】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図（その１）である。
【図１８】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図（その２）である。
【図１９】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図（その３）である。
【図２０】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図（その４）である。
【図２１】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図（その５）である。
【図２２】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図（その６）である。
【図２３】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図（その７）である。
【図２４】図１７〜図２３に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図（その１）である。
【図２５】図１７〜図２３に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図（その２）である。
【図２６】図１７〜図２３に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図（その３）である。
【図２７】図１７〜図２３に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図（その４）である。
【図２８】図１７〜図２３に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図（その５）である。
【図２９】図１７〜図２３に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図（その６）である。
【図３０】この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。
【図３１】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図（その１）である。
【図３２】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図（その２）である。
【図３３】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図（その３）である。
【図３４】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図（その４）である。
【図３５】この発明の実施の形態に従うシナリオ変更点検出機能の処理を説明するための図である。
【図３６】図３５に示すシナリオ情報およびＷＳ情報の内容の一例を示す図である。
【図３７】この発明の実施の形態に従うシナリオ変更点の通知機能の表示例を示す図である。
【図３８】この発明の実施の形態に従うシナリオ変更点の通知機能の別の表示例を示す図である。
【図３９】この発明の実施の形態に従うシナリオ変更点の通知機能の別の表示例を示す図である。
【図４０】この発明の実施の形態に従うワークスペースにおけるデータ構造の発展例を示す図である。
【図４１】この発明の実施の形態に従う処理装置ＰＣで実現される制御構造を示す概略図である。
【図４２】この発明の実施の形態に従うワークスペースの提供に係る処理手順を示すフローチャート（その１）である。
【図４３】この発明の実施の形態に従うワークスペースの提供に係る処理手順を示すフローチャート（その２）である。
【図４４】この発明の実施の形態の第１変形例に従うＷＳ情報３００の内容の一例を示す図である。
【図４５】この発明の実施の形態の第１変形例に従うシナリオ変更点検出機能の処理を説明するための図である。
【図４６】図４５に示す外部ファイル情報６００の内容の一例を示す図である。
【図４７】この発明の実施の形態の第２変形例に従うシナリオ再生時の操作を説明するための図である。
【図４８】図４７に示す操作によって生成されるＷＳ情報（写）３５０の内容の一例を示す図である。
【図４９】この発明の実施の形態の第３変形例に従うシナリオ情報および関連するファイルの状態を説明するための図である。
【図５０】この発明の実施の形態の第３変形例に従うＷＳ情報３００＃の内容の一例を示す図である。
【図５１】この発明の実施の形態の第３変形例に従うシナリオ巻き戻し処理を説明するための図である。
【図５２】この発明の実施の形態の第４変形例に従うオブジェクトの削除に対する警告処理を説明するための図である。
【図５３】この発明の実施の形態の第４変形例に従うオブジェクトの削除に対する警告処理の表示例を示す図である。
【図５４】この発明の実施の形態の第４変形例に従うシナリオの復元処理を説明するための図である。
【発明を実施するための形態】
【００２８】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２９】
＜用語＞
本明細書において「ワークスペース」とは、視認可能なオブジェクトを追加したり、編集したりすることができる情報処理装置上で提供される仮想的な作業空間を意味する。このようなワークスペースにより、ユーザが情報を整理したり、他ユーザとの間で情報を共有したりすることができる。このワークスペースを提供する形態（デバイス）としては、プログラム（アブリケーション）を実行する情報処理装置、予めその機能が組み込まれた電子ホワイトボード、および携帯電話やタブレットＰＣ等が考えられる。
【００３０】
本明細書において「オブジェクト」とは、ワークスペース上に追加され得るデータ全般を意味する。このオブジェクトがユーザの操作対象単位となる。このオブジェクトの一例としては、図形、テキストドキュメント、ワークシートのセル、画像、音声、ログ、タグ、しおり、注釈、ユーザ情報などが挙げられる。
【００３１】
本明細書において「ビュー」または「ビュー表示」とは、ワークスペース上に仮想的に配置されるオブジェクトを視覚化（または、可視化）する処理またはその処理結果を意味する。すなわち、「ビュー」または「ビュー表示」は、ワークスペース上のオブジェクトをレンダリング（描画）することで得られる。ワークスペース上で作業するユーザを支援するために、このビュー表示の内容は、原則としてリアルタイムで更新される。なお、このようなビューを表示するための処理においては、表示倍率、表示位置、オブジェクトの表示タイプ（例えば、ワークスペース上に挿入された外部リングのオブジェクトを示すアイコンを、小サイズおよび大サイズのいずれで表示するか等）、付与情報の表示有無（例えば、表示対象のオブジェクトに関連して各オブジェクトを入力したユーザの名前などを表示するか否か等）、表示属性の選択や有効／無効切り替え、といった各種のパラメータを設定することができる。
【００３２】
本明細書において「シナリオ」または「シナリオ表示」とは、ワークスペース上における作業結果および／または途中経過の内容を説明するための表現形態を意味する。後述するように、本実施の形態においては、「シナリオ」は、ワークスペース上のオブジェクトを参照（リンク）としてページ単位に区切られて記述されたものが、１つ以上集まったものである。なお、複数のページを含むシナリオでは、その表現順序が予め定められている。このページ単位で記述された各々を、全体を示す「シナリオ」との対比で、「シナリオページ」とも称す。すなわち、「シナリオ」は、１つ以上の順序付けされた表示単位である「シナリオページ」を含む。言い換えれば、「シナリオ」では、その中に含まれる１つ以上の「シナリオページ」が予め設定された順序で切り替え表示される。このように、本実施の形態に従う「シナリオ」を用いることで、対象のワークスペースにおける作業内容を知らない人に対して、有効なプレゼンテーション等を行なうことができる。
【００３３】
＜概要＞
本実施の形態に従うワークスペースでは、ユーザが実際に作業を行なう仮想空間とは独立して、主としてプレゼンテーションを行なうための「シナリオ」の作成および再生を行なうことができる。このシナリオは、ワークスペース上のオブジェクトに関連付けられているが、ワークスペースとは独立して提供される。そのため、ユーザは、ワークスペース上の作業結果を維持したまま、作業内容を知らない人に対して、有効なプレゼンテーション等を行なうことができる。
【００３４】
さらに、このシナリオ再生中において、ユーザがシナリオ中のオブジェクトに対して何らかの編集操作を行なった場合には、その編集操作の内容を元のワークスペース上のオブジェクトに反映させることもできる。
【００３５】
特に、本実施の形態に従うワークスペースでは、あるタイミングで再生されたシナリオと、その後に再生されたシナリオとの表示内容の変更点の有無を判断する。すなわち、本実施の形態に従うシナリオ再生によって表示される内容は、当該再生時のワークスペースの状態を反映している。そのため、前回のシナリオ再生時から今回のシナリオ再生時までの間にワークスペース上のオブジェクトなどに何らかの変更操作がなされた場合には、再生タイミングによって、その表示内容がシナリオ作成者の意図とは異なった内容に変わる場合もあるため。そこで、このような事態をシナリオ作成者（または、シナリオ再生を指示したユーザ）に対して知らせることで、適切な処置を促すことができる。
【００３６】
＜全体構成＞
図１は、この発明の実施の形態に従うワークスペースを提供するための情報処理システムの概略構成図である。
【００３７】
図１を参照して、本実施の形態に従う情報処理システムは、ネットワークＮＷを介して互いにデータ通信可能に接続された複数の情報処理装置ＰＣ１〜ＰＣＮ（以下、単に「処理装置ＰＣ」とも総称する。）とサーバ装置ＳＲＶとを含む。すなわち、図１には、いわゆるサーバ・クライエント構成の情報処理システムを例示する。あるいは、いわゆるピア・トゥ・ピア構成を採用することもできる。
【００３８】
なお、本発明に係る情報処理装置および情報処理システムは、単独の処理装置ＰＣとしても実現／提供されるため、必ずしも図１に示すような複数の処理装置ＰＣおよびサーバ装置ＳＲＶが必要ではないが、複数のユーザからなるグループによる共同作業を提供する場合には、図１に示すような情報処理システムが好適である。
【００３９】
典型的に、図１に示す情報処理システムにおいては、各処理装置ＰＣは、サーバ装置ＳＲＶを介して、ワークスペースを提供するための情報（後述する、ワークスペース（ＷＳ）情報）を共有することで、各処理装置ＰＣを利用するユーザにワークスペースを同期して提供できる。すなわち、いずれかの処理装置ＰＣ上のユーザがワークスペース上に何らかのオブジェクトを追加すると、当該追加されたオブジェクトが他の処理装置ＰＣ上に表示されるワークスペースにも反映される。このようにして、ユーザ間で情報の共有化が図られる。
【００４０】
なお、上述したように、単独の処理装置ＰＣを用いて具現化するような場合には、当該処理装置ＰＣにワークスペース情報が格納されてもよい。
【００４１】
サーバ装置ＳＲＶは、主として、処理装置ＰＣ１〜ＰＣＮの間でのデータ共有を制御する。
【００４２】
＜ハードウェア構成＞
図２は、この発明の実施の形態に従う情報処理装置の概略のハードウェア構成を示す模式図である。
【００４３】
図２を参照して、本実施の形態に従う情報処理装置の典型例である処理装置ＰＣは、オペレーティングシステムを含む各種プログラムを実行するＣＰＵ（Central Processing Unit）２と、ＣＰＵ２でのプログラムの実行に必要なデータを一時的に記憶する記憶部としてのメモリ１４と、ＣＰＵ２で実行されるプログラムを不揮発的に記憶するハードディスク（ＨＤＤ）１２とを含む。このようなプログラムは、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）ドライブ１６またはフレキシブルディスク（ＦＤ：Flexible Disk）ドライブ１８によって、それぞれＣＤ−ＲＯＭ１６ａまたはフレキシブルディスク１８ａなどから読取られる。
【００４４】
ＣＰＵ２は、キーボード、マウス、タブレットなどからなる入力装置１０を介してユーザによる操作要求を受取るとともに、プログラムの実行によって生成される画面出力を出力装置６へ出力する。
【００４５】
出力装置６は、対象のワークスペースに係るビューやシナリオをユーザに表示するためのデバイスであり、典型的には、モニターやプロジェクターなどからなる。
【００４６】
また、ＣＰＵ２は、ＬＡＮカードなどからなる通信インターフェイス８を介して、他の処理装置ＰＣやサーバ装置ＳＲＶとの間でデータ通信を行なう。なお、これらの部位は、内部バス４を介して互いに接続される。
【００４７】
また、本実施の形態に従うサーバ装置ＳＲＶについても情報処理装置であり、そのハードウェア構成についても、図２に示す処理装置ＰＣのハードウェア構成と同様であるので、詳細な説明は繰返さない。
【００４８】
＜ワークスペースの概要＞
次に、図３〜図６を参照して、本実施の形態に従うワークスペースの操作例について説明する。
【００４９】
図３は、この発明の実施の形態に従うワークスペースの一例を模式的に示す図である。図４は、図３に示すワークスペースに対応するワークスペース（ＷＳ）情報３００の内容の一例を示す図である。
【００５０】
本実施の形態に従うワークスペース上には、各種のオブジェクトを追加したり、追加したオブジェクトに対して編集や削除したりすることができる。図３には、一例として、オブジェクトＯＢＪ１〜ＯＢＪ９が作成済であるワークスペースのある状態が示されている。図３において、オブジェクトＯＢＪ１は「画像オブジェクト」であり、オブジェクトＯＢＪ２，ＯＢＪ４〜ＯＢＪ９は「テキストオブジェクト」であり、オブジェクトＯＢＪ３は「線オブジェクト」である。このように、オブジェクトの種類としては、電子的に取扱えるデータであれば特に限定されることはないが、一例として、画像や文書といった外部ファイル以外に、図形や線といったベクトルデータ、手書きによる自由入力などを受付可能である。
【００５１】
なお、図３に示すワークスペースは、概念的に表現されたものであり、実際には、ユーザ操作に応じた範囲の領域（図３には、ビュー範囲ＶＩＥＷ１およびＶＩＥＷ２を一例として示す）に含まれる内容が各処理装置ＰＣ上にビュー表示（レンダリング）される。すなわち、ワークスペースの一部または全部の内容がユーザに向けて表示される。
【００５２】
これらのオブジェクトＯＢＪ１〜ＯＢＪ９およびビュー範囲は、図４に示すようなＷＳ情報３００として定義される。本実施の形態に従うワークスペースおよびワークスペースに含まれる各オブジェクトを定義するためのＷＳ情報３００は、代表的に、ＸＭＬなどのマークアップ言語で記述される。このようなマークアップ言語を採用することで、タグ（<>と</>とで囲まれる文字に与える属性）を自在に設定することができるため、システムの拡張性を高めることができる。
【００５３】
図４を参照して、ＷＳ情報３００は、ワークスペースを特定するためのワークスペースタグ３０２と、ビュー表示を特定するための記述３０４と、オブジェクトＯＢＪ１〜ＯＢＪ５をそれぞれ定義する記述３１１〜３１５とを含む。
【００５４】
ワークスペースタグ３０２には、典型的に、ワークスペースの識別番号（space id）、および当該ワークスペースの作成者（Author）などの情報が格納される。なお、ワークスペースタグ３０２には、文字エンコーディング属性などを含めてもよい。
【００５５】
記述３０４には、ビュー表示を特定するための情報が格納される。より具体的には、<object>タグおよび</object>タグ、ならびに<point x= y= />タグによって、ビュー範囲の中心座標が指定される。また、<zoom_scale>タグおよび</zoom_scale>タグによって、表示倍率（デフォルトの表示サイズに対する拡大／縮小サイズの比）が指定される。
【００５６】
各オブジェクトは、<object>タグで始まり、</object>タグで終了する記述によって定義される。これらの記述３１１〜３１５の各々には、各オブジェクトの識別番号（object id）、各オブジェクトの種類に応じた属性（image：画像オブジェクト、text：テキストオブジェクト、line：線オブジェクトなど）、各オブジェクトまたは各オブジェクトを構成する要素についてのワークスペース上の座標位置（x= ,y= ）、外部ファイルのリンクアドレス（src）、拡大縮小率（scale）などが含まれる。すなわち、記述３１１〜３１５の各々には、オブジェクトに対応付けられた識別情報、およびオブジェクトの実体が定義される。
【００５７】
より具体的には、<object id>タグには、各オブジェクトを一意に特定する識別番号が定義される。また、<point>タグには、各オブジェクトまたは各オブジェクトを構成する要素についてのワークスペース上の座標位置が定義される。<src>タグには、関連付けされた外部ファイルのリンクアドレスが定義される。
【００５８】
例えば、オブジェクトＯＢＪ１に対応する記述３１１には、<object id>タグにおいて、識別番号が「１」であることが定義され、<image>タグにおいて、イメージオブジェクトであることが定義される。さらに、<image>タグ内の属性において、x='60' y='180'の位置に配置されることが定義され、<src>タグにおいて、外部ファイルを特定する「fuji.jpg」が定義され、<scale>タグにおいて、オブジェクトＯＢＪ１の表示倍率が「０．２５」倍であることが定義される。
【００５９】
なお、画像オブジェクトなどについては、ＷＳ情報３００内の記述とは別に外部ファイル（参照先のファイル）が用意されている。このような画像オブジェクトについては、ワークスペース上で、その内容を参照したり表示したりすることが可能である。
【００６０】
なお、図４では、１つのＷＳ情報３００を用いて、ワークスペースを構成する例について例示したが、複数のファイルを用いて同等の情報を定義してもよい。例えば、各オブジェクトが定義されたファイルを、リレーショナルデータベースなどを用いて互いに関連付けた構成などを採用することができる。すなわち、オブジェクト単位で取扱えるデータ構造であれば、図４に示すデータ構造に限られず、任意のデータ構造を採用することができる。このＷＳ情報３００の内容に基づいて、ワークスペースの描画処理や外部出力が行われる。
【００６１】
また、図４に示す記述３０４の内容は、ある処理装置ＰＣ上でユーザが拡大縮小やスクロール等のビュー範囲に対する変更を操作することで随時更新される。
【００６２】
さらに、処理装置ＰＣ上でユーザが操作を行なうことで、ワークスペースの新規作成、作成したワークスペースの書き出し、既作成のワークスペースの読み込みなどが可能である。
【００６３】
図５は、この発明の実施の形態に従うワークスペースにおける初期操作を説明するための図である。図５を参照して、典型的な操作例として、処理装置ＰＣの出力装置６には、初期的に、本実施の形態に従うワークスペースを提供するビュー表示ウィンドウ１５０が表示される。このビュー表示ウィンドウ１５０には、ワークスペースの内容を表示するための領域１５８に加えて、その上部には、「ファイル」ボタン１５２、「操作」ボタン１５４、「表示」ボタン１５６が表示される。ユーザが、この「ファイル」ボタン１５２をマウスなどによって選択すると、ＷＳ情報に対する操作を行なうためのダイアログ１５２ａが表示される。このダイアログ１５２ａのうち、「新規ＷＳを開く」が選択されると、新たなワークスペースが作成される。また、「ＷＳを保存する」が選択されると、現在作成中のワークスペースがＷＳ情報として保存される。さらに、「ＷＳを開く」が選択されると、保存されている既作成のＷＳ情報を選択的に読み込んで、ワークスペースを表示する。
【００６４】
図６は、この発明の実施の形態に従うワークスペースのユーザインターフェイスの一例を示す図である。図６を参照して、処理装置ＰＣの出力装置６にワークスペースが表示されると、ビュー表示ウィンドウ１５０に加えて、ワークスペース上におけるビュー範囲の位置を示す位置表示ウィンドウ１４０が表示される。この位置表示ウィンドウ１４０には、ワークスペース全体とビュー範囲ＶＩＥＷとの相対的な位置関係が模式的に示される。ユーザが位置表示ウィンドウ１４０上のビュー範囲ＶＩＥＷをマウスなどによって移動もしくは変形（リサイズ）すると、それに応じて、ビュー表示ウィンドウ１５０の領域１５８内での表示対象となるワークスペースの範囲も変更される。
【００６５】
図６（ａ）は、図３に示すビュー範囲ＶＩＥＷ１が設定されている場合の表示例を示し、図６（ｂ）は、図３に示すビュー範囲ＶＩＥＷ２が設定されている場合の表示例を示す。図６（ａ）と図６（ｂ）とを比較すると、ビュー表示ウィンドウ１５０の領域１５８は同一サイズであるので、ワークスペース上に設定されるビュー範囲を小さく（狭く）するほど、ワークスペースの内容が拡大表示されることになる。したがって、例えば、ワークスペースの全体を概観したい場合などには、より広い範囲をビュー範囲として設定し、反対に、特定のオブジェクトに着目したい場合などには、より狭い範囲をビュー範囲として設定することになる。
【００６６】
＜ワークスペースにおける編集機能＞
図７は、この発明の実施の形態に従うワークスペースにおける編集操作を説明するための図である。図８は、図７に示す編集操作に対応するＷＳ情報３００の内容の一例を示す図である。図９は、この発明の実施の形態に従うワークスペースにおけるオブジェクトの選択操作の別形態を示す図である。
【００６７】
ユーザがワークスペース上の何らかのオブジェクトに対して変更や削除といった編集操作を行なう際には、典型的に、操作対象となるオブジェクトを選択した上で、処理内容を指示する。このオブジェクトの選択の方法としては、対象のオブジェクトを直接選択する方法、および所望の範囲を指定することで、当該範囲内に存在するオブジェクトを選択とする方法などがある。また、連続的に複数回に亘ってオブジェクトを選択（追加）できるようにしてもよい。
【００６８】
一例として、ユーザがワークスペース上に配置されたオブジェクトＯＢＪ２を移動する場合の操作について例示する。図７（ａ）に示すように、ユーザは、表示されるカーソルＣＲＳを対象オブジェクト（オブジェクトＯＢＪ２）上に配置した上で、マウスに対するクリック操作（典型的には、左クリック）を行なうことで、オブジェクトＯＢＪ２を直接選択する。あるいは、図７（ｂ）に示すように、ユーザは、表示されるカーソルＣＲＳを対象オブジェクト（オブジェクトＯＢＪ２）上に配置した上で、マウスに対するクリック操作（典型的には、右クリック）を行なうことで操作コマンド一覧を示すダイアログを表示させ、このダイアログ上で「選択」を指定することで、オブジェクトＯＢＪ２を直接選択する。
【００６９】
このようにオブジェクトＯＢＪ２が選択された状態で、図７（ｃ）に示すように、ユーザがドラッグ操作やカーソル操作などを行なうことによって、オブジェクトＯＢＪ２を移動させることができる。
【００７０】
このとき、図７（ｃ）に示すようなオブジェクトＯＢＪ２に対する移動指示に伴って、図８（ａ）に示すようなＷＳ情報３００に定義されていたオブジェクトＯＢＪ２に係る記述３１２は、図８（ｂ）に示すように、その座標位置（x= ,y= ）の値が変更された記述３１２＃に更新される。すなわち、図８（ａ）の記述３１２においては、その配置される座標位置が（x='300' y='240'）と定義されていたものが、図８（ｂ）の記述３１２＃においては、座標位置が（x='320' y='160'）に変更されている。
【００７１】
なお、図７においては、ユーザが対象のオブジェクトを直接的に選択する場合の操作例を示したが、図９に示すように、範囲指定をすることで対象のオブジェクトを間接的に選択するようにしてもよい。
【００７２】
すなわち、図９を参照して、ユーザがマウスに対するクリック操作（典型的には、左クリック）を継続した状態で、オブジェクトＯＢＪ２を含むような範囲をドラッグ操作することで所望の範囲が指定される。この指定された範囲に含まれるオブジェクトが選択される。このように、ユーザは対象のオブジェクトを直接的に選択しなくとも、指定した範囲内にあるオブジェクトを選択するようにすることもできる。
【００７３】
当然のことながら、図７および図９に示したオブジェクトの移動操作の他にも、各種の編集操作が可能である。例えば、オブジェクトの色、形状、内容の変更などが可能である。他にも、オブジェクト同士の連結やリンクやタグなどの属性設定などを採用してもよい。
【００７４】
次に、本実施の形態に従うワークスペースにおける編集操作の一例として、（１）サイズ変更、（２）色変更、（３）属性変更、（４）付与属性表示、（５）表示装飾変更、について、図１０〜図１５を参照して説明する。
【００７５】
図１０は、この発明の実施の形態に従うワークスペースにおける編集前のあるオブジェクトの状態の一例を示す図である。図１１は、この発明の実施の形態に従うワークスペースにおける編集操作（サイズ変更）を説明するための図である。図１２は、この発明の実施の形態に従うワークスペースにおける編集操作（色変更）を説明するための図である。図１３は、この発明の実施の形態に従うワークスペースにおける編集操作（属性変更）を説明するための図である。図１４は、この発明の実施の形態に従うワークスペースにおける編集操作（付与属性表示）を説明するための図である。図１５は、この発明の実施の形態に従うワークスペースにおける編集操作（表示装飾変更）を説明するための図である。
【００７６】
まず、図１０（ａ）に示すように、ワークスペース上に、オブジェクトＯＢＪ２が配置されているものとする。この場合、ＷＳ情報３００は、図１０（ｂ）に示すような記述３１２を含む。
【００７７】
（１）サイズ変更
ユーザがオブジェクトＯＢＪ２に対してそのサイズを変更（この例では、拡大）するような操作を行なうと、図１１（ａ）に示すように、オブジェクトＯＢＪ２はそのサイズが拡大されたオブジェクトＯＢＪ２Ａに更新される。
【００７８】
このようなサイズ変更は、典型的には、ＷＳ情報３００中の拡大縮小率属性（scaleタグ）によって実現される。すなわち、図１１（ｂ）に示すように、オブジェクトＯＢＪ２に対応する記述３１２は、それに対して<scale>タグおよび</scale>タグが追加された記述３１２Ａに更新される。この<scale>タグおよび</scale>タグによって付与される拡大縮小率（scale）の値は、ユーザ操作に応じた値に設定される。
【００７９】
（２）色変更
ユーザがオブジェクトＯＢＪ２に対してその色を変更（この例では、黒からグレイへの変更）するような操作を行なうと、図１２（ａ）に示すように、オブジェクトＯＢＪ２はその表示される色が変更されたオブジェクトＯＢＪ２Ｂに更新される。
【００８０】
このようなサイズ変更は、典型的には、ＷＳ情報３００中の色属性（colorタグ）によって実現される。すなわち、図１２（ｂ）に示すように、オブジェクトＯＢＪ２に対応する記述３１２は、それに対して<color>タグおよび</color>タグが追加された記述３１２Ｂに更新される。この<color>タグおよび</color>タグによって付与される色の（color）の値は、ユーザ操作に応じたもの（この例では、gray）となる。
【００８１】
（３）属性変更
ユーザがオブジェクトＯＢＪ２に対してその属性を変更（この例では、表示属性として囲み線の付与）するような操作を行なうと、図１３（ａ）に示すように、オブジェクトＯＢＪ２はその周囲に囲み線が付与されたオブジェクトＯＢＪ２Ｃに更新される。
【００８２】
このようなサイズ変更は、典型的には、ＷＳ情報３００中の属性値（borderタグ）によって実現される。すなわち、図１３（ｂ）に示すように、オブジェクトＯＢＪ２に対応する記述３１２は、それに対して<border>タグが追加された記述３１２Ｃに更新される。この<border>タグ内には、その囲み線の線の太さを記述するwidth属性が定義され、このwidth属性の値は、ユーザ操作に応じた値、あるいはデフォルト値となる。
【００８３】
（４）付与属性表示
本実施の形態に従うワークスペースにおいては、オブジェクトＯＢＪ２に対して属性としてコメントを付与することができる。このとき、このようにオブジェクトに付与した属性をワークスペース上に表示するように設定することもできる。具体的な一例として、ユーザが、ワークスペース上のオブジェクトＯＢＪ２に関連付けて、「重要」というコメントを付与した場合を考える。このとき、このコメントを付与したユーザ名やその時刻などが付帯的な属性としてＷＳ情報３００に記述される。さらに、ユーザが、これらのコメントおよび付帯的な属性の表示を有効化することで、図１４（ａ）に示すように、コメントおよびその付与された時刻が表示されたオブジェクトＯＢＪ２Ｄに更新される。
【００８４】
このようなコメントの付与は、具体的には、ＷＳ情報３００中の付与属性（commentタグ）によって実現される。すなわち、図１４（ｂ）に示すように、オブジェクトＯＢＪ２に対応する記述３１２は、それに対して<comment>タグおよび</comment>タグが追加された記述３１２Ｄに更新される。この<comment>タグおよび</comment>タグによって囲まれる範囲には、コメントの内容である「重要」が記述される。
【００８５】
さらに、記述３１２Ｄにおいては、上記のコメントに係る付帯的な属性は、<input>タグを用いて定義される。具体的には、その属性としてdate属性およびuser属性が定義される。date属性には、対応するコメントが追加された時刻が記述され、user属性には、対応するコメントを追加したユーザのＩＤが記述される。なお、これらの属性は、コメントの追加に応答して、システム側が自動的に付与するようにすることが好ましい。
【００８６】
さらに、記述３１２Ｄにおいては、これらの付帯的な属性および追加されたコメントの表示を有効にするか否かを示す<display>タグが記述される。この<display>タグは、付帯的な属性についての表示の有効／無効を定義するためのinput属性、および追加されたコメントについての表示の有効／無効を定義するためのcomment属性を含む。各属性については、有効を示す「ON」、または無効を示す「OFF」が記述される。
【００８７】
図１４（ｂ）に示す例では、input属性およびcomment属性がいずれも「ON」に設定されているので、図１４（ａ）に示すように、追加されたコメントとともに、その付帯的な属性がワークスペース上に表示される。
【００８８】
（５）表示装飾変更
ユーザがオブジェクトＯＢＪ２に対してその表示装飾を変更（この例では、点滅表示に設定）するような操作を行なうと、図１５（ａ）に示すように、オブジェクトＯＢＪ２は所定周期で点滅表示するオブジェクトＯＢＪ２Ｅに更新される。
【００８９】
このような表示装飾変更は、典型的には、表示装飾属性（animationタグ）によって実現される。すなわち、図１５（ｂ）に示すように、オブジェクトＯＢＪ２に対応する記述３１２は、それに対して<animation>タグが追加された記述３１２Ｅに更新される。この<animation>タグ内には、その表示装飾の内容を示すtype属性として点滅を示す「BLINKING」が定義される。このtype属性の値は、ユーザ操作に応じたものとなる。
【００９０】
＜ワークスペースにおけるシナリオ作成機能＞
次に、図１６〜図２９を参照して、本実施の形態に従うワークスペースにおけるシナリオ作成機能について説明する。
【００９１】
（１）ユーザインターフェイス
図１６は、この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。図１７〜図２３は、この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図である。
【００９２】
まず、本実施の形態に従うシナリオ機能は、ビュー表示ウィンドウ１５０上において、ユーザが「表示」ボタン１５６を選択することで表示されるダイアログ１５６ａに含まれる「シナリオ」をカーソルＣＲＳなどで選択することで、開始される。このシナリオ機能では、ユーザが作業を行なっているワークスペースを定義するＷＳ情報３００とは独立したシナリオ情報４００が生成されるとともに、ユーザ操作に応じてその内容が追加・更新される。このシナリオ情報４００では、シナリオもしくはシナリオページに対応付けて、ワークスペース上の特定のオブジェクトが指定される。
【００９３】
図１６に示すようにダイアログ１５６ａの「シナリオ」がカーソルＣＲＳなどによって選択されると、処理装置ＰＣの出力装置６には、図１７に示すような画面が表示される。図１７を参照して、シナリオ機能の実行中には、シナリオの作成・再生・変更反映などを制御するための制御ウィンドウ１６０が表示される。この制御ウィンドウ１６０には、複数のシナリオを選択するためのタブ１６１〜１６３が表示される。なお、図１７に示す例では、３つのシナリオを作成できるように、「シナリオ１」、「シナリオ２」、「シナリオ３」とタイトル付されたタブ１６１〜１６３が表示されているが、この選択可能なシナリオの数は３つの限定されることなく、操作性などを考慮して適宜設計することができる。あるいは、１つのシナリオのみを作成するようにした場合には、タブ表示を省略してもよい。
【００９４】
タブ１６１〜１６３のいずれかがカーソルＣＲＳなどで選択されると、対応のシナリオについての再生、設定、編集を指示するボタンなどが、シナリオページ毎に区別して表示される。より具体的には、例えば、シナリオ１に対応するタブ１６１が選択されると、シナリオ１に含まれるシナリオページ１〜３にそれぞれ対応付けて、各種ボタンが配置された領域１７１〜１７３が表示される。なお、本実施の形態に従うシナリオページは、ＷＳ情報３００の内容を関連付けて指定することでその実体を定義するため、シナリオページを「リンク」とも表す。そして、領域１７１には、対応するシナリオページの再生を指示する再生ボタン１７１ａと、対応するシナリオページの編集を指示する編集ボタン１７１ｂと、対応するシナリオページの設定を指示する設定ボタン１７１ｃとが選択可能に表示される。領域１７１および１７２についても、同様に、再生ボタン１７２ａおよび１７３ａと、対応するシナリオページの編集を指示する編集ボタン１７２ｂおよび１７３ｂと、対応するシナリオページの設定を指示する設定ボタン１７２ｃおよび１７３ｃとがそれぞれ選択可能に表示される。
【００９５】
さらに、制御ウィンドウ１６０には、シナリオの再生中などに現在のワークスペースにおける対応するオブジェクトの状態を表示させるためのオリジナル表示ボタン１６５と、シナリオ再生中に他のオブジェクトを表示させるための他オブジェクト表示ボタン１６６とが選択可能に表示される。
【００９６】
まず、何らかのシナリオページを作成する手順としては、ユーザは、まず、ビュー表示ウィンドウ１５０にワークスペース上の説明対象となるべき内容を表示させる。すなわち、ユーザは、ワークスペースの所望の領域を所望のサイズ（倍率）でビュー表示させる。図１７に示す例では、ワークスペース上のオブジェクトＯＢＪ９がビュー表示されている。そして、図１８に示すように、制御ウィンドウ１６０の領域１７１内の設定ボタン１７１ｃをユーザがカーソルＣＲＳなどによって選択することで、当該選択時点におけるビュー表示がシナリオ１の第１番目のシナリオページとして保存される。すなわち、ワークスペースの一部または全部の内容の表示中に、ユーザ操作に応答して、表示中のオブジェクトがシナリオに含まれる特定のオブジェクトとしてシナリオ情報４００に記録される。なお、シナリオページが保存済であることを示すために、対応する領域１７１の表示態様を他の領域とは異ならせることが好ましい。すなわち、図１８には、シナリオ１の第１番目のシナリオページに対応する領域１７１がハッチング表示されている。
【００９７】
以下、同様の手順に従って、シナリオ１の第２番目のシナリオページを作成する場合には、ビュー表示ウィンドウ１５０にワークスペース上の２番目に説明対象となるべき内容を表示させる。そして、図１９に示すように、制御ウィンドウ１６０の領域１７２内の設定ボタン１７２ｃをユーザがカーソルＣＲＳなどによって選択することで、当該選択時点におけるビュー表示がシナリオ１の第２番目のシナリオページとして保存される。
【００９８】
さらに、本実施の形態に従うワークスペースにおいては、元のワークスペースのある状態に対してプレゼンテーション用の説明などを付加したり、オブジェクトの元の表示態様とは異なる表示態様で表示したりすることができる。すなわち、ユーザ操作に応答して、シナリオ情報４００において指定される特定のオブジェクトに対して表示属性を付与することが可能である。なお、表示属性には、後述するように、オブジェクトの表示サイズ、表示色（オブジェクト色、背景色、境界線色等）、表示装飾（点滅表示や縁取り等）、表示有無などを含む。さらに、表示属性には、オブジェクト種類（画像およびテキストのいずれであるか）、拡大縮小率、線太さ、プロパティ表示有無（入力者や付与コメント等を表示させるか否か）といった内容を含み得る。
【００９９】
たとえば、上述のように作成したシナリオ１のシナリオページ２に対して、何らかの編集操作を加える場合には、図２０に示すように、制御ウィンドウ１６０の領域１７２内の編集ボタン１７２ｂをユーザがカーソルＣＲＳなどによって選択することで、対応するシナリオページに対する編集が可能となる。具体的には、編集ボタン１７２ｂが選択されることで、シナリオページ編集ウィンドウ１８２が表示される。このとき、ユーザによる編集操作を指示するためのアイコン群（図示しない）などが表示されてもよい。このシナリオページ編集ウィンドウ１８２においては、表示される各オブジェクトに対して、色、サイズ、属性等を自在に変更することができる。
【０１００】
一例として、図２１には、シナリオ１のシナリオページ２に含まれるオブジェクトＯＢＪ４の背景色が変更された状態を示す。なお、各オブジェクトに対する編集操作については、ワークスペース上のオブジェクトに対する編集操作と同様であり、これらの操作例については上述したので、詳細な説明は繰返さない。なお、シナリオページ編集ウィンドウ１８２上における編集操作の内容は、決定ボタン１８６が選択されるとシナリオ情報４００に反映され、キャンセルボタン１８８が選択されると取消される。
【０１０１】
さらに、図２２には、上述のシナリオ１のシナリオページ２と同様の内容のシナリオページ３を作成した後、別の編集操作を行なった例を示す。すなわち、図２２に示すシナリオページ編集ウィンドウ１８２には、図２１に示すシナリオページ編集ウィンドウ１８２の内容に対して、さらにオブジェクトＯＢＪ４に関連付けたコメントオブジェクト１９２が追加されるとともに、オブジェクトＯＢＪ５が非表示に設定されている状態を示す。
【０１０２】
さらに、図２３には、ＷＳ情報３００に定義されたオブジェクトとは独立した、シナリオ情報４００のみに定義されるオブジェクトを追加した例を示す。すなわち、図２３に示すシナリオページ編集ウィンドウ１８２には、図２２に示すシナリオページ編集ウィンドウ１８２の内容に対して、さらに（図形）オブジェクトＯＢＪ２１が追加されている状態を示す。
【０１０３】
なお、図１６〜図２３に示すユーザインターフェイスは一例であり、上述のような操作が可能であれば、どのようなユーザインターフェイスを用いてもよい。たとえば、上述の例では、制御ウィンドウ１６０内にシナリオページ毎に各種ボタンが表示される例を示したが、「次へ」ボタンおよび「戻る」ボタンを表示させて、シナリオページを相対的に指示可能にするとともに、現在選択中のシナリオページに対して、再生、設定、編集などを指示可能にしてもよい。また、一旦設定したシナリオページを削除するための「解除」ボタンなどを選択可能に表示してもよい。
【０１０４】
（２）データ構造
図２４〜図２９は、図１７〜図２３に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報４００の内容の一例を示す図である。なお、以下の説明では、シナリオ単位でシナリオ情報４００が生成される例を示すが、１つのシナリオ情報４００に複数のシナリオを含めるようにしてもよい。
【０１０５】
図２４には、シナリオ１に関連付けてシナリオページが未作成の状態（初期状態）における、シナリオ情報４００の内容の一例を示す。この図２４に示すシナリオ情報４００は、図１７に示すシナリオページが未だ作成されていない状態に対応する。図２４に示すように、シナリオ情報４００は、一例として、ＸＭＬなどのマークアップ言語で記述される。
【０１０６】
シナリオ情報４００は、対象のシナリオを特定するためのシナリオ（scenario）タグ４０２を含む。このシナリオタグ４０２には、典型的に、対象のシナリオの識別番号（id）、および当該シナリオの作成者（Author）などの情報が格納される。なお、シナリオタグ４０２には、文字エンコーディング属性などを含めてもよい。
【０１０７】
次に、図１６に示すように、ワークスペース上のオブジェクトＯＢＪ９を含むビュー表示に対応してシナリオページ１の作成が指示されると、シナリオ情報４００は図２５に示すような内容に更新される。
【０１０８】
図２５に示すシナリオ情報４００においては、図２４に示すシナリオ情報４００に対して、シナリオページ１を定義する記述４１０が追加されている。この記述４１０は、シナリオページ１に含まれるオブジェクトを特定するための情報を含む。より具体的には、<link>タグおよび</link>タグによって、いずれのシナリオページの内容であるかが指定される。すなわち、<link>タグの属性として、対象のシナリオの識別番号（id）が定義される。さらに、<link>タグおよび</link>タグ内には、対象とすべきオブジェクトについての参照情報４１１である、<target_object>タグおよび</target_object>タグが記述される。この<target_object>タグには、その属性値として、対象オブジェクトの識別番号（object id）を示す識別番号（id）が定義される。すなわち、シナリオ情報４００は、ＷＳ情報３００における特定のオブジェクトの定義内容と関連付けるための参照情報を含む。図２５に示すシナリオ情報４００においては、シナリオページ１に含まれるオブジェクトＯＢＪ９を示す識別情報として「id=9」が定義されている。さらに、後述するように、<target_object>タグおよび</target_object>タグ内には、対応するオブジェクトについての、シナリオページ編集ウィンドウ１８２上における編集操作の内容（すなわち、表示属性）が記述される。
【０１０９】
次に、図１９に示すオブジェクトＯＢＪ４〜ＯＢＪ６を含むビュー表示がシナリオページとして作成された場合のシナリオ情報４００の内容を図２６に示す。図２６に示すシナリオ情報４００においては、図２５に示すシナリオ情報４００に対して、シナリオページ２を定義する記述４２０が追加されている。この記述４２０は、シナリオページ２に含まれるオブジェクトＯＢＪ４〜ＯＢＪ６を特定するための情報を含む。すなわち、上述したような<target_object>タグおよび</target_object>タグを用いて、シナリオページ２に含まれる各オブジェクトについての参照情報４２１，４２２，４２３が定義される。
【０１１０】
その後、図２１に示すように、シナリオページ２に含まれるオブジェクトＯＢＪ４の背景色の（無色から赤色への）変更が指示されると、シナリオ情報４００は、図２７に示すような内容に更新される。すなわち、オブジェクトＯＢＪ４に対応する参照情報４２１に対して、シナリオページにおける表示属性を示す<color>タグおよび</color>タグが記述される。この<color>タグおよび</color>タグ内には、表示属性として、変更後の色を示す「red」が定義されている。すなわち、<color>タグおよび</color>タグは、対応のオブジェクトのシナリオページにおける属性がワークスペース上の属性とは異なっていることを示す。
【０１１１】
さらに、図２３に示すように、オブジェクトＯＢＪ４〜ＯＢＪ６を含むシナリオページ３が作成された後、当該シナリオページ３に対して、オブジェクトＯＢＪ４に関連付けたコメントオブジェクト１９２の追加、およびオブジェクトＯＢＪ５の非表示化が指示されると、シナリオ情報４００は、図２８に示すような内容に更新される。
【０１１２】
図２８に示すシナリオ情報４００においては、図２７に示すシナリオ情報４００に対して、シナリオページ３を定義する記述４３０が追加されている。この記述４３０は、シナリオページ３に含まれるオブジェクトＯＢＪ４〜ＯＢＪ６を特定するための情報を含む。すなわち、上述したような<target_object>タグおよび</target_object>タグを用いて、シナリオページ３に含まれる各オブジェクトについての参照情報４３１，４３２，４３３が定義される。
【０１１３】
さらに、上述の編集操作に対応して、参照情報４３１は、表示属性として、シナリオページにおける表示属性を示す<color>タグおよび</color>タグ、コメントの内容を示す<comment>タグおよび</comment>タグ、およびコメントの表示を有効にするか否かを示す<display>タグを含む。<color>タグおよび</color>タグ内には、変更後の色を示す「red」が定義されている。また、<comment>タグおよび</comment>タグ内には、コメントの内容である「これが結論」が記述されている。さらに、<display>タグには、コメントの表示が有効であることを示す「ON」が記述されている。
【０１１４】
また、参照情報４３２は、対応のオブジェクトの表示を有効にするか否かを示す<display_flag>タグおよび</display_flag>タグを含む。この<display_flag>タグおよび</display_flag>タグ内には、オブジェクトＯＢＪ５の非表示化の指示に対応して、非表示であることを示す「OFF」が定義されている。
【０１１５】
図２９に示すシナリオ情報４００においては、図２８に示すシナリオ情報４００に対して、オブジェクトＯＢＪ２１を定義する記述４３４が追加されている。この記述４３４は、シナリオ用のオブジェクトであることを示す<scenario_object>タグおよび</scenario_object>タグを含み、<scenario_object>タグには、オブジェクトの識別番号（id）が属性として付加されている。さらに、この<scenario_object>タグは、対象のオブジェクトの色を定義するための<color>タグおよび対象のオブジェクトに付加すべきテキストを定義するための<text>タグを含む。
【０１１６】
このように、シナリオを定義するシナリオ情報４００においては、各オブジェクト自体の定義に代えて、ワークスペースを定義するＷＳ情報３００におけるオブジェクトの定義を参照するように記述される。そのため、シナリオの作成後に、ワークスペース上のオブジェクトに何らかの編集操作がなされたとしても、当該編集後の状態がシナリオに動的に反映される。また、シナリオ情報４００においては、<link>タグおよび</link>を用いることで、互いに独立した表示単位（シナリオページ）毎に、特定のオブジェクトを指定することが可能である。
【０１１７】
＜ワークスペースにおけるシナリオ再生機能＞
次に、図３０〜図３４を参照して、本実施の形態に従うワークスペースにおけるシナリオ再生機能について説明する。
【０１１８】
図３０は、この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。図３１〜図３４は、この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図である。
【０１１９】
本実施の形態に従うシナリオ再生機能についても、上述の図１６と同様に、ビュー表示ウィンドウ１５０上において、ユーザが「表示」ボタン１５６を選択することで表示されるダイアログ１５６ａに含まれる「シナリオ」をカーソルＣＲＳなどで選択することで、開始される。
【０１２０】
図３１に示すように、シナリオ機能が開始されると、制御ウィンドウ１６０が表示される。その後、図３２に示すように、ユーザが制御ウィンドウ１６０の領域１７１内の再生ボタン１７１ａをカーソルＣＲＳなどによって選択することで、シナリオ表示ウィンドウ１８０が表示されるとともに、シナリオ情報４００がロードされる。そして、当該シナリオ情報４００の記述内容に基づいて、シナリオ表示ウィンドウ１８０内にシナリオ１のシナリオページ１が表示される。
【０１２１】
続いて、図３３に示すように、ユーザが制御ウィンドウ１６０の領域１７２内の再生ボタン１７２ａをカーソルＣＲＳなどによって選択することで、シナリオ表示ウィンドウ１８０の表示は、シナリオ表示ウィンドウ１８０内にシナリオ１のシナリオページ２に更新される。さらに、図３４に示すように、ユーザが制御ウィンドウ１６０の領域１７３内の再生ボタン１７３ａをカーソルＣＲＳなどによって選択することで、シナリオ表示ウィンドウ１８０の表示は、シナリオ表示ウィンドウ１８０内にシナリオ１のシナリオページ３に更新される。
【０１２２】
このように、複数のシナリオページが設定されている場合に、指定されたシナリオページに対応付けられた内容（それに含まれるオブジェクト）が表示される。すなわち、シナリオ情報４００に記載の表現順序に従って、各シナリオページの内容が順次描画される。より具体的には、シナリオ情報４００に含まれる参照情報に基づいて、ＷＳ情報３００の定義内容が参照されるとともに、当該参照することで得られた情報（各オブジェクトの定義）に基づいて、各シナリオページの内容が順次描画される。
【０１２３】
また、再生されるシナリオページは、シナリオページ作成時に設定した表示属性を反映したものとなっている。すなわち、シナリオ情報４００においては指定されるオブジェクトが、ＷＳ情報３００における対応する定義の内容と、シナリオ情報４００において付与されている表示属性とに基づいて描画される。
【０１２４】
なお、図３１〜図３４に示すユーザインターフェイスは一例であり、上述のような操作が可能であれば、どのようなユーザインターフェイスを用いてもよい。たとえば、上述の例では、制御ウィンドウ１６０内の再生ボタンが選択される毎に、対応するシナリオページが表示される例を示したが、「次へ」ボタンおよび「戻る」ボタンを選択可能に表示させて、表示されるシナリオページを相対的に移動できるようにしてもよい。あるいは、いわゆるスライドショーのように、所定時間毎にシナリオページの表示が順次切換わるようにしてもよい。すなわち、複数のシナリオページが設定されている場合に、各シナリオページに対応付けられた内容（それに含まれる特定のオブジェクト）を所定順序で切替えて表示してもよい。
【０１２５】
＜ワークスペースにおけるシナリオ変更点検出機能＞
本実施の形態に従うワークスペースでは、あるユーザが、図１７〜図２３に示すような手順に従ってシナリオを新規作成または編集した後、図３１〜図３４に示すような手順に従ってシナリオを再生したとする。このシナリオの再生時に、関連付けられているワークスペースの状態が保存され、その後のシナリオの再生時に、この保存されているワークスペースの状態からの変更点の有無および／またはその内容が検出される。すなわち、本実施の形態に従うワークスペースでは、シナリオ情報４００に基づいてシナリオ再生（すなわち、シナリオ情報４００に定義されているオブジェクトが表示）されるときの、ＷＳ情報３００における定義内容の少なくとも一部が記憶される。そして、前回のシナリオ再生時に記憶されたＷＳ情報３００における定義内容の少なくとも一部と、今回のシナリオ再生時におけるＷＳ情報３００における定義内容の少なくとも一部とを比較することで、今回再生されるシナリオに含まれるオブジェクトの表示内容が前回の表示内容から変更されたか否かが判断される。さらに、今回再生されるシナリオに含まれるオブジェクトの表示内容が前回再生されるシナリオの表示内容から変更されたと判断されたときに、変更点の数および／または変更内容がユーザに通知される。
【０１２６】
このような構成を採用することで、あるタイミングでシナリオを再生する場合に、現在のワークスペースの状態と前回のシナリオの生成時におけるワークスペースの状態との間の差異点が検出される。そして、検知された変更点の有無および／またはその内容は、ユーザに通知される。そのため、当該シナリオを用いてワークスペースでの作業結果および／または途中経過を説明するユーザは、シナリオにおいて表現される内容が前回の再生時から変化していることを予め知ることができるので、適切な対処をとることができる。
【０１２７】
図３５は、この発明の実施の形態に従うシナリオ変更点検出機能の処理を説明するための図である。図３６は、図３５に示すシナリオ情報およびＷＳ情報の内容の一例を示す図である。
【０１２８】
図３５（ａ）を参照して、ユーザがシナリオの新規作成／編集操作を行なうと、シナリオ情報４００が新たなに作成またはその内容が更新される。なお、シナリオ情報４００は、ＷＳ情報３００における特定のオブジェクトの定義内容と関連付けるための参照情報（
たとえば、図２５に示す参照情報４１１）を含む。すなわち、シナリオ情報４００とＷＳ情報３００とは、互いに関連付けられている。
【０１２９】
次に、図３５（ｂ）を参照して、ユーザによってシナリオ再生が指示されると、当該時点のワークスペースの状態が保存される。より具体的には、当該時点におけるＷＳ情報３００の内容が複写され、ＷＳ情報（写）３５０として保存される。すなわち、ＷＳ情報３００の定義内容の全体が保存される。したがって、このＷＳ情報（写）３５０は、シナリオ再生時のＷＳ情報３００と同一の内容を有する。なお、実際のファイル操作としては、ＷＳ情報３００のファイル名がたとえば「WS.xml」であるとすると、シナリオ再生時（すなわち、ＷＳ情報（写）３５０の保存時）のタイムスタンプをこのファイル名に付加した「WS_200903181502.xml」といったファイル名を有するファイルとして、ＷＳ情報（写）３５０を保存する。なお、ＷＳ情報（写）３５０は、２００９年３月１８日１５時０２分に保存されたものとする。
【０１３０】
このシナリオ再生は、シナリオを作成したユーザがその仕上がったシナリオの内容を予め確認する場合などが想定される。
【０１３１】
次に、図３５（ｃ）を参照して、シナリオ再生の終了後、ワークスペースに対して何らかの編集操作がなされたとする。なお、複数の処理装置ＰＣが同期して共通のワークスペースが提供されている場合には、ＷＳ情報３００の内容は、他の処理装置ＰＣに関連付けられたユーザの操作によっても変更される。但し、この場合であっても、シナリオ情報４００およびＷＳ情報（写）３５０は、いわゆるローカルエリアに保存されており、他の処理装置ＰＣによってその内容が変更されることが禁止される。
【０１３２】
ワークスペースに対する何らかの編集操作に応答して、ＷＳ情報３００の内容が変更されたとする（内容が異なることを明瞭化するために、ＷＳ情報３００Ａと記す）。
【０１３３】
次に、図３５（ｄ）を参照して、ワークスペースに対して何らかの編集操作がなされた後、シナリオを再生する場合を考える。このシナリオ再生は、実際にワークスペースにおける作業結果および／または途中経過をプレゼンテーションするような場合などが想定される。このとき、前回のシナリオ再生時に保存された当該時点におけるワークスペースの状態を示すＷＳ情報（写）３５０と、現時点におけるワークスペースの状態を示すＷＳ情報３００Ａとが比較される。そして、両者の内容が不一致となった場合には、ワークスペースの状態が前回のシナリオ再生時から変更されたことおよび／またはその変更の内容がユーザに通知される。
【０１３４】
より具体的な一例として、１回目のシナリオ再生後に、図１９に示すオブジェクトＯＢＪ４の位置が変更された場合を考える。この場合のＷＳ情報３００およびＷＳ情報（写）３５０（図３５（ｂ））の内容の一部を図３６（ａ）に示す。この図３６（ａ）に示すＷＳ情報３００およびＷＳ情報（写）３５０は、オブジェクトＯＢＪ４の座標位置（x='100' y='300'）を示す記述３５１を含む。これに対して、この図３６（ｂ）に示すＷＳ情報３００Ａは、変更後のオブジェクトＯＢＪ４の座標位置（x='200' y='300'）を示す記述３５１Ａを含む。
【０１３５】
図３５（ｄ）に示すように、再度シナリオが再生されると、ＷＳ情報（写）３５０とＷＳ情報３００Ａとが比較される。このような比較処理の具体例としては、ＸＭＬパーサを用いて、ＷＳ情報（写）３５０およびＷＳ情報３００Ａの内容をＸＭＬ要素毎に分解する。そして、分解されたＸＭＬ要素毎に比較することで、変更点を検出する。ＸＭＬ要素毎の比較は、単純な文字列比較処理を用いることで実現できる。あるいは、最長共通部分または最小エディット距離に基づいて、変更点を検出するような公知のアルゴリズムを採用してもよい。このような最長共通部分または最小エディット距離に基づく検索アルゴリズムについては、文献１（E.W. Myers, "An O(ND) difference algorithm and its variations"）および文献２（S.W.maner, G.Myers, W.Mileer, "An O(NP) Sequence Comparison Algorithm"）などを参照されたい。
【０１３６】
そして、ＷＳ情報（写）３５０とＷＳ情報３００Ａとの間の変更点を以下のように抽出できたとする。
【０１３７】
・ＷＳ情報（写）３５０：
<object id=4>
<text x='100' y='300'>
・ＷＳ情報３００Ａ：
<object id=4>
<text x='200' y='300'>
このように抽出された変更点について、上述のＸＭＬパーサによって分解されたＸＭＬ要素のうち、シナリオ情報４００に記述されているオブジェクト（object id）の数を算出する。この算出された結果が０ではない場合に、ワークスペースに対してシナリオに影響がある変更がなされたと判断される。なお、シナリオ情報４００に、<object>タグ以外の要素が定義されている場合には、その定義に対応するＷＳ情報３００の記述についても、変更有無の判断対象とする。
【０１３８】
上述のように、本実施の形態に従うワークスペースでは、シナリオ情報４００に基づく前回のシナリオ再生時に記憶されたＷＳ情報３００における定義内容（ＷＳ情報（写）３５０）と、今回のシナリオ再生時におけるＷＳ情報３００における定義内容との間の相違点が抽出され、さらに、抽出された定義内容の相違点のうち、シナリオ情報４００において指定されるオブジェクトに関する相違点が抽出される。
【０１３９】
＜シナリオ変更点の通知機能＞
次に、シナリオ変更点の通知機能について、図３７〜図３９を参照して説明する。
【０１４０】
図３７は、この発明の実施の形態に従うシナリオ変更点の通知機能の表示例を示す図である。図３８および図３９は、この発明の実施の形態に従うシナリオ変更点の通知機能の別の表示例を示す図である。
【０１４１】
図３７を参照して、ユーザによってシナリオ再生が指示されると、上述のようなＷＳ情報（写）３５０とＷＳ情報３００Ａとが比較される。そして、上述のように、シナリオに用いられている何らかのオブジェクトなどに変更があると判断されると、図３７に示すような通知ウィンドウ１９６が表示される。この通知ウィンドウ１９６には、たとえば、シナリオに用いられているオブジェクトのうち、変更されたものの数を示す「シナリオ中、１点変更がありました。」というメッセージが表示される。さらに、抽出された相違点の内容に基づいて、変更内容を示す「変更内容：object id=4」および「変更内容：位置（100,300）→（200,300）」というメッセージが表示される。
【０１４２】
なお、ワークスペース上の状態とは異なる態様でオブジェクトを表示するための表示属性についても、比較対象としてもよい。すなわち、図２２に示すようなワークスペースからは独立したコメントオブジェクト１９２が、前回の再生時から変更されたような場合にも、その変更内容をユーザに通知することが好ましい。なお、この場合には、前回のシナリオ再生時に、ＷＳ情報（写）３５０とともに、当該時点におけるシナリオ情報４００の内容が保存される。
【０１４３】
たとえば、前回のシナリオ再生時に、図３８（ａ）に示すように、オブジェクトＯＢＪ４に関連付けて、「仮決定」というテキストを含むコメントオブジェクト１９２が付与さていたとする。これに対して、今回のシナリオ再生時には、図３８（ｂ）に示すように、オブジェクトＯＢＪ４に関連付けられたコメントオブジェクトのテキストが「仮決定」から「これが結論」というテキストに変更されていたものとする。
【０１４４】
このような場合において、ユーザによってシナリオ再生が指示されると、先に保存されているシナリオ情報４００と現在のシナリオ情報４００とが比較される。そして、上述のようにシナリオに付与されているコメントオブジェクトに変更があると、図３９に示すような通知ウィンドウ１９７が表示される。この通知ウィンドウ１９７には、たとえば、シナリオに付与されていたコメントオブジェクトの変更前と変更後の内容が視覚的に対比可能な態様で表示される。さらに、変更されたオブジェクトの数を示す「シナリオ中、１点変更がありました。」というメッセージも表示される。
【０１４５】
なお、変更前後の差異点を着色表示（たとえば、「赤色」）をすることで、ユーザに注意を促してもよい。なお、通知ウィンドウ１９７は、図３９に示すようなビュー表示ウィンドウ１５０の上に重ねて表示する形態に代えて、独立に表示してもよい。より好ましくは、ユーザが何らかのアクションを行った場合に、その位置にポップアップ的に表示される。また、通知ウィンドウ１９７の存在しない部分をユーザがクリックすると、該当変更場所に画面表示を移動させることが好ましい。
【０１４６】
＜データ構造の発展例＞
ユーザが自身の作業結果および／または途中経過を他人に説明する場合において、その説明相手の理解度や職制などに応じて、その説明内容を異なったものとする場合も想定される。この場合には、共通のＷＳ情報３００に基づいて、作成したシナリオの数だけシナリオ情報４００が生成される。そして、これらのシナリオ情報４００が再生される度に、当該時点におけるＷＳ情報（写）３５０が複数保存されることになる。そのため、シナリオ情報４００とＷＳ情報（写）３５０とを対応付けるための情報を予め保存しておくことが有効な場合がある。以下、このような場合のデータ構造について説明する。
【０１４７】
図４０は、この発明の実施の形態に従うワークスペースにおけるデータ構造の発展例を示す図である。図４０（ａ）に示すように、たとえば、各々が共通のＷＳ情報３００を参照する２つのシナリオ情報４００−１，４００−２が作成されているものとする。これらのシナリオ情報のうち、シナリオ情報４００−１が再生されると、当該再生時のＷＳ情報３００を複製したＷＳ情報（写）３５０−１が生成される。また、シナリオ情報４００−２が再生されると、当該再生時のＷＳ情報３００を複製したＷＳ情報（写）３５０−２が生成される。
【０１４８】
この場合には、シナリオ情報４００−１の次回再生時には、当該時点のＷＳ情報３５０とＷＳ情報（写）３５０−１とが比較され、シナリオ情報４００−２の次回再生時には、当該時点のＷＳ情報３５０とＷＳ情報（写）３５０−２とが比較される必要がある。したがって、このようなファイル同士の対応関係を定義するために、対応情報５００を用意してもよい。
【０１４９】
図４０（ｂ）には、対応情報５００の内容の一例を示す。この対応情報５００には、ＷＳ情報（写）３５０のファイル名に対応付けて、当該ＷＳ情報（写）３５０が作成されたタイムスタンプ５０１、当該ＷＳ情報（写）３５０を作成するトリガーとなったシナリオ情報４００の識別情報（scenario id）５０２、ならびに、対応するシナリオ情報４００が参照するワークスペースの識別情報（workspace id）５０３および当該シナリオ情報４００のファイル名５０４などが定義される。
【０１５０】
より具体的には、タイムスタンプ５０１は、ＷＳ情報（写）３５０が保存された日付および時刻を示す値（この例では、２００９年３月１８日１５時０２分を示す「200903181502」）を要素値として含む<timestamp>タグを用いて記述される。また、シナリオ情報４００の識別情報５０２は、対応のＷＳ情報３００に定義されているシナリオの識別情報（scenario id）の値を要素値として含む<scenario id>タグを用いて記述される。また、ワークスペースの識別情報５０３は、対応のＷＳ情報３００に定義されているシナリオの識別情報（workspace id）の値を要素値として含む<workspace id>タグを用いて記述される。また、ＷＳ情報３００のファイル名５０４は、対応のＷＳ情報３００のファイル名（この例では、「WS_200903181502.xml」）を要素値として含む<workspace name>タグを用いて記述される。
【０１５１】
なお、ワークスペースの識別情報５０３およびＷＳ情報３００のファイル名５０４については、必ずしも定義する必要はなく、ＷＳ情報（写）３５０が作成されたタイムスタンプ５０１を用いることで、シナリオ情報４００とＷＳ情報（写）３５０との対応関係を定義することができる。
【０１５２】
＜制御構造＞
図４１は、この発明の実施の形態に従う処理装置ＰＣで実現される制御構造を示す概略図である。図４１を参照して、処理装置ＰＣは、制御構造として、入力装置１０と、出力装置６と、処理部１００と、ＷＳ格納部１２０と、入出力制御装置１３０とを含む。典型的に、処理部１００および入出力制御装置１３０は、ハードディスク１２に予め格納されているプログラムをＣＰＵ２がメモリ１４に展開した上で実行することで提供される。また、ＷＳ格納部１２０は、ＨＤＤ１２の一部として提供される。
【０１５３】
なお、入力装置１０、出力装置６、処理部１００、ＷＳ格納部１２０、および入出力制御装置１３０を必ずしも同一の処理装置ＰＣに設ける必要はなく、別体の装置に分散して設けてもよい。また、入出力制御装置１３０を、入力装置１０や出力装置６の内部に設けてもよい。さらに、入力装置１０および出力装置６と入出力制御装置１３０との間、入出力制御装置１３０と処理部１００との間、および処理部１００とＷＳ格納部１２０との間などに、別の情報処理装置や制御部などを仲介させる形で構成してもよい。
【０１５４】
入出力制御装置１３０は、入力装置１０で受付けた入力信号の内容を解釈して、対応する指令を処理部１００へ出力する。すなわち、入出力制御装置１３０は、ユーザが入力装置１０に対してどのような内容の操作を行なったのかを判断する。より具体的な一例として、入出力制御装置１３０は、マウスのクリックやドラッグなどによって、ワークスペース上のいずれのオブジェクトが選択されたのか、いずれのボタンが押下されたのか、クリック操作およびドラッグ操作のいずれであるのか、といった内容を解釈する。
【０１５５】
また、入出力制御装置１３０は、処理部１００からの情報に基づいて、出力用の信号を生成して、出力装置６へ送る。より具体的な一例として、入出力制御装置１３０は、ワークスペース上でユーザが行なったオブジェクト操作やビューの変更操作に応じて、表示される画面上のいずれの部分にどのような表示を行なえばいいよいのかを決定して出力信号を生成（レンダリング）する。
【０１５６】
処理部１００は、本実施の形態に従うワークスペースを提供する処理の全体を司る。処理部１００は、操作管理部１０２と、ビュー管理部１０４と、オブジェクト管理部１０６と、シナリオ管理部１０８と、ＷＳ空間管理部１１０と、ＷＳ入出力部１１２と、ＷＳ作業メモリ１１４とを含む。
【０１５７】
操作管理部１０２は、入出力制御装置１３０から送られる情報に基づいて、要求される処理内容を判断し、その判断結果に応じて、ビュー管理部１０４、オブジェクト管理部１０６、シナリオ管理部１０８、ＷＳ空間管理部１１０、およびＷＳ入出力部１１２のうち、対応する部位へ指令を与える。より具体的には、操作管理部１０２は、受けた操作内容が、ワークスペースの新規作成、ワークスペースのリセット、ワークスペースの削除などである場合、ＷＳ空間管理部１１０に指示が出され、ＷＳ空間管理部１１０で処理が実行される。また、操作管理部１０２は、受けた操作内容が、オブジェクトに対する移動・内容変更・装飾変更などの編集、新規オブジェクトの作成、削除である場合、オブジェクト管理部１０６に指示が出され、オブジェクト管理部１０６で処理が実行される。また、操作管理部１０２は、受けた操作内容が、ビューの変更である場合、ビュー管理部１０４に指示が出され、ビュー管理部で処理が実行される。また、操作管理部１０２は、受けた操作内容が、ワークスペースの読み込みや書き出しである場合、ＷＳ入出力部１１２に指示が出され、ＷＳ入出力部１１２で処理が実行される。また、操作管理部１０２は、受けた操作内容が、シナリオの作成、シナリオの再生、オブジェクトに対する変更反映、シナリオ多面化機能などである場合、シナリオ管理部１０８に指示が出され、シナリオ管理部１０８で処理が実行される。
【０１５８】
ＷＳ作業メモリ１１４には、ワークスペースを提供するためのＷＳ情報３００、および上述のシナリオ機能を提供するためのシナリオ情報４００が格納される。これらのＷＳ情報３００およびシナリオ情報４００は、ユーザ操作および各部における処理に伴って、随時更新される。また、上述したように、シナリオ再生にともなって、当該時点のＷＳ情報３００が複製されて、ＷＳ情報（写）３５０として保存される。
【０１５９】
ＷＳ空間管理部１１０は、操作管理部１０２からの指示に従って、ＷＳ作業メモリ１１４におけるＷＳ情報３００の新規作成および削除などを管理する。すなわち、ＷＳ空間管理部１１０は、ワークスペースとワークスペースに含まれるオブジェクトとを定義するＷＳ情報３００を管理するためのものである。
【０１６０】
オブジェクト管理部１０６は、操作管理部１０２からの指示に従って、ＷＳ作業メモリ１１４に格納されているＷＳ情報３００の内容（記述）を更新する。
【０１６１】
ビュー管理部１０４は、操作管理部１０２からの指示に従って、ＷＳ作業メモリ１１４に格納されているＷＳ情報３００に定義されている情報のうち、ユーザにより指定されるビュー範囲に含まれる情報に基づいて、描画処理（レンダリング処理）を行なう。すなわち、ビュー管理部１０４は、ＷＳ情報３００に基づいて、ワークスペースの一部または全部の内容を表示するためのものである。
【０１６２】
ＷＳ入出力部１１２は、操作管理部１０２からの指示に従って、ＷＳ格納部１２０に格納されているＷＳ情報１２０ａを読出し、あるいはＷＳ作業メモリ１１４に格納されているＷＳ情報３００に従ってＷＳ格納部１２０に格納されているＷＳ情報１２０ａを更新する。ＷＳ格納部１２０は、ＷＳ情報１２０ａを不揮発的に記憶しており、ワークスペースを提供するアプリケーションがシャットダウンされた後であっても、ＷＳ情報１２０ａを継続的に保持する。
【０１６３】
シナリオ管理部１０８は、操作管理部１０２からの指示に従って、ＷＳ作業メモリ１１４にシナリオ情報４００を作成し、さらにシナリオ情報４００の内容を適宜更新する。すなわち、シナリオ管理部１０８は、ワークスペースに含まれる特定のオブジェクトを指定するためのシナリオ情報４００を管理するためのものである。また、シナリオ管理部１０８は、シナリオ情報４００においては指定される特定のオブジェクトを表示するためのものでもある。そして、シナリオ管理部１０８は、上述したシナリオ変更点検出機能の処理を具体的に実行する主体でもある。
【０１６４】
なお、サーバ装置ＳＲＶを介して複数の処理装置ＰＣの間で、ＷＳ情報３００および／またはシナリオ情報４００を共有して保持する場合には、サーバ装置ＳＲＶおよび／または他の処理装置ＰＣとの間で通信を行なって、ＷＳ作業メモリ１１４内のＷＳ情報３００を適宜更新（同期）するための同期処理部をさらに設けてもよい。
【０１６５】
＜処理手順＞
次に、図４２および図４３を参照して、本実施の形態に従うワークスペースの提供に係る処理手順について説明する。図４２および図４３に示す各ステップは、典型的に、ＣＰＵ２がプログラムを実行することで進められる。すなわち、ＣＰＵ２がプログラムを実行することで提供される制御構造（図４１）により各処理が進められる。なお、ワークスペースは既に作成されているものとする。
【０１６６】
図４２および図４３を参照して、ステップＳ１００において、操作管理部１０２として機能するＣＰＵ２は、ワークスペース上のオブジェクトについての新規作成・変更・削除などがユーザによって指示されたか否かを判断する。実体オブジェクトについての新規作成・変更・削除などがユーザによって指示された場合（ステップＳ１００においてＹＥＳの場合）には、処理はステップＳ１０２へ進み、そうでなければ（ステップＳ１００においてＮＯの場合）、処理はステップＳ１０６へ進む。
【０１６７】
ステップＳ１０２において、操作管理部１０２として機能するＣＰＵ２は、ユーザ操作に応じた指示をオブジェクト管理部１０６へ与える。この指示に応答して、オブジェクト管理部１０６として機能するＣＰＵ２は、ＷＳ作業メモリ１１４に格納されているＷＳ情報３００の内容を更新する。典型的には、ユーザが、上述の図７〜図１５に示す編集操作などを行なうと、この編集操作に応じて、ＷＳ情報３００中の対応するオブジェクトの記載を変更する。そして、処理はステップＳ１０４へ進む。
【０１６８】
ステップＳ１０４において、ビュー管理部１０４として機能するＣＰＵ２は、更新後のＷＳ情報３００の内容に基づいて、現在のビュー表示を更新する。そして、処理はステップＳ１０６へ進む。
【０１６９】
ステップＳ１０６において、操作管理部１０２として機能するＣＰＵ２は、ビュー表示の変更がユーザによって指示されたか否かを判断する。ビュー表示の変更がユーザによって指示された場合（ステップＳ１０６においてＹＥＳの場合）には、処理はステップＳ１０８へ進み、そうでなければ（ステップＳ１０６においてＮＯの場合）、処理はステップＳ１１０へ進む。
【０１７０】
ステップＳ１０８において、ビュー管理部１０４として機能するＣＰＵ２は、ユーザから指示された内容に従って、ビュー表示を更新する。すなわち、ビュー管理部１０４は、指定されたビュー表示の中心座標や表示倍率に応じたビュー表示を生成し、出力装置６から出力する。そして、処理はステップＳ１１０へ進む。
【０１７１】
ステップＳ１１０において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ機能の開始がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、図１６に示すような、ダイアログ１５６ａの「シナリオ」がカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオ機能の開始がユーザによって指示された場合（ステップＳ１１０においてＹＥＳの場合）には、処理はステップＳ１１２へ進み、そうでなければ（ステップＳ１１０においてＮＯの場合）、処理は終了する。
【０１７２】
ステップＳ１１２において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオの作成・再生・変更反映などを制御するための制御ウィンドウ１６０を選択可能に表示する。そして、処理はステップＳ１１４へ進む。
【０１７３】
ステップＳ１１４において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオページの作成がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、制御ウィンドウ１６０内のいずれかの設定ボタンがカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオページの作成がユーザによって指示された場合（ステップＳ１１４においてＹＥＳの場合）には、処理はステップＳ１１６へ進み、そうでなければ（ステップＳ１１４においてＮＯの場合）、処理はステップＳ１２２へ進む。
【０１７４】
ステップＳ１１６において、シナリオ管理部１０８として機能するＣＰＵ２は、作成が指示されたシナリオページを特定する。すなわち、ＣＰＵ２は、選択された制御ウィンドウ１６０内の設定ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。続くステップＳ１１８において、シナリオ管理部１０８として機能するＣＰＵ２は、現在のビュー表示に含まれるオブジェクトの識別番号を取得する。さらに続くステップＳ１２０において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ情報４００に対して、ステップＳ１１６において特定したシナリオ番号およびシナリオページ番号に関連付けて、ステップＳ１１８において取得したオブジェクトの識別番号を参照情報（リンク情報）として追加する。すなわち、ユーザが設定ボタンを選択した時点におけるビュー表示の内容が、シナリオページとして保存される。そして、処理はステップＳ１２２へ進む。
【０１７５】
ステップＳ１２２において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオページの編集がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、制御ウィンドウ１６０内のいずれかの編集ボタンがカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオページの編集がユーザによって指示された場合（ステップＳ１２２においてＹＥＳの場合）には、処理はステップＳ１２４へ進み、そうでなければ（ステップＳ１２２においてＮＯの場合）、処理はステップＳ１３８へ進む。
【０１７６】
ステップＳ１２４において、シナリオ管理部１０８として機能するＣＰＵ２は、編集が指示されたシナリオページを特定する。すなわち、ＣＰＵ２は、選択された制御ウィンドウ１６０内の編集ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。続くステップＳ１２６において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ情報４００からステップＳ１２４において特定したシナリオ番号およびシナリオページ番号に関連付けて定義されている記述を読出して、それに基づくシナリオページを編集可能に表示する。さらに続くステップＳ１２８において、シナリオ管理部１０８として機能するＣＰＵ２は、ユーザが行なった編集操作の内容を受付ける。なお、ＣＰＵ２は、受付けた編集操作の内容を表示に反映する。さらに続くステップＳ１３０において、シナリオ管理部１０８として機能するＣＰＵ２は、編集操作の反映がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、図２１などに示す決定ボタン１８６がカーソルＣＲＳなどによって選択されたか否かを判断する。編集操作の反映がユーザによって指示された場合（ステップＳ１３０においてＹＥＳの場合）には、処理はステップＳ１３２へ進み、そうでなければ（ステップＳ１３０においてＮＯの場合）、処理はステップＳ１３４へ進む。
【０１７７】
ステップＳ１３２において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１２８において受付けた編集操作の内容に基づいて、シナリオ情報４００のステップＳ１２４において特定したシナリオ番号およびシナリオページ番号に関連付けられた記述を更新する。そして、処理はステップＳ１３８へ進む。
【０１７８】
一方、ステップＳ１３４において、シナリオ管理部１０８として機能するＣＰＵ２は、編集操作の取消しがユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、図２１などに示すキャンセルボタン１８８がカーソルＣＲＳなどによって選択されたか否かを判断する。編集操作の取消しがユーザによって指示された場合（ステップＳ１３４においてＹＥＳの場合）には、処理はステップＳ１３６へ進み、そうでなければ（ステップＳ１３４においてＮＯの場合）、処理はステップＳ１２８へ戻る。
【０１７９】
ステップＳ１３６において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１２８において受付けた編集操作の内容を削除する。そして、処理はステップＳ１３８へ進む。
【０１８０】
ステップＳ１３８において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオページの再生がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、制御ウィンドウ１６０内のいずれかの再生ボタンがカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオページの再生がユーザによって指示された場合（ステップＳ１３８においてＹＥＳの場合）には、処理はステップＳ１４０へ進み、そうでなければ（ステップＳ１３８においてＮＯの場合）、処理は終了する。
【０１８１】
ステップＳ１４０において、シナリオ管理部１０８として機能するＣＰＵ２は、再生が指示されたシナリオ情報４００に対応付けられたＷＳ情報（写）３５０が保存されているか否かを判断する。すなわち、ＣＰＵ２は、指定されたシナリオの再生が最初であるか否かを判断する。再生が指示されたシナリオ情報４００に対応付けられたＷＳ情報（写）３５０が保存されている場合（ステップＳ１４０においてＹＥＳの場合）には、処理はステップＳ１４２へ進み、そうでなければ（ステップＳ１４０においてＮＯの場合）、処理はステップＳ１５０へ進む。
【０１８２】
ステップＳ１４２において、シナリオ管理部１０８として機能するＣＰＵ２は、保存されているＷＳ情報（写）３５０のうち、現在のＷＳ情報３００の内容と最も保存日が新しいＷＳ情報（写）３５０の内容とを比較することで変更点を抽出する。続くステップＳ１４４において、シナリオ管理部１０８として機能するＣＰＵ２は、抽出した変更点のうち、再生が指示されたシナリオ情報４００に記述されているオブジェクトを抽出する。さらに続くステップＳ１４６において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１４４において何らかのオブジェクトが抽出されたか否かを判断する。ステップＳ１４４において何らかのオブジェクトが抽出された場合（ステップＳ１４６においてＹＥＳの場合）には、処理はステップＳ１４８へ進み、そうでなければ、処理はステップＳ１５０へ進む。
【０１８３】
ステップＳ１４８において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１４４において抽出された変更点の数および／または内容をユーザに通知する（図３７および図３９参照）。ユーザは、これらの通知に基づいて、シナリオ情報４００またはワークスペース上のオブジェクトを修正したり、その説明内容を変更後の状況に応じたものに変更したりする。そして、処理はステップＳ１５０へ進む。
【０１８４】
ステップＳ１５０において、シナリオ管理部１０８として機能するＣＰＵ２は、現在のＷＳ情報３００を複製してＷＳ情報（写）３５０を生成する。すなわち、ＣＰＵ２は、次回のシナリオ再生時にワークスペース上の変更点の有無を判断するための情報を保存する。そして、処理はステップＳ１５２へ進む。
【０１８５】
ステップＳ１５２において、シナリオ管理部１０８として機能するＣＰＵ２は、再生が指示されたシナリオページを特定する。すなわち、ＣＰＵ２は、選択された制御ウィンドウ１６０内の再生ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。なお、１つのシナリオに複数のサブシナリオが含まれる場合には、いずれのサブシナリオを再生するかについても特定する。
【０１８６】
続くステップＳ１５４において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ情報４００からステップＳ１５２において特定したシナリオ番号およびシナリオページ番号に関連付けて定義されている記述に基づいて、表示対象オブジェクトの識別番号および付与されている表示属性の内容を取得する。続くステップＳ１５６において、シナリオ管理部１０８として機能するＣＰＵ２は、ＷＳ情報３００からステップＳ１５４において取得した識別番号に対応するオブジェクトの記述を読出す。さらに続くステップＳ１５８において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１５６において取得したオブジェクトの記述と、ステップＳ１５４において取得した付与されている表示属性とに基づいて、対象オブジェクトの表示用情報を取得する。さらに続くステップＳ１６０において、シナリオ管理部１０８として機能するＣＰＵ２は、すべての対象オブジェクトについて、表示用情報を取得したか否かを判断する。未だ表示用情報を取得していない対象オブジェクトがあれば（ステップＳ１６０においてＮＯの場合）、ステップＳ１５６以下の処理が繰返される。これに対して、すべての対象オブジェクトについての表示用情報を取得していれば（ステップＳ１６０においてＹＥＳの場合）、処理はステップＳ１６２へ進む。
【０１８７】
ステップＳ１６２において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１５８において取得した（１つまたは複数の）表示用情報に基づいて、シナリオページをレンダリングしたビュー表示を生成し、出力装置６からシナリオ表示ウィンドウ１８０として出力する。そして、処理はステップＳ１７０へ進む。
【０１８８】
ステップＳ１７０において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ再生中に編集操作がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、シナリオ表示ウィンドウ１８０内に表示されるいずれかのオブジェクトがカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオ再生中に編集操作がユーザによって指示された場合（ステップＳ１７０においてＹＥＳの場合）には、処理はステップＳ１７２へ進み、そうでなければ（ステップＳ１７０においてＮＯの場合）、処理は終了する。
【０１８９】
ステップＳ１７２において、シナリオ管理部１０８として機能するＣＰＵ２は、編集操作が指示されたオブジェクトを特定し、その識別番号を取得する。続くステップＳ１７４において、シナリオ管理部１０８として機能するＣＰＵ２は、ユーザが行なった編集操作の内容を受付ける。続くステップＳ１７６において、ＣＰＵ２は、ステップＳ１７２において受付けた編集操作の内容に基づいて、ステップＳ１７２において特定した識別番号に関連付けられたＷＳ情報３００の記述を更新する。さらに続くステップＳ１７８において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ表示ウィンドウ１８０内のビュー表示を更新する。そして、処理はステップＳ１７０へ戻る。
【０１９０】
＜本実施の形態による作用・効果＞
本実施の形態に従うワークスペースにおいては、シナリオをワークスペース上のオブジェクトと動的に関連付けて作成できるので、シナリオ再生時に、ワークスペース上の目的とするオブジェクトの現在の状態を表示できる。同時に、複数回にわたってシナリオを再生する場合に、ワークスペース上のオブジェクトに対する編集操作によって、シナリオ再生毎にその表示内容が異なる場合が生じ得る。このような状況が好ましくない場合も想定されるが、本実施の形態に従うワークスペースにおいては、今回のシナリオ再生によって表示される内容が前回のシナリオ再生によって表示される内容から変化している場合には、ユーザにその旨および／または内容が通知される。
【０１９１】
この通知を受けて、ユーザは、必要に応じて、ワークスペース上のオブジェクトを再修正したり、シナリオを変更したり、シナリオに対応する説明内容を変更したりといった、各種の対応をとることができる。すなわち、シナリオ作成者またはシナリオを用いた説明者が予期していない変更がシナリオ内に表示されることを回避することができる。
【０１９２】
＜第１変形例＞
本実施の形態に従うワークスペースでは、画像や文書といった外部ファイルをオブジェクトとして扱うことができる。上述の図４に示すように、このような外部ファイルは、ＷＳ情報３００とは別のファイル実体として存在しており、目的とする外部ファイルをリンクアドレス（src）を用いてＷＳ情報３００に定義することで、同一のワークスペース上で当該外部ファイルを他のオブジェクトと同時に扱うことができる。
【０１９３】
ところで、このような外部ファイルについても、前回のシナリオ再生時から今回のシナリオ再生時までの間に変更されている場合も想定される。このような外部ファイルの変更についても、シナリオ変更点として検出したい場合もある。以下、このような外部ファイルについての変更点を検出するための処理について説明する。
【０１９４】
より具体的には、シナリオ再生時に、当該時点におけるＷＳ情報３００の内容とともに、当該ＷＳ情報３００が参照している外部ファイルの情報をあわせて保存する。この外部ファイルの情報としては、外部ファイルを複製した、ファイル実体そのものであってもよいが、ファイルサイズの低減および変更点の有無を判断するといった観点からは、以下のようなより簡素化した情報のみを保存することが好ましい。
【０１９５】
このようなより簡素化した情報としては、ワークスペースが参照している外部ファイルのファイル名および／またはファイルの更新日時を用いてもよいが、より好ましくは、外部ファイルのある状態を示す固有値（典型的には、外部ファイルから生成されるハッシュ値）が用いられる。そして、先に保存されているハッシュ値と、次回のシナリオ再生時に、当該時点の外部ファイルから算出されるハッシュ値とを比較して、その値が一致しているか否かが判断される。そして、両者が一致していなければ、前回のシナリオ再生時から今回のシナリオ再生時までの間に、いずれかの外部ファイルの内容が変更されたことがわかる。
【０１９６】
図４４は、この発明の実施の形態の第１変形例に従うＷＳ情報３００の内容の一例を示す図である。図４５は、この発明の実施の形態の第１変形例に従うシナリオ変更点検出機能の処理を説明するための図である。図４６は、図４５に示す外部ファイル情報６００の内容の一例を示す図である。
【０１９７】
複数の外部ファイルがリンクとしてワークスペース上に組み込まれている場合を考える。この場合のＷＳ情報３００の内容としては、図４４に示すようになる。すなわち、図４４に示すＷＳ情報３００は、「salesplan.doc」という文書ファイルを参照するための記述３２１と、「map.jpg」という画像ファイルを参照するための記述３２２とを含む。
【０１９８】
このような外部ファイルがリンク付けられたワークスペースは、図４５（ａ）に示すようなファイルを用いて提供される。すなわち、図４４に示すような内容を含むＷＳ情報３００と、「salesplan.doc」および「map.jpg」を含むリンク対象の外部ファイル３１０とが用意される。このＷＳ情報３００に基づいてシナリオ情報４００が新規作成された場合を考える。
【０１９９】
次に、図４５（ｂ）を参照して、このシナリオ情報４００に対してシナリオ再生が指示されると、ＷＳ情報３００が複製されることでＷＳ情報（写）３５０が保存される。これと並行して、外部ファイル３１０の内容を特定するための情報を記述した外部ファイル情報６００が生成され、保存される。上述したように、この外部ファイル情報６００には、外部ファイルのファイル名、ファイルサイズ、更新日時といった当該時点の外部ファイルの状態を特定するための情報を記述してもよいが、本変形例においては、外部ファイルのある状態を示す固有値（典型的には、外部ファイルから生成されるハッシュ値）を用いる構成について例示する。
【０２００】
具体的な一例として、図４６には、外部ファイル情報６００に記述される内容の一例を示す。すなわち、外部ファイル情報６００は、外部ファイル「salesplan.doc」についての記述６１０と、外部ファイル「map.jpg」についての記述６２０とを含む。この記述６１０は、外部ファイル「salesplan.doc」に割当てられたオブジェクトの識別番号（object id）を示す値（この例では、「１１」）を要素値として含む<object id>タグ６１１と、対象の外部ファイルのファイル名を要素値として含む<src>タグ６１２と、対象の外部ファイルから算出されたハッシュ値を要素値として含む<hash value>タグ６１３とを含む。また、記述６２０についても、記述６１０と同様に、<object id>タグ６２１と、<src>タグ６２２と、<hash value>タグ６２３とを含む。
【０２０１】
なお、ハッシュ値の算出方法については、公知の方法を用いることができるので、詳細な説明は行なわない。
【０２０２】
次に、図４５（ｃ）を参照して、シナリオの再生が再度指示された場合には、上述の本実施の形態と同様に、当該時点のＷＳ情報３００と、先に保存されているＷＳ情報（写）３５０とが比較され、ＷＳ情報３００に直接的に定義されているオブジェクトに関する変更点の検出処理が行なわれる。並行して、当該時点における外部ファイル３１０の各々からハッシュ値が算出され（外部ファイル情報）、この算出された外部ファイル情報と先に保存されている外部ファイル情報６００とが比較され、ＷＳ情報３００に間接的に定義されているオブジェクト（外部ファイル）に関する変更点の検出処理が行なわれる。
【０２０３】
このような変更点検出処理が採用することで、ＷＳ情報３００に直接的に記述されているオブジェクトだけではなく、ＷＳ情報３００に間接的に記述されている外部ファイルについても、前回のシナリオ再生時から変更点の有無をユーザに通知することができる。
【０２０４】
本変形例によれば、外部ファイルの情報全体を保存しておくのではなく、外部ファイルのある状態を示す固有値（ハッシュ値）が保存されるので、記憶容量などが過大に増大することを回避できる。それに伴って、ワークスペース上に多数の外部ファイルが存在する場合であっても、それらに対する変更点の有無をより効率的に検出することができる。
【０２０５】
＜第２変形例＞
上述の実施の形態においては、シナリオ情報４００に記述されているすべてのオブジェクトについての変更の有無を判断する構成について例示した。しかしながら、シナリオを用いて説明する内容によっては、オブジェクトのうち重要なものとそうでないものが存在する場合がある。このような場合には、重要なオブジェクトについての変更の有無のみが分かれば十分であることも多いと考えられる。すなわち、重要ではないオブジェクトの変更（たとえば、背景オブジェクトの色の変更など）については、シナリオの本旨とは関係ないので、そのような変更を排除することがより効率的であると考えられる。
【０２０６】
そこで、シナリオ情報４００の基づいてシナリオを最初に再生する際に、予め変更の有無を判断する対象とすべきオブジェクトを指定することができると、より効率的である。以下、このような処理について例示する。
【０２０７】
図４７は、この発明の実施の形態の第２変形例に従うシナリオ再生時の操作を説明するための図である。図４８は、図４７に示す操作によって生成されるＷＳ情報（写）３５０の内容の一例を示す図である。
【０２０８】
本変形例においては、ユーザは、指定したシナリオ情報４００に対する再生指示によって表示されるシナリオページ編集ウィンドウ１８２上で、マウスに対するドラッグ操作などによって、変更の有無を判断する対象とすべき対象オブジェクトを指定する。具体的には、ユーザは、表示されるカーソルＣＲＳを移動させて、対象オブジェクトを囲むような対象範囲１９８を指定する。
【０２０９】
このシナリオ再生時には、当該時点のＷＳ情報３００が複製されて、ＷＳ情報（写）３５０として保存されるが、このＷＳ情報（写）３５０に対して、この対象範囲１９８に含まれるオブジェクトとそれ以外のオブジェクトとを識別するための情報が付加される。より具体的な一例として、図４８に示すように、ＷＳ情報（写）３５０には、対象オブジェクトを特定するための<check/>タグ３５２が付与される。すなわち、図４７に示す例では、オブジェクトＯＢＪ４（object id=4）が対象オブジェクトとして指定されており、これに対応して、図４８に示すＷＳ情報（写）３５０の<object id=4>タグ内には、<check/>タグ３５２が付与される。
【０２１０】
なお、このような対象オブジェクトの指定方法は、上述ような範囲で指定する方法に限られず、オブジェクト単位での指定、シナリオページ単位での指定、シナリオページに対する検索結果の基づく指定などを採用してもよい。
【０２１１】
本変形例においては、上述した図４３のフローチャートのステップＳ１４４において、この<check/>タグ３５２に基づく処理が行われる。より具体的には、ＣＰＵ２は、ＷＳ情報３００とＷＳ情報（写）３５０との比較によって抽出した変更点のうち、再生が指示されたシナリオ情報４００に記述されており、かつ、<check/>タグ３５２が付与されているオブジェクトを抽出する。すなわち、<check/>タグ３５２が付与されていないオブジェクトについては、変更点としての抽出対象から除外される。その他の処理は、上述の実施の形態と同様であるので、詳細な説明は繰返さない。
【０２１２】
上述のように、本変形例に従うワークスペースにおいては、シナリオ情報４００に定義されるオブジェクトのうち、前回のシナリオ再生時からの変更の有無を判断すべき対象のオブジェクトを設定することが可能である。そして、前回のシナリオ再生時に記憶されたＷＳ情報３００定義内容（ＷＳ情報（写）３５０および／またはハッシュ値）と、今回のシナリオ再生時のＷＳ情報３００における定義内容との間の相違点のうち、当該対象オブジェクトとして設定されたオブジェクトに関する相違点のみが抽出される。
【０２１３】
本変形例によれば、シナリオが多数ページにわたるような場合に、重要性の低いオブジェクトを含む多数のオブジェクトについての変更点が通知されると、かえって効率が低下する場合も多い。このような場合に、予めシナリオ作成者が目的とする説明の内容などに基づいて重要であると考えるオブジェクトについてのみ、前回のシナリオ再生時から変更されているか否かを知ることができる。これによって、より効率的にシナリオ機能を活用することができる。
【０２１４】
＜第３変形例＞
上述の実施の形態においては、ワークスペースの状態がシナリオの内容に逐次反映される構成について例示した。しかしながら、シナリオの重要性などに応じて、シナリオをワークスペースから切離すようにしてもよい。すなわち、シナリオ作成時におけるワークスペースの状態を保存しておき、この保存したワークスペースの状態に基づいてシナリオを再生するようにしてもよい。以下、このような処理について説明する。
【０２１５】
図４９は、この発明の実施の形態の第３変形例に従うシナリオ情報および関連するファイルの状態を説明するための図である。図５０は、この発明の実施の形態の第３変形例に従うＷＳ情報３００＃の内容の一例を示す図である。図５１は、この発明の実施の形態の第３変形例に従うシナリオ巻き戻し処理を説明するための図である。
【０２１６】
本変形例においては、ユーザが何らかのシナリオを作成した後、当該シナリオをワークスペースから切離すための指示を与えることができる。このようなワークスペースからの切離しの指示によって、シナリオ情報４００ならびにＷＳ情報３００および外部ファイル３１０が複製されて、独立したファイルとして新たに生成される。
【０２１７】
より具体的には、図４９（ａ）に示すように、シナリオ情報４００と、当該シナリオ情報４００の作成元となった、ＷＳ情報３００および外部ファイル３１０とが存在している状態で、ユーザによるシナリオの切離し指示が与えられると、それぞれのファイルが複製される。すなわち、図４９（ｂ）に示すように、当該時点のシナリオ情報４００、ＷＳ情報３００、外部ファイル３１０がそれぞれ、シナリオ情報４００＃、ＷＳ情報３００＃、外部ファイル３１０＃として複製される。なお、このとき、それぞれのファイルは、元のファイルと区別するために、それぞれのファイル名が変更される。たとえば、以下に示すように、複製時のタイムスタンプがファイル名に付与された新たなファイルが採用される。
【０２１８】
シナリオ情報：SC.xml→SC_200903181502.xml.backup
ＷＳ情報：WS.xml→WS_200903181502.xml
外部ファイル：
salesplan.doc→salespalan.doc.200903181502.backup
map.jpg→map.jpg.200903181502.backup
シナリオ情報４００＃、ＷＳ情報３００＃、外部ファイル３１０＃は、いわゆるローカルエリアに保存されており、他の処理装置ＰＣによってその内容が変更されることが禁止される。
【０２１９】
また、ＷＳ情報３００には、外部ファイル３１０のファイル名を参照情報として記述しているので、上述のような外部ファイル３１０のファイル名が変更された場合には、ＷＳ情報３００と外部ファイル３１０との間の対応関係を更新する必要がある。より具体的には、図５０に示すように、ＷＳ情報３００から生成されたＷＳ情報３００＃においては、外部ファイルを示すリンクアドレス（src）の値が元の外部ファイル３１０のファイル名から、新たに生成された外部ファイル３１０＃のファイル名を示す値に変更されている。より具体的には、ＷＳ情報３００＃は、新たに生成された外部ファイル３１０＃に含まれる「salespalan.doc.200903181502.backup」を要素値として含む<src>タグ３６１と、同じく「map.jpg.200903181502.backup」を要素値として含む<src>タグ３６２とが記述される。これにより、ファイル名が変更された外部ファイルであっても、ＷＳ情報３００と外部ファイル３１０との間の対応関係を維持することができる。
【０２２０】
すなわち、本変形例においては、ユーザによって切離操作がなされると、当該操作時点のＷＳ情報３００における定義内容を含むＷＳ情報３００＃が生成され、このＷＳ情報３００＃を参照することで、シナリオ情報４００（または、シナリオ情報４００＃）に定義されているオブジェクトを、ＷＳ情報３００の定義内容（すなわち、ワークスペースの状態）とは独立して表示再生できる。
【０２２１】
図４９に示すような、シナリオ情報４００＃、ＷＳ情報３００＃、外部ファイル３１０＃のセットを用いることで、シナリオ作成後にワークスペースに対して行なわれた変更に影響を受けることなく、同じ内容のシナリオを再生することができる。
【０２２２】
さらに、上述の実施の形態に従うワークスペースにおいて、図４９に示すような、シナリオ情報４００＃、ＷＳ情報３００＃、外部ファイル３１０＃のセットを保存しておくことで、シナリオの内容をシナリオ作成時の状態に巻戻すこともできる。すなわち、図５１に示すように、シナリオ情報４００＃、ＷＳ情報３００＃、外部ファイル３１０＃を用いて、それぞれシナリオ情報４００、ＷＳ情報３００、外部ファイル３１０を上書きすることで、シナリオ作成時（もしくは、バックアップを行った時点）の状態に巻戻すことができる。
【０２２３】
この巻戻し処理においては、上述の図４９における処理と反対の処理を行なうことになる。すなわち、ローカルエリアに保存されているファイルのファイル名を元のファイル名に変更するともに、上述の図５０と同様に、ＷＳ情報３００（元のＷＳ情報３００＃）と外部ファイル３１０（元の外部ファイル３５０＃）との間の対応関係が更新される。
【０２２４】
すなわち、ＷＳ情報３００をＷＳ情報３００＃の内容に更新し、この更新後のＷＳ情報３００に基づいてシナリオ再生することで、ＷＳ情報３００＃の生成が指示された時点、すなわちユーザによって切離しが指示された時点の状態で表示する。このような処理を行なうことで、任意の時点で、シナリオ作成時の状態に巻戻すことができる。
【０２２５】
本変形例によれば、非常に重要なシナリオなどについて、ワークスペース上の状態に影響を受けないように管理することができる。さらに、何らかの不具合があった場合に、任意のタイミングで、ワークスペースおよびシナリオを元の状態に戻すこともできる。
【０２２６】
＜第４変形例＞
上述の実施の形態においては、シナリオの内容とは独立して、ワークスペースに対する変更が許可される構成について例示したが、場合によっては、シナリオの内容に応じて、ワークスペースに対する変更に対する警告を行なう場合も好ましい場合がある。以下では、このような構成について例示する。
【０２２７】
ワークスペース上における何らかのオブジェクトの削除は、ＷＳ情報３００におけるオブジェクト定義の削除を意味する。本変形例においては、このオブジェクト定義が削除される前に、当該オブジェクトがシナリオに参照されているか、すなわちシナリオ情報４００に削除対象のオブジェクトをリンクする参照情報が含まれているか否かが判断される。そして、シナリオ情報４００に削除対象のオブジェクトに対する参照情報が含まれている場合には、当該オブジェクトの削除を指示したユーザに対して、シナリオに使用されている旨の警告を与えて、シナリオの意図しない変更の発生を抑制する。たとえば、外部ファイル３１０がシナリオに使用されているか否かについては、外部ファイル情報６００に記述されているオブジェクトの識別番号を基づいて判断される。
【０２２８】
図５２は、この発明の実施の形態の第４変形例に従うオブジェクトの削除に対する警告処理を説明するための図である。図５３は、この発明の実施の形態の第４変形例に従うオブジェクトの削除に対する警告処理の表示例を示す図である。図５４は、この発明の実施の形態の第４変形例に従うシナリオの復元処理を説明するための図である。
【０２２９】
図５２を参照して、シナリオ作成後に当該シナリオが一度でも再生されると、ＷＳ情報３００および外部ファイル３１０に加えて、シナリオ情報４００と、ＷＳ情報（写）３５０と、外部ファイル情報６００とが生成される。この状態において、ユーザがワークスペース上のいずれかの外部ファイルのオブジェクトを削除する編集操作を行なうと、削除対象のオブジェクトの識別情報が外部ファイル情報６００に記述されているか否かが確認される。ここで、削除対象のオブジェクトの識別番号が外部ファイル情報６００に記述されていなければ、そのまま削除対象のオブジェクト（および、対応する外部ファイル３１０）が削除される。
【０２３０】
これに対して、削除対象のオブジェクトの識別番号が外部ファイル情報６００に記述されていれば、ユーザに対して、削除対象のオブジェクトがシナリオに使用されている旨の警告が通知される。より具体的には、図５３に示すように、警告ウィンドウ７００が表示される。この警告ウィンドウ７００には、「削除しようとするオブジェクトはシナリオに使用されています。」という警告メッセージとともに、「削除しますか？」という確認メッセージが表示される。また、警告ウィンドウ７００には、対象のオブジェクトに対する削除を許可するための「はい」ボタン７０２と、対象のオブジェクトに対する削除をキャンセルするための「いいえ」ボタン７０４とが選択可能に表示される。そして、ユーザが「はい」ボタン７０２を選択すると、対象のオブジェクトが削除され、ユーザが「いいえ」ボタン７０４を選択すると、対象のオブジェクトに対する削除は中止される。なお、警告ウィンドウ７００には、オブジェクトの名称や識別番号（ｉｄ）を同時に表示するようにしてもよい。
【０２３１】
このように、ワークスペース上で編集操作を行なうユーザに対して、シナリオに関連しているオブジェクトの変更（特に、削除）については、その実行前に警告がなされるので、シナリオが不用意に変更されてしまう事態を回避できる。
【０２３２】
さらに、ワークスペース上から削除されてしまっても、シナリオ再生時には、正常に表示されるように、削除対象のオブジェクトをローカルエリアに保存しておいてもよい。具体的には、図５４に示すように、ＷＳ情報３００において対象のオブジェクトの定義が削除された後であって、対応する外部ファイル３１０が削除される前に、削除対象の外部ファイル３１０が複製されて、実体ファイル３１０Ａとしてローカルエリアに保存される。それとともに、シナリオ情報４００における当該実体ファイル３１０の参照先が変更される。
【０２３３】
このような操作によって、実体ファイル３１０が削除後であっても、シナリオ情報４００に基づいて削除前と同じシナリオが再生できる。
【０２３４】
本変形例によれば、予め作成されているシナリオに影響を与えるようなワークスペースに対する変更操作に対して警告を行なうので、シナリオ作成者などが意図しないシナリオ内容の変更をより確実に抑制することができる。
【０２３５】
＜その他の変形例＞
上述したシナリオおよびシナリオページの記述形式、それらの記録方法、およびシナリオの再生方法などについては、上述した実施の形態のものに限定されるものではない。例えば、シナリオおよびシナリオページは、参照情報（リンク）の順序付の集合として記述することもできる、あるいは、別途リスト等の形式で保持したオブジェクトの表示属性をシナリオ再生時に処理装置ＰＣにおいて解釈可能な形式に変換して利用する形式でもよい。
【０２３６】
また、上述の実施の形態においては、あるユーザが作業する処理装置ＰＣ上でシナリオ表示を行なう場合の構成について例示したが、処理装置ＰＣに接続されたプロジェクター装置などでシナリオ表示の内容をより大型のスクリーンなどに投射するような使用形態も想定される。あるいは、サーバ装置ＳＲＶにＷＳ情報３００およびシナリオ情報４００を格納する場合には、当該シナリオを作成したユーザが説明を行なう先のユーザに向けて、サーバ装置ＳＲＶ上のＷＳ情報３００およびシナリオ情報４００の格納先のアドレスを示した電子メールなどを送付し、当該電子メールを受取ったユーザが自身の処理装置ＰＣ上でシナリオ表示を見るような使用形態も想定される。さらに、あるユーザが作成したＷＳ情報３００およびシナリオ情報４００のファイル自体を電子メールなどによって、説明を行なう先のユーザに向けて送信するような使用形態であってもよい。
【０２３７】
＜その他の実施の形態＞
本発明に係るプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
【０２３８】
さらに、本発明に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【０２３９】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
【０２４０】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０２４１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２４２】
２  ＣＰＵ、４  内部バス、６  出力装置、８  通信インターフェイス、１０  入力装置、１２  ハードディスク、１４  メモリ、１６  ＣＤ−ＲＯＭドライブ、１６ａ  ＣＤ−ＲＯＭ、１８  ＦＤドライブ、１８ａ  フレキシブルディスク、１００  処理部、１０２  操作管理部、１０４  ビュー管理部、１０６  オブジェクト管理部、１０８  シナリオ管理部、１１０  空間管理部、１１２  入出力部、１１４  作業メモリ、１２０  ＷＳ格納部、１２０ａ  ＷＳ情報、１３０  入出力制御装置、３００  ワークスペース（ＷＳ）情報、４００  シナリオ情報、ＮＷ  ネットワーク、ＰＣ，ＰＣ１〜ＰＣＮ  情報処理装置（処理装置）、ＳＲＶ  サーバ装置。
【図１】
2010287158.tif 000003
【図２】
2010287158.tif 000004
【図３】
2010287158.tif 000005
【図４】
2010287158.tif 000006
【図５】
2010287158.tif 000007
【図６】
2010287158.tif 000008
【図７】
2010287158.tif 000009
【図８】
2010287158.tif 000010
【図９】
2010287158.tif 000011
【図１０】
2010287158.tif 000012
【図１１】
2010287158.tif 000013
【図１２】
2010287158.tif 000014
【図１３】
2010287158.tif 000015
【図１４】
2010287158.tif 000016
【図１５】
2010287158.tif 000017
【図１６】
2010287158.tif 000018
【図１７】
2010287158.tif 000019
【図１８】
2010287158.tif 000020
【図１９】
2010287158.tif 000021
【図２０】
2010287158.tif 000022
【図２１】
2010287158.tif 000023
【図２２】
2010287158.tif 000024
【図２３】
2010287158.tif 000025
【図２４】
2010287158.tif 000026
【図２５】
2010287158.tif 000027
【図２６】
2010287158.tif 000028
【図２７】
2010287158.tif 000029
【図２８】
2010287158.tif 000030
【図２９】
2010287158.tif 000031
【図３０】
2010287158.tif 000032
【図３１】
2010287158.tif 000033
【図３２】
2010287158.tif 000034
【図３３】
2010287158.tif 000035
【図３４】
2010287158.tif 000036
【図３５】
2010287158.tif 000037
【図３６】
2010287158.tif 000038
【図３７】
2010287158.tif 000039
【図３８】
2010287158.tif 000040
【図３９】
2010287158.tif 000041
【図４０】
2010287158.tif 000042
【図４１】
2010287158.tif 000043
【図４２】
2010287158.tif 000044
【図４３】
2010287158.tif 000045
【図４４】
2010287158.tif 000046
【図４５】
2010287158.tif 000047
【図４６】
2010287158.tif 000048
【図４７】
2010287158.tif 000049
【図４８】
2010287158.tif 000050
【図４９】
2010287158.tif 000051
【図５０】
2010287158.tif 000052
【図５１】
2010287158.tif 000053
【図５２】
2010287158.tif 000054
【図５３】
2010287158.tif 000055
【図５４】
2010287158.tif 000056