JP2008186461A - マルチソース・スプレッド・データを同期させるためのシステム、方法、およびプログラム - Google Patents

マルチソース・スプレッド・データを同期させるためのシステム、方法、およびプログラム Download PDF

Info

Publication number
JP2008186461A
JP2008186461A JP2008017321A JP2008017321A JP2008186461A JP 2008186461 A JP2008186461 A JP 2008186461A JP 2008017321 A JP2008017321 A JP 2008017321A JP 2008017321 A JP2008017321 A JP 2008017321A JP 2008186461 A JP2008186461 A JP 2008186461A
Authority
JP
Japan
Prior art keywords
spreadsheet
revised
time
data
import
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.)
Granted
Application number
JP2008017321A
Other languages
English (en)
Other versions
JP5090193B2 (ja
Inventor
James A Martin Jr
ジェイムズ・エイ・マーティン・ジュニア
Jeffrey E Prince
ジェフリー・イー・プリンス
Andrew John Garrett
アンドリュー・ジョン・ギャレット
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008186461A publication Critical patent/JP2008186461A/ja
Application granted granted Critical
Publication of JP5090193B2 publication Critical patent/JP5090193B2/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】複数の異なるスプレッドシートからのデータを同期させるためのシステムおよび方法を提供する。
【解決手段】第1のインポート時刻、第2のインポート時刻、第1のエクスポート時刻、および第2のエクスポート時刻をスケジューリングするためのスケジューリング・システムと、第1のインポート時刻に第1のエンティティから第1のスプレッドシートを取得し、第2のインポート時刻に第2のエンティティから第2のスプレッドシートを取得するためのインポート・システムと、第1のスプレッドシートおよび第2のスプレッドシートを同期させて第1の改訂スプレッドシートおよび第2の改訂スプレッドシートを取得するための同期システムと、第1のエクスポート時刻に第1のエンティティに第1の改訂スプレッドシートを提供し、第2のエクスポート時刻に第2のエンティティに第2の改訂スプレッドシートを提供するためのエクスポート・システムと、を有する。
【選択図】図1

Description

本発明の態様は、一般に、スプレッドシート・データの管理に関し、更に具体的には、多数のスプレッドシートからのデータを同期させるためのシステムおよび方法に関する。
大規模なプロジェクトでは、多くの場合、多数の異なるソースとデータをやり取りする必要がある。例えば、多くの異なる拠点を伴う大規模な情報技術(IT)プロジェクトを管理するためには、多数のエンティティによって各拠点での要求事項および進捗状況を追跡しなければならない。かかる例では、例えば、様々な拠点におけるハードウェアのインストール、ネットワーク管理、試験等の異なるサービスを提供するために、多くのベンダーが関わっている場合がある。そういった異なるベンダーによって実行される業務のタスク、日付、コスト等を追跡し同期させて、効率的なプロジェクト・フローを保証しなければならない。例えば、あるベンダーによる試験は、他のベンダーによってその拠点におけるシステム全てがインストールされるまでは、スケジューリングも実行もしてはならない。しかしながら、多くの異なるエンティティから著しいデータ量を収集して同期させようとする場合、ロジスティック上の問題が起こる可能性がある。
1つの可能な解決策は、データベース・アプリケーションを提供し、これによって異なるエンティティの各々がデータを閲覧および入力することを可能とすることである。しかしながら、かかる解決策に伴うロジスティック上の問題の1つは、DB2(R)等のデータベース・アプリケーションに対してデータをインポートおよびエクスポートすることには、ユーザ側にかなり高レベルの知識が要求されるという事実である。かかるアプリケーションは強力な解決策となり得るが、一般に、それらの動作はたいていの人々によって広く理解されているわけではない。このため、従来のデータベースによる手法は、データを入力し閲覧するエンティティが必要とする柔軟性および使いやすさを欠いている場合がある。
スプレッドシートを用いることによって、データベース・アプリケーションに多い柔軟性および使いやすさの問題に対処できる可能性のある解決策が与えられる。EXCEL(R)等のスプレッドシート・アプリケーションは、ほとんど全ての業界において人々に広く用いられ理解されている(EXCELは、米国、他の国々、または双方におけるMicrosoft Corporation社の商標である)。従って、スプレッドシートは、データを入力し、閲覧し、管理するための優れたツールを提供する可能性がある。しかしながら、大規模プロジェクトにおいてスプレッドシートを用いることの問題の1つは、通常、異なるエンティティは各自のスプレッドシートを利用しており、異なるスプレッドシートからのデータを定期的に同期させなければならないことである(すなわち、第1のスプレッドシートのセルからのデータを別のスプレッドシートのセルにコピーしなければならない)。更に、効率または機密性等の目的のため、全てのエンティティに同一データへのアクセスが与えられるわけではないという場合がある。このため、異なるエンティティごとに、異なるデータ・セットに対するアクセスを制限する(例えば、Read-Write可、Read only、アクセス不可)ことが望ましいことがある。従って、エンティティは、フォーマットおよびデータの双方に関して、各自の固有かつ編集可能なスプレッドシートを必要とする場合がある。このため、かかるスプレッドシートを同期させることは簡単なプロセスではない。しかしながら、スプレッドシート・アプリケーションの柔軟性および使いやすさが与えられるならば、異なるスプレッドシート間の同期プロセスを自動化することができるシステムに対する要望がある。
本発明の態様は、複数の異なるスプレッドシートからのデータを同期させるためのシステムおよび方法を提供することによって、上述の問題および他の問題に対処する。
第1の態様において、本発明は、スプレッドシート・データを同期させるための方法を提供する。この方法は、所定の第1のインポート時刻に第1のスプレッドシートを取得するステップと、所定の第2のインポート時刻に第2のスプレッドシートを取得するステップと、第1のスプレッドシートを第2のスプレッドシートに同期させて第1の改訂スプレッドシートおよび第2の改訂スプレッドシートを取得するステップと、第1の改訂スプレッドシートを所定の第1のエクスポート時刻に第1のエンティティに供給するステップと、
第2の改訂スプレッドシートを所定の第2のエクスポート時刻に第2のエンティティに提供するステップと、を含む。
第2の態様において、本発明は、スプレッドシート・データを同期させるためのシステムを提供する。このシステムは、第1のインポート時刻、第2のインポート時刻、第1のエクスポート時刻、および第2のエクスポート時刻をスケジューリングするためのスケジューリング・システムと、第1のインポート時刻に第1のエンティティから第1のスプレッドシートを取得し、第2のインポート時刻に第2のエンティティから第2のスプレッドシートを取得するためのインポート・システムと、第1のスプレッドシートおよび第2のスプレッドシートを同期させて第1の改訂スプレッドシートおよび第2の改訂スプレッドシートを取得するための同期システムと、第1のエクスポート時刻に第1のエンティティに第1の改訂スプレッドシートを提供し、第2のエクスポート時刻に第2のエンティティに第2の改訂スプレッドシートを提供するためのエクスポート・システムと、を含む。
第3の態様において、本発明は、スプレッドシート・データを同期させるためのコンピュータ読み取り可能媒体にストアされたコンピュータ・プログラムを提供する。このプログラムは、第1のインポート時刻、第2のインポート時刻、第1のエクスポート時刻、および第2のエクスポート時刻をスケジューリングするように構成されたプログラム・コードと、第1のインポート時刻に第1のスプレッドシートをインポートし、第2のインポート時刻に第2のスプレッドシートを取得するように構成されたプログラム・コードと、第1のスプレッドシートおよび第2のスプレッドシートを同期させて第1の改訂スプレッドシートおよび第2の改訂スプレッドシートを取得するように構成されたプログラム・コードと、第1のエクスポート時刻に第1のエンティティに第1の改訂スプレッドシートをエクスポートし、第2のエクスポート時刻に第2のエンティティに第2の改訂スプレッドシートを提供するように構成されたプログラム・コードと、を含む。
第4の態様において、本発明は、スプレッドシート・データを同期させるためのシステムを展開するための方法を提供する。この方法は、コンピュータ・インフラストラクチャであって、第1のインポート時刻、第2のインポート時刻、第1のエクスポート時刻、および第2のエクスポート時刻をスケジューリングすることと、第1のインポート時刻に第1のスプレッドシートをインポートすることと、第2のインポート時刻に第2のスプレッドシートをインポートすることと、第1のスプレッドシートおよび第2のスプレッドシートを同期させて第1の改訂スプレッドシートおよび第2の改訂スプレッドシートを取得することと、第1のエクスポート時刻に第1のエンティティに第1の改訂スプレッドシートをエクスポートすることと、第2のエクスポート時刻に第2のエンティティに第2の改訂スプレッドシートをエクスポートすることと、を行うように動作可能なコンピュータ・インフラストラクチャを提供するステップを含む。
本発明のこれらの特徴および他の特徴は、以下に述べる本発明の様々な態様の詳細な説明を添付図面と関連付けて参照することで、容易に理解されよう。
ここで図面を参照すると、図1は、複数のスプレッドシート間でスプレッドシート・データを同期させるための例示的なシステムおよび方法を示す。この例示的なシステムにおいて、複数のエンティティ30(A、B、C)の各々は、固有のスプレッドシート32(SA、SB、SC)をそれぞれ維持する。図1は3つのエンティティ/スプレッドシートを用いた実施形態を示すが、いかなる数のエンティティ/スプレッドシートも使用可能であることは理解されよう。更に、スプレッドシート32は、いかなる既知のスプレッドシート・アプリケーションを用いても実施可能である。一般に、各スプレッドシート32におけるデータおよびデータ・フォーマットは、各エンティティ30の必要に合わせられており、1つのエンティティのデータが他のエンティティのデータとは異なる場合もある。このため、あるデータは異なるエンティティ30間で共有されるが、別のデータは共有されないか、またはエンティティ30の一部によって共有される場合がある。例えば、主幹プロジェクト・マネージャは、データ全てを示すマスタ・スプレッドシートを有することができるが、異なるベンダーおよび下請業者は、データ・セット全体のうち彼らのタスクに関連する部分しか見ない。
上述のように、多数の異なるスプレッドシートを利用することの問題の1つは、異なるスプレッドシートからのデータを効率的に同期させることに関連する。例えば、A社のタスク開始日は、B社による別のタスクの完了予定日に左右されることがある。このため、B社がそのスプレッドシートを編集してその完了予定日を変更した場合、この情報をA社のスプレッドシートに加えて、A社の新しいタスク開始日を計算可能としなければならない。
これに対処するため、本実施形態は同期システム18を利用する。このシステム18は、インポート・エージェント制御機構20、エクスポート・エージェント制御機構22、およびデータベース26を有する。インポート・エージェント制御機構20は、(1)共通アクセス・エリア36からのスプレッドシート32のインポートをスケジューリングするためのインポート(Imp)・スケジューラ21と、(2)各スプレッドシート32から関連データを取得しそのデータをデータベース26にロードする1組のインポート処理エージェント23と、を含む。インポート・スケジューラ21は、どのスプレッドシートが他に左右されるデータを含むかを考慮するように構成されている。このため、例えば、スプレッドシートSB(n)がスプレッドシートSA(n)からのデータに左右される場合、SA(n)は最初にインポートされるようにスケジューリングされる。同様に、スプレッドシートSC(n)がスプレッドシートSB(n)からのデータに左右される場合、SBは二番目にインポートされるようにスケジューリングされる。このため、スプレッドシートSB(n)がインポートされると、スプレッドシートSB(n)はSA(n)からのデータによって更新することができる。スプレッドシートSC(n)がインポートされると、スプレッドシートSC(n)はSB(n)からのデータによって更新することができる。
インポート処理エージェント23は、所与の各スプレッドシート32からどのデータをインポートするかを決定する。上述のように、所与のエンティティ30には、それが管理するデータおよび他のエンティティが管理するデータを示すスプレッドシートを与えることができる。典型的な状況においては、あるエンティティが管理するデータのみをインポートする必要がある。このため、そのエンティティによって管理されないデータはインポートされない。このことによる有益な結果は、あるエンティティが、自身で管理していないスプレッドシート内のデータ値を誤って変更してしまった場合、その入力がインポートされず、同期プロセスに悪影響を与えないことである。更に、この不注意によるエラーは、改訂されたスプレッドシートには現れない。
所与のスプレッドシート32からどのデータ値をインポートする必要があるかの決定は、いかなる方法でも実行可能である。1つの例示的な実施形態においては、各スプレッドシート32は、ハード・コードされた制御言語ステートメント等の制御情報を含み、これをインポート処理エージェント23が解釈して、スプレッドシート32内のどの列あるいは行またはそれら両方をインポートするかを決定することができる。この一例を以下で図2に示す。一般に、各スプレッドシート32は、データのインポートおよび同期のために、インポート処理エージェントが関連付けられている。
スプレッドシート32の各々からのデータを全てデータベース26にインポートして処理したら、エクスポート・エージェント制御機構22を用いて、改訂スプレッドシート34(SA(n+1)、SB(n+1)、SC(n+1))を再構築し、共通アクセス・エリア36にエクスポートする。例示的な実施形態においては、毎晩周期的にスプレッドシートは更新されるので、改訂スプレッドシート34は毎朝各エンティティ30に利用可能となる。エクスポート・エージェント制御機構22は、同様に、エクスポート(Exp)・スケジューラ25およびエクスポート処理エージェント27を含む。エクスポート・スケジューラ25は、何時に各改訂スプレッドシート34をエクスポートするかを決定する。エクスポート処理エージェント27は、データベース26から適切なデータを取得し、更新したデータを用いて各改訂スプレッドシート34を発生/ポピュレートする役割を果たす。
改訂スプレッドシート34のエクスポート処理は、改訂スプレッドシート34が依存するスプレッドシート(複数のスプレッドシート)32がインポートされて処理された後のいかなる時点でもスケジューリングすることができる。例えば、スプレッドシートSB(n)がスプレッドシートSA(n)からのデータのみに依存する場合、SA(n)がインポートされた後のいかなる時点でも、SB(n)を改訂しエクスポートすることができる。更に、スプレッドシートSC(n)がスプレッドシートSA(n)およびSB(n)の双方からのデータに依存する場合は、SA(n)およびSB(n)の双方がインポートされ処理された後にのみ、SC(n)を改訂しエクスポートすることができる。1つの例示的な実施形態においては、改訂スプレッドシート34の全てを同時にエクスポートすることができる。
上述のように、エクスポート処理エージェント27は、データベース26から適切なデータを取得し、更新したデータを用いて各改訂スプレッドシート34を発生/ポピュレートする役割を果たす。インポート・プロセスと同様に、各改訂スプレッドシート34に配置するデータおよびスプレッドシートの出力フォーマットの決定は、いかなる方法でも処理することができる。1つの例示的な実施形態では、スプレッドシート32、34自体に配置されたハード・コードされた制御言語ステートメント等の制御情報を、エクスポート処理エージェント27が用いて、各改訂スプレッドシート34を生成することができる。一般に、各改訂スプレッドシート34には、エクスポート処理エージェント27が関連付けられている。
改訂スプレッドシート34を発生することに加えて、エクスポート・エージェント制御機構22は、1つ以上の「エクスポートのみの」スプレッドシート38、例えばSX(n+1)を発生することができる。エクスポートのみのスプレッドシート38は、例えば、全てのエンティティ30に共通して対象となる一般的な情報またはリポートを提供することができる。このため、各エンティティは、エクスポートのみのスプレッドシート38を閲覧することはできるが、更新および同期のためにそれらを再サブミットすることはできない。
また、同期システム18は、例えばデータベース28において各スプレッドシートの各バージョンのスナップショットをストアするバージョン制御システム24も含むことができる。このため、これは、バージョンごとに生じる変化を追跡するための監査証跡(audit trail)を提供する。
データベース26は、スプレッドシート32、34の各々に関連したデータを収集しストアするための中心的な位置を提供し、例えばDB2、LOTUS NOTES(R)等のデータベース・アプリケーションのいずれかのタイプを含むことができる。集中データベース26を用いることによって、全スプレッドシートのデータ全てを単一のデータ・ソースから維持し、更新し、制御することができる。また、かかるデータベース・アプリケーションは、従来のデータベース閲覧ツールを用いてユーザがデータベース26内のデータを閲覧可能であるように構成することができる。典型的な実施形態において、かかるアクセスは、Read onlyか、あるいは許可された権限となるか、またはそれら両方である。更に、単一のモジュールとして図示するが、データベース26は複数の分散型データベースによって実施することも可能である。
共通アクセス・エリア36は、様々なエンティティ30に使いやすいインタフェースを提供し、いかなる方法でも実施することができる。共通アクセス・エリア36は、エンティティ30がスプレッドシート32、34、38をアップロードし検索することができる制御されたストレージを提供する。例示的な用途では、共通アクセス・エリア36は、エンティティ30が容易に利用可能なウェブサイトとして実施することができる。他の用途では、共通アクセス・エリア36は、サーバ、掲示板、またはネットワーク上の電子メール位置として実施可能である。更に、共通アクセス・エリア36は、同期システム18に統合することも可能である。
例示的な方法において、エンティティ30は毎晩、各自のスプレッドシート32を共通アクセス・エリア36にアップロードする。同期プロセスの性質ゆえに、スプレッドシートが同期されるためには厳しいタイミング期限が必要である場合がある。いったんアップロードされると、スプレッドシート32は、インポート・スケジューラ21によって決定される順序でインポートされる。上述のように、順序は、スプレッドシート32間の依存性に基づいて予め決められる。インポート処理エージェント23は、スプレッドシートからどのデータ・アイテムをデータベース26にインポートするかを決定する。更に、インポートされたスプレッドシートからのデータ・アイテムは、以前にインポートされたスプレッドシートから収集したデータに基づいて更新することができる。例えば、エンティティAのスプレッドシート内の「合計コスト」データ・フィールドは、エンティティBおよびエンティティCのスプレッドシートから以前にインポートした項目コストに基づいて、データベース26において更新することができる。
スプレッドシート32を全てインポートし処理した後、例えば次の仕事日の開始前のある時に、エクスポート・スケジューラ25の命令によって、改訂スプレッドシート34を共通アクセス・エリア36にエクスポートすることができる。エクスポート・プロセスの間、各改訂スプレッドシート34は、例えば所定の1組の制御言語ステートメントに基づいて、エクスポート処理エージェント27によって基本的に最初から構築される。そして、エンティティ30は、都合の良いときに共通アクセス・エリア36から改訂スプレッドシート34をダウンロードすることができる。従って、このプロセスは、プロジェクトの特定の必要に合わせて、周期的に(例えば毎日、毎週等)実施することができる。
同期システム18は、例えばクライアント−サーバ・システムを含むいずれかのタイプのコンピュータ・システム10上で実現することができる。コンピュータ・システム10は、一般に、プロセッサ12、入出力(I/O)14、メモリ16、およびバス17を含む。プロセッサ12は、単一の処理ユニットを含むか、または、例えばクライアントおよびサーバ上のような1つ以上の位置で1つ以上の処理ユニット間に分散させることができる。メモリ16は、磁気媒体、光媒体、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、データ・キャッシュ、データ・オブジェクト等を含むいずれかの既知のタイプのデータ・ストレージ媒体あるいは伝送媒体またはそれら両方を含むことができる。更に、メモリ16は、1つ以上のタイプのデータ・ストレージを含む単一の物理位置に存在することができ、または様々な形態で複数の物理システム間に分散させることも可能である。
I/O14は、外部リソースと情報を交換するためのいずれかのシステムを含むことができる。外部デバイス/リソースは、モニタ/ディスプレイ、スピーカ、ストレージ、別のコンピュータ・システム、ハンド・ヘルド・デバイス、キーボード、マウス、音声認識システム、音声出力システム、プリンタ、ファクシミリ、ページャ等を含むいずれかの既知のタイプの外部デバイスを含むことができる。バス17は、コンピュータ・システム10における各コンポーネント間に通信リンクを提供し、同様に、電気、光、無線等を含むいずれかの既知のタイプの伝送リンクを含むことができる。図示しないが、コンピュータ・システム10には、キャッシュ・メモリ、通信システム、システム・ソフトウェア等の追加のコンポーネントも組み込むことができる。
コンピュータ・システム10に対するアクセスは、インターネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、仮想プライベート・ネットワーク(VPN)等のネットワークを介して提供することができる。通信は、直接ハードワイヤード接続(例えばシリアル・ポート)を介して、またはワイヤラインあるいは無線による伝送方法またはそれら両方のいずれかの組み合わせを利用可能なアドレス可能接続を介して、行うことができる。更に、トークン・リング、Ethernet(登録商標)、WiFiまたは他の従来の通信規格等の従来のネットワーク接続も使用可能である。更に、従来のTCP/IPソケット・ベースのプロトコルによって接続を行うこともできる。この例において、インターネット・サービス・プロバイダを用いて相互接続を確立することができる。更に、上述のように、クライアント−サーバまたはサーバ−サーバ環境において通信を行うことも可能である。
図2は、スプレッドシート・アプリケーション40の一例を示し、これは、他のスプレッドシート・データ・セット(図示せず)と同期するように構成されたスプレッドシート・データ42を含む。この例示的な実施形態においては、スプレッドシート・インタフェース46は、スプレッドシート・データ42を含むだけでなく、制御言語ステートメント50を含むヘッダ44を含むものとして図示されている。制御言語ステートメント50は、処理エージェント23、27(図1)によって解釈されて、どの情報をスプレッドシート・データ42からインポートし、スプレッドシート・データ42にエクスポートするかを指示する。一実施形態において、制御言語ステートメント50は、関連するエンティティのデータ要求に基づいて各スプレッドシートに埋め込まれている(すなわちハード・コードされている)。
この例では、複数の列ヘッダ48の下に各レコード52ごとのデータが構築されている。各列ヘッダ48は、その列のデータが属する会社すなわちA社、B社、C社に関連付けられている。制御言語ステートメント50は、特定の列(または行)をエクスポートするか、インポートするか、または変化しないままとするかを確定する。例えば、このスプレッドシートがA社によって用いられている場合、A社の列ヘッダの下にあるデータの一部または全てを、エクスポートのためにタグ付けし、必要な場合にはA社によって変更し、次いでインポートする。B社およびC社のヘッダの下のデータは、スプレッドシートにエクスポートされるだけであり、インポートはされない。
制御言語ステートメント50を用いることによって、同期システム18は、所与のスプレッドシートからのどのデータをデータベース26にインポートし、データベース26から改訂スプレッドシートにエクスポートするか(図1を参照)を確定するように容易に構成することができる。また、制御言語ステートメント50は、例えば数字対ストリングや位置等のデータ・フォーマットを指示する。スプレッドシート・データ42と共に制御言語ステートメント50を埋め込むことは、本発明の特徴を実現するための1つの考えられる方法を表すだけであることに留意すべきである。従って、スプレッドシート内のどのデータ・アイテムをエクスポートし、更新し、または変化しないままとするかを決定するためのいずれかの技法も利用可能であることは理解されよう。
スプレッドシート・データ42の各行は一般に、場所、人、1つの設備等のデータ・レコードを表し、あるスプレッドシートにおける行は必ずしも別のスプレッドシート内の行と同じではないことに留意すべきである。例えば、異なるエンティティのスプレッドシートにおいて、行を異なる方法で分類することができる。従って、データをエクスポート/インポートする場合、各スプレッドシートごとに固有の処理が必要である。また、スプレッドシートは、例えば「列T x 列W = 列Z」のような式を含む場合があることに留意すべきである。
場合によっては、スプレッドシート内の情報の列は、参照の目的のみのものであり、変更したりデータベース26にインポートしたりしてはならない。また、スプレッドシートを更新している人は、他の人/関係者が後にその情報を参照することがあることに気付かない場合がある。従って、異なるエンティティ間で容易に機密性を維持することができる。すなわち、あるスプレッドシート内の情報の列は、秘密とすることができ、他の関係者と共有してはならない。
本発明の教示は、契約または料金に基づいたビジネスの方法として提供可能であることは認められよう。例えば、本発明に記載した機能を顧客に提供するサービス・プロバイダが、同期システムを含むコンピュータ・システム10の生成、維持、あるいは展開、またはそれら全てを行うことができる。すなわち、サービス・プロバイダが、本発明に記載したスプレッドシートの同期を提供することができる。
本発明に記載したシステム、機能、機構、方法、エンジンおよびモジュールは、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせにおいて実現可能であることは理解されよう。それらは、本発明に記載した方法を実行するように適合されたいずれかのタイプのコンピュータ・システムまたは他の装置によって実施することができる。典型的なハードウェアおよびソフトウェアの組み合わせは、コンピュータ・プログラムを有する汎用コンピュータ・システムであり、このコンピュータ・プログラムは、ロードされて実行されると、本発明に記載した方法をコンピュータ・システムが実行するようにこれを制御する。あるいは、本発明の機能タスクの1つ以上を実行するための専用ハードウェアを含む特定用途コンピュータも利用可能である。更に別の実施形態においては、本発明の一部または全てを、例えばインターネット等のネットワーク上に分散させて実現することができる。
また、本発明は、コンピュータ・プログラムに埋め込むことも可能である。このプログラムは、本発明に記載された方法および機能の実施を可能とする機構を全て含み、コンピュータ・システムにロードされるとこれらの方法および機能を実行することができる。この文脈において、コンピュータ・プログラム、ソフトウェア・プログラム、プログラム、ソフトウェア等の言葉は、いずれかの言語、コード、または表記における1組の命令の表現を意味しており、この命令は、直接的に、または、(a)別の言語、コード、もしくは表記への変換、あるいは(b)異なる材料形態における再生、またはそれら両方を行った後のいずれかで、情報処理機能を有するシステムに特定の機能を実行させるように意図されている。
本発明の前述の記載は、例示および説明の目的のために行った。網羅的であったり、開示した形態のみに本発明を限定したりすることは意図しておらず、明らかに、多くの変更および変形が可能である。当業者に明らかであると思われるかかる変更および変形は、特許請求の範囲によって規定された本発明の範囲内に含まれることが意図される。
本発明の一実施例に従った、複数のスプレッドシートからのデータを同期させるためのシステムを示す。 本発明の一実施例に従った例示的なスプレッドシートを示す。
符号の説明
10 コンピュータ・システム
16 メモリ
18 同期システム
20 インポート・エージェント制御機構
21 インポート・スケジューラ
22 エクスポート・エージェント制御機構
23 インポート処理エージェント
25 エクスポート・スケジューラ
26 データベース
27 エクスポート処理エージェント
30 エンティティ
32 スプレッドシート
36 共通アクセス・エリア

Claims (21)

  1. スプレッドシート・データを同期させるための方法であって、
    所定の第1のインポート時刻に第1のスプレッドシートを取得するステップと、
    所定の第2のインポート時刻に第2のスプレッドシートを取得するステップと、
    前記第1のスプレッドシートを前記第2のスプレッドシートに同期させて第1の改訂スプレッドシートおよび第2の改訂スプレッドシートを取得するステップと、
    前記第1の改訂スプレッドシートを所定の第1のエクスポート時刻に第1のエンティティに供給するステップと、
    前記第2の改訂スプレッドシートを所定の第2のエクスポート時刻に第2のエンティティに提供するステップと、
    を含む、方法。
  2. 前記第1のスプレッドシートおよび前記第2のスプレッドシートが異なるデータ・フォーマットおよび異なるデータを含む、請求項1に記載の方法。
  3. 前記第1のスプレッドシートを前記第2のスプレッドシートに同期させるステップが、前記第2のスプレッドシート内のデータを前記第1のスプレッドシート内のデータを用いて更新することを含む、請求項1に記載の方法。
  4. 前記第1のスプレッドシートを前記第2のスプレッドシートに同期させるステップが、
    前記第1のスプレッドシートからの第1のデータ・サブセットおよび前記第2のスプレッドシートからの第2のデータ・サブセットをインポートすることと、
    前記第1のサブセットおよび第2のサブセットをデータベースに記憶することと、
    を含む、請求項1に記載の方法。
  5. 前記第1のスプレッドシートを前記第2のスプレッドシートに同期させるステップが、前記第1および第2のデータ・サブセットの一部を前記第1のスプレッドシートにエクスポートすることを含む、請求項4に記載の方法。
  6. インポートするステップが、前記第1および第2のデータ・サブセットを決定するためのインポート処理エージェントを設けることを含む、請求項4に記載の方法。
  7. エクスポートするステップが、前記第1および第2のデータ・サブセットの前記一部を決定するためのエクスポート処理エージェントを設けることを含む、請求項5に記載の方法。
  8. スプレッドシート・データを同期させるためのシステムであって、
    第1のインポート時刻、第2のインポート時刻、第1のエクスポート時刻、および第2のエクスポート時刻をスケジューリングするためのスケジューリング・システムと、
    前記第1のインポート時刻に第1のエンティティから第1のスプレッドシートを取得し、前記第2のインポート時刻に第2のエンティティから第2のスプレッドシートを取得するためのインポート・システムと、
    前記第1のスプレッドシートおよび前記第2のスプレッドシートを同期させて第1の改訂スプレッドシートおよび第2の改訂スプレッドシートを取得するための同期システムと、
    前記第1のエクスポート時刻に前記第1のエンティティに前記第1の改訂スプレッドシートを提供し、前記第2のエクスポート時刻に前記第2のエンティティに前記第2の改訂スプレッドシートを提供するためのエクスポート・システムと、
    を含む、システム。
  9. 前記同期システムがデータベースを含み、前記インポート・システムが前記第1のスプレッドシートおよび前記第2のスプレッドシートから選択されたデータ・アイテムを前記データベースにインポートする、請求項8に記載のシステム。
  10. 前記選択されたデータ・アイテムが、前記第1および第2のスプレッドシートの各々に関連付けられた1組の制御情報に基づいて、少なくとも1つのインポート処理エージェントによって決定される、請求項9に記載のシステム。
  11. 前記同期システムが、前記第1のスプレッドシートからの値を用いて前記第2の改訂スプレッドシートの値を更新する、請求項9に記載のシステム。
  12. 前記第1および第2の改訂スプレッドシートが、前記第1および第2のスプレッドシートの各々に関連付けられた1組の制御情報に基づいて、少なくとも1つのエクスポート処理エージェントによって発生される、請求項9に記載のシステム。
  13. 前記同期システムにインポートされるスプレッドシートをストアすることができると共に前記同期システムからエクスポートされる改訂スプレッドシートをストアすることができる共通アクセス・エリアを更に含む、請求項8に記載のシステム。
  14. 前記スケジューリング・システムが、前記第1のインポート時刻、前記第2のインポート時刻、前記第1のエクスポート時刻、および前記第2のエクスポート時刻を周期的にスケジューリングするように構成することができる、請求項8に記載のシステム。
  15. スプレッドシートおよび改訂スプレッドシートのコピーを記憶するためのバージョン制御システムを更に含む、請求項14に記載のシステム。
  16. スプレッドシート・データを同期させるためのコンピュータ読み取り可能媒体にストアされたコンピュータ・プログラムであって、
    第1のインポート時刻、第2のインポート時刻、第1のエクスポート時刻、および第2のエクスポート時刻をスケジューリングするように構成されたプログラム・コードと、
    前記第1のインポート時刻に第1のスプレッドシートを取得し、前記第2のインポート時刻に第2のスプレッドシートを取得するように構成されたプログラム・コードと、
    前記第1のスプレッドシートおよび前記第2のスプレッドシートを同期させて第1の改訂スプレッドシートおよび第2の改訂スプレッドシートを取得するように構成されたプログラム・コードと、
    前記第1のエクスポート時刻に第1のエンティティに前記第1の改訂スプレッドシートを提供し、前記第2のエクスポート時刻に第2のエンティティに前記第2の改訂スプレッドシートを提供するように構成されたプログラム・コードと、
    を含む、コンピュータ・プログラム。
  17. 前記同期するように構成されたプログラム・コードが、前記第1のスプレッドシートおよび前記第2のスプレッドシートから選択されたデータ・アイテムをデータベースに記憶する、請求項16に記載のコンピュータ・プログラム。
  18. 前記選択されたデータ・アイテムが、前記第1および第2のスプレッドシートの各々に関連付けられた制御情報によって決定される、請求項17に記載のコンピュータ・プログラム。
  19. 前記第1および第2の改訂スプレッドシートが、前記第1および第2のスプレッドシートの各々に関連付けられた制御情報に基づいて発生される、請求項17に記載のコンピュータ・プログラム。
  20. 前記同期するように構成されたプログラム・コードが、前記第1のスプレッドシートからの値を用いて前記第2の改訂スプレッドシートの値を更新する、請求項16に記載のコンピュータ・プログラム。
  21. スプレッドシート・データを同期させるためのシステムを展開するための方法であって、
    コンピュータ・インフラストラクチャを提供するステップであって、
    第1のインポート時刻、第2のインポート時刻、第1のエクスポート時刻、および第2のエクスポート時刻をスケジューリングすることと、
    前記第1のインポート時刻に第1のスプレッドシートをインポートすることと、
    前記第2のインポート時刻に第2のスプレッドシートをインポートすることと、
    前記第1のスプレッドシートおよび前記第2のスプレッドシートを同期させて第1の改訂スプレッドシートおよび第2の改訂スプレッドシートを取得することと、
    前記第1のエクスポート時刻に第1のエンティティに前記第1の改訂スプレッドシートをエクスポートすることと、
    前記第2のエクスポート時刻に第2のエンティティに前記第2の改訂スプレッドシートをエクスポートすることと、
    を行うように動作可能なコンピュータ・インフラストラクチャを提供するステップを含む、方法。
JP2008017321A 2007-01-30 2008-01-29 マルチソース・スプレッド・データを同期させるためのシステム、方法、およびプログラム Expired - Fee Related JP5090193B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/668,698 US8140958B2 (en) 2007-01-30 2007-01-30 Cyclical and synchronized multi-source spreadsheet imports and exports
US11/668698 2007-01-30

Publications (2)

Publication Number Publication Date
JP2008186461A true JP2008186461A (ja) 2008-08-14
JP5090193B2 JP5090193B2 (ja) 2012-12-05

Family

ID=39677216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008017321A Expired - Fee Related JP5090193B2 (ja) 2007-01-30 2008-01-29 マルチソース・スプレッド・データを同期させるためのシステム、方法、およびプログラム

Country Status (2)

Country Link
US (1) US8140958B2 (ja)
JP (1) JP5090193B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211862A1 (en) * 2009-02-18 2010-08-19 Microsoft Corporation Facilitating spreadsheet and database views on common data store
US8578289B2 (en) 2010-01-28 2013-11-05 Ebay Inc. Application module for managing jobs asynchronously
US9721030B2 (en) * 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US8595610B2 (en) * 2011-01-25 2013-11-26 Infineon Technologies Ag Method, software and computer system for manipulating aggregated data
US10552531B2 (en) 2016-08-11 2020-02-04 Palantir Technologies Inc. Collaborative spreadsheet data validation and integration
US11087080B1 (en) 2017-12-06 2021-08-10 Palantir Technologies Inc. Systems and methods for collaborative data entry and integration
US10360252B1 (en) 2017-12-08 2019-07-23 Palantir Technologies Inc. Detection and enrichment of missing data or metadata for large data sets

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115874A (ja) * 1997-06-20 1999-01-22 Nec Corp スケジュール調整方法およびその装置
JP2000076112A (ja) * 1998-08-31 2000-03-14 Kano Densan Hongkong Yugenkoshi ファイル制御システム、ファイル更新方法、携帯情報端末装置、パーソナルコンピュータ装置および記憶媒体
JP2001042919A (ja) * 1999-07-30 2001-02-16 Hitachi Ltd 進捗データ管理システム
US6256651B1 (en) * 1997-06-20 2001-07-03 Raja Tuli Time management workflow software
JP2003150431A (ja) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp サーバ装置及びこれを用いたプラント制御システム
JP2004310563A (ja) * 2003-04-09 2004-11-04 Shimizu Corp プロジェクト管理統合支援システム
US20050034058A1 (en) * 2003-08-04 2005-02-10 Sbc Knowledge Ventures, L.P. Flexible multiple spreadsheet data consolidation system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293615A (en) * 1990-11-16 1994-03-08 Amada Carlos A Point and shoot interface for linking database records to spreadsheets whereby data of a record is automatically reformatted and loaded upon issuance of a recalculation command
US5893123A (en) 1995-06-22 1999-04-06 Tuinenga; Paul W. System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet
US6490600B1 (en) * 1999-08-09 2002-12-03 Cognex Technology And Investment Corporation Processing continuous data streams in electronic spreadsheets
AUPQ836500A0 (en) 2000-06-26 2000-07-20 Dstc Pty Ltd Parallel execution mechanism for spreadsheets
US7593751B2 (en) * 2000-09-18 2009-09-22 Field Data Management Solutions, Llc Conducting field operations using handheld data management devices
EP1204268B1 (en) 2000-10-31 2008-08-27 Hewlett-Packard Company, A Delaware Corporation Electronic record storage
US7139748B1 (en) 2002-05-02 2006-11-21 Palmsource, Inc. N-way synchronization of computer databases
US7017112B2 (en) * 2003-02-28 2006-03-21 Microsoft Corporation Importing and exporting markup language data in a spreadsheet application document
KR100541636B1 (ko) * 2003-04-17 2006-01-10 삼성전자주식회사 컨텐츠 동기화 방법 및 데이터 포맷
US7546286B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Offline multi-table data editing and storage
US7225189B1 (en) * 2004-02-19 2007-05-29 Microsoft Corporation Data source write back and offline data editing and storage in a spreadsheet
US20080288889A1 (en) * 2004-02-20 2008-11-20 Herbert Dennis Hunt Data visualization application
US20060026501A1 (en) 2004-07-28 2006-02-02 Unilever Home & Personal Care Usa, Division Of Conopco, Inc. Method of Collecting data from one or multiple respondents using spreadsheet based tool with programmed wizard utility deployed by direct activation
US7574483B1 (en) * 2004-09-17 2009-08-11 American Express Travel Related Services Company, Inc. System and method for change management process automation
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
US20060248443A1 (en) 2005-04-27 2006-11-02 Sap Aktiengesellschaft System and method for exporting spreadsheet data
US7756824B2 (en) * 2007-10-26 2010-07-13 Microsoft Corporation Spreadsheet collaboration between rich and browser clients
US20090216602A1 (en) * 2008-02-21 2009-08-27 Henderson Mark E Schedule Analyzer

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115874A (ja) * 1997-06-20 1999-01-22 Nec Corp スケジュール調整方法およびその装置
US6256651B1 (en) * 1997-06-20 2001-07-03 Raja Tuli Time management workflow software
JP2000076112A (ja) * 1998-08-31 2000-03-14 Kano Densan Hongkong Yugenkoshi ファイル制御システム、ファイル更新方法、携帯情報端末装置、パーソナルコンピュータ装置および記憶媒体
JP2001042919A (ja) * 1999-07-30 2001-02-16 Hitachi Ltd 進捗データ管理システム
JP2003150431A (ja) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp サーバ装置及びこれを用いたプラント制御システム
JP2004310563A (ja) * 2003-04-09 2004-11-04 Shimizu Corp プロジェクト管理統合支援システム
US20050034058A1 (en) * 2003-08-04 2005-02-10 Sbc Knowledge Ventures, L.P. Flexible multiple spreadsheet data consolidation system

Also Published As

Publication number Publication date
US20080189597A1 (en) 2008-08-07
US8140958B2 (en) 2012-03-20
JP5090193B2 (ja) 2012-12-05

Similar Documents

Publication Publication Date Title
US9632768B2 (en) Exchanging project-related data in a client-server architecture
US8515799B2 (en) Constructing change plans from component interactions
JP5090193B2 (ja) マルチソース・スプレッド・データを同期させるためのシステム、方法、およびプログラム
AU2014233672B2 (en) System for metadata management
US8712965B2 (en) Dynamic report mapping apparatus to physical data source when creating report definitions for information technology service management reporting for peruse of report definition transparency and reuse
US9916137B2 (en) Rest service source code generation
US7836103B2 (en) Exchanging project-related data between software applications
US8943518B2 (en) Managing and optimizing workflows among computer applications
US20100250730A1 (en) Automated license reconciliation for deployed applications
ITMI20130390U1 (it) Metodi e apparato per generatori di endpoint dinamici, individuazione e mediazione (brokerage) di oggetti remoti dinamici
EP2110781A1 (en) Method and system for automatic tracing of a computerized process using a relationship model
US9251222B2 (en) Abstracted dynamic report definition generation for use within information technology infrastructure
US20140040791A1 (en) Development platform for software as a service (saas) in a multi-tenant environment
CN110032594B (zh) 可定制化的多源数据库的数据抽取方法、装置及存储介质
US20080004925A1 (en) Multi-site project management
US20170193409A1 (en) Business resource modeling
Tankov et al. Kotless: A serverless framework for kotlin
Henderson Systems Engineering for Business Process Change: collected papers from the EPSRC research programme
US20070282863A1 (en) Method, system, and program product for providing proxies for data objects
Sung et al. A component-based product data management system
US10275544B1 (en) Standard implementation system and method
US20120323922A1 (en) Data element categorization in a service-oriented architecture
US12130789B1 (en) Data lineage tracking service
US7720904B2 (en) Entity projection
US20050198058A1 (en) Services offering delivery method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120808

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120912

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

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees