(57)【特許請求の範囲】
【請求項１】
電子スプレッドシートにおけるモデル内の機密データを隠すための方法であって、コンピュータが、
メモリに格納された電子スプレッドシート内のモデルを特定するステップであって、
前記モデルは、
入力データと、
１つ又は複数の入力データ、若しくは１つ又は複数の中間結果データのいずれか一方、又はその両方を引数として含む方程式の結果として各々が定められる中間結果データと、
１つ又は複数の入力データ、若しくは１つ又は複数の中間結果データのいずれか一方、又はその両方を引数として含む方程式の結果として定められる出力データと
を含み、前記電子スプレッドシートは、前記入力データを含む１つ又は複数のセルと、前記中間結果データを含む１つ又は複数のセルと、前記出力データを含むセルとを含む、前記特定するステップと、
入力データのみを引数として含む中間結果データについての方程式を確立するステップであって、中間結果データを定める各々の方程式において、結果として得られる方程式のすべてが入力データの引数のみを含むようになるまで、中間結果データの引数の各々を対応する方程式に帰納的に置換するステップをさらに含む、前記中間結果データについての方程式を確立するステップと、
入力データのみを引数として含む出力データについての方程式を確立するステップであって、前記出力データを定める方程式において、中間結果データの引数の各々を、入力データの引数のみを含む結果として得られる方程式に置換するステップをさらに含む、前記出力データについての方程式を確立するステップと、
結果として得られるモデルのみ含むように中間結果データを削除するステップであって、
前記結果として得られるモデルが、
入力データと、
入力データのみを引数として含む方程式の結果として定められる出力データと
のみを含む、前記削除するステップと
を含む、前記方法。
【請求項２】
出力データを定める方程式において、中間結果データの引数の各々を、入力データの引数のみを含む結果として得られる方程式に置換する前記ステップは、
出力データを定める方程式を、コンピュータ代数エンジンに入力して単純化するステップをさらに含み、当該方程式は引数として入力データのみを含み、前記単純化された方程式は前記電子スプレッドシートのセルに記録される、請求項１に記載の方法。
【請求項３】
モデルを特定する前記ステップは、
入力データのうちで、
範囲データとして定められる入力データと、
モデル・データとして定められる入力データと
を特定するステップ
をさらに含む、請求項１又は２に記載の方法。
【請求項４】
モデルを特定する前記ステップは、
どのセルが出力データを含み、どのセルが範囲データを含み、どのセルがモデル・データを含むかを指定するコマンドを受信するステップ
をさらに含む、請求項３に記載の方法。
【請求項５】
入力データのみを引数として含む出力データについての方程式を確立する前記ステップは、
前記出力データを定める前記方程式が範囲データのみを引数として含むように、前記方程式において、モデル・データを当該モデル・データそれぞれに対応する値に置換するステップ
をさらに含む、請求項４に記載の方法。
【請求項６】
入力データのみを引数として含む出力データについての方程式を確立する前記ステップは、
前記出力データを定める結果として得られる方程式をコンピュータ代数エンジンに入力して単純化するステップをさらに含み、当該方程式は引数として範囲データのみを含み、前記単純化された方程式は前記電子スプレッドシートのセルに記録される、請求項５に記載の方法。
【請求項７】
中間結果データを含むセルの内容を削除する前記ステップは、
結果として得られるモデルが、
範囲データと、
範囲データのみを引数として含む方程式の結果として定められる出力データと
のみを含むように、前記電子スプレッドシートからモデル・データを含むセルの内容を削除するステップ
をさらに含み、前記電子スプレッドシートは、前記範囲データを含む１つ又は複数のセルと、範囲データのみを引数として含む方程式の結果として定められる前記出力データを含むセルとを含む、請求項５又は６に記載の方法。
【請求項８】
前記コンピュータが、
前記結果として得られるモデルを、エンド・ユーザの１つ又は複数の電子スプレッドシート内に配置するステップをさらに実行するステップを含む、請求項７に記載の方法。
【請求項９】
前記削除するステップを実行することによって得られる方程式がリバース・エンジニアリングされない、請求項１に記載の方法。
【請求項１０】
電子スプレッドシートにおけるモデル内の機密データを隠すためのコンピュータであって、中央処理装置と、メイン・メモリと、入力／出力コントローラと、キーボードと、ポインティング・デバイスと、ディスプレイ装置と、大容量記憶装置とを備えており、前記中央処理装置が下記命令を前記メイン・メモリに読み込み、当該命令が、請求項１〜９のいずれか一項に記載の方法の各ステップを実行する命令である、前記コンピュータ。
【請求項１１】
電子スプレッドシートにおけるモデル内の機密データを隠すためのコンピュータ・プログラムであって、コンピュータに、請求項１〜９のいずれか一項に記載の方法の各ステップを実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子スプレッドシートの分野に向けられ、より特定的には、電子スプレッドシート環境においてモデル内の機密データを隠すための方法、システム及びコンピュータ・プログラムに向けられる。
【背景技術】
【０００２】
コンピュータの登場以前には、数値解析、特に財務分析は、通常、鉛筆と計算機とを手にした経理担当者の多桁式パッド又はスプレッドシート上で行われていた。スプレッドシートは、データを列及び行に編成することによって、読み手が情報を素早く理解することを可能にする。しかしながら、スプレッドシートを紙に作成する作業は、それほど速くできるわけではない。それどころか、各々の入力を何度も計算してスプレッドシートに入力しなければならないため、処理は、非常に遅くなる傾向がある。手作業で作成されるスプレッドシートは、間違いも起こしやすい。従って、手作業でのスプレッドシートの作成は、遅く、単調で、信頼性に欠ける。
【０００３】
マイクロコンピュータの出現により、「電子スプレッドシート」の形態で解決策が登場した。これらのソフトウェア・プログラムは、単に「スプレッドシート」としてよく知られているが、従来の財務モデリング・ツール、すなわち経理担当者の多桁式パッド、鉛筆、及び計算機に対するコンピュータ化された代替品となる。ある意味で、それらのツールに対するスプレッドシート・プログラムは、タイプライタに対するワード・プロセッサに相当する。スプレッドシートは、財務モデルを作成し、編集し、使用することの容易さという点で劇的な改善をもたらす。
【０００４】
典型的なスプレッドシート・プログラムは、コンピュータのメモリを経理担当者の多桁式パッドの列／行すなわち格子形式に見立てて構成し、目に見える計算機をユーザに提供するものである。しかしながら、この「パッド」は、コンピュータのメモリ内に動的に存在するものであるため、幾つかの重要な点で紙のパッドとは異なる。例えば、電子スプレッドシート内の位置は、コンピュータが理解できる形式でコンピュータに伝えられなければならない。これを達成するための一般的な方式は、スプレッドシートの各々の行に番号を割り当て、各々の列に文字を割り当てることである。例えば、Ａ列１行（すなわち左上隅）の位置を参照するためには、ユーザは、「Ａ１」をタイプ入力する。このように、スプレッドシートは、行及び列の各交点において、アドレス指定可能な記憶位置すなわち「セル」を定める。
【０００５】
電子スプレッドシートへのデータ入力は、情報を経理担当者のパッドに入力する場合とほぼ同じように行われる。ユーザは、画面カーソルを所望の位置に位置決めした後に、英数字情報を入力することができる。しかしながら、スプレッドシートのセルは、テキスト及び数字の情報を保持すること以外に、特別な命令、すなわちスプレッドシートのセルに記憶された数値に関して実行される計算を指定する「式」を、格納することができる。このように、セル参照は式の変数として機能し、それにより、正確な数学的関係をセル間で定めることが可能になる。関数及びマクロなどの拡張機能を含むスプレッドシート・プログラムの構造及び演算は、技術文献、営業用文献、及び特許文献に文書化されている。概要については、例えば、非特許文献１及び非特許文献２を参照されたい。上記の各々の開示は、引用により本明細書に組み入れられる。
【０００６】
電子スプレッドシートは、対応する紙のスプレッドシートに優る多くの利点をもたらす。１つには、電子スプレッドシートは、対応する紙のスプレッドシートよりずっと大きく（すなわち、より多くの情報を保持し）、何千又は何百万ものセルを有する電子スプレッドシートも珍しくない。スプレッドシート・プログラムはまた、ユーザが「ｗｈａｔ−ｉｆ」シナリオを実行することを可能にする。例えば組み込まれた式によって１組の計算関係がワークシートに入力された後に、異なる仮定の組を用いて情報の広がり（ｓｐｒｅａｄ  ｏｆ  ｉｎｆｏｒｍａｔｉｏｎ）を再計算し、各々の再計算の結果をほぼ同時に表示させることができる。紙及び鉛筆を用いて手作業でこの操作を行う場合には、各々の変更モデルに関してモデル内のすべての関係の再計算が必要であろう。電子スプレッドシート・システムは、「ｗｈａｔ−ｉｆ」問題を解決すること、すなわち、入力を変更し出力がどうなるかを調べることに適している。
【０００７】
電子スプレッドシートは、通常はコスト計算ツール及び価格設定ツールを実行するために、典型的にはサービス指向製品（ｓｅｒｖｉｃｅ  ｏｒｉｅｎｔｅｄ  ｏｆｆｅｒｉｎｇｓ）のために用いられる。こうしたツールは、単に、入力データの組に基づいて出力データの組を特徴付けるモデル（コスト計算モデル又は価格設定モデルのいずれか）を実行するものである。入力データ間で、以下の異なるタイプを区別しなければならない。
・引用によって特定され、引き渡されるサービスの範囲を定量化する範囲データ。典型的な範囲データは、例えば、遠隔管理製品（ｒｅｍｏｔｅ  ｍａｎａｇｅｍｅｎｔ  ｏｆｆｅｒｉｎｇ）の場合は、管理されるオブジェクトの数である。
・範囲に依存せず、むしろモデルに依存するパラメータを特定するモデル・データ。典型的なモデル・データは、例えば、所与の技術レベルを有する人員についての時間当たりのコストを与える賃金率である。
【０００８】
コスト計算／価格設定モデルは、非常に複雑なものとなる場合があり、結果として得られるスプレッドシート・ツールもまた、異なるシートに及ぶ多数の式を伴う複雑なものとなる場合がある。こうした式は、それ自体が入力データ（範囲データ若しくはモデル・データ）又は他の中間データのいずれかを含む中間結果を伴う。こうした中間結果データは、やや複雑な構造を持つツリーを構成することができる。出力データを幹とみなし、入力データを木の枝にある葉とみなすことができる。
【０００９】
コスト計算／価格設定ツールのスプレッドシートが個人に開示された場合には、この個人は、このツールを容易に「リバース・エンジニアリング」して、モデルの一部である異なる中間結果のすべてを明らかにすることができる。こうした中間結果は、コスト計算／価格設定ツールのスプレッドシート作成者が第三者と共有することを望まない秘密情報（典型的にはモデル・データ）を含むことがある。それにもかかわらず、作成者は、範囲データを入力したときに出力データを生成するツールを共有することを望む場合がある。
【００１０】
こうした場合に対応する典型的な例は、以下のものである。企業Ｘが、現時点で直接販売チャネルを通して製品を供給しており、より広範な機会ベースを達成するために、ビジネス・パートナなどの間接チャネルを利用することを望んでいるものと仮定する。内部のコスト計算／価格設定モデルがビジネス・パートナに開示された場合には、このビジネス・パートナは、この企業Ｘが開示することを拒む情報に容易にアクセスすることになる。それどころか、コスト計算／価格設定ツールなどの、販売サイクルを合理化する関連ツールのすべてをこのビジネス・パートナに与えるように、企業Ｘによってあらゆる努力が行われなければならない。こうしたジレンマは、従来のスプレッドシート・ツールでは解決することができず、さらには、スプレッドシート保護が、インターネット上で入手可能なクラックによって容易に破られる可能性があることも分かっている。
【００１１】
【非特許文献１】Ｃｏｂｂ，Ｓ．，Ｕｓｉｎｇ  Ｑｕａｔｔｒｏ  Ｐｒｏ２，Ｂｏｒｌａｎｄ−ＯｓｂｏｍｅｌＭｃＧｒａｗ−Ｍｌｌ，１９９０
【非特許文献２】ＬｅＢｌｏｎｄ，Ｇ．  ａｎｄ  Ｃｏｂｂ，Ｄ．，Ｕｓｉｎｇ  １−２−３、Ｑｕｅ  ｃｏｒｐ．，１９８５
【非特許文献３】Ｍｉｃｒｏｓｏｆｔ  Ｍｏｕｓｅ  Ｐｒｏｇｒａｍｍｅｒ’ｓ  Ｒｅｆｅｒｅｎｃｅ，Ｍｉｃｒｏｓｏｆｔ  Ｐｒｅｓｓ，１９８９
【非特許文献４】Ｐｒｏｇｒａｍｍｉｎｇ  Ｗｉｎｄｏｗｓ，Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ、Ｍｉｃｒｏｓｏｆｔ  Ｐｒｅｓｓ、１９９０
【非特許文献５】Ｑｕａｔｔｒｏ  Ｐｒｏ  ｆｏｒ  Ｗｉｎｄｏｗｓ（Ｇｅｔｔｉｎｇ  Ｓｔａｒｔｅｄ，  Ｕｓｅｒ’ｓ  Ｇｕｉｄｅ  ａｎｄ  Ｂｕｉｌｄｉｎｇ  Ｓｐｒｅａｄｓｈｅｅｔ  Ａｐｐｌｉｃａｔｉｏｎｓ）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
問題は、
・ツールのユーザは、モデル内部を限られた範囲でしか見ることができず、
・一方、ツールの作成者は、引き続きモデル・データを含むすべてのパラメータを完全に制御することができる、
コスト計算／価格設定モデルを実行するツールを（電子スプレッドシート内で）作成することである。
【００１３】
本発明の目的は、電子スプレッドシート内で、出力データか、又は、範囲データ若しくはモデル・データのいずれかを含むセルを指定することである。
【００１４】
本発明のさらなる目的は、出力データと範囲データ及びモデル・データの両方との間の階層関係の組を確立する一連の中間結果を表す内部テーブルを作成することである。
【００１５】
本発明のさらなる目的は、範囲データ及びモデル・データから出力データを直接結び付ける関係を確立することである。
【００１６】
本発明のさらなる目的は、隠さなければならないモデル・データを指定することである。
【００１７】
本発明のさらなる目的は、範囲データ及び隠されていないモデル・データから出力データを直接結び付ける関係を確立することである。
【００１８】
本発明のさらなる目的は、中間結果又は隠されたモデル・データのいずれかを参照するセルを削除して、結果として得られる電子スプレッドシート・ファイルが、出力データ、範囲データ、及び隠されていないモデル・データのみを含むようにすることである。
【課題を解決するための手段】
【００１９】
本発明は、独立請求項において定義されるシステム及び方法に向けられる。
より具体的には、本発明は、電子スプレッドシート内のモデルの機密データを隠すための方法に向けられる。この方法は、
スプレッドシート内のモデルを特定するステップであって、
前記モデルは、
入力データを含む１つ又は複数のセルと、
１つ又は複数の入力データ、若しくは１つ又は複数の中間結果のいずれか一方、又はその両方を引数として含む方程式の結果として各々が定められる中間結果を含む１つ又は複数のセルと、
１つ又は複数の入力データ、若しくは１つ又は複数の中間結果のいずれか一方、又はその両方を引数として含む方程式の結果として定められる出力データを含むセルと、
を含むモデルである、前記特定するステップと、
入力データのみを引数として含む中間結果についての方程式を確立するステップと、
入力データのみを引数として含む出力データについての方程式を確立するステップと、
結果として得られるモデルのみ含むように中間結果を削除するステップであって、
前記結果として得られるモデルが、
入力データを含む１つ又は複数のセルと、
入力データのみを引数として含む方程式の結果として定められる出力データを含むセルと、
のみを含むようにした前記結果として得られるモデルである、前記削除するステップと、
を含む。
【００２０】
本発明のさらなる実施形態は、従属請求項において提供される。
【００２１】
以上の事項は、本発明の他の目的、特徴、及び利点と共に、以下の明細書、特許請求の範囲、及び図面を参照することによってより良く理解することができる。
【発明を実施するための最良の形態】
【００２２】
本発明の特性と考えられる新規で独創的な特徴は、特許請求の範囲に記載される。しかしながら、本発明自体、並びに、本発明の好ましい使用形態、目的、及び利点は、添付図面と共に読んだときに、例示的な詳細な実施形態についての以下の詳しい説明を参照することによって、最もよく理解されるであろう。
【００２３】
以下の説明は、当業者が本発明を作成し、使用できるように提示され、特許出願及びその要件に即して提供されるものである。当業者であれば、本明細書において説明される好ましい実施形態並びに一般的な原理及び特徴に対する種々の修正が容易に分かるであろう。したがって、本発明は、示される実施形態に限定することを意図するものではなく、本明細書で説明される原理及び特徴と矛盾することのない最も広い範囲を与えることになる。
【００２４】
ハードウェア
図１に示されるように、本発明は、中央処理装置１０１と、メイン・メモリ１０２と、入力／出力コントローラ１０３と、キーボード１０４と、ポインティング・デバイス１０５（例えば、マウス、トラック・ボール、ペン装置など）と、ディスプレイ装置１０６と、大容量記憶装置１０７（例えば、ハード・ディスク）とを備えるコンピュータ・システム１００上で実現することができる。必要に応じて、印刷装置１０８などの付加的な入力／出力装置をシステム１００に含むことができる。示されるように、システム１００の種々のコンポーネントは、システム・バス１１０又は同様のアーキテクチャを介して通信する。
【００２５】
図２に示されるように、コンピュータ・システム１００の動作を指示するために、コンピュータ・ソフトウェア・システム１５０が提供される。システム・メモリ１０２内及びディスク・メモリ１０７上に格納されるソフトウェア・システム１５０は、カーネルすなわちオペレーティング・システム１５１と、シェルすなわちインタフェース１５３とを含む。システム１００によって実行するために、アプリケーション・ソフトウェア１５２などの１つ又は複数のアプリケーション・プログラムを「読み込む」ことができる（すなわち、記憶装置１０７からメモリ１０２に転送する）。システム１００は、ユーザ・インタフェース１５３を介してユーザ・コマンド及びデータを受信し、次いでこれらの入力は、オペレーティング・モジュール１５１及び／又はアプリケーション・モジュール１５２からの命令に従ってシステム１００によって実行することができる。グラフィック・ユーザ・インタフェース（ＧＵＩ）であることが好ましいインタフェース１５３はまた、ユーザが付加的な入力を与えるか又はセッションを終了させるとすぐ、結果を表示する働きをする。好ましい実施形態においては、オペレーティング・システム１５１及びインタフェース１５３は、ワシントン州レッドモンド所在のマイクロソフト社から入手可能な、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎ９５である。一方、アプリケーション・モジュール１５２は、本明細書においてさらに詳細に後述される本発明のスプレッドシート・ノートブックを含む。
【００２６】
インタフェース
はじめに
以下の説明は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ環境において作動するスプレッドシート・アプリケーションにおいて具体化される、現時点で好ましい本発明の実施形態に焦点を当てるものである。しかしながら、本発明は、いずれかの特定のアプリケーション又はいずれかの特定の環境に限定されるものではない。それどころか、当業者であれば、本発明のシステム及び方法は、データベース管理システム、ワード・プロセッサなどを含む様々なシステム及びアプリケーション・ソフトウェアに適用するできる利点があることが分かるであろう。さらに、本発明は、Ｍａｃｉｎｔｏｓｈ（商標）、ＵＮＩＸ（商標）、ＮｅｘｔＳｔｅｐ（商標）などを含む様々な異なるプラットフォーム上で実現することができる。したがって、以下の典型的な実施形態の説明は、例示を目的とするものであり、限定的なものではない。
【００２７】
ここで図３を参照すると、システム１００は、ウィンドウ・インタフェース又はワークスペース１６０を含む。ウィンドウ１６０は、画面１０６上に表示するために矩形のグラフィック・ユーザ・インタフェース（ＧＵＩ）であり、必要に応じて、付加的なウィンドウ要素を種々のサイズ及び形式（例えば、タイル形式又はカスケード形式）で表示することができる。ウィンドウ１６０の最上部には、複数のユーザ・コマンド選択を有するメニュー・バー１７０があり、ユーザ・コマンド選択の各々は、アプリケーション・オブジェクトと共に用いるための付加的なサブメニュー及びソフトウェア・ツールを呼び出すことができる。ウィンドウ１６０は、図形オブジェクト１８１及びテキスト・オブジェクト１８２などの画面オブジェクトを表示及び操作するためのクライアント領域１８０を含む。本質的には、クライアント領域は、ユーザがコンピュータ・システム１００内に存在するデータ・オブジェクトと対話するためのワークスペース又はビュー・ポートである。
【００２８】
ウィンドウ・インタフェース１６０は、対象となる画面オブジェクトを選択し、そうでなければ呼び出すための画面カーソルすなわちポインタ１８５を含む。ポインティング・デバイス１０５からのユーザによる動作信号に応答して、カーソル１８５は、画面１０６を横切って所望の画面位置まで浮動する（すなわち、自由に移動する）。カーソルの移動中又はその後に、ユーザは、当該技術分野において知られているように、オブジェクトを選択して操作するためのユーザ・イベント信号（例えば、マウス・ボタンの「クリック」及び「ドラッグ」）を発生させることができる。例えば、それぞれ画面コンポーネント１７２、１７４／１７５、及び１７７／１７８を「クリックする」（選択する）ことによって、ウィンドウ１６０を閉じたり、サイズ変更したり、スクロールすることができる。
【００２９】
好ましい実施形態においては、画面カーソル１８５は、マウス装置を用いて制御される。１ボタン、２ボタン、又は３ボタンのマウス装置は、それぞれ、カリフォルニア州クパチーノ所在のアップル・コンピュータ社、ワシントン州レッドモンド所在のマイクロソフト社、及びカリフォルニア州フレモント所在のロジテック社を含む、様々なベンダから入手可能である。より好ましくは、画面カーソル制御装置１０５は、左及び右の両方の「マウス・ボタン」を含む２ボタン・マウス装置である。
【００３０】
マウス装置のためのプログラミング技術及び操作は、プログラミング及びハードウェア文献において詳しく解説されており、例えば非特許文献３を参照されたい。ＷｉｎｄｏｗｓなどのＧＵＩイベント駆動システムの一般的な構成及び操作もまた、当該技術分野において知られており、例えばＰｅｔｚｏｌｄ，Ｃの非特許文献４を参照されたい。各々の開示は引用により本明細書に組み入れられる。
【００３１】
好ましいインタフェース
図４に示されるように、本発明のスプレッドシート・ノートブック・インタフェースをここで説明する。本発明のスプレッドシート・ノートブック又はワークブックは、英数字及び図形情報を含む情報を受け取り、処理し、提示するためのノートブック・ワークスペース２００を含む。ノートブック・ワークスペース２００は、メニュー・バー２１０と、ツールバー２２０と、カレント・セル・インジケータ２３０と、入力ライン２３１と、ステータス・ライン２４０と、ノートブック・ウィンドウ２５０とを含む。メニュー・バー２１０は、ユーザ入力に応答して、主要レベルのユーザ・コマンドを表示し、呼び出す。メニュー・バー２１０はまた、ウィンドウ・アプリケーションにおいて知られているような、付加的なプル・ダウン・メニューを呼び出す。入力ライン２３１は、データ、式、マクロなどを含むことがあるセル内容を入力し、編集するためのユーザ・コマンド及び情報を受け入れる。インジケータ２３０は、カレント・カーソル（すなわち、アクティブ・セル）位置についてのアドレスを表示する。システム１００は、ステータス・ライン２４０においてワークブックの現在の状態についての情報を表示し、例えば、「ＲＥＡＤＹ」インジケータは、システムが、実行される別のタスクをユーザが選択できる状態にあることを意味する。
【００３２】
図５においてさらに詳細に示されるツールバー２２０は、ユーザが一般的に使用されるメニュー・コマンド又はプロパティを選択する迅速な方法を提供するツールの行すなわちパレットを含む。例示的な実施形態においては、ツールバー２２０は、ファイル操作ボタン２２１と、印刷ボタン２２２と、アンドゥ・ボタン２２３と、切り取り、コピー、及び貼り付けボタン２２４と、情報ポップアップ・ウィンドウ・ボタン・ツール２２５と、範囲選択ボタン２２６と、形式コピー・ボタン２２７と、列サイズ変更ボタン２２８と、合計ボタン２２９とを含む。これらのボタンの機能は、それらの名称によって示唆される。例えば、ボタン２２４は、Ｗｉｎｄｏｗｓのクリップボードとの間で、データ及びオブジェクトを切り取り、コピーし、貼り付ける。同じ動作は、（メニュー・バー２１０から利用可能な）編集メニューにおいて対応するコマンドとしても利用できる。
【００３３】
対象となる情報を入力し、表示するためのインタフェースを提供するノートブックは、複数のスプレッドシート・ページを含む。各々のページは、移動、サイズ変更、及び削除などの、従来のウィンドウ機能及び操作を含むことができる。好ましい実施形態においては、ノートブックは２５６のスプレッドシート・ページを含み、そのすべては、単一のディスク・ファイルとして大容量記憶装置１０７に保存される。ワークスペース２００は、各々がユーザ固有の制約に従ってサイズ変更され位置決めされる（例えば、タイル状、重ね合わせなど）、１つ又は複数のノートブックを表示することができる。
【００３４】
ノートブックの各々のスプレッドシート・ページは、２次元の広がりを含む。例えば、ノートブック２００のページＡは、３行Ｆ列などといった行及及び列の形式の格子を含む。各々の行／列の交点には、従来の方法で情報を入力し、処理し、表示するために、ボックスすなわちセル（例えば、セルＣ４）が設けられる。各々のセルは、現在アクティブなもの（すなわち、現在選択されているセル）を指定するためにセレクタが設けられた状態で、アドレス指定可能である。
【００３５】
図６及び図７において示されるように、個々のノートブック・ページは、ノートブックの一端に沿って配置されることが好ましいページ識別子２６０によって特定される。好ましい実施形態においては、各々のページ識別子は、ノートブックの上縁に沿って位置するタブ要素（例えば、要素２６１ａ、２６２ａ、２６３ａ）の形態である。各々のタブ要素は、対応するページの内容を表すユーザ選択タイトルを含む、テキスト又は図形ラベルなどの表示記号を含むことができる。図６においては、タブ要素２６０は、そのそれぞれのデフォルト名に設定されている。例えば、最初の３つのタブ要素（要素２６１ａ、２６２ａ、２６３ａ）は、それぞれ、Ａ、Ｂ、及びＣに設定されている。しかしながら、タブ要素は、典型的には、ユーザによって定められる記述的な名前が与えられる。例えば、図７に示されるように、最初の３つのタブ要素は、ここでは、「Ｃｏｎｔｅｎｔｓ」（タブ要素２６１ｂ）、「Ｓｕｍｍａｒｙ」（タブ要素２６２ｂ）及び「Ｊａｎ」（タブ要素２６３ｂ）に設定された。同じように、残りのタブは、それに続くその年の月に設定されている。このように、ユーザは、ページ識別子を普通の紙のノートブックで馴染み深いタブと関連付ける。従って、ユーザは、対象となるページすなわちスプレッドを選択する方法を既に知っており、単に（紙のノートブックからページを選択するときに行うように）ページに対応するタブを選択する。
【００３６】
ユーザがカスタマイズ可能なページ識別子は、情報の適切なページの選択に役立つことに加えて、スプレッドシートの式の入力を支援する機能を果たす。例えば、別のページにあるセルを参照する式を入力するときは、ユーザは、（本明細書において後述されるように）単に式自体の中に記述的なページ名を用いることができ、したがって、ユーザが参照されるセル又は情報の関係を理解することが容易になる。
【００３７】
スプレッドシート・ノートブック・インタフェースの特徴及び操作の概要は、ボーランド・インターナショナル社から入手可能な非特許文献５において明らかにされている。
【００３８】
モデル内の機密データの秘匿化
前提条件
検討中のモデルによって単一の出力データが提供されるものと仮定する。幾つかの出力データを特徴とする実際の事例については、モデルは、異なるモデルの集合と考えることができ、それらの各々は、単一の出力データを指定する。
【００３９】
表記法
最初に、本発明の理解を容易にする幾つかの表記法及び命名規則を導入する。
・ＯＤは、出力データに対応する。
・｛ＳＤｉ｝は、範囲データの組に対応する。ここでは、これらの範囲データの幾つかは、検討中のモデルの一部であると仮定する。範囲データは、インデックスｉによって特定される。
・｛ＭＤｊ｝は、モデル・データの組に対応する。ここでは、これらのモデル・データの幾つかは、検討中のモデルの一部であると仮定する。モデル・データは、インデックスｊによって特定される。
・｛ＩＲｋ｝は、中間結果の組に対応する。ここでは、これらの中間結果の幾つかは、検討中のモデルの一部であると仮定する。中間結果は、インデックスｋによって特定される。
【００４０】
上記のデータ間で定められる異なる関係は、これらのデータをホストする電子スプレッドシートのセル内にある異なる式に対応する。これらの関係はまた、正式には以下のように数学関数によって表される。
ＯＤ＝Ｆ０（ＳＤｉ，ＭＤｊ，ＩＲｋ）      （１）
【００４１】
使用可能な入力データ（｛ＳＤｉ｝及び｛ＭＤｊ｝）のすべてが必ずしも上記の式に存在するわけではないことに注意しなければならない。中間データを定める関係を変換する式（下記参照）にも同じことが当てはまる。
ＩＲｋ１＝Ｆｋ１（ＳＤｉ，ＭＤｊ，ＩＲｋ）      （２）
【００４２】
電子スプレッドシートに循環参照（すなわち、それ自体の関数であるデータ）が存在しないものと仮定すると、幾つかの中間結果は、
ＩＲｋ２＝Ｆｋ２（ＳＤｉ，ＭＤｊ）      （３）
のようになる。これは、これらの中間結果が入力データのみに依存することを意味する。
【００４３】
このように、関係の組は、図８に示されるようなツリー構造によって形式化することができる。この種のツリー構造は、出力データＯＤ３０１に対応し、任意に１に設定される最も低いレベルと、一連の既述事項の中でより深いものである中間結果に対応する最も高いレベルとの間の階層を定める。図８によって示される場合では、第１の中間結果ＩＲｋ１  ３０２はレベル２にあり、一方、レベル３は、第２の中間結果ＩＲｋ２  ３０４、範囲データＳＤｉ３０３、及びモデル・データＭＤｊ３０５に対応する。こうしたレベルを割り当てるために、ここでは説明されない従来技術を利用することができる。
【００４４】
本発明の原理
本発明の原理は、以下の一連のステップに沿ってコンピュータ代数を利用することである。
Ａ．第１のステップは、以下のように、出力データが入力データのみに依存する関係（方程式）を作成することである。
ＯＤ＝Ｆ（ＳＤｉ，ＭＤｊ）      （４）
これは、タイプ（２）の各々の方程式ＩＲｋ１＝Ｆｋ１（ＳＤｉ，ＭＤｊ，ＩＲｋ）において、各々の引数ＩＲｋを、タイプ（２）のＩＲｋ１＝Ｆｋ１（ＳＤｉ，ＭＤｊ，ＩＲｋ）又はタイプ（３）のＩＲｋ２＝Ｆｋ２（ＳＤｉ，ＭＤｊ）のいずれかの対応する方程式に帰納的に置換することによって、行うことができる。
【００４５】
例えば、
・各々の引数ＩＲｋをタイプ（２）の方程式ＩＲｋ１＝Ｆｋ１（ＳＤｉ，ＭＤｊ，ＩＲｋ）に置換する場合には、このステップでは、次の関係ＩＲｋ１＝Ｆｋ１（ＳＤｉ，ＭＤｊ，Ｆｋ（ＳＤｉ，ＭＤｊ，ＩＲｋ））を作成することになる。この場合には、結果として得られる方程式のすべてがタイプ（２）である。次のステップは、タイプ（２）の各方程式の各々の引数ＩＲｋをタイプ（２）の方程式又はタイプ（３）の方程式のいずれかに再び置換することである。この反復処理は、各々の引数をタイプ（３）の方程式によって定めることができ、かつ、出力データをタイプ（４）の方程式で表すことができるときに、終了する。
・各々の引数ＩＲｋをタイプ（３）の方程式ＩＲｋ２＝Ｆｋ２（ＳＤｉ，ＭＤｊ）に置換する場合には、このステップでは、タイプ（３）の方程式である次の関係ＩＲｋ１＝Ｆｋ１（ＳＤｉ，ＭＤｊ，Ｆｋ（ＳＤｉ，ＭＤｊ））を作成することになる。次のステップは、タイプ（１）の方程式において引数ＩＲｋのすべてをタイプ（３）の対応する方程式に置換し、タイプ（４）の方程式を得ることである。
・少なくとも１つの引数ＩＲｋをタイプ（２）の方程式ＩＲｋ１＝Ｆｋ１（ＳＤｉ，ＭＤｊ，ＩＲｋ）に置換する場合には、結果として得られる方程式の少なくとも１つは、タイプ（２）の方程式である。次のステップは、タイプ（２）の各方程式の各々の引数ＩＲｋをタイプ（２）の方程式又はタイプ（３）の方程式のいずれかに置換することである。この反復処理は、各々の引数をタイプ（３）の方程式によって定めることができ、かつ、出力データをタイプ（４）の方程式で表すことができるときに、終了する。
【００４６】
Ｂ．第２のステップは、コンピュータ代数において利用可能な、因数分解などの従来技術によって、方程式（４）ＯＤ＝Ｆ（ＳＤｉ，ＭＤｊ）を単純化することである。
注記：式をできるだけ速く単純化することができるように、これらの最初の２つのステップＡ及びＢを入れ子にする（ｎｅｓｔ）ことが有利な場合がある。
【００４７】
Ｃ．第３のステップは、方程式（４）ＯＤ＝Ｆ（ＳＤｉ，ＭＤｊ）の中で、隠されるべきモデル・データをそれらの値に置換して、このモデル・データをユーザから隠すようにすることである。
【００４８】
Ｄ．第４のステップは、結果として得られる式を（コンピュータ代数によって再度）単純化することである。例えば、モデル・データのすべてをそれらの値に置換した場合には、結果として得られるモデルは、目的のもの、すなわち、以下のように範囲データのみがパラメータとして用いられる式になる。
ＯＤ＝Ｆ（ＳＤｉ）      （５）
【００４９】
結果として得られる新たな式（５）ＯＤ＝Ｆ（ＳＤｉ）は、方程式（１）、（２）、及び（３）に対応する式の組に代わるものである。これらの方程式（１）、（２）、及び（３）は、対応するセルの内容を削除することによって、電子スプレッドシート・ファイルから簡単に削除することができる。結果として得られるデータは、式（１）、（２）、及び（３）によって作られるルート情報の損失を避けるために、新しいファイルに記録する必要があることが明らかである。
【００５０】
コンピュータ代数は、今日、「Ｍａｐｌｅ」、「Ｍａｔｈｅｍａｔｉｃａ」、「ＭａｔＬａｂ」、及び「ＭｕＰａｄ」などの市販品において、又は、「Ｙａｃａｓ」（ｈｔｔｐ：／／ｙａｃａｓ．ｓｏｕｒｃｅｆｏｒｇｅ．ｎｅｔ／ｙａｃａｓ．ｈｔｍｌ参照）のようなシェアウェア又は以下のページｈｔｔｐ：／／ｗｗｗ．ｌｏｒｉａ．ｆｒ／〜ｚｉｍｍｅｒｍａ／ＣａｌｃｕｌＦｏｒｍｅｌ／）に示される他の多くのシェアウエアとして入手可能な、よく知られている技術である。こうした技術は、マクロによって呼び出すことができる業界標準のアプリケーション・プログラミング・インタフェースのおかげで、オフィス・アプリケーションによって容易にインターフェースすることができる、電子スプレッドシートのようなツールにおいて利用可能である。ツールの多くは、我々の必要性に適した、（例えば因数分解技術による）式の単純化又は式の評価に関連する幅広い同様の機能を共有するものであるため、この文書の残りの部分においては、特定の１つのツールを前提とはしないものとする。
【００５１】
実施例
遠隔ネットワーク管理の分野において実際のコスト計算／価格設定モデルから導かれる例によって、本発明を説明する。
・範囲データは図９に記載される。それらは、
・サービス契約の期間（範囲データ「ｙｅａｒ」）、
・管理されるネットワーク装置の数（範囲データ「ｄｅｖ」）、
・顧客位置の数（範囲データ「ｌｏｃ」）、
に対応する。
・モデル・データは、図１０に記載される。それらは、
・１時間当たりの賃金率（モデル・データ「ｈｒｍｏｎ」、「ｈｒｐｂ」、及び「ｈｒｒｅｐ」）、
・ハードウェア料金（モデル・データ「ｓｒｖｃｏｓｔ」）、
・ソフトウェア・ライセンス料金（モデル・データ「ｓｆｗｆｅｅ」）、
などの異なるコスト要因を指定する多数の変数に対応する。
・出力データは、図１１に表される。それは、全契約価値を与える単一の出力データ（出力データ「ｔｃｖ」）に対応する。
・中間結果は、以下の２つの図１２及び図１３によって表される。
・第１の図１２は、月ごとの料金又は１回限りの料金のいずれかに対応する中間結果を含む。
・第２の図１３は、年に依存するコスト要因に対応する中間結果を含む。
【００５２】
出力データと中間結果と入力データとの間に確立される関係は、コスト・モデルのスプレッドシート内における多数のセルの内容に従って指定され、図１４において指定される方程式に対応する。各々の方程式は、
・タイプ
・レベル
・ランク
によって特定される。
【００５３】
例えば、この図１４の第１の方程式ｔｃｖ＝ｍｌｃ＊ｙｅａｒ＊１２＋ｏｔｃ（ランクは１に相当する）は、範囲データ「ｙｅａｒ」と、中間結果「ｍｌｃ」及び「ｏｔｃ」とから、出力データ「ｔｃｖ」を求めるのに用いられる関係を変換する。この第１の方程式は、ツリー階層の頂点にあるためレベル１を受け、かつ、タイプ（１）のものである。
【００５４】
上記の関係は、図１５に表されるツリーにまとめられる。このツリーは、異なる中間結果の間の階層を定めるレベルも指定する。例えば、最も高い階層レベル１は出力データ「ｔｃｖ」６０１に対応し、第２のレベルは中間結果「ｍｌｃ」６０２及び「ｏｔｃ」６０３に対応し、以下、中間結果「ｃｏｅｆ１」６０４に対応する最も低い階層レベル１２に至る。
【００５５】
ステップＡ及びステップＢ
本実施例においては、最初の２つのステップＡ及びＢは、前述のように、最も高いレベル１２の方程式すなわち「ｃｏｅｆ（１）＝１」から始まり、続いてレベル７まで、
ｃｏｅｆ（１）＝１
ｃｏｅｆ（２）＝ｃｏｅｆ（１）×ｅｆｆ＝１×ｅｆｆ＝ｅｆｆ
ｃｏｅｆ（３）＝ｃｏｅｆ（２）×ｅｆｆ＝ｅｆｆ×ｅｆｆ＝ｅｆｆ２
ｃｏｅｆ（４）＝ｃｏｅｆ（３）×ｅｆｆ＝ｅｆｆ２×ｅｆｆ＝ｅｆｆ３
ｃｏｅｆ（５）＝ｃｏｅｆ（４）×ｅｆｆ＝ｅｆｆ３×ｅｆｆ＝ｅｆｆ４
ｃｏｅｆ（６）＝ｃｏｅｆ（５）×ｅｆｆ＝ｅｆｆ４×ｅｆｆ＝ｅｆｆ５
のように実行される。
前記の等式において、ステップＡ及びＢは、コンピュータ代数アルゴリズムがａｎ−１×ａ＝ａｎ形式の単純化を実行することができるように、入れ子にされたことに留意されたい。
【００５６】
次いで、レベル６の方程式に進んで、まずランク３１から３６で始まり、値１から６までの間の整数として変数「ｉ」を用いる。
【数１】
0004791273.tif 000002
同様に、ランク２５から３０の方程式、
【数２】
0004791273.tif 000003
及び、ランク１９から２４の方程式、
【数３】
0004791273.tif 000004
が得られ、レベル５（ランク１３から１８）の方程式、
【数４】
0004791273.tif 000005
が得られる。
【００５７】
次いで、レベル４の方程式は、
【数５】
0004791273.tif 000006
のように書くことができる。
【００５８】
次いで、レベル３の方程式は、
【数６】
0004791273.tif 000007
のように書くことができる。
【００５９】
次いで、レベル２の方程式は、
【数７】
0004791273.tif 000008
のように書く。
【００６０】
最後に、出力データ「ｔｃｖ」を与えるレベル１の式を得るために、
【数８】
0004791273.tif 000009
とし、これは、出力データ「ｔｃｖ」が、次の形式の関数、
【数９】
0004791273.tif 000010
によって入力データ（「ｙｅａｒ」、「ｄｅｖ」、「ｌｏｃ」）から導かれることを示しており、ここで大文字は制約を表す。
【００６１】
ステップＣ
ここで、目的は、顧客の施設に行くための平均コストを指定する「ｔｒｖ」を除いて、モデル・データのすべてを隠すことであると仮定する。ステップＣでは、先の式における（「ｔｒｖ」を除く）すべてのモデル・データを、
【数１０】
0004791273.tif 000011
のように、その対応する値に置き換える。
【００６２】
ステップＤ
最後のステップは、括弧内の式の単純化を実行するために、上記の式をコンピュータ代数エンジンに入力することである。これによって、以下の式が得られる。
【数１１】
0004791273.tif 000012
この種の式を「リバース・エンジニアリング」して、基礎となるモデル及びコスト要因の概要を描き出すことができる者はいないことが明らかである。したがって、スプレッドシートのセルにこの式が書き込まれている場合、及び、中間結果をホストするセルのすべてが削除されている場合には、本課題は解決される。本発明に係るスプレッドシート・ファイルは、内部の機密情報のいずれも開示することなく、元のモデルの忠実な作業バージョンを含む。
【００６３】
方法
先の実施例に示されるように、本発明は、図１６に示されるフロー・チャートによる方法に沿うものである。
・ステップ７０１において、スプレッドシートのユーザは、出力データＯＤを含むセルを指定するように指示される。単一の出力データがモデルによって生成されることを以前に仮定したため、単一のセルが電子スプレッドシート・ファイル内で指定されなければならない。複数の出力データを生成するモデルの場合には、本方法は、単に、個々の出力データごとに反復することができる。
【００６４】
・ステップ７０２において、スプレッドシートのユーザは、範囲データ｛ＳＤｉ｝に対応するセルを指定するように指示される。
【００６５】
・ステップ７０３において、スプレッドシート・ユーザは、モデル・データ｛ＭＤｊ｝に対応するセルを指定するように指示される。
【００６６】
・ステップ７０４において、いわゆる中間結果表（略してＩＲＴ）を作成して、スプレッドシートに含まれる中間結果ＩＲの組を記録し、出力データを範囲データ及びモデル・データの両方とリンクする。このＩＲＴは、レコードの集合からなるものであり、各々のレコードは以下のフィールドを含む。
・セル・アドレス・フィールド（略してＣＡ）。セルに名前が付けられている場合は、セル・アドレスをそのセル名に置き換えることができる。
・セル・タイプ・フィールド（略してＣＴ）
・セル・レベル・フィールド（略してＣＬ）
・セル内容フィールド（略してＣＣ）
【００６７】
・この表は、ＣＬ（セル・レベル）がデフォルトで１に設定される、出力データに対応する第１のレコードから開始することによって、作成される。次に続くレコードの作成は、以下のステップを含む。
・既存のレコードのＣＣ（セル内容）フィールドの式を解析する。
・解析された式において、ＳＤ（範囲データ）でもＭＤ（モデル・データ）でもない変数を特定する。こうした変数は、中間結果（ＩＲ）に対応する。
・所与のＩＲに対応する作成されたレコードの各々について、ＣＬ（セル・レベル）フィールドに与えられる値は、親ＩＲのＣＬフィールドの最高値を１増加させたものに等しい。
この処理は、作成されたレコードのすべてについて、式がＳＤ若しくはＭＤか又は記録されたＩＲのいずれかである変数を指し示したときに完了する。
【００６８】
・ステップ７０５において、タイプ（４）の式ＯＤ＝Ｆ（ＳＤｉ，ＭＤｊ）を作成するために、ＩＲＴのＣＣフィールドに含まれる式がコンピュータ代数エンジンに入力される。これはまた、最も高いＣＬの式のＣＣをコンピュータ代数エンジンに入力し、最後に入力されたＣＣを単純化することを繰り返すことによって、行われる。この一連のステップは、先の実施例において示されている。
【００６９】
・ステップ７０６において、コンピュータ代数エンジンによって作成される結果として得られる式は、例えば、以前に無効とされたセル内に、又はすでにＯＤ（出力データ）を収容しているセルの新しいバージョンとして、スプレッドシート・ファイルのセルに記録される。
【００７０】
・ステップ７０７において、電子スプレッドシートのユーザは、隠す必要があるＭＤ（モデル・データ）がどれであるかを指定するように指示される。このステップは、ポップアップ・ウィンドウ及びダイアログ・ボックスなどの従来のユーザ・インタフェース技術によって行うことができ、あるいは、デフォルトですべてのＭＤが隠さなければならないと仮定して、このステップを無効ステップにすることもできる（そうでない場合には、ステップ８０２において入力データが範囲データとして指定される）。
【００７１】
・ステップ７０８において、ステップ７０６で記憶された式の中で、隠されるＭＤをそれらの値に置換する。
【００７２】
・ステップ７０９において、単純化のために、（隠されるＭＤをそれらの値に置換した）この式がコンピュータ代数エンジンに入力される。
【００７３】
・ステップ７１０において、コンピュータ代数エンジンによって戻される単純化された式は、ステップ７０６の場合と同じように、スプレッドシート・ファイルのセルに記録される。
【００７４】
・ステップ７１１において、（明らかに元のＯＤセルを含む）すべてのＩＲ（中間結果）セル及びすべての隠されたＭＤセルは、電子スプレッドシート・ファイルから削除される。
【００７５】
・ステップ７１２において、ユーザは、結果として得られる更新されたファイルの名前を変更して保存するように指示される。
【００７６】
特定の実施形態
従来のコスト計算／価格設定ツールにおいては、エンド・ユーザは、モデルの一部である異なる中間結果のすべてを容易に求めることができる。こうした中間結果は、コスト計算／価格設定ツールのスプレッドシート作成者が第三者と共有することを望まない秘密情報（典型的にはモデル・データ）を含むことがある。それにもかかわらず、作成者は、範囲データを入力したときに出力データを生成するツールを共有することを望む場合がある。
【００７７】
本発明は、秘密情報（典型的にはモデル・データ）を含むことがある中間結果を開示することなく、コスト計算／価格設定モデルを第三者と共有するのに用いることができるという利点がある。
【００７８】
例えば、企業Ｘが、現時点で直接販売チャネルを通して製品を供給しており、より広範な機会ベースを達成するために、ビジネス・パートナなどの間接チャネルを利用することを望む。本発明によって、機密情報の秘密性を保持しながら、内部のコスト計算／価格設定モデルを１つ又は複数のビジネス・パートナと共有することが可能である。
【００７９】
本発明は、好ましい実施形態を参照して具体的に示され、説明されたが、本発明の主旨及び範囲から逸脱することなく、形態及び詳細を様々に変更できることが分かるであろう。
【図面の簡単な説明】
【００８０】
【図１】本発明を実現することができるコンピュータ・システムのブロック図である。
【図２】本発明を実行するためのオペレーティング・システムと、アプリケーション・ソフトウェアと、ユーザ・インタフェースとを含むソフトウェア・システムのブロック図である。
【図３】本発明を実現することができるグラフィカル・ユーザ・インタフェースの基本的なアーキテクチャ及び機能を示す。
【図４】本発明の好ましい実施形態において用いられるスプレッドシート・ノートブック・インタフェースを示す。
【図５】図４に示されるノートブック・インタフェースのツールバー・コンポーネントを示す。
【図６】図４に示されるノートブック・インタフェースの個々のページに迅速にアクセスして操作するためのページ識別子を示す。
【図７】図４に示されるノートブック・インタフェースの個々のページに迅速にアクセスして操作するためのページ識別子を示す。
【図８】入力データと出力データとの間の階層関係を示すブロック図である。
【図９】範囲データの例を示す。
【図１０】モデル・データの例を示す。
【図１１】出力データの例を示す。
【図１２】中間結果データの例を示す。
【図１３】中間結果データの例を示す。
【図１４】例を用いて、異なるデータ間に確立される種々の関係を指定するものである。
【図１５】データが体系化されるツリー構造の例を示すブロック図である。
【図１６】本発明に係る方法を示すフロー・チャートである。
【図１】
0004791273.tif 000013
【図２】
0004791273.tif 000014
【図３】
0004791273.tif 000015
【図４】
0004791273.tif 000016
【図５】
0004791273.tif 000017
【図６】
0004791273.tif 000018
【図７】
0004791273.tif 000019
【図８】
0004791273.tif 000020
【図９】
0004791273.tif 000021
【図１０】
0004791273.tif 000022
【図１１】
0004791273.tif 000023
【図１２】
0004791273.tif 000024
【図１３】
0004791273.tif 000025
【図１４】
0004791273.tif 000026
【図１５】
0004791273.tif 000027
【図１６】
0004791273.tif 000028