JP5255443B2 - スプレッドシート文書のパラメータの指定、セッティング、および発見 - Google Patents

スプレッドシート文書のパラメータの指定、セッティング、および発見 Download PDF

Info

Publication number
JP5255443B2
JP5255443B2 JP2008530243A JP2008530243A JP5255443B2 JP 5255443 B2 JP5255443 B2 JP 5255443B2 JP 2008530243 A JP2008530243 A JP 2008530243A JP 2008530243 A JP2008530243 A JP 2008530243A JP 5255443 B2 JP5255443 B2 JP 5255443B2
Authority
JP
Japan
Prior art keywords
spreadsheet
parameter
cell
list
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008530243A
Other languages
English (en)
Other versions
JP2009508237A (ja
Inventor
メギッド エラン
ワイ.パリシュ ダニエル
バッタギン ダニエル
エル.アーチャー ロバート
シン グレイウォル アマリンダー
フレデリック ロックウッド ジャスティン
ブーン ショーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009508237A publication Critical patent/JP2009508237A/ja
Application granted granted Critical
Publication of JP5255443B2 publication Critical patent/JP5255443B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、スプレッドシートまたはワークブックなどの文書のパラメータの指定、セッティング、および発見に関する。
MICROSOFT社のEXCELソフトウェアなどのスプレッドシートソフトウェアは、数の列が、予算、プラン、モデル、および他のタスクについて、たとえば合計され、乗算されるなど、数学的に操作される、ワークシートまたはワークブックとも時折呼ばれる紙のスプレッドシートをまねるように動作する。通常、スプレッドシートソフトウェアユーザインターフェースは、スクリーン上で行および列のマトリックスとして表示され、その交点は「セル」と呼ばれる。セルには、ラベル、数値、または式を記入することができる。ラベルは、「Rent(レンタル料)」および「Gross Sales(総売上)」などの説明テキストである。値は、実際の数値データであり、式は、スプレッドシートに、値に基づいて特定の計算を実行するように指令し、たとえば、式SUM CELLS A5 TO A10は、スプレッドシートソフトウェアに、列Aの行5から10までのセルを合計させることができる。式は、セルの相互関係を可能にし、作成が簡単である。たとえば、単にセルをポイントし、クリックし、次に、そのセルに影響する予定の任意の算術演算のキー(+、−など)を押すことができる。たとえば、式の作成は、「このセルの内容+このセルの内容/左側の次のセルの内容」とすることができる。
数が追加されるか変更された後に、式は、自動的にまたはたとえばキーの押下げによるユーザの開始指示時に、一般にデータを再計算する。これは、複数のセル全体を通じた再計算「リップル(ripple)」効果を生じる可能性がある。任意のセルの内容を、任意の他のセルを用いて計算するか、任意の他のセルにコピーすることができるので、1つの列の総計を、別の列の詳細アイテムとして使用することができる。たとえば、支出アイテムの列からの総計を、すべての支出を示す要約列に持ち越すことができる。詳細列の1つのセルの内容が変化する場合に、その列総計が変化し、これが要約列にコピーされ、要約総計が変化する。
銀行家、株式仲買人、エコノミストなどにとって強力なツールであるそのようなリップル効果は、ユーザが、プランまたはモデルを作成し、そのモデルに関する異なる仮定を入力し、すなわちパラメータ(もしこうなら?)」機能は、スプレッドシートを予算、プラン、および他の式ベースのタスクに欠くことのできないものにする。したがって、「what if?」機能は、ユーザが、経時的な銀行口座の価値増加など、数学モデルの、利率などの基礎になるパラメータを変更することを可能にする。「what if?」は、同様に、ユーザが、最初の銀行口座残高などの基礎になる事実、利子を複利にする式を伴うまたは伴わない利子の計算など、セルを相互に関係付ける式、および異なる数学的シナリオに対処するためにセルの名前さえ、変更することを可能にする。
したがって、現在、スプレッドシートのセルに関するすべての情報を、ユーザによって変更することができ、その結果、ユーザは、代替案が全体的モデルでどのように動作するかを知ることができるようになる。しかし、実際には、一般に、モデルがセットアップされたならば、そのモデルのある種の態様は、変更を対象としない。たとえば、ユーザが、上で説明した価値増加の例で、始めの銀行口座残高が2000ドルであり、その事実が変化しないことを知っている場合がある。したがって、そのような事実を変更できることは、スプレッドシートの不必要な機能であると思われる。同様に、スプレッドシート内のラベルを有するセルは、変更可能であるが、増加式計算の結果を変更しない、すなわち、ある列または値に「増加率」または「利率」のどちらのラベルが付けられているかは、基礎になる式に関係しない。したがって、現在のスプレッドシートモデルの下で、異なる仮定の下での微調整のためのパラメータとして意図されたセルと、変更不能な固定物として意図されたセルすなわちモデルの所与の部分との間で区別することは、むずかしいと思われる。
これは、問題のスプレッドシートの作成者にとっては大体問題がない。というのは、作成者は、一般に、どの関連するパラメータが微調整用であるかを覚えているからである。しかし、その作成に関係しない第三者のユーザが、スプレッドシートおよびそれが表すモデルを見るや否や、その第三者のユーザは、どのセルがパラメータとして意図され、どのセルがそうでないかを確かめるというむずかしい課題を経験しなければならなくなる。そのような第三者のユーザは、たとえば、2000ドルの最初の残高が、モデルの所与の部分であることを知らない場合がある。さらに、数学的モデルが、本明細書で与えた増加の例より自明でなくなるにつれて、モデルの作成者でさえ、文書のどの部分がパラメータであり、どの部分がそうでないかを記憶するのに困難を感じる場合がある。
したがって、現在、スプレッドシートのユーザは、スプレッドシートのセルをパラメータとして明示的に指定することができない。類似する理由から、ユーザは、スプレッドシートのどの部分がパラメータであるかを発見することができない。さらに、類似する理由から、ユーザは、パラメータを、パラメータとしてすなわち、モデルのうちでパラメータでない部分から区別して、変更しまたはセットすることができない。説明されたスプレッドシート文書のパラメータに関連するこれらの不足は、当技術分野で未対処のままである。
さらに、歴史的にスプレッドシートはスタンドアローンのアプリケーションであり、ユーザはローカルコンピュータにインストールされたスプレッドシートソフトウェアを実行するプロセッサを有するローカルコンピュータと同一位置にいた。上で説明したシナリオのいずれについても、そうである可能性はある。
しかし、インターネットの出現および急成長に伴って、コンピュータユーザは、ほぼ任意の位置からほぼすべての種類の電子文書に便利にアクセスすることに慣れてきた。具体的に言うと、ワールドワイドウェブ(「ウェブ」)およびウェブブラウザアプリケーションプログラムの増殖が、テキスト文書およびグラフィックス文書などの多数の種類の文書へのアクセスを非常に便利にした。ウェブブラウザアプリケーションプログラムを介して、ユーザは、追加ソフトウェアを一切必要とせずに、スプレッドシート文書を含む多数のタイプの電子文書にアクセスし、これらを見ることができる。
したがって、たとえば、ユーザは、ローカルマシンでスプレッドシート文書を作成し、そのスプレッドシート文書をサーバに「パブリッシュ」することができ、そのサーバから、すべての許可されたユーザが、そのスプレッドシート文書を、ウェブブラウザを介して見ることができる。ウェブブラウザ内でレンダリングされる時に、スプレッドシートは、スプレッドシートアプリケーションプログラムによって表示される時のスプレッドシートに実質的に似た形で表示される。しかし、現在、上で説明したクライアントアプリケーションの不足に似て、ユーザはやはり、ウェブブラウザで表示されるスプレッドシート文書を作成する時に任意のセルをパラメータとして指定することができない。類似する理由から、ユーザは、どのパラメータがスプレッドシートに適用されるかを発見できず、これらのパラメータをセットしまたは変更することができない。
したがって、現在、ユーザが、スプレッドシート内のモデルをロックダウンし、ある種のセルだけを編集可能にすることは、不可能である。これらのセルは実質上、変更できる「関数」パラメータである。スプレッドシートモデルは、1つまたは複数の関数を表す。現在、スプレッドシートをロックダウンし、ある種のセルだけを編集可能にする形があるが、これは、あるセルをスプレッドシートに対するパラメータとして明示的に指定する機構またはその機構にセルの移動およびワークブック変更を追跡させる機構がない、ユーザインターフェース(UI)駆動ロックダウンである。セルをパラメータとして指定する形がないので、スプレッドシートに対する使用可能パラメータについて照会するためにスプレッドシートを呼び出す形もない。さらに、既存スプレッドシートサーバ製品の場合に、セルを編集することは、まだ全く可能ではない。本明細書で説明するスプレッドシート機能性の上記および他の問題は、当技術分野で未対処の問題を残している。
前述を考慮して、スタンドアローンスプレッドシートアプリケーションおよび/またはウェブベースのスプレッドシートサービスに関して、本発明は、スプレッドシート文書のパラメータを指定し、発見し、セットする機能を提供する。さまざまな非限定的実施形態で、スプレッドシート文書を作成する時に、本発明は、スプレッドシートに対するパラメータとしてある種のセルまたはセルの範囲を指定する機能を提供する。さらに、スタンドアローンスプレッドシートアプリケーション内またはウェブサービスを介してのどちらで見られる場合であっても、本発明は、ユーザインターフェースまたはオブジェクトモデルを介してこれらのパラメータを発見する機能を提供する。さらに、これらのパラメータを一時に1つずつまたはバルクでセットしまたは変更し、その変更を計算モデルに追い込む機能をも提供する。したがって、スタンドアローンスプレッドシートアプリケーション内またはウェブサービスを介してのどちらで見られる場合であっても、ユーザによって入力されたパラメータの影響を、すぐに計算し、見ることができる。本発明は、パラメータなどのすべての関連する値が入手されるまで、ワークブックの再計算を保留する機能をもサポートする。
本発明の他の特徴は、下で説明される。
本発明によるスプレッドシート文書のパラメータの指定、発見、およびセッティングを、添付図面を参照してさらに説明する。
概要
上で述べたように、スタンドアローンスプレッドシートアプリケーションまたはウェブサーバスプレッドシートサービスのどちらに基づく場合であっても、現在、ユーザがスプレッドシート内のモデルをロックダウンし、パラメータを表すセルだけを編集可能にすることは、不可能である。スタンドアローンスプレッドシートアプリケーションを用いると、スプレッドシートをロックダウンし、ある種のセルだけを編集可能にする形があるが、そのような機能性は、パラメータとして指定されたパラメータを顧慮しないUI駆動である。スプレッドシートに対する使用可能パラメータについて照会するためにスプレッドシートを呼び出す形もない。さらに、スプレッドシート文書のレンダリングを可能にするウェブベースのスプレッドシートサーバの場合に、セルを編集することは、まだ全く可能ではない。したがって、本発明は、設計時にパラメータとしてスプレッドシートのある種のセルを指定し、その結果、文書がスタンドアローンアプリケーションまたはウェブベースのスプレッドシートサービスのいずれを介して見られる時でも、それぞれクライアントまたはサーバが、どのセルがパラメータであるかを発見でき、代替UIまたはオブジェクトモデル(OM)を提供でき、パラメータとして特に指定されたセルの値を編集できるようにする機能を提供する。
例示的なネットワーク化された環境および分散環境
これから図面を参照して、本発明のさまざまな態様を説明するが、図面では、類似する符号が類似する要素を表す。具体的に言うと、図1および対応する議論は、本発明の実施形態を実施できる適切なコンピューティング環境の短い全般的な説明を提供することを意図されたものである。本発明を、サーバおよびパーソナルコンピュータシステムで実行されるプログラムモジュールの全般的な文脈で説明するが、当業者は、本発明を他のタイプのコンピュータシステムおよびプログラムモジュールと組み合わせて実施することもできることを了解するであろう。
一般に、プログラムモジュールは、特定のタスクを実行するか特定の抽象データ型を実施する、ルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造を含む。さらに、当業者は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルなコンシューマエレクトロニクス、ミニコンピュータ、メインフレームコンピュータ、および類似物を含む他のコンピュータシステム構成と共に本発明を実践できることを了解するであろう。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、プログラムモジュールを、ローカルメモリストレージデバイスとリモートメモリストレージデバイスとの両方に配置することができる。
ここで図1を参照して、本発明のさまざまな実施形態で利用されるコンピュータ2の例示的なコンピュータアーキテクチャを説明する。図1に示されたコンピュータアーキテクチャは、中央処理装置5(「CPU」)と、ランダムアクセスメモリ9(「RAM」)および読取専用メモリ(「ROM」)11を含むシステムメモリ7と、メモリをCPU 5に結合するシステムバス12とを含む、通常のデスクトップコンピュータまたはラップトップコンピュータを示す。スタートアップ中などにコンピュータ内の要素の間で情報を転送するのを助ける基本ルーチンを含む基本入出力システムが、ROM 11に格納される。コンピュータ2は、さらに、オペレーティングシステム16、アプリケーションプログラム、および他のプログラムモジュールを格納するマスストレージデバイス14を含み、これらのプログラムは、下でより詳細に説明する。
マスストレージデバイス14は、バス12に接続されたマスストレージコントローラ(図示せず)を介してCPU 5に接続される。マスストレージデバイス14およびそれに関連するコンピュータ可読媒体は、コンピュータ2の不揮発性ストレージを提供する。本明細書に含まれるコンピュータ可読媒体の説明は、ハードディスクまたはCD−ROMドライブなどのマスストレージデバイスに言及するが、当業者は、コンピュータ可読媒体をコンピュータ2によってアクセスできる任意の使用可能な媒体とすることができることを了解するに違いない。
限定ではなく例として、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含むことができる。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報のストレージの任意の方法またはテクノロジで実施された、揮発性および不揮発性の、リムーバブルおよびノンリムーバブルの媒体を含む。コンピュータストレージ媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリ、または他のソリッドステートメモリテクノロジ、CD−ROM、ディジタル多用途ディスク(「DVD」)、または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは、所望の情報を格納するのに使用でき、コンピュータ2によってアクセスできる任意の他の媒体を含むが、これらに限定はされない。
本発明のさまざまな実施形態によれば、コンピュータ2は、インターネットなどのネットワーク18を介するリモートコンピュータへの論理接続を使用することによって、ネットワーク化された環境で動作することができる。コンピュータ2は、バス12に接続されたネットワークインターフェースユニット20を介してネットワーク18に接続することができる。ネットワークインターフェースユニット20を利用して、他のタイプのネットワークおよびリモートコンピュータシステムに接続することもできることを了解されたい。コンピュータ2は、キーボード、マウス、または電子スタイラス(図1には図示せず)を含む複数の他のデバイスから入力を受け取り、処理する入出力コントローラ22をも含むことができる。同様に、入出力コントローラ22は、ディスプレイスクリーン、プリンタ、または他のタイプの出力デバイスに出力を供給することができる。
上で短く述べたように、ネットワーク化されたパーソナルコンピュータの動作を制御するのに適切なオペレーティングシステム16を含む複数のプログラムモジュールおよびデータファイルを、コンピュータ2のマスストレージデバイス14およびRAM 9に格納することができる。マスストレージデバイス14およびRAM 9は、1つまたは複数のプログラムモジュールを格納することもできる。具体的に言うと、マスストレージデバイス14およびRAM 9は、ウェブブラウザアプリケーションプログラム10を格納することができる。当業者に既知の通り、ウェブブラウザアプリケーションプログラム10は、HTMLを使用してフォーマットされたウェブページ24などの電子文書を要求し、受信し、レンダリングし、これとの対話機能を提供するように動作する。さらに、ウェブブラウザアプリケーションプログラム10は、SUN MICROSYSTEMS,INC.社のJAVA(登録商標) SCRIPT言語を利用して表現されたスクリプトなど、ウェブページ24に含まれるスクリプトを実行するように動作することができる。本発明の一実施形態によれば、ウェブブラウザアプリケーションプログラム10は、MICROSOFT CORPORATION社のINTERNET EXPLORERウェブブラウザアプリケーションプログラムを含む。しかし、MOZILLA FOUNDATIONのFIREFOXウェブブラウザアプリケーションなど、他の製造業者からの他のウェブブラウザアプリケーションプログラムを利用して、本発明のさまざまな態様を実施できることを了解されたい。
下でより詳細に説明するように、ウェブページ24は、スプレッドシート文書の表示可能表現を含むことができる。具体的に言うと、ウェブページ24は、ウェブブラウザアプリケーション10によって表示された時にスプレッドシートのビジュアルディスプレイを提供するHTMLおよびスクリプトを含むことができる。さらに、ウェブページ24に含まれるスクリプトは、コンピュータのユーザが、ウェブブラウザアプリケーション10によって提供されるディスプレイと対話し、スプレッドシートを変更することを可能にする。ウェブブラウザアプリケーション10によって提供されるビジュアルディスプレイから、ユーザは、ネイティブスプレッドシートファイルをスプレッドシートアプリケーションプログラム26内で開くことを要求することを許可されることもできる。そのような要求に応答して、スプレッドシートアプリケーション26が、起動され、ウェブページ24によって表現されるスプレッドシートに対応するネイティブスプレッドシートファイルが、スプレッドシートアプリケーションプログラム26によってロードされる。スプレッドシートアプリケーションプログラム26は、MICROSOFT CORPORATION社のEXCELスプレッドシートアプリケーションプログラムまたは別の製造業者の別のスプレッドシートアプリケーションプログラムを含むことができる。ウェブブラウザアプリケーション10のコンテキスト内からスプレッドシートを見、これと対話するためのプロセスに関する追加の詳細を、これから図2に関して提供する。
これから図2を参照して、本発明のさまざまな実施形態の動作環境を示すネットワークアーキテクチャ図を説明する。図2に示されているように、コンピュータ2は、ネットワーク18に接続される。ネットワーク18には、アプリケーションサーバ30も接続される。アプリケーションサーバ30は、図1に関して上で説明した従来のコンピューティングコンポーネントの一部またはすべてを含むことができるサーバコンピュータを含む。さらに、アプリケーションサーバ30は、アプリケーションサーバ30に格納されるかアプリケーションサーバ30からアクセス可能な文書に関する要求を受信し、これに応答するウェブサーバアプリケーションを実行するように動作可能である。さらに、アプリケーションサーバ30は、ウェブアプリケーション34によって生成されたページに関する要求を受信し、これに応答するように動作可能である。ウェブアプリケーション34が、アプリケーションサーバ30で実行可能なコード、他のコンピュータと通信する実行可能コードを含むことができ、テンプレート、グラフィックス、オーディオファイル、および当業者に既知の他の内容を含むことができることを了解されたい。
本発明の一態様によれば、ウェブアプリケーション34は、ネットワーク18を介してアクセス可能なスプレッドシートまたはワークブックと対話するためのインターフェースをコンピュータ2のユーザに提供するように動作可能である。具体的に言うと、ウェブアプリケーション34は、サーバアプリケーションプログラミングインターフェース(「API」)38を利用する。本発明のこの実施形態によれば、サーバAPI 38は、スプレッドシート計算サーバ32との通信を可能にするように動作可能である。スプレッドシート計算サーバ32は、スプレッドシート計算サーバプログラム40を実行するように動作可能である。スプレッドシート計算サーバプログラム40は、データベース42に格納されたワークブック44などのスプレッドシートを取り出し、計算する実行可能プログラムを含む。本明細書で説明する本発明の実施形態では、スプレッドシート計算サーバプログラム40が、MICROSOFT CORPORATION社のEXCEL CALCULATION SERVERプログラムなどの計算サーバ(本明細書の他所では省略して「CS」)を含むことを了解されたい。しかし、サーバコンピュータ上でスプレッドシートを計算する他のプログラムを利用することができる。計算サーバ32が、図1に関して上で述べた従来のハードウェアコンポーネントおよびソフトウェアコンポーネントの多数を含むことができることをも了解されたい。
下でより詳細に述べるように、コンピュータ2は、ウェブブラウザアプリケーション10のコンテキスト内でワークブック44を見るために、要求をアプリケーションサーバ30に送信することができる。そのような要求に応答して、ウェブアプリケーション34は、サーバAPI 38を介して計算サーバ32と通信する。具体的に言うと、ウェブアプリケーション34は、適当なワークブック44を計算サーバ32に要求する。下でより詳細に述べるように、そのような要求に応答して、計算サーバプログラム40は、ワークブック44を取り出し、そのワークブック44を、XMLベースの文書フォーマットなどのスプレッドシート文書フォーマットに変換する。当業者に既知の通り、XMLベースのフォーマットは、スプレッドシートの内容を表現するマークアップ言語スキーマを含む。スプレッドシート計算サーバプログラム40が、要求されたワークブック44をスプレッドシート文書フォーマットに変換したならば、スプレッドシート文書フォーマットのファイルが、ウェブアプリケーション34に返される。
ウェブアプリケーション34が、ワークブック44のスプレッドシート文書フォーマット表現を計算サーバ32から受信したならば、アプリケーションサーバ30は、スプレッドシートウェブレンダラ36を利用して、フォーマットされたスプレッドシートを、ウェブブラウザアプリケーション10によってレンダリングできるスプレッドシートの表現に変換する。具体的に言うと、スプレッドシートウェブレンダラ36は、フォーマットされた文書を、スプレッドシートを表示するためにウェブブラウザアプリケーション10によってレンダリングできるHTMLを含む文書に変換する。さらに、本発明の実施形態によれば、スプレッドシートウェブレンダラ36は、ウェブブラウザアプリケーション10によってレンダリングされた時に、同一のワークブック44を見るのに利用される時のスプレッドシートアプリケーション26の出力に実質的に似て見えるHTMLを出力することができる。スプレッドシートウェブレンダラ36が、ファイルのレンダリングを完了したならば、そのレンダリングが、アプリケーションサーバ30によってコンピュータ2に返され、コンピュータ2では、そのレンダリングを、ウェブブラウザアプリケーション10によってレンダリングすることができる。
やはり下でより詳細に述べるように、スプレッドシートウェブレンダラ36は、コンピュータ2のユーザがウェブブラウザアプリケーション10のコンテキスト内でスプレッドシートと対話することを可能にするために1つまたは複数のスクリプトをマークアップ言語ファイルにレンダリングするように動作可能とすることもできる。この機能性を提供するために、スプレッドシートウェブレンダラ36は、ウェブブラウザアプリケーション10によって実行可能なスクリプトコードを、返されるウェブページにレンダリングするように動作可能である。このスクリプトは、たとえば、ユーザが、スプレッドシートのより大きい部分を見ること、スプレッドシート内に含まれるピボットテーブルを変更すること、スプレッドシートアプリケーション26内にスプレッドシートのネイティブバージョンをロードすること、および他の機能を実行することを可能にする機能性を提供することができる。
ウェブブラウザアプリケーション10のコンテキスト内でスプレッドシートとの対話機能を提供するために、ウェブブラウザアプリケーション10は、ユーザ入力を受け取る。ある種のタイプのユーザ入力に応答して、スクリプトを実行することができる。スクリプトが実行される時に、作用されるスプレッドシート内の要素を示す応答をアプリケーションサーバ30に送信して、行われた対話のタイプを識別し、適当な要素に対して実行されなければならない機能をウェブアプリケーション34に対してさらに識別することができる。そのような要求の受信に応答して、ウェブアプリケーションは、更新されたワークブック44に関する追加要求を計算サーバ32に対して行うことができる。これに応答して、スプレッドシート計算サーバプログラム40は、ユーザアクションを考慮してワークブック44を再計算し、更新されたワークブックのスプレッドシート文書フォーマットの表現をウェブアプリケーション34に供給することができる。次に、スプレッドシートウェブレンダラ36は、更新されたワークブックを、ウェブブラウザアプリケーション10によってレンダリング可能なフォーマットにレンダリングするように動作可能である。次に、ウェブアプリケーション34は、更新されたスプレッドシートをコンピュータ2に送信するように動作可能であり、このコンピュータ2で、その更新されたスプレッドシートを、ウェブブラウザアプリケーション10によってレンダリングすることができる。このプロセスは、ユーザがウェブブラウザアプリケーション10のコンテキスト内からスプレッドシートと対話する時に、何回でも繰り返すことができる。ユーザが、ウェブブラウザアプリケーション10内でのスプレッドシートの編集を終了した時に、スプレッドシートに対して行われたすべての変更を、ウェブアプリケーション34および計算サーバ32のうちの任意の1つまたは複数を介して、データベース42に格納されたワークブック44に伝搬することができる。ワークブックパラメータの指定、発見、およびセッティングの例示的実施態様を含むこれらのさまざまなプロセスに関する追加の詳細を、下で提供する。
スプレッドシート文書パラメータの指定、発見、およびセッティング
これから図3Aおよび3Bを参照して、ウェブブラウザアプリケーションプログラムのコンテキスト内からのスプレッドシートの表示および対話のプロセスを示す例示的なルーチン300を説明する。本明細書で説明する本発明の実施形態が、ウェブブラウザアプリケーションプログラムのコンテキストで提示されるが、本発明を、マークアップ言語文書のレンダリングをサポートする他のタイプのアプリケーションプログラムで利用できることを了解されたい。たとえば、本明細書で説明する本発明の実施形態を、専用アプリケーションプログラムを必要とせずに文書のレンダリングおよびその文書との対話を可能にするために、パーソナルインフォメーションマネージャアプリケーションプログラム、プレゼンテーションアプリケーションプログラム、ドローイングまたはコンピュータ支援設計アプリケーションプログラム、あるいはデータベースアプリケーションプログラム内で利用することができる。
本明細書で提示されるルーチンの議論を読む時には、本発明のさまざまな実施形態の論理動作が、(1)コンピュータ実施される行為のシーケンスすなわちコンピューティングシステムで動作するプログラムモジュールとして、および/または(2)コンピューティングシステム内の相互接続された機械論理回路または回路モジュールとして実施されることを了解されたい。実施態様は、本発明を実施するコンピューティングシステムの性能要件に依存する選択の問題である。したがって、図3および6に示され、本明細書で説明する本発明の実施形態を構成する論理動作は、動作、構造的デバイス、行為、またはモジュールとして、さまざまに言及される。当業者は、これらの動作、構造的デバイス、行為、およびモジュールを、添付の特許請求の範囲に記載された本発明の趣旨および範囲から逸脱せずに、ソフトウェアで、ファームウェアで、特殊目的ディジタルロジックで、およびその任意の組合せで実施できることを了解するであろう。
ルーチン300は、動作302で開始され、ここで、クライアントコンピュータ2が、ワークブック44に関する要求をアプリケーションサーバ30に送信する。この要求は、ユーザが、ウェブブラウザアプリケーション10を介して、ウェブブラウザアプリケーション10内で見、編集するためにワークブック44を開くことを要求することに応答して、コンピュータ2によって送信することができる。アプリケーションサーバ30が、ユーザが使用可能なワークブックを見ることと、見、編集するためにワークブックのうちの1つを選択することとを可能にするウェブベースのインターフェース30を提供することができることを了解されたい。
動作302から、ルーチン300は、動作304に継続し、ここで、アプリケーションサーバ30は、ワークブック44に関する要求を計算サーバ32に送信する。具体的に言うと、ウェブアプリケーション34は、サーバAPI 38を利用して、スプレッドシート計算サーバプログラム40と通信することができる。この通信パスを介して、ワークブック44に関する要求を行うことができる。
動作304から、ルーチン300は、動作306に継続し、ここで、スプレッドシート計算サーバプログラム40が、要求されたワークブック44をデータベース42から取り出す。次に、スプレッドシート計算サーバプログラム40は、動作308で、ワークブック44の内容を計算する。計算動作308には、ワークブック44を再計算する時にスプレッドシートアプリケーション26によって実行される計算に似た計算を含めることができる。
計算サーバ32が、ワークブック44を計算し終えたならば、スプレッドシート計算サーバプログラム40は、計算されたワークブックを、XMLベースのフォーマットなど、適当なフォーマットに変換するように動作可能でもある。XMLフォーマットまたはマークアップベースのフォーマットは、スプレッドシートの内容を記述するマークアップ言語スキーマを含む。本発明の諸態様によれば、ワークブック44の一部だけがXMLフォーマットに変換されることを了解されたい。これは、スプレッドシートの表示可能部分だけをコンピュータ2に返すことを可能にする。追加部分は、ウェブページ24によって提供されるインターフェースを介して要求することができる。代替案では、ワークブック44全体をXMLフォーマットに変換し、アプリケーションサーバ30に返すことができる。
動作312で、計算サーバ32は、XMLフォーマットされたワークブックを用いて、アプリケーションサーバ30からの要求に応答する。次に、ルーチン300は、動作314に継続し、ここで、アプリケーションサーバ30で実行されるスプレッドシートウェブレンダラ36が、XMLフォーマットされたワークブックを、ウェブブラウザアプリケーション10によってレンダリングでき、表示できるフォーマットに変換する。具体的に言うと、スプレッドシートウェブレンダラ36は、XMLワークブックを、HTMLとスクリプトとの両方を含むウェブページ24に変換する。HTMLは、ウェブブラウザ10によって、要求されたワークブック44の内容を表示するのに利用される。スクリプトは、ウェブブラウザアプリケーション10によって、ユーザがウェブブラウザアプリケーション10のコンテキスト内でスプレッドシートのレンダリングされたバージョンと対話することを可能にするのに利用される。
動作314から、ルーチン300は、動作316に継続し、ここで、アプリケーションサーバが、ワークブック44に関するコンピュータ2からのオリジナルの要求に応答する。具体的に言うと、アプリケーションサーバ30は、ウェブブラウザアプリケーション10のコンテキスト内でワークブック44を見、これと対話するのに必要なHTMLおよびスクリプトを含むウェブページ24をコンピュータ2に送信する。
コンピュータ2が、ウェブページ24を受信したならば、ウェブブラウザアプリケーション10は、ウェブページ24の内容をレンダリングするように動作可能である。具体的に言うと、HTMLは、同一のワークブック44がスプレッドシートアプリケーション26を利用して開かれた場合にスプレッドシートアプリケーション26によって提供されるものに実質的に似たワークブック44のビューを提供するためにレンダリングされる。さらに、ウェブブラウザアプリケーション10は、スクリプトをレンダリングするように動作可能であり、その結果、コンピュータ2のユーザは、ウェブブラウザアプリケーション10のコンテキスト内でスプレッドシートと対話できるようになる。
ここで図3Bに移って、ユーザがウェブブラウザアプリケーション10のコンテキスト内でレンダリングされたワークブックと対話することを可能にする本発明のさまざまな態様を示す例示的なルーチン320を説明する。ルーチン320は、動作322で開始され、ここで、ウェブページを表示するのに必要なHTMLおよびユーザがスプレッドシートと対話することを可能にするのに必要なスクリプトを含むウェブページ24の内容をレンダリングする。次に、ルーチン320は、動作324に継続し、ここで、ウェブブラウザアプリケーション10が、表示されたスプレッドシートと対話するユーザ入力を受け取る。たとえば、ウェブブラウザアプリケーション10は、ピボットテーブルの内容を変更するユーザ入力、表示されたワークブック内の別のスプレッドシートを要求するユーザ入力、スプレッドシートに対するすべての変更を保存するユーザ入力、または他の機能を実行するユーザ入力を受け取ることができる。1つまたは複数のスクリプトをウェブブラウザアプリケーション10によって実行して、入力を受け取り、対話を実行させるのに必要なアプリケーションサーバ30との通信を実行できることを了解されたい。
動作324でユーザから入力を受け取ったならば、適当なスクリプトが、動作326で、ユーザによって行われた特定のアクションを識別するデータをアプリケーションサーバ30に送信する。動作328で、アプリケーションサーバ30は、ユーザによって行われた特定のアクションを判定する。要求されたアクションが識別されたならば、アプリケーションサーバ30は、その特定のアクションが特定のワークブックに対して行われることを要求するコマンドを計算サーバ32に送信する。上で述べたように、アプリケーションサーバ30は、サーバAPI 38を介して計算サーバ32と通信する。
現在のワークブックに対してコマンドを実行する要求をアプリケーションサーバ30から受信したことに応答して、スプレッドシート計算サーバプログラム40は、要求されたアクションをワークブック44に対して実行する。たとえば、ユーザが、ピボットテーブル内の要素を再配置することを要求した場合に、スプレッドシート計算サーバ40は、それらの要素の実際の再配置を実行する。アクションが実行されたならば、スプレッドシート計算サーバプログラム40は、動作332でワークブックを再計算する。再計算されたワークブックは、ウェブブラウザアプリケーション10を介して現在開かれているワークブックに対してユーザによって行われた変更を反映する。
ワークブック44が再計算されたならば、334で、計算サーバ32は、再計算されたワークブックをXMLフォーマットに変換する。このプロセスは、上で図3Aを参照して説明した。再計算されたワークブックがXMLフォーマットに変換されたならば、再計算されたワークブックが、計算サーバ32からアプリケーションサーバ30に送信される。アプリケーションサーバ30では、スプレッドシートウェブレンダラ36が、再計算されたスプレッドシートのXMLバージョンを、ウェブブラウザアプリケーション10によってレンダリング可能なフォーマットに変換する。次に、再計算されたスプレッドシートのレンダリング可能なバージョンが、ウェブブラウザアプリケーション10に送信され、ウェブブラウザアプリケーション10で、そのレンダリング可能なバージョンをレンダリングし、ユーザに表示することができる。このプロセスは、上で図3Aおよび動作312〜318に関して説明した。本発明に従ってワークブックパラメータを指定し、セットし、編集し、発見するプロセスの例示的で非限定的な実施態様の詳細を、これから、下でより詳細に説明する。
ワークブックパラメータの指定、セッティング、編集、および発見
上で説明したように、本発明によれば、ワークブック作成者は、セルおよび/またはフィルタを編集可能パラメータとして指定することができる。次に、サーバ、たとえば、とりわけウェブブラウザを介する表示のためにスプレッドシート文書をレンダリングするスプレッドシートアプリケーションサーバは、ユーザインターフェース(UI)およびウェブサービスアプリケーションプログラミングインターフェース(API)を介して編集可能パラメータを公開することができる。本発明の一態様では、スプレッドシートクライアントを使用して、パラメータとしてのセルおよびフィルタの指定を可能にすることによってワークブックパラメータに関する経験を作成することができる。
背景技術で述べたように、現在のアプリケーションサーバは、セル値のインライン編集を可能にしないが、セル値の特定のサブセットを変更する機能が効果的である多数のカスタマシナリオがある。これには、たとえば、単純で明確に定義された計算モデル(たとえば、モーゲージカリキュレータ)およびwhat−if分析(たとえば、年収の年単位の増加率の変更)が含まれる。そのような特徴は、アプリケーションサーバウェブレンダリング経験の一部として値を変更することを望むエンドユーザと、特定のパラメータ値を発見し、取り出し、セット/編集するためのウェブサービスAPIとの両方によって使用することができる。
本発明によるスプレッドシートクライアントアプリケーションは、どのセルがパラメータであるかを指定する形(1つまたは複数)をユーザに与える。ユーザは、どのセルがパラメータであるかを発見することができ、対応するセルを編集することができる。本発明の一実施形態では、サーバだけが、パラメータを公開する(クライアントのパラメータ指定機能性は、サーバにワークブックをパブリッシュすることの一部になる)が、本発明は、スプレッドシートクライアントアプリケーションも、パラメータを公開する、すなわちパラメータの発見、検索、およびセッティングを可能にする代替実施形態を企図している。
本明細書で説明されるのは、ワークブック作成者がスプレッドシートクライアントでのパラメータとして特定のセルを指定することを可能にする技法である。アプリケーションサーバは、UIまたはOMのいずれかを介するこれらのセルの値の変更をサポートする。そのような機能性を、スプレッドシートクライアントによってサポートすることもできる。
当業者が了解できるとおり、ユーザにパラメータを公開するさまざまな形がある。たとえば、1つの例示的な非限定的実施形態で、ダッシュボードを利用することができる。たとえば、ビジネスインテリジェンス(BI)ダッシュボードなどの現在のダッシュボードは、さまざまなデータレンダリングウェブパーツ(たとえば、SQL Server Reporting ServicesからのOffice Web Components(OWC))を使用して作成され、すべての異なるデータビューを同期してフィルタリングすることが望ましい。これは、すべてのウェブパーツを単一の「パラメータ」値にリンクすることによって達成することができる。
したがって、スプレッドシートワークブックを、本発明に従ってこれらのダッシュボードに組み込むことができ、その結果、ワークブックは、類似するページレベルのフィルタおよびパラメータを追い払えるようになり、それぞれが例示的であり非限定的な次のシナリオが可能になる。(1)ある種のセルをパラメータとして定義する、スプレッドシートクライアント内のUIおよびOMをエンドユーザに提供し、(2)スプレッドシートファイル内でパラメータ情報を永続させ、その結果、アプリケーションサーバが、UIおよびウェブサービスAPIを介してパラメータを公開できるようにし、(3)特徴がスプレッドシートクライアント/サーバシナリオ向けであることをエンドユーザに明らかにするために特徴UIおよびエントリポイントを設計し、(4)システムの諸部分の間での適当な通信に従うことを介してワークブックパラメータを駆動するためのフィルタ(またはスライサ)ウェブパーツを使用することによってBIダッシュボードを作成することを含むアプリケーションサーバシナリオを可能にする。したがって、一態様で、本発明は、パラメータに値を与えるスライサコントロールを提供する。
たとえば、ある会社が、データを収集し、製造業者、ウォール街のアナリスト、仲買人、および小売業者のPoint of Saleデータに基づくスプレッドシートレポートを作成し、これらのレポートが、HTMLファイルとしてウェブを介して配布されると仮定する。HTMLファイルとして、これらのレポートは、完全に静的であり、データをフィルタリングする形、またはビジネス上の質問に対する回答を見つけるためにレポート内のデータを探査する形はない。これらの理由から、その会社は、そのクライアントがほとんどすべての想像できるレポートを求める場合にもそのレポートが入手可能になるようにするために、クライアントのためにこれらのレポートを百万件以上生成する。これの結果は、これらの会社が生成するレポートの3〜5%だけが、一貫した基礎で使用され、これらの会社が予想しない些細な変更が必要な時に、アナリストが、新しいレポートを手動で作成し、実行しなければならない(高価で時間のかかるプロセス)ことである。
本発明のアプリケーションサーバおよびスプレッドシートウェブパーツを用いると、そのような会社は、クライアントのために生成するレポートの数を大幅に減らすことができ、これは、会社の金を節約すると同時に、クライアントが、彼らが探している情報を見つけるのをより簡単にする。クライアントが求める可能性がある考えられるレポートのすべてを作成するのではなく、本発明を用いると、会社は、正しいデータソースからのデータをサーバ上のスプレッドシートワークブックに引き出す、レポートのベースセットを作成できるようになる。これらのレポートは、現在の多数のレポート(「過去1年間売上NW」、「SW」、「NE」、「SE」、「製品別」、「製品別NW」、「製品別NE」、「製品別SW」、「製品別SE」など)ではなく、クライアントがより簡単に理解できる「過去1年間の売上」などのベースレポートになる。単純なパラメータ化を用いて、クライアントは、彼らが最も関心を持つ情報を見るために、これらのレポートをカスタマイズし、さまざまな次元でフィルタリングできるようになる。さらに、クライアントが、特定のレポートのドリルダウンまたは特定の製品系列の「トップ10」を見たい場合に、そのクライアントは、既存のレポート内で即座にそれを行うことができ、新しいレポートを会社が生成することを要求する必要はない。
本発明のもう1つの例示的な使用について、Johnは、彼の上層経営陣のために週次売上レポートを作成する。今日、Johnは、外部データへの接続を有するワークブックを有し、彼は毎週データをリフレッシュし、その後、数人が、彼らが働くさまざまな領域についてフィルタリングされたワークブックのスナップショットをとる。次に、Johnは、これらのイメージを電子メールに貼り付け、要約メールを経営陣に送信する。
しかし、本発明のスプレッドシートソフトウェアをインストールした後に、Johnは、彼のワークブックをリワークして、以前より読みやすくする。Johnは、彼のワークブックの最上部に地域を述べる単一のセルをも有する。スプレッドシートサーバへのパブリッシュ行為中に、Johnは、パラメータになるようにある種のセルをセットし、地域セルをワークブックパラメータとしてセットすると決断する。このワークブックがアプリケーションサーバにロードされる時に、彼の経営陣は、編集可能な地域フィールドを含む新しいタスクペインが表示されるのを見る。経営者は、異なる領域を入力し、Apply(適用)をクリックし、入力した領域について更新されたデータおよびワークブックを見ることができる。
もう1つの例として、Samanthaは、彼女の組織の上級副社長のためにダッシュボードを作成しつつあり、そのダッシュボードが、単一の管理しやすいフィルタコントロールからすべてが作成される、主要業績評価指標(KPI)、グラフ、およびデータのシートを表示することを望む。Samanthaは、複数のアプリケーションサーバ、いくつかのKPI、および1つのフィルタ(スライサ)コントロールを用いるページをセットアップする。次に、Samanthaは、プロジェクト名のフィルタ値をページ上のさまざまな部分に追いやるように、フィルタコントロールを調べ、割り当てる。これは、経営者が、異なるプロジェクトによってフィルタリングし、ダッシュボード上のすべての部分がそれに従って更新されるのを見ることを可能にする。
1つの非限定的実施形態で、セルのサブセットだけを、パラメータになるように選択することができる。それらがどのように選択されるか、いつどこに使用可能パラメータのリストが格納されるか、およびパラメータ特徴に関連するOMを、下でより詳細に説明する。
一実施形態で、ユーザが文書をパブリッシュすることによって決定されるダイアログ内で、ワークブックパラメータを指定するUIは、次の2つのダイアログすなわち、ワークブック内の既存の定義済みパラメータを示すダイアログと、パラメータについて選択すべき使用可能な名前参照のリストを有するダイアログと(すべてのセルをパラメータとして選択することができない場合には、上で述べたように、こうである必要はない)を含む。
このダイアログは、サーバのパブリッシュ/管理セッティングダイアログの一部として開始され、タブ付きダイアログ、既存のソートダイアログ(順序付け機能を有する)など、任意の適切な形式とすることができる。
入力時に、現在のワークブックで定義されている現在のパラメータが、リストにロードされる。現在のワークブックで定義されているパラメータがない場合には、リストは空である。どちらの場合でも、パラメータは、このダイアログに最初に入る時に、リスト内で選択されていない。
1つの例示的な非限定的実施態様で、パラメータリストは、(A)Name(名前) とられるパラメータの名前(デフォルトで、リストをNameによって昇順(A〜Z)でソートすることができる)、(B)Value(値) ストリング定数、名前が参照する現在の値、またはエラーコードを返す、(C)Comment(コメント) Nameに関連するすべてのコメント、および(D)Refers to(〜を参照する) このパラメータがそれに基づくNameが現在参照するもの、のうちのいずれか1つまたは複数を含む。
1つの非限定的実施形態で、パラメータリストは、標準リストコントロールのように機能する。たとえば、パラメータ(行内のどこか)をシングルクリックすることによってリスト内の1つまたは複数のパラメータを選択することが可能であり、マウスおよびキーボードを用いる通常のリストコントロール挙動に似て、複数選択が使用可能である。たとえば、あるパラメータを選択することができ(たとえば、マウスポインタまたは矢印キーを用いて)、パラメータを、既に選択されている任意の他のパラメータに加えて選択することができ、パラメータを、既に選択されている任意の他のパラメータおよび選択物と以前の選択との間のパラメータに加えて選択することができ、複数のパラメータを、マウスポインタによるクリックドラッグによって選択することができる。
もう1つの非限定的実施形態で、「Add(追加)」ボタンまたは機能は、少なくとも1つの有効な名前があるかどうかを確かめ、パラメータ追加ダイアログを起動し、「Delete(削除)」ボタンは、ユーザが以前に追加された1つまたは複数のパラメータを削除することを可能にする。同様に、1つまたは複数のパラメータが選択されている時に「Delete」ボタンを押すと、これらのパラメータの削除が開始される(リストから、およびファイルの保存時に)。パラメータ追加ダイアログからリターンする時に、1つの例示的な非限定的実施形態では、チェックマークを付けられたパラメータが、パラメータ追加ダイアログに表示されたのと同一の順序に従ってソートされて、リストの最下部にある。
1つの例示的な非限定的実施形態では、ユーザは、上下の矢印ボタンを使用することによってパラメータを順序付けることができ、もう1つの例示的な非限定的実施形態では、順序付けパラメータの手段としてパラメータを実施できる場合にドラッグアンドドロップによってパラメータを順序付けることができる。
パラメータの格納に関して、指定されたパラメータを格納し、ワークブックに関連付ける任意の従来の既知の手段を利用することができる。例示的な非限定的実施態様について、ワークブックパラメータを、隠し文書プロパティなどの文書プロパティ内および/またはワークブックファイル内に格納することができる。前者は、アプリケーションサーバによるパラメータの簡単な抽出を可能にし、スライサコントロールおよび追加の解決策を用いるダッシュボードのセットアップのためのすばやい取出しを可能にする。ワークブックパラメータを、ファイルを保存するかパブリッシュする時に格納することができる。
1つの例示的な非限定的実施形態では、各パラメータのために格納される情報は、ユーザごとに入力された情報と同一であるが、追加の情報を格納することもできる、すなわち、パラメータストレージフォーマットは、本発明に従って拡張可能である。次のプロパティを、パラメータごとに格納することもできる:定義されたName、および名前がアプリケーションサーバUIまたはOMに表示される順序。
例示的な非限定的実施形態では、ワークブックレベルでのServerParametersのServerParametersコレクションは、表Iからの次のものを含むことができ、ServerParameterオブジェクトは、下の表IIのメンバを含むことができる。
Figure 0005255443
Figure 0005255443
アプリケーションサーバを介するセルの内容の編集
このセクションでは、SharePoint Portal Server(SPS)フィルタまたはアプリケーションサーバ自体のワークブックパラメータタスクペインのいずれかを介する、アプリケーションサーバを介してセルの内容を編集するユーザの能力を全般的に説明する。しかし、当業者は、セルの内容を編集する代替の既知の機構を、本発明に従って使用できることと、次の実施態様詳細が、例示のために提示されることとを了解することができる。
ある背景のために、SPSは、スプレッドシートサーバによって実行されるいくつかのタスクに使用される。アプリケーションサーバは、本明細書の例示的実施形態で説明するように、とりわけ、スプレッドシートワークブックをたとえばdynamic hypertext markup language(DHTML)としてレンダリングする、ウェブパーツである。計算サーバ(CS)は、計算エンジンであり、一般に、スプレッドシートサーバのバックエンドコンポーネントを含む。本明細書で説明するように、ウェブフロントエンド(WFE)は、アプリケーションサーバ、アプリケーションプログラミングインターフェース(API)、およびプロキシを含むスプレッドシートサーバの前を向くコンポーネントを含む。
前のセクションで説明したように、本発明によるワークブックパラメータは、ワークブック作成者が彼らのワークブック内のセルのサブセットを選択し、これらをユーザによって編集可能としてマークする形を含む。次に、これらのセルを、ワークブックの文書プロパティに保存し、アプリケーションサーバ自体のタスクペインまたはSPSフィルタのいずれかを介してエンドユーザに公開することができる。このセクションでは、これらの解決策のさまざまな例示的な非限定的実施態様を説明する。
図4Aに、本発明によるパラメータと共にアプリケーションサーバを示す例示的な非限定的UIスクリーンショットを示す。本発明を用いると、ユーザは、コンポーネントダウンロードを必要とせずにアプリケーションサーバを使用してパラメータをセットすることができる。
これに関して、本発明は、さまざまなパラメータ化シナリオをサポートし、その結果、ユーザは、スプレッドシートクライアントソフトウェアに戻る必要なしに、一般的なタスクを完了できるようになる。たとえば、パラメータ化は、本明細書で説明するSPSスライサインターフェースを扱う。これに関して、本発明は、ユーザが、他のウェブパーツを駆動するためにアプリケーションサーバからパラメータを入手することを可能にする。
本発明のアプリケーションサーバによって達成できるいくつかの例示的な非限定的シナリオについて、編集可能なセルを有するワークブックを作成する作業を検討する。たとえば、Johnが、彼の上層経営陣のために週次売上レポートを作成すると仮定する。今日、Johnは、外部データへの接続を有するワークブックを有し、彼は毎週そのデータをリフレッシュし、その後、数人が、彼らが働くさまざまな領域についてフィルタリングされたワークブックのスナップショットをとる。次に、Johnは、これらのイメージを電子メールに貼り付け、要約メールを経営陣に送信する。
しかし、適当なソフトウェアをインストールした後に、Johnは、シートデータバンドワゴンにジャンプし、シートデータを使用して彼のワークブックをリワークして、以前より読みやすくする。Johnは、彼のワークブックの最上部に地域を述べる単一のセルをも有する。スプレッドシートサーバへのパブリッシュ中に、Johnは、本発明を介してパラメータになるようにある種のセルをセットできることを理解し、地域セルをワークブックパラメータとしてセットすると決断する。このワークブックがアプリケーションサーバにロードされる時に、Johnは、編集可能な領域フィールドを含む新しいタスクペインが表示されるのを見て興奮する。Johnは、「South(南部)」を入力し、「Apply」をクリックし、アプリケーションサーバが南部領域についてすべて更新されたデータを用いてリフレッシュするのを見る。今や、Johnは、これらの週次ステータスメールをもう一度送信する必要が全くない。
もう1つのシナリオについて、本発明は、ダッシュボードの作成を可能にする。たとえば、Samは、彼の組織の上級副社長のためにダッシュボードを作成しつつあり、そのダッシュボードが、単一の管理しやすいフィルタコントロールからすべてが作成される、主要業績評価指標(KPI)、グラフ、およびデータのシートを表示することを望む。本発明によれば、Samは、複数の「裸の」アプリケーションサーバ、いくつかのKPI、および1つのSPSスライサコントロールを用いるページをセットアップする。次に、Samは、ページのさまざまな部分のすべてからフィルタ値を取り込むためにスライサコントロールを調べ、割り当て、それらのそれぞれを単一の「レポート」コントロールに割り当てる。
今や、ある副社長が、ダッシュボードページに行き、リストからレポートを選択する時に、シート、グラフ、およびKPIインジケータのすべてが、そのレポート内のデータを反映するために更新される。というのは、Samが、選択されたレポートに基づいてフィルタリングするようにすべてのワークブックをセットしたからである。
本発明の例示的な非限定的実施態様によれば。ワークブックパラメータを、文書プロパティとして保存することができ、CSは、CSへのプライベートAPIを介してワークブックプロパティに変更を適用する能力を含む。
一実施形態で、本発明は、ユーザがページをサブミットする時に必ず、トランスフォーマを介してパラメータとスライサ内でそのパラメータのためにセットされた値とへのアクセスを与えるインターフェースを提供する。
SPSスライサと本発明のコントロールとの間の接続をセットアップするために、本発明の1つの例示的な非限定的実施形態では、ユーザは、アプリケーションサーバがそれに関するページの設計モードに進み、「フィルタウェブパーツゾーン」へのフィルタコントロールのドロップを開始する。次に、ユーザは、そのコントロールの右上の矢印をクリックし、このドロップダウン内で、Connections(接続)を選択し、Connectionからのフライアウトメニューは、「Get Filter Values From(〜からフィルタ値を得る)」オプションを含み、これは、やはり、{SpreadsheetWebRenderer}へのフライアウトを引き起こす。
ユーザがアプリケーションサーバを選択した後に、ユーザは、そのアプリケーションサーバが公開している未割当のパラメータのリストから選択するよう促され、あるいは、ユーザが、多値フィルタコントロールからの接続のセットアップを試みた場合には、ユーザは、アプリケーションサーバが多値パラメータを全く公開していないことを伝えるメッセージを受け取り、そのフィルタコントロールを使用してそのアプリケーションサーバへの接続をセットアップすることができなくなる。ユーザが、単一値コントロールからの接続のセットアップを試みていたと仮定すると、ユーザは、次に、リストからパラメータを選択し、コントロールは、その後にセットアップされたと考えられる。1つの非限定的実施形態では、あるパラメータがフィルタコントロールに接続され、ワークブックパラメータタスクペインが可視である場合に、そのパラメータは、タスクペイン内でディスエーブルされる。
1つの非限定的実施形態では、単一セルの複数のパラメータが、スライサから単一の値を受け入れ、それが、すべてのパラメータについて本発明が「SupportsSingleValue」フラグをスライサに渡す理由である。これは、スライサが、ユーザが単一値フィルタ要素から単一セルのパラメータへの接続をセットアップすることだけを許容することを意味する。
1つの例示的な非限定的実施形態では、値は、名前/値対としてCSに送られ、その結果、すべてのパラメータをCSに送る必要はなく、それらの順序は問題にならなくなる。誤動作の場合には、適当なエラーハンドリングを、本発明に従って適用することができる。
本発明の例示的な非限定的実施形態では、展開/縮小バーが、ワークブックパラメータタスクペインの横に設けられ、たとえば、その左または右にあるが、シートの右または左(それぞれ)にあり、ユーザがこのタスクペインを隠すか表示することを可能にする。ツールバーは、展開/縮小バーとワークブックパラメータタスクペインとの両方の上に配置することができる。
展開/縮小バーは、タスクペインが縮小されているのか展開されているのかに依存するイメージを含み、そのイメージは、垂直と水平との両方でセンタリングされる。例示的な非限定的実施形態では、そのイメージは、次のように使用される。
タスクペインが可視である時に展開/縮小バーをクリックすると、タスクペインが隠され、展開/縮小バーがアプリケーションサーバの右端エッジ(または、右から左(RTL)モードでは左エッジ)に移動され、グリッドおよびシートナビゲーションバーの幅が、それに伴って広がる。タスクペインが隠されている時に展開/縮小バーをクリックすると、タスクペインが表示され、展開/縮小バーがそれと共に外に移動され、グリッドおよびシートナビゲーションバーの幅が縮小される。
ユーザは、拡大/縮小バーをタップし、エンターキーを使用してこれを操作できなければならない。
タスクペインの状態は、縮小されていても展開されていても、CSへのポストバックを介して保存される。したがって、ユーザが、タスクペインを縮小し、その後、CSへのポストバックを必要とするアクションを実行する場合に、ページが再ロードされる時に、タスクペインは、縮小されたままでなければならない。
1つの例示的な非限定的実施形態では、ワークブックパラメータタスクペインは、ツールバー(下に位置決めされる場合に)を除いて、アプリケーションサーバ内のすべてのコントロールの右(RTLモードでは左)で可視の状態でスタートする。
表示すべきパラメータおよび対応するテキストボックスに表示すべきものは、CSによってアプリケーションサーバに渡される。さまざまな非限定的実施形態では、ワークブックパラメータタスクペインの本体内に、名前付き範囲名およびテキストボックスがあり、このテキストボックス内で、ユーザがデータを入力することができる。
例示のために、タスクペインのUIの例示的実施態様を図4Bに示す。ユーザが、最初にアプリケーションサーバを開く時に、このワークブックのパラメータがあり、ワークブックパラメータタスクペインがウェブパーツプロパティを介してディスエーブルされていない場合には、ワークブックパラメータタスクペインが、可視の状態でスタートする。一実施形態で、パラメータは、CSによってアプリケーションサーバに渡された順序と同一の順序でワークブックパラメータタスクペイン内に表示される。
他の実施形態では、説明プロパティが、図4Cに示されているように、ユーザがテキストボックスのアイコンの上でホバリングする時にツールチップTTIPとして表示される。使用されるアイコンは、そのセルのコメントがあることをユーザに示すためにスプレッドシート内で使用されるアイコンと同一とすることができる。Descriptionプロパティはオプションなので、Description値が与えられない場合には、このアイコンは表示されず、ツールチップは表示されない。マウスカーソルは、オプションで、このイメージの上にある時にポインタのままとすることができる。
タスクペインに収めることができるものより多数のパラメータがある場合には、本発明の一実施形態で、パラメータおよびその値を含むタスクペインのセクションだけをカバーするスクロールバーが表示される。ユーザが、ビューワページ内でパラメータを有するワークブックを見ている場合には、タスクペインは可視になる。ユーザは、拡大/縮小バーを使用することによって、このタスクペインを隠すか表示することができる。情報バーは、2つの状態すなわち、ページが設計モードである時の状態と、ページがビューモードである時の状態とを有する。
本発明によってサポートできるもう1つのタイプのパラメータが、複数の値を受け入れることができるPivotTable Page Field(ピボットテーブルページフィールド)である。
計算サーバの動作およびアプリケーションサーバとの対話
上で説明したように、本発明によれば、スプレッドシートサーバは、ワークブックをパラメータ化する機能を含む。アプリケーションサーバを介する呼出し側アプリケーションは、パラメータのリストを要求し、その値をセットする能力を含む。上で説明したように、アプリケーションサーバは、ウェブを介してワークブックをレンダリングするウェブレンダラを含む。これに関して、パラメータは、ワークブック作成者が、単一のまたは複数のパラメータの値に基づいてその内容をすばやく変更できる単一のテンプレートスプレッドシートを作成することを可能にする。
たとえば、ワークブック作成者は、モーゲージカリキュレータを設計し、利率パラメータ、元金パラメータ、および頭金パラメータを作成する。ユーザは、パラメータを適用し、セルが、適当な結果を計算し、返す。パラメータは、単一のウェブページが、スライサの値に基づいてすべてが同期しているものとすることができる複数のウェブパーツからなるビジネスインテリジェンス(BI)ダッシュボードシナリオにアプリケーションサーバが参加することをも可能にする。
BIダッシュボードは、ステータスを通信し、アクションを駆動するツールであり、しばしば、レポート、チャート、メトリックス、および主要業績評価指標として提示される定量的情報と、提供される定量的データに対するダッシュボード作成者のコメントとして提示される定性的分析との混合物である。
ワークブックパラメータは、アプリケーションサーバを呼び出すことによって発見でき、セットできる、ワークブックに関連する変数である。内部的に、パラメータは、パラメータとして「タグを付けられた」単一セル名前付き範囲である。
ダッシュボードの機能の1つが、パラメータの値に基づいてダッシュボードをフィルタリングでき、あるいはスライスできることである(スライサウェブパーツを使用することによって)。BIダッシュボードの一部であるアプリケーションサーバ内でレンダリングされつつあるワークブックに関して、アプリケーションサーバは、そのBIダッシュボードに割り当てられたパラメータを反映するために「更新」しなければならない。
これを達成するために、本発明に従って、ウェブパーツが、それが含むパラメータを通信する機構およびその値をセットする機構を提供する。
スプレッドシートサーバがこのシナリオに参加するために、ユーザが、たとえばSharepointスライサパーツ内でパラメータを変更する時に、アプリケーションサーバ内で表示されるスプレッドシートワークブックは、スライサの値を反映する。
本明細書で説明するように、呼出し側アプリケーション(アプリケーションサーバ)は、サーバに、ワークブックに関連するパラメータのリストを要求することができる。例示的実施形態では、パラメータ値をセットすることが、効果的にセルの値をセットすることと同等であっても、セル値をセットすることが失敗したことではなく、パラメータ動作が失敗したことを伝えるエラーメッセージが、ユーザに与えられる。
本発明のもう1つの態様では、パラメータのセッティングに関連するワークブック動作が、最適化される。たとえば、計算は、すべてのパラメータ値がセットされるまで、計算モードにかかわりなく保留される。さらに、本発明は、パラメータ(たとえば、名前付き範囲)の定義が、それでも、ワークブックがロードされた時にパラメータであることに関する要件を満足することを保証する。さらに、呼出し側アプリケーション(アプリケーションサーバ)は、パラメータの値(単一の)をセットすることができる。
これらのダッシュボードのコンシューマは、ダッシュボードにナビゲートし、パラメータウェブパーツ内で「プロジェクト」パラメータを変更することができる。プロジェクトパラメータが変更されたならば、ページ上のウェブパーツのすべて(アプリケーションサーバのウェブパーツおよびレポーティングサービスレンダリングウェブパーツを含む)は、ダッシュボードコンシューマが選択したプロジェクトに関連するデータを反映するために更新する。アプリケーションサーバに関して、パラメータセルの値を関数への入力としてとるシートデータ式を使用することができる。
モーゲージカリキュレータは、毎月の支払いを判定するために複数のパラメータが入力されることを必要とする。このシナリオでは、誰かが、ワークブックを作成し、元金、利率、ローン期間、および頭金の名前付き範囲を作成する。次に、ユーザが適用ボタンを押し、ワークブックが計算され、ユーザに毎月の支払いを示す。
パラメータ情報の取出しに関して、計算サーバ(CS)は、呼出し側アプリケーションが、パラメータ名、ワークブック内のパラメータの順序(アプリケーションサーバがそれらを提供された順序でリストするため)、パラメータの現在値、およびパラメータの説明のうちの任意の1つまたは複数を含むパラメータ情報を取り出す手段を提供する。
パラメータの名前は、それが占める名前付き範囲の名前である。パラメータ順序は、表示のためのパラメータ順序を定義し、さまざまな形およびフォーマットで定義することができる。CSは、この情報を呼出し側アプリケーション(アプリケーションサーバ)に返すことができる。パラメータの現在値に加えて、各パラメータは、CSが呼出し側アプリケーション(アプリケーションサーバ)に渡すことができるオプションの説明をも有する。
CSは、アプリケーションサーバがワークブック内の各パラメータのパラメータ値をセットする手段を提供する。CSへの単一の呼出しで、1つまたは複数のパラメータ値をセットすることができる。上で述べたように、本発明の一態様では、ポストバックの一部であるすべてのパラメータ値がセットされるまで、計算を保留することができる。パラメータの値をセットすることは、SetCell()メソッドを介してセルの値をセットすることと同等である。
オプションで、CSは、パラメータの値に基づいて、サーバ上の数フォーマットを暗黙のうちにまたは明示的に変更しない。
計算の保留およびワークブックが開かれる時のデータリフレッシュに関して、本発明のCSは、ワークブックの計算モードまたはデータリフレッシュセッティングにかかわりなく、ワークブックが計算されるかデータがリフレッシュされる前にセル値をセットする能力をサポートする。パラメータがセットされたならば、ワークブックは、それが作成された時の計算モードを返す。
一実施形態で、アプリケーションサーバは、デフォルト値を有するスライサがページにある時に、ワークブックを開くことの一部としてパラメータを渡す。そうでない場合には、アプリケーションサーバは、ワークブックを開く要求の一部としてパラメータ値を渡すことはしない。
ワークブックが手動計算モードである場合に、これは、そのワークブックが、潜在的に「ダーティ」計算状態にあり、その状態から、ユーザが、パラメータ値が変更されることに起因するワークブック内の変化を知るために計算を開始できることを意味する。
すべてのワークブックパラメータが、アプリケーションサーバによるパラメータセッティング動作の結果としてセットされることは、要件ではない。これは、ウェブページ上のスライサパーツがワークブック内で定義されるパラメータのサブセットをマッピングする場合に発生する可能性がある。この場合には、ワークブック内の追加のパラメータは、そのデフォルトセル値を維持する。
本発明の例示的な非限定的実施形態では、ワークブックがCSによってロードされる時に、CSは、そのワークブック内で定義されたパラメータが、それでもパラメータであることについて定義された判断基準を満足するかどうかをチェックする。この条件が満足されない場合には、CSはエラーを返す。このチェックは、アプリケーションサーバがセットすることを試みたパラメータだけではなく、ワークブック内のすべてのパラメータを包含する。パラメータであることに関する判断基準を、たとえば、何がパラメータであるかに関するシステムの確信とパラメータをセットする際のユーザの柔軟性とのバランスをとることなど、システムの所望の特性に基づいてさまざまにセットできることを了解することができる。
CSの計算エンジンによるパラメータのセッティングおよび取出しに関して、パラメータのセッティングは、セル内の値を変更し、ワークブックの現在の計算モード(手動、自動)に依存して、ワークブックは、計算するまたは計算しないのいずれかになる。
例示的な非限定的スクリーンショットシーケンス
図5Aから5Kに、growthと呼ばれる変数(たとえば、銀行口座の利率)に基づいて売上を予測するワークブックに関するウェブパブリッシング経験に関連する本発明の威力を示す例示的(非限定的)なUIスクリーンショットの例示的なシーケンスを示す。
図5Aでは、ワークブック500は、それぞれ「2005年」売上というラベルを付け、2005年売上の値2000ドルを提供するセルB3およびB4を含む。セルC3およびC4は、それぞれ、「2006年」売上というラベルを付け、セルF3に示されているように値10%を有する「growth」という名前の増加率N2に基づいて値2200ドルを予想するセルである。セルB3、C3、B4、およびC4は、N1によって示されるように、集合的に「Sales」と命名される。
上で説明したようにワークブック500が作成されたならば、図5Bは、ダイアログ/メニュー502aを介して、ユーザがスプレッドシートサーバにワークブックをパブリッシュするプロセスを示し始め、このスプレッドシートサーバから、さらなる許可されたユーザが、ウェブなどのネットワークを介し、ブラウザなどのアプリケーションを介してこのワークブックを見ることができる。図示されているように、502aで、ユーザは、ワークブック500をウェブサーバにパブリッシュするオプションを選択することができる。
開始されたならば、流れは図5Cに移り、ここで、ダイアログ/メニュー502bは、ユーザがワークブックのサブセットをパブリッシュすることすなわち、特定のワークシートなど、ワークブック500の一部が、ワークブック500がパブリッシュされたならばウェブからアクセス不能になるようにすることを選択できることを示す。たとえば、ワークブック作成者の観点から、ワークシート3に配置されたプロプラエタリ式を共有することが望ましくない可能性があるが、それと同時に、ワークブック作成者が、ワークシート3からの1つまたは複数のパラメータをユーザに公開することを望む場合がある。
次に、図5Dに示されているように、ユーザは、502cで、ダイアログメニューのパラメータタブを選択することができ、これによって、パラメータとしてワークブック500のセルを選択する(指定する)UIが表示される。オプションとして、当初に図5Eに示された502dで、UIは、パラメータをどのように定義できるかに従って、ワークブック500のすべての可能なパラメータを含む。次に、たとえば、図5Fに示されているように、増加モデルに従って、ユーザは、502eで、パラメータとして「growth」を選択している。growthは、この例では唯一のパラメータであるが、これは、理解を単純にするためである。当業者は、スプレッドシートモデルおよび式ならびに関連する前提が、極端に複雑になる可能性があり、したがって、数十個以上のパラメータを包含する場合があることを了解することができる。
502eでパラメータとしてgrowthを選択したので、図5Gの502fに示されているように、ユーザは、主パブリッシングUIに戻され、ここでは、growthが、パラメータと指定していされたものとして示されている。最後に、図5Hに示されているように、502gで、ユーザは、対応する「パブリッシュ」UI要素を係合させることによって、文書をスプレッドシートサーバにパブリッシュする。ウェブを介してワークブックを表示するオプションを選択したので、クライアントアプリケーションを介して作成されたワークブック500は、図5Iに示されているように、ウェブワークブック504として表示される。growthパラメータPおよびエディットボックスEBを含むパラメータのリストLPが、ワークブック504の右に表示されていることがわかる。前に述べたように、一実施形態で、エディットボックスEBのパラメータ値が入力され、適用されるまで、ワークブック504の計算および表示を遅延させるすなわち保留することができる。図5Iに示された非限定的なスクリーンショットでは、ワークブック500の作成で示された値が、デフォルトで表示されている。
次に、図5Jで、ユーザは、エディットボックスEBに20%(図5Iの計算および表示で現在使用されている10%ではなく)という新しい値を入力している。最後に、ユーザは、エディットボックスEBに入力された新しい値を適用し、図5Kに示されているように、計算サーバが、20%という新しいパラメータ値に基づいてモデルを再計算し、ワークブック506が、ウェブベースの文書を表示するための適当な変換が実行された後に表示される。このケースでは、計画された2006年の値が、10%から20%への増加率の変更に基づいて、2200ドルから2400ドルに変更されていることがわかる。したがって、サーバへのスプレッドシート文書のパブリッシュおよび必要に基づく個人へのパラメータの公開の利点がわかる。たとえば、住宅金融専門会社は、さまざまなパラメータ(家の価値、株式価値、年金口座など)のすべてを、パラメータとして入力でき、したがってユーザのために計算を個別に調整できる正味財産カリキュレータをパブリッシュすること望む場合がある。それと同時に、住宅金融専門会社は、そのユーザからそのようなデータを収集し、ユーザに関する全体的なサービスオファリングをよりよく調整することができる。
パラメータの指定を、本明細書では、いくつかの実施形態でパブリッシング経験に含まれるものとして説明するが、スタンドアローンクライアントアプリケーションも、本発明によるパラメータの指定から利益を得る。したがって、本発明は、ウェブへのワークブックのパブリッシュのシナリオに限定されると解釈されてはならず、そうではなく、特許請求の範囲で定義されるものとして解釈されなければならない。
図6は、前述のシーケンスに似ているが、ある種の限定する詳細のない、流れ図である。たとえば、600で、ユーザは、ワークブックを作成するか編集することを選択し、610で、ユーザは、ワークブックのパラメータを指定するユーザインターフェースコンポーネントを呼び出し、この指定は、ステップ620で行うことができる。オプションで、ワークブックを、ウェブを介するスプレッドシート文書のレンダリングのためにスプレッドシート文書ウェブサーバにパブリッシュすることができる。将来に、指定されたパラメータを含むスプレッドシート文書が、クライアントによって開かれるか、ウェブレンダラを介して表示されるかにかかわりなく、プライベートAPIが、630で動作して、スプレッドシート文書によって表される基礎になるモデルをパラメータ化するパラメータのリストを含むパラメータ情報をスプレッドシート文書から発見し、抽出する。次に、文書は、640で表示の準備ができ、ここで、パラメータリストが公開され、ユーザインターフェースコンポーネントが、パラメータリスト内のパラメータを編集するために提示される。次に、オプションで、650で、ワークブック自体を、ワークブックを定義するパラメータの値の初期セットに基づく計算を介して表示することができ、あるいはその代わりに、上で説明したように、スプレッドシート文書に関連するすべての現在の情報が受け取られるまで、そのような計算を保留することができる。660で、ユーザは、パラメータリスト内のパラメータのうちの1つまたは複数を編集し、スプレッドシートのモデルへの新しいパラメータ値の適用を要求することができる。したがって、670で、計算エンジンは、ユーザによって入力された新しいパラメータ値に基づいてスプレッドシート文書を再計算する(あるいは、保留された場合には計算する)。
例示的なインターフェース実施態様
複数のコンピュータの間での、本発明の技法による、2つのコンピュータの間で共有されるパラメータデータなどのデータのすべての交換に関して、ハードウェアおよび/またはソフトウェアで実施でき、関連するアプリケーションおよび要求されまたは提供されるサービスに従ってある形でデータを受け取り、送り、かつ/または処理するように動作する、各コンピュータ上でのさまざまな動作を処理するインターフェースがある。本発明によるマークアップデータの圧縮および圧縮解除のシステムおよび方法の任意の部分を達成しまたは実施するために1つまたは複数のインターフェースオブジェクトを提供できる範囲まで、本発明がそのような実施形態のすべてを含むことが意図され、したがって、本発明を実施するか実行する時に提供するか利用することのできる複数の種類のインターフェースの全般的な説明を、下に続ける。
プログラミングインターフェース(またはより単純に、インターフェース)は、コードの1つまたは複数のセグメントが、コードの1つまたは複数の他のセグメントによって提供される機能性と通信するかこれにアクセスすることを可能にする、任意の機構、プロセス、プロトコルとみなすことができる。その代わりに、プログラミングインターフェースを、他のコンポーネントの1つまたは複数の機構、メソッド、関数呼出し、モジュールなどに通信的に結合できる、システムのコンポーネントの1つまたは複数の機構、メソッド、関数呼出し、モジュール、オブジェクトなどとみなすことができる。前の文での用語「コードのセグメント」は、1つもしくは複数の命令またはコードの行を含むことを意図され、適用される用語法、コードセグメントが別々にコンパイルされるかどうか、コードセグメントがソースコード、中間コード、またはオブジェクトコードのどれとして提供されるのか、コードセグメントがランタイムシステムまたはプロセスのどちらで利用されるのか、コードセグメントが同一のまたは異なるマシンに配置される、または複数のマシンにまたがって分散されるのどちらであるのか、あるいは、コードのセグメントによって表される機能性が完全にソフトウェアで、完全にハードウェアで、またはハードウェアおよびソフトウェアの組合せのどれで実施されるかにかかわりなく、たとえばコードモジュール、オブジェクト、サブルーチン、関数などを含む。
概念的に、プログラミングインターフェースは、図14Aまたは図14Bに示されているように、包括的に見ることができる。図14Aは、第1および第2のコードセグメントがそれを介して通信する導管としてインターフェース、インターフェース1を示す。図14Bは、システムの第1および第2のコードセグメントが媒体Mを介して通信することを可能にする、インターフェースオブジェクトI1およびI2(第1および第2のコードセグメントの一部であってもなくてもよい)を含むものとしてインターフェースを示す。図14Bの図では、インターフェースオブジェクトI1およびI2を、同一システムの別々のインターフェースと考えることができ、オブジェクトI1およびI2ならびに媒体Mがインターフェースを含むと考えることもできる。図14Aおよび14Bは、両方向フローと、フローの両側のインターフェースを示すが、ある種の実施態様は、一方向の情報フローのみを有することができ(または、下で説明するように情報フローなし)、あるいは、片側だけにインターフェースオブジェクトを有することができる。限定ではなく例として、アプリケーションプログラミングインターフェース(API)、エントリポイント、メソッド、関数、サブルーチン、リモートプロシージャコール、およびコンポーネントオブジェクトモデル(COM)インターフェースなどの用語は、プログラミングインターフェースの定義の中に含まれる。
そのようなプログラミングインターフェースの諸態様は、第1コードセグメントが情報(「情報」は、その最も広義の意味で使用され、データ、コマンド、要求などを含む)を第2コードセグメントに送るメソッドと、第2コードセグメントが情報を受け取るメソッドと、情報の構造、シーケンス、構文、編成、スキーマ、タイミング、および内容とを含むことができる。これに関して、基礎になるトランスポート媒体自体は、媒体が有線、無線、またはこの両方の組合せのいずれであれ、情報がインターフェースによって定義される形でトランスポートされる限り、インターフェースの動作にとって重要でないものとすることができる。ある種の状況で、情報は、従来の意味で一方向または両方向で渡されない場合がある。というのは、情報転送を、別の機構を介する(たとえば、コードセグメントの間の情報フローとは別々の、バッファ、ファイルなどに置かれた情報)か、あるコードセグメントが第2コードセグメントによって実行される機能性に単純にアクセスする時など、存在しないのいずれかとすることができるからである。これらの態様のいずれかまたはすべてが、たとえばコードセグメントが疎結合構成または密結合構成どちらのシステムの一部であるかに依存してなど、所与の状況で重要である場合があり、したがって、このリストは、例示的であり非限定的であると考えられなければならない。
プログラミングインターフェースのこの概念は、当業者に既知であり、本発明の前述の詳細な説明から明瞭である。しかし、プログラミングインターフェースを実施する他の形があり、明示的に除外されない限り、これらも、本明細書に添付の特許請求の範囲に包含されることが意図されている。そのような他の形は、図14Aおよび14Bの単純すぎる図より洗練され、またはより複雑であるように見える場合があるが、それでも、同一の全体的な結果を達成するために、類似する機能を実行する。これから、プログラミングインターフェースのいくつかの例示的な代替実施態様を短く説明する。
A.ファクタリング
あるコードセグメントから別のコードセグメントへの通信は、その通信を複数の別個の通信に分解することによって間接的に達成することができる。これを、図15Aおよび15Bに概略的に示す。図からわかるように、いくつかのインターフェースを、機能性の分割可能なセットに関して説明することができる。したがって、数学的に24すなわち2×2×3×2をもたらすことができるのと同様に、図14Aおよび14Bのインターフェース機能性を、同一の結果を達成するためにファクタリング(因数分解)することができる。したがって、図15Aに示されているように、同一の結果を達成しながら、インターフェース、インターフェース1によって提供される機能を副分割して、インターフェースの通信を複数のインターフェース、インターフェース1A、インターフェース1B、インターフェース1Cなどに変換することができる。図15Bに示されているように、同一の結果を達成しながら、インターフェースI1によって提供される機能を、複数のインターフェースI1a、I1b、I1cなどに副分割することができる。同様に、第2コードセグメントの、第1コードセグメントから情報を受け取るインターフェースI2を、複数のインターフェースI2a、I2b、I2cなどにファクタリングすることができる。ファクタリングする時には、第1コードセグメントに含まれるインターフェースの個数が、第2コードセグメントに含まれるインターフェースの個数と一致する必要はない。図15Aおよび15Bのどちらの場合でも、インターフェース、インターフェース1およびI1の機能的趣旨は、それぞれ図14Aおよび14Bと同一のままである。インターフェースのファクタリングは、結合、可換、および他の数学的プロパティにも従い、ファクタリングを理解することがむずかしくなる可能性がある。たとえば、動作の順序付けが重要でない場合があり、その結果、あるインターフェースによって実行される機能を、そのインターフェースに達する前に、別のコードまたはインターフェースによって、あるいはシステムの別々のコンポーネントによって、良好に実行することができる。さらに、プログラミング技術の当業者は、同一の結果を達成する異なる関数呼出しを行うさまざまな形があることを了解することができる。
B.再定義
いくつかの場合に、所期の結果を達成しながら、プログラミングインターフェースのある種の態様(たとえば、パラメータ)を無視し、追加し、または再定義することが可能である場合がある。これを図16Aおよび16Bに示す。たとえば、図14Aのインターフェース、インターフェース1が、関数呼出しSquare(input,precision,output)すなわち、3つのパラメータ、input(入力)、precision(精度)、およびoutput(出力)を含み、第1コードセグメントから第2コードセグメントに発行される呼出しを含むと仮定する。中央のパラメータprecisionが、所与のシナリオで関係ない場合に、図16Aに示されているように、これを無視することができ、あるいは、無意味な(この状況で)パラメータに置換することさえできる。関係ない追加パラメータを追加することもできる。どの場合でも、inputが第2コードセグメントによって二乗された後にoutputが返される限り、二乗の機能性を達成することができる。precisionは、コンピューティングシステムのある下流のまたは他の部分への意味のあるパラメータであるかもしれないが、precisionが、二乗を計算するという狭い目的に関して必要でないことが認められたならば、これを置換するか無視することができる。たとえば、有効な精度値を渡すのではなく、誕生日などの無意味な値を、結果に悪影響を及ぼさずに渡すことができる。同様に、図16Bに示されているように、インターフェースI1を、インターフェースへのパラメータを無視するか追加するように再定義されたインターフェースI1’によって置換することができる。インターフェースI2を、同様に、不必要なパラメータまたは他所で処理できるパラメータを無視するように再定義されたインターフェースI2’として再定義することができる。ここでのポイントは、いくつかの場合に、プログラミングインターフェースが、パラメータなど、ある目的のためには必要でない態様を含む場合があり、したがって、それらを無視するか再定義し、あるいは他の目的のために他所で処理することができることである。
C.インラインコーディング
2つの別々のコードモジュールの機能性の一部またはすべてをマージし、それらの間の「インターフェース」が形を変化させるようにすることが、実現可能である場合もある。たとえば、図14Aおよび14Bの機能性を、それぞれ図17Aおよび17Bの機能性に変換することができる。図17Aでは、図14Aの以前の第1コードセグメントおよび第2コードセグメントが、その両方を含む1つのモジュールにマージされている。この場合に、コードセグメントは、それでも互いに通信することができるが、インターフェースは、単一のモジュールにより適切な形に適合させることができる。したがって、たとえば、形式的なCallステートメントおよびReturnステートメントは、もはや不要である可能性があるが、インターフェース、インターフェース1に準ずる類似する処理または応答が、まだ有効である場合がある。同様に、図17Bに示されているように、図14BからのインターフェースI2の一部(またはすべて)を、インターフェースI1にインラインで記述して、インターフェースI1”を形成することができる。図示されているように、インターフェースI2は、I2aおよびI2bに分割され、インターフェース部分I2aは、インターフェースI1”を形成するためにインターフェースI1と共にインラインでコーディングされている。具体的な例について、図14BからのインターフェースI1が、関数呼出しsquare(input,output)を実行し、これがインターフェースI2によって受け取られ、インターフェースI2は、inputを用いて渡された値を第2コードセグメントによって処理(二乗)した後に、二乗された結果をoutputを用いて戻して渡すと考えられたい。その場合に、第2コードセグメントによって実行される処理(inputを二乗すること)を、インターフェースへの呼出しなしで、第1コードセグメントによって実行することができる。
D.ディボース(divorce)
あるコードセグメントから別のコードセグメントへの通信は、その通信を複数の別個の通信に分解することによって間接的に達成することができる。これを、図18Aおよび18Bに概略的に示す。図18Aに示されているように、1つまたは複数のミドルウェア(機能性および/またはインターフェース機能をオリジナルインターフェースから分離(ディボース)するので、ディボースインターフェース)が、第1インターフェース、インターフェース1での通信を、異なるインターフェース、この例ではインターフェース、インターフェース2A、インターフェース2B、およびインターフェース2Cに従わせるために変換するために設けられる。これは、たとえば、たとえばインターフェース1プロトコルに従ってオペレーティングシステムと通信するように設計されたアプリケーションのインストールされたベースがあるが、その後、オペレーティングシステムが異なるインターフェース、この例ではインターフェース、インターフェース2A、インターフェース2B、およびインターフェース2Cを使用するように変更された場合に、行うことができる。ポイントは、第2コードセグメントによって使用されるオリジナルインターフェースが、もはや第1コードセグメントによって使用されるインターフェースと互換ではなくなるように変更され、したがって、媒介物が、古いインターフェースと新しいインターフェースとを互換にするために使用されることである。同様に、図18Bに示されているように、インターフェースI1からの通信を受け取るディボースインターフェースDI1、ならびにたとえばディボースインターフェースDI2と共に働くが同一の機能的結果をもたらすように再設計されたインターフェースI2aおよびI2bにインターフェース機能性を送るディボースインターフェースDI2と共に、第3コードセグメントを導入することができる。同様に、DI1およびDI2は、一緒に働いて、図14BのインターフェースI1およびI2の機能性を新しいオペレーティングシステムに変換すると同時に、同一のまたは類似する機能的結果を提供することができる。
E.リライト
もう1つの可能な変形形態は、同一の全体的結果を達成する別の何かを用いてインターフェース機能性を置換するようにコードを動的にリライトすることである。たとえば、中間言語(たとえば、Microsoft IL、Java(登録商標) ByteCodeなど)で提示されるコードセグメントが、実行環境(.Netフレームワーク、Java(登録商標)ランタイム環境、または他の類似するランタイムタイプ環境によって提供される実行環境など)内のジャストインタイム(JIT)コンパイラまたはインタープリタに供給されるシステムを設けることができる。JITコンパイラは、第1コードセグメントから第2コードセグメントへの通信を動的に変換する、すなわち、これらを第2コードセグメント(オリジナルまたは異なる第2コードセグメントのいずれか)によって要求されるものとすることができる異なるインターフェースに変換するように記述することができる。これを、図19Aおよび19Bに示す。図19Aからわかるように、この手法は、上で説明したディボースシナリオに類似する。これは、たとえば、インターフェース1プロトコルに従ってオペレーティングシステムと通信するように設計されたアプリケーションのインストールされたベースがあるが、その後、オペレーティングシステムが異なるインターフェースを使用するように変更された場合に、行うことができる。JITコンパイラは、通信をオンザフライでインストールされたベースアプリケーションからオペレーティングシステムの新しいインターフェースに従わせるのに使用することができる。図19Bに示されているように、インターフェースを動的にリライトするこの手法は、インターフェースを動的にファクタリングし、または他の形で変更するために適用することもできる。
代替実施形態を介するインターフェースと同一のまたは類似する結果を達成する上で説明したシナリオを、さまざまな形で、直列におよび/または並列に、あるいは他の介在するコードを用いて、組み合わせることもできることにも留意されたい。したがって、上で提示した代替実施形態は、相互に排他的ではなく、図14Aおよび14Bで提示した包括的シナリオと同一のまたは同等のシナリオを作るために混合し、一致させ、組み合わせることができる。ほとんどのプログラミング構造と同様に、本明細書で説明されない可能性があるインターフェースの同一のまたは類似する機能性を達成するが、それでも、本発明の趣旨および範囲によって表される、他の類似する形があることにも留意されたい、すなわち、それが、少なくとも部分的に、インターフェースの価値の基礎になるインターフェースによって表される機能性であり、それによって使用可能にされる有利な結果であることに留意されたい。
本発明を実施する複数の形、たとえば、アプリケーションおよびサービスが本発明のワークブックパラメータを提供し、使用可能にするシステムおよび方法を使用することを可能にする、適当なAPI、ツールキット、ドライバコード、オペレーティングシステム、コントロール、スタンドアローンまたはダウンロード可能なソフトウェアオブジェクトなどがある。本発明は、API(または他のソフトウェアオブジェクト)の観点から、ならびに本発明によるダウンロードされたプログラムを受け取るソフトウェアオブジェクトまたはハードウェアオブジェクトからの本発明の使用を企図している。したがって、本明細書で説明した本発明のさまざまな実施態様は、完全にハードウェア、部分的にハードウェアおよび部分的にソフトウェア、ならびにソフトウェアの態様を有することができる。
上で述べたように、本発明の例示的実施形態を、さまざまなコンピューティングデバイスおよびネットワークアーキテクチャに関して説明したが、基礎になる概念を、ワークブックパラメータを有することが望ましい任意のコンピューティングデバイスまたはシステムに適用することができる。たとえば、本発明のアルゴリズム(1つまたは複数)およびハードウェア実施態様を、デバイス上の別々のオブジェクトとして、別のオブジェクトの一部として、再利用可能なコントロールとして、サーバからダウンロード可能なオブジェクトとして、デバイスまたはオブジェクトとネットワークとの間の「媒介者」として、分散オブジェクトとして、ハードウェアとして、メモリ内で、前述のいずれかの組合せとしてなどで、コンピューティングデバイスのオペレーティングシステムに適用することができる。例示的なプログラミング言語、名前、および例が、本明細書でさまざまな選択の代表として選択されたが、これらの言語、名前、および例は、限定的であることを意図されたものではない。当業者は、本発明のさまざまな実施形態によって達成される同一の、類似する、または同等の機能性を達成するオブジェクトコードおよび命名法を提供する多数の形があることを了解するであろう。
上で述べたように、本明細書で説明したさまざまな技法は、ハードウェアまたはソフトウェア、あるいは適当な場合にこの両方の組合せに関連して実施することができる。したがって、本発明の方法および装置、またはそのある種の態様もしくは部分は、フロッピディスケット、CD−ROM、ハードドライブ、または任意の他の機械可読ストレージ媒体などの有形の媒体で実施されるプログラムコード(すなわち命令)の形をとることができ、ここで、プログラムコードがコンピュータなどの機械にロードされ、その機械によって実行される時に、その機械は、本発明を実践する装置になる。プログラム可能コンピュータでのプログラムコード実行の場合に、コンピューティングデバイスは、一般に、プロセッサ、そのプロセッサによって読み取り可能なストレージ媒体(揮発性および不揮発性のメモリおよび/またはストレージ要素を含む)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含む。たとえばデータ処理API、再利用可能コントロール、または類似物の使用を介して、本発明のワークブックパラメータを実施するか利用することのできる1つまたは複数のプログラムは、好ましくは、コンピュータシステムと通信するために高水準手続き指向プログラミング言語または高水準オブジェクト指向プログラミング言語で実施される。しかし、望まれる場合に、プログラム(1つまたは複数)を、アセンブリ言語または機械語で実施することができる。どの場合でも、言語は、コンパイルされる言語または解釈される言語とすることができ、ハードウェア実施態様と組み合わせることができる。
本発明の方法および装置を、電気配線またはケーブリングを介して、光ファイバを介して、または任意の他の形の伝送を介してなど、ある伝送媒体を介して伝送されるプログラムコードの形で実施される通信を介して実践することもでき、ここで、プログラムコードが、EPROM、ゲートアレイ、プログラマブルロジックデバイス(PLD)、クライアントコンピュータなどの機械によって受信され、ロードされ、実行される時に、その機械は、本発明を実践する装置になる。汎用プロセッサで実施される時に、プログラムコードは、プロセッサと組み合わされて、本発明の機能性を呼び出すように動作する独自の装置を提供する。さらに、本発明に関連して使用される任意のストレージ技法は、必ず、ハードウェアおよびソフトウェアの組合せとすることができる。
本発明を、さまざまな図面の好ましい実施形態に関連して説明したが、他の類似する実施形態を使用でき、あるいは、本発明から逸脱せずに、本発明の同一の機能を実行するために、説明された実施形態に対して変更または追加を行うことができることを理解されたい。たとえば、本発明の例示的ネットワーク環境を、ピアツーピアネットワーク化された環境などのネットワーク化された環境の文脈で説明したが、当業者は、本発明がこれに限定されないことと、本願で説明された方法が、ゲーム機、ハンドヘルドコンピュータ、ポータブルコンピュータなど、有線であれ無線であれ、任意のコンピューティングデバイスまたはコンピューティング環境に適用でき、通信ネットワークを介して接続され、ネットワークを介して対話する任意の個数のそのようなコンピューティングデバイスに適用できることとを認めるであろう。さらに、ハンドヘルドデバイスオペレーティングシステムおよび他の特定用途向けオペレーティングシステムを含むさまざまなコンピュータプラットフォームが、特に多数の無線ネットワーク化されたデバイスが増殖し続けているので、企図されていることを強調しなければならない。
例示的実施形態は、特定のプログラミング言語構造の文脈での本発明の利用に言及するが、本発明は、それに限定されるのではなく、本発明によるワークブックパラメータを提供し、使用可能にする任意の言語で実施することができる。さらに、本発明を、複数の処理チップまたは処理デバイスでまたはこれらにまたがって実施することができ、ストレージを、同様に複数のデバイスにまたがってもたらすことができる。したがって、本発明は、任意の単独の実施形態に限定されてはならず、添付の特許請求の範囲による広がりおよび範囲において解釈されなければならない。
本発明を実施できる例示的な非限定的コンピューティングシステム環境を表すブロック図である。 本発明を実施できる例示的なネットワーク環境を表すブロック図である。 本発明のさまざまな実施形態によるスタンドアローンアプリケーションおよびウェブレンダリングサービスを介してスプレッドシート文書をオーサリングし、見る、例示的なクライアントおよびサーバのアーキテクチャを示す図である。 本発明のさまざまな実施形態によるスタンドアローンアプリケーションおよびウェブレンダリングサービスを介してスプレッドシート文書をオーサリングし、見る、例示的なクライアントおよびサーバのアーキテクチャを示す図である。 本発明によるワークブックパラメータの指定、発見、およびセッティングのさまざまな態様の例示的な非限定的スクリーンショットを示す図である。 本発明によるワークブックパラメータの指定、発見、およびセッティングのさまざまな態様の例示的な非限定的スクリーンショットを示す図である。 本発明によるワークブックパラメータの指定、発見、およびセッティングのさまざまな態様の例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明による、ワークブックのオーサリングおよびパラメータの指定から、文書に関連するパラメータリストの発見、およびパラメータリスト内で示されるパラメータの編集を可能にするウェブを介するワークブックのレンダリングまでの例示的な非限定的スクリーンショットを示す図である。 本発明に従って、ユーザがどのようにパラメータを指定でき、発見でき、編集できるかを示す例示的な流れ図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。 本発明による任意のインターフェース(1つまたは複数)の類似するまたは同等の目的(1つまたは複数)を達成するために類似するインターエースコードを提供できる例示的な形を示す図である。

Claims (15)

  1. スプレッドシート文書を格納するデータベースを有するサーバと、ネットワークを介して前記サーバに接続されるクライアントを備えたシステムにおいて、スプレッドシート文書によって表されるモデルに関連する1または複数のパラメータのリストを指定する方法であって、
    スプレッドシート文書の作成者が利用する第1のクライアントが、前記スプレッドシート文書から分離したユーザインターフェースコンポーネントを提供するステップと、
    前記第1のクライアントが、前記ユーザインターフェースコンポーネントを介して、前記スプレッドシート文書のセルの第1のサブセットの定義を受信するステップであって、前記定義は、前記第1のサブセットの各セルを前記スプレッドシート文書によって表される前記モデルに対するパラメータとして指定し、前記第1のサブセットの各セルは、ユーザからの入力を受信して前記モデルの計算に適用されるよう指定され、前記モデル対するパラメータとして指定されていない、前記スプレッドシート文書のセルの第2のサブセットの各セルは、前記ユーザから入力を受信しないよう指定される、ステップと、
    前記第1のクライアントが、前記定義されたパラメータを、前記モデルに関連する1または複数のパラメータのリストにロードするステップであって、前記リストは、各パラメータ名および各パラメータ名に関連する任意のコメントを含む、ステップと、
    前記第1のクライアントが、前記ユーザインターフェースコンポーネントを介して、任意のクライアントで前記リストに含まれるパラメータを表示する順序を特定する指示を受信するステップと、
    前記第1のクライアントが、任意のクライアントでレンダリングするために、前記スプレッドシート文書を転送する要求を受信するステップと、
    前記第1のクライアントが、前記スプレッドシート文書および前記リストを前記サーバに提供するステップと
    を含むことを特徴とする方法。
  2. 前記サーバが、前記定義に従って指定される前記第1のサブセットの各セルを表す情報を含むパラメータ情報を前記スプレッドシート文書と共に格納するステップ
    をさらに含むことを特徴とする請求項1に記載の方法。
  3. 第2のクライアントが、前記スプレッドシート文書と共に格納された前記パラメータ情報を要求するステップ
    をさらに含むことを特徴とする請求項2に記載の方法。
  4. 前記第2のクライアントが、ユーザインターフェースコンポーネントを介して、前記パラメータ情報を用いて、前記リストを表示するステップ
    をさらに含むことを特徴とする請求項3に記載の方法。
  5. 前記リストを表示するステップは、パラメータ名のリストおよびユーザインターフェースコントロールを表示し、各パラメータ名は、前記パラメータ名によって表される前記スプレッドシート文書のセルに関連する値を編集する入力を受け取るためのユーザインターフェースコントロールに関連付けられることを特徴とする請求項4に記載の方法。
  6. スプレッドシート文書を格納するデータベースを有するサーバと、ネットワークを介して前記サーバに接続されるクライアントを備えたシステムにおいて、スプレッドシート文書と共に前記データベースに格納される、当該スプレッドシート文書によって表されるモデルに関連する1または複数のパラメータのリストを発見する方法であって、
    第1のクライアントが、当該第1のクライアントの表示デバイスで前記スプレッドシート文書をレンダリングするために、前記スプレッドシート文書に関する要求を前記サーバに送信するステップであって、前記スプレッドシート文書は複数のセルを含み、前記スプレッドシード文書のセルの第1のセットは、前記モデルに関連するパラメータとして指定されるセルを含み、前記スプレッドシード文書のセルの第2のセットは、前記モデルに関連するパラメータとして指定されないセルを含み、前記第1のサブセットの各セルは、ユーザからの入力を受信して前記モデルの計算に適用されるよう指定され、前記スプレッドシート文書のセルの第2のサブセットの各セルは、前記ユーザから入力を受信しないよう指定される、ステップと、
    前記サーバが、前記スプレッドシート文書によって表される前記モデルに関連する1または複数のパラメータのリストを取り出すステップであって、前記リストは、各パラメータ名および各パラメータ名に関連する任意のコメントを含み、前記リストの各パラメータは前記第1のサブセットのセルに対応する、ステップと、
    前記第1のクライアントが、前記リストに含まれるパラメータに対応する前記第1のサブセットのセルの値を編集するためのユーザインターフェースコンポーネントを提示するステップであって、前記第1のサブセットの各セル、および前記第2のサブセットの各セルはいずれも前記ユーザインターフェースコンポーネントに表示され、前記第1のサブセットの各セルを、前記第2のサブセットの各セルと区別して表示して、前記第1のサブセットのセルが前記ユーザからの入力を受信して前記モデルの計算に適用されるよう指定されることを示す、ステップと
    を含むことを特徴とする方法。
  7. 前記取り出すステップは、アプリケーションプログラミングインターフェースを介して前記リストを発見することを特徴とする請求項6に記載の方法。
  8. 前記ユーザインターフェースコンポーネントは、前記リストが関連する前記スプレッドシート文書に隣接して表示されることを特徴とする請求項6に記載の方法。
  9. 前記ユーザインターフェースコンポーネントは、タスクペインであることを特徴とする請求項8に記載の方法。
  10. 前記取り出すステップは、前記第1のクライアントが、ユーザインターフェースコンポーネントを介して前記サーバに前記リストを要求するステップを含むことを特徴とする請求項6に記載の方法。
  11. 前記要求するステップは、前記ユーザインターフェースコンポーネントの少なくとも1つのメニューコマンドを介して前記リストを要求することを特徴とする請求項10に記載の方法。
  12. 前記ユーザインターフェースコンポーネントを提示するステップは、前記リストをパラメータ名のリストおよびユーザインターフェースコントロールとして表示し、各パラメータ名は、前記パラメータ名によって表される前記スプレッドシート文書のセルに対する前記ユーザによる入力を受け取る少なくとも1つのユーザインターフェースコントロールに関連付けられることを特徴とする請求項6に記載の方法。
  13. スプレッドシート文書を格納するデータベースを有するサーバと、ネットワークを介して前記サーバに接続されるクライアントを備えたシステムにおいて、スプレッドシート文書と共に前記データベースに格納される、当該スプレッドシート文書によって表されるモデルに関連する1または複数のパラメータのリストのパラメータを編集する方法であって、
    第1のクライアントが、当該第1のクライアントの表示デバイスで前記スプレッドシート文書をレンダリングするために、前記スプレッドシート文書に関する要求を前記サーバに送信するステップであって、前記スプレッドシート文書は複数のセルを含み、前記スプレッドシード文書のセルの第1のセットは、前記モデルに関連するパラメータとして指定されるセルを含み、前記スプレッドシード文書のセルの第2のセットは、前記モデルに関連するパラメータとして指定されないセルを含み、前記第1のサブセットの各セルは、ユーザからの入力を受信して前記モデルの計算に適用されるよう指定され、前記モデル対するパラメータとして指定されていない、前記スプレッドシート文書のセルの第2のサブセットの各セルは、前記ユーザから入力を受信しないよう指定される、ステップと、
    前記サーバが、前記スプレッドシート文書によって表される前記モデルに関連する1または複数のパラメータのリストを取り出すステップであって、前記リストは、各パラメータ名および各パラメータ名に関連する任意のコメントを含み、前記リストの各パラメータは前記第1のサブセットのセルに対応する、ステップと、
    前記第1のクライアントが、前記リストに含まれるパラメータに対応する前記第1のサブセットのセルの値を編集するためのユーザインターフェースコンポーネントを提示するステップであって、前記第1のサブセットの各セル、および前記第2のサブセットの各セルはいずれも前記ユーザインターフェースコンポーネントに表示され、前記第1のサブセットの各セルを、前記第2のサブセットの各セルと区別して表示して、前記第1のサブセットのセルが前記ユーザからの入力を受信して前記モデルの計算に適用されるよう指定されることを示す、ステップと、
    前記第1のクライアントが、前記ユーザインターフェースコンポーネントを介して、前記リストの少なくとも1つのパラメータに対する編集を受信するステップと
    を含むことを特徴とする方法。
  14. 前記第1のクライアントが、前記受信した編集に関するデータを前記サーバに送信するステップと、
    前記サーバが、前記編集に関するデータに基づいて前記モデルを再計算するステップと
    をさらに含み、
    前記サーバは、前記モデルに関連するすべての情報が、前記モデルに関連する最新の情報を自動的に入手すること、および前記編集を介してユーザから前記最新の情報を受け取ることのうちの1または複数によって最新にされるまで、前記モデルの計算を保留することを特徴とする請求項13に記載の方法。
  15. 前記第1のクライアントが、再計算されたモデルを表すスプレッドシート文書を、前記サーバから受信するステップ
    をさらに含み、
    前記第1のクライアントは、前記モデルに関連するすべての情報が、前記モデルに関連する最新の情報を自動的に入手すること、および前記編集を介してユーザから最新の情報を受け取ることのうちの1または複数によって最新にされるまで、完全なスプレッドシート文書の表示を保留することを特徴とする請求項14に記載の方法。
JP2008530243A 2005-09-09 2006-09-06 スプレッドシート文書のパラメータの指定、セッティング、および発見 Expired - Fee Related JP5255443B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/223,180 2005-09-09
US11/223,180 US7752536B2 (en) 2005-09-09 2005-09-09 Designating, setting and discovering parameters for spreadsheet documents
PCT/US2006/035168 WO2007030769A2 (en) 2005-09-09 2006-09-06 Designating, setting and discovering parameters for spreadsheet documents

Publications (2)

Publication Number Publication Date
JP2009508237A JP2009508237A (ja) 2009-02-26
JP5255443B2 true JP5255443B2 (ja) 2013-08-07

Family

ID=37836545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008530243A Expired - Fee Related JP5255443B2 (ja) 2005-09-09 2006-09-06 スプレッドシート文書のパラメータの指定、セッティング、および発見

Country Status (16)

Country Link
US (1) US7752536B2 (ja)
EP (1) EP1920356A4 (ja)
JP (1) JP5255443B2 (ja)
KR (1) KR101312881B1 (ja)
CN (1) CN101258490B (ja)
AU (1) AU2006287357B2 (ja)
BR (1) BRPI0615572A2 (ja)
CA (1) CA2618211C (ja)
IL (1) IL189152A (ja)
MY (1) MY155037A (ja)
NO (1) NO20080596L (ja)
NZ (1) NZ594997A (ja)
RU (1) RU2421797C2 (ja)
TW (1) TWI416342B (ja)
WO (1) WO2007030769A2 (ja)
ZA (1) ZA200802171B (ja)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010779B2 (en) * 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
US7716231B2 (en) * 2004-11-10 2010-05-11 Microsoft Corporation System and method for generating suggested alternatives for visual or audible submissions
US7640490B2 (en) * 2004-12-20 2009-12-29 Microsoft Corporation Method, system, and computer-readable medium for controlling the calculation of volatile functions in a spreadsheet
US8055995B2 (en) * 2005-03-11 2011-11-08 Orangescape Technologies Limited System and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface
US7587665B2 (en) * 2005-03-15 2009-09-08 Microsoft Corporation Method and computer-readable medium for providing spreadsheet-driven key performance indicators
US20110145689A1 (en) * 2005-09-09 2011-06-16 Microsoft Corporation Named object view over multiple files
US20070061699A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Named object view of electronic data report
US8161372B2 (en) 2005-12-09 2012-04-17 Microsoft Corporation Extensible value types in cells
US20090006466A1 (en) * 2005-12-09 2009-01-01 Microsoft Corporation Managing extensible value types in spreadsheet cells
US8904340B2 (en) * 2007-02-13 2014-12-02 International Business Machines Corporation Use of temporary optimized settings to reduce cycle time of automatically created spreadsheets
US20090019348A1 (en) * 2007-07-13 2009-01-15 Rodney Kuhn Haffnerson King Fractal Grid Hierarchical Presentation Of Information
US10133719B2 (en) * 2007-09-28 2018-11-20 Microsoft Technology Licensing, Llc Spreadsheet workbook part libraries
US8190987B2 (en) * 2007-10-25 2012-05-29 Microsoft Corporation Private views of data and local calculations during real time collaboration
US8407668B2 (en) * 2007-10-26 2013-03-26 Microsoft Corporation Model based spreadsheet scripting language
US8006175B2 (en) * 2007-10-29 2011-08-23 Microsoft Corporation Calculation of spreadsheet data
US9501453B2 (en) * 2007-12-23 2016-11-22 Salesforce.Com Inc. Method and system for a flexible-data column user interface
US20090305200A1 (en) * 2008-06-08 2009-12-10 Gorup Joseph D Hybrid E-Learning Course Creation and Syndication
US8239357B1 (en) * 2008-09-12 2012-08-07 Ryan, LLC Method and system for extracting information from electronic data sources
US9229922B2 (en) * 2008-09-30 2016-01-05 Apple Inc. Token representation of references and function arguments
US20100107095A1 (en) * 2008-10-24 2010-04-29 Microsoft Corporation Template-based calculator application
US8195792B2 (en) * 2009-01-16 2012-06-05 Microsoft Corporation Interfacing distinct services for providing web based document manipulation access
US9459936B2 (en) * 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US9298686B2 (en) * 2009-05-14 2016-03-29 Golub Capital, Llc System and method for simulating discrete financial forecast calculations
US10198523B2 (en) 2009-06-03 2019-02-05 Microsoft Technology Licensing, Llc Utilizing server pre-processing to deploy renditions of electronic documents in a computer network
US20100332969A1 (en) * 2009-06-29 2010-12-30 Ramprabhu Jayaraman Dynamic Use of Device Theme Parameters for Rendering Markup Content
US20110167057A1 (en) * 2010-01-04 2011-07-07 Accenture Global Services Gmbh Modularized service level agreement reporting
TWI417750B (zh) * 2010-03-25 2013-12-01 Tatung Co 取代資料庫存取的方法
US8892614B2 (en) * 2010-06-07 2014-11-18 Texas Instruments Incorporated Calculator with dynamic computation environment
US8825745B2 (en) * 2010-07-11 2014-09-02 Microsoft Corporation URL-facilitated access to spreadsheet elements
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US8566740B2 (en) * 2010-12-03 2013-10-22 Salesforce.Com, Inc. Interactive data forecasting features for a graphical user interface
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US9111238B2 (en) 2010-12-17 2015-08-18 Microsoft Technology Licensing, Llc Data feed having customizable analytic and visual behavior
US9104992B2 (en) 2010-12-17 2015-08-11 Microsoft Technology Licensing, Llc Business application publication
US9110957B2 (en) 2010-12-17 2015-08-18 Microsoft Technology Licensing, Llc Data mining in a business intelligence document
US9171272B2 (en) 2010-12-17 2015-10-27 Microsoft Technology Licensing, LLP Automated generation of analytic and visual behavior
US9864966B2 (en) 2010-12-17 2018-01-09 Microsoft Technology Licensing, Llc Data mining in a business intelligence document
US9336184B2 (en) 2010-12-17 2016-05-10 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9069557B2 (en) 2010-12-17 2015-06-30 Microsoft Technology Licensing, LLP Business intelligence document
US9304672B2 (en) 2010-12-17 2016-04-05 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9024952B2 (en) 2010-12-17 2015-05-05 Microsoft Technology Licensing, Inc. Discovering and configuring representations of data via an insight taxonomy
US9578114B2 (en) 2011-09-27 2017-02-21 Microsoft Technology Licensing, Llc External service application discovery method
US9355072B2 (en) * 2011-09-28 2016-05-31 Google Inc. Recursive embedding by URL parameterization
US8990675B2 (en) 2011-10-04 2015-03-24 Microsoft Technology Licensing, Llc Automatic relationship detection for spreadsheet data items
US9069748B2 (en) * 2011-10-04 2015-06-30 Microsoft Technology Licensing, Llc Selective generation and display of data items associated with a spreadsheet
US9588953B2 (en) 2011-10-25 2017-03-07 Microsoft Technology Licensing, Llc Drag and drop always sum formulas
US10546057B2 (en) * 2011-10-28 2020-01-28 Microsoft Technology Licensing, Llc Spreadsheet program-based data classification for source target mapping
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US9171099B2 (en) 2012-01-26 2015-10-27 Microsoft Technology Licensing, Llc System and method for providing calculation web services for online documents
US20130283147A1 (en) * 2012-04-19 2013-10-24 Sharon Wong Web-based collaborative document review system
US9286284B2 (en) 2012-10-15 2016-03-15 International Business Machines Corporation Data filtering based on a cell entry
US8856234B2 (en) * 2013-02-28 2014-10-07 Workiva Llc System and method for performing distributed asynchronous calculations in a networked environment
US10140269B2 (en) 2013-03-12 2018-11-27 Microsoft Technology Licensing, Llc Viewing effects of proposed change in document before committing change
US20140372856A1 (en) 2013-06-14 2014-12-18 Microsoft Corporation Natural Quick Functions Gestures
US10360297B2 (en) 2013-06-14 2019-07-23 Microsoft Technology Licensing, Llc Simplified data input in electronic documents
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
US9026897B2 (en) * 2013-07-12 2015-05-05 Logic9S, Llc Integrated, configurable, sensitivity, analytical, temporal, visual electronic plan system
US9116931B2 (en) * 2013-07-12 2015-08-25 Logic9S, Llc Integrated, configurable, analytical, temporal, visual electronic plan system
US20150135054A1 (en) * 2013-11-14 2015-05-14 Microsoft Corporation Comments on Named Objects
US9990348B2 (en) * 2014-05-05 2018-06-05 Prasath Nayanar Chandrasekaran System and method for managing data using a spreadsheet model
US10140352B2 (en) * 2014-07-17 2018-11-27 Oracle International Corporation Interfacing with a relational database for multi-dimensional analysis via a spreadsheet application
US9910843B2 (en) * 2015-02-03 2018-03-06 Intuit Inc. Systems, methods and articles for a web-based spreadsheet application
US10509858B1 (en) 2015-03-15 2019-12-17 Sigma Sciences Limited Data processing in spreadsheet worksheets
US10546055B2 (en) * 2016-10-20 2020-01-28 Microsoft Technology Licensing, Llc Join with format modification by example
US10216494B2 (en) * 2016-12-03 2019-02-26 Thomas STACHURA Spreadsheet-based software application development
US11726753B2 (en) 2016-12-03 2023-08-15 Thomas STACHURA Spreadsheet-based software application development
US10540153B2 (en) 2016-12-03 2020-01-21 Thomas STACHURA Spreadsheet-based software application development
US10452751B2 (en) * 2017-01-09 2019-10-22 Bluebeam, Inc. Method of visually interacting with a document by dynamically displaying a fill area in a boundary
JP7357606B2 (ja) * 2017-09-26 2023-10-06 フォージー クリニカル エルエルシー 臨床試験の需給予測のためのシステムおよび方法
US11150635B2 (en) * 2017-10-02 2021-10-19 Fisher-Rosemount Systems, Inc. Projects within a process control asset management system
US11699032B2 (en) * 2017-11-03 2023-07-11 Microsoft Technology Licensing, Llc Data set lookup with binary search integration and caching
CA3084152C (en) * 2017-12-03 2023-10-17 Thomas Stachura Spreadsheet-based software application development
US11714394B2 (en) * 2018-09-28 2023-08-01 Fisher-Rosemount Systems, Inc Bulk commissioning of field devices within a process plant
US11429557B2 (en) 2018-10-11 2022-08-30 Dealvector, Inc. Templatization of spreadsheets in browser environments
US10977211B2 (en) 2018-10-11 2021-04-13 Dealvector, Inc. Effective deployment of spreadsheets in browser environments
US11429558B2 (en) 2018-10-11 2022-08-30 Dealvector, Inc. Mapping tests of spreadsheets in server-browser environments
CN112883698B (zh) * 2021-03-22 2024-02-06 京东科技控股股份有限公司 图表生成方法、装置、计算机设备和存储介质
CN116050362B (zh) * 2023-03-23 2023-07-04 青岛诺亚信息技术有限公司 一种Web表格动态数据绑定方法、介质及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9009930D0 (en) * 1990-05-02 1990-06-27 Int Computers Ltd Electronic spreadsheet
US5095429A (en) * 1990-08-28 1992-03-10 Pillar Corporation Method for prioritizing data in financial information system
US5371675A (en) * 1992-06-03 1994-12-06 Lotus Development Corporation Spreadsheet program which implements alternative range references
JPH0737008A (ja) * 1993-06-29 1995-02-07 Hitachi Ltd 表計算処理装置の表示制御方法
US5727161A (en) * 1994-09-16 1998-03-10 Planscan, Llc Method and apparatus for graphic analysis of variation of economic plans
GB9516977D0 (en) * 1995-08-17 1995-10-18 Dreamware Design & Dev Ltd Processing apparatus and method and computer software therefor
US5890174A (en) * 1995-11-16 1999-03-30 Microsoft Corporation Method and system for constructing a formula in a spreadsheet
JPH10340172A (ja) * 1997-06-06 1998-12-22 Sharp Corp データ処理装置及びデータ処理装置制御プログラムを記憶した媒体
US5987481A (en) * 1997-07-01 1999-11-16 Microsoft Corporation Method and apparatus for using label references in spreadsheet formulas
US6460059B1 (en) 1998-08-04 2002-10-01 International Business Machines Corporation Visual aid to simplify achieving correct cell interrelations in spreadsheets
EP1037157A1 (en) * 1999-03-05 2000-09-20 International Business Machines Corporation Method and system for processing different cell protection modes in an electronic spreadsheet
JP2001118009A (ja) * 1999-10-18 2001-04-27 Internatl Business Mach Corp <Ibm> 電子帳票の取得方法、電子帳票システム、電子帳票を取得するプログラムを格納した記憶媒体
CA2311866A1 (en) * 2000-01-06 2001-07-06 International Business Machines Corporation Method and system in an electronic spreadsheet for adding or removing elements from a cell named range according to different modes
JP2001357088A (ja) * 2000-06-16 2001-12-26 Denso Corp パラメトリック機能を有する3次元モデリングシステムと、同システムによるパラメータ編集方法
US6988241B1 (en) * 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
JP2003050964A (ja) 2000-11-30 2003-02-21 Kokusai Zunou Sangyo Kk 表計算ウェブサーバシステムおよび表計算ウェブシステム
US7206997B2 (en) * 2000-12-18 2007-04-17 General Motors Corporation Functional visualization of spreadsheets
US6409059B1 (en) * 2001-01-11 2002-06-25 Nathaniel Calvert Hand and finger thimbles
US20030033329A1 (en) * 2001-06-22 2003-02-13 Bergman Eric D. Method and apparatus for entry and editing of spreadsheet formulas
US20030120999A1 (en) * 2001-12-21 2003-06-26 Miller Michelle A. Calculating in spreadsheet cells without using formulas
US7266763B2 (en) * 2002-11-26 2007-09-04 Microsoft Corporation User defined spreadsheet functions
US7205957B2 (en) * 2003-08-18 2007-04-17 Via Technologies, Inc. Mechanism for adjusting the operational parameters of a component with minimal impact on graphics display

Also Published As

Publication number Publication date
WO2007030769A2 (en) 2007-03-15
US20070061698A1 (en) 2007-03-15
AU2006287357A1 (en) 2007-03-15
TWI416342B (zh) 2013-11-21
BRPI0615572A2 (pt) 2011-05-24
MY155037A (en) 2015-08-28
TW200723028A (en) 2007-06-16
US7752536B2 (en) 2010-07-06
RU2008108992A (ru) 2009-09-20
NZ594997A (en) 2013-02-22
EP1920356A2 (en) 2008-05-14
ZA200802171B (en) 2009-08-26
NO20080596L (no) 2008-04-01
RU2421797C2 (ru) 2011-06-20
KR101312881B1 (ko) 2013-09-30
CA2618211A1 (en) 2007-03-15
JP2009508237A (ja) 2009-02-26
IL189152A (en) 2012-05-31
IL189152A0 (en) 2008-08-07
CN101258490A (zh) 2008-09-03
KR20080043327A (ko) 2008-05-16
CN101258490B (zh) 2013-01-23
AU2006287357B2 (en) 2011-03-24
CA2618211C (en) 2014-02-25
EP1920356A4 (en) 2017-10-04
WO2007030769A3 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
JP5255443B2 (ja) スプレッドシート文書のパラメータの指定、セッティング、および発見
US11163542B2 (en) Dynamically generating and rendering user interfaces based on data models
KR101688554B1 (ko) 데이터 객체의 관리 및 자동 링킹
KR101311037B1 (ko) 판독시트 셀 기반 통지
US8370795B1 (en) Method and system for explaining a value of a field in a form
EP1922604B1 (en) Command user interface for displaying selectable functionality controls in a database application
RU2390834C2 (ru) Способ и устройство для просмотра и взаимодействия с электронной таблицей из веб-браузера
US20100088618A1 (en) Developing user interface element settings
US7908549B2 (en) Spreadsheet calculation as part of workflow
US9235561B2 (en) Contextual report element mapping to web service input parameter
US7529763B2 (en) System and method for providing dynamic client architecture in an application development environment
US20110055066A1 (en) System and Method for Enabling Financial Planning
US20110225484A1 (en) Cloud based modeling for enhancing spreadsheets
US20080059437A1 (en) Data mining system
US8230319B2 (en) Web-based visualization, refresh, and consumption of data-linked diagrams
US20120191762A1 (en) Providing assisted business analysis to users
TW200406692A (en) Semiconductor test data analysis system
US20070185828A1 (en) Graphical portal in an information management system and process
US10013667B2 (en) Dashboard collaborator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130419

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees