(57)【特許請求の範囲】
【請求項１】
コンピュータによって実装される、電子スプレッドシート内でデータを管理する方法であって、
マス目構造のスプレッドシート中にデータオブジェクトを表示するステップであって、前記データオブジェクトは、前記マス目構造のスプレッドシートの１つまたは複数のセルに位置する、ステップと、
前記マス目構造のスプレッドシートからの前記データオブジェクトの引出しを受け取り、引出される前記データオブジェクトが、位置していた前記１つまたは複数のセルから取り出されるステップと、
引出した前記データオブジェクトを前記マス目構造のスプレッドシート上に配置し、前記データオブジェクトは１つまたは複数のセルに位置せず、かつ、引出されて配置された前記データオブジェクトが、前記マス目構造のスプレッドシートのどの１つまたは複数のセルにも位置することなく前記マス目構造のスプレッドシート上で自由に移動できるようにするステップと、
前記引出したデータオブジェクトを再度前記マス目構造のスプレッドシート上の当該引出したデータオブジェクトを引出した位置とは異なる位置にプッシュする選択を受け取るステップと、
前記引出したデータオブジェクトを再度前記マス目構造のスプレッドシート上の前記異なる位置に挿入して、それにより、前記引出したデータオブジェクトが前記マス目構造のスプレッドシートの１つまたは複数のセルに位置するようにするステップと
を含み、
前記位置するようにするステップは、
前記異なる位置に配置されていた別のデータオブジェクトを、挿入される前記引出したデータオブジェクトと重ならないようにずらして再配置するステップをさらに含む、
方法。
【請求項２】
前記マス目構造のスプレッドシートからの前記データオブジェクトの前記引出しを受け取るのに応答して、前記引出したデータオブジェクトの中の、または前記引出したデータオブジェクトに関連付けられているデータ項目または演算機能と、前記マス目構造のスプレッドシートの中の、または前記マス目構造のスプレッドシートに関連付けられている対応するデータ項目または演算機能との間の構造化参照を作成して、前記引出したデータオブジェクトの中の、または前記引出したデータオブジェクトに関連付けられているデータ項目または演算機能と、前記マス目構造のスプレッドシートの中の、または前記マス目構造のスプレッドシートに関連付けられている対応するデータ項目または演算機能との間の関係が、前記データオブジェクトが前記マス目構造のスプレッドシートから引出された後に維持されるようにするステップをさらに含む請求項１に記載の方法。
【請求項３】
前記引出したデータオブジェクトを前記マス目構造のスプレッドシートの上に配置する代わりに、前記引出したデータオブジェクトをキャンバス様のユーザインターフェース上に配置して、それにより、前記データオブジェクトを前記キャンバス様のユーザインターフェース上で自由に移動できるようにする、請求項１に記載の方法。
【請求項４】
前記マス目構造のスプレッドシートからの前記データオブジェクトの前記引出しを受け取るのに応答して、前記引出したデータオブジェクトの中の、または前記引出したデータオブジェクトに関連付けられているデータ項目または演算機能と、前記マス目構造のスプレッドシートの中の、または前記マス目構造のスプレッドシートに関連付けられている対応するデータ項目または演算機能との間の構造化参照を作成して、それにより、前記引出したデータオブジェクトの中の、または前記引出したデータオブジェクトに関連付けられているデータ項目または演算機能と、前記マス目構造のスプレッドシートの中の、または前記マス目構造のスプレッドシートに関連付けられている対応するデータ項目または演算機能との間の関係が、前記データオブジェクトが前記マス目構造のスプレッドシートから引出された後に維持されるようにするステップをさらに含む請求項３に記載の方法。
【請求項５】
電子キャンバス内でスプレッドシートオブジェクトを利用する、コンピュータによって実装される方法であって、
データオブジェクトをマス目構造のスプレッドシート中に表示するステップであって、前記データオブジェクトは、前記マス目構造のスプレッドシートの１つまたは複数のセルに位置する、ステップと、
前記マス目構造のスプレッドシートからの前記データオブジェクトの引出しを受け取り、それにより、前記引出されるデータオブジェクトが、位置していた前記１つまたは複数のセルから取り出されるステップと、
前記引出したデータオブジェクトをキャンバス様のユーザインターフェース上に配置して、前記配置されたデータオブジェクトを前記キャンバス様のユーザインターフェース上で自由に移動できるようにするステップと
前記引出したデータオブジェクトを再度前記マス目構造のスプレッドシート上の当該引出したデータオブジェクトを引出した位置とは異なる位置にプッシュする選択を受け取るステップと、
前記引出したデータオブジェクトを再度前記マス目構造のスプレッドシート上の前記異なる位置に挿入して、それにより、前記引出したデータオブジェクトが前記マス目構造のスプレッドシートの１つまたは複数のセルに位置するようにするステップと
を含み、
前記位置するようにするステップは、
前記異なる位置に配置されていた別のデータオブジェクトを、挿入される前記引出したデータオブジェクトと重ならないようにずらして再配置するステップをさらに含む、
方法。
【請求項６】
前記キャンバス様のユーザインターフェースと前記マス目構造のスプレッドシートとをスプレッドシート文書の一部として共に関連付け、前記スプレッドシート文書内での前記マス目構造のスプレッドシートから前記キャンバス様のユーザインターフェースへの移動、およびその逆方向の移動を可能にするステップをさらに含む請求項５に記載の方法。
【請求項７】
前記マス目構造のスプレッドシートの一部またはすべてを、前記キャンバス様のユーザインターフェース上で自由に移動することができるデータオブジェクトとして、前記キャンバス様のユーザインターフェース上に配置することができる請求項６に記載の方法。
【請求項８】
電子スプレッドシート内でデータを管理するシステムであって、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサに結合されたメモリとを備え、前記１つまたは複数のプロセッサは、
マス目構造のスプレッドシート中にデータオブジェクトを表示し、前記データオブジェクトは、前記マス目構造のスプレッドシートの１つまたは複数のセルに位置し、
前記マス目構造のスプレッドシートからの前記データオブジェクトの引出しを受け取り、それにより、前記引出されるデータオブジェクトが、位置していた前記１つまたは複数のセルから取り出され、
前記引出したデータオブジェクトを前記マス目構造のスプレッドシート上に配置し、それにより、前記データオブジェクトは１つまたは複数のセルに位置せず、かつ、前記引出されて配置されたデータオブジェクトが、前記マス目構造のスプレッドシートのどの１つまたは複数のセルにも位置することなく前記マス目構造のスプレッドシート上で自由に移
動できるようにし、
前記引出したデータオブジェクトの中の、または前記引出したデータオブジェクトに関連付けられているデータ項目または演算機能と、前記マス目構造のスプレッドシートの中の、または前記マス目構造のスプレッドシートに関連付けられている対応するデータ項目または演算機能との間の構造化参照を作成して、それにより、前記引出したデータオブジェクトの中の、または前記引出したデータオブジェクトに関連付けられているデータ項目または演算機能と、前記マス目構造のスプレッドシートの中の、または前記マス目構造のスプレッドシートに関連付けられている対応するデータ項目または演算機能との間の関係が、前記データオブジェクトが前記マス目構造のスプレッドシートから引出された後に維持されるようにし、
前記引出したデータオブジェクトを再度前記マス目構造のスプレッドシート上の当該引出したデータオブジェクトを引出した位置とは異なる位置にプッシュする選択を受け取り、
前記引出したデータオブジェクトを再度前記マス目構造のスプレッドシート上の前記異なる位置に挿入して、それにより、前記引出したデータオブジェクトが前記マス目構造のスプレッドシートの１つまたは複数のセルに位置するように
動作可能であり、
前記位置するようにすること、
前記異なる位置に配置されていた別のデータオブジェクトを、挿入される前記引出したデータオブジェクトと重ならないようにずらして再配置することをさらに含む、
ように動作可能であるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［背景技術］
[0001]  スプレッドシートアプリケーションの出現により、コンピュータおよびコンピュータソフトウェアのユーザは、膨大な量のデータを処理および操作し、各種スプレッドシート機能を使用して、データに単純な計算から非常に複雑な計算にわたる多くの計算を行い、編成機能を使用することに慣れている。一般的なスプレッドシートのソリューションは、データを受け取って操作するための行、列、および区切りからなるマス目を提供する。スプレッドシートのマス目構造により、視覚的な形で容易にレイアウトを行うことができ、また、単に行や列を挿入し、サイズを変更し、削除することによって、行または列全体の情報を容易に変更することができる。そのようなマス目構造のスプレッドシートでは、ユーザがデータと計算を利用して複雑な解法を構築できるようにすることにより、マス目中の他のセルを簡単に参照することもできる。そのような計算は、新しい列が挿入されたり、内容が切り取り／コピー／貼り付けされたりするときなどに整合性を保ち（すなわち変更に合わせて適合し）、そのようなマス目構造のスプレッドシートでは、そのようなデータ操作をより容易に実装し、把握することができる。
【０００２】
[0002]  場合によっては、スプレッドシート文書に含まれる種々のデータやデータオブジェクトなどを、異なる種類の別のスプレッドシートや別の文書で使用するために、マス目構造のスプレッドシートからコピーすることがある。時に、ユーザは、果てしなく続くように思われる膨大なスプレッドシートのマス目に圧倒される感じを受け、データや各種のデータオブジェクト（例えば、テーブル、グラフ、要約など）の一部を、基礎となるスプレッドシートの行／列のマス目構造を含めずに異なる文書タイプに移動して、より洗練された形、視覚的に魅力的な形、または読みやすい、かつ／もしくは理解しやすい形でデータを提示したいと思うことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0003]  不都合なことに、異なる種類の他のスプレッドシートや他の文書で使用するためにマス目構造のスプレッドシートからデータオブジェクトを抽出することには様々な不都合点がある。第１に、現在のソリューションでは、ユーザはデータやデータオブジェクトを１つの構造と別の構造の間で効率的に移動することができず、移動した場合には、数値だけが維持され、基礎となる数式は保持されない。第２に、そのようなソリューションでは、抽出したデータやデータオブジェクトが後に抽出元のスプレッドシートの外部で操作されるときに、エラー状況が発生することがある。例えば、ユーザが変更を加えたデータやデータオブジェクトをコピーして元のマス目構造のスプレッドシートに戻すことを試みると、同様のエラー状況が発生する可能性がある。ユーザが、マス目構造のスプレッドシートからデータやデータオブジェクトを引出して、それを、引出したデータオブジェクトを自由に配置できる非構造化キャンバスに入れることができれば、現行技術に対する技術的優位をもたらす改良となる。何故ならば、ユーザはそれによりスプレッドシートアプリケーションの高度な演算機能をすべて保持しながら、より洗練された形、視覚的に魅力的な形、または読みやすい、かつ／もしくは理解しやすい形でデータを提示できるようになるためである。
【０００４】
[0004]  本発明は上記および他の懸案に関してなされたものである。
【課題を解決するための手段】
【０００５】
[0005]  この概要は、下記の詳細な説明でさらに説明する概念のいくつかを簡略化した形態で紹介するために提供される。この概要は、特許請求の主題の主要な特徴または必須の特徴を特定することを意図するものでも、特許請求の主題の範囲を決定する助けとして意図するものでもない。
【０００６】
[0006]  本発明の実施形態は、スプレッドシートアプリケーションにおける滑らかなマス目とキャンバスの統合を提供することにより、上記およびその他の問題を解決する。実施形態によると、１つまたは複数のデータオブジェクトをマス目構造のスプレッドシートアプリケーション文書から引出することができ、基礎となるマス目に関係なく、マス目構造のスプレッドシート上に「浮かせる」ことができる。浮遊データオブジェクト中のデータおよび演算間の参照が構造化されて維持され、それにより、基礎となるマス目に悪影響を与えることなく浮遊オブジェクトを操作し、増減することができ、かつ、浮遊データオブジェクトと基礎となるマス目との間のデータ参照および演算参照の両方が維持される。必要な場合は、浮遊オブジェクトをマス目の任意の場所に再度プッシュまたは挿入することができ、マス目中のデータと、浮遊している（再挿入後の）オブジェクト中のデータとの間の参照が、挿入点に関係なく維持される。
【０００７】
[0007]  別の実施形態によると、そのようなデータオブジェクトは、マス目のないキャンバス様のユーザインターフェースに滑らかに入れることができると共に、キャンバス様のユーザインターフェースからマス目構造のスプレッドシートに戻すことができ、データオブジェクトと、そのデータオブジェクトが引出されたまたは抽出された、関連付けられたマス目構造のスプレッドシートとの間の接続（データおよび演算の接続）を損なうことがない。すなわち、本発明の実施形態によると、スプレッドシートアプリケーション中のキャンバス様のユーザインターフェース構造と、スプレッドシートアプリケーション文書中の１つまたは複数の「シート」との間のスプレッドシートオブジェクトの移動が滑らかに実現され、一方、移動されるオブジェクト中のデータに関連付けられた参照および演算機能を維持する。また、スプレッドシートオブジェクトをスプレッドシートキャンバスで使用するとき、またはスプレッドシートオブジェクトをマス目構造のスプレッドシートに浮かせるとき、またはスプレッドシートオブジェクトをスプレッドシートから引出してスプレッドシートに再度挿入するときに、スプレッドシートオブジェクトを、基礎となるマス目構造のスプレッドシートに含まれているグローバルな計算から切り離す能力が実現される。
【０００８】
[0008]  １つまたは複数の実施形態の詳細は、添付図面および下記の説明で述べられる。他の特徴および利点は、以下の詳細な説明を読み、関連する図面を考察することから明らかになろう。以下の詳細な説明は単に解説を目的とし、請求される本発明を制約するものではないことを理解されたい。
【図面の簡単な説明】
【０００９】
【図１】[0009]本発明の実施形態を実施することができるシステムアーキテクチャを示す図である。
【図２Ａ】[0010]引出したデータオブジェクトを、それが引出されたスプレッドシート文書の上に浮かせるために、マス目構造のスプレッドシート文書からデータオブジェクトを引出すまたは移動する様子を示す図である。
【図２Ｂ】[0011]図２Ａのデータオブジェクトを、スプレッドシート文書の上に浮かせるためにマス目構造のスプレッドシート文書の上に配置する様子を示す図である。
【図３Ａ】[0012]図２Ｂのデータオブジェクトをマス目構造のスプレッドシート文書に挿入またはプッシュするために、データオブジェクトを引出すまたは移動する様子を示す図である。
【図３Ｂ】[0013]図３Ａのデータオブジェクトをマス目構造のスプレッドシート文書に挿入またはプッシュする様子を示す図である。
【図４Ａ】[0014]引出したまたは移動したデータオブジェクトをキャンバス様のユーザインターフェースに配置するために、マス目構造のスプレッドシート文書からデータオブジェクトを引出すまたは移動する様子を示す図である。
【図４Ｂ】[0015]図４Ａで引出したまたは移動したデータオブジェクトをキャンバス様のユーザインターフェース配置する様子を示す図である。
【図５Ａ】[0016]引出されたもしくは移動されたデータオブジェクトをマス目構造のスプレッドシート文書上に配置する、またはデータオブジェクトをマス目構造のスプレッドシート文書に挿入もしくはプッシュするために、データオブジェクトをキャンバス様のユーザインターフェースから引出すまたは移動する様子を示す図である。
【図５Ｂ】[0017]図５Ａのデータオブジェクトをマス目構造のスプレッドシート文書の上に配置する、または図５Ａのデータオブジェクトをマス目構造のスプレッドシートオブジェクトの中に挿入もしくはプッシュする様子を示す図である。
【図６】[0018]スプレッドシートアプリケーションにおける滑らかなマス目とキャンバスの統合の方法を説明するフローチャートである。
【図７】[0019]本発明の実施形態を実施することができるコンピューティング機器の例示的な物理構成要素を示すブロック図である。
【図８Ａ】[0020]本発明の実施形態を実施することができるモバイルコンピューティング機器の簡略ブロック図である。
【図８Ｂ】[0020]本発明の実施形態を実施することができるモバイルコンピューティング機器の簡略ブロック図である。
【図９】[0021]本発明の実施形態を実施することができる分散コンピューティングシステムの簡略ブロック図である。
【発明を実施するための形態】
【００１０】
[0022]  上記で簡単に説明したように、本発明の実施形態は、滑らかなマス目とキャンバスの統合、およびスプレッドシートアプリケーションを対象とする。以下の詳細な説明では添付図面を参照する。可能な場合は、図面と以下の説明とで同じ参照符号を使用して同じ要素または同様の要素を参照する。本発明の実施形態を説明するが、変更、適合、または他の実装が可能である。例えば、図面に図示される要素に、置換、追加、または変更を加えることができ、記載される方法には、開示される方法の段階を置き換える、段階の順序を変える、または段階を追加することによって変更を加えることができる。したがって、以下の詳細な説明は本発明を制限するのではなく、本発明の適正な範囲は添付の特許請求の範囲によって定義される。
【００１１】
[0023]  図１は、本発明の実施形態を実施することができるシステムアーキテクチャを示す。図１には、種々のコンピューティング機器が示され、本発明の実施形態は個々のコンピューティング機器で実施することも、または共同的な作業セッションの中で実施することもできる。例えば、小型のスマートフォンまたは他の手持ち型のコンピューティング機器１１０が示され、これは表示面１１１を有し、スプレッドシートアプリケーション１１５に関連付けられている。図には、より大型のタブレット型のコンピューティング機器１０５が示され、これは表示面１０６および関連付けられたスプレッドシートアプリケーション１１５を有する。表示面１２１を有する大型の表示装置１２０が示され、これは、コンピュータ１２５およびスプレッドシートアプリケーション１１５に関連付けられている。
【００１２】
[0024]  理解されるように、コンピューティング機器１０５、１１０、１２０、１２５は説明のみを目的とし、本発明の実施形態に従って使用することが可能な各種コンピューティング機器を網羅するものではない。例えば、表示装置１２０は、関連付けられたコンピューティング機器１２５を持つ表示装置として図示されるが、大型の表示装置１２０は、例えば会議室などでの大規模な表示の用途から個人的なコンピューティングにわたる適切な用途に必要に応じて使用することができる、ディスプレイとコンピューティング機器を一体化した機器として動作することができる。実施形態によると、図１に示す各コンピューティング機器は、タッチまたはジェスチャ入力、キーボード入力、マウス入力、ボイスコマンド入力、電子インク入力などを含む様々な適切な手段を通じて入力を受け取ることができる。
【００１３】
[0025]  引き続き図１を参照すると、各コンピューティング機器１０５、１１０、１２０、１２５との関連で図示されるソフトウェアアプリケーション１１５は、本明細書に記載されるように本発明の実施形態を実現するのに十分なコンピュータ実行可能命令を有するスプレッドシートアプリケーションを表す。スプレッドシートアプリケーション１１５の例には、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ社製造のＥＸＣＥＬがある。理解されるように、これはスプレッドシートアプリケーション１１５の一例に過ぎず、本明細書に記載される実施形態を実現するのに適した他のアプリケーションを使用することもできる。
【００１４】
[0026]  各コンピューティング機器１０５、１１０、１２０、１２５は、１つまたは複数の有線または無線のデータ接続１４５、１５０、１５５を通じて、共同的な作業環境で動作することができる。すなわち、各コンピューティング機器は、直接の接続を介して、またはインターネットやイントラネットなどの分散コンピューティングネットワーク１３０を通じた接続を介して、有線または無線のデータ回線を通じて互いと通信することができる。
【００１５】
[0027]  実施形態によると、各コンピューティング機器１０５、１１０、１２０、１２５に関連付けられたアプリケーション機能は、１つまたは複数の相違に応じて動作することができる。例えば、各アプリケーション１１５は、共同的な作業セッションで他のコンピューティング機器で動作している他のアプリケーション１１５との間でデータを送受信する能力を含むすべてのアプリケーション機能を備えた、完全に機能する「シック（thick）」クライアントアプリケーションである可能性がある。そのような各アプリケーションはアプリケーション固有の機能、例えばスプレッドシート機能を持つだけでなく、本発明の実施形態によると、そのような各アプリケーションは、共同的な作業環境でエンドポイントの表示装置が受信するために制御装置から送信される情報を制御する制御アプリケーションとして各自を動作させるのに十分なコンピュータ実行可能命令も有する。同様に、そのような各アプリケーションは、各自を、別のコンピューティング機器から制御機能を受け取るエンドポイントの表示装置として動作させるのに十分なコンピュータ実行可能命令を有する。
【００１６】
[0028]  別の実施形態によると、コンピューティング機器１０５、１１０、１２０、１２５は、分散コンピューティングネットワーク１３０、例えばインターネットを介して通信することができる。引き続き図１を参照すると、コンピューティング機器１３５は、インターネットベースまたは「クラウドベース」のサーバコンピュータを表し、このサーバ上で、本明細書に記載されるように共同的な作業セッションを提供する１つまたは複数のウェブサービスアプリケーション１４０を動作させることができる。この実施形態によると、機器１０５、１１０、１２０、１２５はそれぞれシン（thin）クライアントシステムとして動作することができ、機器間の共同的な通信は、遠隔地で稼働するウェブサービスアプリケーション１４０の指示で操作することができる。この実施形態によると、スプレッドシートアプリケーション１１５はリモートサーバ１３５で動作することができ、各機器１０５、１１０、１２０、１２５は、例えばウェブサービスアプリケーション１４０を介して、リモートサービスを介して、本明細書に記載される機能にアクセスし、サーバベースのアプリケーション１１５から機能を受け取ることができる。
【００１７】
[0029]  下記で説明する図２Ａ、図２Ｂ、図３Ａ、図４Ｂ、図４Ａ、図４Ｂ、図５Ａ、図５Ｂは、本明細書に記載されるようにデータを利用することができる例示的なスプレッドシートアプリケーションのユーザインターフェースを示す。理解されるように、下記の例示的ユーザインターフェースは、上記で図１を参照して説明した適切なコンピューティング機器１０５、１１０、１２０、１２５で表示することができる。また、理解されるように、記載されるユーザインターフェースとのユーザインタラクションは、タッチによるインタラクション、ジェスチャによるインタラクション、キーボードによるインタラクション、マウスによるインタラクション、ボイスコマンドによるインタラクション、またはそれらの組み合わせを含む任意の適切なインタラクション手段に従って行うことができる。
【００１８】
[0030]  図２Ａは、引出したデータオブジェクトを、それが引出されたスプレッドシート文書の上に浮かせるために、マス目構造のスプレッドシート文書からデータオブジェクトを引出すまたは移動する様子を示す。スプレッドシートアプリケーションのユーザインターフェース２０５が示され、このインターフェースは、マス目構造のスプレッドシート文書２１０と、１人または複数のユーザによってその中に入力された１つまたは複数のデータオブジェクト２２０、２２５、２３０、２３５、２４５との関連で機能を提供する、各種アプリケーション機能ボタンおよび／またはコントロール２１５、２１６を有する。「Ｓｈｅｅｔ  １」の標識２５０および「Ｓｈｅｅｔ  ２」の標識２５５は、この例示的なスプレッドシートアプリケーション文書が２シートのマス目構造データからなることを示す標識を表している。組み合わさってセルの配列を形成する各種の行および列からなるマス目構造のシートは当業者によく知られており、各種のデータを受け取って、上記で図１を参照して説明した適切なスプレッドシートアプリケーション１１５に従ってデータの編成、操作、および各種の演算機能を行うためのユーザインターフェースのレイアウトを例示している。
【００１９】
[0031]  本発明の実施形態によると、データオブジェクト、例えば、テーブル、グラフ、ピボットテーブル、セル、セルの範囲、名前付きのセル範囲、ピボットグラフなどを含む１つまたは複数のデータオブジェクトを、スプレッドシート文書（例えばシート）から引出し、コピー、または移動することができ、また、データオブジェクトがマス目構造のスプレッドシート文書の上に「浮く」ように、同じスプレッドシート文書または別のスプレッドシート文書上に配置することができる。すなわち、図２Ａに示すように、つまむ方式のタッチジェスチャを使用するユーザ２６０は、データオブジェクト２３０（例えばデータテーブル）をマス目構造のスプレッドシート２１０から引出して、引出したデータオブジェクトを、図２Ｂに示すようにマス目構造のスプレッドシート文書２１０の上に浮かせることができる。
【００２０】
[0032]  図ではデータオブジェクト２３０の引出しをタッチジェスチャ（例えばつまんで引出しする）ユーザインタラクションとして示すが、下記で説明するように、データを引出しして移動するための他の適切な機能、例えばカットアンドペーストやドラッグアンドドロップなどを利用して、マス目構造のスプレッドシート２１０からデータオブジェクトを引出しして移動し、そのデータオブジェクトをマス目構造のスプレッドシート２１０の上に浮かせる、または、データオブジェクトをマス目構造のスプレッドシート２１０にプッシュして戻す、またはデータオブジェクトをスプレッドシートキャンバスに配置することができる。
【００２１】
[0033]  図２Ｂを参照すると、浮遊状態になったデータオブジェクト２３０（例えばデータテーブル）は、マス目構造のスプレッドシート２１０の表面上でユーザが好きなようにあちこちに移動することができる。例えば、図２Ｂに示すように、浮遊データオブジェクト２３０はスプレッドシート２１０の列Ｂの一部を隠しており、それにより、列Ｂ、行３および４に入力されたデータの一部が浮遊データオブジェクト２３０で隠されている。理解されるように、本発明の実施形態によると、ユーザは、浮遊データオブジェクト２３０をマス目構造のスプレッドシート上で好きなようにあちこちに移動することができる。例えば、オブジェクト２３０が当初はスプレッドシート中で列Ａからかなり離れた距離に位置しており、それにより、ユーザのコンピューティング機器１０５、１１０、１２０、１２５の表示空間が十分でないために、列Ａに含まれているデータとテーブルデータオブジェクト２３０に含まれているデータを同時に見ることができなかった場合、本発明の実施形態によると、ユーザは、テーブルデータオブジェクト２３０をマス目構造のスプレッドシート２１０から引出ししてテーブルデータオブジェクト２３０をスプレッドシートの上に浮かせることができ、その後、図２Ｂに示すように、浮遊テーブルオブジェクトを、ユーザが列Ａに含まれているデータと浮遊テーブルオブジェクトに含まれているデータを同時に可視化できる位置に移動することができる。したがって、ユーザは、表示画面の大きさによって自身に課される空間の制約を速やかに克服して、その結果、データの所望の列と浮遊データテーブルとを横に並べて容易かつ効率的に見ることができる。理解されるように、これは、任意のデータオブジェクトをマス目構造のスプレッドシート上に好きなように浮かせられることの利点の一例に過ぎない。
【００２２】
[0034]  浮遊データオブジェクトは、マス目構造のスプレッドシート内で固定された位置にあるときと同じように作成、編集、または更新することができる（例えば数式を調整したり、データ／画像等を変更することができる）。例えば、浮遊データオブジェクトは、ユーザによる直接の編集が可能であり、スプレッドシートが再計算を行うと更新され、ユーザによってスプレッドシート中の他箇所に変更が行われるのに応じて、または当該データオブジェクトに影響を及ぼす他の事象に応じて更新される。つまり、浮遊データオブジェクトは、スプレッドシートのデータ／演算モデルと結び付けられた状態を保つ。
【００２３】
[0035]  理解されるように、浮遊テーブルデータオブジェクト２３０の説明は例示のみを目的とするものである。上記のように、例えば、セル、セルの範囲、グラフ、ピボットテーブルなど、どのようなデータオブジェクトでもマス目構造のスプレッドシートから引出してマス目構造のスプレッドシートの上に浮かせることができ、その後浮遊オブジェクトをユーザ２６０の利益となるようにスプレッドシート上であちこちに移動することができる。
【００２４】
[0036]  次いで図３Ａを参照すると、本発明の実施形態によると、浮遊データオブジェクト２３０をマス目構造のスプレッドシート２１０中の任意の位置に再度プッシュして、それにより、再挿入されたデータオブジェクトを再びスプレッドシート２１０の一部とすることができ、その結果、再挿入されたデータオブジェクト２３０は、それが挿入されるスプレッドシート２１０内で適切な行および列に配置することに関して、スプレッドシート２１０の構造に合わせて移動し、構造に合わせて調整され、またその他の形で構造に関連付けられる。図３Ｂに示すように、マス目構造のスプレッドシート２１０の中にプッシュされるデータオブジェクト２３０は、スプレッドシート２１０中で最初に取り出されたときと同じ場所にプッシュまたは再挿入される必要はない。再度図２Ａを参照すると、データオブジェクト２３０は元は列ＤおよびＥ、行２、３、および４に位置していたが、図３Ｂに示すように、データオブジェクト２３０は、スプレッドシート２１０内の異なる位置、すなわち列ＢおよびＣ、行２、３、および４に再挿入されている。
【００２５】
[0037]  さらに、データオブジェクト２３０は、それが元あったスプレッドシート２１０だけに再挿入する必要はなく、代わりに、浮遊データオブジェクト２３０は、現在のスプレッドシートアプリケーション文書（例えばスプレッドシートのワークブック）の別のシートにプッシュすることもでき、または、浮遊データオブジェクト２３０は、全く異なるスプレッドシートアプリケーション文書（例えばワークブック）のシートにプッシュすることもできる。また、順序は、１つのスプレッドシートからデータオブジェクトを引出して、そのデータオブジェクトを同じシートまたは別のシートに浮かせ、その後浮遊データオブジェクト２３０を同じシートまたは他の異なるシートにプッシュまたは挿入するという順序である必要はない。実施形態によると、ユーザは、あるシートからデータオブジェクトを直接引出し、そのデータオブジェクトを直ちに同じシート内の別の場所、または別のシートの所望の場所に挿入することができる。
【００２６】
[0038]  次いで図４Ａを参照すると、本発明の別の実施形態によると、スプレッドシートアプリケーション内でキャンバス様のユーザインターフェースを作成して、そのインターフェースで、スプレッドシート様のオブジェクト、例えば、テーブル、グラフ、ピボットテーブル、セル、セルの範囲、名前付きのセル範囲、ピボットグラフなどを自由に流し込んで配置することができる。そのようなスプレッドシート様のオブジェクトは、図４Ｂに示すように、オブジェクトをマス目構造のスプレッドシート２１０から引出し、続いて引出したまたは抽出したオブジェクトをキャンバスに入れることにより、マス目のないキャンバス様のユーザインターフェースに入れることができる。各キャンバスは、表示、印刷、送信、およびその他の方法で利用することができる個々の文書として扱うことができ、または、１つもしくは複数のキャンバスと１つもしくは複数のマス目構造のスプレッドシート（シート）を組み合わせてスプレッドシート文書を形成することもできる。スプレッドシート様のオブジェクトは、最初からキャンバスで作成することもできる。つまり、オブジェクトは、キャンバスに入れるためにマス目構造のスプレッドシート２１０内で作成してそこから抽出する必要はない。これにより、ユーザは、望む場合は、マス目構造のスプレッドシート２１０のマス目を最小限に使用して、作業のかなりの部分を達成することができる。
【００２７】
[0039]  引き続き図４Ａおよび図４Ｂを参照すると、ユーザはまず、図４Ｂに示すキャンバス様のユーザインターフェース４２０を生成するために「Ｃｒｅａｔｅ  Ｃａｎｖａｓ（キャンバスを作成する）」機能４１０を選択する。理解されるように、「Ｃｒｅａｔｅ  Ｃａｎｖａｓ」機能４１０は単なる例示の目的で示され、図４Ｂに示すようにスプレッドシートアプリケーションでマス目のないキャンバス様のユーザインターフェース４２０を作成することを可能にする各種手段を網羅するものではない。キャンバス様のユーザインターフェースは、上記で図２Ａ〜図４Ａを参照して説明したようなマス目構造のスプレッドシート２１０を持たず、すなわち、キャンバス様のユーザインターフェース４２０には、指定された行および列と、その結果設定されるセルの配列は表示されない。実施形態によると、キャンバス様のユーザインターフェース４２０に配置されたデータオブジェクト２３０、４２５、４３０は、図２Ａ〜図４Ａに示すように、特定の場所に関係なく、例えば、マス目構造のスプレッドシート２１０で通例そうであるように特定のセルやセルの配列に関係することなく、ユーザの意思と要求に応じて自由に流し込んであちこちに移動することができる。したがって、キャンバス様のユーザインターフェース４２０で、ユーザは、スプレッドシート様のデータオブジェクト、データオブジェクト、画像、または他の内容がキャンバス様のユーザインターフェース４２０に配置されたプレゼンテーションや文書などを作成することができ、ユーザは配置した各オブジェクトを好きなようにあちこちに自由に移動することができる。
【００２８】
[0040]  例えば、図４Ｂに示すように、ユーザはキャンバス様のワークシートを生成しており、ユーザはその中に第１のデータオブジェクト２３０（例えばテーブル）、第２のデータオブジェクト４３０（例えばテーブル）、および画像データオブジェクト４２５を配置している。例えば、ユーザは、会議でプレゼンテーションするために、スプレッドシート様のオブジェクト（例えばテーブルデータオブジェクト230、430）および１つまたは複数の画像データオブジェクト４２５を有する文書を作成したいが、個別の列および行と個々のセルを形成する区切り線を有するマス目構造のスプレッドシート２１０にしばしば伴う乱雑感や見た目のうるささを生じさせたくない場合がある。
【００２９】
[0041]  引き続き図４Ｂを参照すると、２つのテーブルデータオブジェクト２３０、４３０は、１つのスプレッドシートから抽出されたデータオブジェクトもしくはデータの一部を表す可能性も、または、各データオブジェクト２３０、４３０は、１つのスプレッドシートアプリケーションワークブックもしくは２つの異なるスプレッドシートアプリケーションワークブックの２つの別々のスプレッドシートそれぞれから抽出されている可能性もある。すなわち、本発明の実施形態によると、テーブルデータオブジェクト２３０、４３０などのスプレッドシート様のオブジェクトは、１つまたは複数の異なるスプレッドシートソースからキャンバス様のユーザインターフェース４２０に取り込むことができる。また、他のデータオブジェクト、例えば、画像４２５を、各種の他のソース、例えば写真ライブラリ、クリップアートライブラリ、文書処理アプリケーションの文書、スライドプレゼンテーションアプリケーションの文書などから、キャンバス様のユーザインターフェース４２０に取り込むことができる。
【００３０】
[0042]  ユーザインターフェース４２０の一番下に示すように、２つのシート識別４３５、４４０が示されており、これは、テーブルデータオブジェクト２３０、４３０がそこから抽出された可能性がある２つのスプレッドシートアプリケーションシートがキャンバス様のユーザインターフェース４２０に関連付けられていることを示す。すなわち、関連付けられたスプレッドシートのワークブックは、シートの標識４３５、４４０で示される２つのシートを含む可能性があり、キャンバスインターフェースが生成されると、そのワークブックの利用可能なシートを、キャンバス（すなわちキャンバス様のユーザインターフェース）との関連で識別することができる。例えば、ユーザがシートの標識４３５に関連付けられたスプレッドシートアプリケーションシートにある追加的な情報を必要とする場合、ユーザは標識４３５を選択して、関連付けられたシートのインスタンスを起動するか、または関連付けられたシートに移動して、追加的なデータオブジェクトやデータ項目をキャンバス様のユーザインターフェース４２０に入れるために抽出することができる。
【００３１】
[0043]  また、上記の１つまたは複数のスプレッドシートアプリケーションシートは、特定のキャンバス様ユーザインターフェース４２０に配置できる個々のオブジェクトとして扱うこともできる。例えば、第１のシート４３５が第１のシートとして列Ａ〜Ｅおよび行１〜１０を含み、第２のシート４４０が列Ａ〜Ｃおよび行１〜５を含む場合、各シートは、関連付けられたスプレッドシートアプリケーションのワークブック内では従来のシートであるが、全体または一部をキャンバス様のユーザインターフェース４２０に配置することが可能な個々のオブジェクトとして扱うことができる。したがって、実施形態によると、１つまたは複数のマス目（またはマス目構造のスプレッドシート210にある1つまたは複数のマス目の一部）を、データオブジェクトとしてキャンバス様のユーザインターフェースに配置することができる。
【００３２】
[0044]  再度図４Ａを参照すると、ユーザ２６０は、データ項目またはデータオブジェクト、例えばテーブルデータオブジェクト２３０をマス目構造のスプレッドシート２１０から引出し、続いて図４Ｂに示すように、引出したデータオブジェクト２３０をキャンバス様のユーザインターフェース４２０にドロップすることができる。すなわち、上記で図２Ａおよび図２Ｂを参照して説明したように、ユーザは、１つのマス目構造のスプレッドシート２１０からデータオブジェクトを引出して、そのデータオブジェクトを浮遊データオブジェクトとして同じまたは異なるマス目構造のスプレッドシート２１０にドロップできるのと同じように、データオブジェクト２３０をマス目構造のスプレッドシート２１０から引出して、図４Ｂに示すように、引出したデータオブジェクトを浮遊データオブジェクトとしてキャンバス様のユーザインターフェース４２０にドロップすることができる。したがって、キャンバス様のユーザインターフェース４２０に配置された各データオブジェクト、コンテンツ項目、画像などは、所望のレイアウトを生成するためにユーザインターフェース４２０上でユーザがあちこちに移動することができる浮遊オブジェクトの形態を取ることができる。
【００３３】
[0045]  次いで図５Ａおよび図５Ｂを参照すると、キャンバス様のユーザインターフェース４２０に配置されたデータオブジェクト２３０は、図５Ｂに示すように、タッチ（つまむ動き）、ジェスチャ、キーボード入力、マウス入力、ボイスコマンド、またはそれらの組み合わせを含む各種の適切な手段の１つにより、キャンバス４２０から移動してマス目構造のスプレッドシート２１０に戻すことができる。また、キャンバス４２０からマス目構造のスプレッドシート２１０へのデータオブジェクト２３０の移動は、種々の機能、例えばカットアンドペーストやドラッグアンドドロップなどに従って行うこともできる。
【００３４】
[0046]  上記で図２Ａ、図２Ｂ、図３Ａ、および図３Ｂを参照して説明したように、データオブジェクト２３０をキャンバス様のユーザインターフェース４２０からマス目構造のスプレッドシート２１０に移動するとき、図５Ｂに示すように、移動するデータオブジェクト２３０は浮遊データオブジェクトとしてマス目構造のスプレッドシート２１０にドロップすることができ、上記で図２Ｂを参照して説明したようにそのデータオブジェクトをマス目構造のスプレッドシート２１０上であちこちに移動することができる。あるいは、上記で図３Ｂを参照して説明したように、キャンバス様のユーザインターフェース４２０から引出したデータオブジェクトは、マス目構造のスプレッドシート２１０の所望の場所にプッシュまたは挿入することもできる。あるいは、上記で図４Ｂを参照して説明したように、キャンバス様のユーザインターフェース４２０から引出したデータオブジェクト２３０は、第２のキャンバス様のユーザインターフェース４２０にドロップすることもできる。
【００３５】
[0047]  再度図２Ｂ、図３Ｂ、および図５Ｂを参照すると、実施形態によると、列および行を区切る線を、ユーザが浮遊データオブジェクトを配置する、またはデータオブジェクトをマス目構造のスプレッドシートに挿入するのを支援するためのガイド線およびスナップ線として使用することができる。図２Ｂを参照すると、データオブジェクト２３０がシート２１０上の浮遊オブジェクトとして示されている。格子線（例えば、行2と行3を区切る格子線246、および列Aと列Bを区切る格子線247）を、浮遊オブジェクトをシート２１０の特定の位置に移動もしくは位置合わせするため、またはオブジェクトを特定の位置に挿入するためのガイド線として使用することができる。一実施形態によると、データオブジェクトが１つまたは複数の格子線２４６および２４７に向かって移動されるときに、格子線は「スナップ（snap）」線の役割を果たすことができ、移動されるデータオブジェクトがそれらの線から所定の距離内に入ると、データオブジェクトが適位置に「パチッとはまって（snapped）」、それにより、ガイド線またはスナップ線が自動的にそのデータオブジェクトの境界線になる。別の実施形態によると、データオブジェクトの移動先の位置にあるセルのセルサイズが、引出されて移動されるデータオブジェクトのセルサイズと異なる場合には、データオブジェクトのサイズが自動的に変更されて、データオブジェクトが配置または挿入される箇所のセルサイズに合わせることができる。
【００３６】
[0048]  実施形態によると、１つまたは複数のマス目構造のスプレッドシート（シート）と１つまたは複数のキャンバス様のユーザインターフェース（キャンバス）とを共に組み合わせて、１つのスプレッドシート文書（「ワークブック」とも呼ばれる）を形成することができ、ユーザは必要に応じてキャンバスおよびシートの間を自由に移動することができる。また、データオブジェクトは、本明細書に記載されるようにシートまたはキャンバスそれぞれの間で互換的に移動することができる。また、上記で図１を参照して説明したように、個々のシートおよび／またはキャンバスは、複数のコンピューティング機器１０５、１１０、１２０、１２５、１３５の間で、機器間で直接、またはサーバベースのシステムを経由して分散コンピューティングネットワークを介して、共有、公開、またはその他の方法で利用することができる。すなわち、例えば、共有、共同作業の実現、公開、ウェブサービスアプリケーション１４０を介した閲覧など、スプレッドシートアプリケーションのシートやワークブックに通例関連するすべての機能を、キャンバス様のユーザインターフェース４２０に利用することができる。
【００３７】
[0049]  実施形態によると、データオブジェクトが従来のスプレッドシートアプリケーションシートに関連付けられたマス目構造のスプレッドシート２１０から別のマス目構造のスプレッドシートに移動される場合、またはデータオブジェクトがマス目構造のスプレッドシート２１０からキャンバス様のユーザインターフェース４２０に移動される場合、移動されたデータオブジェクト、浮遊データオブジェクト、またはその後挿入されたデータオブジェクト（データオブジェクトをマス目構造に挿入する場合）は、当該オブジェクトが抽出された元のマス目構造のスプレッドシート２１０との間で演算関係を含む関係を維持することができる。実施形態によると、下記でさらに詳しく説明するように、データ項目、データ項目の集まり、またはデータオブジェクトをマス目構造のスプレッドシート２１０から引出して、引出したデータを同じスプレッドシートまたは異なるスプレッドシートの上に浮かせる能力は、引出されたデータ項目の直接の依存関係を特定のマス目構造のセルに合わせて変更し、引出されたデータ項目と、その項目が引出された元のマス目構造のスプレッドシート２１０との間の構造化参照を支援することによって実現される。つまり、データ項目をスプレッドシートのデータ／演算モデルから切り離して、そのデータ項目が更新されないようにすることができる。計算や他の更新には関係しなくなるが、データ項目は引き続き最後の値を示すことができる。各種実施形態で、データ項目の依存関係は構造化参照として存続する。
【００３８】
[0050]  元のマス目構造との間のそのようなデータおよび演算の関係は、移動されたデータオブジェクトの構成要素と元のマス目構造のスプレッドシート２１０との間で構造化参照を使用することによって実現することができる。例えば、図２Ａおよび図２Ｂを再度参照すると、データオブジェクト２３０をマス目構造のスプレッドシート２１０から引出しする前には、テーブルデータオブジェクト２３０は、列ＤおよびＥ、ならびに行２、３、および４に位置する２つの列と３つの行のデータで構成されていた。この例示的なデータオブジェクト２３０によると、位置Ｄ３にある「Ｏｒｄｅｒｓ」データは位置Ｅ３にある「Ｓａｌｅｓ」データに対応する。そして、理解されるように、位置Ｅ３にある「Ｓａｌｅｓ」データは、例えば位置Ｄ３の「Ｏｒｄｅｒｓ」の値を、マス目構造のシート２１０中の別の場所にある注文単位の価格に乗算した結果など、何らかの演算機能の結果である可能性がある。実施形態によると、図２Ｂに示すようにテーブルデータオブジェクト２３０がマス目構造のシート２１０から引出されてマス目構造のシート２１０上に浮遊オブジェクトとしてドロップされる場合、または図４Ｂに示すように、オブジェクトがキャンバス様のユーザインターフェース４２０にドロップされる場合、引出されたデータオブジェクト２３０に含まれている個々のデータ項目は、データオブジェクト２３０に含まれているそれらデータ項目の演算機能および関係と共に維持される。したがって、図２Ｂおよび図４Ｂに示すように、データオブジェクトがマス目構造のスプレッドシート２１０またはキャンバス様のユーザインターフェース４２０にドロップされる場合、データオブジェクトに含まれているデータ、およびデータオブジェクト２３０に含まれているデータ間の演算関係は維持される。
【００３９】
[0051]  例えば、データオブジェクト２３０がマス目構造のスプレッドシート２１０またはキャンバス様のユーザインターフェース４２０にドロップされた後に、ユーザがデータ項目、例えば、「３２」の注文の「Ｏｒｄｅｒｓ」データ項目を変更すると、売り上げの数字を含んでいるセルに関連付けられた演算機能、および、そのセルとそれに関連付けられている注文セルとの関係が維持されていることにより、「３２」の注文の項目に関連付けられた「Ｓａｌｅｓ」の数字が自動的に変化する。実施形態によると、移動されるデータオブジェクトに含まれているかまたは関連付けられているデータと演算機能との間の関係を、当該データオブジェクトがそこから引出されたまたは移動された元のマス目構造のシートに含まれているかまたは関連付けられている対応するデータおよび演算機能でも維持することは、当該マス目構造のシートに含まれているか、または関連付けられている対応するデータおよび演算機能への、移動されたデータオブジェクトに含まれるデータ項目および演算機能間の構造化参照を介して実現される。すなわち、元は図２Ａに示す例示的なシートの位置Ｄ３に含まれていた「３２」の注文のデータ項目は、図２Ｂに示すように浮遊している位置に移動するか、または図３Ｂに示すようにシート中の異なる場所に再挿入するか、または図４Ｂに示すようにキャンバス様のユーザインターフェース４２０にドロップすることができるが、任意のセル、例えば当初セル位置Ｄ３にあった「３２」の注文のデータ項目に含まれているデータは、特定のセル位置Ｄ３に再度参照付けされるのではなく、構造化参照を通じて、元々その位置に含まれていたデータまたは演算機能に参照付けられる。これは、図３Ｂに示すように、データオブジェクトが挿入される先のシート、または別のデータオブジェクトが移動される先のシートに対応する元のデータとそれに関連付けられた演算機能は、当該データオブジェクトが当初そこから引出されたまたは移動された元のマス目構造のシートとは異なる場合があるためである。
【００４０】
[0052]  引出されて移動されたデータオブジェクトと、そのオブジェクトがそこから受け取られた元のマス目構造のスプレッドシートとの間の構造化参照の関係に従って、引出され移動されたデータオブジェクトに含まれているか、または関連付けられているデータおよび演算機能は、特定のセル場所に再度関係付けることなく、対応するデータおよび演算機能に再度参照付けしなければならない。例えば、再度図２Ａおよび図３Ｂを参照すると、セル位置Ｄ３およびＤ４に含まれているデータは、テーブルデータオブジェクト２３０と共に移動されてシート２１０に再挿入されて、それにより、移動されたテーブルデータオブジェクト２３０中の対応するデータがそれぞれセル位置Ｂ３およびＢ４に位置するようになる。ただし、テーブルデータオブジェクト２３０は、元は列ＡとＢに位置していたデータ列の間の位置に再挿入されたので、元は列Ｂに位置していたデータ２２５が現在は列Ｄに位置し、それにより、新しいデータ項目がそれぞれセル位置Ｄ３およびＤ４に位置している。したがって、もし移動したデータオブジェクト２３０に含まれているセルがセル単位で元のセルに参照付けされると、移動したテーブルデータオブジェクト２３０が列ＢおよびＣの位置に挿入されたために元のセルＤ３およびＤ４にあったデータが変更されているので、演算機能（例えば注文データに応じた売り上げデータの計算）で誤った結果が生成されることになる。
【００４１】
[0053]  これは、当該データオブジェクトが再挿入されるのかされないのかに関わらず、移動され、可能性としては変更が加えられたデータオブジェクトとの衝突を回避するために特に重要である。例えば、引き続き図３Ｂを参照すると、構造化参照の関係がないと、列ＡおよびＢにあった元のデータがピボットテーブルや他の複雑なスプレッドシート機能に相当する場合には、データオブジェクト２３０を挿入するとピボットテーブルの機能との衝突が生じる可能性が高い。別の例として、２行のデータを持つデータオブジェクトを引出し、もう１行のデータを追加する変更を加えた後に同じスプレッドシートに再挿入した場合には、データオブジェクトが拡大したために、別のオブジェクト、例えば、最初に引出したデータオブジェクトのすぐ下に位置するピボットテーブルとの衝突が生じる可能性がある。これに対して、引出したデータオブジェクト中のセル参照を、基礎となるデータおよび／または機能への構造化参照に置き換えることにより、スプレッドシート内の他のデータオブジェクトにエラー条件を生じさせることなく、引出したデータオブジェクトを変更および／または再挿入することができる。
【００４２】
[0054]  本発明の実施形態によると、移動されるデータオブジェクトと、そのデータオブジェクトが抽出された元のシートに含まれている、またはその元のシートに関連付けられている対応するデータおよび演算機能との間のデータ関係および演算機能関係が、構造化参照を通じて維持される。このとき、移動されるデータオブジェクトに含まれているデータおよび演算機能は、対応するデータ項目および演算機能が元のマス目構造のスプレッドシート内のどこに移動されるかに関係なく、対応する正しいデータおよび演算機能に再度参照付けされる。一実施形態によると、そのような構造化参照は抽象化層を通じて作成および維持され、抽象化層は、各データ項目またはデータオブジェクトがセルの場所および／またはセルの振る舞い（例えば演算機能）を抽象化することができるような方式で、スプレッドシート中のすべてのデータ項目またはデータオブジェクトについて構築される。そのため、各データ項目またはデータオブジェクトは、各自の中に含まれているデータおよび演算機能を索引付けし、各自の中に含まれているデータ項目および演算機能を、そのデータ項目またはデータオブジェクトが抽出されたマス目構造のスプレッドシートに含まれている対応するデータ項目および演算機能に対応付けることができる。特定のデータオブジェクトがどこに移動されるか、例えば別のマス目構造のスプレッドシートに移動されるか、またはキャンバス様のユーザインターフェース４２０に移動されるかに関係なく、各データ項目および／または演算機能は、その抽出元であるマス目構造のスプレッドシート中の該当するデータ項目および／または演算機能に再度対応付けられ、他のデータオブジェクトおよび項目から参照することができる。例えば、セルＤ４がマス目構造のスプレッドシートから抽出されて、浮遊データオブジェクトにされた場合、セルＤ４を参照する別のセルは、更新されて、構造化参照を使用してその浮遊データオブジェクトを参照するようになる。したがって、ＳＵＭ（Ｃ３，Ｄ４）などの数式が更新されて、Ｄ４を、構造化参照（例えばmyFloatingRange.[0][4]）に置き換える。
【００４３】
[0055]  データオブジェクト２３０が上記のように移動されると、そのオブジェクトは、必要に応じて抽象化層を介して元のマス目構造のスプレッドシートおよび他のデータオブジェクトと通信することができる。実施形態によると、そのような構造化参照に関連付けられた構文が、移動されたデータオブジェクトに含まれているデータ項目および／または演算機能を、索引付けされた関連するデータおよび／または演算機能にポイントし、必要なデータおよび／または演算機能を見つけるために特定のセルの場所を直接ポイントする必要はない。一実施形態によると、名前付けの機構を利用することができ、任意のマス目構造のシートから別のシートもしくはキャンバス様のユーザインターフェースに移動される、またはその逆方向に移動される各データオブジェクト２３０に名前または他の識別を割り当てて、スプレッドシート中のすべての他のデータ項目および／またはデータオブジェクトが、名前が付けられたそのオブジェクトをその名前または他の識別で参照することができるようにする。そのため、構造化参照付け構文を使用して、１つまたは複数のマス目構造のシート内のローカルの項目（例えばセル、セルの範囲、データオブジェクトなど）や、ローカルもしくはグローバルな計算の変更を含む所望のスプレッドシートアプリケーション動作もしくは機能などを利用することができる。
【００４４】
[0056]  引き続き図２Ａ〜図５Ｂを参照すると、上記のようにデータオブジェクトとマス目構造のスプレッドシートとの間の構造化参照を作成し、利用するための「構造化参照」ボタン２１６がユーザインターフェース２０５に示されている。理解されるように、ボタン２１６は説明のみを目的とし、構造化参照機能を１つまたは複数のデータオブジェクトに適用できる各種方式を網羅するものではない。例えば、ユーザインターフェース２０５は、ユーザが上記のようにオブジェクトをスプレッドシートのセル参照から構造化参照に変換できる機能を提供することができる。例えば、任意のデータオブジェクト２３０を選択すると、そのデータオブジェクト２３０を別の場所に移動する前に、ユーザは、セル参照を構造化参照に手動で変換するためのユーザインターフェース２０５を介して提供される機能を選択することができ、その結果、移動されるデータオブジェクトに含まれているセルは、元のマス目構造のシート中の場所に含まれている特定の１つまたは複数のセルを参照しなくなり、代わりに、上記のように、構造化参照を通じて、そのオブジェクト中で関連付けられたデータおよび／または演算機能を参照するようになる。あるいは、スプレッドシートのセル参照から構造化参照への変換は、上記のように、データ項目またはオブジェクトがマス目構造のシートから引出されるときに自動的に行うこともできる。
【００４５】
[0057]  一実施形態によると、デフォルトの選択肢をユーザに提供することができ、この選択肢は、オブジェクトの種類や、演算機能（例えば任意のデータ項目やオブジェクトに関連付けられた数式）の数に基づいて動的に変化することができる。例えば、ユーザが特定のデータオブジェクトをマス目構造のシートから引出しすると、上記のように関連付けられたセル参照が構造化参照に自動的に変換されるが、移動されたデータオブジェクトが上記で図３Ｂを参照して説明したようにマス目構造のスプレッドシートにプッシュまたはドロップされるときには、上記のように、マス目構造のシートへのデータ項目および演算機能間の参照が維持されるように、構造化参照が再度セル参照に変換されてはならない。
【００４６】
[0058]  別の実施形態によると、場合によっては、移動されるデータオブジェクトと、そのデータオブジェクトの抽出元のマス目構造のスプレッドシートとの間の参照を切り離して、移動されるオブジェクトに関連付けられたデータ項目および演算機能は引き続き互いに対して機能するが、元のマス目構造のシートの変化は、移動されたオブジェクトに反映されないようにすることができる。したがって、ユーザがオブジェクトを移動する前に移動するオブジェクトとの参照を手動で切り離して、新しい場所でオブジェクトを自立したデータオブジェクトにすることができるユーザインターフェース機能を提供することができる。例えば、ユーザが上記で図４Ｂおよび図５Ａを参照して説明したキャンバス様のユーザインターフェース４２０を使用してプレゼンテーションを作成したい場合、ユーザは、移動したオブジェクトを、それが抽出された元のマス目構造のシートから切り離して、元のマス目構造のシートに含まれている関連付けられたデータまたは演算機能が後に変更された場合に、ユーザがプレゼンテーションするキャンバス様のユーザインターフェース４２０に入れられているオブジェクトが動的に変更されないようにしたい場合がある。オブジェクトが動的に変更されると、例示的なデータオブジェクトをキャンバスに移動することによって作成しているプレゼンテーションの意図が狂ってしまう可能性がある。
【００４７】
[0059]  以上、図１〜図５Ｂを参照して本発明の実施形態の例示的な動作環境と様々な態様を説明した。図６は、スプレッドシートアプリケーションにおける滑らかなマス目とキャンバスの統合の方法を説明するフローチャートである。方法６００は動作６０５で開始し、動作６１０に進んで、１つまたは複数のマス目構造のシート２１０を含んでいるスプレッドシート文書（例えばスプレッドシートのワークブック）が使用のために開かれる。動作６１５で、ユーザが、データオブジェクト２３０、例えば、個々のセル、セルの範囲、テーブル、グラフ、ピボットテーブル、名前付きのセル範囲、ピボットグラフなどを、上記のように浮遊オブジェクトとしてスプレッドシート上に配置する、または挿入オブジェクトとしてスプレッドシートに挿入する、またはキャンバス様のユーザインターフェース４２０に配置するために、利用可能なスプレッドシート２１０から引出しすることを決定する。
【００４８】
[0060]  動作６２０で、引出ししたデータオブジェクトに名前を付けるか、他の方法で識別して、引出したデータオブジェクトに含まれている、または関連付けられたデータおよび／または演算機能を、当該データオブジェクトが引出された元のスプレッドシートに含まれている他のデータおよび他の演算機能に再度参照付けできるようにする。動作６２５で、引出したオブジェクトと、そのオブジェクトが引出されたスプレッドシートとの間の通信を可能にする抽象化層が構築される。
【００４９】
[0061]  動作６３０で、上記のようにセル参照が構造化参照に変換されて、引出したオブジェクトとそれに関連付けられたセルおよび／または演算機能との間で抽象化層を介して通信を行えるようにする。上記のように、必要な場合は、引出したデータオブジェクトに含まれているデータ項目および演算機能間の参照を選択的に切り離すか、または解消して、引出したオブジェクトを、その後置かれる場所で自立したデータオブジェクトとして動作させることもできる。
【００５０】
[0062]  動作６３３で、上記で図２Ｂを参照して説明したように、引出したオブジェクトを同じマス目構造のスプレッドシートまたは別のマス目構造のスプレッドシートの上に浮かせ、スプレッドシート上でユーザによって様々な位置に移動することができる。引出したオブジェクトはその後、必要に応じて動作６３５で元のスプレッドシートまたは別のスプレッドシートにプッシュして戻すこともできる。
【００５１】
[0063]  あるいは、動作６３５で、引出したオブジェクトを浮かせる代わりに、それを抽出した元のマス目構造のスプレッドシート内のユーザが望む場所にプッシュするか、または引出したデータオブジェクトを別のスプレッドシートのマス目にプッシュすることもできる。
【００５２】
[0064]  あるいは、動作６４０で、上記で図４Ａおよび図４Ｂを参照して説明したように、ユーザが選択的にキャンバス様のユーザインターフェース４２０を作成することもでき、動作６４５で、必要に応じて、引出したオブジェクトをそのキャンバスにドロップしたり、キャンバス上であちこちに移動したりすることができる。
【００５３】
[0065]  動作６５０で、キャンバス様のユーザインターフェース４２０に含まれている、または関連付けられているデータオブジェクトに働きかけるために、スプレッドシートアプリケーションで利用できる機能を使用可能な状態にすることができる。
【００５４】
[0066]  上記のように、動作６３３、６３５、または６４５のいずれかが行われた後に、必要に応じて、移動したデータ項目もしくはデータオブジェクトのいずれかまたはすべてを各自が配置された場所から抽出して、他のマス目構造のスプレッドシートまたは他のキャンバス様ユーザインターフェース内の他の場所に移動することができる。また、任意のスプレッドシートまたはキャンバス様のユーザインターフェースから引出したデータオブジェクトは、適切に使用するために他のユーザと共有したり、他のユーザに送信することができ、これは、上記のように本発明の実施形態に従って他のスプレッドシートアプリケーションワークシートおよびキャンバスと併用することを含む。
【００５５】
[0067]  以上、本発明について、コンピュータのオペレーティングシステムで動作するアプリケーションプログラムとの関連で実行されるプログラムモジュールの一般的な文脈で説明したが、当業者は、本発明は他のプログラムモジュールと組み合わせて実装することも可能であることを認識されよう。一般に、プログラムモジュールには、特定の作業を行うか、特定の抽象データ型を実装する、ルーチン、プログラム、コンポーネント、データ構造、および他の種類の構造が含まれる。
【００５６】
[0068]  本明細書に記載される実施形態および機能は、多種のコンピューティングシステムを介して動作することができ、それらには、これらに限定されないが、デスクトップコンピュータシステム、有線および無線のコンピューティングシステム、モバイルコンピューティングシステム（例えば携帯電話、ネットブック、タブレットまたはスレート型のコンピュータ、ノートブックコンピュータ、およびラップトップコンピュータ）、手持ち型機器、マルチプロセッサシステム、マイクロプロセッサを利用した消費者電子製品またはプログラム可能な消費者電子製品、ミニコンピュータ、およびメインフレームコンピュータが含まれる。
【００５７】
[0069]  また、本明細書に記載される実施形態および機能は分散されたシステム（例えばクラウドベースのコンピューティングシステム）にまたがって動作することもでき、その場合、アプリケーション機能、メモリ、データの記憶および検索ならびに各種の処理機能は、インターネットやイントラネットなどの分散コンピューティングネットワーク通じて、互いに遠隔から操作することができる。ユーザインターフェースおよび各種情報は、内蔵されたコンピューティング機器のディスプレイを介して、または１つまたは複数のコンピューティング機器に関連付けられた遠隔の表示装置を介して表示することができる。例えばユーザインターフェースや各種情報は、ユーザインターフェースや各種情報が投影される壁面に表示し、壁面上でインタラクションすることができる。本発明の実施形態を実施することが可能な多数のコンピューティングシステムとのインタラクションには、キーストローク入力、タッチ画面入力、音声または他のオーディオ入力、ジェスチャ入力が含まれ、ジェスチャ入力の場合、関連付けられたコンピューティング機器は、コンピューティング機器などの機能を制御するユーザジェスチャを捕捉して解釈するための検出（例えばカメラ）機能を備える。
【００５８】
[0070]  図７〜図９およびそれに関連する説明は、本発明の実施形態を実施することができる各種動作環境の説明を提供する。ただし、図７〜図９に関して例示し、説明する機器およびシステムは例示と説明を目的とするものであり、本明細書に記載される本発明の実施形態を実施するために利用できる多数のコンピューティング機器構成を制限するものではない。
【００５９】
[0071]  図７は、本発明の実施形態を実施することが可能なコンピューティング機器７００の物理構成要素（すなわちハードウェア）を示すブロック図である。下記で説明するコンピューティング機器の構成要素は、上記のコンピューティング機器１０５、１１０、１２０、１２５、１３５に該当する可能性がある。基本の構成で、コンピューティング機器７００は、少なくとも１つの処理装置７０２およびシステムメモリ７０４を備えることができる。コンピューティング機器の構成と種類に応じて、システムメモリ７０４は、これらに限定されないが、揮発性記憶（例えばランダムアクセスメモリ）、不揮発性記憶（例えば読み出し専用メモリ）、フラッシュメモリ、またはそのようなメモリの組み合わせからなることができる。システムメモリ７０４は、オペレーティングシステム７０５、および各種のアプリケーション７２０を実行するのに適した１つまたは複数のプログラムモジュール７０６を含むことができる。オペレーティングシステム７０５は、例えば、コンピューティング機器７００の動作を制御するのに適する可能性がある。さらに、本発明の実施形態は、グラフィックライブラリ、他のオペレーティングシステム、または他のアプリケーションプログラムと併用して実施することができ、特定のアプリケーションやシステムに限定されない。この基本の構成を図７では点線７０８内の構成要素で示す。コンピューティング機器７００は追加的な機能または機能性を備えることができる。例えば、コンピューティング機器７００は、例えば、磁気ディスク、光ディスク、テープなどの追加的なデータ記憶装置（取り外し式および／または非取り外し式）も備えることができる。そのような追加的な記憶装置を図７では取り外し式記憶装置７０９および非取り外し式記憶装置７１０で示している。
【００６０】
[0072]  上記のように、複数のプログラムモジュールおよびデータファイルをシステムメモリ７０４に記憶することができる。処理装置７０２で実行されている間、プログラムモジュール７０６は、これらに限定されないが、図６に示す方法６００の段階の１つまたは複数を含む処理を行うことができる。本発明の実施形態に従って使用することが可能な他のプログラムモジュールには、スプレッドシートアプリケーション、ノートアプリケーション、インターネットブラウザアプリケーション、電子メールおよび連絡先管理アプリケーション、文書処理アプリケーション、データベースアプリケーション、スライドプレゼンテーションアプリケーション、描画またはコンピュータ支援アプリケーションプログラムなどのアプリケーションが含まれる可能性がある。
【００６１】
[0073]  さらに、本発明の実施形態は、個別の電子素子から構成される電気回路、論理ゲートを含むパッケージまたは集積電子チップ、マイクロプロセッサを利用した回路、または電子素子もしくはマイクロプロセッサを内蔵する単一のチップで実施することもできる。例えば、本発明の実施形態はシステムオンチップ（SOC）を介して実施することができ、その場合、図７に示される構成要素のそれぞれまたは多くを１つの集積回路に統合することができる。そのようなＳＯＣデバイスは、１つまたは複数の処理ユニット、グラフィックユニット、通信ユニット、システム仮想化ユニット、および各種のアプリケーション機能を含むことができ、それらをすべて１つの集積回路としてチップ基板に統合（または「焼き付ける」）ことができる。ＳＯＣを介して動作する場合、ウェブページコンテンツの使用に関して本明細書に記載される機能は、１つの集積回路（チップ）内でコンピューティング機器７００の他の構成要素と統合された特定用途のロジックを介して動作させることができる。本発明の実施形態は、これらに限定されないが、機械技術、光学技術、流体技術、および量子技術を含む、例えば、ＡＮＤ、ＯＲ、およびＮＯＴなどの論理演算を行うことが可能な他の技術を使用して実施することもできる。また、本発明の実施形態は、汎用コンピュータまたは他の回路もしくはシステムの内部で実施することもできる。
【００６２】
[0074]  コンピューティング機器７００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの１つまたは複数の入力装置７１２も有することができる。ディスプレイ、スピーカ、プリンタなどの出力装置７１４も含めることができる。上述の装置は例であり、他の装置を使用してもよい。コンピューティング機器７００は、１つまたは複数の通信接続７１６を含むことにより、他のコンピューティング機器７１８との通信を可能にすることができる。適切な通信接続７１６の例には、これらに限定されないが、ＲＦ送信機、受信機、および／またはトランシーバ回路、ユニバーサルシリアルバス（USB）、パラレルポート、および／またはシリアルポートが含まれる。
【００６３】
[0075]  本明細書で使用される用語「コンピュータ読み取り可能媒体」は、コンピュータ記憶媒体を含んでよい。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、またはプログラムモジュールなどの情報を記憶するための方法または技術で実装された、揮発性および不揮発性、取り外し式および非取り外し式の媒体を含むことができる。システムメモリ７０４、取り外し式記憶装置７０９、および非取り外し式記憶装置７１０はすべてコンピュータ記憶媒体の例（すなわちメモリ記憶）である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、電気的に消去可能な読み出し専用メモリ（EEPROM）、フラッシュメモリ、もしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（DVD）、もしくは他の光学記憶、磁気カセット、磁気テープ、磁気ディスク記憶、もしくは他の磁気記憶装置、または情報を記憶するために使用することができ、コンピューティング機器７００によるアクセスが可能な他の製造品を含むことができる。そのようなコンピュータ記憶媒体はいずれもコンピューティング機器７００の一部となり得る。
【００６４】
[0076]  図８Ａおよび図８Ｂは、本発明の実施形態を実施することが可能なモバイルコンピューティング機器８００を示し、これは例えばモバイル電話１１０、スマートフォン１１０、タブレット型のパーソナルコンピュータ１０５、ラップトップコンピュータなどである。図８Ａを参照すると、本発明の実施形態を実装するためのモバイルコンピューティング機器８００の一実施形態が示される。基本の構成で、モバイルコンピューティング機器８００は、入力要素と出力要素の両方を有する手持ち型のコンピュータである。モバイルコンピューティング機器８００は通例、ディスプレイ８０５と、ユーザがモバイルコンピューティング機器８００に情報を入力することを可能にする１つまたは複数の入力ボタン８１０を備える。モバイルコンピューティング機器８００のディスプレイ８０５は入力装置としても機能する場合がある（例えばタッチ画面ディスプレイ）。含まれる場合には、任意選択の側面入力要素８１５でさらなるユーザ入力を行うことができる。側面入力要素８１５は、回転スイッチ、ボタン、または他の種の手動入力要素とすることができる。代替実施形態では、モバイルコンピューティング機器８００は、これよりも多い、または少ない入力要素を備えてもよい。例えば、ディスプレイ８０５は実施形態によってはタッチ画面でない場合もある。さらに別の代替実施形態では、モバイルコンピューティング機器８００は、セルラー電話などの携帯電話システムである。モバイルコンピューティング機器８００は任意選択のキーパッド８３５も備えることができる。任意選択のキーパッド８３５は、物理的なキーパッドである場合も、タッチ画面ディスプレイに生成される「ソフト」キーパッドである場合もある。各種実施形態で、出力要素には、グラフィカルユーザインターフェース（GUI）を表示するディスプレイ８０５、視覚表示器８２０（例えば発光ダイオード）、および／またはオーディオトランスデューサ８２５（例えばスピーカ）が含まれる。実施形態によっては、モバイルコンピューティング機器８００は、ユーザに触覚のフィードバックを提供するための振動トランスデューサを内蔵する。さらに別の実施形態では、モバイルコンピューティング機器８００は、外部機器との間で信号を送信または受信するためのオーディオ入力（例えばマイクロフォンジャック）、オーディオ出力（例えばヘッドフォンジャック）、および映像出力（例えばHDMIポート）などの入力ポートおよび／または出力ポートを内蔵する。
【００６５】
[0077]  図８Ｂは、モバイルコンピューティング機器の一実施形態のアーキテクチャを示すブロック図である。すなわち、モバイルコンピューティング機器８００は、一部の実施形態を実装するためのシステム（すなわちアーキテクチャ）８０２を組み込むことができる。一実施形態では、システム８０２は、１つまたは複数のアプリケーション（例えばブラウザ、電子メール、予定表、連絡先管理、メッセージングクライアント、ゲーム、およびメディアクライアント／プレーヤ）を実行することが可能な「スマートフォン」として実装される。実施形態によっては、システム８０２は、携帯情報端末（PDA）と無線電話を一体化した機器などのコンピューティング機器として統合される。
【００６６】
[0078]  １つまたは複数のアプリケーションプログラムをメモリ８６２にロードし、オペレーティングシステム８６４で実行するか、またはオペレーティングシステム８６４との関連で実行することができる。アプリケーションプログラムの例には、電話発信アプリケーション、電子メールアプリケーション、個人情報管理（PIM）アプリケーション、文書処理アプリケーション、スプレッドシートアプリケーション、インターネットブラウザアプリケーション、ノートアプリケーション、メッセージアプリケーションなどがある。システム８０２は、メモリ８６２内に不揮発性の記憶領域８６８も含む。不揮発性の記憶領域８６８を使用して、システム８０２の電源が切断された場合に失われてはならない永続的な情報を記憶することができる。アプリケーションプログラムは、電子メールアプリケーションに使用される電子メールや他のメッセージなど、不揮発性の記憶領域８６８の情報を使用し、不揮発性の記憶領域８６８に情報を記憶することができる。同期アプリケーション（図示せず）もシステム８０２に常駐し、ホストコンピュータに常駐する対応する同期アプリケーションとインタラクションして、不揮発性の記憶領域８６８に記憶されている情報を、ホストコンピュータに記憶されている対応する情報と同期された状態に保つようにプログラムされる。理解されるように、他のアプリケーションをメモリ８６２にロードし、モバイルコンピューティング機器８００で実行することもできる。
【００６７】
[0079]  システム８０２は電源８７０を有し、これを１つまたは複数のバッテリとして実装することができる。電源８７０はさらに、バッテリを補助または充電するＡＣアダプタや給電ドッキングクレードルなどの外部電力源も含む場合がある。
【００６８】
[0080]  システム８０２は、無線周波通信を送受信する機能を行う無線機８７２も含むことができる。無線機８７２は、通信事業者やサービスプロバイダを介して、システム８０２と「外界」との間の無線接続を容易にする。無線機８７２による送受信は、オペレーティングシステム８６４の制御下で行われる。つまり、無線機８７２に受信される通信は、オペレーティングシステム８６４を介してアプリケーションプログラムに伝達することができ、その逆も同様である。
【００６９】
[0081]  視覚表示器８２０は視覚的な通知を提供するために使用することができ、かつ／またはオーディオインターフェース８７４を使用してオーディオトランスデューサ８２５を介して可聴音による通知を生成することができる。図の実施形態では、視覚表示器８２０は発光ダイオード（LED）であり、オーディオトランスデューサ８２５はスピーカである。これらの機器は直接電源８７０に結合することができ、起動されると、プロセッサ８６０および他の構成要素がバッテリ電力を節約するために電源が落とされている場合でも、通知機構から指示された時間にわたって電源が入った状態を保つ。ＬＥＤは、ユーザが動作を行うまで無期限にオン状態を保って、機器の電源が入っている状態を示すようにプログラムすることができる。オーディオインターフェース８７４は、ユーザに可聴信号を提供し、ユーザから可聴信号を受け取るために使用される。例えば、オーディオトランスデューサ８２５に結合されるのに加えて、オーディオインターフェース８７４はマイクロフォンにも結合して、可聴入力を受け取り、それにより電話による会話を容易にすることなどができる。本発明の実施形態によると、マイクロフォンは、下記で説明するように通知の制御を助けるオーディオセンサの役割を果たすこともできる。システム８０２はさらに、内蔵カメラが静止画像、映像ストリームなどを記録する動作を可能にするビデオインターフェース８７６も含むことができる。
【００７０】
[0082]  システム８０２を実装するモバイルコンピューティング機器８００は、この他の機能または機能性を有する場合もある。例えば、モバイルコンピューティング機器８００は、磁気ディスク、光ディスク、またはテープなどの追加的なデータ記憶装置（取り外し式および／または非取り外し式）を含む場合もある。そのような追加的な記憶装置を図８Ｂでは不揮発性の記憶領域８６８で示している。
【００７１】
[0083]  モバイルコンピューティング機器８００によって生成または捕捉され、システム８０２を介して記憶されたデータ／情報は、上記のようにモバイルコンピューティング機器８００にローカルに記憶するか、またはデータは、無線機８７２を介して、もしくは、モバイルコンピューティング機器８００と、モバイルコンピューティング機器８００に関連付けられた別個のコンピューティング機器、例えばインターネットなどの分散コンピューティングネットワーク内のサーバコンピュータとの間の有線接続を介して、機器からアクセスできる任意数の記憶媒体に記憶することができる。理解されるように、そのようなデータ／情報には、無線機８７２を介して、または分散コンピューティングネットワークを介して、モバイルコンピューティング機器８００を通じてアクセスすることができる。同様に、そのようなデータ／情報は、電子メールや共同的なデータ／情報共有システムを含むよく知られるデータ／情報転送および記憶手段に従って、記憶および使用するためにコンピューティング機器間で容易に転送することができる。
【００７２】
[0084]  図９は、上記のようにウェブページコンテンツの利用マス目構造のスプレッドシートおよびキャンバス様のスプレッドシートの滑らかな使用を提供するシステムのアーキテクチャの一実施形態を示す。本発明の実施形態との関連で開発、インタラクション、または編集されたコンテンツは、種々の通信チャネルまたは他の記憶タイプに記憶することができる。例えば、各種文書および記憶されたコンテンツ項目は、ディレクトリサービス９２２、ウェブポータル９２４、メールボックスサービス９２６、インスタントメッセージストア９２８、またはソーシャルネットワーキングサイト９３０を使用して記憶することができる。本明細書に記載されるマス目構造のスプレッドシートおよびキャンバス様のスプレッドシートの機能では、それらの種類のシステムなどを使用して本明細書に記載されるようなデータの利用を実現することができる。サーバ１３５は、マス目構造のスプレッドシートおよびキャンバス様のスプレッドシート機能をクライアントに提供することができる。一例として、サーバ１３５は、マス目構造のスプレッドシートおよびキャンバス様のスプレッドシート機能をウェブを通じて提供するウェブサーバとすることができる。サーバ１３５は、マス目構造のスプレッドシートおよびキャンバス様のスプレッドシート機能の出力を、ネットワーク１３０を通じてウェブを介してクライアントに提供することができる。例として、クライアントコンピューティング機器は、パーソナルコンピュータ７００、タブレットコンピューティング機器１０５、および／もしくはモバイルコンピューティング機器１１０（例えばスマートフォン）、または他のコンピューティング機器として実装し、具現化することができる。クライアントコンピューティング機器７００、１０５、１１０、１２０、１２５のそのような実施形態のいずれでもストア９１６からコンテンツを取得することができる。
【００７３】
[0085]  本発明の実施形態は、上記では、例えば、本発明の実施形態による方法、システム、およびコンピュータプログラム製品のブロック図および／または動作の説明を参照して説明した。ブロックに記される機能／動作は、フローチャートに示される順序とは異なる順序で行われる場合もある。例えば、連続して示される２つのブロックが実際には実質的に並行して実行される場合もあり、または、関係する機能／動作によってはそれらのブロックは逆の順序で実行される場合もある。
【００７４】
[0086]  本願に提供される１つまたは複数の実施形態の説明および図示は、請求される本発明の範囲を決して制限または制約するものではない。本願に提供される実施形態、例、および詳細事項は、所有範囲を伝え、他人が請求される発明の最良の態様を作製し、使用できるようにするのに十分と考えられる。請求される本発明は、本願に提供されるどの実施形態、例、または詳細事項にも限定されるとは解釈すべきでない。様々な特徴が、組み合わせて図示および説明されるか、単独で図示および説明されるかに関係なく、各種特徴（構造的な特徴と方法論的な特徴の両方）は、選択的に包含または除外して特定の特徴の組を持つ実施形態を作り出すことが意図される。本願の説明および図示を得て、当業者は、請求される発明のより広い範囲から逸脱しない、本願で具現化される包括的な発明の概念のより広い態様の主旨に該当する変形形態、変更形態、および代替実施形態を想到することができよう。
【図１】
0006444391.tif 000002
【図２Ａ】
0006444391.tif 000003
【図２Ｂ】
0006444391.tif 000004
【図３Ａ】
0006444391.tif 000005
【図３Ｂ】
0006444391.tif 000006
【図４Ａ】
0006444391.tif 000007
【図４Ｂ】
0006444391.tif 000008
【図５Ａ】
0006444391.tif 000009
【図５Ｂ】
0006444391.tif 000010
【図６】
0006444391.tif 000011
【図７】
0006444391.tif 000012
【図８Ａ】
0006444391.tif 000013
【図８Ｂ】
0006444391.tif 000014
【図９】
0006444391.tif 000015