IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

<>
  • 特開-情報処理システム及び情報処理方法 図1
  • 特開-情報処理システム及び情報処理方法 図2
  • 特開-情報処理システム及び情報処理方法 図3
  • 特開-情報処理システム及び情報処理方法 図4
  • 特開-情報処理システム及び情報処理方法 図5
  • 特開-情報処理システム及び情報処理方法 図6
  • 特開-情報処理システム及び情報処理方法 図7
  • 特開-情報処理システム及び情報処理方法 図8
  • 特開-情報処理システム及び情報処理方法 図9
  • 特開-情報処理システム及び情報処理方法 図10
  • 特開-情報処理システム及び情報処理方法 図11
  • 特開-情報処理システム及び情報処理方法 図12
  • 特開-情報処理システム及び情報処理方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023155084
(43)【公開日】2023-10-20
(54)【発明の名称】情報処理システム及び情報処理方法
(51)【国際特許分類】
   G06F 8/35 20180101AFI20231013BHJP
   G06F 8/60 20180101ALI20231013BHJP
【FI】
G06F8/35
G06F8/60
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022064834
(22)【出願日】2022-04-08
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】栖川 淳
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB01
5B376BC31
5B376BC43
5B376BC64
5B376BC71
(57)【要約】
【課題】
本発明の課題は、コネクタの開発および運用のための自動化を進めて、工数をより削減することにある。
【解決手段】
本発明の好ましい一側面は、第1のデータモデルに基づくデータと第2のデータモデルに基づくデータの変換を行うプログラムであるコネクタの生成を支援する情報処理システムであって、演算部と記憶部とを有し、前記演算部は、前記第1のデータモデルと前記第2のデータモデルの対応関係マッピングを管理するマッピング管理部と、前記第1のデータモデルのバージョン管理において、前記第1のデータモデルの変更箇所を機械可読なモデル構造データとして管理するモデル構造管理部と、前記モデル構造データに基づいて、前記対応関係マッピングを更新するコネクタ管理部と、を備える情報処理システムである。
【選択図】 図1
【特許請求の範囲】
【請求項1】
第1のデータモデルに基づくデータと第2のデータモデルに基づくデータの変換を行うプログラムであるコネクタの生成を支援する情報処理システムであって、演算部と記憶部とを有し、
前記演算部は、
前記第1のデータモデルと前記第2のデータモデルの対応関係マッピングを管理するマッピング管理部と、
前記第1のデータモデルのバージョン管理において、前記第1のデータモデルの変更箇所を機械可読なモデル構造データとして管理するモデル構造管理部と、
前記モデル構造データに基づいて、前記対応関係マッピングを更新するコネクタ管理部と、
を備える情報処理システム。
【請求項2】
前記モデル構造管理部は、前記モデル構造データにおいて、前記第1のデータモデルのデータ属性の追加、既存のデータ属性名の変更、既存のデータ属性の仕様変更を、判別可能な形式で管理する、
請求項1記載の情報処理システム。
【請求項3】
前記演算部は、前記モデル構造データに基づいて、前記第1のデータモデルの変更箇所に関する情報を作業者に提供するコネクタ生成・更新支援ツールを備える、
請求項1記載の情報処理システム。
【請求項4】
前記コネクタ生成・更新支援ツールは、前記対応関係マッピングを作成する際に、前記第1のデータモデルの属性と前記第2のデータモデルの属性の対応を作業者に入力させるGUIを提示する、
請求項3記載の情報処理システム。
【請求項5】
前記作業者は、前記第1のデータモデルまたは前記第2のデータモデルの提供者である、
請求項3記載の情報処理システム。
【請求項6】
前記コネクタ管理部は、前記作業者の入力に基づいて前記対応関係マッピングをあらかじめ決められた統一形式にて作成する、
請求項3記載の情報処理システム。
【請求項7】
前記演算部は、前記対応関係マッピングに基づいて前記コネクタを生成する、コネクタプログラム生成部を有する、
請求項1記載の情報処理システム。
【請求項8】
前記演算部は、前記対応関係マッピングに基づいて前記コネクタのテストプログラムを生成する、コネクタテスト生成部を有する、
請求項1記載の情報処理システム。
【請求項9】
前記演算部は、前記対応関係マッピングに基づいてデータカタログ情報を生成する、データカタログ管理部を有する、
請求項1記載の情報処理システム。
【請求項10】
前記情報処理システムは、スマートシティのデータ連携基盤システムであり、
前記第1のデータモデルは、前記スマートシティのデータ連携基盤システムにおける、共通データモデルである、
請求項1記載の情報処理システム。
【請求項11】
演算部と記憶部とを有する情報処理装置で実行され、第1のデータモデルに基づくデータと第2のデータモデルに基づくデータの変換を行うプログラムであるコネクタの生成を支援する情報処理方法であって、
前記第1のデータモデルと前記第2のデータモデルの対応関係マッピングをマッピングデータとして記憶する第1のステップ、
前記第1のデータモデルに変更があった場合、変更箇所を機械可読なモデル構造データとして記憶する第2のステップ、
前記モデル構造データに基づいて、前記マッピングデータを更新する第3のステップ、
を実行する情報処理方法。
【請求項12】
前記マッピングデータに基づいて、前記コネクタを生成する第4のステップ、
を実行する請求項11記載の情報処理方法。
【請求項13】
前記モデル構造データは、前記第1のデータモデルのデータ属性の追加、既存のデータ属性名の変更、既存のデータ属性の仕様変更を、判別可能な形式で記録する、
請求項11記載の情報処理方法。
【請求項14】
前記第3のステップは、前記モデル構造データに基づいて、前記第1のデータモデルに変更があった場合、前記マッピングデータにおける前記第1のデータモデルと前記第2のデータモデルの対応関係で影響を受ける部分を提示するGUIを生成する、
請求項11記載の情報処理方法。
【請求項15】
前記モデル構造データは、前記第1のデータモデルのデータ属性の追加、既存のデータ属性名の変更、既存のデータ属性の仕様変更、データ内容の説明の変更を、判別可能な形式で記録し、
前記第1のデータモデルに変更があった場合でも、変更内容が前記データ内容の説明の変更のみだった場合には前記第3のステップを実行しない、
請求項11記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システムに係り、特に異なるデータモデルによるデータ相互の変換技術に関する。具体的な適用例としては、データ交換コネクタや都市OSデータモデル管理方法がある。
【背景技術】
【0002】
近年、地域活性化の必要性が注目されている。地域の活性化を図るべく、各種のデータを活用して、それぞれの地域における社会的課題を解決し、活力ある地域社会を構築する試みがなされている。
【0003】
その際に重要な基盤となるのが都市OSである。都市OSとは、その都市にあるエネルギーや交通機関をはじめ、医療、金融、通信、教育などの膨大なデータを集積・分析し、それらを活用するべく自治体や企業、研究機関などが連携するためのプラットフォームを指す。
【0004】
都市OSでは、提供あるいは使用するAPI(Application Programming Interface)やOSS(Open Source Software)やデータモデルが、統一された形式であることが望ましい。データモデルとは、情報システムが取り扱う現実世界の対象をデータ集合として表現するため、対象を表す情報を抽象化して一定の構造や形式で記述したものをいう。これらが統一された形式でない場合は、機械的な変換により、各種スマートシティサービスや他都市OS等のデータ提供元との連携が実現される必要がある。
【0005】
都市OSが、多種・多様な他のシステムとデータを受信・送信する場合、データ提供元となる他のシステムのデータモデル(独自データモデルという)によるデータを統一的なデータモデル(共通データモデルという)によるデータに変換するデータ連携コネクタを用いることにより、相互連携を実現することが考えられる。
【0006】
本明細書では、独自データモデルを単に独自モデルということがある。また、共通データモデルを単に共通モデルということがある。また、独自データモデルに基づくデータを単に独自データということがある。また、共通データモデルに基づくデータを単に共通データということがある。また、データ連携コネクタを単にコネクタということがある。
【0007】
データモデルに関連する公知技術として、特許文献1、特許文献2がある。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】WO2020/158251A1
【特許文献2】特開2019-180052号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
都市OSへのデータ提供元は、都市あるいは地域ごとに異なる独自データモデルを持つので、データ提供元が都市OSと接続する際、接続先ごとにAPI仕様が異なり、複数の独自データモデルに対応するコネクタの開発に工数がかかる。また、共通データモデルのバージョンアップ等の改変に対応するため、その都度コネクタの改変が必要になると、そのたびに工数が必要になる。
【0010】
特許文献1には、データモデル変更にともない、各種モジュールに係る設定管理の困難さや、データモデル定義の追加、更新による互換性への影響を考慮して、情報処理装置が、コモンデータモデルや独自データモデルを各々管理する管理部と、コモンデータモデル、独自データモデル、新たに導入するデータモデルに対応するモジュールのバージョンをそれぞれ管理し、これらの互換性を検証する共通管理部を備えることが開示される。
【0011】
特許文献2では、木構造の未知データモデルを共通データモデルに対応付けるプログラム等を提供することが記載される。
【0012】
しかし、独自データモデルを共通データモデルに変換する際、変換対象は、語彙や、形式、項目等が存在するが、取り扱うデータにより変換対象が異なる。特許文献1や特許文献2では、データモデル変更に伴う、更新箇所の特定方法やテストプログラムの更新方法の開示がない。
【0013】
そこで本発明の課題は、コネクタの開発および運用のための自動化を進めて、工数をより削減することにある。
【課題を解決するための手段】
【0014】
本発明の好ましい一側面は、第1のデータモデルに基づくデータと第2のデータモデルに基づくデータの変換を行うプログラムであるコネクタの生成を支援する情報処理システムであって、演算部と記憶部とを有し、前記演算部は、前記第1のデータモデルと前記第2のデータモデルの対応関係マッピングを管理するマッピング管理部と、前記第1のデータモデルのバージョン管理において、前記第1のデータモデルの変更箇所を機械可読なモデル構造データとして管理するモデル構造管理部と、前記モデル構造データに基づいて、前記対応関係マッピングを更新するコネクタ管理部と、を備える情報処理システムである。
【0015】
本発明の好ましい他の一側面は、演算部と記憶部とを有する情報処理装置で実行され、第1のデータモデルに基づくデータと第2のデータモデルに基づくデータの変換を行うプログラムであるコネクタの生成を支援する情報処理方法であって、前記第1のデータモデルと前記第2のデータモデルの対応関係マッピングをマッピングデータとして記憶する第1のステップ、前記第1のデータモデルに変更があった場合、変更箇所を機械可読なモデル構造データとして記憶する第2のステップ、前記モデル構造データに基づいて、前記マッピングデータを更新する第3のステップ、を実行する情報処理方法である。
【発明の効果】
【0016】
本発明によれば、コネクタの開発および運用のための自動化を進めて、工数をより削減することができる。
【図面の簡単な説明】
【0017】
図1】都市OSおよびデータ管理部と、それらに接続されるシステムの全体構成例を示すブロック図。
図2】都市OSあるいはデータ管理部のハードウェア構成の一例を示すブロック図。
図3】データモデル管理部の内部機能ブロック図。
図4】コネクタ管理部の内部機能ブロック図。
図5】データモデルマッピングの生成シーケンスのフロチャート。
図6】コネクタ生成・更新支援のためのGUIの一例を示すイメージ図。
図7】独自-共通マッピングデータの一例を示す表図。
図8】共通モデル変更をトリガーとしたデータモデルマッピングの更新シーケンスのフロチャート。
図9】コネクタ管理部における処理のフロチャート。
図10】共通モデル構造の一例を示す表図。
図11】更新された独自-共通マッピングデータの一例を示す表図。
図12】独自モデル変更をトリガーとしたデータモデルマッピングの更新シーケンスのフロチャート。
図13】都市OSおよびデータ管理部と、それらに接続されるシステムの他の全体構成例を示すブロック図。
【発明を実施するための形態】
【0018】
以下、実施の形態について、図面を用いて詳細に説明する。ただし、本発明は、以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0019】
以下に説明する発明の構成において、同一部分または同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【0020】
同一または同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0021】
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は、文脈毎に用いられ、1つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0022】
図面等において示す各構成の位置、大きさ、形状、範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲等を表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲等に限定されない。本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
【0023】
先に述べたように、都市OSでは、都市間の横展開を簡易にするために、外部データ連携のコネクタが必要であり、コネクタの開発および運用の工数削減が重要である。特に、都市OSにおいて、共通データモデルを更新する際に、対象となるデータ提供者からのデータ変換プログラム(コネクタ)を変更する必要があるが、その変更箇所を特定、変更する作業負荷が大きい。
【0024】
たとえば、該当のデータが100種ある場合、100箇所の変更が必要である。単一でも、コネクタのプログラムの変更、テストデータ・プログラムの変更、総合テストデータ・プログラムの変更、データカタログの変更が必要である。公知技術では、モジュールとデータモデルのバージョンの対応関係を管理し互換性の検証はできるが、どのように対応づけるかについては言及がなく、プログラム以外のテストやカタログに対する対応づけについては開示しておらず、共通モデル変更に伴う変更反映の負荷軽減できなかった。
【0025】
以下で詳細に説明する実施例では、独自データモデルと共通データモデルのマッピング情報、コネクタのコード、およびテストコード・テストデータを分離する。さらに、共通データモデルのバージョンを管理する際に、変更内容(モデルの上位下位の関係性、属性名変更、新属性追加、構造変更)を機械可読できるように管理する。
【0026】
一例では、独自データモデルと共通データモデルの対応関係のマッピングを管理し、共通データモデルのバージョン管理においては、変更箇所を機械可読な形で構造管理する。共通データモデル更新時には、マッピングを構造管理に基づいて更新する。共通データモデルのバージョン管理においては、過去の共通データモデルのバージョンとの差異を保持する。差異とは、属性の追加、属性名の変更、既存属性の仕様変更などである。このような構成によると、共通データモデルを更新された場合でも、コネクタのプログラムの変更に関する業務負荷を低減することができる。
【0027】
マッピングを作成する際には、デバイスや外部システムで提供する独自データの属性と共通データモデルの属性の対応を作業者に入力してもらい、それに基づいてマッピングをあらかじめ決められた統一形式にて作成する。マッピングをシステムで作成することで、統一形式でマッピングを管理でき、自動更新するのを容易にすることができる。
【0028】
マッピングを更新する際に、マッピング変更内容の確認・修正依頼をデータ提供者側に通知し、データ提供者側の応答に基づいて実施する。マッピングに責任を持つデータ提供者に確認してもらうことで、責任分担を明確化することができる。
【0029】
また、マッピング情報に基づいて、コネクタプログラムを生成・更新する。マッピングとコネクタプログラム生成との連携を行うことで、共通データモデルを更新された場合に、マッピング情報の更新だけでなく、コネクタプログラムを更新する業務負荷も低減することができる。
【0030】
さらに、共通データモデルのバージョン更新時に、共通データモデルの構造管理、及び、マッピングに基づいて、コネクタのテストデータ、テストプログラムを更新する。テストデータ・テストプログラムとの連携を行うことで、共通データモデルを更新された場合でも、コネクタプログラムだけでなく、テストに関する業務負荷を低減することができる。
【実施例0031】
図1は、本発明の実施例を説明するための、都市OSおよびデータ管理部と、それらに接続されるシステムの全体構成を示すブロック図である。各ブロックは図中では直接結合するよう図示されるが、有線または無線のネットワークを介して接続されてもよい。
【0032】
都市OS100は、例えばサーバのような情報処理装置で構成される。サーバはネットワークで接続された複数の情報処理装置によってクラウド化されていてもよい。サーバの構成は以下同様である。
【0033】
都市OS100は、集積したデータを、共通データモデルをベースとした共通データとして蓄積し、また提供する共通モデルデータ蓄積部101を備える。また、外部から提供されるデータを共通データに変換するコネクタ102を備える。
【0034】
共通モデルデータ蓄積部101は一般にはデータベース(DB)として構成される。コネクタは、例えばデータ変換を行うためのプログラム(データコンバータ)である。都市OS100は、一般に共通APIを採用し共通データを処理できるが、それ以外のデータを処理できない。
【0035】
都市OS100にデータを提供するのはデータ提供元システム200である。データ提供元システム200は、例えばエネルギー、交通機関、医療、金融、通信、教育など種々の分野の、既存のシステムやデバイスである。これらは、それぞれ異なる管理者により管理され、既存のシステム独自のデータモデル(独自モデル)による独自データを持っている場合がある。例えば、データ提供元システム200A、200Bは、独自のAPIと独自データを持っているため、コネクタ102A、102Bによって独自データを共通データに変換して共通モデルデータ蓄積部101に格納する。
【0036】
一方、データ提供元システム200Cは、共通APIと共通モデルを採用しているので、コネクタが不要となっている。
【0037】
共通モデルデータ蓄積部101に格納された共通データは、共通APIを持つ種々のアプリケーションサーバ300A~Cに提供され、種々の処理が可能となる。なお、アプリケーションサーバ300が独自APIを持っている場合には、コネクタ102と同様の機能を持ち、ただし、共通データから独自データに変換するコネクタを使用してデータ変換を行えばよい。
【0038】
データ管理部400は、例えばサーバのような情報処理装置で構成される。すでに述べたように、サーバはネットワークで接続された複数の情報処理装置によってクラウド化されていてもよい。また、本例では、データ管理部400は都市OS100から独立しているが、データ管理部400を都市OS100の一部としてもよい。
【0039】
データ管理部400は、データモデル管理部401、コネクタ管理部402、コネクタ生成・更新支援ツール403を備える。データモデル管理部401は、共通データモデルの定義や構造、および独自データモデルの定義を管理する。コネクタ管理部402はコネクタの生成や更新を支援する。コネクタ生成・更新支援ツール403は、コネクタの生成や更新作業を支援するインターフェースとなる。各部の詳細は後述する。
【0040】
コネクタ生成・更新支援ツール403は、例えば、都市OS100に接続している接続先システム(例えば、データ提供者など)のSE(System Engineer)500などにより操作が可能である。これにより、データ提供者等は、自分の提供するデータが独自データの場合、コネクタ102の生成や更新をすることで、都市OSで使用可能な共通データに変換が可能となる。
【0041】
また、コネクタ管理部402は、検証環境の都市OS600を用いて、作成したコネクタのテストを行うことができる。
【0042】
典型的な例では、図1に示す各ブロックは、ネットワークや内部バスを用いて相互に通信が可能であるものとする。
【0043】
図2は、都市OS100あるいはデータ管理部400のハードウェア構成の一例を示している。次に、図1図2とを参照して機能とハードウェアとの対応を説明する。図1は、都市OS100あるいはデータ管理部400が備える機能構成の一例を示している。都市OS100とデータ管理部400のハードウェアは、例えば図2に示すサーバ装置のようなコンピュータで構成される。
【0044】
図2に示すCPU(Central Processing Unit)1H101と、ROM(Read Only Memory)1H102と、RAM(Random Access Memory)1H103と、外部記憶装置1H104と、通信I/F(Interface)1H105と、マウス、キーボード等に代表される外部入力装置1H106と、ディスプレイ等に代表される外部出力装置1H107とを備える。
【0045】
CPU1H101が、ROM1H102または外部記憶装置1H104に格納されたプログラムをRAM1H103に読み込み、通信I/F1H105、外部入力装置1H106、外部出力装置1H107を制御することで、各種機能が実現される。
【0046】
本実施の形態では、コンピュータにおける計算、制御等の機能は、ROM1H102、外部記憶装置1H104等の記憶装置に格納されたプログラムがCPU1H101等のプロセッサによって実行されることで、定められた処理を他のハードウェアと協働して実現される。コンピュータ等が実行するプログラム、その機能、またはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」、「モデル」等と呼ぶ場合がある。
【0047】
図1に示す実施例では、都市OS100のコネクタ102は、RAM1H103にプログラムとして実装し、CPU1H101がプログラムを実行して所望の処理を行うことにした。また、共通モデルデータ蓄積部101は、外部記憶装置1H104で構成することにした。データ提供元システム200やアプリケーションサーバ300と都市OS100は、通信I/F1H105を介して通信を行う。
【0048】
また、データ管理部400のデータモデル管理部401、コネクタ管理部402、コネクタ生成・更新支援ツール403は、RAM1H103にプログラムとして実装し、CPU1H101がプログラムを実行して所望の処理を行うことにした。処理に伴って、入出力や演算が必要な場合には、CPU1H101は、ROM1H102、RAM1H103、外部記憶装置1H104、通信I/F1H105、外部入力装置1H106、あるいは外部出力装置1H107と協働して処理を実行する。
【0049】
都市OS100あるいはデータ管理部400の構成は、単体のコンピュータで構成してもよいし、任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。発明の思想としては等価であり、変わるところがない。また、本実施の形態中、ソフトウェアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等の回路(ハードウェア)でも実現できる。
【0050】
図3は、データモデル管理部401の内部機能ブロック図である。データモデル管理部401は、独自モデル定義管理部4011と、共通モデル定義管理部4012と、共通モデル構造管理部4013を備える。これらは、RAM1H103にプログラムとして実装される。また、これらはデータベースである、独自モデル定義DB4011DB、共通モデル定義DB4012DB、共通モデル構造DB4013DBをそれぞれ管理する。各データベースのデータの記憶場所は、アクセス可能であれば外部記憶装置1H104等どこでもよい。
【0051】
独自モデル定義DB4011DBは、独自モデル定義4011DTを登録可能である。共通モデル定義DB4012DBは、共通モデル定義4012DTを登録可能である。これらは、現在使用中のバージョンのデータモデルのデータが登録されている。データモデル定義は用途などに応じて複数種類あってよい。本実施例では、運用中のデータモデルはすでに登録されているものとする。
【0052】
共通モデル構造DB4013には、共通データモデルがバージョンの変更によりどのように変更されているか機械可読な形で記録した共通モデル構造4013DTが登録されている。例えば、共通データモデルの更新差分が格納される。具体的には、属性(PROPERTY)の追加、属性名の変更、属性の説明の変更、属性の値範囲の変更等を、例えば更新の時間情報を付して機械可読の形式で管理する。共通モデル構造のデータは、共通モデル定義のデータと対応付けがなされており、どの共通モデル定義の変更情報かがわかるようになっている。
【0053】
これらDBは、データモデル管理部401の中にあってもよいし、外部記憶装置1H104で構成してもよい。各データベースは公知の手法により、データを階層化し、またデータにタグをつけるなどしてキーワード検索が可能としてもよい。
【0054】
図4は、コネクタ管理部402の内部機能ブロック図である。コネクタ管理部402は、独自-共通マッピング管理部4021、マッピングバージョン管理部4022、コネクタプログラム生成部4023、コネクタテスト生成部4024、テスト実行管理部4025を備える。これらは、RAM1H103にプログラムとして実装される。
【0055】
独自-共通マッピング管理部4021は、独自-共通マッピングデータ700を管理する。独自-共通マッピングデータ700の記憶手段は、独自-共通マッピング管理部4021からアクセス可能であれば制限はない。独自-共通マッピングデータ700は、独自データモデルと共通データモデルの組み合わせに応じて複数種類あってよい。独自-共通マッピングデータ700は、現在運用中のマッピングデータである。独自-共通マッピングデータ700には、データを一意に特定する識別情報や、マッピング対象となる独自モデルと共通モデルを指定する情報が付随する。
【0056】
マッピングバージョン管理部4022は、マッピング更新前後の差分データ4026を管理する。差分データ4026の記憶手段は、マッピングバージョン管理部4022からアクセス可能であれば制限はない。差分データ4026には、独自-共通マッピングデータのバージョン変更に伴い、マッピングがどう変更されたかをバージョンの差分形式で格納する。また、差分データ4026の代わりに、更新内容を特定する情報を用いてもよい。
【0057】
コネクタプログラム生成部4023、コネクタテスト生成部4024、テスト実行管理部4025は、コネクタの生成やテストを実行する。後に説明する。
【0058】
図5は、データモデルマッピングの生成シーケンスのフロチャートである。図3図5を参照して、新たな独自データに対するコネクタの生成から実装までの処理の流れを説明する。
【0059】
図5のシーケンスで、SE500はコネクタ生成・更新支援ツール403にアクセスして処理を開始する。SE500は、たとえばデータ提供元システム200を運用するSEあるいは都市OS100を運用するSEであるが、特に限定しない。また、SEでなくオペレータその他の職種でもよい。
【0060】
SE500は、検索で適切な共通モデルを探し、選択した共通モデルの属性に自分が提供する独自モデルの属性を対応付ける。このため、SE500は、まず、コネクタ生成・更新支援ツール403に自分の独自モデルと検索キーワードを送信する(S501)。
【0061】
図6は、コネクタ生成・更新支援ツール403が、SE500に提供するコネクタ生成・更新支援のためのGUI(Graphical User Interface)の一例である。GUIは、SE500が使用する端末(図示せず)の出力装置にブラウザ機能により表示すればよい。あるいはSE500が使用する端末が当該機能を備えていてもよい。
【0062】
図6では、SE500は自分の独自モデルがダム貯水量の制御を対象とする場合、「ダム貯水量」を検索キーワードとして入力し、自分の独自モデルとともにコネクタ生成・更新支援ツール403に送信する(S501)。
【0063】
コネクタ生成・更新支援ツール403では、受信した独自モデルと検索キーワードをデータモデル管理部401に送る(S502)。
【0064】
データモデル管理部401では、独自モデル定義管理部4011が受信した独自モデルを独自モデル定義DB4011に登録する。ただし、登録のタイミングは任意で良い。また、共通モデル定義管理部4012が受信した検索キーワードに基づいて共通モデル定義DB4012DBを検索する。検索結果は、コネクタ生成・更新支援ツール403に送信される(S503)。
【0065】
コネクタ生成・更新支援ツール403は、SE500の端末に検索結果を表示する(S504)。
【0066】
図6の例では、「ダム貯水量」の検索キーワードにより、共通モデル定義管理部4012は、SE500に検索結果を表示する。検索を容易にするため、共通モデル定義DB4011が、例えば分野や種類による階層構造とされていてもよい。また、共通モデル定義4012DTが、タグや説明等のメタデータを持っていてもよい。この場合は、図6に示すように、キーワード抽出結果をさらに分野602や種類603で絞り込むことも可能である。
【0067】
検索結果604で、絞り込んだ結果のデータモデル名とその説明の一覧が表示される。SE500は、一覧から適切と思うデータモデルを選択する。
【0068】
選択したデータモデルの内容は、データモデル表示605に表示される。共通データモデルの内容である、属性名、タイプ、説明が表示されるので、SE500は属性を確認し、独自データモデルの項目を対応付けする。対応付けは、レスポンス項目において、プルダウンで独自データモデルの項目を表示し、選択することで行うことが可能である。このとき、意味的に同じあるいは類似する属性を自動的に抽出し、暫定的にレスポンス項目に表示してもよい。
【0069】
備考欄には、共通モデルと独自モデルで規定している単位が異なる場合や、データに関しての説明を記入することができる。
【0070】
また、対応できる属性がない場合、任意のカスタム属性を属性名に追加し、タイプを選択し、説明を入力してもよい。カスタム属性追加ボタン606で、属性を登録することができる。
【0071】
以上のように、SE500が作業した結果である、データモデル選定結果、データ属性紐づけ結果、およびカスタマイズ結果は、コネクタ生成・更新支援ツール403に送信される(S505)。
【0072】
コネクタ生成・更新支援ツール403は、受信したデータを必要に応じて加工し、マッピング結果としてコネクタ管理部402に送信する(S506)。
【0073】
コネクタ管理部402の独自-共通マッピング管理部4021は、受信したマッピング結果を必要に応じて加工して独自-共通マッピングデータ700として記憶する(S507)。
【0074】
図7は、独自-共通マッピングデータ700の一例を示す表図である。独自-共通マッピングデータ700は、例えば、データを一意に示すデータ番号701、独自データモデル属性名702、対応する共通データモデルを一意に示す識別子703、対応する共通データモデルの属性名704、データ値の変換関数705を含む。このような、マッピングデータは、あらかじめ決められた統一形式にて作成する。
【0075】
独自-共通マッピングデータ700は、独自モデルと共通モデルの組み合わせごとに複数作成される。独自-共通マッピングデータ700は、関連する独自モデルと共通モデルを特定する情報が付加される。
【0076】
図7の独自-共通マッピングデータ700において図6の入力との関係では、独自データモデル属性名702は、データモデル表示605の属性名を元に生成される。対応する共通データモデルを一意に示す識別子703は、検索結果604で選択されデータモデルを示す識別子(例えばデータモデル名)を元に生成される。対応する共通データモデルの属性名704は、データモデル表示605のレスポンス項目に入力された属性を元に生成される。データ値の変換関数705は、データモデル表示605の備考欄に入力された情報をもとに生成される。データ値の変換関数705は、必要に応じて定義され、主に形式・単位変換で可能な関数の識別子を格納する。
【0077】
以上のように、独自-共通マッピングデータ700は、独自データモデルと既存の共通データモデルの対応関係をマッピングするものである。一般的に、独自モデルデータと共通モデルデータの相互の変換は、このマッピングデータが完成していれば可能であり、独自-共通マッピングデータ700を元にして、コネクタプログラム生成部4023がコネクタプログラム(データコンバータ)を生成する(S508)。
【0078】
生成されたコネクタプログラムは、コネクタテスト生成部4024がコネクタテストプログラムを作成し、テスト実行管理部4025が、検証環境の都市OS600にデプロイしてテストする(S509)。コネクタテストプログラムの作成は、公知技術を踏襲して自動化してよい。テスト結果が問題なければ、コネクタ102としてデプロイする(S510)。
【0079】
一般に、独自-共通マッピングデータと、独自モデル定義、共通モデル定義があれば、公知技術でコネクタプログラムとコネクタテストプログラムの自動作成は可能である。テストやデプロイについても、公知技術を採用してよい。
【0080】
図8は、共通データモデルの更新をトリガーとした、データモデルマッピングの更新シーケンスを示す図である。
【0081】
データモデル管理部401において、共通データモデルの変更処理が行われたことをトリガーに処理が開始される(S801)。共通データモデルの変更処理は、データ提供元SEあるいは都市OS運用SE等処理主体を問わない。共通データモデルの変更があったことは、共通モデル定義DB4012DBを管理する共通モデル定義管理部4012が検知可能である。
【0082】
データモデル管理部401は、コネクタ管理部402に共通データモデルの変更があったことを通知する(S802)。
【0083】
図9は、コネクタ管理部402における処理フローである。コネクタ管理部402の独自-共通マッピング管理部4021は、独自-共通マッピングデータ700の対応する共通データモデルの識別子703を、変更があった共通データモデルの識別子で検索し、関連するマッピングデータを抽出する。そして、変更された共通データモデルに関連するコネクタを特定する(S803)。
【0084】
コネクタの特定のために、独自-共通マッピングデータ700は、当該マッピングデータを使用して作成されたコネクタの識別情報を持っていてもよい。あるいは、コネクタ管理部が、コネクタと当該コネクタが関連するマッピングデータの関係を管理していてもよい。あるいは、コネクタ管理部402が、各コネクタが変換する独自データモデルと共通データモデルの対応表を持っていてもよい。対応表がある場合、変更された共通データモデルと独自データモデルを変換するコネクタを抽出すればよい。
【0085】
データモデル管理部401の共通モデル定義管理部4012と共通モデル構造管理部4013は、変更された共通データモデルの共通モデル定義4012DTと共通モデル構造4013DTの情報を、コネクタ管理部402 に送信する(S804)。
【0086】
図10は、共通モデル構造4013DTの一例を示す。現在の共通モデル定義4012DTに対して加えられた変更(差分)を機械可読に示している。ここでは属性「circuit」が追加され、属性「statePower」の名称が「powerState」に変更され、属性「locationCategory」の説明が変更され、属性「powerState」の値範囲が変更されている。
【0087】
この共通モデル構造4013DTでは、コネクタ動作に影響するものとしないものが区分して記載され、かつ、コネクタプログラムへ反映するうえで必要な機械可読化がなされている。図10の例では、共通モデル構造4013DTは、機械可読とともにSE500が直接理解可能な形式になっている。この例は一例であり、任意のルールに基づいて機械可読が可能であればよく、テーブルその他の形式でもよい。
【0088】
コネクタ管理部402の独自-共通マッピング管理部4021は、マッピング変更の有無の可能性を判定する(S805)。マッピング変更の有無では、共通モデル構造4013DTをチェックし、マッピングに影響がある変更の有無を判定する。例えば、共通データモデルにおいて、説明のため注釈のみの変更であれば、マッピングの変更は不要である。一方、共通データモデルにおいて新規属性が追加された場合や属性の値範囲が変更された場合には、マッピングを変更しなければならない可能性がある。
【0089】
独自-共通マッピング管理部4021は、マッピングの変更の可能性があると判定した場合、コネクタ生成・更新支援ツール403に、共通データモデル変更・追加マッピング確認依頼を送信する(S806)。コネクタ生成・更新支援ツール403は、SE500の端末に共通データモデル変更・追加マッピング確認依頼を送信し、例えばブラウザを用いて表示させる(S807)。
【0090】
図11を用いて、共通データモデル変更・追加マッピング確認の具体例を説明する。いま、例えば図7に示した独自データモデルと共通データモデルの独自-共通マッピングデータ(変更前マッピングという)があったとする。共通データモデルの変更により、独自データモデルと共通データモデルのマッピングを図11の独自-共通マッピングデータ700-2のように変更するものとする(変更後マッピングという)。コネクタ生成・更新支援ツール403の役割は、SE500が図11のような変更後マッピングを生成することを容易にすることである。
【0091】
図7図10を比較すると、変更前マッピングでは独自データモデル属性名「light circuit」には対応する共通データモデル属性名がなかったが、変更後マッピングでは共通データモデル属性名「circuit」が対応付けされている。このような対応付けを可能にするためには、例えば図7に示したテーブルをGUIとして表示し、対応する共通データモデルの属性名704に追加した属性名をプルダウンメニューで選択可能として、SE500が指定できるように構成すればよい。
【0092】
あるいは、図6に示したGUIのデータモデル表示605のレスポンス項目を用いて、追加された共通モデルの属性名に対応する独自モデルの属性名SE500が指定してもよい。追加された共通データモデル属性名が一つだけの場合は、デフォルトで対応する共通データモデル属性名がない独自データモデル属性名に対応付けてもよい。
【0093】
また、図7の変更前マッピングでは独自データモデル属性名「PowerStatus」に対応する共通データモデル属性名は「statePower」だったが、図11の変更後マッピングでは共通データモデル属性名が「powerState」に変更されている。このような変更を可能とするためには、上記と同様に共通データモデルの属性名をプルダウンメニューで選択可能として、SE500が指定できるように構成すればよい。あるいは、共通モデル構造4013DTの中の「CHANGE PROPERTY NAME」をコネクタ管理部402が読み取り、自動的に変換できるようにしてもよい。例えばマッピング済みの共通データモデル属性名が「statePower」から「powerState」に変更されているような場合には、共通モデル構造4013DTに基づいて自動的にマッピングを変更することができる。
【0094】
また、図7の変更前マッピングの独自データモデル属性名「status」から対応する共通データモデル属性名「status」に変換する際の、データ値の変換関数が図11では変更されている。共通データモデルにおける属性の値の範囲・仕様が変更された場合、独自データモデルの属性の値を共通データモデルの属性の値にマッピングする際に、変換関数を再度決める必要が生じる。この変更を可能にするためには、値の変更があった属性「status」やその変換関数を強調表示するなどしてSE500の注意を促し、データ値の変換関数705を設定させるように構成してもよい。例えば、主に形式・単位変換で可能な関数の識別子を格納する変換関数の変換では、図6に示したデータモデル表示605の備考に共通データモデルの変更箇所を表示してSE500に確認させ、必要に応じて編集させてもよい。
【0095】
SE500が必要に応じてデータ属性紐づけ、カスタマイズを行った結果は、SE500の端末からコネクタ生成・更新支援ツール403に送信される(S808)。
【0096】
コネクタ生成・更新支援ツール403は、必要に応じてデータ属性紐づけ・カスタマイズ結果を加工し、マッピング結果としてコネクタ管理部402に送信する(S809)。
【0097】
コネクタ管理部402の独自-共通マッピング管理部4021は、受信したマッピング結果に基づいて、独自-共通マッピングデータ700を更新する。また、マッピングバージョン管理部4022に、マッピング更新前後の差分データ4026を記録する(S810)。
【0098】
その後、更新された独自-共通マッピングデータ700に基づいて、コネクタプログラム生成部4023がコネクタプログラムを作成する。また、コネクタテスト生成部4024がコネクタテストプログラムを作成する。そして、コネクタプログラムとコネクタテストプログラムを用いて、テスト実行管理部4025が検証環境の都市OS600上でテストを実行する(S811)。
【0099】
テストの結果問題なければ、本番環境にコネクタ102をデプロイする(S812)。
【0100】
本実施例によれば、共通データモデルのバージョン管理において、変更箇所を機械可読な形で構造管理し、共通データモデル更新時に独自データモデルと共通データモデルの対応関係のマッピングを構造管理に基づき更新できるようにした。このため、作業者が容易に共通データモデルと独自データモデルの対応付けを行えるようになった。
【実施例0101】
実施例1では、共通データモデルの変更をトリガーとして、独自-共通マッピングデータを更新する場合を説明した。逆に、独自データモデルの変更をトリガーとして独自-共通マッピングデータを更新することもできる。
【0102】
図12は、独自データモデルの更新をトリガーとした、データモデルマッピングの更新シーケンスを示す図である。
【0103】
SE500が独自データモデルのバージョンを変更すると(S1201)、コネクタ管理部402に独自データモデル更新が通知される(S1202)。
【0104】
実施例1では、共通データモデルの更新前後の差分は共通モデル構造管理部4013が管理していた。しかし、独自データモデルの更新前後の差分は、変更を行ったSE500が知っているので、SE500は、更新前後の独自データモデルの差分を例えば図10に示したのと同様な機械可読のデータとして準備し、以下の処理を行う。
【0105】
コネクタ管理部402の独自-共通マッピング管理部4021は、関連するコネクタを特定する(S1203)。その処理は、図8のS803と同様であり、共通データモデルと独自データモデルを置き換えて処理すればよい。
【0106】
データモデル管理部401の共通モデル定義管理部4012と共通モデル構造管理部4013は、関連するコネクタが変換する共通モデルの共通モデル定義4012DTと共通モデル構造4013DTの情報を、コネクタ管理部402に送信する(S1204)。
【0107】
コネクタ管理部402の独自-共通マッピング管理部4021は、マッピング変更の有無の可能性を判定する(S1205)。当該処理は、図8のS805と同様である。
【0108】
実施例1の図8の処理S806、S807と同様に、独自-共通マッピング管理部4021は、マッピングの変更の可能性があると判定した場合、コネクタ生成・更新支援ツール403に、共通データモデル変更・追加マッピング確認依頼を送信する(S1206)。
【0109】
コネクタ生成・更新支援ツール403は、SE500の端末に共通データモデル変更・追加マッピング確認依頼を送信し、例えばブラウザを用いて表示させる(S1207)。
【0110】
それ以降の処理S1207~S1212は、図8の処理S807~S812に対応するものであり、実施例1と同様にマッピングを変更することができる。
【0111】
任意のタイミングで独自データモデルはデータモデル管理部401に送信され(S1213)、独自モデル定義管理部4011は、独自モデルDB4011DBに独自モデル定義4011DTを記録する(S1214)。
【実施例0112】
実施例3では、コネクタ更新に合わせて、データ利用者向けのデータカタログも更新する例を示す。データカタログとは、データをビジネスユーザー向けに商品として提供するための目録、辞書である。データの発生元やデータ定義、導出方法などデータに関する情報が含まれている。
【0113】
図13に実施例3の都市OSおよびデータ管理部と、それらに接続されるシステムの全体構成を示すブロック図を示す。実施例1(図1)との差異は、データカタログ管理部104を備え、SE500に更新されたデータカタログを提供する点である。以下実施例1との差異の部分を説明する。
【0114】
コネクタの更新(S812)をトリガーとして、データモデル管理部401は、関連する共通モデル構造4013DTをデータカタログ管理部104に送信する。
【0115】
データカタログ管理部104は、共通データモデルのデータカタログを管理している。データカタログには、データの内容に加えてデータの説明等が含まれる。データモデル管理部401は、共通モデル構造4013DTの説明部分に基づいて、データカタログの説明部を変更することで、自動的にデータカタログを更新することができる。
【0116】
以上説明した実施例によれば、共通データモデルのバージョン更新時に、共通データモデルの構造管理、及び、マッピングに基づいて、データカタログ情報(取得するデータの仕様)を更新する。データカタログとの連携を行うことで、共通データモデルを更新された場合でも、コネクタプログラムだけでなく、データカタログ公開に関する業務負荷を低減することができる。
【0117】
上記実施例によれば、都市OSの運営業務においては、コネクタ開発に関するSEの作業負担が軽減され、またデータ提供元のSEとのやり取りが減少し、データ登録に関する作業の負担が軽減できる。このため、都市OSで都市間の横展開を簡易にでき、外部データ連携のコネクタの開発および運用のための自動化を進めて、工数をより削減することができる。
【0118】
また、データ提供元としては、都市OSのSEとのやり取りが減少し、データ登録に関する作業負担が低減される。さらに、データ提供元がセルフサービスでデータ登録からテスト、デプロイまでを完了させることも可能になる。
【0119】
また、新たなデータ提供の申請をしてからコネクタを作り、データ利用者が利用できるまでの時間(データデリバリ時間)の短縮が可能になる。
【0120】
以上のように効率の良い都市OSの運営が可能となるため、消費エネルギーが少なく、炭素排出量を減らし、地球温暖化を防止、持続可能な社会の実現に寄与することができる。
【符号の説明】
【0121】
都市OS100、共通モデルデータ蓄積部101、データ提供元システム200、アプリケーションサーバ300、データ管理部400、データモデル管理部401、コネクタ管理部402、コネクタ生成・更新支援ツール403、独自-共通マッピングデータ700、独自-共通マッピング管理部4021、マッピングバージョン管理部4022、コネクタプログラム生成部4023、コネクタテスト生成部4024、テスト実行管理部4025
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13