(57)【要約】【課題】仮想的な作業空間上における作業結果および／または途中経過の内容を、相手先に応じた態様で容易に説明することが可能であり、かつ、変更および／または修正を共通的に反映することが可能な情報処理装置、方法およびプログラムを提供する。【解決手段】シナリオページ１からシナリオページ２へ続く再生順序の定義に加えて、シナリオページ２’へ続く再生順序の定義を追加する。同様に、シナリオページ３からシナリオページ５を経てシナリオページ６へと続く再生順序の定義に加えて、シナリオページ３からシナリオページ４を経てシナリオページ６へと続く再生順序の定義を追加する。複数のシナリオの間で共通するシナリオページについては、可能な限り共有化するとともに、新たに追加または変更する必要のあるシナリオページについては、その前のシナリオページにおける分岐として定義することで、シナリオの内容をより多面的にする。【選択図】図４３
2010267214.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>タグ内には、その囲み線の線の太さを記述するｗｉｄｔｈ属性が定義され、このｗｉｄｔｈ属性の値は、ユーザ操作に応じた値、あるいはデフォルト値となる。
【００８５】
（４）付与属性表示
本実施の形態に従うワークスペースにおいては、オブジェクトＯＢＪ２に対して属性としてコメントを付与することができる。このとき、このようにオブジェクトに付与した属性をワークスペース上に表示するように設定することもできる。具体的な一例として、ユーザが、ワークスペース上のオブジェクトＯＢＪ２に関連付けて、「重要」というコメントを付与した場合を考える。このとき、このコメントを付与したユーザ名やその時刻などが付帯的な属性としてＷＳ情報３００に記述される。さらに、ユーザが、これらのコメントおよび付帯的な属性の表示を有効化することで、図１４（ａ）に示すように、コメントおよびその付与された時刻が表示されたオブジェクトＯＢＪ２Ｄに更新される。
【００８６】
このようなコメントの付与は、具体的には、ＷＳ情報３００中の付与属性（commentタグ）によって実現される。すなわち、図１４（ｂ）に示すように、オブジェクトＯＢＪ２に対応する記述３１２は、それに対して<comment>タグおよび</comment>タグが追加された記述３１２Ｄに更新される。この<comment>タグおよび</comment>タグによって囲まれる範囲には、コメントの内容である「重要」が記述される。
【００８７】
さらに、記述３１２Ｄにおいては、上記のコメントに係る付帯的な属性は、<input>タグを用いて定義される。具体的には、その属性としてｄａｔｅ属性およびｕｓｅｒ属性が定義される。ｄａｔｅ属性には、対応するコメントが追加された時刻が記述され、ｕｓｅｒ属性には、対応するコメントを追加したユーザのＩＤが記述される。なお、これらの属性は、コメントの追加に応答して、システム側が自動的に付与するようにすることが好ましい。
【００８８】
さらに、記述３１２Ｄにおいては、これらの付帯的な属性および追加されたコメントの表示を有効にするか否かを示す<display>タグが記述される。この<display>タグは、付帯的な属性についての表示の有効／無効を定義するためのｉｎｐｕｔ属性、および追加されたコメントについての表示の有効／無効を定義するためのｃｏｍｍｅｎｔ属性を含む。各属性については、有効を示す「ＯＮ」、または無効を示す「ＯＦＦ」が記述される。
【００８９】
図１４（ｂ）に示す例では、ｉｎｐｕｔ属性およびｃｏｍｍｅｎｔ属性がいずれも「ＯＮ」に設定されているので、図１４（ａ）に示すように、追加されたコメントとともに、その付帯的な属性がワークスペース上に表示される。
【００９０】
（５）表示装飾変更
ユーザがオブジェクトＯＢＪ２に対してその表示装飾を変更（この例では、点滅表示に設定）するような操作を行なうと、図１５（ａ）に示すように、オブジェクトＯＢＪ２は所定周期で点滅表示するオブジェクトＯＢＪ２Ｅに更新される。
【００９１】
このような表示装飾変更は、典型的には、表示装飾属性（animationタグ）によって実現される。すなわち、図１５（ｂ）に示すように、オブジェクトＯＢＪ２に対応する記述３１２は、それに対して<animation>タグが追加された記述３１２Ｅに更新される。この<animation>タグ内には、その表示装飾の内容を示すｔｙｐｅ属性として点滅を示す「ＢＬＩＮＫＩＮＧ」が定義される。このｔｙｐｅ属性の値は、ユーザ操作に応じたものとなる。
【００９２】
［ワークスペースにおけるシナリオ作成機能］
次に、図１６〜図２９を参照して、本実施の形態に従うワークスペースにおけるシナリオ作成機能について説明する。
【００９３】
（１）ユーザインターフェイス
図１６は、この発明の実施の形態に従う処理装置ＰＣ上におけるシナリオ機能の開始操作を説明するための図である。図１７〜図２３は、この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図である。
【００９４】
まず、本実施の形態に従うシナリオ機能は、ビュー表示ウィンドウ１５０上において、ユーザが「表示」ボタン１５６を選択することで表示されるダイアログ１５６ａに含まれる「シナリオ」をカーソルＣＲＳなどで選択することで、開始される。このシナリオ機能では、ユーザが作業を行なっているワークスペースを定義するＷＳ情報３００とは独立したシナリオ情報４００が生成されるとともに、ユーザ操作に応じてその内容が追加・更新される。このシナリオ情報４００では、シナリオもしくはシナリオページに対応付けて、ワークスペース上の特定のオブジェクトが指定される。
【００９５】
図１６に示すようにダイアログ１５６ａの「シナリオ」がカーソルＣＲＳなどによって選択されると、処理装置ＰＣの出力装置６には、図１７に示すような画面が表示される。図１７を参照して、シナリオ機能の実行中には、シナリオの作成・再生・変更反映などを制御するための制御ウィンドウ１６０が表示される。この制御ウィンドウ１６０には、複数のシナリオを選択するためのタブ１６１〜１６３が表示される。なお、図１７に示す例では、３つのシナリオを作成できるように、「シナリオ１」、「シナリオ２」、「シナリオ３」とタイトル付されたタブ１６１〜１６３が表示されているが、この選択可能なシナリオの数は３つの限定されることなく、操作性などを考慮して適宜設計することができる。あるいは、１つのシナリオのみを作成するようにした場合には、タブ表示を省略してもよい。
【００９６】
タブ１６１〜１６３のいずれかがカーソルＣＲＳなどで選択されると、対応のシナリオについての再生、設定、編集を指示するボタンなどが、シナリオページ毎に区別して表示される。より具体的には、例えば、シナリオ１に対応するタブ１６１が選択されると、シナリオ１に含まれるシナリオページ１〜３にそれぞれ対応付けて、各種ボタンが配置された領域１７１〜１７３が表示される。なお、本実施の形態に従うシナリオページは、ＷＳ情報３００の内容を関連付けて指定することでその実体を定義するため、シナリオページを「リンク」とも表す。そして、領域１７１には、対応するシナリオページの再生を指示する再生ボタン１７１ａと、対応するシナリオページの編集を指示する編集ボタン１７１ｂと、対応するシナリオページの設定を指示する設定ボタン１７１ｃとが選択可能に表示される。領域１７１および１７２についても、同様に、再生ボタン１７２ａおよび１７３ａと、対応するシナリオページの編集を指示する編集ボタン１７２ｂおよび１７３ｂと、対応するシナリオページの設定を指示する設定ボタン１７２ｃおよび１７３ｃとがそれぞれ選択可能に表示される。
【００９７】
さらに、制御ウィンドウ１６０には、シナリオの再生中などに現在のワークスペースにおける対応するオブジェクトの状態を表示させるためのオリジナル表示ボタン１６５と、シナリオ再生中に他のオブジェクトを表示させるための他オブジェクト表示ボタン１６６と、後述するワークスペースにおけるシナリオ多面化機能を実行するためのシナリオ詳細編集モードボタン１７４とが選択可能に表示される。
【００９８】
まず、何らかのシナリオページを作成する手順としては、ユーザは、まず、ビュー表示ウィンドウ１５０にワークスペース上の説明対象となるべき内容を表示させる。すなわち、ユーザは、ワークスペースの所望の領域を所望のサイズ（倍率）でビュー表示させる。図１７に示す例では、ワークスペース上のオブジェクトＯＢＪ９がビュー表示されている。そして、図１８に示すように、制御ウィンドウ１６０の領域１７１内の設定ボタン１７１ｃをユーザがカーソルＣＲＳなどによって選択することで、当該選択時点におけるビュー表示がシナリオ１の第１番目のシナリオページとして保存される。すなわち、ワークスペースの一部または全部の内容の表示中に、ユーザ操作に応答して、表示中のオブジェクトがシナリオに含まれる特定のオブジェクトとしてシナリオ情報４００に記録される。なお、シナリオページが保存済であることを示すために、対応する領域１７１の表示態様を他の領域とは異ならせることが好ましい。すなわち、図１８には、シナリオ１の第１番目のシナリオページに対応する領域１７１がハッチング表示されている。
【００９９】
以下、同様の手順に従って、シナリオ１の第２番目のシナリオページを作成する場合には、ビュー表示ウィンドウ１５０にワークスペース上の２番目に説明対象となるべき内容を表示させる。そして、図１９に示すように、制御ウィンドウ１６０の領域１７２内の設定ボタン１７２ｃをユーザがカーソルＣＲＳなどによって選択することで、当該選択時点におけるビュー表示がシナリオ１の第２番目のシナリオページとして保存される。
【０１００】
さらに、本実施の形態に従うワークスペースにおいては、元のワークスペースのある状態に対してプレゼンテーション用の説明などを付加したり、オブジェクトの元の表示態様とは異なる表示態様で表示したりすることができる。すなわち、ユーザ操作に応答して、シナリオ情報４００において指定される特定のオブジェクトに対して表示属性を付与することが可能である。なお、表示属性には、後述するように、オブジェクトの表示サイズ、表示色（オブジェクト色、背景色、境界線色等）、表示装飾（点滅表示や縁取り等）、表示有無などを含む。さらに、表示属性には、オブジェクト種類（画像およびテキストのいずれであるか）、拡大縮小率、線太さ、プロパティ表示有無（入力者や付与コメント等を表示させるか否か）といった内容を含み得る。
【０１０１】
たとえば、上述のように作成したシナリオ１のシナリオページ２に対して、何らかの編集操作を加える場合には、図２０に示すように、制御ウィンドウ１６０の領域１７２内の編集ボタン１７２ｂをユーザがカーソルＣＲＳなどによって選択することで、対応するシナリオページに対する編集が可能となる。具体的には、編集ボタン１７２ｂが選択されることで、シナリオページ編集ウィンドウ１８２が表示される。このとき、ユーザによる編集操作を指示するためのアイコン群（図示しない）などが表示されてもよい。このシナリオページ編集ウィンドウ１８２においては、表示される各オブジェクトに対して、色、サイズ、属性等を自在に変更することができる。
【０１０２】
一例として、図２１には、シナリオ１のシナリオページ２に含まれるオブジェクトＯＢＪ４の背景色が変更された状態を示す。なお、各オブジェクトに対する編集操作については、ワークスペース上のオブジェクトに対する編集操作と同様であり、これらの操作例については上述したので、詳細な説明は繰返さない。なお、シナリオページ編集ウィンドウ１８２上における編集操作の内容は、決定ボタン１８６が選択されるとシナリオ情報４００に反映され、キャンセルボタン１８８が選択されると取消される。
【０１０３】
さらに、図２２には、上述のシナリオ１のシナリオページ２と同様の内容のシナリオページ３を作成した後、別の編集操作を行なった例を示す。すなわち、図２２に示すシナリオページ編集ウィンドウ１８２には、図２１に示すシナリオページ編集ウィンドウ１８２の内容に対して、さらにオブジェクトＯＢＪ４に関連付けたコメントオブジェクト１９２が追加されるとともに、オブジェクトＯＢＪ５が非表示に設定されている状態を示す。
【０１０４】
さらに、図２３には、ＷＳ情報３００に定義されたオブジェクトとは独立した、シナリオ情報４００のみに定義されるオブジェクトを追加した例を示す。すなわち、図２３に示すシナリオページ編集ウィンドウ１８２には、図２２に示すシナリオページ編集ウィンドウ１８２の内容に対して、さらに（図形）オブジェクトＯＢＪ２１が追加されている状態を示す。
【０１０５】
なお、図１６〜図２３に示すユーザインターフェイスは一例であり、上述のような操作が可能であれば、どのようなユーザインターフェイスを用いてもよい。たとえば、上述の例では、制御ウィンドウ１６０内にシナリオページ毎に各種ボタンが表示される例を示したが、「次へ」ボタンおよび「戻る」ボタンを表示させて、シナリオページを相対的に指示可能にするとともに、現在選択中のシナリオページに対して、再生、設定、編集などを指示可能にしてもよい。また、一旦設定したシナリオページを削除するための「解除」ボタンなどを選択可能に表示してもよい。
【０１０６】
（２）データ構造
図２４〜図２９は、図１７〜図２３に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報４００の内容の一例を示す図である。なお、以下の説明では、シナリオ単位でシナリオ情報４００が生成される例を示すが、１つのシナリオ情報４００に複数のシナリオを含めるようにしてもよい。
【０１０７】
図２４には、シナリオ１に関連付けてシナリオページが未作成の状態（初期状態）における、シナリオ情報４００の内容の一例を示す。この図２４に示すシナリオ情報４００は、図１７に示すシナリオページが未だ作成されていない状態に対応する。図２４に示すように、シナリオ情報４００は、一例として、ＸＭＬなどのマークアップ言語で記述される。
【０１０８】
シナリオ情報４００は、対象のシナリオを特定するためのシナリオ（scenario）タグ４０２を含む。このシナリオタグ４０２には、典型的に、対象のシナリオの識別番号（id）、および当該シナリオの作成者（Author）などの情報が格納される。なお、シナリオタグ４０２には、文字エンコーディング属性などを含めてもよい。
【０１０９】
次に、図１６に示すように、ワークスペース上のオブジェクトＯＢＪ９を含むビュー表示に対応してシナリオページ１の作成が指示されると、シナリオ情報４００は図２５に示すような内容に更新される。
【０１１０】
図２５に示すシナリオ情報４００においては、図２４に示すシナリオ情報４００に対して、シナリオページ１を定義する記述４１０が追加されている。この記述４１０は、シナリオページ１に含まれるオブジェクトを特定するための情報を含む。より具体的には、<link>タグおよび</link>タグによって、いずれのシナリオページの内容であるかが指定される。すなわち、<link>タグの属性として、対象のシナリオの識別番号（id）が定義される。さらに、<link>タグおよび</link>タグ内には、対象とすべきオブジェクトについての参照情報４１１である、<target_object>タグおよび</target_object>タグが記述される。この<target_object>タグには、その属性値として、対象オブジェクトの識別番号（object id）を示す識別番号（id）が定義される。すなわち、シナリオ情報４００は、ＷＳ情報３００における特定のオブジェクトの定義内容と関連付けるための参照情報を含む。図２５に示すシナリオ情報４００においては、シナリオページ１に含まれるオブジェクトＯＢＪ９を示す識別情報として「ｉｄ＝９」が定義されている。さらに、後述するように、<target_object>タグおよび</target_object>タグ内には、対応するオブジェクトについての、シナリオページ編集ウィンドウ１８２上における編集操作の内容（すなわち、表示属性）が記述される。
【０１１１】
次に、図１９に示すオブジェクトＯＢＪ４〜ＯＢＪ６を含むビュー表示がシナリオページとして作成された場合のシナリオ情報４００の内容を図２６に示す。図２６に示すシナリオ情報４００においては、図２５に示すシナリオ情報４００に対して、シナリオページ２を定義する記述４２０が追加されている。この記述４２０は、シナリオページ２に含まれるオブジェクトＯＢＪ４〜ＯＢＪ６を特定するための情報を含む。すなわち、上述したような<target_object>タグおよび</target_object>タグを用いて、シナリオページ２に含まれる各オブジェクトについての参照情報４２１，４２２，４２３が定義される。
【０１１２】
その後、図２１に示すように、シナリオページ２に含まれるオブジェクトＯＢＪ４の背景色の（無色から赤色への）変更が指示されると、シナリオ情報４００は、図２７に示すような内容に更新される。すなわち、オブジェクトＯＢＪ４に対応する参照情報４２１に対して、シナリオページにおける表示属性を示す<color>タグおよび</color>タグが記述される。この<color>タグおよび</color>タグ内には、表示属性として、変更後の色を示す「ｒｅｄ」が定義されている。すなわち、<color>タグおよび</color>タグは、対応のオブジェクトのシナリオページにおける属性がワークスペース上の属性とは異なっていることを示す。
【０１１３】
さらに、図２３に示すように、オブジェクトＯＢＪ４〜ＯＢＪ６を含むシナリオページ３が作成された後、当該シナリオページ３に対して、オブジェクトＯＢＪ４に関連付けたコメントオブジェクト１９２の追加、およびオブジェクトＯＢＪ５の非表示化が指示されると、シナリオ情報４００は、図２８に示すような内容に更新される。
【０１１４】
図２８に示すシナリオ情報４００においては、図２７に示すシナリオ情報４００に対して、シナリオページ３を定義する記述４３０が追加されている。この記述４３０は、シナリオページ３に含まれるオブジェクトＯＢＪ４〜ＯＢＪ６を特定するための情報を含む。すなわち、上述したような<target_object>タグおよび</target_object>タグを用いて、シナリオページ３に含まれる各オブジェクトについての参照情報４３１，４３２，４３３が定義される。
【０１１５】
さらに、上述の編集操作に対応して、参照情報４３１は、表示属性として、シナリオページにおける表示属性を示す<color>タグおよび</color>タグ、コメントの内容を示す<comment>タグおよび</comment>タグ、およびコメントの表示を有効にするか否かを示す<display>タグを含む。<color>タグおよび</color>タグ内には、変更後の色を示す「ｒｅｄ」が定義されている。また、<comment>タグおよび</comment>タグ内には、コメントの内容である「これが結論」が記述されている。さらに、<display>タグには、コメントの表示が有効であることを示す「ＯＮ」が記述されている。
【０１１６】
また、参照情報４３２は、対応のオブジェクトの表示を有効にするか否かを示す<display_flag>タグおよび</display_flag>タグを含む。この<display_flag>タグおよび</display_flag>タグ内には、オブジェクトＯＢＪ５の非表示化の指示に対応して、非表示であることを示す「ＯＦＦ」が定義されている。
【０１１７】
図２９に示すシナリオ情報４００においては、図２８に示すシナリオ情報４００に対して、オブジェクトＯＢＪ２１を定義する記述４３４が追加されている。この記述４３４は、シナリオ用のオブジェクトであることを示す<scenario_object>タグおよび</scenario_object>タグを含み、<scenario_object>タグには、オブジェクトの識別番号（id）が属性として付加されている。さらに、この<scenario_object>タグは、対象のオブジェクトの色を定義するための<color>タグおよび対象のオブジェクトに付加すべきテキストを定義するための<text>タグを含む。
【０１１８】
このように、シナリオを定義するシナリオ情報４００においては、各オブジェクト自体の定義に代えて、ワークスペースを定義するＷＳ情報３００におけるオブジェクトの定義を参照するように記述される。そのため、シナリオの作成後に、ワークスペース上のオブジェクトに何らかの編集操作がなされたとしても、当該編集後の状態がシナリオに動的に反映される。また、シナリオ情報４００においては、<link>タグおよび</link>を用いることで、互いに独立した表示単位（シナリオページ）毎に、特定のオブジェクトを指定することが可能である。
【０１１９】
［ワークスペースにおけるシナリオ再生機能］
次に、図３０〜図３７を参照して、本実施の形態に従うワークスペースにおけるシナリオ再生機能について説明する。
【０１２０】
（１）ユーザインターフェイス
図３０は、この発明の実施の形態に従う処理装置ＰＣ上におけるシナリオ機能の開始操作を説明するための図である。図３１〜図３４は、この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図である。
【０１２１】
本実施の形態に従うシナリオ再生機能についても、上述の図１６と同様に、ビュー表示ウィンドウ１５０上において、ユーザが「表示」ボタン１５６を選択することで表示されるダイアログ１５６ａに含まれる「シナリオ」をカーソルＣＲＳなどで選択することで、開始される。
【０１２２】
図３１に示すように、シナリオ機能が開始されると、制御ウィンドウ１６０が表示される。その後、図３２に示すように、ユーザが制御ウィンドウ１６０の領域１７１内の再生ボタン１７１ａをカーソルＣＲＳなどによって選択することで、シナリオ表示ウィンドウ１８０が表示されるとともに、シナリオ情報４００がロードされる。そして、当該シナリオ情報４００の記述内容に基づいて、シナリオ表示ウィンドウ１８０内にシナリオ１のシナリオページ１が表示される。
【０１２３】
続いて、図３３に示すように、ユーザが制御ウィンドウ１６０の領域１７２内の再生ボタン１７２ａをカーソルＣＲＳなどによって選択することで、シナリオ表示ウィンドウ１８０の表示は、シナリオ表示ウィンドウ１８０内にシナリオ１のシナリオページ２に更新される。さらに、図３４に示すように、ユーザが制御ウィンドウ１６０の領域１７３内の再生ボタン１７３ａをカーソルＣＲＳなどによって選択することで、シナリオ表示ウィンドウ１８０の表示は、シナリオ表示ウィンドウ１８０内にシナリオ１のシナリオページ３に更新される。
【０１２４】
このように、複数のシナリオページが設定されている場合に、指定されたシナリオページに対応付けられた内容（それに含まれるオブジェクト）が表示される。すなわち、シナリオ情報４００に記載の表現順序に従って、各シナリオページの内容が順次描画される。より具体的には、シナリオ情報４００に含まれる参照情報に基づいて、ＷＳ情報３００の定義内容が参照されるとともに、当該参照することで得られた情報（各オブジェクトの定義）に基づいて、各シナリオページの内容が順次描画される。
【０１２５】
また、再生されるシナリオページは、シナリオページ作成時に設定した表示属性を反映したものとなっている。すなわち、シナリオ情報４００においては指定されるオブジェクトが、ＷＳ情報３００における対応する定義の内容と、シナリオ情報４００において付与されている表示属性とに基づいて描画される。
【０１２６】
なお、図３１〜図３４に示すユーザインターフェイスは一例であり、上述のような操作が可能であれば、どのようなユーザインターフェイスを用いてもよい。たとえば、上述の例では、制御ウィンドウ１６０内の再生ボタンが選択される毎に、対応するシナリオページが表示される例を示したが、「次へ」ボタンおよび「戻る」ボタンを選択可能に表示させて、表示されるシナリオページを相対的に移動できるようにしてもよい。あるいは、いわゆるスライドショーのように、所定時間毎にシナリオページの表示が順次切換わるようにしてもよい。すなわち、複数のシナリオページが設定されている場合に、各シナリオページに対応付けられた内容（それに含まれる特定のオブジェクト）を所定順序で切替えて表示してもよい。
【０１２７】
（２）ビュー表示設定の算出処理
ところで、本実施の形態に従うシナリオ情報４００には、シナリオ再生時に表示すべき範囲（ビュー表示設定）を明示的には定義していない。すなわち、図４に示すＷＳ情報３００においては、<point>タグおよび<zoom_scale>タグなどを用いて、ビュー表示の中心座標や表示倍率が指定されるのに対して、図２５〜図２８に示すシナリオ情報４００においては、ワークスペース上の表示すべきオブジェクトを特定する参照情報および表示属性などが指定されているに過ぎない。そのため、シナリオ再生時に、どの範囲および表示倍率でビュー表示を出力するべきであるかが明示的に定義されていない。これは、ワークスペース上のオブジェクトに対する変更に動的に対応できるようにするためである。たとえば、ワークスペース上の対象オブジェクトなどのサイズが変更された場合であっても、シナリオ生成時にそのオブジェクトの一部が表示されないといった不具合の発生を回避するためである。
【０１２８】
そこで、本実施の形態に従う処理装置ＰＣにおいては、シナリオ再生時に、表示すべきオブジェクトの情報に基づいて、自動的にビュー表示の設定（ビュー表示範囲および表示倍率など）を算出する。以下、このビュー表示の設定の算出処理について例示する。
【０１２９】
図３５は、この発明の実施の形態に従うシナリオ再生機能におけるビュー表示の設定算出処理を説明するための図である。図３６および図３７は、図３５に示す各オブジェクトの座標情報を取得する処理を説明するための図である。
【０１３０】
まず、本実施の形態に従うシナリオ生成時のビュー表示は、所定のアスペクト比をもった方形状となるものとし、この表示範囲を方形上に設定される対角線上の２つの座標点によって定義するものとする。すなわち、図３５に示すように、本実施の形態に従うワークスペースを、紙面左上を基準とするＸ軸およびＹ軸の２次元平面として定義し、シナリオ再生時のビューとして表示される範囲を開始座標（ｘｓ，ｙｓ）および終了座標（ｘｅ，ｙｅ）で囲まれる四角形の範囲とする。また、ビュー表示として有効な大きさをＸｗ×Ｙｗとする。
【０１３１】
たとえば、シナリオ情報４００に３つのオブジェクトについての参照情報が記述されており、これらのオブジェクトＯＢＪｓが図３５に示すような位置関係にあったものとする。この図３５に示す例においては、オブジェクトＯＢＪｓをすべて包含するのに必要なＸ軸方向の幅はＷであり、オブジェクトＯＢＪｓをすべて包含するのに必要なＹ軸方向の高さはＨである。すなわち、オブジェクトＯＢＪｓのＸ軸成分の集合をＰとし、オブジェクトＯＢＪｓのＹ軸成分の集合をＱとすると、幅Ｗおよび高さＨは、以下の演算式で表される。
【０１３２】
Ｗ＝Ｍａｘ（ｘ∈Ｐ）−Ｍｉｎ（ｘ∈Ｐ）
Ｈ＝Ｍａｘ（ｙ∈Ｑ）−Ｍｉｎ（ｙ∈Ｑ）
ビュー範囲が所定のアスペクト比になる必要があるので、Ｘ軸方向の幅ＷおよびＹ軸方向の高さＨのいずれを基準にすべきか、ならびに拡大縮小率（scale）に相当する変倍率Ｒａｔｅが以下の演算式に従って算出される。
【０１３３】
Ｒａｔｅ＝Ｍｉｎ（Ｘｗ／Ｗ，Ｙｗ／Ｈ）
さらに、所定のマージン幅ΔｘおよびΔｙを考慮して、開始座標（ｘｓ，ｙｓ）は以下の演算式に従って算出される。
【０１３４】
ｘｓ＝Ｍｉｎ（ｘ∈Ｐ）−Δｘ
ｙｓ＝Ｍｉｎ（ｙ∈Ｑ）−Δｘ
また、終了座標（ｘｅ，ｙｅ）は以下の演算式に従って算出される。
【０１３５】
ｘｅ＝ｘｓ＋Ｗ×Ｒａｔｅ
ｙｅ＝ｙｓ＋Ｗ×Ｒａｔｅ
次に、図３６および図３７を参照して、上述の図３５に示すオブジェクトＯＢＪｓの位置関係を取得する方法について説明する。オブジェクトＯＢＪｓの位置関係については、（ｉ）オブジェクト自体が元来保持する大きさの情報を利用する場合と、（ｉｉ）ＷＳ情報３００の記述内容に基づく場合とがある。（ｉ）の場合については、典型的には、外部リンクの画像ファイルなどを用いる場合であり、この場合には、参照先の画像ファイル自体にそのサイズが記述される。一方、（ｉｉ）の場合については、ワークスペース上において作成された線オブジェクトやテキストオブジェクトの定義などを用いる場合である。あるいは、外部リンクを用いて画像ファイルをインポートしている場合であっても、ワークスペース上の画像サイズを明示的に定義しているなども相当する。
【０１３６】
たとえば、図３７に示すＷＳ情報３００に含まれる画像オブジェクトに関する記述３１１においては、<image>タグ内の属性において、配置座標（x='60' y='180'）が定義されるとともに、<size>タグを用いてその表示サイズ（x='80' y='50'）が定義されている。したがって、このＷＳ情報３００における記述３１１に基づくと、図３６に示すように、ｘ＝６０〜１４０およびｙ＝１８０〜２３０の範囲に、対応する画像オブジェクトが存在することがわかる。
【０１３７】
同様に、ＷＳ情報３００に含まれるテキストオブジェクトに関する記述３１４においては、<text>タグ内の属性において、配置座標（x='40' y='40'）が定義されるとともに、<size>タグを用いてその表示サイズ（x='40' y='25'）が定義されている。したがって、このＷＳ情報３００における記述３１４に基づくと、図３６に示すように、ｘ＝４０〜８０およびｙ＝４０〜６５の範囲に、対応するテキストオブジェクトが存在することがわかる。
【０１３８】
以上のように、各シナリオページに含まれる特定のオブジェクトのワークスペースにおける位置関係に基づいて、当該特定のオブジェクトを表示する範囲および表示倍率の少なくとも一方が決定される。
【０１３９】
［ワークスペースに対する変更反映機能］
この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能では、シナリオ再生中に、ユーザ操作によって元のワークスペースに対する編集操作を行なうことが可能である。以下、図３８〜図４２を参照して、本実施の形態に従うシナリオ再生機能における変更反映機能について説明する。
【０１４０】
（１）ユーザインターフェイス
図３８〜図４１は、この発明の実施の形態に従うワークスペースのシナリオ再生機能における変更反映機能の操作を説明するための図である。
【０１４１】
たとえば、図３８に示すように、シナリオ１のシナリオページ２の再生中に、ユーザがいずれかのオブジェクトをカーソルＣＲＳなどによって選択することで、対応するシナリオページ内のオブジェクトに対する編集操作が可能となる。
【０１４２】
一例として、図３９に示すように、ユーザがカーソルＣＲＳなどを操作して、オブジェクトＯＢＪ６のサイズ変更を行なったとする。すると、このオブジェクトＯＢＪ６に対するサイズ変更は、対応するシナリオページを定義するシナリオ情報４００ではなく、参照先にワークスペースを定義するＷＳ情報３００に反映される。そのため、この編集操作の後、ユーザが領域１７３内の再生ボタン１７３ａをカーソルＣＲＳなどによって選択すると、図４０に示すように、シナリオ１のシナリオページ３が表示されるが、この表示されるシナリオページ３においても、上記のオブジェクトＯＢＪ６に対する編集操作（サイズ変更）が反映されることになる。
【０１４３】
なお、図３９に示すように、他オブジェクト表示ボタン１６６が選択されると、対応するシナリオページには含まれていないが、実際のワークスペース上には隣接して存在するオブジェクトが表示される。すなわち、図３９には、シナリオページ２には含まれていないオブジェクトＯＢＪ７が表示されている。
【０１４４】
上述の例では、シナリオ再生中に選択したオブジェクトに対してサイズ変更を行なう場合の手順について説明したが、上述した、色変更、属性変更、付与属性表示、表示装飾変更などの各種編集操作が可能である。さらに、ビュー表示の設定（ビュー表示範囲および表示倍率など）についても変更が可能である。
【０１４５】
さらに、図４１に示すように、シナリオ再生中に、オリジナル表示ボタン１６５が選択されると、ビュー表示ウィンドウ１５０がアクティブ表示される。すなわち、ビュー表示ウィンドウ１５０によって、現在のワークスペースにおける対応するオブジェクトの状態が表示される。
【０１４６】
（２）データ構造
図４２は、図３９に示すシナリオ再生中の編集操作によって変更されるＷＳ情報の内容の一例を示す図である。図４２（ａ）は、変更前の内容を示し、図４２（ｂ）は、変更後の内容を示す。なお、図３９においては、オブジェクトＯＢＪ６に対するサイズ変更を行なうとともに、ビュー表示の表示倍率を変更したものとする。この結果、ＷＳ情報３００に含まれる、ビュー表示を特定するための記述３０４においては、<zoom_scale>タグおよび</zoom_scale>タグ内の属性値が「１．５」から「１．２」へ変更されている。また、オブジェクトＯＢＪ６を定義する記述３１６については、<scale>タグおよび</scale>タグが追加されるとともに、その属性値として「０．６」が設定されている。
【０１４７】
このように、シナリオ再生中に、いずれかのシナリオページに含まれるオブジェクトに対するユーザ操作に応答して、ＷＳ情報３００における対応するオブジェクトについての定義が更新される。そして、このＷＳ情報３００の更新に伴って、シナリオ表示の内容が更新される。
［ワークスペースにおけるシナリオ多面化機能]
次に、図４３〜図５２を参照して、本実施の形態に従うワークスペースにおけるシナリオ多面化機能について説明する。このシナリオ多面化機能とは、共通のワークスペースから複数のシナリオを作成する機能であり、特に、複数のシナリオを互いに関連付けて作成および保存する。典型的には、シナリオ情報４００において、シナリオとして複数のページからなるあるシナリオが定義されている場合に、当該シナリオに含まれる一部のページを共有し、かつ、当該シナリオに含まれるページとは独立したページを含む別のシナリオを追加することが可能である。
【０１４８】
このようなシナリオ同士を互いに関連付けることで、説明相手や状況に応じてプレゼンテーションの内容を変える必要がある場合などに、複数のシナリオをより簡易かつ迅速に作成できるとともに、シナリオページに何らかの変更があった場合にも、その変更内容を互いに関連付けられた、すなわちシナリオ間で共有されているシナリオページにより容易かつ確実に反映させることができる。
【０１４９】
図４３は、この発明の実施の形態に従うワークスペースにおけるシナリオ多面化機能を説明するための図である。図４４〜図５４は、この発明の実施の形態に従うワークスペースにおけるシナリオ多面化機能を説明するための図である。
【０１５０】
（１）概要
まず、図４３（ａ）に示すように、あるユーザが特定の相手へのプレゼンテーションを想定して、ある内容を説明するためのシナリオＡを作成したものとする。このシナリオＡは、シナリオページ１，２，３，５，６の計５ページから構成されているものとする。このような状況下において、当該ユーザが同様の内容を別の相手へプレゼンテーションすることを想定して、シナリオＡに類似したシナリオＡ’を作成する必要があるとする。
【０１５１】
本願発明に関連する技術によれば、このような状況下では、当該ユーザは、シナリオＡ（を定義するシナリオ情報）とは独立したシナリオＡ’（を定義するシナリオ情報）を新たに作成せざるを得ない。たとえば、シナリオＡ’は、シナリオページ１，２’，３，４，６の計５ページから構成されているものとする。このうち、シナリオページ２’は、シナリオＡの内容はシナリオページ２と類似しており、シナリオページ４の内容はシナリオページ５の内容とは全く異なったものであるとする。
【０１５２】
このようなシナリオＡ’の作成にあたって、ユーザは、シナリオＡに含まれるシナリオページをコピーしたり、そのコピーした内容を変更したり、新規にシナリオページを作成したりする必要がある。そのため、類似した内容を含むシナリオであったとしても、ユーザが作成に要する手間や時間は相対的に大きくなってしまい、知的創造作業を行なうための効率を低下させてしまう。さらに、たとえば、シナリオページ１に何らかの変更が必要である場合などには、同じ内容であっても、シナリオ情報としては独立しているため、シナリオＡおよびシナリオＡ’に係るシナリオ情報をいずれも修正する必要があり、作業が非常に煩雑化するとともに、作業ミスなどを誘発するおそれもある。
【０１５３】
そこで、本実施の形態に従うワークスペースにおけるシナリオ多面化機能では、シナリオに含まれる任意のシナリオページから、新たなシナリオページを派生させるような処理を行なうことで、類似した内容のシナリオを容易に複数作成することができる。
【０１５４】
より具体的には、図４３（ｃ）に示すように、シナリオページ１からシナリオページ２へ続く再生順序の定義に加えて、シナリオページ２’へ続く再生順序の定義を追加する。同様に、シナリオページ３からシナリオページ５を経てシナリオページ６へと続く再生順序の定義に加えて、シナリオページ３からシナリオページ４を経てシナリオページ６へと続く再生順序の定義を追加する。このように、複数のシナリオの間で共通するシナリオページについては、可能な限り共有化するとともに、新たに追加または変更する必要のあるシナリオページについては、その前のシナリオページにおける分岐として定義することで、シナリオの内容をより多面的にすることができる。
【０１５５】
（２）ユーザインターフェイス
次に、一例として、図１６〜図２２において説明した、シナリオページ１〜シナリオページ３（リンク１，リンク２，リンク３）からなるシナリオの作成後に、類似したシナリオを作成する場合の操作手順について、図４４〜図５４を参照して説明する。
【０１５６】
図２２に示す制御ウィンドウ１６０のシナリオ詳細編集モードボタン１７４をユーザがカーソルＣＲＳなどによって選択することで、図４４に示すように、シナリオ詳細編集ウィンドウ２００が表示される。このシナリオ詳細編集ウィンドウ２００には、シナリオページの表示順を示す再生順序インジケータ２１０が表示される。すなわち、再生順序インジケータ２１０には、対象とされているシナリオに含まれるシナリオページ（リンク）を示すオブジェクトが再生順序に対応して配列されて表示される。言い換えれば、再生順序インジケータ２１０は、シナリオ情報４００における定義内容に含まれるシナリオを構成するシナリオページ間の関連付けを視覚的に表現する。
【０１５７】
なお、シナリオ詳細編集ウィンドウ２００において、シナリオページの再生順序を任意に変更できるようにしてもよい。この場合には、シナリオ情報４００に含まれる各<link>タグの属性として、再生順序を定義することが好ましい。
【０１５８】
また、シナリオ詳細編集ウィンドウ２００には、さらに、「新規リンク」ボタン２２２と、「シナリオ上書き」ボタン２２４と、「シナリオ複製」ボタン２２６と、「シナリオ更新」ボタン２２８と、「シナリオ通常モード」ボタン２３０とが表示される。これらのボタンに割り当てられた機能については、後述する。
【０１５９】
次に、再生順序インジケータ２１０として表示されるいずれかのオブジェクトが選択されると、対応するシナリオページを示すシナリオページ編集ウィンドウ１８３が表示される。たとえば、図４５に示すように、ユーザがカーソルＣＲＳなどによって「リンク２」の名称が付されたオブジェクトを選択すると、シナリオページ２の内容が表示されたシナリオページ編集ウィンドウ１８３が表示される。このシナリオページ編集ウィンドウ１８３においては、作成済のシナリオページの内容をさらに編集することが可能である。
【０１６０】
ユーザが、シナリオページ編集ウィンドウ１８３上でシナリオを修正したものとする。たとえば、図４６に示すように、ユーザは、「案Ｂ」としての内容を示すオブジェクトＯＢＪ５に対して、その内容に精通していない初心者に向けた解説を示すオブジェクトＯＢＪ３０を追加したものとする。なお、内容の変更に伴って、そのシナリオページに対応する再生順序インジケータ２１０のオブジェクトが強調表示される。この強調表示は、ユーザの行なった変更が未だシナリオ情報４００に反映されていないことを通知するものである。
【０１６１】
その後、ユーザがカーソルＣＲＳなどによって「シナリオ更新」ボタン２２８を選択すると、編集元のシナリオページと並列した位置に、その編集内容を反映したシナリオページが追加される。すなわち、図４７に示すように、シナリオページ１（リンク１）にシナリオページ２（リンク２）およびシナリオページ４（リンク４）への分岐が追加される。この内容は、再生順序インジケータ２１０に反映される。このように、本実施の形態に従うワークスペースにおいては、ユーザ操作に応じて、既存のシナリオに含まれるシナリオページのうち指定されたページを異ならせることで別のシナリオが生成される。
【０１６２】
以下の説明では、あるシナリオページに含まれる任意のシナリオページから分岐して異なるシナリオページへ分岐する表現形態を「サブシナリオ」とも称す。すなわち、図４７に示す例では、リンク１→リンク２→リンク３という一連のシナリオの流れと、リンク１→リンク４→リンク３という一連のシナリオの流れとが並存することになり、これらをそれぞれサブシナリオと称す。このような分岐の追加によって、シナリオ詳細編集ウィンドウ２００には、各サブシナリオを選択するためのボタン２３１および２３２が新たに表示される。
【０１６３】
なお、図４７に示す例では、それぞれのシナリオページを単に「リンク１」、「リンク２」、「リンク３」という名称を付して表示するとともに、サブシナリオを「サブシナリオ１」、「サブシナリオ２」という名称を付して表示しているが、ユーザが任意の名称を付せるようにしてもよい。このような構成を採用することで、シナリオ再生時などに、一見して各サブシナリオの内容を把握することができる。
【０１６４】
また、図４７に示すシナリオ詳細編集ウィンドウ２００において、ユーザがカーソルＣＲＳなどによってボタン２３１および２３２のいずれかを選択すると、再生順序インジケータ２１０において、選択されたサブシナリオに応じた再生順序が強調表示される。図４８に示す例では、サブシナリオ１に対応するボタン２３１が選択されることで、リンク１→リンク２→リンク３という一連のシナリオの流れが強調表示されている。
【０１６５】
次に、再生順序インジケータ２１０において、２つのシナリオページ（リンク）を結ぶ任意のノードが選択された状態で、「新規リンク」ボタン２２２が選択されると、シナリオ上の対応する位置に、新たなシナリオページを追加するための処理が実行される。たとえば、図４９に示すように、シナリオページ１（リンク１）とシナリオページ２（リンク２）とを結ぶノードが選択された状態で、「新規リンク」ボタン２２２が選択されると、シナリオページ編集ウィンドウ１８３が表示される。このシナリオ詳細編集ウィンドウ２００では、再生順序インジケータ２１０上で指定された位置に追加される新たなシナリオページの編集操作が可能である。ユーザは、この再生順序インジケータ２１０上にワークスペース上の説明対象となるべき内容を表示させた上で、必要な装飾などを付加して新たなシナリオページの内容を作成する。さらに、ユーザがシナリオページ編集ウィンドウ１８３の決定ボタン１８６を選択すると、予め選択された位置に新たなシナリオページ（リンク）として挿入される。
【０１６６】
上述のような操作によって新たなシナリオページ（リンク）が挿入されると、シナリオ詳細編集ウィンドウ２００の表示内容も更新される。すなわち、図５０に示すように、シナリオ詳細編集ウィンドウ２００では、シナリオページ（リンク１）とシナリオページ２（リンク２）との間に、新たなシナリオページ５（リンク５）が挿入された状態が表示される。
【０１６７】
一方、再生順序インジケータ２１０において、作成済のシナリオページ（リンク）に対応するオブジェクトを選択した場合にも、シナリオページ編集ウィンドウ１８３が表示される。ユーザがこのシナリオページ編集ウィンドウ１８３において、Ｄｅｌｅｔｅボタン１８７を選択すると、シナリオ上の対応するシナリオページが削除される。たとえば、シナリオ詳細編集ウィンドウ２００においてシナリオページ２（リンク２）が選択された後、表示されるシナリオページ編集ウィンドウ１８３のＤｅｌｅｔｅボタン１８７が選択されると、シナリオからシナリオページ２が削除される（図５１参照）。そして、シナリオ詳細編集ウィンドウ２００の表示内容も更新される。
【０１６８】
また、図４９に示すようなシナリオページの挿入処理において、挿入先がサブシナリオの間で共通する位置であれば、両サブシナリオに含まれるようにシナリオページが追加される。たとえば、図５２に示すように、シナリオページ１（リンク１）からシナリオページ２（リンク２）およびシナリオページ４（リンク４）への分岐する直前のノードが選択された状態で、「新規リンク」ボタン２２２が選択されると、新たに作成されたシナリオページは、シナリオページ１（リンク１）の後に挿入される。すなわち、図５３に示すように、サブシナリオ１およびサブシナリオ２に共通するシナリオページとして、新たなシナリオページ５（リンク５）が挿入される。
【０１６９】
このように、視覚的に表現されるシナリオページ間の関連付けである再生順序インジケータ２１０上で、ページの追加または削除の対象ページの指定を行なうことができ、さらに、シナリオ情報４００から、指定された対象シナリオページの定義を追加または削除することができる。
【０１７０】
また、図４６に示す状態において、ユーザがカーソルＣＲＳなどによって「シナリオ上書き」ボタン２２４を選択すると、新たなシナリオページが追加されるのではなく、編集対象のシナリオページがその編集後の内容に更新（上書き）される。したがって、この場合には、通常の編集操作と同様の結果となる。すなわち、シナリオ情報４００に定義されているシナリオに含まれるシナリオページを指定することができ、さらに、指定されたページの内容に対する修正指示を与えることができる。これらの操作によって、シナリオ情報４００は、与えられた修正指示に応じて更新される。
【０１７１】
また、図４６に示す状態において、ユーザがカーソルＣＲＳなどによって「シナリオ複製」ボタン２２６を選択すると、シナリオから分岐するようにシナリオページが追加されるのではなく、シナリオから独立して新たなシナリオページが追加される。たとえば、図５４に示すように、既存のシナリオ（シナリオページ１→シナリオページ２→シナリオページ３）とは独立した位置にシナリオページが追加される。なお、この追加されたシナリオページは、事後的に、任意の位置に関連付けて挿入することも可能である。
【０１７２】
また、「シナリオ通常モード」ボタン２３０が選択されると、シナリオ詳細編集ウィンドウ２００が非表示化されて、図２２に示すような画面に戻る。
【０１７３】
（３）データ構造
図５５は、図４７に示すシナリオ多面化機能の操作に応じて生成されるシナリオ情報４００の内容の一例を示す図である。なお、以下の説明では、複数のサブシナリオが共通のシナリオ情報４００のファイルに記述される場合構成を示すが、後述するように、サブシナリオ毎に異なるファイルにその内容を記述するようにしてもよい。
【０１７４】
図５５に示すシナリオ情報４００においては、その中に含まれるサブシナリオの内容を識別するために、各サブシナリオの識別番号（id）を定義するための<sub_scenario>タグが追加される。より具体的には、シナリオ情報４００は、シナリオページ１〜４（リンク１〜４）にそれぞれ対応付けて記述４１０，４２０，４３０，４４０を含み、各記述には、対応するシナリオページがサブシナリオに含まれるいずれのページであるかを示す識別番号として、<sub_scenario>タグを含む。すなわち、ページ単位に区切られた表現すべき内容を定義する記述４１０，４２０，４３０，４４０の各々に対して、対応するページが使用されるサブシナリオ、および、当該サブシナリオ内における表現順序、を特定するための識別情報として、<sub_scenario>タグが付加される。
【０１７５】
図４７に示すように、サブシナリオ１およびサブシナリオ２が共通に含むシナリオページ１（リンク１）を定義する記述４１０は、サブシナリオ１の１番目のページであることを示すサブシナリオ情報（sub_scenario id=1_1）４１２と、サブシナリオ２の１番目のページであることを示すサブシナリオ情報（sub_scenario id=2_1）４１３との両方を含む。
【０１７６】
これに対して、サブシナリオ１の２番目のページであるシナリオページ２（リンク２）と、サブシナリオ２の２番目のページであるシナリオページ４（リンク４）とは、その内容が互いに異なったものであるので、それぞれ独立した記述４２０および記述４４０として定義される。そして、記述４２０は、サブシナリオ１の２番目のページであることを示すサブシナリオ情報（sub_scenario id=1_2）４２４を含む。同様に、記述４４０は、サブシナリオ１の２番目のページであることを示すサブシナリオ情報（sub_scenario id=2_2）４４２を含む。
【０１７７】
さらに、サブシナリオ１およびサブシナリオ２の３番目のページは共通のシナリオページ３（リンク３）であるので、それを定義する記述４３０は、サブシナリオ１の３番目のページであることを示すサブシナリオ情報（sub_scenario id=1_3）４３４と、サブシナリオ２の３番目のページであることを示すサブシナリオ情報（sub_scenario id=2_3）４３５との両方を含む。
【０１７８】
このように、本実施の形態に従うシナリオ多面化機能においては、複数のシナリオを作成する際に、共通するシナリオページ（リンク）については、その定義を共有する。一方、シナリオ間で異なる内容を含むシナリオページについては、互いに独立して定義される。そのため、相手や状況に応じて、さまざまな観点から見た複数のシナリオを簡易かつ迅速に作成することができる。同時に、作成後に、シナリオページの内容に変更が生じた場合であっても、全く同じ内容が重複して記述されているわけではないので、共通部分については、一回の操作でそれを使用しているすべてのサブシナリオについて一括して修正することができる。そのため、修正忘れといった問題が生じないとともに、修正処理をより簡易かつ迅速に行なうことができる。
【０１７９】
（４）データ構造のバリエーション
次に、図５６を参照して、上述のような本実施の形態に従うシナリオ多面化機能を提供するためのデータ構造のバリエーションについて例示する。
【０１８０】
図５６は、この発明の実施の形態に従うシナリオ多面化機能を提供するためのデータ構造のバリエーションを説明するための図である。
【０１８１】
（第１構造例）
図５６（ａ）に示すように、第１の構造例としては、上述の図５５に示したシナリオ情報４００と類似した形態であり、１つのファイル内に、共通のシナリオに対応付けられた複数のサブシナリオに含まれるシナリオページ（リンク）単位で、その内容を記述しておき、各記述に対して、いずれのサブシナリオのいずれのページとして用いられるかを示す情報を付加しておく。
【０１８２】
図５６（ａ）には、シナリオページ１〜７に対応するリンク１〜７の内容が記述されており、各リンクにサブシナリオの識別番号が付加されている例を示す。たとえば、（リンク１）は、＜サブシナリオ１＿１＞という情報が付加されているので、サブシナリオ１の１番目のページであることがわかる。そして、サブシナリオを選択的に再生する場合には、たとえば、サブシナリオ１の再生が指示されると、「サブシナリオ１」を含む情報が付加されたリンクが抽出される。そして、抽出されたリンクに付加されている「サブシナリオ１」枝番号の若い順にその内容が再生される。図５６（ａ）に示す例では、＜サブシナリオ１＿１＞→＜サブシナリオ１＿２＞→・・・→＜サブシナリオ１＿５＞といった順序でシナリオページの内容が再生される。なお、この枝番号（サブシナリオ１＿以降の番号）は、必ずしも連続している必要はなく、不連続であってもよい。さらに、再生順序は、降順および昇順のいずれであってもよい。他のサブシナリオについても同様である。
【０１８３】
なお、図５６に示す説明では、理解を容易にするために、上述の<link>タグに代えて＜リンク１＞といった表現を用いるとともに、<sub_scenario>タグに代えて＜サブシナリオ１＿１＞といった表現を用いている。
【０１８４】
上述したように、複数のサブシナリオの間で共有されているシナリオページ（リンク）に対しては、複数のサブシナリオに係る情報が付加される。たとえば、（リンク２）には、＜サブシナリオ１＿２＞および＜サブシナリオ２＿１＞という情報が付加されているので、サブシナリオ１およびサブシナリオ２で共有されるシナリオページであることがわかる。
【０１８５】
また、シナリオ内においてあるシナリオページに分岐を追加してサブシナリオを作成する処理は、図５６（ａ）において、各シナリオページ（リンク）にサブシナリオの情報を付加することに相当する。さらに、分岐先として新たなシナリオページを追加する場合には、新たなシナリオページ（リンク）の内容を追記するとともに、当該追記したシナリオページ（リンク）に対して、いずれのサブシナリオのいずれのページとして用いられるかを示す情報を付加することに相当する。
【０１８６】
また、あるシナリオページの内容を修正／変更する処理は、図５６（ａ）における対応するシナリオページ（リンク）の記述を更新することに相当する。また、あるシナリオページを削除する処理は、図５６（ａ）における対応するシナリオページ（リンク）の記述自体を削除または無効化することに相当する。
【０１８７】
なお、たとえば、＜サブシナリオ１＿２＞と＜サブシナリオ１＿３＞との間に、シナリオページを追加した場合には、当該追加したサブシナリオ（リンク）の記述に対して、＜サブシナリオ１＿２１＞や＜サブシナリオ１＿２＿１＞といった情報を付加することが好ましい。
【０１８８】
（第２構造例）
第２の構造例としては、共通のシナリオに対応付けられた複数のサブシナリオに含まれるシナリオページ（リンク）の内容を共通のファイルに記述しておき、この共通のファイルとは独立して、各サブシナリオにおいていずれのシナリオページを用いるかといった情報を記述したファイルをサブシナリオ毎に保持する方法である。
【０１８９】
典型的には、図５６（ｂ）に示すように、各サブシナリオが参照する共通記述情報４００Ａを用意するとともに、サブシナリオ１の内容を記述したサブシナリオ情報４００Ａ＿１と、サブシナリオ２の内容を記述したサブシナリオ情報４００Ａ＿２といった具合に、サブシナリオ単位でその順序などを記述したファイルを用意する。
【０１９０】
サブシナリオを選択的に再生する場合には、対応するサブシナリオ情報の内容を参照するとともに、共通記述情報４００Ａのうち、関連付けられた内容を読出すことで、その内容が再生される。図５６（ｂ）に示す例では、サブシナリオ１が選択されると、サブシナリオ情報４００Ａ＿１が読出されて、リンク１→リンク２→リンク５→リンク６→リンク７の順序でシナリオページの内容が再生される。他のサブシナリオについても同様である。
【０１９１】
また、シナリオ内においてあるシナリオページに分岐を追加してサブシナリオを作成する処理は、図５６（ｂ）において、共通記述情報４００Ａに、その追加されるべきシナリオページ（リンク）の内容を追加した上で、対応するサブシナリオ情報に、当該シナリオページ（リンク）を識別するための情報を追加することに相当する。
【０１９２】
また、あるシナリオページの内容を修正／変更する処理は、共通記述情報４００Ａにおける対応するシナリオページ（リンク）の記述を更新することに相当する。また、あるシナリオページを削除する処理は、共通記述情報４００Ａにおける対応するシナリオページ（リンク）の記述自体を削除または無効化した上で、対応するサブシナリオ情報から、当該シナリオページ（リンク）を識別するための情報を削除または無効化することに相当する。
【０１９３】
なお、上述した図５６に示すようなデータ構造例に限定されることなく、複数のサブシナリオに含まれるシナリオページ（リンク）のうち、共通に含まれる内容を共有して保持できる構成であれば、いずれのデータ構造を採用してもよい。
【０１９４】
［制御構造］
図５７は、この発明の実施の形態に従う処理装置ＰＣで実現される制御構造を示す概略図である。図５７を参照して、処理装置ＰＣは、制御構造として、入力装置１０と、出力装置６と、処理部１００と、ＷＳ格納部１２０と、入出力制御装置１３０とを含む。典型的に、処理部１００および入出力制御装置１３０は、ハードディスク１２に予め格納されているプログラムをＣＰＵ２がメモリ１４に展開した上で実行することで提供される。また、ＷＳ格納部１２０は、ＨＤＤ１２の一部として提供される。
【０１９５】
なお、入力装置１０、出力装置６、処理部１００、ＷＳ格納部１２０、および入出力制御装置１３０を必ずしも同一の処理装置ＰＣに設ける必要はなく、別体の装置に分散して設けてもよい。また、入出力制御装置１３０を、入力装置１０や出力装置６の内部に設けてもよい。さらに、入力装置１０および出力装置６と入出力制御装置１３０との間、入出力制御装置１３０と処理部１００との間、および処理部１００とＷＳ格納部１２０との間などに、別の情報処理装置や制御部などを仲介させる形で構成してもよい。
【０１９６】
入出力制御装置１３０は、入力装置１０で受付けた入力信号の内容を解釈して、対応する指令を処理部１００へ出力する。すなわち、入出力制御装置１３０は、ユーザが入力装置１０に対してどのような内容の操作を行なったのかを判断する。より具体的な一例として、入出力制御装置１３０は、マウスのクリックやドラッグなどによって、ワークスペース上のいずれのオブジェクトが選択されたのか、いずれのボタンが押下されたのか、クリック操作およびドラッグ操作のいずれであるのか、といった内容を解釈する。
【０１９７】
また、入出力制御装置１３０は、処理部１００からの情報に基づいて、出力用の信号を生成して、出力装置６へ送る。より具体的な一例として、入出力制御装置１３０は、ワークスペース上でユーザが行なったオブジェクト操作やビューの変更操作に応じて、表示される画面上のいずれの部分にどのような表示を行なえばいいよいのかを決定して出力信号を生成（レンダリング）する。
【０１９８】
処理部１００は、本実施の形態に従うワークスペースを提供する処理の全体を司る。処理部１００は、操作管理部１０２と、ビュー管理部１０４と、オブジェクト管理部１０６と、シナリオ管理部１０８と、ＷＳ空間管理部１１０と、ＷＳ入出力部１１２と、ＷＳ作業メモリ１１４とを含む。
【０１９９】
操作管理部１０２は、入出力制御装置１３０から送られる情報に基づいて、要求される処理内容を判断し、その判断結果に応じて、ビュー管理部１０４、オブジェクト管理部１０６、シナリオ管理部１０８、ＷＳ空間管理部１１０、およびＷＳ入出力部１１２のうち、対応する部位へ指令を与える。より具体的には、操作管理部１０２は、受けた操作内容が、ワークスペースの新規作成、ワークスペースのリセット、ワークスペースの削除などである場合、ＷＳ空間管理部１１０に指示が出され、ＷＳ空間管理部１１０で処理が実行される。また、操作管理部１０２は、受けた操作内容が、オブジェクトに対する移動・内容変更・装飾変更などの編集、新規オブジェクトの作成、削除である場合、オブジェクト管理部１０６に指示が出され、オブジェクト管理部１０６で処理が実行される。また、操作管理部１０２は、受けた操作内容が、ビューの変更である場合、ビュー管理部１０４に指示が出され、ビュー管理部で処理が実行される。また、操作管理部１０２は、受けた操作内容が、ワークスペースの読み込みや書き出しである場合、ＷＳ入出力部１１２に指示が出され、ＷＳ入出力部１１２で処理が実行される。また、操作管理部１０２は、受けた操作内容が、シナリオの作成、シナリオの再生、オブジェクトに対する変更反映、シナリオ多面化機能などである場合、シナリオ管理部１０８に指示が出され、シナリオ管理部１０８で処理が実行される。
【０２００】
ＷＳ作業メモリ１１４には、ワークスペースを提供するためのＷＳ情報３００、および上述のシナリオ機能を提供するためのシナリオ情報４００が格納される。これらのＷＳ情報３００およびシナリオ情報４００は、ユーザ操作および各部における処理に伴って、随時更新される。
【０２０１】
ＷＳ空間管理部１１０は、操作管理部１０２からの指示に従って、ＷＳ作業メモリ１１４におけるＷＳ情報３００の新規作成および削除などを管理する。すなわち、ＷＳ空間管理部１１０は、ワークスペースとワークスペースに含まれるオブジェクトとを定義するＷＳ情報３００を管理するためのものである。
【０２０２】
オブジェクト管理部１０６は、操作管理部１０２からの指示に従って、ＷＳ作業メモリ１１４に格納されているＷＳ情報３００の内容（記述）を更新する。
【０２０３】
ビュー管理部１０４は、操作管理部１０２からの指示に従って、ＷＳ作業メモリ１１４に格納されているＷＳ情報３００に定義されている情報のうち、ユーザにより指定されるビュー範囲に含まれる情報に基づいて、描画処理（レンダリング処理）を行なう。すなわち、ビュー管理部１０４は、ＷＳ情報３００に基づいて、ワークスペースの一部または全部の内容を表示するためのものである。
【０２０４】
ＷＳ入出力部１１２は、操作管理部１０２からの指示に従って、ＷＳ格納部１２０に格納されているＷＳ情報１２０ａを読出し、あるいはＷＳ作業メモリ１１４に格納されているＷＳ情報３００に従ってＷＳ格納部１２０に格納されているＷＳ情報１２０ａを更新する。ＷＳ格納部１２０は、ＷＳ情報１２０ａを不揮発的に記憶しており、ワークスペースを提供するアプリケーションがシャットダウンされた後であっても、ＷＳ情報１２０ａを継続的に保持する。
【０２０５】
シナリオ管理部１０８は、操作管理部１０２からの指示に従って、ＷＳ作業メモリ１１４にシナリオ情報４００を作成し、さらにシナリオ情報４００の内容を適宜更新する。すなわち、シナリオ管理部１０８は、ワークスペースに含まれる特定のオブジェクトを指定するためのシナリオ情報４００を管理するためのものである。また、シナリオ管理部１０８は、シナリオ情報４００においては指定される特定のオブジェクトを表示するためのものでもある。そして、シナリオ管理部１０８は、上述したシナリオ多面化機能の処理を具体的に実行する主体でもある。
【０２０６】
なお、サーバ装置ＳＲＶを介して複数の処理装置ＰＣの間で、ＷＳ情報３００および／またはシナリオ情報４００を共有して保持する場合には、サーバ装置ＳＲＶおよび／または他の処理装置ＰＣとの間で通信を行なって、ＷＳ作業メモリ１１４内のＷＳ情報３００を適宜更新（同期）するための同期処理部をさらに設けてもよい。
【０２０７】
［処理手順］
次に、図５８〜図６１を参照して、本実施の形態に従うワークスペースの提供に係る処理手順について説明する。図５８〜図６１に示す各ステップは、典型的に、ＣＰＵ２がプログラムを実行することで進められる。すなわち、ＣＰＵ２がプログラムを実行することで提供される制御構造（図５７）により各処理が進められる。なお、ワークスペースは既に作成されているものとする。
【０２０８】
図５７〜図６１を参照して、ステップＳ１００において、操作管理部１０２として機能するＣＰＵ２は、ワークスペース上のオブジェクトについての新規作成・変更・削除などがユーザによって指示されたか否かを判断する。実体オブジェクトについての新規作成・変更・削除などがユーザによって指示された場合（ステップＳ１００においてＹＥＳの場合）には、処理はステップＳ１０２へ進み、そうでなければ（ステップＳ１００においてＮＯの場合）、処理はステップＳ１０６へ進む。
【０２０９】
ステップＳ１０２において、操作管理部１０２として機能するＣＰＵ２は、ユーザ操作に応じた指示をオブジェクト管理部１０６へ与える。この指示に応答して、オブジェクト管理部１０６として機能するＣＰＵ２は、ＷＳ作業メモリ１１４に格納されているＷＳ情報３００の内容を更新する。典型的には、ユーザが、上述の図７〜図１５に示す編集操作などを行なうと、この編集操作に応じて、ＷＳ情報３００中の対応するオブジェクトの記載を変更する。そして、処理はステップＳ１０４へ進む。
【０２１０】
ステップＳ１０４において、ビュー管理部１０４として機能するＣＰＵ２は、更新後のＷＳ情報３００の内容に基づいて、現在のビュー表示を更新する。そして、処理はステップＳ１０６へ進む。
【０２１１】
ステップＳ１０６において、操作管理部１０２として機能するＣＰＵ２は、ビュー表示の変更がユーザによって指示されたか否かを判断する。ビュー表示の変更がユーザによって指示された場合（ステップＳ１０６においてＹＥＳの場合）には、処理はステップＳ１０８へ進み、そうでなければ（ステップＳ１０６においてＮＯの場合）、処理はステップＳ１１０へ進む。
【０２１２】
ステップＳ１０８において、ビュー管理部１０４として機能するＣＰＵ２は、ユーザから指示された内容に従って、ビュー表示を更新する。すなわち、ビュー管理部１０４は、指定されたビュー表示の中心座標や表示倍率に応じたビュー表示を生成し、出力装置６から出力する。そして、処理はステップＳ１１０へ進む。
【０２１３】
ステップＳ１１０において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ機能の開始がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、図１６に示すような、ダイアログ１５６ａの「シナリオ」がカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオ機能の開始がユーザによって指示された場合（ステップＳ１１０においてＹＥＳの場合）には、処理はステップＳ１１２へ進み、そうでなければ（ステップＳ１１０においてＮＯの場合）、処理は終了する。
【０２１４】
ステップＳ１１２において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオの作成・再生・変更反映などを制御するための制御ウィンドウ１６０を選択可能に表示する。そして、処理はステップＳ１１４へ進む。
【０２１５】
ステップＳ１１４において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオページの作成がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、制御ウィンドウ１６０内のいずれかの設定ボタンがカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオページの作成がユーザによって指示された場合（ステップＳ１１４においてＹＥＳの場合）には、処理はステップＳ１１６へ進み、そうでなければ（ステップＳ１１４においてＮＯの場合）、処理はステップＳ１２２へ進む。
【０２１６】
ステップＳ１１６において、シナリオ管理部１０８として機能するＣＰＵ２は、作成が指示されたシナリオページを特定する。すなわち、ＣＰＵ２は、選択された制御ウィンドウ１６０内の設定ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。続くステップＳ１１８において、シナリオ管理部１０８として機能するＣＰＵ２は、現在のビュー表示に含まれるオブジェクトの識別番号を取得する。さらに続くステップＳ１２０において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ情報４００に対して、ステップＳ１１６において特定したシナリオ番号およびシナリオページ番号に関連付けて、ステップＳ１１８において取得したオブジェクトの識別番号を参照情報（リンク情報）として追加する。すなわち、ユーザが設定ボタンを選択した時点におけるビュー表示の内容が、シナリオページとして保存される。そして、処理はステップＳ１２２へ進む。
【０２１７】
ステップＳ１２２において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオページの編集がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、制御ウィンドウ１６０内のいずれかの編集ボタンがカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオページの編集がユーザによって指示された場合（ステップＳ１２２においてＹＥＳの場合）には、処理はステップＳ１２４へ進み、そうでなければ（ステップＳ１２２においてＮＯの場合）、処理はステップＳ１３８へ進む。
【０２１８】
ステップＳ１２４において、シナリオ管理部１０８として機能するＣＰＵ２は、編集が指示されたシナリオページを特定する。すなわち、ＣＰＵ２は、選択された制御ウィンドウ１６０内の編集ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。続くステップＳ１２６において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ情報４００からステップＳ１２４において特定したシナリオ番号およびシナリオページ番号に関連付けて定義されている記述を読出して、それに基づくシナリオページを編集可能に表示する。さらに続くステップＳ１２８において、シナリオ管理部１０８として機能するＣＰＵ２は、ユーザが行なった編集操作の内容を受付ける。なお、ＣＰＵ２は、受付けた編集操作の内容を表示に反映する。さらに続くステップＳ１３０において、シナリオ管理部１０８として機能するＣＰＵ２は、編集操作の反映がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、図２１などに示す決定ボタン１８６がカーソルＣＲＳなどによって選択されたか否かを判断する。編集操作の反映がユーザによって指示された場合（ステップＳ１３０においてＹＥＳの場合）には、処理はステップＳ１３２へ進み、そうでなければ（ステップＳ１３０においてＮＯの場合）、処理はステップＳ１３４へ進む。
【０２１９】
ステップＳ１３２において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１２８において受付けた編集操作の内容に基づいて、シナリオ情報４００のステップＳ１２４において特定したシナリオ番号およびシナリオページ番号に関連付けられた記述を更新する。そして、処理はステップＳ１３８へ進む。
【０２２０】
一方、ステップＳ１３４において、シナリオ管理部１０８として機能するＣＰＵ２は、編集操作の取消しがユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、図２１などに示すキャンセルボタン１８８がカーソルＣＲＳなどによって選択されたか否かを判断する。編集操作の取消しがユーザによって指示された場合（ステップＳ１３４においてＹＥＳの場合）には、処理はステップＳ１３６へ進み、そうでなければ（ステップＳ１３４においてＮＯの場合）、処理はステップＳ１２８へ戻る。
【０２２１】
ステップＳ１３６において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１２８において受付けた編集操作の内容を削除する。そして、処理はステップＳ１３８へ進む。
【０２２２】
ステップＳ１３８において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ詳細編集モード開始がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、制御ウィンドウ１６０内のシナリオ詳細編集モードボタン１７４がカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオ詳細編集モード開始がユーザによって指示された場合（ステップＳ１３８においてＹＥＳの場合）には、処理はステップＳ１７０へ進み、そうでなければ（ステップＳ１３８においてＮＯの場合）、処理はステップＳ１４０へ進む。
【０２２３】
ステップＳ１４０において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオページの再生がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、制御ウィンドウ１６０内のいずれかの再生ボタンがカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオページの再生がユーザによって指示された場合（ステップＳ１４０においてＹＥＳの場合）には、処理はステップＳ１４２へ進み、そうでなければ（ステップＳ１４０においてＮＯの場合）、処理は終了する。
【０２２４】
ステップＳ１４２において、シナリオ管理部１０８として機能するＣＰＵ２は、再生が指示されたシナリオページを特定する。すなわち、ＣＰＵ２は、選択された制御ウィンドウ１６０内の再生ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。なお、１つのシナリオに複数のサブシナリオが含まれる場合には、いずれのサブシナリオを再生するかについても特定する。
【０２２５】
続くステップＳ１４４において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ情報４００からステップＳ１４２において特定したシナリオ番号およびシナリオページ番号に関連付けて定義されている記述に基づいて、表示対象オブジェクトの識別番号および付与されている表示属性の内容を取得する。続くステップＳ１４６において、シナリオ管理部１０８として機能するＣＰＵ２は、ＷＳ情報３００からステップＳ１４４において取得した識別番号に対応するオブジェクトの記述を読出す。さらに続くステップＳ１４８において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１４６において取得したオブジェクトの記述と、ステップＳ１４４において取得した付与されている表示属性とに基づいて、対象オブジェクトの表示用情報を取得する。さらに続くステップＳ１５０において、シナリオ管理部１０８として機能するＣＰＵ２は、すべての対象オブジェクトについて、表示用情報を取得したか否かを判断する。未だ表示用情報を取得していない対象オブジェクトがあれば（ステップＳ１５０においてＮＯの場合）、ステップＳ１４６以下の処理が繰返される。これに対して、すべての対象オブジェクトについての表示用情報を取得していれば（ステップＳ１５０においてＹＥＳの場合）、処理はステップＳ１５２へ進む。
【０２２６】
ステップＳ１５２において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１４４において取得した（１つまたは複数の）表示用情報に基づいて、シナリオページとして表示するビュー表示設定を算出する。すなわち、図３５に示すように、ＣＰＵ２は、ビュー表示の対象となるワークスペース上の領域を定義する開始座標および終了座標などを算出する。続くステップＳ１５４において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１４４において取得した（１つまたは複数の）表示用情報に基づいて、シナリオページをレンダリングしたビュー表示を生成し、出力装置６からシナリオ表示ウィンドウ１８０として出力する。そして、処理はステップＳ１６０へ進む。
【０２２７】
ステップＳ１６０において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ再生中に編集操作がユーザによって指示されたか否かを判断する。すなわち、ＣＰＵ２は、シナリオ表示ウィンドウ１８０内に表示されるいずれかのオブジェクトがカーソルＣＲＳなどによって選択されたか否かを判断する。シナリオ再生中に編集操作がユーザによって指示された場合（ステップＳ１６０においてＹＥＳの場合）には、処理はステップＳ１６２へ進み、そうでなければ（ステップＳ１６０においてＮＯの場合）、処理は終了する。
【０２２８】
ステップＳ１６２において、シナリオ管理部１０８として機能するＣＰＵ２は、編集操作が指示されたオブジェクトを特定し、その識別番号を取得する。続くステップＳ１６４において、シナリオ管理部１０８として機能するＣＰＵ２は、ユーザが行なった編集操作の内容を受付ける。続くステップＳ１６６において、ＣＰＵ２は、ステップＳ１６２において受付けた編集操作の内容に基づいて、ステップＳ１６２において特定した識別番号に関連付けられたＷＳ情報３００の記述を更新する。さらに続くステップＳ１６８において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ表示ウィンドウ１８０内のビュー表示を更新する。そして、処理はステップＳ１６０へ戻る。
【０２２９】
これに対して、ステップＳ１７０において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ情報４００に含まれる<link>タグおよび</link>タグを抽出して、現在のシナリオに含まれるシナリオページおよびその再生順序を特定する。続くステップＳ１７２において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１７０において特定した現在のシナリオに含まれるシナリオページおよびその再生順序に基づく、再生順序インジケータ２１０を含むシナリオ詳細編集ウィンドウ２００を出力装置６から出力する。なお、現在のシナリオに複数のサブシナリオが既に作成されている場合には、シナリオ管理部１０８として機能するＣＰＵ２は、各サブシナリオと対応付けられた選択ボタン（図４７のボタン２３１および２３２など）をシナリオ詳細編集ウィンドウ２００内で選択可能に表示する。そして、処理はステップＳ１７４へ進む。
【０２３０】
ステップＳ１７４において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ詳細編集ウィンドウ２００においてサブシナリオを選択するためのいずれかの選択ボタンがカーソルＣＲＳなどによって選択されたか否かを判断する。いずれかの選択ボタンが選択された場合（ステップＳ１７４においてＹＥＳの場合）には、処理はステップＳ１７６へ進み、そうでなければ（ステップＳ１７４においてＮＯの場合）には、処理はステップＳ１７８へ進む。
【０２３１】
ステップＳ１７６において、シナリオ管理部１０８として機能するＣＰＵ２は、再生順序インジケータ２１０において、ステップＳ１７４において選択されたサブシナリオに応じた再生順序を強調表示する。そして、処理はステップＳ１７８へ進む。
【０２３２】
ステップＳ１７８において、シナリオ管理部１０８として機能するＣＰＵ２は、再生順序インジケータ２１０において、２つのシナリオページ（リンク）を結ぶいずれかのノードが選択されたか否かを判断する。いずれかのノードが選択された場合（ステップＳ１７８においてＹＥＳの場合）には、処理はステップＳ１８０へ進み、そうでなければ（ステップＳ１７８においてＮＯの場合）には、処理はステップＳ２００へ進む。
【０２３３】
ステップＳ１８０において、シナリオ管理部１０８として機能するＣＰＵ２は、再生順序インジケータ２１０において、「新規リンク」ボタン２２２がカーソルＣＲＳなどによって選択されたか否かを判断する。「新規リンク」ボタン２２２が選択された場合（ステップＳ１８０においてＹＥＳの場合）には、処理はステップＳ１８２へ進み、そうでなければ（ステップＳ１８０においてＮＯの場合）には、処理はステップＳ２００へ進む。
【０２３４】
ステップＳ１８２において、シナリオ管理部１０８として機能するＣＰＵ２は、ステップＳ１７８において選択されているノードに関連付けた、シナリオページを編集するためのシナリオページ編集ウィンドウ１８３を出力装置６から出力する。なお、シナリオページ編集ウィンドウ１８３に表示される内容は、バッファとして一時的に記憶される。そして、処理はステップＳ２１０へ進む。
【０２３５】
ステップＳ２００において、シナリオ管理部１０８として機能するＣＰＵ２は、再生順序インジケータ２１０において、いずれかのシナリオページ（リンク）を示すオブジェクトが選択されたか否かを判断する。いずれかのシナリオページ（リンク）を示すオブジェクトが選択された場合（ステップＳ２００においてＹＥＳの場合）には、処理はステップＳ２０２へ進み、そうでなければ（ステップＳ２００においてＮＯの場合）には、処理はステップＳ２３０へ進む。
【０２３６】
ステップＳ２０２において、シナリオ管理部１０８として機能するＣＰＵ２は、選択されているオブジェクトの実行が指示されたか否かを判断する。典型的には、ＣＰＵ２は、ユーザがマウスなどからのいわゆるダブルクリックを受付けたか否かを判断する。選択されているオブジェクトの実行が指示された場合（ステップＳ２０２においてＹＥＳの場合）には、処理はステップＳ２０４へ進み、そうでなければ（ステップＳ２０２においてＮＯの場合）には、処理はステップＳ２０６へ進む。
【０２３７】
ステップＳ２０４において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ情報４００から、選択されたシナリオページ（リンク）を示すオブジェクトに対応する記述を読出して、その内容を編集するためのシナリオページ編集ウィンドウ１８３を出力装置６から出力する。なお、シナリオページ編集ウィンドウ１８３に表示される内容は、バッファとして一時的に記憶される。そして、処理はステップＳ２１０へ進む。
【０２３８】
ステップＳ２０６において、シナリオ管理部１０８として機能するＣＰＵ２は、「シナリオ複製」ボタン２２６がカーソルＣＲＳなどによって選択されたか否かを判断する。「シナリオ複製」ボタン２２６が選択された場合（ステップＳ２０６においてＹＥＳの場合）には、処理はステップＳ２０８へ進み、そうでなければ（ステップＳ２０６においてＮＯの場合）には、処理はステップＳ２３０へ進む。
【０２３９】
ステップＳ２０８において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ情報４００の記載のうち、選択されたシナリオページ（リンク）を示すオブジェクトに対応する記述を読出して、その内容を独立したシナリオページとしてシナリオ情報４００に追加する。そして、処理はステップＳ２３０へ進む。
【０２４０】
ステップＳ２１０において、シナリオ管理部１０８として機能するＣＰＵ２は、ユーザが行なった編集操作の内容を受付ける。続くステップＳ２１２において、ＣＰＵ２は、ステップＳ２１０において受付けた編集操作の内容に基づいて、現在のシナリオページ編集ウィンドウ１８３に対応付けられたバッファの内容を更新する。なお、この更新されたバッファの内容に応じて、シナリオページ編集ウィンドウ１８３の表示内容も更新される。さらに続くステップＳ２１４において、シナリオ管理部１０８として機能するＣＰＵ２は、「シナリオ更新」ボタン２２８がカーソルＣＲＳなどによって選択されたか否かを判断する。「シナリオ更新」ボタン２２８が選択された場合（ステップＳ２１４においてＹＥＳの場合）には、処理はステップＳ２１８へ進み、そうでなければ（ステップＳ２１４においてＮＯの場合）には、処理はステップＳ２１６へ進む。
【０２４１】
ステップＳ２１６において、シナリオ管理部１０８として機能するＣＰＵ２は、「シナリオ上書き」ボタン２２４がカーソルＣＲＳなどによって選択されたか否かを判断する。「シナリオ上書き」ボタン２２４が選択された場合（ステップＳ２１６においてＹＥＳの場合）には、処理はステップＳ２２０へ進み、そうでなければ（ステップＳ２１６においてＮＯの場合）には、処理はステップＳ２２２へ進む。
【０２４２】
ステップＳ２１８において、シナリオ管理部１０８として機能するＣＰＵ２は、現在のシナリオページに対応付けられたバッファの内容をシナリオ情報４００に追加するとともに、シナリオ情報４００に対して、サブシナリオの内容を識別するための<sub_scenario>タグを追加および／またはその値を更新する。このとき、シナリオページ編集ウィンドウ１８３は非表示化される。そして、処理はステップＳ２３０へ進む。
【０２４３】
ステップＳ２２０において、シナリオ管理部１０８として機能するＣＰＵ２は、現在のシナリオページに対応付けられたバッファの内容でシナリオ情報４００の対応する記述を上書きする。このとき、シナリオページ編集ウィンドウ１８３は非表示化される。そして、処理はステップＳ２３０へ進む。
【０２４４】
ステップＳ２２２において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオページ編集ウィンドウ１８２上のキャンセルボタン１８８がカーソルＣＲＳなどによって選択されたか否かを判断する。キャンセルボタン１８８が選択された場合（ステップＳ２２２においてＹＥＳの場合）には、処理はステップＳ２２４へ進み、そうでなければ（ステップＳ２２２においてＮＯの場合）には、ステップＳ２１０以下の処理が繰返される。
【０２４５】
ステップＳ２２４において、シナリオ管理部１０８として機能するＣＰＵ２は、現在のシナリオページに対応付けられたバッファの内容をリセットした上で、シナリオページ編集ウィンドウ１８３を非表示化する。そして、処理はステップＳ２３０へ進む。
【０２４６】
ステップＳ２３０において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオ表示ウィンドウ１８０内に表示される「シナリオ通常モード」ボタン２３０がカーソルＣＲＳなどによって選択されたか否かを判断する。「シナリオ通常モード」ボタン２３０がユーザによって指示された場合（ステップＳ２３０においてＹＥＳの場合）には、処理はステップＳ２３２へ進み、そうでなければ（ステップＳ２３０においてＮＯの場合）、ステップＳ１７４以下の処理が繰返される。
【０２４７】
ステップＳ２３２において、シナリオ管理部１０８として機能するＣＰＵ２は、シナリオページ編集ウィンドウ１８３を非表示化する。すなわち、ＣＰＵ２は、シナリオ詳細編集モードを終了する。そして、処理はステップＳ１００へ戻る。
【０２４８】
＜変形例＞
上述したシナリオおよびシナリオページの記述形式、それらの記録方法、およびシナリオの再生方法などについては、上述した実施の形態のものに限定されるものではない。例えば、シナリオおよびシナリオページは、参照情報（リンク）の順序付の集合として記述することもできる、あるいは、別途リスト等の形式で保持したオブジェクトの表示属性をシナリオ再生時に処理装置ＰＣにおいて解釈可能な形式に変換して利用する形式でもよい。
【０２４９】
また、上述の実施の形態においては、シナリオ情報４００として記述される各オブジェクトに付与される表示属性として、ＷＳ情報３００に定義される情報以外の情報のみを記録し、シナリオ再生時に、シナリオ情報４００に含まれる表示属性の内容とＷＳ情報３００の記述内容との両方を合成してビューを生成する処理について説明を行ったが、ＷＳ情報３００の記述内容をも含めた状態でシナリオ情報４００を生成しておき、再生時には主としてシナリオ情報４００の情報のみを用いる方法でもよい。ただし、この場合であっても、ＷＳ情報３００に含まれる対応するオブジェクトについての定義と関連付ける必要があるので、これらの関連付けを判定する処理が付加される。
【０２５０】
また、上述の実施の形態においては、あるユーザが作業する処理装置ＰＣ上でシナリオ表示を行なう場合の構成について例示したが、処理装置ＰＣに接続されたプロジェクター装置などでシナリオ表示の内容をより大型のスクリーンなどに投射するような使用形態も想定される。あるいは、サーバ装置ＳＲＶにＷＳ情報３００およびシナリオ情報４００を格納する場合には、当該シナリオを作成したユーザが説明を行なう先のユーザに向けて、サーバ装置ＳＲＶ上のＷＳ情報３００およびシナリオ情報４００の格納先のアドレスを示した電子メールなどを送付し、当該電子メールを受取ったユーザが自身の処理装置ＰＣ上でシナリオ表示を見るような使用形態も想定される。さらに、あるユーザが作成したＷＳ情報３００およびシナリオ情報４００のファイル自体を電子メールなどによって、説明を行なう先のユーザに向けて送信するような使用形態であってもよい。
【０２５１】
＜実施の形態による作用・効果＞
本実施の形態に従うワークスペースのような作業空間においては、作業を行なったユーザ自身は、ワークスペース上の作業結果をそのままの形で残す方が、後にその内容を思い出しやすいが、他のユーザにとってみれば、ワークスペース上の作業結果が整理されてないと、その内容を理解し難い。そのため、ワークスペース上の作業結果をそのままの状態で他人に見せても理解してもらうことは難しい場合が多い。そこで、本実施の形態に従うワークスペースでは、ワークスペース上で既に作成した内容（オブジェクト）に対して、そのオブジェクトの表示形態や記述とは独立して、説明用資料として相応しい特定のオブジェクトを参照情報（リンク）として記録するとともに、説明用資料として相応しい表示属性を付与する。さらに、このようなオブジェクトを含むシナリオページを複数記録しておき、説明したい順序でシナリオページを順に指定して表示を切替えていくことで、ワークスペース上の作業内容についての説明を簡単に行なうことができる。
【０２５２】
このとき、ワークスペース上の元の作業結果自体は、そのままの状態で維持されるため、例えば、当該ユーザ自身用の作業結果（すなわち、過去に行なった作業において、ワークスペースのどの辺でどういうオブジェクトを配置したのかといった経緯等を覚えているままなので、当該ユーザにはわかり易い状態になっている）として保存および利用できる。同時に、シナリオ再生時（説明時）に、ワークスペース上の作業結果を参照して修正する必要が生じた場合には、スムーズにその内容を当該ユーザ自身用の資料（ワークスペース上の作業結果）に反映することができる。
【０２５３】
これにより、ワークスペース上で作業した内容をそのまま説明用や保存用の資料とすることができる。また、説明の順序・倍率・説明対象オブジェクト・表示装飾などを自在に設定できるので、説明時に対象者（他人）の能力や立場などに応じて、どの順番でどこを注目すればいいか容易理解できる。また、シナリオ情報４００は、予め参照情報（リンク）として記録されているので、説明対象のオブジェクトが脱落するようなことがなく、スムーズに説明を行なうことができる。
【０２５４】
また、順序・倍率・説明対象オブジェクト・表示装飾は、ワークスペース上のオブジェクトとは独立に設定できるため、シチュエーションに応じて同じオブジェクトを異なるタイミングや表現方法で表示できる。
【０２５５】
また、ワークスペース上の作業結果は、説明用の資料とは別に自分用の資料としてそのまま残せ、かつ（実際に見る実体は同じものなので）説明用の資料から自分用の資料へは自由に移行することができる。さらに、説明中に（説明用資料には含めなかった）関連情報も見たり、説明時の遣り取りの中で元の作業結果を編集したりすることが自由にできる。
【０２５６】
また、ワークスペース上での作業内容をもとに他人に説明するためや、保存したＷＳ情報３００を（他人や将来の自分が）参照する際に作業経緯や作業結果を思い出すための説明用に、シナリオに記述したリンクを順にたどっていくだけで注目すべきポイントだけを適切に順を追って理解できるようになる。作業結果を利用できるため、説明のための資料を作る作業負荷を低減できる。また、説明時に予め説明用に用意した画面以外の内容を追加参照したい場合や、ワークスペースに何らかの修正を行なう必要が生じた場合にでも、スムーズに追加参照や修正が可能になる。
【０２５７】
また、この発明の実施の形態によれば、１つのシナリオ内に、一部のシナリオページを共有し、かつ、互いに独立したシナリオページを含む複数のサブシナリオを定義することができる。そのため、複数の関連するサブシナリオ間において、同時にシナリオの編集操作を行なうことができる。複数のシナリオページにわたって編集が必要となる場合であっても、その操作にかかる時間や費用を低減できる。典型的には、共有されたシナリオページについては、当該シナリオページを修正することで、それを共有する複数のサブシナリオに対して修正内容を一括して反映することができる。なお、ヘッダ部分や装飾などをすべてのシナリオページに一括して追加・変更することも可能である。
【０２５８】
一方で、関連するサブシナリオ同士は、原則として互いに独立しているため、あるサブシナリオについての変更によって、別のサブシナリオについての変更などが制約されることはない。また、一方のサブシナリオが有する特定のシナリオページを、他方のサブシナリオが含まないようにするといった操作を容易に行なうことができる。
【０２５９】
このような機能によって、作成済のシナリオから複数のサブシナリオを容易に作成することができる。そのため、説明相手や状況に応じてプレゼンテーションの内容を変える必要がある場合などに、より簡易かつ迅速に作業を完了させることができるとともに、シナリオページに何らかの変更があった場合にも、その変更内容を互いに関連付けられた、すなわちシナリオ間で共有されているシナリオページにより容易かつ確実に反映させることができる。
【０２６０】
［その他の実施の形態］
本発明に係るプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
【０２６１】
さらに、本発明に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【０２６２】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
【０２６３】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０２６４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２６５】
２  ＣＰＵ、４  内部バス、６  出力装置、８  通信インターフェイス、１０  入力装置、１２  ハードディスク、１４  メモリ、１６  ＣＤ−ＲＯＭドライブ、１６ａ  ＣＤ−ＲＯＭ、１８  ＦＤドライブ、１８ａ  フレキシブルディスク、１００  処理部、１０２  操作管理部、１０４  ビュー管理部、１０６  オブジェクト管理部、１０８  シナリオ管理部、１１０  空間管理部、１１２  入出力部、１１４  作業メモリ、１２０  ＷＳ格納部、１２０ａ  ＷＳ情報、１３０  入出力制御装置、３００  ワークスペース（ＷＳ）情報、４００  シナリオ情報、ＮＷ  ネットワーク、ＰＣ，ＰＣ１〜ＰＣＮ  情報処理装置（処理装置）、ＳＲＶ  サーバ装置。
【図１】
2010267214.tif 000003
【図２】
2010267214.tif 000004
【図３】
2010267214.tif 000005
【図４】
2010267214.tif 000006
【図５】
2010267214.tif 000007
【図６】
2010267214.tif 000008
【図７】
2010267214.tif 000009
【図８】
2010267214.tif 000010
【図９】
2010267214.tif 000011
【図１０】
2010267214.tif 000012
【図１１】
2010267214.tif 000013
【図１２】
2010267214.tif 000014
【図１３】
2010267214.tif 000015
【図１４】
2010267214.tif 000016
【図１５】
2010267214.tif 000017
【図１６】
2010267214.tif 000018
【図１７】
2010267214.tif 000019
【図１８】
2010267214.tif 000020
【図１９】
2010267214.tif 000021
【図２０】
2010267214.tif 000022
【図２１】
2010267214.tif 000023
【図２２】
2010267214.tif 000024
【図２３】
2010267214.tif 000025
【図２４】
2010267214.tif 000026
【図２５】
2010267214.tif 000027
【図２６】
2010267214.tif 000028
【図２７】
2010267214.tif 000029
【図２８】
2010267214.tif 000030
【図２９】
2010267214.tif 000031
【図３０】
2010267214.tif 000032
【図３１】
2010267214.tif 000033
【図３２】
2010267214.tif 000034
【図３３】
2010267214.tif 000035
【図３４】
2010267214.tif 000036
【図３５】
2010267214.tif 000037
【図３６】
2010267214.tif 000038
【図３７】
2010267214.tif 000039
【図３８】
2010267214.tif 000040
【図３９】
2010267214.tif 000041
【図４０】
2010267214.tif 000042
【図４１】
2010267214.tif 000043
【図４２】
2010267214.tif 000044
【図４３】
2010267214.tif 000045
【図４４】
2010267214.tif 000046
【図４５】
2010267214.tif 000047
【図４６】
2010267214.tif 000048
【図４７】
2010267214.tif 000049
【図４８】
2010267214.tif 000050
【図４９】
2010267214.tif 000051
【図５０】
2010267214.tif 000052
【図５１】
2010267214.tif 000053
【図５２】
2010267214.tif 000054
【図５３】
2010267214.tif 000055
【図５４】
2010267214.tif 000056
【図５５】
2010267214.tif 000057
【図５６】
2010267214.tif 000058
【図５７】
2010267214.tif 000059
【図５８】
2010267214.tif 000060
【図５９】
2010267214.tif 000061
【図６０】
2010267214.tif 000062
【図６１】
2010267214.tif 000063