JP2007522575A - スプレッドシート及び他文書におけるデータ及びコードの変更の監査及びトラッキング - Google Patents

スプレッドシート及び他文書におけるデータ及びコードの変更の監査及びトラッキング Download PDF

Info

Publication number
JP2007522575A
JP2007522575A JP2006552693A JP2006552693A JP2007522575A JP 2007522575 A JP2007522575 A JP 2007522575A JP 2006552693 A JP2006552693 A JP 2006552693A JP 2006552693 A JP2006552693 A JP 2006552693A JP 2007522575 A JP2007522575 A JP 2007522575A
Authority
JP
Japan
Prior art keywords
file
change
data
spreadsheet
monitoring
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
JP2006552693A
Other languages
English (en)
Other versions
JP2007522575A5 (ja
JP5312742B2 (ja
Inventor
リーブス アンドリュー
カルバーウェル ジェイムズ
ウィットマン アーロン
Original Assignee
クラスター セブン リミテッド
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 クラスター セブン リミテッド filed Critical クラスター セブン リミテッド
Publication of JP2007522575A publication Critical patent/JP2007522575A/ja
Publication of JP2007522575A5 publication Critical patent/JP2007522575A5/ja
Application granted granted Critical
Publication of JP5312742B2 publication Critical patent/JP5312742B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

1つまたは2つ以上のスプレッドシートのデータを監視および監査するためのシステム、サーバー、およびコンピュータプログラムを開示する。システムは、スプレッドシートデータを含むファイルを格納可能なファイルストアと、データベースと、監視手段とを備えている。監視手段は、ファイルストア内のスプレッドシートデータの変化を検出し、およびその変化をデータベースに記録するようになっている。また、1つまたは2つ以上の文書中のプログラムコードを監視および監査するためのシステム、サーバー、およびコンピュータプログラムを開示する。本発明のこれらの形態は、典型的な実施例では組み合わせとして提供される。

Description

本発明は、スプレッドシート及び他文書におけるデータ及びコードの変更の監査及びトラッキングに関する。
スプレッドシートアプリケーションは、ユーザーが2次元および3次元配列データを操作することを可能にするコンピュータプログラムである。スプレッドシートアプリケーションのユーザーには2次元配列のセルが表示され、それぞれのセルには数値データ、テキスト、ソフトウェアオブジェクト、または数式が格納されるようになっている。3次元スプレッドシートは、一定の順序を有するこのような配列を複数備えている。セルが数式を含む場合は、数式が定義する計算の結果が通常表示される。数式は、その入力変数の中に、同じ表または他の表の他のセルの値を含むことができる。もちろん他のセルの値は、当該他のセルが含む数式によって計算される結果であっても構わない。このようなセル間の結合は、いくらでも複雑にすることができる。
スプレッドシートは、個人のデータの迅速な計算を行うために用いられるツールとして開発された。これに対し、組織の運営に重要なデータ及び機能は、従来、特定の管理された動作をこれらデータ上で実行するためにプログラマーが開発してきたコンピュータアプリケーションをサポートするデータベースに保存されるものであった。パーソナルコンピュータのパワーの拡大に伴い、コンピュータスプレッドシートは数多くの組織で遍在的になった。従って実際、多くの組織はこのような従来のデータ管理モデルに従わなくなってきている。かつて、プログラムされたデータベースではできない計算を行うために急いで作られたスプレッドシートが、今ではその作成者の業務に中心的な位置を占める必須のツールとなり、実際、ビジネスの運営においても中心的な位置を占めるようになってきている。
現状においては、ユーザーにとってスプレッドシートの魅力である機能は、組織全体の視点から見ると歓迎すべきものとはいえない。スプレッドシートは簡単に変更することができる。しかし、スプレッドシートのセルの相互接続性は、そのような変更がどのような結果をもたらすか、予測が難しいということを意味する。これは、スプレッドシートが他の者によって作成されたかもしれない別のスプレッドシートに参照されている場合、特に顕著である。さらに、特定の時点におけるスプレッドシートの内容を特定することができないため、スプレッドシートの内容から導き出された結論の背景を辿ることができないことがある。さらに、現代のパーソナルコンピュータのパワーをもってすれば、スプレッドシートアプリケーションのスクリプト言語でいくらでも複雑な計算、動作を行うことが現実的に可能である。しかし、このようなコードは、従来のプログラム言語のプログラマーにはおなじみのバージョン制御および変更トラッキングを受けない。
明らかに、このような状況は大きな組織にとって容認できるものではない。何故なら、データおよび機能の品質管理が不可能であり、さらに財政不正管理を防ぐために必要な、監査可能なビジネス行為(口座の準備など)をビジネス内に構築するのにも妨げとなるからである。
本発明の目的は、どんな特定の時点におけるスプレッドシートの状態でも再現でき、かつ状態間の変化を質問できるような方法で、スプレッドシートにおいて行われる動作を記録するメカニズムを提供することである。本発明の更なる目的は、スプレッドシートの魅力である本来の柔軟性を失わないようにすることである。
第1の形態に基づく本発明は、1つまたは複数のスプレッドシートのデータを監視および監査するためのシステムを提供し、このシステムは、スプレッドシートデータを含むファイルを格納し得るファイルストアと、データベースと、監視手段とを備え、その監視手段は、ファイルストア内のスプレッドシートデータの変更を検出し、その変更をデータベースに記録するようにする。
データベースに適当なデータを格納することにより、個別のスプレッドシートになされた変更全ての完全な履歴を作成することができる。
ファイルストアは、本発明の様々の実施形態において様々な形態を取り得、様々な要素を含むことができる。例えば、ファイルストアは、ファイルサーバーとワークステーションコンピュータとのうちの1つまたは2つ以上を含むことができる。ファイルストアの要素は、様々な地点に散在しローカルエリアまたはワイドエリアネットワークリンクによって互いに接続されていてもよい。同様に、監視手段も、ローカルエリアまたはワイドエリアのネットワークリンクを用いてファイルストアにアクセスしてもよい。監視手段は、ファイルストア内から監視対象のスプレッドシートを探すファイル位置探索モジュールを含むことが最も好ましい。
典型的な実施例では、監視手段はファイルストア内のファイル(最新ファイル)とそのファイルの前バージョンとを比較するよう動作する比較手段を有する。これによりシステムは、同じファイルの保存されたバージョンとその後のバージョンとの違いを決定することができる。特に、比較手段は、最新ファイルの各セルを前バージョンの該当セルと比較し、もしセルの内容が変更されたと決定されれば、その変更の記録を生成してもよい。このようにして、変更をセル毎に記録することができる。このようにして作成された記録は、変更の性質を特徴づけるデータを含むことが最も望ましい。このような記録を検査することにより、スプレッドシートファイルになされた変更の性質を質的に理解することができる。変更の性質は:データ追加、データ変更、データ削除、関数追加、関数変更、関数削除、データから関数へ、関数からデータへ、セルエラー、関数再計算、スクリプト変更、外部参照変更、指名範囲変更、リンク変更、パスワード変更、シート追加、シート削除、シート名称変更、スプレッドシート名称変更、スプレッドシート削除、スプレッドシート追加、のうちの1つまたは2つ以上に分類することができる。実施例の全てがこれらの分類の全てを有するわけではなく、実施例によっては上記リストにない分類を含んでいてもよい。記録には、いつ変更がなされたかを示すタイムスタンプや変更を行ったユーザーの身元など、追加データが含まれていてもよい。
ここで、二進数フォーマットで格納されたファイルを互いに比較するのが生来困難であることはよく知られている。そこで、本発明のより効果的な実施例においては、監視されているファイルは分析され、テキストベースのフォーマット(XMLなど)等、より処理しやすいフォーマットに変換される。XMLにはさらに、処理を行うツールが多々ある、ならびにテキストベースのシリアル形式及び階層的形式の双方で表示可能である、といった利点もある。
スプレッドシートアプリケーションは、計算ツールとしての発展と並行して、これまでになく強力なスクリプト能力も統合してきた。これにより、今ではスプレッドシートアプリケーションは、強力なプログラミング環境とみなされるまでに発展している。例えば、マイクロソフトエクセルの場合、プログラミング言語であるVisual Basic for Applications (VBA)が高度に複雑なプログラムの実現を可能にするスクリプト言語として備えられている。スプレッドシートデータと同様、これはユーザーに、迅速かつ柔軟にプログラムを作成する能力を提供する。しかしこの柔軟性は、ソフトウェアの開発に対して管理がほぼないことを意味している。特に、バージョンコントロールやソースコード管理のシステムがないため、プログラムコードの変更が何故なされたのか、後から確認することは不可能である。
本発明のさらなる目的は、ユーザーに与えられた柔軟性を限定することなく、スプレッドシートなどの文書に含まれたコードを管理する手段を提供することにある。
別の形態における本発明は、1つまたは複数の文書内のプログラムコードを監視及び監査するためのシステムを提供し、システムは、文書を含むファイルを格納することができるファイルストアと、データベースと、監視手段とを有し、その監視手段は、ファイルストア内の文書に含まれたコードの変更を検出し、そのような変更をデータベースに記録するようにする。
スプレッドシートファイルに関連する実施例のように、データベースはコードになされた変更の履歴を含み、コードの一定期間における発展及び進化を監視及び監査することができるようにする。
本発明の本形態の実施例は、コードを含む様々なタイプの文書に適用可能である。例えば、これら文書にはスプレッドシート、ワードプロセッサー文書、データベースファイルなどが含まれてもよい。
多くの場合、本発明のこれら両形態は、共通のシステムによって提供されている。
別の形態における本発明は、コンピュータのハードウェアで実行可能であり、本発明の第1または第2形態の監視手段を形成するコンピュータプログラム製品を提供する。
さらに別の形態における本発明は、1つまたは複数のスプレッドシートのデータを監視及び監査するためにネットワークに接続するためのサーバーであって、ネットワークは、スプレッドシートデータを含むファイルを格納することができるファイルストアと、データベースとを有し、このサーバーは、ファイルストア内のスプレッドシートデータの変更を検出し、そのような変更をデータベースに記録するようにする。
このようなサーバーは、本発明の第1形態における監視手段を構成してもよい。
上記全ての場合において、本発明の実施例の動作によりクライアントの動作に干渉することは望ましくなく、本実施例の存在はクライアントのユーザーにはできる限り透明であることが望ましい。このため、本発明の実施例は、ネットワークのクライアントとは非同期に動作することがきわめて望ましい。特に、本実施例がファイルストアに格納されたファイルを処理する間、クライアントの動作が遮断されるべきではない。
図1に示すように、本実施例は既存のビジネスデスクトップおよびネットワーク環境と共に機能するシステムである。動作にあたっては、システムはネットワーク内のスプレッドシートファイルの存在を検出し、ビジネスが管理上の目的で選択したファイルを取り込む。次いでシステムは、これらファイルの内容のデータベースを作成する。最初のデータベースが作成されると、システムは管理されているファイルにおきるイベントを探すべく、ネットワークを監視する。スプレッドシートのファイル保存を(排他的にではなく)含む特定のトリガーイベントがおきると、システムはファイルのコピーを検索し、それを要素パーツに分解し、これをデータベースに保持されているオリジナルと比較する。システムは、データベースになされた変更を保存する。ファイルが名称変更された場合、削除された場合、または移動された場合は、それもデータベースに記録する。システムは、データベースが中央で収集したデータをビジネスが閲覧できるようにしている。このシステムは、既存の技術を使ったポータルを用いることによって、データを収集し分析することができる。
図2に示すように、このシステムは、複数のネットワークドメインにアクセスし、管理対象のファイル維持のための作業を行うことができる。システムは、ファイルの内容を拡張可能マークアップ言語、 Extensible Markup Language (XML)での表現に変換し、このフォーマットを用いて比較を行う。システムは、ファイルの保存、ファイル変更のトラッキング及び検出及び取り込みに際しては、もっとも細かいレベルで作業を行う。データベースはこの大変細かいレベルにおいて入力されている。ビジネスユーザーは、自身のレポートツールや分析の選択をデータに適用することができる。本発明は、データに何が行われるかについて限定するものではない。
図3に示すように、システムはアクセスが許されたドメインにて機能することができる。システムは、ファイル、イベントおよびイベント後バージョンのファイルを探知して、データベースを作成する。
図4に示すように、システムはターゲットのネットワーク環境をスキャンし、監視されるべきファイル全てのリストを引き出す。本発明では、前回以降新たに作成されたファイルの存在、削除されたファイルの存在を特定する。このスキャンにより、自動ソフトウェアツールまたはビジネスが処理開始(図1)やファイル維持(図2)のためにファイルの取り込みをトリガーすることができるレポートを作成する。
実施例のより詳しい記述
本発明の本実施例は、コンピュータのネットワーク内で実施される。このネットワーク内には、任意多数のクライアントがあり、これらクライアントはパーソナルコンピュータであり、ユーザーはこれらパーソナルコンピュータでスプレッドシートアプリケーションを実行してスプレッドシートを展開し、使用することができる。ユーザーは、個人のスプレッドシートファイルをこれらコンピュータに格納してもよい。ファイルは、ネットワークにリンクされたどのドライブからでも監視することができる。いつもではないが通常、重要なスプレッドシートは中央ファイルサーバーに置かれている。またネットワークには監視サーバーが置かれており、ユーザーがスプレッドシートに実行した活動を監視し、および記録する役目を負っている。
図5に示すように、組織内のコンピュータネットワークは任意多数のクライアントコンピュータ10を有している。各クライアントコンピュータ10はユーザーに用いられて、スプレッドシートを含むパーソナル文書を作成する。典型的には、各クライアントコンピュータは、スプレッドシートに関連する個人的嗜好と作業習慣とを有する1人のユーザーによって使用される。
各クライアントコンピュータ10は、ネットワーク12に接続されている。これは、図示のため、図1には統合されたネットワークとして示されている。しかし、実際の実施例では、多数のサブネット、およびローカルエリアネットワークリンクとワイドエリアネットワークリンクとを有することが多い。
ネットワーク12には、1つまたは2つ以上のファイルサーバー14が接続されている。ネットワークのポリシーにより、ユーザーはファイルを自身のクライアントマシン10若しくはファイルサーバー14に保存することができる。クライアントコンピュータ10によるローカル保存と、ファイルサーバー14とで、多様なファイルストアを形成している。
監視サーバー16は、ネットワーク12に接続され、オペレーターのポリシーによってファイルストア全体または一部のみにアクセスできるようになっている。本発明によって提供されるプロセスが行われるのは、監視サーバー16の内部である。監視サーバー16の構成は、ネットワーク全体の性質に大きく依存する。監視サーバー16は、クライアント10で実行されるソフトウェアの動作の遅れが最小になるように、タスクを処理し得なければならない。監視サーバー16は、場合によっては単一のマシンでもよいし、場合によってはサーバー44で複数文書のパラレル処理が可能なように制御されたマシンのクラスターであってもよい。これらに関する詳細は後述される。
図6において、ファイルストア内のスプレッドシートファイル全体が20で示されている。図6の他のアイテムは、監視サーバー16の論理コンポーネントである。これらのコンポーネントは、ウォッチングサービス22と、コントローラサービス24と、メタ格納データベース26と、非同期フレームワーク30とを含み、非同期フレームワーク30は監視サービス32及びプロセスサービス34を有する。システム全体の動作は、タスクメッセージを種々の論理コンポーネントの間で回すことにより制御される。これにより、更なるマシンをクラスターに追加し、タスクメッセージをそれらの間で回すことによって、システムの規模を拡大することが可能であるという利点がある。さらに、監視サーバーがスプレッドシートファイル20をクライアントと非同期に処理することが可能となり、これによりそのユーザーのスプレッドシートプログラムの動作との干渉を最小限に留めることができる。
ウォッチングサービス22の機能は、スプレッドシートファイル20を監視し、それらのうちのいずれかが変更されたときにイベントを立ち上げるものである。変更が検出されると、ファイルが読まれ、その現在の内容と前回ファイルが読まれたときのファイル内容とが比較され、そして特定された変更は次いでデータベースに格納される。こうして、ファイルストアのファイルが変更される度に、記録が生成される。従って、ファイルストアにあるままのファイルから始め、記録された変更を逆に適用することによって、その展開途中の以前の状態のファイルにさかのぼることができる。ウォッチングサービス22を備えることにより、ファイルの変更時に動作をトリガーするためのフックをスプレッドシートプログラムに備えておく必要がなくなる。
総じて、この実施例はMicrosoftのExcelを用いて形成されたスプレッドシート処理に関する。このアプリケーションは、ファイル名拡張子が一般に“XLS”であるファイル(一般に“XLSファイル”と呼ばれる)にスプレッドシートを格納する。これらは、バイナリファイルである。しかし、本発明の原理は、スプレッドシートデータがどのように格納されるかに依らず、他のアプリケーションで作成されたスプレッドシートにも適用可能である。バイナリファイルについて内容分析を行うのが難しいことはよく知られるところであるので、本実施例ではXLSファイルをまず拡張可能マークアップ言語、Extensible Markup Language (XML)形式による表現に転換するアプローチをとっている。他のスプレッドシートプログラム、特にOpenOffice.org Calcは、XMLをネイティブのファイルフォーマットとして使っている。従って、ファイル処理にあたって変換のステップを省くことができる。
上述のように、この実施例はコンピュータのクラスターに対して実施される。サーバーが行う動作は、個別のタスクとして行われる。タスクオブジェクトが形成されると、タスクキューに置かれる。タスクがキューの先頭にくると、クラスター内の最初に処理可能となるマシンによって処理が行われる。
図7は、全てのタスクが導出される基となる親クラスの構造を図示するものである。各タスクオブジェクトにより4つの手法が示されている。それらは、操作タスク、開始タスク、実行タスク、終了タスクである。操作タスクは、非同期フレームワークがオブジェクトを開始するための方法である。またこれは、トレーシングコードへのログ記入も行う。タスクが処理中に用いる状態変数を含むトランザクション状態オブジェクトTransaction State Object(TSO)も入力として受け付ける。開始タスク手法は、実行のコンフィギュレーション変数を設定する。実行タスクは、タスクを完了するための全ての機能を行う。終了タスクは、終了動作を全て行う。
図7に図示されたクラスから導出される主要クラス自身が、図8に示されている。これらは、ファイルストアからのファイル検索、ファイルの内容の変換と比較、マクロの処理、データベース内のストアの操作、及び変更情報の操作を行うためのタスクオブジェクトを含む。これらクラスにつき、簡単に述べる。
ファイル検索:このクラスは、ファイルをターゲットの変更位置からコピーする役目を果たす。
変換:このクラスは、XLSファイルを取得し、ファイルをXMLワークシートに解体する役目を果たす。変換クラスは、全てのデルタオペレーションを行うために比較クラスとマクロクラスとを呼び出す。このクラスは、指名された領域を全て解体し、変更を検出する。またこのクラスは、比較及びマクロ分解タスクを非同期フレームワークに変更する。
比較:このクラスは、最新時点での状態を計算及び分類し、「デルタ」と呼ばれる、XMLの2時点間の変更の記載を行う。このクラスは、全種類の変更および全種類のセルを分類し、デルタ変更をそれぞれ関連する変更で関連付ける。このクラスは、以下のアルゴリズムを用いる。
ポインタを前XMLファイルと現ファイルのXMLファイルとから最初のセルに置く。
2つのセルのセルマトリックス位置(行位置、列位置)を比較する。もし現セル位置と前セル位置とが同じであれば、セルの値及び数式とを比較して違いがないかをみる。この比較によって、変更の種類が特定され、および分類される。もしセルが数式を含んでいれば、そのセルは“数式”の種類によりタグが付けられ、これにより固定値を含むセルと数式評価の結果同じ値が表示されるセルとが明確に区別される。セル変化の違いも確立されている。整数値の場合、差は2つの整数の差である。ストリングの差は、各ストリングの長さに基づいて決められる。日付の差は、日数に基づいて計算される。現セル位置が前セル位置よりも大きい場合、「データ追加」の記録がデルタXMLファイルに追加される。もし前セル位置が現セル位置よりも大きい場合、「データ削除」の記録がデルタXMLファイルに追加される。
ファイルのセルマトリクス位置の最も小さいセルから次のセルを取得し、セルマトリクス位置を比較することによって比較処理を再び始める。
この処理を、前および現XMLファイルが共にファイルの最後まで読まれるまで繰り返す。
この処理が終わると、デルタXMLファイルができる。このファイルは、現時点と前時点との間の違いを分類したものが含まれている。
大量ロード:このクラスは、変換/比較タスクによって生成されたデルタファイルを大量挿入する役目を果たす。
XML格納:このクラスは、文書の変換により生成されたXMLファイルを保存する役目を果たす。このクラスは、生成された現XMLファイルを圧縮し、前ファイルを除去して新しいファイルをデータ保存部にアップロードする。
マクロ解体:このクラスは、2時点における2つのプログラムスクリプトの差を計算する。取り込まれたスクリプトは、既存のソースコード制御システム40に統合されてもよい。
リミットチェッカー:このクラスは、データストア内の変更の種類を監視し、特定のターゲットに対して警告を発する。
本実施例にウェブベースのインターフェースが備えられ、ユーザーがそこからデータベース内のデータにアクセスできる場合、これによってスプレッドシート動作の全てを監視できる中心ポイントを提供する。監視サーバー16において実行される処理は、データベースに適用されるクエリーを生成し、これらクエリーの結果を基に、ウェブサーバー38によってウェブブラウザに提供されるページが生成される。クエリーの範囲と生成されるレポートとには、本質的に制限はない。これらは、システムの特定のユーザーの特定の要求に応じることができる。また。同じインターフェースを、システムの構成と維持とに用いることもできる。ウェブベースのインターフェースをデータベースに設置することは日常的に行われる業務であり、ここではこれ以上の細かい説明は行わない。
さらに、クエリーの結果に基づいて警告を生成することもできる。例えば管理者は、特定のスプレッドシートのある部分につき、一連の禁止行為を規定してもよく、または、特定のセルの値が予め定めた範囲の外に移動したときに警告で知らせるようにしてもよい。システムは、警告が発生されるべきことを検出したときに、電子メールメッセージを生成し、そして予め定めたアドレスに送信してもよい。
他のウェブベースインターフェースによって提供される主要スクリーンのいくつかにつき、簡単に述べる。
図16は、どのファイルが監視されているかをユーザーが見ることができ、およびファイルがリンクされている場合にはリンクされたファイルのヒエラルキーをユーザーが見ることができるスクリーンを示す。
図17は、スプレッドシート内の特定のセルの値が、時間を経るにつれどのように変遷したかを、ユーザーが監視することができるスクリーンを示す。このスクリーンでは、値はグラフによって示されている。
図18は、時間を経るにつれスプレッドシートになされた変更の要旨をユーザーに示すスクリーンを示す。各変更の性質及び変更を行った人が特定されている。
図19は、本発明のソースコード制御の形態を示している。図19では、右手側の画面が現バージョンのプログラムコードの一部を表示し、左手側の画面は前バージョンのコードを表示している。
MicrosoftおよびExcelは、マイクロソフト・コーポレーションの商標である。
本発明の実施例を例示として、添付の図面を参照にして詳述する。ここで
本発明の実施例の概略を示す高レベル模式図である。 図1の実施例のデータ維持プロセスを示す図である。 図1の実施例のファイルのキャプチャプロセスを示す図である。 図1の実施例の部分を示す図である。 本発明が実施された組織内におけるコンピュータネットワークの全体図である。 本発明の実施例の主要機能部を示すブロック図である。 他のタスクのクラスが導出される基となる、基本クラスを示す図である。 種々のタスクのクラスを示す図である。 ファイル検索クラスの動作を示す図である。 変換クラスの動作を示す図である。 ファイル検索クラスの動作を示す図である。 マクロ分解クラスの動作を示す図である。 比較クラスの動作を示す図である。 大量ロードクラスの動作を示す図である。 XML保存クラスの動作を示す図である。 本実施例の動作中に生成される種々のディスプレイのスクリーン図である。 本実施例の動作中に生成される種々のディスプレイのスクリーン図である。 本実施例の動作中に生成される種々のディスプレイのスクリーン図である。 本実施例の動作中に生成される種々のディスプレイのスクリーン図である。

Claims (16)

  1. 1つまたは2つ以上のスプレッドシートのデータを監視および監査するためのシステムであって、スプレッドシートデータを含むファイルを格納し得るファイルストアと、データベースと、監視手段とを備え、該監視手段は前記ファイルストア内のスプレッドシートデータの変更を検出し、その変更を前記データベースに記録するようにしたことを特徴とするシステム。
  2. 前記ファイルストア内のスプレッドシートデータが変更される度毎に変更が検出および記録されることを特徴とする請求項1に記載のシステム。
  3. 前記ファイルストア内のファイルを監視し、および前記ファイルストア内のファイルの変更を検出すると動作を開始するようにしたファイル監視手段を備えたことを特徴とする請求項1または2に記載のシステム。
  4. 前記監視手段は、前記ファイルストア内のファイル(最新ファイル)とそのファイルの前バージョンとを比較するようにした比較手段を備えたことを特徴とする請求項1乃至3のいずれかに記載のシステム。
  5. 前記比較手段は最新ファイルの各セルを前バージョンの対応セルと比較し、およびセルの内容が変更したと判断すればその変更の記録を作成することを特徴とする請求項4に記載のシステム。
  6. 前記記録には変更の性質を分類するデータが含まれていることを特徴とする請求項5に記載のシステム。
  7. 前記変更の性質は:データ追加、データ変更、データ削除、関数追加、関数変更、関数削除、データから関数へ、関数からデータへ、セルエラー、関数再計算、スクリプト変更、外部参照変更、指定範囲変更、リンク変更、パスワード変更、シート追加、シート削除、シート名称変更、スプレッドシート名称変更、スプレッドシート削除、スプレッドシート追加、のうちの1つまたは2つ以上として分類されていることを特徴とする請求項6に記載のシステム。
  8. 前記記録には、変更がなされた時間を示すタイムスタンプが含まれていることを特徴とする請求項5乃至7のいずれかに記載のシステム。
  9. 前記記録には、変更をしたユーザーを特定するデータが含まれていることを特徴とする請求項5乃至8のいずれかに記載のシステム。
  10. 監視対象のファイルは、前記比較手段によって処理される前に分析され、およびXMLに変換されることを特徴とする請求項5乃至9のいずれかのコーンに記載のシステム。
  11. 前記監視手段は、前記監視手段が監視するようになっているファイルを生成するネットワーククライアントとは非同期に動作するようにしたことを特徴とする請求項1乃至10のいずれかに記載のシステム。
  12. 1つまたは2つ以上の文書中のプログラムコードを監視および監査するためのシステムであって、文書を含むファイルを格納し得るファイルストアと、データベースと、監視手段とを備え、該監視手段はファイルストア内の文書に含まれたコードの変更を検出し、前記データベースにその変更を記録するようにしたことを特徴とするシステム。
  13. 前記文書は、スプレッドシートと、ワードプロセッサーファイルと、データベースファイルとのうちの1つまたは2つ以上を含んでいることを特徴とする請求項1に記載のプログラムコードを監視および監査するためのシステム。
  14. 請求項1乃至12のいずれかに記載のプログラムコードを監視および監査するためのシステムであって、1つまたは2つ以上のスプレッドシートのデータを監視および監査するためのシステムと組み合わされたことを特徴とするシステム。
  15. 請求項1乃至12のいずれかに記載のシステムの監視手段を形成し、コンピュータハードウェアにおいて実行可能なコンピュータプログラム製品。
  16. 1つまたは2つ以上のスプレッドシートのデータを監視および監査するためにネットワークに接続し得るサーバーであって、前記ネットワークはスプレッドシートデータを含むファイルを格納し得るファイルストアとデータベースとを備え、前記サーバーは前記ファイルストア内のスプレッドシートデータの変更を検出しおよび前記データベースにその変更を記録するようにしたことを特徴とするサーバー。
JP2006552693A 2004-02-12 2005-02-14 スプレッドシート及び他文書におけるデータ及びコードの変更の監査及びトラッキング Active JP5312742B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0403059.9 2004-02-12
GBGB0403059.9A GB0403059D0 (en) 2004-02-12 2004-02-12 Xigence version 1.0
PCT/GB2005/000529 WO2005081126A2 (en) 2004-02-12 2005-02-14 Auditing and tracking changes of data and code in spreadsheets and other documents

Publications (3)

Publication Number Publication Date
JP2007522575A true JP2007522575A (ja) 2007-08-09
JP2007522575A5 JP2007522575A5 (ja) 2009-11-26
JP5312742B2 JP5312742B2 (ja) 2013-10-09

Family

ID=32011746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006552693A Active JP5312742B2 (ja) 2004-02-12 2005-02-14 スプレッドシート及び他文書におけるデータ及びコードの変更の監査及びトラッキング

Country Status (4)

Country Link
EP (1) EP1719060A2 (ja)
JP (1) JP5312742B2 (ja)
GB (1) GB0403059D0 (ja)
WO (1) WO2005081126A2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9734139B2 (en) 2005-02-14 2017-08-15 Cluster Seven Limited Auditing and tracking changes of data and code in spreadsheets and other documents
US9501463B2 (en) 2005-12-08 2016-11-22 Microsoft Technology Licensing, Llc Spreadsheet cell-based notifications
GB2433614A (en) * 2005-12-23 2007-06-27 Mark Martindale Data tracking system
US8656272B2 (en) * 2006-04-28 2014-02-18 Microsoft Corporation Persisting instance-level report customizations
EP2047384B1 (en) 2006-07-31 2011-03-23 Cluster Seven Limited Storage and processing of spreadsheets and other documents
CN101127034B (zh) 2006-08-18 2012-05-23 国际商业机器公司 数据组织、查询、呈现、存档、恢复、删除、提炼方法及装置和系统
GB201509331D0 (en) 2015-05-29 2015-07-15 Cluster Seven Ltd Visualization method and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01250142A (ja) * 1988-03-30 1989-10-05 Mitsubishi Electric Corp 電子計算機におけるプログラム編集方法
JPH05108437A (ja) * 1991-10-14 1993-04-30 Nec Corp プログラムフアイル変更履歴管理方法
JPH09305353A (ja) * 1996-05-10 1997-11-28 Casio Comput Co Ltd 帳票出力方法
JP2001109618A (ja) * 1999-10-13 2001-04-20 Nec Eng Ltd 履歴管理ファイルシステム
JP2001256043A (ja) * 2000-03-10 2001-09-21 Toshiba Corp プログラムソースの修正履歴管理方法および修正履歴管理システム
JP2003058534A (ja) * 2001-08-09 2003-02-28 Casio Comput Co Ltd データ処理装置およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303146A (en) 1993-03-11 1994-04-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet
US5806078A (en) 1994-06-09 1998-09-08 Softool Corporation Version management system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01250142A (ja) * 1988-03-30 1989-10-05 Mitsubishi Electric Corp 電子計算機におけるプログラム編集方法
JPH05108437A (ja) * 1991-10-14 1993-04-30 Nec Corp プログラムフアイル変更履歴管理方法
JPH09305353A (ja) * 1996-05-10 1997-11-28 Casio Comput Co Ltd 帳票出力方法
JP2001109618A (ja) * 1999-10-13 2001-04-20 Nec Eng Ltd 履歴管理ファイルシステム
JP2001256043A (ja) * 2000-03-10 2001-09-21 Toshiba Corp プログラムソースの修正履歴管理方法および修正履歴管理システム
JP2003058534A (ja) * 2001-08-09 2003-02-28 Casio Comput Co Ltd データ処理装置およびプログラム

Also Published As

Publication number Publication date
WO2005081126A3 (en) 2006-06-22
EP1719060A2 (en) 2006-11-08
GB0403059D0 (en) 2004-03-17
JP5312742B2 (ja) 2013-10-09
WO2005081126A2 (en) 2005-09-01

Similar Documents

Publication Publication Date Title
US9734139B2 (en) Auditing and tracking changes of data and code in spreadsheets and other documents
US6199070B1 (en) Using a database for program logs
US9785907B2 (en) Supplemental system for business intelligence systems
JP5592451B2 (ja) スプレッドシートおよびその他の文書の記憶および処理
US8543527B2 (en) Method and system for implementing definable actions
US7421683B2 (en) Method for the use of information in an auxiliary data system in relation to automated testing of graphical user interface based applications
US6370542B1 (en) Method and apparatus for knowledge acquisition and management
US7620856B2 (en) Framework for automated testing of enterprise computer systems
US7823165B2 (en) System and computer program product for presenting event flows using sequence diagrams
JP5570608B2 (ja) エクセル基盤の分析レポート作成システム及び方法
JP5312742B2 (ja) スプレッドシート及び他文書におけるデータ及びコードの変更の監査及びトラッキング
US8140479B2 (en) Logical classification of objects on a computer system
CN101171571A (zh) 分析和组织软件应用程序中的物件的设备
US7640335B1 (en) User-configurable network analysis digest system and method
US10528229B2 (en) Mandatory comment on action or modification
Breitmayer et al. Deriving event logs from legacy software systems
Schreiber et al. Analyzing software engineering processes with provenance-based knowledge graphs
Li et al. A Model-based Framework to Automatically Generate Semi-real Data for Evaluating Data Analysis Techniques.
CN115629960A (zh) 埋点信息实时分析的方法、装置、存储介质和电子设备
Hunley et al. A Whole New World: What’s New in SAS Data Integration Studio 4.2
Dasgupta et al. Intelligent Security Console Architecture
MOINUDDIN et al. A FRAMEWORK FOR DATA MINING IN A COMPANY THAT USES PERFORCE SCM TOOL

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101029

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111006

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111122

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111214

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120113

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120815

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120820

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130703

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5312742

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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