(57)【要約】  電子データのスナップショットは、ある一時点のファイルについての情報を提供するために生成される。スナップショットは、数人のユーザ間で共有することができる。スナップショットは、要求されるスナップショットの種類に基づいて生成される。スナップショットの種類には静的スナップショット、公開済みアイテムのスナップショットおよび対話的スナップショットが含まれる。それぞれの種類のスナップショットは、慎重に取り扱うべき情報をユーザに利用不可能にするように、ファイルデータの一部を、要求するユーザから隠すことができる。静的スナップショットは、ファイルに関連する静的データのみを保存することで生成する。対話的スナップショットは、ファイルに関連する静的データを保存することで生成するが、動的ファイルデータに対する任意のリンクまたは参照は維持される。公開済みアイテムのスナップショットは、固有のファイルオブジェクト、および固有のオブジェクトに関連する静的データを含む。
2009507303.tif 000002
【特許請求の範囲】
【請求項１】
電子ファイルデータのスナップショットを生成する方法であって、
前記スナップショットに対する要求を受け取ることと、
前記要求されたスナップショットに関連する前記電子ファイルデータを取り出すことであって、前記取り出した電子ファイルデータが静的なデータと動的なデータとを備えることと、
前記動的データの現在の状態を判断することと、
前記取り出した電子ファイルデータ内の機密情報を識別することと、
前記スナップショットを保存することであって、前記の保存したスナップショットは、前記受け取った電子データと前記動的データの前記現在の状態とを備え、さらに前記識別した機密情報は、前記スナップショットがアクセスされる時に前記スナップショット内で可視でないことと
を備えることを特徴とする方法。
【請求項２】
前記動的データの現在の状態を判断することは、前記取り出した電子ファイルデータ内の数式に対して値を計算することを備え、さらに前記保存したスナップショットは、前記の計算した値をさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記保存したスナップショット内の前記計算した値は前記数式を参照しないように、前記計算した値を前記数式から分離することをさらに備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記動的データの現在の状態を判断することは、外部データソースにリンクした前記取り出した電子ファイルデータ内のデータをリフレッシュすることを備え、さらに前記保存したスナップショットは、前記のリフレッシュしたデータをさらに備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記保存したスナップショット内の前記リフレッシュしたデータが前記外部データソースを参照しないように、前記のリフレッシュしたデータを前記の外部データソースから分離することをさらに備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記識別した機密情報を前記取り出した電子ファイルデータから除去するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記動的データの前記現在の状態がユーザアクションに応じて判断されるように、前記動的データの前記現在の状態の自動判断を使用不可にすることをさらに備えることを特徴とする請求項１に記載の方法。
【請求項８】
前記保存したスナップショットが前記取り出した電子データと関連するメタデータを備えないように、前記取り出した電子データと関連するメタデータを除去するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項９】
前記取り出した電子ファイルデータは、公開のために選択したオブジェクトであることを特徴とする請求項１に記載の方法。
【請求項１０】
前記オブジェクトに対するシートを作成することと、
前記スナップショットは前記シートを備え、前記シート上に前記オブジェクトをコピーすることと
をさらに備えることを特徴とする請求項９に記載の方法。
【請求項１１】
前記オブジェクトをコピーすることは、前記スナップショットがレンダーされる時に前記オブジェクトがユーザインタフェース上で可視でないように、前記シートの一部に前記オブジェクトをコピーすることをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
電子ファイルデータのスナップショットを生成するシステムであって、
前記スナップショットに対する要求はクライアント側で生成するクライアントと、
サーバに接続したデータストアであって、前記要求したスナップショットに関連する前記電子ファイルデータは前記データストアに格納されるデータストアと、
前記クライアントと前記データストアとに接続したサーバであって、
前記スナップショットに対する前記要求を前記クライアントから受け取り、
前記要求したスナップショットに関連する前記電子ファイルデータを前記データストアから取り出し、
外部データソースにリンクした前記取り出した電子ファイルデータ内のデータをリフレッシュし、
前記取り出した電子ファイルデータ内の数式に対して値を計算し、
前記取り出した電子ファイルデータ内の機密情報を識別し、
前記スナップショットを保存し、前記保存したスナップショットは、前記取り出した電子データ、前記計算した値、前記リフレッシュしたデータを備え、さらに前記識別した機密情報は、前記スナップショットはアクセスされる時に前記スナップショット内で可視でない
ようにアレンジされたサーバと
を備えることを特徴とするシステム。
【請求項１３】
前記サーバは、前記保存したスナップショット内の前記計算した値が前記数式を参照しないように、前記値を前記数式から分離するようにさらにアレンジされることを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記サーバは、前記保存したスナップショット内の前記リフレッシュしたデータが前記外部データソースを参照しないように、前記リフレッシュしたデータを前記外部データソースから分離するようにさらにアレンジされることを特徴とする請求項１２に記載のシステム。
【請求項１５】
前記サーバは、
前記数式に対する前記値に関連する自動計算機能を使用不可にし、
ユーザアクションに応じて前記計算した値を更新する
ように、さらにアレンジされることを特徴とする請求項１２に記載のシステム。
【請求項１６】
前記サーバは、
前記外部データソースにリンクした前記データに関連する自動リフレッシュ機能を使用不可にし、
ユーザアクションに応じて、前記外部データソースにリンクした前記データを更新する
ように、さらにアレンジされることを特徴とする請求項１２に記載のシステム。
【請求項１７】
前記サーバは、前記識別した機密情報を前記取り出した電子ファイルデータから除去するようにさらにアレンジされることを特徴とする請求項１２に記載のシステム
【請求項１８】
前記取り出した電子ファイルデータは、公開のために選択したオブジェクトであることを特徴とする請求項１２に記載のシステム。
【請求項１９】
コンピュータによって実行されるときに前記コンピュータに電子ファイルデータのスナップショットを生成する方法を実施させるコンピュータ実行可能命令を有するコンピュータ読取可能媒体であって、前記方法は、
前記スナップショットに対する要求を受け取ることと、
前記要求したスナップショットに関連する前記電子ファイルデータを取り出すことと、
前記取り出した電子ファイルデータ内の数式に対する値を計算することと、
外部データソースにリンクした前記取り出した電子ファイルデータ内のデータをリフレッシュすることと、
前記取り出した電子ファイルデータ内の機密情報を識別することと、
前記スナップショットを保存することであって、前記保存したスナップショットは、前記取り出した電子データ、前記計算した値、前記リフレッシュしたデータを備え、さらに前記識別した機密情報は、前記スナップショットがアクセスされる時に前記スナップショット内で可視でないこと
を備えることを特徴とするコンピュータ読取可能媒体。
【請求項２０】
前記識別した機密情報を前記取り出した電子ファイルデータから除去することをさらに備えることを特徴とする請求項１９に記載のコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データスナップショットの生成に関する。
【背景技術】
【０００２】
電子ドキュメントを共有することは、異なるユーザが同一のドキュメントに容易にアクセスすることを可能にする。多数の異なるユーザは、同一のドキュメントに対して同時にアクセスし、修正することができる。ドキュメントの最新バージョンは、全てのユーザの修正を反映できないため、同時の修正は、ドキュメントを要求する後続のユーザにとっては紛らわしい可能性がある。ドキュメント内のデータ値は、時間とともに変化する可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、古いデータ値を有するドキュメントの旧バージョンが望まれるが、利用不可能である可能性がある。共有ドキュメントはまた、機密情報（proprietary information）を含む可能性もある。例えば、共有ドキュメントは、慎重に取り扱うべき財務データ、企業秘密、または他の秘密情報（confidential information）を含む可能性がある。組織は、そのような情報を、共有ドキュメントにアクセスできる全てのユーザと共有することを望まないであろう。
【課題を解決するための手段】
【０００４】
電子データのスナップショットは、ある一時点におけるファイルについての情報を提供するために生成される。スナップショットは、数人のユーザ間で共有することができる。スナップショットは、要求されるスナップショットの種類に基づいて生成される。スナップショットの種類は、静的スナップショット、公開済みアイテムのスナップショット（published item snapshot）および対話型スナップショット（interactive snapshot）を含む。それぞれの種類のスナップショットは、慎重に取り扱うべき情報がユーザに利用可能とならないように、ファイルデータの一部を、要求するユーザから隠すことができる。静的スナップショットは、ファイルに関連する静的なデータのみを保存することにより生成される。メタデータなどのファイルに関連する任意の動的データは、静的スナップショットに保存されない。動的データの例は、外部データソースに対する数式（formula）および参照を含む。対話的スナップショットは、ファイルに関連する静的データを保存することにより生成される。しかしながら、対話的スナップショットは、動的ファイルデータに対するリンクおよび参照を維持する。したがって、動的データにリンクした値は、対話的スナップショット内の現在の値で手動的にリフレッシュすることができる。公開済みアイテムのスナップショットは、固有のファイルオブジェクト、および固有のオブジェクトに関連する静的データを含む。
【０００５】
本発明は、コンピュータプロセス、コンピューティングシステムとして、またはコンピュータプログラム生成物またはコンピュータ読取可能媒体などの生成物として実装することができる。コンピュータプログラム生成物は、コンピュータシステム、およびコンピュータプロセスを実行するための命令のコンピュータプログラムをエンコードすることによって、読取可能なコンピュータ記憶媒体とすることができる。コンピュータプログラム製品はまた、コンピューティングシステム、およびコンピュータプロセスを実行するための命令のコンピュータプログラムをエンコードすることによって、読取可能なキャリア上の伝搬信号とすることができる。
【０００６】
本発明を特徴付ける、これらおよび様々な他の特徴、および利点は、以下の詳細な説明を読むこと、および関連図面をレビューすることで明らかになるであろう。
【発明を実施するための最良の形態】
【０００７】
ここで、同じ番号は同じ要素を表している図面を参照し、本発明の様々な態様を説明する。特に、図１および対応する議論は、本発明の実施形態を実装するのに適したコンピューティング環境の簡潔で一般的な説明を提供することを意図している。本発明は、サーバおよびパーソナルコンピュータシステム上で実行するプログラムモジュールの一般的なコンテキストで説明するが、当業者は、本発明はまた、他の種類のコンピュータシステムおよびプログラムモジュールと組み合わせて実装することができることを理解されたい。
【０００８】
一般に、プログラムモジュールは、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造、および他の種類の構造を含む。さらに、当業者は、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む、他のコンピュータシステム構成で実践できることを認識されたい。本発明はまた、通信ネットワークを通じてリンクされたリモート処理デバイスによりタスクが実施される分散コンピューティング環境で実践することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートの記憶デバイスの両方に配置することができる。
【０００９】
ここで図１を参照し、本発明の様々な実施形態で使用するコンピュータ１００に対する例示的コンピュータアーキテクチャを説明する。図１に示すコンピュータアーキテクチャは、中央演算処理装置（「ＣＰＵ」）１１０を含む従来のデスクトップまたはラップトップコンピュータ、ランダムアクセスメモリ（「ＲＡＭ」）１２２および読取専用メモリ（「ＲＯＭ」）１２４を含むシステムメモリ１２０、およびメモリをＣＰＵ１１０に結合するシステムバス１３０を図示する。起動時などにコンピュータ内の要素間の情報の伝達を助ける基本ルーチンを包含する基本入力／出力システムは、ＲＯＭ１２４に格納される。コンピュータ１００はさらに、以下でより詳細に説明する、オペレーティングシステム１４２、アプリケーションプログラム、および他のプログラムモジュールを格納するための大容量記憶デバイス１４０を含む。
【００１０】
大容量記憶装置１４０は、バス１３０に接続した大容量記憶制御装置（図示せず）を通してＣＰＵ１１０に接続される。大容量記憶装置１４０および関連するコンピュータ読取可能媒体は、不揮発性の記憶をコンピュータ１００に提供する。本明細書に包含されるコンピュータ読取可能媒体の説明は、ハードディスクまたはＣＤ−ＲＯＭドライブなどの大容量記憶装置について言及するが、コンピュータ読取可能媒体は、コンピュータ１００がアクセスできる任意の利用可能な媒体とすることができることを、当業者は認識されたい。
【００１１】
限定ではなく例として、コンピュータ読取可能媒体は、コンピュータ記憶媒体、および通信媒体を備えることができる。コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュールまたは他のデータなどの情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他の固体メモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（digital versatile disks）、または他の光学ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶デバイス、または所望の情報を記憶するのに用いることができ、コンピュータ１００がアクセス可能な任意の他の媒体を含むが、これらに限定されるものではない。
【００１２】
本発明の様々な実施形態によると、コンピュータ１００は、インターネットなどのネットワーク１５０を通じたリモートコンピュータに対する論理接続を用いて、ネットワーク環境で作動することができる。コンピュータ１００は、バス１３０に接続したネットワークインタフェースユニット１６０を通じてネットワーク１５０に接続することができる。ネットワークインタフェースユニット１６０は、他の種類のネットワークおよびリモートコンピュータシステムに接続するのに用いることができることを、理解されたい。コンピュータ１００はまた、キーボード、マウス、または電子スタイラス（図１には示さず）を含む多数の他のデバイスからの入力を受け取り、処理するための入力／出力制御装置１７０を含むことができる。同様に、入力／出力制御装置１７０は、出力を、ディスプレイ画面、プリンタ、または他の種類の出力デバイスに提供することができる。
【００１３】
上記で簡潔に述べたように、多数のプログラムモジュールおよびデータファイルは、ワシントン州レドモンドにあるマイクロソフト社のＷＩＮＤＯＷＳ  ＸＰ（登録商標）オペレーティングシステムなどのネットワーク化されたパーソナルコンピュータの操作を制御するのに適したオペレーティングシステム１４２を含む、コンピュータ１００の大容量記憶装置１４０およびＲＡＭ１２２に格納することができる。大容量記憶装置１４０およびＲＡＭ１２２はまた、１または複数のプログラムモジュールを格納することができる。特に、大容量記憶装置１４０およびＲＡＭ１２２は、ウェブブラウザアプリケーションプログラム１４４を格納することができる。当業者に公知であるように、ウェブブラウザアプリケーション１４４は、ＨＴＭＬを用いてフォーマットされるウェブページ１４６などの電子ドキュメントを要求し、受信し、レンダーし、および電子ドキュメントに対話性を提供するように作動する。本発明の一実施形態によると、ウェブブラウザアプリケーションプログラム１４４は、マイクロソフト社のＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ（登録商標）ウェブブラウザアプリケーションプログラムを備える。しかしながら、モジラファウンデーションのＦＩＲＥＦＯＸ（登録商標）ウェブブラウザアプリケーションのような他のメーカの他のウェブブラウザアプリケーションプログラムを使用し、本発明の様々な態様を具現化することができることを認識されたい。
【００１４】
以下でより詳細に説明するように、ウェブページ１４６は、スプレッドシートアプリケーションプログラム１４８からのスプレッドシートドキュメントのスナップショットの可視な表示を備えることができる。スプレッドシートアプリケーションプログラム１４８は、マイクロソフト社のＥＸＣＥＬスプレッドシートアプリケーションプログラム、または別のメーカの別のスプレッドシートアプリケーションプログラムを備えることができる。スプレッドシートドキュメントのスナップショットを生成するプロセスに関する更なる詳細は、図２−８に関して以下で提供する。
【００１５】
ここで図２を参照し、本発明の様々な実施形態の作動環境を図示するネットワークアーキテクチャの図を説明する。図２に示すように、コンピュータ１００は、ネットワーク１５０に接続される。また、ネットワーク１５０は、アプリケーションサーバ２１０に接続される。アプリケーションサーバ２１０は、図１に関して上述した従来のコンピューティングコンポーネントの一部または全部を包含することができるサーバコンピュータを備える。さらに、アプリケーションサーバ２１０は、アプリケーションサーバ２１０に格納されるかまたはアプリケーションサーバ２１０にアクセス可能なドキュメントの要求を、受け取り、応答するウェブサーバアプリケーションを実行するように作動する。さらに、アプリケーションサーバ２１０は、ウェブアプリケーション２２０により生成されたページに対する要求を、受け取り、応答するよう作動する。ウェブアプリケーション２２０は、アプリケーションサーバ２１０で実行可能なコード、および他のコンピュータと通信するための実行可能なコードを備えることができ、テンプレート、グラフィックス、オーディオファイル、および当業者に公知な他のコンテンツを含むことができることを認識されたい。
【００１６】
ウェブアプリケーション２２０は、ネットワーク１５０を介してアクセス可能なスプレッドシートまたはワークブックのスナップショットを見るために、コンピュータ１００のユーザにインターフェースを提供するように、作動する。特に、ウェブアプリケーション２２０は、サーバアプリケーションプログラミングインタフェース（「ＡＰＩ」）２２２を使用する。本発明のこの実施形態によると、サーバＡＰＩ２２２は、スプレッドシート計算サーバ２３０との通信をイネーブルするように作動する。スプレッドシート計算サーバ２３０は、スプレッドシート計算サーバプログラム２３２を実行するよう作動する。スプレッドシート計算サーバプログラム２３２は、データストア２４０に格納したワークブック２４２などのスプレッドシートのスナップショットを受け取り、計算するための実行可能なプログラムを備える。本明細書で説明した本発明の実施形態では、スプレッドシート計算サーバ２３０は、図１に関して上述した多くの従来のハードウェアおよびソフトウェアコンポーネントを含むことができることを認識されたい。
【００１７】
コンピュータ１００は、ウェブブラウザアプリケーション１４４のコンテキスト内で、ワークブック２４２のスナップショットに対する要求を、アプリケーションサーバ２１０に伝送することができる。そのような要求に応じて、ウェブアプリケーション２２０は、サーバＡＰＩ２２２を通じて、スプレッドシート計算サーバ２３０と通信する。特に、ウェブアプリケーション２２０は、スプレッドシート計算サーバ２３０から、ワークブック２４２の適切なスナップショットを要求する。
【００１８】
以下で詳述するように、スプレッドシート計算サーバプログラム２３２は、データストア２４０から適切なワークブック２４２をロードし、要求されたスナップショットの種類に依存してワークブック２４２を処理することによって、ワークブック２４２のスナップショットを生成する。スナップショットの種類は、静的スナップショット、動的スナップショット、および公開済みアイテムのスナップショットを含む。スプレッドシート計算サーバプログラム２３２は、ワークブック２４２のスナップショットを、スプレッドシートのコンテンツを表現するのに適したフォーマットに変換する。一実施形態においては、ワークブックのスナップショットは、ＥＸＣＥＬファイルフォーマットに変換される。一旦スプレッドシート計算サーバプログラム２３２が、要求されたワークブック２４２のスナップショットを適したフォーマットに変換すると、フォーマットされたファイルがウェブアプリケーション２２０に返される。アプリケーションサーバ２１０は、フォーマットされたファイルを、ネットワーク１５０を介してクライアント１００に転送する。フォーマットされたファイルは、クライアント１００に格納され、適切なアプリケーションプログラムを通じてアクセスすることができる。
【００１９】
スナップショットは、ユーザが後日にスナップショットにアクセスして、スナップショットが生成された時に存在したファイルデータを識別できるように、ある一時点のファイル（例えば、ワークブック）についての情報を提供する。ワークブックの所有者は、要求するユーザに提示される異なる種類のスナップショットを識別することができる。異なる種類のスナップショットは、静的スナップショット、動的スナップショット、および公開済みアイテムのスナップショットを含む。それぞれの種類のスナップショットは、ワークブックデータの一部を、要求するユーザから隠すことができる。隠したデータは、所有者が、要求するユーザと共有することを望まない機密情報を含むことができる。
【００２０】
ワークブックは、異なるオブジェクト（例えば、テーブル、ピボットテーブル、セル、セルの範囲、チャート等）を含むことができる。ワークブックのオブジェクトは、表示される値、および値と関連する（例えば、フォーマット用の）メタデータと関連付けることができる。一実施形態においては、メタデータは、値を生成する数式または外部データソースに対する参照などの動的データに対応することができる。
【００２１】
図３は、ワークブックおよび対応する静的スナップショットを図示する。ワークブック３００は、いくつかのシートにまたがることができるデータを含む。一つのシートは、外部データソース３１０に対する参照３０５を含むことができる。例えば、参照３０５は、現在の株価情報を含むＵＲＬへのリンク３０７を提供することができる。ワークブック３００はまた、値（例えば、Ｙ）の計算に用いられる数式３１５を含むことができる。数式３１５は、変数３２０に依存することができる。例えば、数式３１５は、多数の顧客を識別する変数を用いることができる。したがって、変数３２０の値が変化すると、数式３１５の値が変化する。ワークブック３００はまた、テーブル３２５、およびチャート３３０などのオブジェクトを含むことができる。ワークブックデータのいくつかは、機密情報３３５を含むことができる。機密情報の例は、コメント、修正記録、削除したテキスト、個人情報、電子メールヘッダ、ルーティングスリップ、ユーザ名、インク注釈、およびファイルパスを含む。一実施形態においては、機密情報を数式と関連付けることができる。例えば、数式は、所有者が、要求するユーザと共有することを望まない、複雑な計算モデルを提供することができる。別の実施形態においては、機密情報は、外部データソース３１０と関連付けられる。例えば、外部データソース３１０は、所有者が、要求するユーザと共有することを望まない、サーバ名、接続文字列、照会、証明書等を識別することができる。
【００２２】
静的スナップショット３５０は、ある一時点でのワークブック３００に関連する静的オブジェクトのみを保存し、任意の動的なワークブックデータを除去することによって、生成される。静的オブジェクト情報の例は、テーブル３２５およびチャート３３０を含むことができる。静的スナップショット３５０は、静的スナップショット３５０にアクセスする全てのユーザが同じワークブックデータを見ることを保証する。静的スナップショット３５０は、ワークブック３００と同じファイルフォーマットで生成することができる。ワークブックオブジェクトに関連するフォーマッティングはまた、静的スナップショットとともに保存することができる。機密情報３３５は、静的スナップショット３５０に含まれない。ワークブックオブジェクトに関連する任意のメタデータもまた、静的スナップショット３５０に含まれない。
【００２３】
静的オブジェクトの情報は、ワークブック内で表現した数式の計算から値をコンピューティングすることによって、生成することができる。数式は、動的ワークブックデータを構成し、静的スナップショット内には保存されない。むしろ、数式の計算結果である値のみが保存される。例えば、スナップショットが生成される時、顧客の数は３である（すなわち、Ｘ＝３）。数式の値は、スナップショットが生成される時に存在する条件に基づいて計算され（すなわち、Ｙ＝５）、保存される。
【００２４】
静的オブジェクト情報はまた、ワークブック内で参照される任意の外部データをリフレッシュすることによって生成することができる。例えば、静的スナップショット３５０が生成される時、外部データソース３１０からリフレッシュされる参照株価は、＄１４．９５である。スナップショットが生成される時の株価値は、静的スナップショットに保存される（すなわち、＄１４．９５）。値は、それから（例えば、リンク３０７を除去することによって）外部データソース３１０から分離する。したがって、値は、引き続いて更新することはできず、値の元のソースが保護される。
【００２５】
図４は、ワークブック、および対応する公開済みアイテムのスナップショットを図示する。ワークブック４００は、いくつかのシートにまたがる可能性があるデータを含む。１つのシートは、外部データソース４１０に対する参照４０５を含むことができる。例えば、参照４０５は、ＵＲＬに対するリンク４０７を提供することができる。ワークブック４００はまた、数式４１５、および、テーブル４２５、イメージ４２５およびチャート３３０などのオブジェクトを含むことができる。
【００２６】
公開済みアイテムのスナップショット４５０は、固有のワークブックオブジェクトを含む。ワークブックの所有者は、公開済みアイテムのスナップショット４５０内に含まれ、要求するユーザに利用可能とされたオブジェクトを、指定することができる。すなわち、指定されていないオブジェクトは、公開済みアイテムのスナップショット４５０に含まれない。例えば、ワークブックの所有者は、公開済みアイテムのスナップショット４５０上に含まれるテーブル４２５、イメージ４３０およびチャート４３５を選択することができる。外部データソースに対する任意の参照は、除去されるため、公開済みアイテムのスナップショット４５０は、静的スナップショットと類似している。例えば、外部データソース４１０に対するリンク４０７は、除去される。
【００２７】
一実施形態においては、公開用に選択した各オブジェクトは、公開済みアイテムのスナップショット４５０内の別々のシート上に置かれ、公開済みオブジェクトとユーザ相互作用を簡略化する。例えば、イメージ４３０およびチャート４３５は、ワークブック４００内の同一シート上に含まれる。公開済みアイテムのスナップショット４５０が生成されると、イメージ４３０は、あるシート上に含まれ、チャートは異なるシート上に含まれる。各シートは、名前が付けられて、シート上に含まれる公開済みオブジェクトを識別することができる。
【００２８】
別の実施形態においては、公開用に選択した各オブジェクトは、見る時に公開済みオブジェクトを容易に識別できるように、公開済みアイテムのスナップショット４５０内のシート上に置かれる。例えば、テーブル４２５は、ワークブック内のシートの右下部に置かれる。公開済みアイテムのスナップショット４５０が生成されると、テーブル４２５は、公開済みアイテムのスナップショット４５０内のシートの左上部近くに置かれる。スプレッドシートは非常に大きい可能性がある（例えば、数千の行と数百の列）ため、この特徴は有用である。公開済みオブジェクトが、公開済みアイテムのスナップショット４５０がユーザインタフェースにロードされるときに可視なシート部分でないワークブックシートの位置から、再生成される場合、公開済みアイテムのスナップショット４５０に対して生成した新しいシートを見るユーザは、誤ってシートが空であると思う可能性がある。シートをスクロールして、公開済みオブジェクト見つけなければならないであろう。
【００２９】
図５は、ワークブックおよび対応する対話的スナップショットを図示する。対話的スナップショット５００は、ある一時点でワークブック５００と関連するオブジェクト情報（例えば、数式からの値、外部データソースの参照、等）を保存することによって、生成される。対話的スナップショット５５０は、ワークブック５００内のオブジェクトに関連するメタデータを含む動的ワークブックデータに対するリンクを維持する。例えば、対話的スナップショット５５０は、ワークブック５００内の数式から値を分離しない。対話的スナップショット５５０は、ワークブック５００内の参照５０５からの外部データソース５１０に対するリンク５０７を維持する。ワークブック内に含まれるコメントはまた、対話的スナップショット５５０とともに保存することができる。ワークブック５００に関連する任意の機密情報５３５はまた、対話的スナップショット５５０に関連付けられるが、機密情報５３５は、対話的スナップショット５５０を要求するユーザから隠すことができる。動的ワークブックデータに関連する任意の自動更新機能は、対話的スナップショット５５０が生成された時に格納した値を、手動で現在の値にリフレッシュできるように、対話的スナップショット５５０内で使用不可にされる。したがって、ユーザは、対話的スナップショット５５０をリフレッシュして、ワークブック５００の現在のバージョンに関連するデータを見ることができる。対話的スナップショットは、データレコードのアーカイブにとって有用なものとすることができる。
【００３０】
ここで図６−８を参照し、電子データのスナップショットの生成プロセスを図示する例示的ルーチンを説明する。本明細書で説明した本発明の実施形態は、スプレッドシートアプリケーションプログラムのコンテキストで提示するが、本発明は、ドキュメント共有をサポートする他の種類のアプリケーションプログラムで利用できることを、認識されたい。例えば、本明細書で説明した本発明の実施形態は、専用アプリケーションプログラムを要求せずに、ドキュメントとのレンダリング、およびドキュメントとの相互作用を可能にするために、ワード処理（word processing）アプリケーションプログラム、プレゼンテーションアプリケーションプログラム、作図（drawing）アプリケーションプログラムまたはＣＡＤ(computer-aided design)アプリケーションプログラム、またはデータベースアプリケーション内部で使用することができる。
【００３１】
本明細書で提示したルーチンの議論を読むときに、本発明の様々な実施形態の論理的操作は、（１）コンピュータ実装されるアクトのシーケンス、またはコンピューティングシステム上で実行するプログラムモジュールとして、および／または（２）コンピューティングシステム内部の相互接続型マシン論理回路または回路モジュールとして、実装されることを認識されたい。実装は、本発明を実装するコンピューティングシステムの性能要求に依存した、選択上の問題である。したがって、図６−８に図示した論理的操作、および本明細書で説明した本発明の実施形態の作成は、操作、構造的装置、アクトまたはモジュールと様々に呼ばれる。当業者は、これら操作、構造的装置、アクトまたはモジュールは、添付の特許請求の範囲において列挙した本発明の精神および範囲から逸脱することなく、ソフトウェア、ファームウェア、専用目的のデジタルロジック、およびそれらの任意の組合せで実装することができることを、理解されたい。
【００３２】
図６は、静的スナップショットを生成する例示的プロセスの態様を示すプロセス図である。処理は、アプリケーションがクライアントにロードされる開始ブロックで始まる。ユーザは、静的スナップショットの要求をクライアント側でサブミットすることによって、静的スナップショットの生成を開始する。
【００３３】
スプレッドシート計算サーバは、静的スナップショットの要求をブロック６００で受け取る。スプレッドシート計算サーバは、静的スナップショットの要求をクライアントから直接受け取ることができる。反対に、静的スナップショットの要求は、スプレッドシート計算サーバと通信するウェブアプリケーションプログラムを介してネットワーク上で送信することができる。
【００３４】
ブロック６１０に移動すると、スプレッドシート計算サーバは、静的スナップショットの要求に関連するワークブックデータを取り出す。ワークブックデータは、スプレッドシート計算サーバと通信するデータストアから取り出すことができる。ワークブックデータは、異なるオブジェクト（例えば、テーブル、セル、セルの範囲、チャート、等）を含むことができる。ワークブックのオブジェクトは、表示された値、および値と関連する（例えば、フォーマット用の）メタデータと関連付けることができる。一実施形態においては、メタデータは、値を生成する数式、または外部データソースに対する参照などの動的データに対応することができる。
【００３５】
ブロック６２０に移ると、外部データソースにリンクした任意のワークブックデータは、リフレッシュされる。リフレッシュされたデータは、静的スナップショットが生成される時の現在の値を提供する。ブロック６３０に進むと、ワークブックデータ内の任意の数式は、計算され、対応する値を生成する。生成した値は、静的スナップショットに保存される。
【００３６】
ブロック６４０に続くと、ワークブックデータ内の任意の外部データ参照は、外部データソースから分離される。したがって、外部データ参照は、静的スナップショットが生成された後は更新することはできない。ブロック６５０に進むと、値は、静的スナップショットがアクセスされる度に値が変化しないように、数式から分離される。
【００３７】
ブロック６６０に移動すると、ワークブックデータ内の任意の機密情報は、除去される。機密情報は、ワークブックの所有者が静的スナップショットにアクセスするユーザと共有することを望まない、ワークブックデータを含む。機密情報の例は、コメント、修正記録、削除したテキスト、個人情報、電子メールヘッダ、ルーティングスリップ、ユーザ名、インク注釈、およびファイルパスを含む。
【００３８】
ブロック６７０に移ると、ワークブックデータ内のオブジェクトに関連するメタデータは、除去される。しかしながら、オブジェクトに関連する任意のフォーマット情報は、オブジェクトをワークブックに表示するのと同じ方法で静的スナップショット内に表示できるように、保持される。
【００３９】
ブロック６８０に進むと、静的スナップショットは、保存される。静的スナップショットは、ある一時点でのワークブックデータについての情報を提供する。ワークブックデータの部分は、静的スナップショットにアクセスしたユーザが慎重に取り扱うべき情報を見ることを防ぐため、静的スナップショットに含まない。
【００４０】
ブロック６９０に続くと、スプレッドシートアプリケーションサーバは、静的スナップショットを、クライアント側でレンダーすることができるフォーマットに変換する。一実施形態においては、静的スナップショットは、スプレッドシートファイルのフォーマットに変換される。ファイルは、その後クライアント側でレンダーされる。処理は、その後終了ブロックで終了する。
【００４１】
図７は、対話的スナップショットを生成する例示的プロセスの態様を示すプロセス図である。処理は、アプリケーションがクライアントにロードされる開始ブロックで始まる。ユーザは、対話的スナップショットの要求をクライアント側でサブミットすることによって、対話的スナップショットの生成を開始する。
【００４２】
スプレッドシート計算サーバは、対話的スナップショットの要求をブロック７００で受け取る。スプレッドシート計算サーバは、対話的スナップショットの要求をクライアントから直接受け取ることができる。反対に、対話的スナップショットの要求は、スプレッドシート計算サーバと通信するウェブアプリケーションプログラムを介してネットワーク上で送信することができる。
【００４３】
ブロック７１０に移動すると、スプレッドシート計算サーバは、対話的スナップショット要求に関連するワークブックデータを取り出す。ワークブックデータは、スプレッドシート計算サーバと通信するデータストアから取り出すことができる。ワークブックデータは、異なるオブジェクトを含むことができる。ワークブックのオブジェクトは、表示された値、および値と関連するメタデータと関連付けることができる。一実施形態においては、メタデータは、値を生成する数式、または外部データソースに対する参照などの動的データに対応することができる。
【００４４】
ブロック７２０に移ると、外部データソースにリンクした任意のワークブックデータは、リフレッシュされる。リフレッシュされたデータは、静的スナップショットが生成される時の現在の値を提供する。静的スナップショットを生成するプロセスと異なり、ワークブック内のオブジェクトに関連するメタデータは、保持される。例えば、ワークブック内の外部データ参照は、外部データソースから分離しない。外部データ参照と外部データソースとの間のリンクを維持することは、外部データ参照を、ユーザアクションに応じて更新することを可能にする。ブロック７３０に進むと、ワークブックデータ内の任意の数式は、計算され、対応する値を生成する。生成した値は、対話的スナップショットに保存される。しかしながら、生成した値は、数式から分離しない。値と数式との間のリンクを維持することは、値をユーザアクションに応じて更新することを可能にする。
【００４５】
ブロック７４０に続くと、外部データソースに対する参照の自動更新機能は、使用不可にされる。したがって、外部データソースに対する参照は、手動で更新できるのみである。ブロック７５０に進むと、自動数式計算機能は、使用不可にされる。したがって、数式は、ユーザアクションに応じて再計算できるのみである。
【００４６】
ブロック７６０に移動すると、ワークブックデータ内の任意の機密情報は、対話的スナップショット内に隠される。機密情報には、ワークブックの所有者が、対話的スナップショットにアクセスするユーザと共有することを望まないワークブックデータが含まれる。機密情報は、所有者が対話的スナップショット内の機密情報を公開するか、または機密情報に関連する値を更新できるように、対話的スナップショットに関連付けたままにする。
【００４７】
ブロック７７０に移ると、対話的スナップショットは、保存される。対話的スナップショットは、ある一時点のワークブックデータについての情報を提供する。ワークブックデータの一部は、対話的スナップショットにアクセスしたユーザが慎重に取り扱うべき情報を見ることを防ぐように、対話的スナップショットには含まない。リンクは、ワークブック内のオブジェクトに関連するメタデータを含む動的データに対して、維持される。動的データの例には、値および対応する数式、および外部データ参照および外部データソースが含まれる。したがって、対話的スナップショットは、ユーザアクションに応じて手動で現在のデータに更新することができる。
【００４８】
ブロック７８０に進むと、スプレッドシートアプリケーションサーバは、対話的スナップショットをクライアント側でレンダーできるフォーマットに変換する。一実施形態においては、対話的スナップショットは、スプレッドシートファイルフォーマットに変換される。ファイルは、その後クライアント側でレンダーされる。
【００４９】
ブロック７９０に続くと、対話的スナップショット内の任意の動的なワークブックデータは、ユーザアクションに応じて更新することができる。ユーザは、「リフレッシュ」または「更新」ボタンをクリックすることによって、動的データの更新を開始することができる。対話的スナップショットの動的な態様は、データをアーカイブする時に有用である。処理は、その後終了ブロックで終了する。
【００５０】
図８は、公開済みアイテムのスナップショットを生成する例示的プロセスの態様を示すプロセス図である。処理は、アプリケーションがクライアントにロードされる開始ブロックで始まる。ユーザは、公開済みアイテムのスナップショットの要求をクライアント側でサブミットすることによって、公開済みアイテムのスナップショットの生成を開始する。
【００５１】
スプレッドシート計算サーバは、公開済みアイテムのスナップショットの要求をブロック８００で受け取る。スプレッドシート計算サーバは、公開済みアイテムのスナップショットの要求をクライアントから直接受け取ることができる。反対に、公開済みアイテムのスナップショットの要求は、スプレッドシート計算サーバと通信するウェブアプリケーションプログラムを経由してネットワーク上で送信することができる。
【００５２】
ブロック８０５に移動すると、スプレッドシート計算サーバは、公開済みアイテムのスナップショットの要求に関連するワークブックデータを取り出す。ワークブックデータは、スプレッドシート計算サーバと通信するデータストアから取り出すことができる。ワークブックデータは、異なるオブジェクト（例えば、テーブル、ピボットテーブル、セル、セル範囲、チャート、等）を含むことができる。オブジェクトの一部は、公開済みアイテムのスナップショットにおける公開用に選択される。ワークブックのオブジェクトは、表示される値、および値と関連するメタデータ（例えば、フォーマットするための）に関連付けることができる。一実施形態においては、メタデータは、値を生成する数式または外部データソースに対する参照などの動的データに対応することができる。
【００５３】
ブロック８１０に移ると、スプレッドシート計算サーバは、ワークブックデータにおいて公開するために選択されたオブジェクトを配置する。ブロック８１５に進むと、外部データソースにリンクしたオブジェクト内の任意のワークブックデータは、リフレッシュされる。リフレッシュされたデータは、公開済みアイテムのスナップショットが生成される時の現在の値を提供する。ブロック８２０に続くと、オブジェクト内の任意の数式は、計算され、対応する値を生成する。生成した値は、オブジェクト内に保存される。ブロック８２５に進むと、値は、公開済みアイテムのスナップショットがアクセスされる度に値が変化しないように、数式から分離される。ブロック８３０に移動すると、オブジェクト内の任意の外部データ参照は、外部データソースから分離される。したがって、公開済みアイテムのスナップショットが生成された後は、外部データ参照を更新することはできない。
【００５４】
ブロック８３５に移ると、オブジェクト内の任意の機密情報は、除去される。機密情報には、ワークブックの所有者が公開済みアイテムのスナップショットにアクセスするユーザと共有することを望まないワークブックデータが含まれる。ブロック８４０に進むと、オブジェクトに関連するメタデータは、除去される。しかしながら、オブジェクトに関連する任意のフォーマット情報は、オブジェクトをワークブックに表示するのと同じ方法で公開済みアイテムのスナップショット内に表示できるように、保持される。
【００５５】
ブロック８４５に続くと、公開済みアイテムのスナップショットのオブジェクト用に、シートが生成される。ブロック８５０に進むと、オブジェクトは、シートにコピーされる。シートは、ユーザが公開済みアイテムのスナップショットにアクセスする場合に、シートがレンダーされる時にオブジェクトがシート上で可視であるように、シート上に置かれる。例えば、オブジェクトは、シートの左上部分の近くに格納される。
【００５６】
決定ブロック８５５に移動すると、任意の公開済みオブジェクトが、ワークブックデータ内にさらに存在するかどうかの判断がなされる。任意の公開済みオブジェクトがワークブックデータにさらに存在する場合、処理は、ブロック８１０に進む。公開済みオブジェクトがワークブックデータに存在しない場合、処理は、ブロック８６０に続く。
【００５７】
ブロック８６０に進むと、公開済みアイテムのスナップショットは、保存される。公開済みアイテムのスナップショットは、ある一時点でのワークブックデータ内の選択したオブジェクトについての情報を提供する。あるオブジェクトデータは、公開済みアイテムのスナップショットにアクセスしたユーザが慎重に取り扱うべき情報を見ることを防ぐため、公開済みアイテムのスナップショットに含まない。
【００５８】
ブロック８６５に進むと、スプレッドシートアプリケーションサーバは、公開済みアイテムのスナップショットをクライアント側でレンダーできるフォーマットに変換する。一実施形態においては、公開済みアイテムのスナップショットは、スプレッドシートのファイルフォーマットに変換される。ファイルは、その後クライアント側でレンダーされる。処理は、その後終了ブロックで終了する。
【００５９】
前述したことに基づくと、本発明の様々な実施態様は、電子データのスナップショットを生成する方法、システム、装置、コンピュータ読取可能媒体を含むことを認識されたい。上記の詳述、例、およびデータは、本発明の構成の製造方法および使用方法の完全な説明を提供する。本発明の多くの実施形態は、本発明の精神および範囲から逸脱することなく作成できるため、本発明は、添付の請求項に属するものである。
【図面の簡単な説明】
【００６０】
【図１】本発明の様々な実施形態おいて使用され、本発明の様々な実施形態により提供されるコンピュータシステムを図示するコンピュータシステムアーキテクチャの図である。
【図２】本発明の実施形態のための例示的な作動環境を図示するネットワークアーキテクチャの図である。
【図３】ワークブック、および対応する静的スナップショットを図示する機能ブロック図である。
【図４】ワークブック、および対応する公開済みアイテムのスナップショットを図示する機能ブロック図である。
【図５】ワークブック、および対応する対話的スナップショットを図示する機能ブロック図である。
【図６】静的スナップショットを生成する例示的プロセスの態様を示すプロセス図である。
【図７】対話的スナップショットを生成する例示的プロセスの態様を示すプロセス図である。
【図８】公開済みアイテムのスナップショットを生成する例示的プロセスの態様を示すプロセス図である。
【図１】
2009507303.tif 000003
【図２】
2009507303.tif 000004
【図３】
2009507303.tif 000005
【図４】
2009507303.tif 000006
【図５】
2009507303.tif 000007
【図６】
2009507303.tif 000008
【図７】
2009507303.tif 000009
【図８】
2009507303.tif 000010
【手続補正書】
【提出日】平成20年9月12日(2008.9.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子ファイルデータのスナップショットを生成する方法であって、
前記スナップショットの要求を受け取ることと、
前記スナップショットの要求を受け取ることに応答して、前記スナップショットを生成することと
を含み、
前記スナップショットを生成することは、
静的データと動的データとを含む、要求された前記スナップショットに関連する前記電子ファイルデータを取り出すことと、
前記動的データの現在の状態を判断することと、
取り出された前記電子ファイルデータ内の機密情報を識別することと、
取り出された前記電子データと前記動的データの現在の状態とを含む前記スナップショットを保存することであって、さらに、識別された前記機密情報が、前記スナップショットがアクセスされるときに前記スナップショット内で可視でないことと
を含むことを特徴とする方法。
【請求項２】
前記動的データの現在の状態を判断することは、取り出された前記電子ファイルデータ内の数式の値を計算することを含み、さらに、保存された前記スナップショットは、計算された前記値をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
保存された前記スナップショット内の計算された前記値が前記数式を参照しないように、計算された前記値を前記数式から分離することをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記動的データの現在の状態を判断することは、外部データソースにリンクした、取り出された前記電子ファイルデータ内のデータをリフレッシュすることを含み、さらに、保存された前記スナップショットは、リフレッシュされた前記データをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
保存された前記スナップショット内のリフレッシュされた前記データが前記外部データソースを参照しないように、リフレッシュされた前記データを前記外部データソースから分離することをさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
識別された前記機密情報を、取り出された前記電子ファイルデータから除去することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記動的データの現在の状態がユーザアクションに応答して判断されるように、前記動的データの現在の状態の自動判断を使用不可にすることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
保存された前記スナップショットが、取り出された前記電子データと関連するメタデータを含まないように、取り出された前記電子データと関連するメタデータを除去することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
取り出された前記電子ファイルデータは、公開のために選択されたオブジェクトであることを特徴とする請求項１に記載の方法。
【請求項１０】
前記オブジェクトに関するシートを作成することと、
前記スナップショットに含まれる前記シートに、前記オブジェクトをコピーすることと
をさらに含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記オブジェクトをコピーすることは、前記スナップショットがレンダーされるときに前記オブジェクトがユーザインタフェースにおいて可視であるように、前記シートの一部分に前記オブジェクトをコピーすることをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
電子ファイルデータのスナップショットを生成するシステムであって、
前記スナップショットの要求が生成されるクライアントと、
要求された前記スナップショットに関連する前記電子ファイルデータが格納される、サーバに接続されたデータストアと、
前記要求を受け取ることに応答して前記スナップショットを生成するようにアレンジされ、前記クライアントと前記データストアとに接続されたサーバと
を備え、
スナップショットを生成することは、
要求された前記スナップショットに関連する前記電子ファイルデータを前記データストアから取り出すことと、
外部データソースにリンクした、取り出された前記電子ファイルデータ内のデータをリフレッシュすることと、
取り出された前記電子ファイルデータ内の数式の値を計算することと、
取り出された前記電子ファイルデータ内の機密情報を識別することと、
取り出された前記電子データと、計算された前記値と、リフレッシュされた前記データとを含む前記スナップショットを保存することであって、さらに、識別された前記機密情報が、前記スナップショットがアクセスされるときに前記スナップショット内で可視でないことと
を含むことを特徴とするシステム。
【請求項１３】
前記サーバは、保存された前記スナップショット内の計算された前記値が前記数式を参照しないように、前記値を前記数式から分離するようにさらにアレンジされることを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記サーバは、保存された前記スナップショット内のリフレッシュされた前記データが前記外部データソースを参照しないように、リフレッシュされた前記データを前記外部データソースから分離するようにさらにアレンジされることを特徴とする請求項１２に記載のシステム。
【請求項１５】
前記サーバは、
前記数式の前記値に関連する自動計算機能を使用不可にし、
ユーザアクションに応答して、計算された前記値を更新する
ように、さらにアレンジされることを特徴とする請求項１２に記載のシステム。
【請求項１６】
前記サーバは、
前記外部データソースにリンクした前記データに関連する自動リフレッシュ機能を使用不可にし、
ユーザアクションに応答して、前記外部データソースにリンクした前記データを更新する
ように、さらにアレンジされることを特徴とする請求項１２に記載のシステム。
【請求項１７】
前記サーバは、識別された前記機密情報を、取り出された前記電子ファイルデータから除去するようにさらにアレンジされることを特徴とする請求項１２に記載のシステム。
【請求項１８】
取り出された前記電子ファイルデータは、公開のために選択されたオブジェクトであることを特徴とする請求項１２に記載のシステム。
【請求項１９】
電子ファイルに関連する電子ファイルのスナップショットを生成するコンピュータ実行可能な命令を有するコンピュータ読み取り可能な記憶媒体であって、前記命令は、
静的スナップショットの要求、対話的スナップショットの要求、公開済みアイテムのスナップショットの要求を含むグループの少なくとも１つのメンバを含むスナップショットの要求をクライアントから受け取ることと、
前記スナップショットの要求に従ってスナップショットを生成することと
を含み、
前記スナップショットを生成することは、
前記スナップショットの要求が、静的スナップショットの要求であるとき、
前記静的スナップショットの要求に関連するワークブックデータを取り出すことと、
前記ワークブックデータに関連する外部データソースに対するリンクであるリンクデータをリフレッシュすることであって、リフレッシュ後に前記外部データソースが前記リンクと切り離されることと、
前記ワークブックデータに関連する数式の任意の対応する値を計算することであって、計算後に前記数式が前記値から切り離されることと、
機密情報を前記ワークブックデータから除去することと、
前記外部データソースから切り離された前記リンクデータと前記数式から切り離された前記値とを含む前記スナップショットを保存することと
を含み、
前記スナップショットの要求が、対話型スナップショットの要求であるとき、
前記対話型スナップショットの要求に関連するワークブックデータを取り出すことと、
前記ワークブックデータに関連する外部データソースに対するリンクであるリンクデータをリフレッシュすることであって、前記外部データソースに対するリンクが維持されることと、
前記ワークブックデータに関連する数式の任意の対応する値を計算することであって、前記値が前記数式と関連して維持されることと、
機密情報を前記ワークブックデータから隠すことと、
前記外部データソースで維持された前記リンクデータと、前記数式と関連して維持された前記値と、前記ワークブックデータ内の隠された機密情報とを含む前記スナップショットを保存することと
を含み、
前記スナップショットの要求が、公開済みアイテムのスナップショットの要求であるとき、
少なくとも１つの公開済みオブジェクトを含む、公開済みアイテムのスナップショットの要求に関連するワークブックデータを取り出すことと、
前記公開済みオブジェクトに関連する外部データソースに対するリンクであるリンクデータをリフレッシュすることであって、リフレッシュ後に前記外部データソースが前記リンクと切り離されることと、
前記公開済みオブジェクトに関連する数式の任意の対応する値を計算することであって、計算後に前記数式が前記値から切り離されることと、
機密情報を前記公開済みオブジェクトから除去することと、
前記外部データソースから切り離された前記リンクデータと、前記数式から切り離された値とを含む前記スナップショットを保存することであって、前記公開済みオブジェクトが、前記電子ファイル内の位置と異なる前記スナップショット内の位置を含むことと
を含むことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項２０】
前記スナップショット内の前記異なる位置は、前記スナップショットを開くときに前記公開済みオブジェクトがユーザインタフェース内に表示される前記スナップショット内の位置を含むことを特徴とする請求項１９に記載のコンピュータ読み取り可能な記憶媒体。
【国際調査報告】
2009507303.tif 000011
2009507303.tif 000012