JP5349484B2 - リアルタイムコラボレーションの間のデータ及びローカル計算のプライベートビュー - Google Patents

リアルタイムコラボレーションの間のデータ及びローカル計算のプライベートビュー Download PDF

Info

Publication number
JP5349484B2
JP5349484B2 JP2010531123A JP2010531123A JP5349484B2 JP 5349484 B2 JP5349484 B2 JP 5349484B2 JP 2010531123 A JP2010531123 A JP 2010531123A JP 2010531123 A JP2010531123 A JP 2010531123A JP 5349484 B2 JP5349484 B2 JP 5349484B2
Authority
JP
Japan
Prior art keywords
client
computer
spreadsheet file
storage medium
readable storage
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.)
Active
Application number
JP2010531123A
Other languages
English (en)
Other versions
JP2011502303A5 (ja
JP2011502303A (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 JP2011502303A publication Critical patent/JP2011502303A/ja
Publication of JP2011502303A5 publication Critical patent/JP2011502303A5/ja
Application granted granted Critical
Publication of JP5349484B2 publication Critical patent/JP5349484B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

幾つかのスプレッドシートアプリケーションに関する新しい機能は、複数のユーザが1つのスプレッドシートファイル上で同時にリアルタイムでコラボレートすることができることである。これは、各ユーザが瞬間的に(又はほぼ瞬間的に)、ファイルを編集している他のユーザにより行われる変更を見ることが出来るという編集モードである。例えば、第1のユーザがスプレッドシートセルの内容を変更したとき、他の全てのユーザがスプレッドシートの更新を数ミリ秒後に各自のビュー(view)において見ることができ、よって、変更が行われるとすぐに全ての変更が表示されるように感じる。この種のコラボレーションには、リアルタイムチャットやユーザプレゼンス情報のような他の機能がしばしば伴う。もし上記機能を上手に実行することができれば、ユーザが同じスプレッドシートに対して作業をしてデータを同時に共有し編集するという状態を正しく表示することができる。
リアルタイムコラボレーションの1つの問題点は、ほとんどの場合、各コラボレーションユーザがスプレッドシートファイル内の同じデータを見たがることである。これは、明確なユーザの期待であり、もしユーザが変更をした後に同じデータを見なければ、ユーザはデータが不正確であると感ずるか、自分が行った変更が正しく受信されていないと感ずる。また、ユーザは誰が正しいデータを持っているのかということについて不安になる。このようなユーザの期待はユーザエクスペリエンスにとって非常に重要なことであるので、従来のリアルタイムコラボレーション環境における計算はサーバのような中心部で行われ、その後、各クライアントに個別に配信されていた。これは異なるタイミングで行われる異なる計算により、多くの場合データが異なってしまうからである。従って、ユーザが変更を行うたびに、変更が配信されて、スプレッドシートファイルが再計算及び再配信されて、スプレッドシートファイルの各クライアントバージョンを更新できるようにしていた。これをするにはかなりの時間を要し、複雑な計算をするスプレッドシートでは特に長い時間を要する。
リアルタイムコラボレーションの別の問題点は、コラボレーションするユーザが自分自身のビューでデータを見たいとしばしば望むことである。例えば、複数のユーザが1つの大きな表にデータを入力しているとき、各ユーザは本人しか見たいと思わないエントリを持っていることがある。各ユーザは固有の方法で表をフィルタリングして、本人が責任を持つエントリだけを表示したいと望むことがある。問題は、通常各ユーザが異なるフィルタを有しており、そのフィルタが同じ表に適用されるが、各ユーザが同じ表を同時に編集しているので、全ユーザが他のユーザの変更を見ることになることである。このことにより、従来、リアルタイムコラボレーション環境でデータを操作又は分析することは、不可能でないにしても非常に難しかった。
スプレッドシートファイル上で複数のユーザ又はクライアントによりリアルタイムコラボレーションで処理を行う技術がここに開示されている。この技術によれば、複数のクライアントの少なくとも1つにより計算をローカルに行うことができる。このようにすることにより性能が向上する。なぜならデータ更新だけをホストマシンに提供すればよいからである。よって、好ましくは、ローカルに行われる計算が異なるデータを生成可能かどうかについての決定がなされる。もしコンフリクトするデータが生成される可能性があるなら、スプレッドシートファイルの計算は通常、ホストマシンによりリモートで行われる。もしそうでなければ、上記のことができる各クライアントが計算をローカルに行い、更新データだけをホストマシンに送る。1つ又は複数の新しい式がコラボレーションしている複数クライアントの1つによりスプレッドシートファイルに追加されときのような場合に、計算がローカルに行われるべきか否かの決定は状況に応じてなされる。
スプレッドシートファイル上でコラボレートしているクライアントによって、スプレッドシートファイルの所望のビューを提供する技術についても本明細書に開示されている。スプレッドシートファイルの詳細の全てが含まれている典型的な共有ビューを表示するのではなく、プライベートビュー(private view)が各クライアント毎に、クライアントが選択するデータに応じて表示される。これは、例えば、ソート、フィルタその他のツールの使用の結果として得られるものである。従って、特定の指定動作だけがクライアントコンピュータとホストマシンの間で同期されるが、全てのデータが提供されるので、その後他のクライアントコンピュータにもデータを送信することができる。コラボレーションの後にクライアントコンピュータの所望のビュー又はプライベートビューを利用可能にするために、各ビューがホストマシンのスプレッドシートファイルに残ることもある。
上記した発明の概要は本発明の概念を簡潔に紹介するための記載であり、本発明の技術思想は後述する発明の実施形態で更に説明される。上記した発明の概要は特許請求の範囲に記載された発明の重要な特徴や本質的な特徴を特定することを意図していない。また、上記した発明の概要は特許請求の範囲に記載された発明の範囲を決定する場合の補助情報として用いられることを意図していない。
例示的な実施形態は添付図面を参照して下記の発明の実施形態の説明を読むことにより、より良く理解されるであろう。
図1は典型的なコンピューティング装置のブロック図である。 図2は複数のクライアントコンピュータがスプレッドシートファイル上でコラボレートしている様子を示すシステム図であり、1つのクライアントコンピュータがローカルに計算をしている場合を示している。 図3はスプレッドシートファイル上でコラボレートしている複数のクライアントコンピュータがスプレッドシートファイルで計算を行う方法のフローチャートである。 図4はスプレッドシートファイル上でコラボレートしている複数のクライアントコンピュータにスプレッドシートファイルのビューを提供する方法のフローチャートである。
法令に規定された要件を満たすように、本発明の内容を詳細に説明する。しかしながら、本明細書そのものは、本発明の範囲を限定する意図を有していない。特許請求の範囲に記載された発明は下記に説明されたもの以外の実施形態で実施することができる。例えば、現在又は未来の技術に鑑み、本明細書に記載されたものとは異なるステップを含んでもよいし、同様なステップを組み合わせてもよい。
図1は、上記した本発明の内容を実施することができる適切なコンピューティングシステム環境100の例を示している。このコンピューティングシステム環境100は適切なコンピューティング環境の一例に過ぎず、上記した本発明の機能又は用途の範囲に関して何らかの限定を与えることを意図していない。また、コンピューティング環境100は、典型的な動作を行うコンピューティング環境100内に図示されているコンポーネントの任意の1つ又は任意の組み合わせに関連した従属性や要件を有していると解釈されるべきではない。
図1を参照すると、コンピューティングシステム環境100は汎用コンピューティング装置としてコンピュータ110を有している。コンピュータ110のコンポーネントは、処理ユニット120、システムメモリ130及びシステムバス121を含んでもよいが、これらに限定されない。システムバス121は、システムメモリを含む種々のシステムコンポーネントを処理ユニット120に接続している。システムバス121は、色々なバスアーキテクチャを使用するメモリバス、メモリコントローラ、ペリフェラルバス(periphral bus)又はローカルバス等のいずれのバス構造を有してもよい。上記アーキテクチャは、例えば、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、拡張ISAバス、VESA(Video Electronics Standards Association)ローカルバス、PCI(Peripheral Component Interconnect)バスを含むが、これらに限定されない。尚、PCIバスはメザニンバス(Mezzanine bus)としても知られている。
通常、コンピュータ110は種々のコンピュータ可読媒体を含んでいる。コンピュータ可読媒体はコンピュータ110によりアクセス可能であれば任意の入手可能な媒体でよい。コンピュータ可読媒体は、揮発性及び不揮発性の媒体、取り外し可能な及び固定の媒体を含む。例えば、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体を含んでもよいが、これらに限定されない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールその他のデータのような情報を記憶するための任意の方法又は技術で使用される揮発性及び不揮発性の取り外し可能な及び固定の媒体を含む。コンピュータ記憶媒体は例えば、RAM、ROM、EEPROM,フラッシュメモリ、その他のメモリ手段、CRROM,DVD、その他の光学ディスク記憶手段、磁気カセット、磁気テープ、磁気ディスク記憶装置、その他の磁気記憶手段、及び、所望の情報を記憶することができ且つコンピュータ110によりアクセス可能な上記以外の任意の媒体を含むが、これらに限定されない。通常、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール及びその他のデータを、搬送波のような変調されたデータ信号又は他の移送手段に保有しており、通信媒体は任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号内の情報を符号化するように設定又は変更された特性を1つ以上有する信号を意味する。例として、通信媒体は、有線ネットワーク又は有線直結(diret−wired connection)のような有線媒体及び音響媒体、RF媒体、赤外線媒体、その他の無線媒体のような無線媒体を含むが、これらに限定されない。上記したものの任意の組み合わせも、コンピュータ可読媒体の範疇に含まれる。
システムメモリ130はコンピュータ記憶媒体として、ROM(read only memory)131及びRAM(random access memory)132のような揮発性メモリ及び/又は不揮発性メモリを有する。BIOS(Basic Input/Output System)133は、例えばスタートアップの際にコンピュータ110内の要素間で情報を伝送するための基本ルーチンを含んでおり、通常はROM131に記憶されている。通常、RAM132は、処理ユニット120により直ちにアクセス可能である及び/又は処理ユニット120により処理中のデータ及び/又はプログラムモジュールを含んでいる。一例として、図1はオペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136及びプログラムデータ137を示しているが、これらに限定されない。
コンピュータ110は他の取り外し可能な/固定の、揮発性/不揮発性のコンピュータ記憶媒体をさらに有してもよい。一例として、図1は、固定の不揮発性の磁気媒体に読み書きを行うハードディスクドライブ141と、取り外し可能な不揮発性の磁気ディスク152に読み書きを行う磁気ディスクドライブ151と、CD−RW、DVD−RW、その他の光学媒体のような取り外し可能な不揮発性の光学ディスク156に読み書きを行う光学ディスクドライブ155とを示している。上記した以外の取り外し可能な/固定の、揮発性/不揮発性のコンピュータ記憶媒体で上記の典型的な動作環境において使用することができるものは、磁気テープカセット、フラッシュメモリカード、DVD、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM等であるが、これらに限定されない。通常、ハードディスクドライブ141はシステムバス121に、インターフェース140のような固定のメモリインターフェースを介して接続される。また、磁気ディスクドライブ151及び光学ディスクドライブ155は通常、システムバス121に、インターフェース150のような取り外し可能なメモリインターフェースにより接続される。
上述され且つ図1に示されたドライブ及びこれらに付随するコンピュータ記憶媒体は、コンピュータ110において使用されるコンピュータ可読命令、データ構造、プログラムモジュール及びその他のデータを記憶する。例えば、図1において、ハードディスクドライブ141はオペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146及びプログラムデータ147を記憶するものとして図示されている。尚、これらコンポーネントはオペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136及びプログラムデータ137と同じであってもよいし異なっていてもよい。本明細書では、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146及びプログラムデータ147には異なる番号が付けられており、少なくとも、これらが異なるものであることを示している。ユーザはコマンド及び情報をキーボード162及びポインティングデバイス161のような入力装置を介してコンピュータ110に入力することができる。ポインティングデバイス161は例えば、マウス、トラックボール、タッチパッドである。その他の入力装置(不図示)としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナ等が挙げられる。上記及びその他の入力装置はしばしば処理ユニット120にユーザ入力インターフェース160を介して接続される。ユーザ入力インターフェース160はシステムバス121に接続されている。尚、上記及びその他の入力装置は、パラレルポート、ゲームポート又はUSB(universal serial bus)のような他のインターフェース及びバス構造により処理ユニット120に接続されてもよい。グラフィックスインターフェース182も、システムバス121に接続されてよい。1つ又は複数のGPU(Graphics Processing Units)184はグラフィックスインターフェース182と通信可能であってもよい。モニタ191又は他のタイプの表示装置も、ビデオインターフェース190のようなインターフェースを介してシステムバス121に接続されている。ビデオインターフェース190はビデオメモリ186と通信可能である。モニタ191に加え、コンピュータは、スピーカ197及びプリンタ196のようなその他の周辺出力機器も含んでもよい。これら機器は出力周辺機器インターフェース195を介して接続される。
コンピュータ110はネットワーク環境又は分散環境で機能することがで、この場合、リモートコンピュータ180のような1つ又は複数のリモートコンピュータにつながる論理接続を使用する。リモートコンピュータ180は、例えば、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、又はその他の一般的なネットワークノードであり、図1には1つのメモリ記憶デバイス181しか示されていないが、通常、上記コンピュータ110に関連して上述された要素の多く又は全てを含む。図1に示された論理接続は、LAN(ローカルエリアネットワーク)171及びWAN(広域ネットワーク)173を含むが、他のネットワーク/バスを含んでもよい。このようなネットワーク環境は、家庭、オフィス、企業内コンピュータネットワーク、イントラネット及びインターネットにおいて広く使用されているものである。
LANネットワーク環境で使用される場合、コンピュータ110はLAN171にネットワークインターフェース又はアダプタ170を介して接続される。WANネットワーク環境で使用される場合、コンピュータ110は通常、インターネットのようなWAN173を介して通信を可能とするモデム172又はその他の手段を含む。モデム172は外部に設けられる場合もあるし内部に設けられる場合もあるが、ユーザ入力インターフェース160又は他の適切な手段を介してシステムバス121に接続され得る。ネットワーク環境においては、コンピュータ110に関連して説明されたプログラムモジュール又はその一部は、リモートメモリ記憶装置に記憶されてもよい。例として、図1はリモートアプリケーションプログラム185がメモリ装置181にある場合を示しているが、これに限定されない。尚、図示されたネットワーク接続は例示であり、コンピュータ同士間で通信リンクを確立する他の手段を使用してもよい。
図2から次のことが理解できる。即ち、上記したものに類似した2つ又は3つ以上のコンピューティングシステム200、220は、第1のクライアント及び第2のクライアントとして知られているものであり、スプレッドシートファイル210のような共通の1つのファイル上で、リアルタイムでコラボレートしたいと望むことがある。これは、各ユーザ又はクライアントが、ファイルを同時に編集している他のユーザ又はクライアントによって行われる変更を見る編集モードである。図示されているように、これは、サーバ230のような別のホストマシンを介して行われる。このホストマシンは保存されるスプレッドシートファイルのバージョンを有している。勿論、クライアントコンピュータのいずれかがコラボレーション用ホストマシンとして使用されることもある。この場合、クライアントコンピュータが上記能力を備え且つクライアントコンピュータが正しくネットワーク化されていることが条件となる。
典型的なコラボレーション環境においては、クライアントコンピュータ(例えば、コンピューティングシステム200)は、メッセージ又はデータ更新を、コンピュータ実行命令を介してホストマシン230に伝達する(矢印240で示されているように)。ホストマシン230は、全てのクライアントから受信される色々な変更や入力データを処理し(ボックス250に示されているように)、データ更新等を、コンピュータ実行命令を介して各クライアントコンピュータに送信する(矢印260で示されているように)。このように、全てのクライアントコンピュータに対してスプレッドシートファイル210の状態は、コラボレーション中は、同期状態に維持される。尚、いずれかのクライアントコンピュータによりスプレッドシートファイル210に行われる変更は、迅速に別のクライアントコンピュータに提供されるので、全ての変更は変更が生じたときに現れるように見える。
スプレッドシートファイル210で行われる全ての計算を中央処理して結果を個々のクライアントコンピュータに再配信するという動作をホストマシン230に任せるのではなく、少なくとも幾つかの状況下では、計算を1つ又は複数のクライアントコンピュータによってローカルに行うことが好ましい場合もある(ボックス270を参照)。図2の例では、クライアントコンピュータ220だけが上記のようなローカルな計算を行うように図示されているが、任意の数の他のクライアントコンピュータ(例えば、クライアントコンピュータ200)も上記のローカルな計算を行ってよい。ローカルな計算は、例えば、技術分野でシッククライアント(thick client)バージョンとして知られているものによって、または、他の論理(例えば、ローカルなウェブページに含まれている論理)を使用することによって、行うことができる。このようなローカルな計算がクライアントコンピュータ220によって行われた後、データに対する更新だけ(ボックス280参照)がホストマシン230に送信され(矢印290で示されているように)同期がとられる。尚、任意のコラボレートセッションにおいて、1つ又は複数のクライアントコンピュータがスプレッドシートファイル210の計算をローカルに行ってもよいし、1つ又は複数のクライアントコンピュータはホストマシン230を利用して上記計算をリモートで行ってもよい。しかしながら、特に、複雑な計算が含まれるとき、スプレッドシートファイル210によって要求される計算をローカルに行うことにより、データ更新がより早く完了する場合がある。
スプレッドシートファイル220のローカルな計算がどのように、複数のユーザ又はクライアントを含むコラボレートセッションの間に好適に採用されるかをより良く理解するために、関係するプロセスステップが図3に示されている。図示されているように、リアルタイムコラボレーションは、ホストマシンに記憶されているスプレッドシートファイルが複数のクライアント又はユーザによって開かれると開始する(ボックス300)。その後、ホストマシンは、スプレッドシートファイルのために実行されるべき計算がクライアントによってローカルに行われるのならば異なるデータを返信可能かを、決定する(ボックス305)。より詳しくは、ホストマシンは好ましくは、スプレッドシートファイル内の全ての式を、異なる結果を生成するものとして知られている式の所定リストと比較する。計算結果同士のずれは、色々な理由により生じ得る。例えば、計算がいつまたはどこで行われたかにより、ずれが生ずることもある。各スプレッドシート計算では上記決定を個別に行う。なぜなら上記決定は、上記機能がどのように評価されるかに応じて変わることがあるからである。
もし上記計算が常に同じ結果を返信するものであるとホストマシンによって決定されたならば、上記計算をローカルに行わせるためのメッセージが各クライアントコンピュータに送られ(ボックス310)、クライアントコンピュータが計算を行う(ボックス315)。尚、ローカルに計算を行う各クライアントコンピュータはクライアントのスプレッドシートファイルに計算結果を表示し(ボックス320)、データのみを含む対応更新情報をホストマシンに送る(ボックス325)。従って、ホストマシンはクライアントコンピュータからの複数の更新情報を同期させ、更新情報を全てのクライアントコンピュータに送る(ボックス330)。
たとえ上記計算がクライアントコンピュータによりローカルに行われる場合に異なるデータが返信され得ると決定されても、各ユーザ又はクライアントにはスプレッドシートファイルの式をローカルに計算するか否かを決めるための選択又は選択肢が提供されることが好ましい(ボックス335)。例えば、(例えば、どの時間帯にクライアントコンピュータが位置するのかに応じた結果を関数が与える場合)異なる結果を返信するローカル計算が許容される場合もある。このような場合、計算はクライアントコンピュータによってローカルに行われ(ボックス340)、計算結果はクライアントコンピュータによって表示され(ボックス345)、対応するデータ更新がホストマシンに送られる(ボックス350)。
もしクライアントが計算をローカルに行うことができなければ、あるいは、もし異なる結果が許容できないと考えられるならば、データ更新はホストマシンに送られ(ボックス355)、スプレッドシートファイルのための計算は好ましくはホストマシンによってリモートに行われる(ボックス360)。データ更新はその後ホストマシンからクライアントコンピュータに送られる(ボックス330)。スプレッドシートファイルの式の計算をローカルに行うか否かの選択は管理方針によって予め決めておくこともできる。
スプレッドシートファイルの式の計算をローカルに行うか否かに拘わらず、次のことがフィードバックループ332から理解できる。即ち、データ更新がホストマシンによって同期して行われて全てのクライアントに送られること(ボックス330)が、コラボレーション中は連続して行われることが好ましいということが理解できる。このように、クライアントコンピュータは現在のデータに基づいてスプレッドシートファイルを変更することができ且つ現在のデータに基づいてスプレッドシートファイルの計算を行うことができる。
スプレッドシートファイルの計算をローカルに行うか否かの決定を状況に応じて行えるようにするためには、コラボレーションの間に新しい式がスプレッドシートファイルに追加されたかを決定するステップを上記プロセスが含むことが好ましい(ボックス365)。明らかに、もしクライアントコンピュータによって式が追加されていないならば、ホストマシンからクライアントコンピュータへのデータ更新の送信は続けられる(ボックス330)。1つ又は複数の新しい式がコラボレーションの間に追加されると、フィードバックループ370が形成されて、新しい式が分析され、スプレッドシートファイルの計算がローカルに行われるときに異なるデータが返信可能かどうかを新たに決定することになる(ボックス310)。
本発明の他の側面は、コラボレーションの間に各クライアントコンピュータにおいて表示されるスプレッドシートファイルのビューに関する。クライアントコンピュータがスプレッドシートファイル全体を表示する、スプレッドシートファイルの共有ビューに限定されるのではなく、スプレッドシートファイルの特定のオブジェクトのみを表示する、プライベートビューを持つことをクライアント又はユーザは好む場合もある。スプレッドシートファイル内の全てのデータが各クライアントコンピュータにとって同じであり、いかなるデータに行われる変更もホストマシンによって更新可能であり、各クライアントコンピュータに送られるとする。各クライアントコンピュータはデータのクライアントのビューにのみ適用するソーティングとフィルタリングを施すことができるので、各クライアントはスプレッドシートファイルにおいて自分のためだけに調整されたデータビューを持つことができる。このことにより、複数の大きな表を同時に編集又は分析する必要があるクライアントは、1つの編集を行うときと同じような体験をすることになる。勿論、好ましくは、1つのクライアントコンピュータによって行われるビューへの変更は、他の全てのクライアントへ配信されない。
図4に示されているように、コラボレーションは、スプレッドシートファイルが複数のクライアントコンピュータによって開かれたときに開始される(ボックス400)。尚、クライアントがスプレッドシートファイルにおいてデータオブジェクトをプライベートビュー又は共有ビューのいずれで見るかを選択できるようにするための選択又は選択肢が(例えば、ユーザインターフェースによって)提供される(ボックス405)。この選択肢はスプレッドシート全体に包括的に提供されるか、スプレッドシートのオブジェクト毎に提供される。もしクライアントがプライベートビューを持ちたいと望むなら、データのビューは、まるで一人のユーザが編集を行っている場合と同じように、クライアントにより生成される(ボックス410)。
ユーザ又はクライアントがコラボレーションで処理を行う度に、ユーザ又はクライアントは、スプレッドシートファイルについて処理をホストマシンと同期させるべきかを決定する(ボックス415)。よって、好ましくは、クライアントアプリケーションはどの処理がホストマシンと同期されるべきか及び同期されるべきではないかを知るロジックを含む。例えば、特定の処理(例えば、ソーティング、フィルタリング、ピボットテーブル操作(PivotTable manipulations)等)が同期されるべきでないかが決定される。いずれにせよ、好ましくは、クライアントによってスプレッドシートファイルに追加された又は変更されたデータは、常にホストマシンと同期される(ボックス420)。
その後ホストマシンがデータ更新を処理して、データ更新を全てのクライアントコンピュータに送ることになる(ボックス425)。クライアントコンピュータがホストマシンから受信する全ての変更は、コラボレーションにおいてそのような変更が通常適用されるように適用される。よって、データにおけるどのような変更も、それがたとえプライベートビューに示されているデータにおける変更であっても、コラボレーションしている他の全てのクライアントコンピュータによって取得される。同時に、データにおける変更がプライベートビューで見ることができない場合には、変更はプライベートビューのユーザインターフェースに表示されない。コラボレーションの間は編集プロセスが継続的に進行するので、好ましくはフィードバックループ435を設けることにより、ホストマシンからの更新されたデータは選ばれたビューに表示される。
勿論、上記ビューに代わるもう一つのビューは共有ビューであり、共有ビューはスプレッドシートファイルを包括的に表示する。プライベートビューが選択されない場合、プライベートビューの代わりに、共有ビューが生成される(ボックス430)。
一旦ユーザ又はクライアントコンピュータがコラボレーションから外れることを決めると、好ましくは、クライアントコンピュータのために選択されたビューはホストコンピュータに記憶されているスプレッドシートファイルに残される(ボックス440)。このようにすれば、クライアントコンピュータはスプレッドシートファイルを後日開いたとき、スプレッドシートファイルからそのビューを見ることができる。任意ではあるが、各クライアントコンピュータのビューに関して、ロジックはスプレッドシートファイルのフォーマットで書かれてもよい。このビューはファイルフォーマットで表として表すことができ、各ユーザ、オブジェクト及びオブジェクトのビューのエントリを有する。
1つの典型的な状況としては、第1のユーザと第2のユーザが、例えば、スプレッドシートアプリケーションのシック(thick)クライアントバージョンを使用して、スプレッドシートの大きな表においてコラボレートしている場合が考えられる。この表は例えば、各国毎の販売データを含む。例えば、第1のユーザ又は第1のクライアントがフィルタリングを適用することにより、米国における販売のみを表示するのに対し、第2のユーザはフィルタリングを適用することによりフランスにおける販売のみを表示する。もし第2のユーザがフランスにおける販売を含む上記表の行に変更を行ったとすると、データが変更された後に変更は第1のユーザのコンピュータに送信される。但し、第1のユーザのビューは上記変更をスクリーン上に反映しない。なぜなら、フランスにおける全ての販売データは、現在、フィルタリングされて、ビューに表示されないようになっているからである。しかしながら、第2のユーザによって行われる変更が考慮されている、第1のユーザのスプレッドシートにおけるトータルセールスチャートのような第1のユーザのスプレッドシートの他の場所は正確に更新される。また、第2のユーザは、フランスとスペインからの販売データを見ることができるように、適用されたフィルタリングを変更することもある。この変更はビューに影響を与えるだけだから、この変更はホストマシンには送信されないようにし、第1のユーザによっても認識されないようにしてもよい。
本発明の内容を構造的特徴及び/または方法論的な動作に注目して説明してきたが、特許請求の範囲に記載されている本発明の内容は、上記された特徴または動作に限定される必要はない。上記された特徴または動作は特許請求の範囲に記載された本発明を実施する1つの例として開示されているだけである。

Claims (16)

  1. プロセスを実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記プロセスは、
    1のクライアント第2のクライアントとによるスプレッドシートファイル共有及び同時編集を開始するステップと、
    前記スプレッドシートファイルにおける計算がローカルに行われる場合に異なるデータを返信可能か決定するステップと、
    前記返信が可能な場合、前記スプレッドシートファイルにおける前記計算をローカルに行うべきかの選択を前記第1のクライアントに提供するステップと、
    前記返信が不可能な場合、
    前記第1のクライアントに前記計算をローカルに行うよう命令して
    前記スプレッドシートファイルにおける計算の少なくとも1つを前記第1のクライアントにおいてローカルに行わせ
    前記第1のクライアントに前記少なくとも1つの行われた計算の結果を表示させるステップと
    を備えることを特徴とするコンピュータ可読記憶媒体。
  2. 前記コンピュータ実行可能命令によって実行される前記プロセスは、前記スプレッドシートファイル内の式を、異なる結果を生成することが知られている式の所定リストと比較するステップをさらに備えることを特徴とする請求項1に記載のコンピュータ可読記憶媒体。
  3. 前記選択への応答は、管理方針によって予め決められることを特徴とする請求項1に記載のコンピュータ可読記憶媒体。
  4. 前記コンピュータ実行可能命令によって実行される前記プロセスは、
    前記スプレッドシートファイルを共有および同時に編集する間に加えられた式について、前記スプレッドシートファイルにおける計算がローカルに行われる場合に異なるデータを返信可能であるかを状況に応じて決定するステップ
    をさらに備えることを特徴とする請求項1に記載のコンピュータ可読記憶媒体。
  5. 前記コンピュータ実行可能命令によって実行される前記プロセスは、
    前記スプレッドシートファイルにおけるデータに対する更新を受信するステップと、
    更新された前記データを用いる式について、前記スプレッドシートファイルにおける新しい計算をローカルに行うように命令するステップと
    をさらに備えることを特徴とする請求項1に記載のコンピュータ可読記憶媒体。
  6. プロセスを実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記プロセスは、
    第1のクライアントと第2のクライアントとによるスプレッドシートファイル共有及び同時編集を開始するステップと、
    前記スプレッドシートファイルにおける計算がローカルに行われる場合に異なるデータを返信可能か決定するステップと、
    前記返信が不可能な場合、前記第1のクライアントに前記計算をローカルに行うよう命令するステップと、
    前記返信が可能な場合、前記スプレッドシートファイルにおける前記計算を前記第1のクライアントにおいてローカルに行うべきか前記第1のクライアント以外のリモートデバイスにおいて行うべきかを決定するステップであって、
    前記計算がローカルに行われるべきならば、前記計算を前記第1のクライアントにおいてローカルに行わせ
    前記計算がリモートで行われるべきならば、前記計算を行うためのデータを受け取る、ステップと
    を備えることを特徴とするコンピュータ可読記憶媒体。
  7. 前記コンピュータ実行可能命令によって実行される前記プロセスは、前記スプレッドシートファイル内の式を、異なる結果を生成することが知られている式の所定リストと比較するステップをさらに備えることを特徴とする請求項6に記載のコンピュータ可読記憶媒体。
  8. 前記コンピュータ実行可能命令によって実行される前記プロセスは、
    前記スプレッドシートファイルにおける前記計算をローカルに行うべきかを前記第1のクライアントに選択させるステップ
    をさらに備えることを特徴とする請求項6に記載のコンピュータ可読記憶媒体。
  9. 前記コンピュータ実行可能命令によって実行される前記プロセスは、
    前記スプレッドシートファイルを共有および同時に編集する間に加えられた式について、前記スプレッドシートファイルにおける計算がローカルに行われる場合に異なるデータを返信可能かを状況に応じて決定するステップ
    をさらに備えることを特徴とする請求項6に記載のコンピュータ可読記憶媒体。
  10. 前記コンピュータ実行可能命令によって実行される前記プロセスは、
    前記スプレッドシートファイルにおけるデータに対する更新を受信するステップと、
    更新された前記データを用いる式について、前記スプレッドシートファイルにおける新しい計算をローカルに行わせるステップと
    をさらに備えることを特徴とする請求項6に記載のコンピュータ可読記憶媒体。
  11. プロセスを実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記プロセスは、
    第1のクライアントにおいて、第2のクライアントにおいても開かれているスプレッドシートファイルであり前記第1のクライアントと前記第2のクライアントにより共有および同時に編集されるスプレッドシートファイルを開くステップと、
    前記スプレッドシートファイルの前記スプレッドシートファイルの全体よりも小さな第1のプライベートビューを前記第1のクライアントにおいて提供するステップと
    を備え、
    前記コンピュータ実行可能命令によって実行される前記プロセスは、
    前記第1のクライアントによって前記スプレッドシートファイル上で行われる各処理をホストマシンに同期させるかを決定するステップ
    をさらに備えることを特徴とするコンピュータ可読記憶媒体。
  12. プロセスを実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記プロセスは、
    第1のクライアントにおいて、第2のクライアントにおいても開かれているスプレッドシートファイルであり前記第1のクライアントと前記第2のクライアントにより共有および同時に編集されるスプレッドシートファイルを開くステップと、
    前記スプレッドシートファイルの前記スプレッドシートファイルの全体よりも小さな第1のプライベートビューを前記第1のクライアントにおいて提供するステップと
    を備え、
    前記コンピュータ実行可能命令によって実行される前記プロセスにおいて、前記スプレッドシートファイルの前記第1のプライベートビューが、前記スプレッドシートファイルに適用されるフィルタによって決定されることを特徴とするコンピュータ可読記憶媒体。
  13. プロセスを実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記プロセスは、
    第1のクライアントにおいて、第2のクライアントにおいても開かれているスプレッドシートファイルであり前記第1のクライアントと前記第2のクライアントにより共有および同時に編集されるスプレッドシートファイルを開くステップと、
    前記スプレッドシートファイルの前記スプレッドシートファイルの全体よりも小さな第1のプライベートビューを前記第1のクライアントにおいて提供するステップと
    を備え、
    前記コンピュータ実行可能命令によって実行される前記プロセスは、
    前記第1のクライアントによって前記スプレッドシートファイルに入力された新しいデータの全てをホストマシンに同期させるステップ
    をさらに備えることを特徴とするコンピュータ可読記憶媒体。
  14. プロセスを実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記プロセスは、
    第1のクライアントにおいて、第2のクライアントにおいても開かれているスプレッドシートファイルであり前記第1のクライアントと前記第2のクライアントにより共有および同時に編集されるスプレッドシートファイルを開くステップと、
    前記スプレッドシートファイルの前記スプレッドシートファイルの全体よりも小さな第1のプライベートビューを前記第1のクライアントにおいて提供するステップと
    を備え、
    前記コンピュータ実行可能命令によって実行される前記プロセスは、ホストマシンから受信された全ての変更を前記第1のクライアントに適用するステップ
    をさらに備えることを特徴とするコンピュータ可読記憶媒体。
  15. プロセスを実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記プロセスは、
    第1のクライアントにおいて、第2のクライアントにおいても開かれているスプレッドシートファイルであり前記第1のクライアントと前記第2のクライアントにより共有および同時に編集されるスプレッドシートファイルを開くステップと、
    前記スプレッドシートファイルの前記スプレッドシートファイルの全体よりも小さな第1のプライベートビューを前記第1のクライアントにおいて提供するステップと
    を備え、
    前記スプレッドシートファイルの前記第1のプライベートビューホストマシンにおいても維持される
    ことを特徴とするコンピュータ可読記憶媒体。
  16. プロセスを実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記プロセスは、
    第1のクライアントにおいて、第2のクライアントにおいても開かれているスプレッドシートファイルであり前記第1のクライアントと前記第2のクライアントにより共有および同時に編集されるスプレッドシートファイルを開くステップと、
    前記スプレッドシートファイルの前記スプレッドシートファイルの全体よりも小さな第1のプライベートビューを前記第1のクライアントにおいて提供するステップと
    を備え、
    前記コンピュータ実行可能命令によって実行される前記プロセスは、
    各クライアントのビューを前記スプレッドシートファイルのフォーマットで書くステップであり、
    前記スプレッドシートファイルの前記ビューホストマシンに記憶される、ステップと
    をさらに備えることを特徴とするコンピュータ可読記憶媒体。
JP2010531123A 2007-10-25 2008-10-11 リアルタイムコラボレーションの間のデータ及びローカル計算のプライベートビュー Active JP5349484B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/924,051 2007-10-25
US11/924,051 US8190987B2 (en) 2007-10-25 2007-10-25 Private views of data and local calculations during real time collaboration
PCT/US2008/079668 WO2009055263A2 (en) 2007-10-25 2008-10-11 Private views of data and local calculations during real time collaboration

Publications (3)

Publication Number Publication Date
JP2011502303A JP2011502303A (ja) 2011-01-20
JP2011502303A5 JP2011502303A5 (ja) 2011-11-24
JP5349484B2 true JP5349484B2 (ja) 2013-11-20

Family

ID=40580321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010531123A Active JP5349484B2 (ja) 2007-10-25 2008-10-11 リアルタイムコラボレーションの間のデータ及びローカル計算のプライベートビュー

Country Status (6)

Country Link
US (2) US8190987B2 (ja)
EP (2) EP2218011B1 (ja)
JP (1) JP5349484B2 (ja)
KR (1) KR101514103B1 (ja)
CN (1) CN101836198B (ja)
WO (1) WO2009055263A2 (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080028302A1 (en) * 2006-07-31 2008-01-31 Steffen Meschkat Method and apparatus for incrementally updating a web page
US8190987B2 (en) 2007-10-25 2012-05-29 Microsoft Corporation Private views of data and local calculations during real time collaboration
US8006175B2 (en) * 2007-10-29 2011-08-23 Microsoft Corporation Calculation of spreadsheet data
US8943129B2 (en) * 2008-01-28 2015-01-27 Adobe Systems Incorporated Document based conferencing
US9613079B2 (en) * 2008-03-14 2017-04-04 Palo Alto Research Center Incorporated System and method for providing a synchronized data rerepresentation
US8271892B2 (en) * 2008-07-02 2012-09-18 Icharts, Inc. Creation, sharing and embedding of interactive charts
US8520000B2 (en) 2008-07-02 2013-08-27 Icharts, Inc. Creation, sharing and embedding of interactive charts
US20110252312A1 (en) 2010-04-12 2011-10-13 Google Inc. Real-Time Collaboration in a Hosted Word Processor
US20110252339A1 (en) 2010-04-12 2011-10-13 Google Inc. Collaborative Cursors in a Hosted Word Processor
US9043706B2 (en) * 2010-08-31 2015-05-26 Anders Nancke-Krogh System and method for using state replication between application instances to provide a collaborative desktop environment
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9721030B2 (en) * 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US9811516B2 (en) * 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US9898454B2 (en) 2010-12-14 2018-02-20 Microsoft Technology Licensing, Llc Using text messages to interact with spreadsheets
US9129234B2 (en) 2011-01-24 2015-09-08 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet
US8996985B1 (en) 2011-03-16 2015-03-31 Google Inc. Online document processing service for displaying comments
US9336137B2 (en) 2011-09-02 2016-05-10 Google Inc. System and method for performing data management in a collaborative development environment
US8266245B1 (en) 2011-10-17 2012-09-11 Google Inc. Systems and methods for incremental loading of collaboratively generated presentations
US10430388B1 (en) 2011-10-17 2019-10-01 Google Llc Systems and methods for incremental loading of collaboratively generated presentations
US20150199308A1 (en) 2011-10-17 2015-07-16 Google Inc. Systems and methods for controlling the display of online documents
US8434002B1 (en) 2011-10-17 2013-04-30 Google Inc. Systems and methods for collaborative editing of elements in a presentation document
US8471871B1 (en) 2011-10-17 2013-06-25 Google Inc. Authoritative text size measuring
US8812946B1 (en) 2011-10-17 2014-08-19 Google Inc. Systems and methods for rendering documents
US8397153B1 (en) 2011-10-17 2013-03-12 Google Inc. Systems and methods for rich presentation overlays
US8738706B1 (en) 2011-11-16 2014-05-27 Google Inc. Systems and methods for collaborative document editing
US9367522B2 (en) 2012-04-13 2016-06-14 Google Inc. Time-based presentation editing
US9262420B1 (en) 2012-04-23 2016-02-16 Google Inc. Third-party indexable text
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US9462037B2 (en) 2013-01-07 2016-10-04 Google Inc. Dynamically sizing chunks in a partially loaded spreadsheet model
US10956667B2 (en) 2013-01-07 2021-03-23 Google Llc Operational transformations proxy for thin clients
US9311622B2 (en) * 2013-01-15 2016-04-12 Google Inc. Resolving mutations in a partially-loaded spreadsheet model
US9461870B2 (en) 2013-05-14 2016-10-04 Google Inc. Systems and methods for providing third-party application specific storage in a cloud-based storage system
US9298688B1 (en) 2013-05-22 2016-03-29 Google Inc. Non-collaborative filters in a collaborative document
US8943142B1 (en) * 2013-05-22 2015-01-27 Google Inc. Non-collaborative filters in a collaborative document
US9361287B1 (en) 2013-05-22 2016-06-07 Google Inc. Non-collaborative filters in a collaborative document
WO2014190031A2 (en) * 2013-05-22 2014-11-27 Google Inc. Non-collaborative filters in a collaborative document
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US10599753B1 (en) 2013-11-11 2020-03-24 Amazon Technologies, Inc. Document version control in collaborative environment
US9542391B1 (en) 2013-11-11 2017-01-10 Amazon Technologies, Inc. Processing service requests for non-transactional databases
US11336648B2 (en) 2013-11-11 2022-05-17 Amazon Technologies, Inc. Document management and collaboration system
US10540404B1 (en) 2014-02-07 2020-01-21 Amazon Technologies, Inc. Forming a document collection in a document management and collaboration system
US9875226B1 (en) * 2013-12-20 2018-01-23 Google Llc Performing server-side and client-side operations on spreadsheets
US9292486B2 (en) 2014-01-08 2016-03-22 International Business Machines Corporation Validation of formulas with external sources
US10691877B1 (en) 2014-02-07 2020-06-23 Amazon Technologies, Inc. Homogenous insertion of interactions into documents
US9807073B1 (en) 2014-09-29 2017-10-31 Amazon Technologies, Inc. Access to documents in a document management and collaboration system
US9665654B2 (en) 2015-04-30 2017-05-30 Icharts, Inc. Secure connections in an interactive analytic visualization infrastructure
US11093703B2 (en) * 2016-09-29 2021-08-17 Google Llc Generating charts from data in a data table
US10216494B2 (en) 2016-12-03 2019-02-26 Thomas STACHURA Spreadsheet-based software application development
US11157690B2 (en) 2017-02-22 2021-10-26 Microsoft Technology Licensing, Llc Techniques for asynchronous execution of computationally expensive local spreadsheet tasks
US10725799B2 (en) 2017-02-22 2020-07-28 Microsoft Technology Licensing, Llc Big data pipeline management within spreadsheet applications
PL3718000T3 (pl) * 2017-12-03 2024-02-05 Thomas Stachura Tworzenie aplikacji programowej w oparciu o arkusz kalkulacyjny
CN109670159A (zh) * 2018-12-28 2019-04-23 天津字节跳动科技有限公司 视图的创建及管理方法、装置、电子设备和存储介质
GB202002163D0 (en) 2020-02-17 2020-04-01 Microsoft Technology Licensing Llc Spreadsheet with reuse functionality
JP6846554B1 (ja) * 2020-03-06 2021-03-24 サイボウズ株式会社 表示制御システム、表示制御方法、及びプログラム

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319777A (en) * 1990-10-16 1994-06-07 Sinper Corporation System and method for storing and retrieving information from a multidimensional array
US6157934A (en) * 1995-10-24 2000-12-05 Ultimus, L.L.C. Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation
US6138130A (en) * 1995-12-08 2000-10-24 Inventure Technologies, Inc. System and method for processing data in an electronic spreadsheet in accordance with a data type
US6006239A (en) * 1996-03-15 1999-12-21 Microsoft Corporation Method and system for allowing multiple users to simultaneously edit a spreadsheet
US6233600B1 (en) * 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6342906B1 (en) 1999-02-02 2002-01-29 International Business Machines Corporation Annotation layer for synchronous collaboration
US6564246B1 (en) 1999-02-02 2003-05-13 International Business Machines Corporation Shared and independent views of shared workspace for real-time collaboration
US6411967B1 (en) 1999-06-18 2002-06-25 Reliable Network Solutions Distributed processing system with replicated management information base
US6859821B1 (en) 1999-07-19 2005-02-22 Groove Networks, Inc. Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US6341292B1 (en) * 2000-05-30 2002-01-22 Outlooksoft Corporation Spreadsheet-based network information exchange with two-part cache
AU2001277868A1 (en) 2000-07-11 2002-01-21 Juice Software, Inc. A method and system for integrating network-based functionality into productivity applications and documents
US6988241B1 (en) 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
EP1204048A1 (en) * 2000-11-03 2002-05-08 Sun Microsystems, Inc. Method and apparatus for handling scenarios in spreadsheet documents
US20030018719A1 (en) * 2000-12-27 2003-01-23 Ruths Derek Augustus Samuel Data-centric collaborative computing platform
US6832242B2 (en) * 2000-12-28 2004-12-14 Intel Corporation System and method for automatically sharing information between handheld devices
US7082569B2 (en) 2001-01-17 2006-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US20020188629A1 (en) 2001-05-21 2002-12-12 Burfoot Daniel C. System, protocol, and methods for the creation of distributed spreadsheets
US7047484B1 (en) 2001-10-18 2006-05-16 Microsoft Corporation Method, system, and apparatus for providing access to asynchronous data in a spreadsheet application program
US8010491B2 (en) 2003-02-28 2011-08-30 Microsoft Corporation Method for managing multiple file states for replicated files
US20040237045A1 (en) 2003-05-21 2004-11-25 Eintelligence, Inc. Method for asynchronous sharing of integrated spreadsheets using a network
US7640506B2 (en) * 2003-06-27 2009-12-29 Microsoft Corporation Method and apparatus for viewing and managing collaboration data from within the context of a shared document
FR2859552B1 (fr) 2003-09-10 2006-03-31 Granite Software Procede et systeme de manipulation de donnees issues de bases de donnees multidimensionnelles a l'aide d'un tableur
US7233951B1 (en) 2004-02-18 2007-06-19 Microsoft Corporation Spreadsheet grid-like control for a web-based collaboration system
US7213199B2 (en) 2004-07-16 2007-05-01 Cognos Incorporated Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store
US9009582B2 (en) * 2004-11-19 2015-04-14 Google Inc. Converting spreadsheet applications to web-based applications
US7647551B2 (en) * 2004-12-15 2010-01-12 Microsoft Corporation System and method for formatting a cell in response to data stored in a separate location
US7693860B2 (en) * 2005-03-18 2010-04-06 Microsoft Corporation Method and system to associate cell and item metadata
US8275793B2 (en) * 2005-04-29 2012-09-25 Microsoft Corporation Transaction transforms
US8132148B2 (en) * 2005-04-29 2012-03-06 Microsoft Corporation XML application framework
US8046737B2 (en) * 2005-04-29 2011-10-25 Microsoft Corporation XML application framework
US20070061699A1 (en) 2005-09-09 2007-03-15 Microsoft Corporation Named object view of electronic data report
US7752536B2 (en) 2005-09-09 2010-07-06 Microsoft Corporation Designating, setting and discovering parameters for spreadsheet documents
US8307119B2 (en) * 2006-03-31 2012-11-06 Google Inc. Collaborative online spreadsheet application
US20080077631A1 (en) * 2006-09-21 2008-03-27 Petri John E Multi-document attribute synchronization in a content management system
US20080140623A1 (en) * 2006-12-11 2008-06-12 Microsoft Corporation Recursive reporting via a spreadsheet
US20080244442A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Techniques to share information between application programs
US8190987B2 (en) 2007-10-25 2012-05-29 Microsoft Corporation Private views of data and local calculations during real time collaboration

Also Published As

Publication number Publication date
US20090112990A1 (en) 2009-04-30
WO2009055263A3 (en) 2009-07-16
US9275032B2 (en) 2016-03-01
EP2218011A2 (en) 2010-08-18
JP2011502303A (ja) 2011-01-20
EP2218011B1 (en) 2019-05-01
CN101836198A (zh) 2010-09-15
KR101514103B1 (ko) 2015-04-21
EP2218011A4 (en) 2018-03-28
WO2009055263A2 (en) 2009-04-30
KR20100080802A (ko) 2010-07-12
US20120216103A1 (en) 2012-08-23
CN101836198B (zh) 2013-04-03
US8190987B2 (en) 2012-05-29
EP3537313A1 (en) 2019-09-11

Similar Documents

Publication Publication Date Title
JP5349484B2 (ja) リアルタイムコラボレーションの間のデータ及びローカル計算のプライベートビュー
EP2220609B1 (en) Spreadsheet collaboration
US9705946B2 (en) Method to initiate server based collaboration on e-mail attachments
KR101099297B1 (ko) 전자파일의 제1 버전과 제2 버전을 동기화하기 위한 방법 및 컴퓨터 판독가능 기록 매체
AU2008247683B2 (en) Mesh - managing data across a distributed set of devices
US9639516B2 (en) System and method for express spreadsheet visualization for building information modeling
EP1452982A2 (en) A method for managing multiple file states for replicated files
CN105122238A (zh) 协作文档中的非协作过滤器
US20180060009A1 (en) Managing secondary views for meeting management applications in multi-display environments
US7802228B2 (en) Systems and methods for varying software build properties using primary and supplemental build files
JP2002245034A (ja) 文書処理システム及び方法
KR101999322B1 (ko) 협업방법 및 협업장치
JP2010049665A (ja) ファイル共同編集システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110930

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130417

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130717

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: 20130722

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130820

R150 Certificate of patent or registration of utility model

Ref document number: 5349484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250