(57)【要約】【課題】  データ項目を追加する場合にも互換性を保ち複数のアプリケーションを連携させる。【解決手段】  プロジェクトデータ保管部７はアプリケーションのそれぞれにおいて使用される各データを特定の順に配列するアプリケーションデータと、各データの記憶順に対応して当該データのデータ識別情報と当該データのデータサイズとの組を配列するデータ構造データとをプロジェクトデータとして記憶する。データ構造データ抽出部１１は使用するデータのデータ識別情報と同一のデータ識別情報をデータ構造データの先頭から検索する。検索する際、一致しなかったデータ識別情報との組であるデータサイズを順次加算して加算サイズとする。データ識別情報が一致した場合に、アプリケーションデータ抽出部１２は、アプリケーションデータの先頭から加算サイズ分だけ先に記憶されるデータを抽出する。アプリケーションデータ処理部１３は命令コードに従いデータを処理する。【選択図】        図４
2007072965.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラムそれぞれにおいて使用される複数の項目データが特定の順に設定されたアプリケーションデータと、各項目データの設定順に対応して当該項目データのデータ識別情報と当該項目データのデータサイズとの組が設定されたデータ構造データとを有するプロジェクトデータを記憶する記憶機器に接続するデータ処理装置であり、
プログラムで使用する項目データのデータ識別情報を出力してプログラムで使用する項目データを要求して入力し、入力した項目データをプログラムに基づいて処理するデータ処理部と、
前記データ処理部の出力したデータ識別情報を入力すると共に前記記憶機器からプロジェクトデータを取得し、入力したデータ識別情報を取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とデータ構造データでの設定順に先頭から比較し、入力したデータ識別情報と取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致しない場合に、比較したデータ識別情報との組であるデータサイズを順次加算して加算サイズとし、入力したデータ識別情報と取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致する場合に、取得したプロジェクトデータの有するアプリケーションデータに設定された項目データの先頭から加算サイズ分だけ先に設定された項目データを、一致したデータ識別情報との組であるデータサイズ分だけ抽出し抽出した項目データを前記データ処理部に出力するデータ抽出部と
を備えたことを特徴とするデータ処理装置。
【請求項２】
前記データ処理装置は、
単一のプログラムで使用される項目データである固有データと複数のプログラムで使用される項目データである共通データとを設定されたアプリケーションデータと、当該項目データのデータ識別情報と当該項目データのデータサイズと当該項目データの更新の有無を識別する更新識別情報との組が設定されたデータ構造データとを有するプロジェクトデータを記憶する前記記憶機器に接続し、
さらに、
前記データ処理部の出力したデータ識別情報を入力し、前記データ処理部が項目データを処理する際の当該更新識別情報と前記データ処理部が項目データを処理した後の当該更新識別情報であり、入力したデータ識別情報と一致するデータ識別情報と組である更新識別情報を、前記データ処理部が項目データを処理する際に前記データ抽出部が取得したプロジェクトデータと前記データ処理部が項目データを処理した後に前記データ抽出部が取得したプロジェクトデータとから抽出する更新識別情報抽出部と、
前記更新識別情報抽出部が抽出した前記データ処理部が項目データを処理する際の当該更新識別情報と前記更新識別情報抽出部が抽出した前記データ処理部が項目データを処理した後の当該更新識別情報とを比較した結果に基づいて、異なるプログラムを処理する各データ処理部間での共通データの競合の有無を判定するデータ競合判定部と、
前記データ競合判定部が共通データの競合無しと判定した場合に、前記記憶機器に記憶されたプロジェクトデータの有するアプリケーションに設定された当該項目データを前記データ処理部が処理した後の項目データで更新するデータ更新部と
を備えたことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
複数のプログラムそれぞれにおいて使用される複数の項目データが特定の順に設定されたアプリケーションデータと、各項目データの設定順に対応して当該項目データのデータ識別情報と当該項目データのデータサイズとの組が設定されたデータ構造データとを有するプロジェクトデータを記憶する記憶機器に接続するデータ処理装置のデータ処理方法であり、
データ処理部は、プログラムで使用する項目データのデータ識別情報を出力してプログラムで使用する項目データを要求するデータ要求処理を行い、
データ抽出部は、前記データ処理部の出力したデータ識別情報を入力すると共に前記記憶機器からプロジェクトデータを取得し、入力したデータ識別情報を取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とデータ構造データでの設定順に先頭から比較し、入力したデータ識別情報と取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致しない場合に、比較したデータ識別情報との組であるデータサイズを順次加算して加算サイズとし、入力したデータ識別情報と取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致する場合に、取得したプロジェクトデータの有するアプリケーションデータに設定された項目データの先頭から加算サイズ分だけ先に設定された項目データを、一致したデータ識別情報との組であるデータサイズ分だけ抽出し抽出した項目データを前記データ処理部に出力するデータ抽出処理を行い、
前記データ処理部は、前記データ抽出部の出力した項目データをプログラムに基づいて処理するデータ処理を行う
ことを特徴とするデータ処理方法。
【請求項４】
複数のプログラムそれぞれにおいて使用される複数の項目データが特定の順に設定されたアプリケーションデータと、各項目データの設定順に対応して当該項目データのデータ識別情報と当該項目データのデータサイズとの組が設定されたデータ構造データとを有する最下層のプロジェクトデータを記憶すると共に、最下層のプロジェクトデータを項目データとして特定の順に設定して上位のプロジェクトデータを記憶することにより、プロジェクトデータを階層構造で記憶する記憶機器と、
プログラムで使用する項目データについて各階層でのデータ識別情報を出力してプログラムで使用する項目データを要求して入力し、入力した項目データをプログラムに基づいて処理するデータ処理部と、
前記データ処理部の出力した各階層でのデータ識別情報を入力すると共に前記記憶機器から最上層のプロジェクトデータを取得し、各階層について、入力した当該階層のデータ識別情報を当該階層のプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とデータ構造データでの設定順に先頭から比較し、入力した当該階層のデータ識別情報と当該階層のプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致しない場合に、比較したデータ識別情報との組であるデータサイズを順次加算して加算サイズとし、入力した当該階層のデータ識別情報と当該階層のプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致する場合に、当該階層のプロジェクトデータの有するアプリケーションデータに設定された項目データの先頭から加算サイズ分だけ先に設定された項目データを、一致したデータ識別情報との組であるデータサイズ分だけ抽出し、最下層のプロジェクトデータにおいて抽出した項目データを前記データ処理部に出力するデータ抽出部と
を備えたことを特徴とするデータ処理装置。
【請求項５】
複数のプログラムそれぞれにおいて使用される複数の項目データが特定の順に設定されたアプリケーションデータと、各項目データの設定順に対応して当該項目データのデータ識別情報と当該項目データのデータサイズとの組が設定されたデータ構造データとを有する最下層のプロジェクトデータを記憶すると共に、最下層のプロジェクトデータを項目データとして特定の順に設定して上位のプロジェクトデータを記憶することにより、プロジェクトデータを階層構造で記憶する記憶機器に接続するデータ処理装置のデータ処理方法であり、
データ処理部は、プログラムで使用する項目データについて各階層でのデータ識別情報を出力してプログラムで使用する項目データを要求するデータ要求処理を行い、
データ抽出部は、前記データ処理部の出力した各階層でのデータ識別情報を入力すると共に前記記憶機器から最上層のプロジェクトデータを取得し、各階層について、入力した当該階層のデータ識別情報を当該階層のプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とデータ構造データでの設定順に先頭から比較し、入力した当該階層のデータ識別情報と当該階層のプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致しない場合に、比較したデータ識別情報との組であるデータサイズを順次加算して加算サイズとし、入力した当該階層のデータ識別情報と当該階層のプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致する場合に、当該階層のプロジェクトデータの有するアプリケーションデータに設定された項目データの先頭から加算サイズ分だけ先に設定された項目データを、一致したデータ識別情報との組であるデータサイズ分だけ抽出し、最下層のプロジェクトデータにおいて抽出した項目データを前記データ処理部に出力するデータ抽出処理を行い、
前記データ処理部は、前記データ抽出部の出力した項目データをプログラムに基づいて処理するデータ処理を行う
ことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションデータを管理しデータ処理を行うデータ処理装置およびデータ処理方法に関するものである。
【背景技術】
【０００２】
従来のアプリケーション間連携システム及びアプリケーション間連携方法では、異なる複数のアプリケーション間を連携させるアプリケーション間連携システムに於いて、アプリケーション対応に該アプリケーションが解釈できるデータフォーマットに変換する機能を含むアダプタを設ける。そして、該アダプタは、発生したイベントデータのリクエストＩＤ対応の転送先を示すルーティング情報を格納したルーティング制御情報部と、該ルーティング制御情報部を前記リクエストＩＤを基に検索して前記イベントデータのルーティング制御を行うルーティング制御部と、前記イベントデータのアクション処理を行うアクション制御情報を格納したアクション制御情報部とを備えたことを特徴としていた（特許文献１）。
また、従来のアプリケーション非依存データ生成方法及び情報処理プログラム及びレイアウト情報処理システムは、外部からアクセス可能なインタフェースにより、アプリケーションの有する情報をインタフェースに従って取り出し、取り出したデータを変換プログラムにより構造化データに変換することでアプリケーションに依存しないデータを生成していた（特許文献２）。
【特許文献１】特開２００３−０６７３５６号公報
【特許文献２】特開２００２−２８８１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のような従来のアプリケーション間連携システム及びアプリケーション間連携方法は、アプリケーション対応に該アプリケーションが解釈できるデータフォーマットに変換する機能を含むアダプタを設けたものであり、アダプタ側でデータ変換をおこなう必要があった。このため、アプリケーションのバージョンアップに伴い機能が追加され、機能の追加に伴いデータ中の項目（以下、データ項目とする）が増加した場合には，アダプタが動作するサーバ上のＤＢ（Ｄａｔａ  Ｂａｓｅ）におけるテーブル構成の変更や、アダプタそのもの及びアダプタとアプリケーションとのインタフェースの改修が必要となるという課題がある。また、旧バージョンのアプリケーションとのインタフェースを残す必要があるため、アプリケーションが扱うデータフォーマットが変更になるたびにインタフェースを増やす必要があるという課題があった。
また、従来のアプリケーション非依存データ生成方法及び情報処理プログラム及びレイアウト情報処理システムは、構造化データのフォーマットとしてＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を採用する。そして、サーバ側にＤＢを設けて、クライアントからのアプリケーション用データの取得要求または格納要求に応じて、サーバ側で構造データ変換を行っていた。このようなシステムでは、ＸＭＬによるデータ構造化をおこなっているため、アプリケーションが扱うデータフォーマットの変更に柔軟に対応できるという長所がある。しかし、例えば，ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）の分野においては，製造制御用のプログラムを開発するアプリケーションがあり，それをＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）と呼ばれるＦＡ用制御計算機にダウンロードするという運用がおこなわれている。また、ダウンロードした後は、ＰＬＣでもデータの編集をおこなう必要がある。ＰＬＣは多くの場合、Ｅｔｈｅｒｎｅｔ（登録商標）（イーサネット）のＩ／Ｆ（インタフェース）を持たないか、あるいは，Ｉ／Ｆを持っていてもＥｔｈｅｒｎｅｔ（登録商標）に常時接続していないため，データフォーマットを記述したＸＭＬスキーマを入手することが困難であるという課題がある。また、ＸＭＬはテキストフォーマットであるため、それを処理するためのプログラムのバイト数が大きくなり、ＰＬＣのような組込み機器への実装が難しいという課題がある。
【０００４】
この発明は、上記のような課題を解決するためになされたもので、アプリケーションのバージョンアップに伴いデータ項目が増加されるような場合にも、旧バージョンのアプリケーションとの互換性を保ちつつ自由にデータ項目を追加できるようにすることを目的とする。
また、サーバ側のＤＢの構造変更やインタフェースを変更せずに、アプリケーションが扱うデータフォーマットを変更することを可能にすることを目的とする。
また、Ｅｔｈｅｒｎｅｔ（登録商標）接続していない機器でも処理することを可能にすることを目的とする。
また、処理プログラムのバイト数を小さくすることを可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明のデータ処理装置は、複数のプログラムそれぞれにおいて使用される複数の項目データが特定の順に設定されたアプリケーションデータと、各項目データの設定順に対応して当該項目データのデータ識別情報と当該項目データのデータサイズとの組が設定されたデータ構造データとを有するプロジェクトデータを記憶する記憶機器に接続し、プログラムで使用する項目データのデータ識別情報を出力してプログラムで使用する項目データを要求して入力し、入力した項目データをプログラムに基づいて処理するデータ処理部と、前記データ処理部の出力したデータ識別情報を入力すると共に前記記憶機器からプロジェクトデータを取得し、入力したデータ識別情報を取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とデータ構造データでの設定順に先頭から比較し、入力したデータ識別情報と取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致しない場合に、比較したデータ識別情報との組であるデータサイズを順次加算して加算サイズとし、入力したデータ識別情報と取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致する場合に、取得したプロジェクトデータの有するアプリケーションデータに設定された項目データの先頭から加算サイズ分だけ先に設定された項目データを、一致したデータ識別情報との組であるデータサイズ分だけ抽出し抽出した項目データを前記データ処理部に出力するデータ抽出部とを備えたことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、上記データ抽出部を備えて所望のデータを抽出できることより、例えば、アプリケーションのバージョンアップに伴いデータ項目が増加されるような場合にも、旧バージョンのアプリケーションとの互換性を保ちつつ自由にデータ項目を追加できる。また、サーバ側のＤＢの構造変更やインタフェースを変更せずに、アプリケーションが扱うデータフォーマットを変更することを可能にする。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
実施の形態１において、プロジェクトデータ管理システム１００は、関連する複数のアプリケーション（特定のデータを共通して使用する複数のアプリケーション）のアプリケーションデータを一つにまとめてプロジェクトデータとして管理する。
【０００８】
図１は、実施の形態１におけるアプリケーションデータとプロジェクトデータの関係を示す図である。
３つのアプリケーションが関連している場合のアプリケーションデータとプロジェクトデータの関係について、図１に基づいて以下に説明する。
【０００９】
アプリケーションＡの処理対象であるアプリケーションＡ用アプリケーションデータ１０１は、アプリケーションＡに固有なデータであるアプリケーションＡ固有データ１０２、アプリケーションＡとアプリケーションＢに共通なデータであるアプリケーションＡＢ共通データ１０３、アプリケーションＡとアプリケーションＣに共通なデータであるアプリケーションＡＣ共通データ１０４、アプリケーションＡとアプリケーションＢとアプリケーションＣに共通なデータであるアプリケーションＡＢＣ共通データ１０５とを有している。
また、アプリケーションＢの処理対象であるアプリケーションＢ用アプリケーションデータ１０６は、アプリケーションＢに固有なデータであるアプリケーションＢ固有データ１０７、アプリケーションＡとアプリケーションＢに共通なデータであるアプリケーションＡＢ共通データ１０３、アプリケーションＢとアプリケーションＣに共通なデータであるアプリケーションＢＣ共通データ１０８、アプリケーションＡとアプリケーションＢとアプリケーションＣに共通なデータであるアプリケーションＡＢＣ共通データ１０５とを有している。
また、アプリケーションＣの処理対象であるアプリケーションＣ用アプリケーションデータ１０９は、アプリケーションＣに固有なデータであるアプリケーションＣ固有データ１１０、アプリケーションＡとアプリケーションＣに共通なデータであるアプリケーションＡＣ共通データ１０４、アプリケーションＢとアプリケーションＣに共通なデータであるアプリケーションＢＣ共通データ１０８、アプリケーションＡとアプリケーションＢとアプリケーションＣに共通なデータであるアプリケーションＡＢＣ共通データ１０５とを有している。
【００１０】
また、プロジェクトデータ中のアプリケーションデータ１１１が、複数のアプリケーションが共通して扱うデータを一つとして、アプリケーションＡ用アプリケーションデータ１０１と、アプリケーションＢ用アプリケーションデータ１０６と、アプリケーションＣ用アプリケーションデータ１０９とを有している。
【００１１】
つまり、アプリケーションＡ固有データ１０２、アプリケーションＢ固有データ１０７、アプリケーションＣ固有データ１１０は各アプリケーションに固有のデータであり、これらはそのままプロジェクトデータ中のアプリケーションデータ１１１に設定される。
また、アプリケーションＡＢ共通データ１０３、アプリケーションＡＣ共通データ１０４、アプリケーションＢＣ共通データ１０８は２つのアプリケーションで共通して処理されるデータであり、これらはプロジェクトデータ中のアプリケーションデータ１１１に１つ設定される。
また、アプリケーションＡＢＣ共通データ１０５は３つのアプリケーションで共通して処理されるデータであり、プロジェクトデータ中のアプリケーションデータ１１１に１つ設定される。
【００１２】
図２は、実施の形態１におけるデータ項目構造データの構造図である。
ここで、データ項目構造データとは、アプリケーションデータを構成する各データ項目の構造を示すデータである。
また、アプリケーションデータを構成するデータ項目とは、図１におけるプロジェクトデータ中のアプリケーションデータ１１１を構成するアプリケーションＡ固有データ１０２など、又は、アプリケーションＡ固有データ１０２などをさらに構成する各々のデータである。
【００１３】
アプリケーションデータを構成する各データ項目の構造を示すデータ項目構造データ２０１の有するデータについて、図２に基づいて以下に説明する。
データ種別ＩＤ２０２はデータ項目の種別を表す。データ種別ＩＤ２０２はデータ識別情報の一例である。
データ項目バイト数２０３はデータ項目のバイト数を表す。データ項目バイト数２０３はデータサイズの一例である。
シーケンス番号２０４はデータ項目のバージョンを表す。シーケンス番号２０４は更新識別情報の一例である。
【００１４】
図３は、実施の形態１におけるプロジェクトデータの構造図である。
プロジェクトデータ３０１を構成するデータについて、図３に基づいて以下に説明する。
データ構造データ３０２はアプリケーションデータを構成するデータ項目毎に上記のデータ項目構造データ３０４を有する。
アプリケーションデータ３０３は、図１におけるプロジェクトデータ中のアプリケーションデータ１１１であり、関連する複数のアプリケーションデータを一つにまとめて有する。
データ項目構造データ３０４（＃１〜＃ｍ）はそれぞれ、アプリケーションデータを構成するデータ項目毎にデータ種別ＩＤとデータ項目バイト数とシーケンス番号とを有する。
データ項目データ３０７（＃１〜＃ｍ）は、アプリケーションデータを構成する各データ項目を示すデータである。
【００１５】
データ項目構造データ３０４は、対応するデータ項目データ３０７と同じ順番で積み重なり設定される。例えば、データ項目データ＃１がアプリケーションデータ３０３の先頭に配置されていれば、対応するデータ項目構造データ＃１は必ずデータ構造データの先頭に配置される。
データ構造データ３０２とアプリケーションデータ３０３とはプロジェクトデータ３０１を構成する。
【００１６】
図４は、実施の形態１におけるプロジェクトデータ管理システム１００の構成を示すシステム構成図である。
図４において、プロジェクトデータ管理システム１００は、操作者からの指定に応じて各種データ処理をおこなうアプリケーション部１と、プロジェクトデータの保管処理をおこなう保管部２とを備える。また、プロジェクトデータ管理システム１００はアプリケーション毎にアプリケーション部１を備える。
【００１７】
次に、アプリケーション部１と保管部２との構成を以下に説明する。
操作入力部３は操作者からの指定を入力機器から入力する。
プロジェクトデータ要求部４は処理対象のプロジェクトデータをアプリケーション部側Ｉ／Ｆ部５を通じて保管部２に要求する。
アプリケーション部側Ｉ／Ｆ部５はアプリケーション部１と保管部２とのデータ交信をおこなうアプリケーション部側のインタフェース処理部である。
保管部側Ｉ／Ｆ部６はアプリケーション部１と保管部２とのデータ交信をおこなう保管部側のインタフェース処理部である。
プロジェクトデータ保管部７はプロジェクトデータを保管する。
プロジェクトデータ取得部８は保管部側Ｉ／Ｆ部６を通じてアプリケーション部１からのプロジェクトデータ要求を受け取り、要求に応じてプロジェクトデータ保管部７からプロジェクトデータを取得し、取得したプロジェクトデータをアプリケーション部１に向け送り出す。
プロジェクトデータ格納部９はアプリケーション部１から格納要求されたプロジェクトデータをプロジェクトデータ保管部７に格納する。
プロジェクトデータ一時保管部１０はアプリケーション部側Ｉ／Ｆ部５を通じて保管部２から受け取ったプロジェクトデータを一時保管する。
データ構造データ抽出部１１はプロジェクトデータ一時保管部１０に一時保管されたプロジェクトデータからデータ項目構造データを抽出する。
アプリケーションデータ抽出部１２はデータ構造データ抽出部１１が抽出したデータ項目構造データに基づきプロジェクトデータ一時保管部１０に一時保管されたプロジェクトデータからアプリケーションの処理に使用するデータ項目データを抽出する。
アプリケーションデータ処理部１３はアプリケーションデータ抽出部１２がプロジェクトデータから抽出したデータ項目データを処理する。
データ構造データ生成部１４はアプリケーションデータ処理部１３が処理したデータ項目データと、データ構造データ抽出部１１の抽出したアプリケーションデータ処理前のデータ項目構造データとに基づいて、アプリケーションデータ処理後のデータ項目構造データを生成する。
最新プロジェクトデータ一時保管部１５はデータ構造データ生成部１４からの最新のプロジェクトデータの取得要求に基づき保管部２から最新のプロジェクトデータを取得し一時保管する。
データ構造データ比較部１６はデータ構造データ生成部１４の生成したアプリケーションデータ処理後のデータ項目構造データと、最新プロジェクトデータ一時保管部１５の保管する最新のプロジェクトデータからデータ構造データ抽出部１１が抽出した最新のデータ項目構造データとを比較し、他の関連するアプリケーションが先に当該データ項目データを変更していないかどうかをチェックする。
データ構造データ比較結果表示部１７は、他の関連するアプリケーションが先に当該データ項目データを変更した旨を表示装置に表示する。
アプリケーションデータマージ部１８は、データ構造データ比較結果表示部１７による表示に基づく操作者からのアプリケーションデータ処理後のデータのマージ要求を操作入力部３が入力機器から入力した場合に、データ構造データ生成部１４の生成したアプリケーションデータ処理後のデータ項目構造データと、アプリケーションデータ処理部１３の処理したアプリケーションデータ処理後のデータ項目データとを最新プロジェクトデータ一時保管部１５の保管するプロジェクトデータにマージし、アプリケーションデータ処理後のプロジェクトデータを生成する。
【００１８】
ここで、プロジェクトデータ保管部７は、複数のプログラムそれぞれにおいて使用される複数の項目データが特定の順に設定されたアプリケーションデータと、各項目データの設定順に対応して当該項目データのデータ識別情報と当該項目データのデータサイズとの組が設定されたデータ構造データとを有するプロジェクトデータを記憶する記憶機器の一例である。
また、アプリケーションデータ処理部１３は、プログラムで使用する項目データのデータ識別情報を出力してプログラムで使用する項目データを要求して入力し、入力した項目データをプログラムに基づいて処理するデータ処理部の一例である。
また、データ構造データ抽出部１１は、データ処理部の出力したデータ識別情報を入力すると共に記憶機器からプロジェクトデータを取得し、入力したデータ識別情報を取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とデータ構造データでの設定順に先頭から比較し、入力したデータ識別情報と取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致しない場合に、比較したデータ識別情報との組であるデータサイズを順次加算して加算サイズとするデータ抽出部の一例である。また、アプリケーションデータ抽出部１２は、入力したデータ識別情報と取得したプロジェクトデータの有するデータ構造データに設定されたデータ識別情報とが一致する場合に、取得したプロジェクトデータの有するアプリケーションデータに設定された項目データの先頭から加算サイズ分だけ先に設定された項目データを、一致したデータ識別情報との組であるデータサイズ分だけ抽出し抽出した項目データをデータ処理部に出力するデータ抽出部の一例である。
また、データ構造データ抽出部１１は、データ処理部の出力したデータ識別情報を入力し、データ処理部が項目データを処理する際の当該更新識別情報とデータ処理部が項目データを処理した後の当該更新識別情報であり、入力したデータ識別情報と一致するデータ識別情報と組である更新識別情報を、データ処理部が項目データを処理する際にデータ抽出部が取得したプロジェクトデータとデータ処理部が項目データを処理した後にデータ抽出部が取得したプロジェクトデータとから抽出する更新識別情報抽出部の一例である。
また、データ構造データ比較部１６は、更新識別情報抽出部が抽出したデータ処理部が項目データを処理する際の当該更新識別情報と更新識別情報抽出部が抽出したデータ処理部が項目データを処理した後の当該更新識別情報とを比較した結果に基づいて、異なるプログラムを処理する各データ処理部間での共通データの競合の有無を判定するデータ競合判定部の一例である。
また、アプリケーションデータマージ部１８は、データ競合判定部が共通データの競合無しと判定した場合に、記憶機器に記憶されたプロジェクトデータの有するアプリケーションに設定された当該項目データをデータ処理部が処理した後の項目データで更新するデータ更新部の一例である。
【００１９】
また、アプリケーション部１と保管部２とは、同一筐体に備えても構わないし、別筐体に備えても構わない。
【００２０】
図５は、実施の形態１におけるプロジェクトデータ管理システム１００のハードウェア構成図である。
図５において、プロジェクトデータ管理システム１００（またはアプリケーション部１と保管部２とのそれぞれ）は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）表示装置９０１、キーボード（Ｋ／Ｂ）９０２、マウス９０３、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）９０４、磁気ディスク装置９２０、コンパクトディスク装置（ＣＤＤ）９０５、プリンタ装置９０６、スキャナ装置９０７と接続されている。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置、記憶機器、記憶部あるいは保管部の一例であり、プロジェクトデータ保管部７の形態の一例である。
通信ボード９１５は、ＦＡＸ機、電話器、ＬＡＮ、インターネット等に接続されている。但し、常時接続しなくてもよいし、通信ボード９１５を備えなくてもよい。
例えば、通信ボード９１５、Ｋ／Ｂ９０２、スキャナ装置９０７、ＦＤＤ９０４、記憶装置などは、情報入力部、入力機器、入力装置の一例であり、操作入力部３が操作者の操作命令を入力する入力装置の一例である。
また、例えば、通信ボード９１５、ＣＲＴ表示装置９０１、記憶装置などは、出力部、出力機器、出力装置の一例である。
また、ＣＲＴ表示装置９０１は、データ構造データ比較結果表示部１７がデータ構造データ比較結果を表示する表示装置の一例である。
【００２１】
磁気ディスク装置９２０には、オペレーティングシステム（ＯＳ）９２１、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３は、ＣＰＵ９１１、ＯＳ９２１、ウィンドウシステム９２２により実行される。
【００２２】
上記プログラム群９２３には、実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。実施の形態において記すアプリケーションもプログラムである。プログラムは、処理内容と処理対象とするデータの識別情報とを命令コードとして示し、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、実施の形態の説明において、「〜を判定し」、「〜を判定した結果」、「〜を計算（演算）し」、「〜を計算（演算）した結果」、「〜を処理し」、「〜を処理した結果」のような表現で説明する結果情報が、「〜ファイル」として記憶されている。
また、実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置９２０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  ｃａｒｔｒｉｄｇｅ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、その他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
【００２３】
また、実施の形態の説明において「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【００２４】
また、実施の形態を実施するプログラムは、磁気ディスク装置９２０、ＦＤ、光ディスク、ＣＤ、ＭＤ、ＤＶＤ、その他の記録媒体による記録装置を用いて記憶されても構わない。
【００２５】
図６は、実施の形態１におけるプロジェクトデータ管理システム１００のアプリケーション処理を示すフローチャートである。
実施の形態１におけるプロジェクトデータ管理システム１００のアプリケーション処理について、図６に基づいて以下に説明する。
【００２６】
アプリケーション処理において、アプリケーション部１は使用するデータを保管部２に要求（データ要求工程）して取得し（データ取得工程）、取得したデータを使用してデータ処理を実行し（データ処理工程）、保管部２が保管しているデータと処理後のデータとを比較して他のアプリケーションとのデータの競合の有無を判定し（競合判定工程）、処理後のデータによる保管部２が保管しているデータの更新を競合判定結果に基づいて行う（データ更新工程）。
以下に各工程におけるアプリケーション部１の処理の詳細を示す。
【００２７】
＜データ要求工程＞
まず、アプリケーションで使用するデータ（データ項目データ）を有するプロジェクトデータを保管部２に要求する（Ｓ１０１）。
【００２８】
＜データ取得工程（データ抽出工程）＞
次に、要求したプロジェクトデータを保管部２から取得する（Ｓ１０２）。
次に、取得したプロジェクトデータからデータ項目データの構造を示すデータ項目構造データを抽出する（Ｓ１０３）。
次に、データ項目データを取得したプロジェクトデータから、抽出したデータ項目構造データに基づいて抽出する（Ｓ１０４）。
【００２９】
＜データ処理工程＞
次に、抽出したデータ項目データを使用してアプリケーションのデータ処理を実行する（Ｓ１０５）。
【００３０】
＜競合判定工程＞
次に、データ処理後のデータ項目データに対応するデータ項目構造データを生成する（Ｓ１０６）。
次に、アプリケーションで使用したデータ項目データを有する当該プロジェクトデータを保管部２に再び要求する（Ｓ１０７）。
次に、要求した当該プロジェクトデータ（最新のプロジェクトデータ）を保管部２から取得する（Ｓ１０８）。
次に、取得した最新の当該プロジェクトデータからデータ処理したデータ項目データの構造を示す当該データ項目構造データ（最新のデータ項目構造データ）を抽出する（Ｓ１０９）。
次に、データ処理後に生成したデータ項目構造データと最新のデータ項目構造データとを比較してデータの競合の有無を判定する（Ｓ１１０）。
【００３１】
＜データ更新工程＞
データ処理後に生成したデータ項目構造データと最新のデータ項目構造データとが対応する場合（データの競合が起きなかった場合）、データ処理後のデータ項目データとデータ処理後に生成したデータ項目構造データとを最新のプロジェクトデータにマージしてプロジェクトデータを生成する（Ｓ１１１）。
そして、生成したプロジェクトデータ（データ処理後のプロジェクトデータ）で、保管部２の保管する当該プロジェクトデータを更新する（Ｓ１１２）。
また、データ処理後に生成したデータ項目構造データと最新のデータ項目構造データとが対応しない場合（データの競合が起きた場合）、データ項目データの更新の要否を選択する（Ｓ１１３）。
次に、データ項目データの更新の要否を判定する（Ｓ１１４）。
データ項目データを更新する場合、データ処理後のプロジェクトデータを生成（Ｓ１１１）して保管部２の保管する当該プロジェクトデータを更新する（Ｓ１１２）。
また、データ項目データを更新しない場合、データ処理後のプロジェクトデータの生成、保管部２の保管する当該プロジェクトデータの更新をせずに処理を終了する。
【００３２】
次に各ステップにおけるアプリケーション部１と保管部２との処理の詳細を示す。
【００３３】
Ｓ１０１において、プロジェクトデータ要求部４は処理対象のプロジェクトデータを要求する要求命令をアプリケーション部側Ｉ／Ｆ部５を通じて保管部２に出力する。ここで、処理対象のプロジェクトデータは、アプリケーション部１の実行するアプリケーションにおいて使用するデータ（処理対象のデータ項目データ）を有するプロジェクトデータである。
次に、アプリケーション部側Ｉ／Ｆ部５はプロジェクトデータ要求部４から入力した要求命令を保管部側Ｉ／Ｆ部６に出力する。
次に、保管部２のプロジェクトデータ取得部８は、保管部側Ｉ／Ｆ部６の入力した要求命令に基づいて処理対象のプロジェクトデータをプロジェクトデータ保管部７から取得する。
次に、プロジェクトデータ取得部８は、取得した処理対象のプロジェクトデータを保管部側Ｉ／Ｆ部６を通じてアプリケーション部１に出力する。
【００３４】
Ｓ１０２において、プロジェクトデータ一時保管部１０は、プロジェクトデータ取得部８の出力した処理対象のプロジェクトデータをアプリケーション部側Ｉ／Ｆ部５を通じて取得し記憶機器に保管する。
【００３５】
Ｓ１０３において、データ構造データ抽出部１１は、処理対象のデータ項目データの構造を示すデータ項目構造データを、記憶機器に保管された処理対象のプロジェクトデータから抽出する。
【００３６】
Ｓ１０４において、アプリケーションデータ抽出部１２は、データ構造データ抽出部１１の抽出したデータ項目構造データに基づいて、処理対象のデータ項目データを記憶機器に保管された処理対象のプロジェクトデータから抽出する。
【００３７】
具体的には、Ｓ１０３において、データ構造データ抽出部１１は処理対象のデータ項目を示すデータ種別ＩＤを、データ構造データの先頭から順に、データ項目構造データ中のデータ種別ＩＤと比較し、データ種別ＩＤが一致するデータ項目構造データを検索する。この際、同時にデータ種別ＩＤが一致しないデータ項目構造データ中のデータ項目バイト数を順に加算する。
そして、データ種別ＩＤの一致するデータ項目構造データが見つかった場合、Ｓ１０４において、アプリケーションデータ抽出部１２はアプリケーションデータの先頭からＳ１０３で加算したデータ項目バイト数の合計バイト数（加算サイズ）の位置のデータを、データ種別ＩＤが一致するデータ項目構造データ中のデータ項目バイト数に相当するバイト数分抽出する。Ｓ１０３で加算したデータ項目バイト数の合計バイト数は、アプリケーションデータの先頭からの処理対象のデータ項目の位置を表しており、データ種別ＩＤが一致するデータ項目構造データ中のデータ項目バイト数分抽出したデータが処理対象のデータ項目データとなる。
データ種別ＩＤとして、例えば、アプリケーションデータ処理部１３がアプリケーションの命令コードに指定されたデータの識別情報を出力する。
【００３８】
図７は、実施の形態１におけるアプリケーション部１のデータ抽出処理を示すフローチャートである。
図７において、データ項目構造データ抽出処理はＳ１０３の処理に対応し、データ項目データ抽出処理はＳ１０４の処理に対応する。
データ項目構造データ抽出処理（Ｓ１０３）において、データ構造データ抽出部１１は、データ位置（上記データ項目バイト数の合計バイト数を示す）として０を設定し（Ｓ２０１）、処理対象のデータ項目を示すデータ種別ＩＤをデータ項目構造データ（始めは先頭のデータ項目構造データ）中のデータ種別ＩＤと比較する（Ｓ２０２）。データ種別ＩＤが一致しない場合、データ構造データ抽出部１１は、データ種別ＩＤを比較したデータ項目構造データのデータ項目バイト数をデータ位置に加算し（Ｓ２０３）、次のデータ項目構造データについてデータ種別ＩＤの比較（Ｓ２０２）を行う。データ種別ＩＤが一致する場合、アプリケーションデータ抽出部１２は、データ種別ＩＤを比較したデータ項目構造データを抽出し別途記憶機器に記憶する（Ｓ２０４）。
データ項目データ抽出処理（Ｓ１０４）において、アプリケーションデータ抽出部１２は、アプリケーションデータの先頭からデータ位置先に位置するデータを、データ構造データ抽出部１１の抽出したデータ項目構造データ中のデータ項目バイト数分抽出し別途記憶機器に記憶する（Ｓ２０５）。
【００３９】
ここで、図６の説明に戻る。
次に、Ｓ１０５において、アプリケーションデータ処理部１３は、アプリケーションの命令コードに基づいて、アプリケーションデータ抽出部１２の抽出した処理対象のデータ項目データを処理する。
【００４０】
Ｓ１０６において、データ構造データ生成部１４は、アプリケーションデータ処理部１３の処理したデータ項目データ（処理後のデータ項目データ）と、データ構造データ抽出部１１の抽出したデータ項目構造データ（処理前のデータ項目構造データ）とを入力する。
そして、データ構造データ生成部１４は、処理後のデータ項目データに基づいて処理前のデータ項目構造データを更新し、処理後のデータ項目構造データを生成する。
図８は、実施の形態１における処理後のデータ項目構造データを示す図である。
例えば、図８に示すように、処理前のデータ項目構造データ３５１中の処理前のデータ項目バイト数３５３は処理後のデータ項目のバイト数（処理後のデータ項目バイト数３６３）に更新し、処理前のデータ項目構造データ３５１中の処理前のシーケンス番号３５４は”１”を加算した数値（処理後のシーケンス番号３６４）に更新する。データ種別ＩＤは更新せず、処理前と処理後とで同じにする。
【００４１】
Ｓ１０７において、プロジェクトデータ要求部４はプロジェクトデータを再び保管部２に要求し、プロジェクトデータ取得部８はプロジェクトデータ保管部７に現在保管されている最新のプロジェクトデータをアプリケーション部１に出力する。詳細はＳ１０１の説明と同様である。
【００４２】
Ｓ１０８において、最新プロジェクトデータ一時保管部１５は、アプリケーション部側Ｉ／Ｆ部５を通じて、プロジェクトデータ取得部８の出力した最新のプロジェクトデータを取得して記憶機器に保管する。
【００４３】
Ｓ１０９において、データ構造データ抽出部１１は、Ｓ１０３と同様にして、データ項目構造データを最新のプロジェクトデータから抽出する。ここで抽出したデータ項目構造データはＳ１０３で抽出したデータ項目構造データに対応する最新のデータ項目構造データである。
【００４４】
Ｓ１１０において、データ構造データ比較部１６は、データ構造データ生成部１４の生成した処理後のデータ項目構造データと、データ構造データ抽出部１１の抽出した最新のデータ項目構造データとを入力する。
そして、データ構造データ比較部１６は、処理後のデータ項目構造データと最新のデータ項目構造データとを比較する。
つまり、図８に示すように、処理後のデータ項目構造データ３６１中の処理後のシーケンス番号３６４と、最新のデータ項目構造データ３７１中の最新のシーケンス番号３７４とを数値比較する。処理後のシーケンス番号３６４が最新のシーケンス番号３７４より”１”だけ大きい場合には、処理後のデータ項目構造データ３６１と最新のデータ項目構造データ３７１とが対応し、他のアプリケーションによるデータ項目の処理が行われていないことを示す。
【００４５】
Ｓ１１０における比較結果が、処理後のデータ項目構造データと最新のデータ項目構造データとが対応し、他のアプリケーションによるデータ項目の処理が行われていない（データの競合が起きていない）ことを示す場合、Ｓ１１１において、アプリケーションデータマージ部１８は、アプリケーションデータ処理部１３の処理した処理後のデータ項目データと、データ構造データ生成部１４の生成した処理後のデータ項目構造データと、最新プロジェクトデータ一時保管部１５の保管した最新のプロジェクトデータとを入力する。
そして、アプリケーションデータマージ部１８は、処理後のデータ項目データと処理後のデータ項目構造データとを最新のプロジェクトデータにマージして処理後のプロジェクトデータを生成する。
このとき、アプリケーションデータマージ部１８は、データ構造データ抽出部１１と同様にして、最新のプロジェクトデータから処理後のデータ項目構造データに対応するデータ項目構造データを検索する。また、アプリケーションデータマージ部１８は、アプリケーションデータ抽出部１２と同様にして、最新のプロジェクトデータから処理後のデータ項目データに対応するデータ項目データを検索する。そして、処理後のデータ項目構造データと処理後のデータ項目データとをそれぞれ、検出した当該データ項目構造データと当該データ項目データと入れ換えて最新のプロジェクトデータに挿入することで処理後のプロジェクトデータを生成する。
【００４６】
Ｓ１１２において、アプリケーションデータマージ部１８は生成した処理後のプロジェクトデータによるプロジェクトデータ保管部７の保管しているプロジェクトデータの更新を要求する要求命令をアプリケーション部側Ｉ／Ｆ部５を通じて保管部２に出力する。
次に、アプリケーション部側Ｉ／Ｆ部５はアプリケーションデータマージ部１８から入力した要求命令を保管部側Ｉ／Ｆ部６に出力する。
次に、保管部２のプロジェクトデータ格納部９は、保管部側Ｉ／Ｆ部６の入力した要求命令に基づいて、プロジェクトデータ保管部７の保管しているプロジェクトデータを処理後のプロジェクトデータで更新する。
【００４７】
Ｓ１１０における比較結果が、処理後のデータ項目構造データと最新のデータ項目構造データとが対応せず、他のアプリケーションによるデータ項目の処理が行われた（データの競合が起きた）ことを示す場合、Ｓ１１３において、まず、データ構造データ比較結果表示部１７は、他のアプリケーションによって処理対象のデータ項目データが既に処理された旨をＣＲＴ表示装置９０１（表示装置の一例）に表示し、操作者に、処理対象のデータ項目データの更新をおこなうかの選択を促す。
次に、操作入力部３は、操作者がキーボード（入力機器の一例）を使用して選択したデータ項目データの更新要否を入力する。
次に、操作入力部３は入力したデータ項目データの更新要否をアプリケーションデータマージ部１８に出力する。
【００４８】
Ｓ１１４において、アプリケーションデータマージ部１８は、操作入力部から入力したデータ項目データの更新要否を判定する。
【００４９】
Ｓ１１４における判定結果が、データ項目データの更新が必要であることを示す場合、アプリケーションデータマージ部１８はＳ１１１と同様にして処理後のプロジェクトデータを生成し、プロジェクトデータ格納部９はＳ１１２と同様にしてプロジェクトデータ保管部７の保管しているプロジェクトデータを処理後のプロジェクトデータで更新する。
【００５０】
Ｓ１１４における判定結果が、データ更新データの更新が不要であることを示す場合、処理後のプロジェクトデータの生成、プロジェクトデータの更新をせずに処理を終了する。
【００５１】
プロジェクトデータ管理システム１００は、上記の処理をアプリケーション部１の処理対象である全てのデータ項目データについて行う。
つまり、アプリケーション部１は、Ｓ１０３とＳ１０４との処理を繰り返し、処理対象である全てのデータ項目データおよびデータ項目構造データを抽出する。また、アプリケーション部１は、Ｓ１０６の処理を繰り返し、処理対象である全てのデータ項目データそれぞれについて処理後のデータ項目構造データを生成する。また、アプリケーション部１は、Ｓ１０９とＳ１１０との処理を繰り返し、処理対象である全てのデータ項目データそれぞれについて処理後のデータ項目構造データを当該最新のデータ項目構造データと比較する。そして、アプリケーション部１は、少なくともいずれかの処理後のデータ項目構造データが当該最新のデータ項目構造データに対応しない場合にＳ１１３およびＳ１１４を処理する。または、当該最新のデータ項目構造データに対応しない処理後のデータ項目構造データ毎にＳ１１３およびＳ１１４を処理し、操作者が更新を指定した処理後のデータ項目データおよび処理後のデータ項目構造データについてＳ１１１およびＳ１１２を処理する。
【００５２】
実施の形態１では、プロジェクトデータ管理システム１００が、関連する複数のアプリケーション（特定のデータを共通して使用する複数のアプリケーション）のアプリケーションデータを一つにまとめてプロジェクトデータとして管理する形態を説明した。
ここで、複数のアプリケーションが共通して使用するデータの例としては、ネットワーク機器のＩＰアドレス情報などが挙げられる。
例えば、アプリケーションＡとアプリケーションＢがネットワークに接続する機器を扱うアプリケーションである場合、同一の設備においては個々のネットワーク接続機器のＩＰアドレス情報は固有なものである。つまり、アプリケーションＡとアプリケーションＢにおいてＩＰアドレス情報の設定値は変わらない。従来はアプリケーションＡとアプリケーションＢで別々にＩＰアドレス情報を設定していたため、ネットワーク機器のＩＰアドレス情報を書き換える場合には、アプリケーションＡとアプリケーションＢのそれぞれで設定値の変更が必要であった。このため、同等の操作を複数回おこなう必要があることや、それに伴い設定ミスを招きやすいという課題があった。
しかし、実施の形態１で説明したプロジェクトデータ管理システム１００は、ＩＰアドレス情報をアプリケーションＡとアプリケーションＢが共通して処理するアプリケーションＡＢ共通データとするため、ＩＰアドレス情報の変更が必要な場合には、いずれかのアプリケーションで設定値を変更すればよい。これにより、設定ミスを抑止することができる。
【００５３】
また、複数のアプリケーションデータを一つのデータで管理する場合、個々のアプリケーションが対応するアプリケーションデータを正確に取り出すためのデータフォーマットをどうするかが課題となる。関連するアプリケーションは一般に同じアプリケーション開発元が開発するため、全てのアプリケーションが同時に開発される場合には統一データフォーマットを使用することができる。しかし、個々のアプリケーションが独立して開発される場合には、アプリケーションの機能追加などによりデータ項目が増えた場合にデータフォーマットを変えざるを得なくなる。この場合、他のアプリケーションやバージョンアップ前のアプリケーションは、変更したデータフォーマットに対応していないため、必要とするデータにアクセスできなくなる。
しかし、実施の形態１で説明したプロジェクトデータ管理システム１００は、関連する複数のアプリケーションのデータを一つにまとめ、そのデータ構造を表すデータ構造データと共にプロジェクトデータとして管理するため、アプリケーションのバージョンアップに伴いデータ項目の増加した場合においても、アプリケーションがデータ構造データを参照して処理対象のアプリケーションデータを確実に取得することができる。また、旧バージョンのアプリケーションとの互換性を保ちつつ自由にデータ項目を追加することができる。
【００５４】
また、実施の形態１で説明したプロジェクトデータ管理システム１００は、データ項目ごとにシーケンス番号を設けアプリケーションデータを管理しているため、複数のアプリケーションによるデータ処理の競合を防ぐことができる。また、データ構造データが常にアプリケーションデータと共にあるため、ＸＭＬスキーマのようなものを必要とせず、Ｅｔｈｅｒｎｅｔ（登録商標）に接続していない機器でも処理することができる。更に、データ構造データを形成するデータ項目構造データはバイナリデータであるため、ＸＭＬに必要な構文解析をする必要がない。つまり、構文解析を要しないため、アプリケーション部１のプログラムのバイト数を小さくすることができる。
【００５５】
実施の形態２．
上記実施の形態１では、データ項目構造データをそのまま積み上げるように設定したものであるが、実施の形態２では、複数のデータ項目から構成されるデータ項目があるような場合に、プロジェクトデータを階層化する形態を示す。上記実施の形態１と異なる部分について以下に説明する。
【００５６】
図９は、上記実施の形態１におけるプロジェクトデータの構造を示す図である。
複数のデータ項目から構成されるデータ項目をプロジェクトデータで管理する場合、上記実施の形態１におけるプロジェクトデータ４０１は、図９に示すように、データ項目構造データをそのまま積み上げる。つまり、データ構造データ（＃１）４０２は複数のデータ項目から構成されるデータ項目のデータ構造を示すが、データ構造データ（＃１）４０２を構成する各データ項目構造データ（＃１−ｌ〜＃１−ｏ）はそれぞれ一つのデータ項目（データ項目データ＃１−ｌ〜データ項目データ＃１−ｏ）の構造を示す。
言い換えると、上記実施の形態１では、複数のデータ項目から構成される階層化したいデータ項目がある場合、細分化されたデータ項目構造データを積み上げ設定することでそのデータ構造データを表現する。
【００５７】
図１０は、実施の形態２におけるプロジェクトデータの構造を示す図である。
図９と同様に複数のデータ項目から構成されるデータ項目をプロジェクトデータで管理する場合、実施の形態２におけるプロジェクトデータ５０１は、図１０に示すように、プロジェクトデータを階層化する。
つまり、上位層にあたるデータ項目構造データ＃ｐは、一つのデータ項目の構造を示すのではなく、下位層にあたる複数のデータ項目構造データ（＃ｐ−１〜＃ｐ−ｒ）とデータ項目データ（＃ｐ−１〜＃ｐ−ｒ）との構造を示す。同様にして、下位層の各データ項目構造データはそれぞれ、さらに下位のデータ構造（複数のデータ項目構造データとデータ項目データ）を示してもよい。
具体的には、階層化されたデータ項目のデータ項目データ５０２は、データ構造データが階層化されていることを示す階層化識別子５０４、階層化されたデータ項目中のデータ構造データ５０５、階層化されたデータ項目中のアプリケーションデータ５０６を有する。
また、階層化されていないデータ項目のデータ項目データ５０３は、データ構造データが階層化されていないことを示す階層化識別子５０７、階層化されていないデータ項目のデータ項目データ（実データ）５０８を有する。
図１０では、階層化されていることを示す階層化識別子５０４を“１”、階層化されていないことを示す階層化識別子５０７を“０”で示している。
【００５８】
実施の形態２におけるデータ項目データの抽出方法は、各階層において上記実施の形態１と同様であり、各階層について、データ項目構造データを検索（抽出）して当該データ項目構造データに対応するデータ項目データを抽出する。そして、最下層において抽出したデータ項目データをアプリケーションの処理対象であるデータ項目データとする。階層化されているかの判定および最下層の判定は階層化の有無を示す階層化識別子の設定値で判定する。各階層でのデータ種別ＩＤとして、例えば、アプリケーションデータ処理部１３がアプリケーションの命令コードに指定されたデータの識別情報に基づいて出力する。
【００５９】
以上のように、階層化識別子を設けてデータ項目データの階層化を可能にしたことで、データ種別の管理や追加を容易にすることができる。
つまり、“ネットワーク機器”の“機器名称”を表すデータ項目と“製造機器”の“機器名称”を表すデータ項目と“計算機”の“機器名称”を表すデータ項目を管理する場合、実施の形態２では、”ネットワーク機器”、“製造機器”、“計算機”というカテゴリーを表す第１の階層（上位層）のデータ種別ＩＤと、“機器名称”を表す第２の階層（下位層）のデータ種別ＩＤとでデータ項目を識別することができる。第１の階層のデータ種別ＩＤは、図１０におけるデータ項目構造データ＃ｐやデータ項目構造データ＃ｒ中のデータ種別ＩＤに対応し、第２の階層のデータ種別ＩＤは、図１０におけるデータ項目構造データ＃ｐ−ｌやデータ項目構造データ＃ｐ−ｒ中のデータ種別ＩＤに対応する。
【００６０】
また、上記実施の形態１では、同様に、“ネットワーク機器”の“機器名称”を表すデータ項目と“製造機器”の“機器名称”を表すデータ項目と“計算機”の“機器名称”を表すデータ項目を管理する場合、“ネットワーク機器の機器名称”、“製造機器の機器名称”、“計算機の機器名称”をそれぞれデータ種別ＩＤとするデータ項目構造データでデータ項目を管理する。つまり、全てのデータ項目に対して一意のデータ種別を用意する。
【００６１】
上記の各実施の形態において、関連する複数のアプリケーションのデータを一元管理するプロジェクトデータ管理システム１００であり、アプリケーション部１と保管部２とを備え、アプリケーション部１には、操作入力部３とデータ構造データ比較結果表示部１７とアプリケーションデータ処理部１３とデータ構造データ生成部１４とデータ構造データ比較部１６とアプリケーションデータマージ部１８とアプリケーションデータ抽出部１２とデータ構造データ抽出部１１とプロジェクトデータ要求部４とプロジェクトデータ一時保管部１０と最新プロジェクトデータ一時保管部１５とアプリケーション部側Ｉ／Ｆ部５とを備え、保管部２には、保管部側Ｉ／Ｆ部６とプロジェクトデータ取得部８とプロジェクトデータ格納部９とプロジェクトデータ保管部７とを備えるプロジェクトデータ管理システム１００について説明した。
このプロジェクトデータ管理システム１００は、関連する複数のアプリケーションのデータを一つにまとめ、そのデータ構造を表すデータ構造データと共にプロジェクトデータとして管理するようにしているため、アプリケーションのバージョンアップに伴いデータ項目の増加した場合においてもアプリケーションがデータ構造データを参照して処理対象のアプリケーションデータを確実に取得することができ、旧バージョンのアプリケーションとの互換性を保ちつつ自由にデータ項目を追加することができ、更に、データ項目ごとにシーケンス番号を設けることにより、複数のアプリケーションによるデータ処理の競合を防ぐことができ、また、データ構造データが常にアプリケーションデータと共にあるようにしているため、ＸＭＬスキーマのようなものを必要とせず、Ｅｔｈｅｒｎｅｔ（登録商標）に接続していない機器でも処理することができ、更に、データ構造データを形成するデータ項目構造データはバイナリデータであるため、ＸＭＬのような構文解析をする必要がなく、処理プログラムのバイト数を小さくすることができることを特徴とする。
より具体的には、関連する複数のアプリケーションのデータを一つにまとめて有するアプリケーションデータと各データ項目の構造をバイナリデータで表したデータ項目構造データを有するデータ構造データとから成るプロジェクトデータによりアプリケーションで使用するデータを管理し、アプリケーション部１がプロジェクトデータ中のデータ構造データを参照して該アプリケーション部１が扱うデータ項目を、アプリケーションデータから抽出またはアプリケーションデータに格納することを特徴とする。
【図面の簡単な説明】
【００６２】
【図１】実施の形態１におけるアプリケーションデータとプロジェクトデータの関係を示す図。
【図２】実施の形態１におけるデータ項目構造データの構造図。
【図３】実施の形態１におけるプロジェクトデータの構造図。
【図４】実施の形態１におけるプロジェクトデータ管理システム１００の構成を示すシステム構成図。
【図５】実施の形態１におけるプロジェクトデータ管理システム１００のハードウェア構成図。
【図６】実施の形態１におけるプロジェクトデータ管理システム１００のアプリケーション処理を示すフローチャート。
【図７】実施の形態１におけるアプリケーション部１のデータ抽出処理を示すフローチャート。
【図８】実施の形態１における処理後のデータ項目構造データを示す図。
【図９】実施の形態１におけるプロジェクトデータの構造を示す図。
【図１０】実施の形態２におけるプロジェクトデータの構造を示す図。
【符号の説明】
【００６３】
１  アプリケーション部、２  保管部、３  操作入力部、４  プロジェクトデータ要求部、５  アプリケーション部側Ｉ／Ｆ部、６  保管部側Ｉ／Ｆ部、７  プロジェクトデータ保管部、８  プロジェクトデータ取得部、９  プロジェクトデータ格納部、１０  プロジェクトデータ一時保管部、１１  データ構造データ抽出部、１２  アプリケーションデータ抽出部、１３  アプリケーションデータ処理部、１４  データ構造データ生成部、１５  最新プロジェクトデータ一時保管部、１６  データ構造データ比較部、１７  データ構造データ比較結果表示部、１８  アプリケーションデータマージ部、１０１  アプリケーションＡ用アプリケーションデータ、１０２  アプリケーションＡ固有データ、１０３  アプリケーションＡＢ共通データ、１０４  アプリケーションＡＣ共通データ、１０５  アプリケーションＡＢＣ共通データ、１０６  アプリケーションＢ用アプリケーションデータ、１０７  アプリケーションＢ固有データ、１０８  アプリケーションＢＣ共通データ、１０９  アプリケーションＣ用アプリケーションデータ、１１０  アプリケーションＣ固有データ、１１１  プロジェクトデータ中のアプリケーションデータ、２０１  データ項目構造データ、２０２  データ種別ＩＤ、２０３  データ項目バイト数、２０４  シーケンス番号、３０１  プロジェクトデータ、３０２  データ構造データ、３０３  アプリケーションデータ、３０４  データ項目構造データ、３０７  データ項目データ、３５１，３６１，３７１  データ項目構造データ、３５２，３６２，３７２  データ種別ＩＤ、３５３，３６３，３７３  データ項目バイト数、３５４，３６４，３７４  シーケンス番号、４０１  プロジェクトデータ、４０２  データ構造データ、５０１  プロジェクトデータ、５０２，５０３  データ項目データ、５０４  階層化識別子、５０５  データ構造データ、５０６  アプリケーションデータ、５０７  階層化識別子、５０８  データ項目データ、９０１  ＣＲＴ表示装置、９０２  Ｋ／Ｂ、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2007072965.tif 000003
【図２】
2007072965.tif 000004
【図３】
2007072965.tif 000005
【図４】
2007072965.tif 000006
【図５】
2007072965.tif 000007
【図６】
2007072965.tif 000008
【図７】
2007072965.tif 000009
【図８】
2007072965.tif 000010
【図９】
2007072965.tif 000011
【図１０】
2007072965.tif 000012