JP5346141B1 - データベースシステムおよびその制御方法 - Google Patents

データベースシステムおよびその制御方法 Download PDF

Info

Publication number
JP5346141B1
JP5346141B1 JP2013509756A JP2013509756A JP5346141B1 JP 5346141 B1 JP5346141 B1 JP 5346141B1 JP 2013509756 A JP2013509756 A JP 2013509756A JP 2013509756 A JP2013509756 A JP 2013509756A JP 5346141 B1 JP5346141 B1 JP 5346141B1
Authority
JP
Japan
Prior art keywords
target system
agreement
graph
model
consensus
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.)
Expired - Fee Related
Application number
JP2013509756A
Other languages
English (en)
Other versions
JPWO2014076751A1 (ja
Inventor
靖彦 横手
辰巳 永山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Symphony
Original Assignee
Symphony
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 Symphony filed Critical Symphony
Application granted granted Critical
Publication of JP5346141B1 publication Critical patent/JP5346141B1/ja
Publication of JPWO2014076751A1 publication Critical patent/JPWO2014076751A1/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Technology Law (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

オープン環境において、ステークホルダ間で対象システムのライフサイクル全般に亘ってディペンダビリティを維持するための合意形成手段を提供するとともに、ステークホルダ間での合意内容に従って対象システムを適切に運用する。
合意形成支援ツールは、対象システムの通常の運用状態に関する議論を通じて合意形成を行うための支援を行う。合意形成の過程において得られた履歴は、合意グラフとしてデータベース層に記憶される。モニタノードツールは、対象システムの実際の運用状態と合意グラフとから対象システムにおける通常の運用状態からの逸脱を検出する。契約書生成ツールは、対象システムにおいて通常の運用状態からの逸脱が検出された際に、合意グラフから合意形成に関する情報データを抽出する。

Description

本発明は、データベースシステムに関する。詳しくは、対象システムのディペンダビリティを担保するためのデータベースシステムおよびその制御方法に関する。
情報(IT)システムには、そのシステムの提供するサービスを安心して継続的に利用できることが要求される。情報システムは巨大化し、社会インフラとしても非常に重要な役割を担っているため、ひとたび事故が起こると全国民、さらに場合によっては世界中にその影響を及ぼすことになる。銀行システム、通信システム、鉄道システム、そしてクラウドシステムにおいて深刻な障害を起こし、巨額の賠償金に発展するケースもある。もし、大きな事故が起これば責任の追及が行われ、過誤が認定されれば厳しい罰則を受けることをステークホルダは覚悟しなければいけない。
従来からコンピュータシステムの信頼性、可用性、保守性、安全性、完全性、および、機密性に関しては、コンピュータシステムの備えるべき性質としてディペンダビリティが議論されてきている(例えば、非特許文献1参照。)。組込みシステム開発においては、最初に開発計画を立て、対象システムやサービスの機能要件や非機能要件を仕様として書き出し、検証やテストを長期にわたって行い、デプロイするような手法がとられてきた。しかし、障害は日ごとに件数を増してきている。CMMIやISO 26262をはじめとする規格では、人為的エラーを減らす試みもなされている。しかし、これら既存の技術や規格ではオープン環境におけるシステムという特性の考慮が欠けている。
そこで、情報システムのディペンダビリティを担保する技術体系をまとめ、制度化さらには事業化を目指すべく、2006年に独立行政法人科学技術振興機構(JST)はCRESTプログラムの1つとしてDEOSプロジェクトをキックオフした。その様な技術体系を一言で言えば、システムの安全基準を定義して、それを逸脱するようなことがあれば、異常事態に陥る前に回避するか、異常事態に陥ってもすぐさま復旧させることができる技術体系であり、発明者等はオープンシステムディペンダビリティ(Open Systems Dependability)として定義した。
このオープンシステムディペンダビリティはプロセスの観点から整理され、DEOSプロセスとしてまとめられた(例えば、非特許文献2および特許文献1参照。)。DEOSプロセスの特徴を一言で表現するなら、企画や設計という上流から運用までの対象システムに関するライフサイクル全体に係るオープンシステムディペンダビリティを担保するために、対象システムに係る人と物の行動を律するプロセスであり、対象システムに関わる人々(ステークホルダ)からの対象システムに対する要求に関する合意を始めとしたあらゆる議論に関する合意をベースに、対象システムを通常の運用状態に維持する。各プロセス間での共通言語としてD−Caseが設計されている(例えば、非特許文献3参照。)。
国際公開第2012/073686号
Algirdas Avizienis, et al.: "Basic Concepts and Taxonomy of Dependable and Secure Computing", IEEE Transactions on Dependable and Secure Computing, vol.1, no.1, p.11-33 (2004) Mario Tokoro: "Open Systems Dependability - Dependability Engineering for Ever-Changing Systems", ISBN: 978-1-4665-7751-0, CRC Press (2012) D−Case入門, ISBN: 978-4-8629-3079-8, 株式会社ダイテックホールディング (2012)
システム規模の拡大や複雑度の増大は、そのシステムやそれが提供するサービスに関する仕様をも複雑にし、すべての仕様を完全にシステム開発前に記述することを不可能にしている(仕様の不完全性)。このような仕様の不完全性は、対応する実装の不完全性をもたらし、そのシステムが提供するサービスの振る舞いも完全には把握することができず、何をどこまで保証したら良いのか、保証可能なのかも分からなくなる。また、これらの不完全性はステークホルダ間でのシステムやサービスに対する要求理解の違い(誤解)を招き、また、人為的なミスを誘導する。
さらに、そのシステムを取り巻く環境の変化に対応するための要求が新たに発生する。また、開発時点の要求にも修正が必要になる。環境の変化は事前にはわかり得ないため、現在のシステムの動作がその環境変化に確実に対応できるかは分からない。このような変化に対する不確実性はシステム動作予測を困難にし、その変化にシステムが対応する際にシステム障害が最も発生しやすい。
上述の非特許文献2および特許文献1においては、目的や環境の変化に対応するプロセス(変化対応サイクル)と、障害予兆が検知された際または障害が発生した際に起動されるプロセス(障害対応サイクル)との間の共通の表現形式として、D−Caseを導入している。システム開発時点で想定される障害対応をD−Caseとして記述し、ステークホルダ間で合意することで、障害発生時点でのステークホルダの説明責任の達成を可能にしている。しかし、ステークホルダ間で合意されるD−Caseは記述全体に対する合意であるため、システム規模の拡大に伴ってD−Caseも複雑化し、その合意に至る時間も長期化する。
本発明はこのような状況に鑑みて生み出されたものであり、不完全性と不確実性が潜在的に存在するオープン環境において、ステークホルダ間で対象システムのライフサイクル全般に亘ってディペンダビリティを維持するための合意形成手段を提供することを目的とするとともに、ステークホルダ間での合意内容に従って対象システムを適切に運用する手段を提供することを目的とする。
本発明は、上述の問題点を解消するためになされたものであり、その第1の側面は、対象システムの通常の運用状態に関する議論を通じて合意形成を行うための支援を行う合意形成部と、上記合意形成の過程において得られた履歴を合意グラフとして記憶する合意グラフ記憶部と、上記対象システムの実際の運用状態と上記合意グラフとから上記対象システムにおける上記通常の運用状態からの逸脱を検出する検出部と、上記対象システムにおいて上記逸脱が検出された際に上記合意グラフから上記合意形成に関する情報データを抽出する抽出部とを具備するデータベースシステムである。これにより、合意形成の過程において得られた合意グラフに基づいて対象システムの通常の運用状態からの逸脱を検出し、必要な情報データを抽出するという作用をもたらす。
また、この第1の側面において、上記合意形成部は、上記対象システムを定義する複数のモデルを基底として上記合意グラフを生成し、上記複数のモデルの各々は、上記対象システムに関する言葉の意味を一義的に定義し、上記対象システムに関する操作の効果を一義的に定義し、上記対象システムに関するデータの論理的定義と物理的定義とを一義的に関係付けるようにしてもよい。これにより、対象システムを定義する複数のモデルを基底として合意グラフを生成するという作用をもたらす。
また、この第1の側面において、上記対象システムのライフサイクルを構成する複数の段階における複数のステークホルダの活動を通じて生成される上記対象システムに関する文書を上記合意グラフと関連付けて記憶する文書記憶部をさらに具備してもよい。これにより、対象システムに関する文書を合意グラフと関連付けて記憶するという作用をもたらす。
また、この第1の側面において、上記合意グラフは、上記対象システムの目的または環境の変化に対して上記対象システムを継続的に変更していくための変化対応サイクル、および、上記対象システムにおける障害に対応するための障害対応サイクルの両サイクルにおいてアクセスされるようにしてもよい。これにより、合意グラフを変化対応サイクルおよび障害対応サイクルにおいて利用するという作用をもたらす。
また、本発明の第2の側面は、対象システムの通常の運用状態に関する議論を通じて合意形成を行うための支援を行う合意形成手順と、上記合意形成の過程において得られた履歴を合意グラフとして記憶する合意グラフ記憶手順と、上記対象システムの実際の運用状態と上記合意グラフとから上記対象システムにおける上記通常の運用状態からの逸脱を検出する検出手順と、上記対象システムにおいて上記逸脱が検出された際に上記合意グラフから上記合意形成に関する情報データを抽出する抽出手順とを具備するデータベースシステムの制御方法である。これにより、合意形成の過程において得られた合意グラフをデータベースシステムに記憶し、その合意グラフに基づいて対象システムの通常の運用状態からの逸脱を検出し、必要な情報データを抽出するという作用をもたらす。
本発明によれば、不完全性と不確実性が潜在的に存在するオープン環境において、ステークホルダ間で対象システムのライフサイクル全般に亘ってディペンダビリティを維持するための合意形成手段を提供するとともに、ステークホルダ間での合意内容に従って対象システムを適切に運用する手段を提供するという優れた効果を奏し得る。特に、DEOSプロセスを適切に運用することを可能にすることにより、対象システムに係るオープンシステムディペンダビリティを維持するという効果を奏し得る。
さらに、対象システムを取り巻く環境の変化やビジネス目的の変化等に起因して対象システムを変更する際に最も問題となるディペンダビリティの低下を、従来の開発フェーズと運用フェーズの垣根を無くし、合意グラフを介して密結合することにより、ステークホルダのアカウンタビリティを達成し、オープンシステムディペンダビリティを維持するという効果を奏し得る。
本発明の実施の形態において想定するDEOSプロセスの概要を示す図である。 本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01の構成例の概略を示す機能ブロック図である。 本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01および対象システム210−01のハードウェア構成例を示す図である。 本実施の形態におけるモデルを説明するための図である。 本実施の形態における合意グラフを説明するための図である。 本実施の形態の合意グラフ演算におけるグラフ構造化ログを説明するための図である。 トゥールミンの提案する議論モデルの一例を示す図である。 本実施の形態に係る合意形成モデル200−09に関するUML記述例を示す図である。 本実施の形態に係るトゥールミンモデル200−10に関するUML記述例である。 本実施の形態に係る会議モデル200−12に関するUML記述例である。 本実施の形態に係る組織モデル200−11に関するUML記述例である。 本実施の形態に係る基本データモデル200−13のUML記述例である。 本実施の形態における合意形成に係るモデルの全体像を示す図である。 本実施の形態における議論の対象の設定について説明するための図である。 本実施の形態における契約書作成の概要を示す図である。 本実施の形態に係るモニタノードツール200−07と合意グラフとの関係を示す図である。 本実施の形態に係るモデル監視とルールとの関係を示す図である。 本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01の実装構成例を示す図である。 本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01の実装例における表示例を示す図である。 本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01における機能構成例を示す図である。 本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01における処理手順例を示す流れ図である。
以下、本発明を実施するための実施の形態について詳細に説明する。
<DEOSプロセス>
図1は、本発明の実施の形態において想定するDEOSプロセスの概要を示す図である。オープンシステムディペンダビリティ、すなわち、機能、構造、システム境界が時間とともに変化し続けるシステムに対するディペンダビリティを実現するためには、反復的プロセスとしてのアプローチが必須である。この反復的プロセスは、目的(Objectives)や環境の変化に対してシステムを継続的に変更していくためのサイクル(変化対応サイクル100−01)と、障害に対して迅速に対応するためのサイクル(障害対応サイクル100−02)とを備えている必要がある。両サイクルにおいて、合意記述データベース100−08が参照または更新される。
変化対応サイクル100−01は、上流プロセスにおける対象システムのオープンシステムディペンダビリティを担保するために必要とされるプロセスからなるサイクルである。この変化対応サイクル100−01は、合意形成プロセス100−03と、開発プロセス100−04と、説明責任遂行プロセス100−05の3プロセスを定義している。
障害対応サイクル100−02は、対象システムの運用時に必要とされるプロセスからなるサイクルである。この障害対応サイクル100−02は、障害対応プロセス100−06と、説明責任遂行プロセス100−05の2プロセスを定義している。普段は、両サイクルとも対象システムは通常運用状態100−07にある。
対象システムのディペンダビリティに関する利害関係者を、DEOSプロセスにおいては「ステークホルダ」と呼ぶ。ステークホルダとしては、1)サービス・製品の利用者(顧客、社会的インフラの場合は社会全体)、2)サービス・製品の提供者(事業主)、3)システム提供者(設計開発者、保守運用者、ハードウェア供給者)、4)サービス・製品認可者(規制監督官庁)等を想定するが、これに限定されるものではない。
ステークホルダは、時間の経過や環境の変化によって各々の目的を変化させ、機能やサービスに対する要求を変化させる可能性がある。これらの変化を、ここでは「目的変化/環境変化」と呼ぶこととする。これらの変化に対し、ステークホルダは熟慮し、相互に合意した上で、適切な時期にシステムの変更を要求する。DEOSプロセスはこのような要求に対するサイクルとして、上述の変化対応サイクル100−01を備える。
対象システムは、不完全さと不確実さに起因する障害を完全に回避することがきわめて困難である。障害の予兆を検出した場合には障害を未然に回避するが、不幸にも障害が発生してしまった場合には、迅速に対応して被害を最小化し、原因を究明し、説明責任を遂行する必要がある。DEOSプロセスではそのような状況に対応するために上述の障害対応サイクル100−02を備える。
合意形成プロセス100−03は、要求抽出/リスク分析フェーズ100−09と、ステークホルダ合意フェーズ100−10とから構成される。合意形成プロセス100−03は、目的変化/環境変化イベント100−19によって、または、障害対応プロセス100−06の結果次第で起動される。
要求抽出/リスク分析フェーズ100−09では、ユーザニーズ、ステークホルダの目標、多様なシステム環境、規制などから対象システムに係る要求が抽出される。また、それと同時に、サービス継続シナリオが開発される。要求抽出/リスク分析フェーズ100−09の結果は、一連のディペンダビリティ要求である。
ステークホルダ合意フェーズ100−10は、複数のステークホルダによる対象システムにおいて、何を、何故、如何に変更するか、ということに関する議論から始まる。この議論のプロセス、および、その結果としての合意は、後述のD−Caseとして論理的に記述される。ステークホルダ合意フェーズ100−10は、サービス継続シナリオからの実行可能手続を生成する。この実行可能手続は、D−Scriptに記述され、障害対応に利用される。
開発プロセス100−04は、設計フェーズ100−11と、実装フェーズ100−12と、検証フェーズ100−13と、テストフェーズ100−14とから構成される。
設計フェーズ100−11では、前段の合意形成プロセス100−03の結果として合意された要求を、例えば、如何に対象システムに実装し、運用していくかが議論され、必要な仕様書にまとめられる。
実装フェーズ100−12では、設計フェーズ100−11における仕様書から必要なプログラムコードを記述し、または、必要な技術を実現するプログラムコードを調達し、必要な運用のためのシステムの構築などを行う。
検証フェーズ100−13では、実装フェーズ100−12の結果が合意形成プロセス100−03の結果と矛盾してないかが検査される。プログラムの論理的整合性、プログラミング言語矛盾などが検査される。
テストフェーズ100−14では、性能検証のためのベンチマークや耐障害テストなどにより、合意形成プロセス100−03におけるステークホルダ合意の通りに対象システムが動作するかが確認される。
障害対応プロセス100−06は、通常運用状態100−07から起動され、未然回避フェーズ100−15と、迅速対応フェーズ100−16と、原因究明フェーズ100−17とから構成される。
未然回避フェーズ100−15は、予兆検知/障害発生イベント100−18における特に予兆検知によって起動される。障害の予兆が検知されたことにより、その障害を回避するための必要な対策が実行される。上述の実行可能手続(D−Script)の実行によってその対策が実行される場合もあり、また、必要な原因究明フェーズ100−17を経て合意形成プロセス100−03が起動されてステークホルダによる対策が実行される場合もある。
一方、迅速対応フェーズ100−16は、予兆検知/障害発生イベント100−18における特に障害発生によって起動され、その障害から対象システムを通常運用状態100−07に回復させる対策が実行される。未然回避フェーズ100−15と同様に、実行可能手続(D−Script)の実行によってその対策が実行される場合もあり、また、必要な原因究明フェーズ100−17を経て合意形成プロセス100−03が起動されてステークホルダによる対策が実行される場合もある。
通常運用状態100−07は、対象システムが通常の運用状態にあることを示している。この通常運用状態100−07は、対象システムがステークホルダ間で合意されたサービスレベル変動許容範囲(In-Operation Range)から大幅な逸脱がなく、ユーザに対してサービス提供を継続している状態である。変化対応サイクル100−01は、通常運用と並行して実行され、サービスの提供を継続しつつシステムの変更が行われることが望ましい。同様に、障害対応サイクル100−02も、通常運用を継続しながら実行されることが望ましい。実際、システムが異常の予兆を検知しても、サービスレベル変動許容範囲内で自動的に回避処理が働いてサービスが継続される場合がある。または、一部の機能を縮退してサービスを継続している場合もある。しかしながら、サービスの提供が完全に停止されてしまう場合もある。
通常運用状態100−07において実行されるプロセスには、日常的な動作記録の点検、プロセスの定期的な見直しや改善、要員の訓練、しつけおよび教育など、継続的なディペンダビリティ向上活動が含まれる。システムの稼働状況を記録し、日々点検することにより、保守担当者や運用担当者が何かの兆候をそこから見出すことができる可能性がある。また、システムのメモリ資源を常にクリーンな状態にすることも、非常に有効な日常保守または改善活動である。または、積極的に予行を行うことも有効である。障害は、ある時間が経過してある状態に達した時に発生する。そうであれば、時間を先に経過させると障害の発生を事前に知ることができる。いわゆるリハーサルである。情報システムの提供するサービスの運用時において、どの程度適切なリハーサルができるのかはその時の状況による。
説明責任遂行プロセス100−05では、サービス提供者、特に社会インフラサービス提供者や社会に広く使われる製品提供者が、障害発生時にサービス利用者、製品使用者および社会に対し、障害状況、迅速対応および今後の見通しなど説明する。また、目的や環境変化によるステークホルダの要求変化を満たすためにシステムを変更した場合、その経緯と、いつからどのようにサービスや機能がよくなるのか(変化するのか)を説明する。日常のサービス遂行状況や、設計開発/保守運用プロセスに関する説明が必要なときもこれに対応する。これらは利用者や社会からの信頼を維持し、インフラサービス提供上のコンセンサスを醸成し、ひいてはサービス提供者のビジネス遂行上の便益を守るという大変重要な役目を持つ。
<ディペンダビリティ維持リポジトリシステム>
図2は、本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01の構成例の概略を示す機能ブロック図である。このディペンダビリティ維持リポジトリシステム200−01は、DEOSプロセスにおける合意記述データベース100−08に対応するものである。なお、ディペンダビリティ維持リポジトリシステム200−01は、請求の範囲に記載のデータベースシステムの一例である。
ディペンダビリティ維持リポジトリシステム200−01は、対象システム210−01とネットワーク220−01とを介して結ばれている。対象システム210−01は、別個の2台以上のコンピュータから構成されるシステムであってもよい。2台以上のコンピュータから構成される場合には、各コンピュータはネットワーク220−01によって接続され得る。本実施の形態におけるネットワーク220−01は、専用回線であってもよく、インターネットを含む公衆回線であってもよく、公衆回線上にVPN技術を用いて仮想的な専用回線を構築したものであってもよく、また、1台のコンピュータ内部のOSの提供する通信回線であってもよい。以下では、特に断らない限りネットワークを上述のように定義する。
ディペンダビリティ維持リポジトリシステム200−01は、上位層、中間層、および、下位層の3層構造によって構成される。
上位層は、基本ツール層200−02であり、ディペンダビリティ維持リポジトリシステム200−01と各DEOSプロセスとのやり取りを支援するコンピュータプログラムが存在する。本実施の形態では、合意形成支援ツール200−05と、契約書作成ツール200−06と、モニタノードツール200−07の3つのツールを基本ツールとして例示するが、これらに限定されるものではない。
合意形成支援ツール200−05は、DEOSプロセスにおける合意形成プロセスの遂行を円滑にする。DEOSプロセスにおける合意形成プロセスでは、トゥールミン(Stephen E. Toulmin)の提案する議論モデル(例えば、ISBN: 978-0-5215-3483-3参照)を採用する。ステークホルダ間における合意に至る過程で生成されるドキュメントをこの議論モデルによって表現し、ディペンダビリティ維持リポジトリシステム200−01に記録する。
契約書作成ツール200−06は、ディペンダビリティ維持リポジトリシステム200−01に記録されている情報から対象システム210−01に関する必要な契約書を作成することを支援する。
モニタノードツール200−07は、対象システムの監視点に係る必要な情報を記載したD−Caseモニタノード(例えば、非特許文献3参照)と関連し、対象システム210−01をモニタリングするために必要な機能を提供する。
中間層はモデル層200−03であり、上位層の基本ツール層200−02で必要とされるモデルを定義する。この実施の形態では、基本データモデル200−13と、合意形成モデル200−09と、トゥールミンモデル200−10と、会議モデル200−12と、D−Caseモデル200−08と、組織モデル200−11を例示しているが、これらに限定されるものではなく、自由に拡張または縮退可能である。
基本データモデル200−13は、上位層の基本ツール層200−02において共通に利用されるモデルを定義している。合意形成モデル200−09は、合意形成支援ツール200−05において必要なモデルを定義している。トゥールミンモデル200−10は、トゥールミンの議論モデルを表現するモデルを定義している。会議モデル200−12は、ステークホルダの合意形成が会議の形態による場合に必要なモデルを定義している。D−Caseモデル200−08は、D−Case記述(例えば、非特許文献3参照)を記録するために必要なモデルを定義している。組織モデル200−11は、ステークホルダの権限と組織とを対応付けるのに必要なモデルを定義している。
下位層はデータベース層200−04であり、上層のモデル層200−03で定義されているモデルのインスタンス(モデル型のデータとも言える)を記録するデータベースである。本実施の形態では、グラフDB200−14と、ドキュメントDB200−16と、Key/Value Store200−15の3種を定義しているが、これに限定されるものではない。
グラフDB200−14は、主に後述の合意モデルを記録するために利用される。ドキュメントDB200−16は、ディペンダビリティ維持リポジトリシステム200−01が記録する必要のある文書を格納するために利用される。Key/Value Store200−15は、グラフDB200−14およびドキュメントDB200−16のインデクスを記録するために利用される。
<ハードウェア構成>
図3は、本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01および対象システム210−01のハードウェア構成例を示す図である。最も基本的な構成としては、ディペンダビリティ維持リポジトリシステム200−01および対象システム210−01は、命令バスおよびデータバスによって接続された演算装置300−01と、制御装置300−02と、メモリ装置300−03と、入出力装置300−04とを備えた電子計算機である。
入出力装置300−04から入力されたビットデータの情報に基づいて、演算装置300−01において、算術演算、論理演算、比較演算、シフト演算などが実行される。実行されたデータは、必要に応じて、メモリ装置300−03に記憶され、入出力装置300−04から出力される。これら一連の処理は、メモリ装置300−03に記憶されたソフトウェアプログラムに従って、制御装置300−02によって制御される。本実施の形態におけるディペンダビリティ維持リポジトリシステム200−01および対象システム210−01は、上述のコンピュータとしての基本機能を備えたハードウェアであり、オペレーティングシステムやデバイスドライバ、ミドルウェア、アプリケーションソフトウェアといったプログラム群によって制御される。
<モデルと合意グラフ>
図4は、本実施の形態におけるモデルを説明するための図である。モデルとは、一義的に言葉の意味が定義され、一義的に操作の効果が定義され、かつ、一義的にデータの論理的定義と物理的定義とが関係付けられる定義領域のことである。特に断らない限り、本実施の形態ではモデルをこのように定義する。
上述のモデル層200−03では、6モデルが提示されていた。これらモデル群を基底に生成されたデータを、モデルインスタンス400−01と呼称している。モデルインスタンス400−01には、モデルデータに係るインスタンスとしては、D−Caseとその付帯情報、仕様書、設計書、運用計画書、ログ、等の各種文書群がある。議論に係るインスタンスとしては、会議録文書、主張と反論に関する文書とその履歴等の文書群がある。スクリプトに係るインスタンスとしては、検証、アクション、推論等の手続に関する文書群がある。これら文書群には全ての変更履歴が残されている。さらに、ステークホルダ間で合意された対象システムに係るパラメータであるサービスレベル変動許容範囲(In-Operation Range)を調べることで対象システムが通常運用状態100−07にあることを検証するためのスクリプトや、通常運用状態100−07から外れた場合のアクションを記したスクリプトなどの文書も対象になる。
モデルインスタンス400−01は、データベース層200−04に記録される。対象とするデータの性質が非構造的であり、関係性が重要であり、時間特性を備え、高速に多種大量のデータ処理が必要であることを考慮し、グラフデータベース200−14、ドキュメントデータベース200−16、および、Key/Value Store200−15という3種類のリポジトリを扱う。モデル層200−03からは、これらのデータベースに、透過的にアクセス可能である。
本実施の形態では、合意グラフ演算400−02として、「マトリクス型アクセス制御」と、「グラフ構造化ログ」と、「イベント相関計算」と、「バージョン制御」と、「トレースとトラッキング」と、「解析と認識」と、「仮説、推定または推論」と、「時間/時刻管理」と、「クラスタリング、分類、予測」と、「コンテキスト検索」とがリストされているが、これらに限定されるものではない。これらの一部を備えてもよく、また、他の新たな演算を加えてもよい。
「マトリクス型アクセス制御」は、誰がどのノードにアクセスできるかを制御する。人は組織に属しており、組織異動によりアクセス権も変更が必要である。組織異動前に生成されたノードに対して、組織異動後のアクセス件を付与してしまうと、そのノードが前組織の資産である場合には都合が悪い。本演算は人と組織とノードの関係を適切に維持するものである。
「グラフ構造化ログ」は、ログモデルに基づいてログデータを構造化するものである。この構造化の具体例については後述する。
「イベント相関計算」は、複数の関連あるイベントをまとめるための相関(correlation)演算を行うものである。これにより、イベントの数を減らし、システム性能を向上させるものである。
「バージョン制御」は、ノードが修正されるとき、または、ノード群の構造が修正されるときに、バージョンを付与することによって、そのバージョンのノード群にアクセスすることを可能にするものである。
「トレースとトラッキング」は、あるノードからリンクを辿ることによって、繋がったノード群を抽出し、または、あるノードへの新たなノードの接続を通知するものである。
「解析と認識」は、ノードとノードの繋がり、または、ノード群の構造を解析し、例えば意味データベースや辞書を参照することによって、そのノードまたはノード群の意味を抽出するものである。
「仮説、推定または推論」は、ノード群の構造または意味との対応から、類似のノード群の性質を導き出すものである。
「時間/時刻管理」は、ノードやリンクに対する生成、変更、削除を含むアクセス時刻を管理し、または、相対時刻とのマッピングを行うものである。
「クラスタリング、分類、予測」は、ノード群を階層的クラスタリングやK−means手法等を用いて分類するものである。
「コンテキスト検索」は、グラフ演算においてコンテキストを考慮した検索を行うものである。例えば、「車」に関する記述があった場合、それが自動車であるか、または、人名であるかは、コンテキストに依存するからである。
ここで、D−Caseに関して略説する。D−Caseは、アシュアランスケース(assurance case, ISO/IEC 15026-2: 2011)を拡張し、GSN(Goal Structuring Notation, http://www-users.cs.york.ac.uk/tpk/dsn2004.pdf)記法を用いて記述する。このD−Caseは、上述のDEOSプロセスにおいては、変化対応サイクル100−01および障害対応サイクル100−02によって利用される。例えば、モデルインスタンス400−04は、D−Caseモデル200−08に関するインスタンス例である。また、モデルインスタンス400−06は、合意形成モデル200−09に関するインスタンス例である。モデルインスタンス400−04および400−06には、それぞれ合意ノード400−07および400−09が関連付けられている。合意ノード400−07は、複数のノードが存在するD−Caseモデルインスタンス400−04に関する合意であり、合意ノード400−08は特定のノードのみに関する合意である。このように、合意の対象は、単独のノードであってもよく、また、複数のノード群であってもよい。
図5は、本実施の形態における合意グラフを説明するための図である。図5における"a"は、D−Caseモデルインスタンス400−04の再掲であり、その時刻をt1とする。図5における"b"は、"a"に対応した時刻t1におけるD−Caseである。"b"のD−Caseを3人のステークホルダが合意した場合、図5における"c"に示す合意ノード400−07が関連付けられる。各々のステークホルダは、モデルインスタンス500−01、500−02および500−03で表現され、合意ノード400−07と関連付けられる。このようなステークホルダが合意しているモデルインスタンスを表現したグラフを、合意グラフと呼称する。
ここで、D−Case表記に関して略説する。長方形は、議論によって立証したいゴールを示す。角が丸い四角形は、コンテキストであり、その関連先のノードに関するコンテキスト情報(補助情報)を記述する。並行四辺形は、ストラテジであり、議論をサブゴールに分解する際の方針を示す。丸形は、エビデンスまたはモニタリングであり、関連するゴールに関する根拠を示す。菱形は、議論がまだなされてないノードであることを示す。
次に、時刻t2においてD−Caseが、"b"から"d"に修正されたものとする。対応するD−Caseモデルは、モデルインスタンス500−04となる。2人のステークホルダ500−01および500−02が合意している場合の合意グラフが"e"に例示される。
図6は、本実施の形態の合意グラフ演算におけるグラフ構造化ログを説明するための図である。一連のログデータ600−01は、ログモデル600−02に基づいて処理されることにより、データベース層200−04にはグラフ600−03の構造で記録される。ログデータ600−01は、一般に全く構造を持たない非構造データ、または、一部構造が定義されているか容易に推測可能であるような半構造データとして記録されている。ログモデル600−02では、マシン名には対応するマシンノードを、アプリケーション名には対応するアプリノードを、プロセス名には対応するプロセスノードを、ログデータには対応するデータノードをそれぞれ生成し、対応する情報を記録する。ログモデル600−02では、記号「*」は矢印元のインスタンス1つに対して矢印先のインスタンスが複数存在可能であることを示している。グラフ構造化ログにより、グラフ600−03の構造を持ったログデータがデータベース層200−04に記録される。
<合意形成過程>
次に、本実施の形態に係る合意形成支援ツール200−05を軸にして、本実施の形態におけるディペンダビリティ維持リポジトリシステム200−01を利用したステークホルダ間での合意形成過程を説明する。合意形成支援ツール200−05は、DEOSプロセスにおける合意形成プロセス100−03で利用されることを想定している。ここではトゥールミンの議論モデルを採用するが、他の手法を用いてもよい。例えば、OMG(Object Management Group)の規定するSACM(http://www.omg.org/spec/SACM)を用いてもよく、また、両者を組み合わせてもよい。
図7は、トゥールミンの提案する議論モデルの一例を示す図である。議論に当たって発言者は自らの発言内容が、図示される構造を持つように発言する。議論の結論である主張(Claim)700−01と、それを裏付けるデータ(Data)700−03、そして、主張に対するデータの根拠(Warrant)700−04を考える。根拠にはその根拠の正しさを示すための裏付け(Backing)700−05が必要である。また、主張である結論が完全ではない場合もあるため、限定(Qualifier)700−02することができる。議論ではこの主張が当てはまらないことを主張する論駁(Rebuttal)700−06も考える。実際にはこの構造が複合的に複数の発言者に関連し複数存在し、議論を構成する。このモデルが上述のトゥールミンモデル200−10としてそのインスタンスがデータベース層200−04に記録される。
図8乃至図12を用いて本実施の形態に係る各モデルのUMLクラス図について説明する。なお、本実施の形態では、UMLクラス図を一実施例として示し、これらには限定しない。ここで、UMLクラス図に関して略説する。2段に分かれた四角はクラスを表し、上段がクラス名で下段が属性名である。四角から四角の実線は参照であり、矢印上の名称は属性名である。実線の先に「0..n」とあるのは多重度であり、先のインスタンス数が0かnであることを示している。先端が白抜きの点線矢印は、スーパークラスとサブクラスの関係を示している。
図8は、本実施の形態に係る合意形成モデル200−09に関するUML記述例を示す図である。モデルインスタンスとして合意形成コンテキスト(ConsensusBuildingContext)800−01と、記述(Description)800−02とを定義している。このモデルインスタンスがデータベース層200−04にノードとして記録される。
図9は、本実施の形態に係るトゥールミンモデル200−10に関するUML記述例である。モデルインスタンスとして主張(Claim)810−01と、記述(Description)800−02とを定義している。このモデルインスタンスがデータベース層200−04にノードとして記録される。
図10は、本実施の形態に係る会議モデル200−12に関するUML記述例である。モデルインスタンスとして会議(Meeting)820−01と、議題(TopicContent)820−02と、合意形成コンテキスト(ConsensusBuildingContext)800−01とを定義している。このモデルインスタンスがデータベース層200−04にノードとして記録される。
図11は、本実施の形態に係る組織モデル200−11に関するUML記述例である。モデルインスタンスとして人(Person)830−01を定義している。このモデルインスタンスがデータベース層200−04にノードとして記録される。
図12は、本実施の形態に係る基本データモデル200−13のUML記述例である。モデルインスタンスとしてファイル(File)840−01と、外部参照(ExternalReference)840−02と、内部参照(InernalReference)840−03とを定義し、それらは抽象クラス(AttachmentContent)840−04から導出されている。また、記述(Description)800−02が定義されている。このモデルインスタンス群はデータベース層200−04にノードとして記録される。
図13は、本実施の形態における合意形成に係るモデルの全体像を示す図である。まず、合意形成の場として「合意形成コンテキスト」を定義する。複数の「参加者」と複数の「記述」が「発言」として「合意形成コンテキスト」に関連付けられる。一方、ここでは会議の形態で合意を形成する場合を想定する。「会議」モデルが定義され、複数の参加者と「議題」が関連付けられる。複数の「議題」は「議論内容」として「合意形成コンテキスト」と関連付けられる。上述の議論モデルにしたがって、「記述」は「主張」と関連付けられ、「記述」間には「言及」の関係が存在する。「主張」間には「支持」と「反論」の関係が存在する。「記述」も「主張」も「差替」することで置き換えることができる。また、「記述」や「主張」は、「添付」として「内部参照」、「外部参照」または「ファイル」を参照することができる。「記述」間の関係には「同意表明」があり、そのステータスとして「同意」、「不同意」または「棄権」を定義する。合意形成支援ツール200−05は、合意形成の過程を、トゥールミンの提案する議論モデルに従って、必要な関連情報とともにデータベース層200−04に記録していく。
図14は、本実施の形態における議論の対象の設定について説明するための図である。モデル層200−03のD−Caseモデル200−08は、D−Case記述様式(例えば、非特許文献3参照)である木構造を頂点およびエッジとした合意グラフとして記録している。合意記述支援ツール200−05では、D−Case記述に対してどの部分を議論の対象にするか、自由に設定することができる。
例えば、D−Caseストラテジノードを対象に議論を展開してもよい。この場合、合意ノードとしてはD−Caseストラテジノード、記述ノード、および、主張ノードがリンクする。また、一部のサブゴールを対象に議論を展開してもよく、また、複数のD−Case間の関係に関して議論を展開してもよい。D−Case_1(900−01)におけるStrategy900−04に関する議論は、主張ノード900−05と記述ノード900−06として記録される。これに対して、D−Case_2(900−02)を反論として主張する場合、主張ノード900−07と記述ノード900−08に関連付けられたD−Case_2(900−02)のノード群が、主張ノード900−05に反論900−03の属性をもってリンクしている状態として記録される。反論900−03は、図9における反論リンク810−02である。
また、議論分解パターンを合意形成支援ツール200−05に応用することで、対象の複数のD−Caseを効率的に扱うことができる。この議論分解パターンは、D−Caseストラテジによるサブゴールへの分解の際の方針を、システム分解、機能分解、属性分解、完全分解、単調分解、具体分解というパターンに分けて整理するものである(非特許文献3参照)。例えば、システムを構成するサブシステム毎にゴールが成立することを議論していくパターンであるシステム分解パターンは、サブシステム毎のD−Caseを扱うため、関係する合意グラフもサブシステム毎に合意を構成することが可能である。
さらに、D−Caseエビデンスノード900−09に対して関係するドキュメント900−12を関連付ければ、ゴール_2(900−13)を成立させるエビデンスとなる。なお、ドキュメント900−12は、外部参照ノード経由で、例えばドキュメントDB200−16に格納されたドキュメントとして図示されている。また、D−Caseモニタノード900−10に関係するスクリプト900−11を関連付ければ、ゴール_1(900−14)を成立させるモニタノードとなる。なお、スクリプト900−11は、外部参照ノード経由で例えばドキュメントDB200−16に格納されたスクリプトとして図示されている。ここでも、それらのドキュメントが用いられた理由および根拠は、議論の過程としてデータベース層200−04に記録される。
D−Caseは、ある時点での対象システムのディペンダビリティに係るステークホルダ間の合意を表しており、合意された時点での議論の結果として静的である。一方、本実施の形態に係るオープンシステムにおいては、合意は環境の変化によって修正が余儀なくされる。すなわち、D−Caseはシステムの運用状態では静的ではあり得ない。通常運用状態100−07からの逸脱が起きれば、D−Caseは迅速に修正されなければいけない。そして、何が議論されたか、および、その経緯も提示できる必要がある。本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01はそれを可能にする機構を提供している。例えば、データベース層200−04に記録されている合意グラフから、該当する会議モデルインスタンスを抽出し、そのリンクを合意グラフ演算400−02の「トレースとトラッキング」機構を用いて辿ることで、過去の会議データを参照することができる。
<契約書作成>
図15は、本実施の形態における契約書作成の概要を示す図である。契約書作成ツール200−06は、ディペンダビリティ維持リポジトリシステム200−01に記録されている情報から対象システム210−01に関する必要な契約書を作成する機構を提供する。例えば、SLA(Service Level Agreement)は、サービスの提供者と受領者の間でサービスの内容、サービスレベルに関する目標、提供者と受領者の責任範囲などに関する合意である。ディペンダビリティ維持リポジトリシステム200−01はこのSLAのための情報ソースが記録されている。
データベース層200−04に記録されている合意グラフの一部を例示したものが合意グラフ1000−01であるとする。一方、SLAはSLAモデル1000−06を定義できる。契約書作成ツール200−06は、SLAモデル1000−06に従って、合意グラフ1000−01の中で合意ノード1000−04および1000−05から辿れるノードに関連付けられたドキュメント1000−02および1000−08を抽出し、契約書1000−07を生成する。
<モニタリング>
モニタノードツール200−07は、D−Caseモニタノード(非特許文献3参照)と関連し、対象システム210−01をモニタリングするために必要な機構を備える。例えば、「対象システム210−01において何を何時モニタリングすることが効果的か」という情報は、類似のシステムに関するモニタリングを設計する際には有用な情報である。また、「モニタリングが仕様書通りに実行されているか」、そして「それはステークホルダ間で合意されたサービスレベルを満たしているか」ということをリアルタイムに提示するために、モニタノードツール200−07は必要な機構を備える。この機構には特許文献1の手段を利用してもよく、また、他の手段を利用してもよい。
また、モニタノードツール200−07は、モデルインスタンスにおけるスクリプト900−11を実行環境上にデプロイし、対象システムが通常運用状態100−07にあることをリアルタイムに把握できるようにする。なお、図14では、スクリプト900−11は、外部参照ノード経由で、例えばドキュメントDB200−16に格納されたスクリプトとして図示されている。また、実行環境としては、例えば、特許文献1におけるランタイムコンピュータを想定することができる。
さらに、モニタノードツール200−07は、その対象を、対象システム210−01をモニタリングするだけではなく、対象システムの利用環境(組織運営)に拡張してもよい。その場合、組織運営の通常の状態がステークホルダ間で合意され、上述のように合意グラフに記録される。そして、その逸脱により、異常事態に陥る前に回避するか、異常事態に陥っても速やかに復旧させることができる。
図16は、本実施の形態に係るモニタノードツール200−07と合意グラフとの関係を示す図である。合意グラフ1100−01にはD−Caseモデルインスタンス1100−02とログモデルインスタンス1100−07とが存在している。ここで、ログモデルインスタンス1100−07は、ログモデル600−02のインスタンスである。
モニタノードツール200−07は、D−Caseモデルインスタンス1100−02内のモニタリングノード1100−03および1100−04にリンクされたD−Script1100−05および1100−06を抽出する。モニタリングノード1100−03の状態は、D−Script1100−05を対象システム210−01にデプロイし、実行することにより入手される。モニタリングノード1100−04の状態は、D−Script1100−06をログモデルインスタンス1100−07に対して適応することにより入手される。モニタノードツール200−07は、D−Caseインスタンス1100−02内のモニタリングノード1100−03および1100−04の状態によって、ゴール1100−08の状態を決定し、必要に応じてさらなるアクションを起動する。
図17は、本実施の形態に係るモデル監視とルールとの関係を示す図である。この図において、本実施の形態に係る基本ツール層200−02におけるツール群が扱うモデル群の管理に関して説明する。合意形成支援ツール200−05、契約書生成ツール200−06およびモニタノードツール200−07は、モデルDB1200−02を利用してモデルインスタンスとしての合意グラフ1200−01にアクセスする。モデルDB1200−02には、モデル層200−03に存在するモデルが記録されている。モデルDB1200−02は、データベース層200−04のドキュメントDB200−16にその実体は存在する。ただし、モデル間の関係に関してはグラフDB200−14にその実体が存在する。
モデル層200−03に存在する複数のモデル群におけるモデル間の関係はルールによって記述される。例えば、「1仕様書は複数の設計書と関連を有する」というルールに対して、その仕様書が作成されたものの関連する設計書が存在しない場合には、ルール違反として何らかのアクションが必要となる。また、一例として、「このD−Caseモニタノードはこれらのログ検証結果と関連する」というルールに対して、そのD−Caseモニタノードに対応するログ検証結果が存在しない場合、ルール違反となり必要なアクションが起動される。なお、このルールはD−Scriptで記述してもよい。
また、このルールには、作成時限に関するルールを記述してもよい。一例として、「この機能はこの時点までに作成する必要がある」というルールがあった場合、その機能がその時点までに作成されてない場合には、ルール違反となり必要なアクションが起動される。さらに、そのルールにはモデルが持つ値をチェックするルールがあってもよい。モデル間の整合性のチェックに利用される。これらルール群はモデルを前提に作成される。
ルール群は、ルールDB1200−04に記録される。ルールDB1200−04は、データベース層200−04のドキュメントDB200−16にその実体は存在する。モデル監視1200−03は、モデルDB1200−02へのモデルの追加、更新、削除などのイベントを監視し、そのイベント群が発生した場合にはモデルとルールの組をモデル/ルール処理1200−05に送り、そのルールを実行する。ルール判定結果は、ルール判定結果DB1200−06に記録される。ルール判定結果DB1200−06は、データベース層200−04のドキュメントDB200−16にその実体が存在する。モデル/ルール処理1200−05は、処理過程において必要に応じてルール判定結果DB1200−06から関係する結果を取得してもよい。判定結果監視1200−07は、ルール判定結果DB1200−06を監視し、判定結果をツール層200−02のツール群に通知する。モデル監視1200−03、モデル/ルール処理1200−05、判定結果監視1200−07は、モニタノードツール200−07が管理し、モデル層200−03で実行される。
<システム実装例>
図18は、本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01の実装構成例を示す図である。合意形成支援ツール200−05は、WEBアプリケーションとして構成することができる。基本ツール層200−02には、合意形成支援ツール200−05が存在する(1300−01)。モデル層200−03には、会議モデル200−12(1300−02)と、トゥールミンモデル200−10(1300−03)と、合意形成モデル200−09(1300−04)と、基本データモデル200−13(1300−05)と、組織モデル200−11(1300−06)とが存在する。上位層は、下位層のモデルを利用しながら合意形成支援ツール1300−01に必要な機能を提供する。
この実装例では、合意形成モデル1300−04には、合意すべき「対象」とステークホルダとの間の関係を定義する「場」と、そこでの「同意ステータス」をモデルとして定義した。なお、合意すべき「対象」としては、ドキュメント、プログラム、スクリプトなどの、ステークホルダ間で合意すべき全ての成果物(outcome)が想定される。
トゥールミンモデル1300−03には、上述の図7のモデルに従って主張、論駁、支持の関係、および、必要なアクションをエッジとして定義した。
会議モデル1300−02には、議題間の関係、および、参加者を定義した。各議論には議事進行、議論の対象、対象に対する主張、主張を支持する主張、主張に反論する主張、主張に対する発言の連鎖、対象に対する同意表明を含むようにした。この会議モデルは、アプリケーションに関するモデルであり、下位層のモデルに依存している。なお、これらのモデルは別のモデルであってもよく、置き換え可能である。
(汎用基本)データモデル1300−05には、記述、発言関係、ファイル、参照、差替などを定義した。組織モデル1300−06は、リソースと組織との関係を表現するが、この実装例では人に関するモデルのみを定義した。これらの層に必要なユーティリティ群は、共通フレームワーク1300−07により提供され、合意グラフはグラフフレームワーク1300−08によりグラフデータベースに記録される。この実装例では、グラフフレームワーク1300−08としてオープンソースのTinkerPop(http://tinkerpop.com)を採用し、グラフデータベース1300−10としてはオープンソースのNeo4j(http://neo4j.org)を採用した。また、アプリケーションサーバ1300−09にはPlay!フレームワーク(http://www.playframework.org)を採用した。Play!フレームワークは、プラグインの仕組み(モジュール)を備えているため、モデル群およびグラフデータベースとの接続部をPlay!フレームワークのモジュールとして実装し、合意形成支援ツール1300−01は、Play!アプリケーションとして実装した。したがって、図18ではPlay!フレームワークまでをモデル層とした。
図19は、本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01の実装例における表示例を示す図である。ここでは、ある会議における議論に関する合意グラフをグラフ表示している。この表示例では、ノードにカーソルを合わせた際に記載内容がポップアップする様子が示されている。
<全体構成>
図20は、本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01における機能構成例を示す図である。この機能構成例では、合意グラフ2000−01に対して、合意形成支援ツール200−05と、モニタノードツール200−07と、契約書生成ツール200−06とがアクセスするように構成されている。
合意形成支援ツール200−05は、対象システムの通常の運用状態に関する議論を通じて合意形成を行うための支援を行う。合意形成支援ツール200−05の対象となるのは、議論およびその議論に必要な合意文書(ドキュメント)2000−03である。計算機システムのソフトウエア開発プロセスにおいて合意形成支援ツール200−05が使用される場合には、合意文書2000−03としてプログラムコードが想定される。ただし、合意形成支援ツール200−05は計算機システム以外にも適用可能であり、会社の会議、株主総会、学校の生徒会などにも適用することができる。
そして、合意形成支援ツール200−05は、合意対象モデル2000−02のモデルインスタンスを表現したグラフとして合意グラフ2000−01を生成する。この合意グラフ2000−01は、合意形成の過程において得られた履歴である。この合意グラフ2000−01は、データベース層200−04に記憶される。
モニタノードツール200−07は、対象システムの実際の運用状態と合意グラフ2000−01とから対象システムにおける通常の運用状態からの逸脱を検出する。対象システムの実際の運用状態は、モニタ対象モデル2000−04として表されている。モニタノードツール200−07が対象とするのは、サーバや組込みシステムなどの実際のシステムである。このモニタ対象モデル2000−04において使用されるスクリプトとしてモニタスクリプト2000−05が示されている。
契約書生成ツール200−06は、合意グラフ2000−01に基づいて、合意形成に関する情報データの一つとして契約書モデル2000−06を抽出する。この契約書モデル2000−06に従って契約書2000−07が生成される。ここでは、合意形成に関する情報データの一つとして契約書を生成する例を示したが、他の情報データを生成するようにしてもよい。この契約書生成ツール200−06は、例えば、対象システムにおける通常の運用状態からの逸脱がモニタノードツール200−07によって検出された際に、これを契機として情報データを生成する。
図21は、本実施の形態に係るディペンダビリティ維持リポジトリシステム200−01における処理手順例を示す流れ図である。
対象システムの通常の運用状態に関する議論を通じて合意形成が行われる(ステップS11)。この合意形成において合意形成支援ツール200−05が用いられる。この合意形成の過程において得られた履歴は合意グラフとしてデータベース層200−04に記憶される(ステップS12)。
対象システムの実際の運用状態は常に監視される。モニタノードツール200−07は、対象システムの実際の運用状態と合意グラフとを参照することにより、対象システムにおける通常の運用状態からの逸脱が生じていないかを監視する。そして、通常の運用状態からの逸脱が検出されると(ステップS13:Yes)、合意グラフから合意形成に関する情報データが抽出される(ステップS14)。合意形成に関する情報データとしては、例えば、上述の契約書が想定される。
このように、本発明の実施の形態によれば、対象システムの通常の運用状態に関する議論を通じた合意形成の過程において得られた履歴を合意グラフとして記憶し、この合意グラフに基づいて対象システムの運用状態を監視するとともに、合意形成に関する情報データを抽出することができる。
なお、上述の実施の形態は本発明を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
100−01 変化対応サイクル
100−02 障害対応サイクル
200−01 ディペンダビリティ維持リポジトリシステム
200−02 基本ツール層
200−03 モデル層
200−04 データベース層
200−05 合意形成支援ツール
200−06 契約書生成ツール
200−07 モニタノードツール

Claims (5)

  1. 対象システムの通常の運用状態に関する議論を通じて合意形成を行うための支援を行う合意形成部と、
    前記合意形成の過程において得られた履歴を合意グラフとして記憶する合意グラフ記憶部と、
    前記対象システムの実際の運用状態と前記合意グラフとから前記対象システムにおける前記通常の運用状態からの逸脱を検出する検出部と、
    前記対象システムにおいて前記逸脱が検出された際に前記合意グラフから前記合意形成に関する情報データを抽出する抽出部と
    を具備するデータベースシステム。
  2. 前記合意形成部は、前記対象システムを定義する複数のモデルを基底として前記合意グラフを生成し、
    前記複数のモデルの各々は、前記対象システムに関する言葉の意味を一義的に定義し、前記対象システムに関する操作の効果を一義的に定義し、前記対象システムに関するデータの論理的定義と物理的定義とを一義的に関係付ける
    請求項1記載のデータベースシステム。
  3. 前記対象システムのライフサイクルを構成する複数の段階における複数のステークホルダの活動を通じて生成される前記対象システムに関する文書を前記合意グラフと関連付けて記憶する文書記憶部
    をさらに具備する請求項1記載のデータベースシステム。
  4. 前記合意グラフは、前記対象システムの目的または環境の変化に対して前記対象システムを継続的に変更していくための変化対応サイクル、および、前記対象システムにおける障害に対応するための障害対応サイクルの両サイクルにおいてアクセスされる
    請求項1記載のデータベースシステム。
  5. 対象システムの通常の運用状態に関する議論を通じて合意形成を行うための支援を行う合意形成手順と、
    前記合意形成の過程において得られた履歴を合意グラフとして記憶する合意グラフ記憶手順と、
    前記対象システムの実際の運用状態と前記合意グラフとから前記対象システムにおける前記通常の運用状態からの逸脱を検出する検出手順と、
    前記対象システムにおいて前記逸脱が検出された際に前記合意グラフから前記合意形成に関する情報データを抽出する抽出手順と
    を具備するデータベースシステムの制御方法。
JP2013509756A 2012-11-13 2012-11-13 データベースシステムおよびその制御方法 Expired - Fee Related JP5346141B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/079353 WO2014076751A1 (ja) 2012-11-13 2012-11-13 データベースシステムおよびその制御方法

Publications (2)

Publication Number Publication Date
JP5346141B1 true JP5346141B1 (ja) 2013-11-20
JPWO2014076751A1 JPWO2014076751A1 (ja) 2016-09-08

Family

ID=49764884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013509756A Expired - Fee Related JP5346141B1 (ja) 2012-11-13 2012-11-13 データベースシステムおよびその制御方法

Country Status (4)

Country Link
US (1) US9117014B2 (ja)
EP (1) EP2763030A4 (ja)
JP (1) JP5346141B1 (ja)
WO (1) WO2014076751A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086853A (ja) * 2018-11-22 2020-06-04 富士ゼロックス株式会社 情報処理システム、プログラムおよび情報処理方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195674B1 (en) * 2014-09-24 2015-11-24 Logzilla Corporation Systems and methods for large-scale system log analysis, deduplication and management
WO2016132730A1 (ja) * 2015-02-16 2016-08-25 日本電気株式会社 設計支援装置、設計支援システム、設計支援方法およびプログラム記憶媒体
WO2017145063A1 (en) * 2016-02-22 2017-08-31 Tata Consultancy Services Limited Method and system for contract management in a data marketplace
CN110389874B (zh) * 2018-04-20 2021-01-19 比亚迪股份有限公司 日志文件异常检测方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012073686A1 (ja) * 2010-11-30 2012-06-07 独立行政法人科学技術振興機構 ディペンダビリティ維持装置、ディペンダビリティ維持システム、障害対応システム、ディペンダビリティ維持装置の制御方法、制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
JP2012113614A (ja) * 2010-11-26 2012-06-14 Fuji Xerox Co Ltd 要件構造表示装置及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698402B2 (en) * 2004-06-30 2010-04-13 Hewlett-Packard Development Company, L.P. Method and apparatus for enhanced design of multi-tier systems
US9152485B2 (en) * 2012-12-05 2015-10-06 International Business Machines Corporation Evaluating service degradation risk for a service provided by data processing resources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012113614A (ja) * 2010-11-26 2012-06-14 Fuji Xerox Co Ltd 要件構造表示装置及びプログラム
WO2012073686A1 (ja) * 2010-11-30 2012-06-07 独立行政法人科学技術振興機構 ディペンダビリティ維持装置、ディペンダビリティ維持システム、障害対応システム、ディペンダビリティ維持装置の制御方法、制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND201200059013; 山本修一郎: '連載 要求工学:第89回 保証ケースのためのリスク分析手法' BUSINESS COMMUNICATION 第49巻,第3号(通巻577号), 20120301, pp.53〜57, 株式会社ビジネスコミュニケーション社 *
JPN6013038272; 山本修一郎: '連載 要求工学:第89回 保証ケースのためのリスク分析手法' BUSINESS COMMUNICATION 第49巻,第3号(通巻577号), 20120301, pp.53〜57, 株式会社ビジネスコミュニケーション社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086853A (ja) * 2018-11-22 2020-06-04 富士ゼロックス株式会社 情報処理システム、プログラムおよび情報処理方法
JP7247544B2 (ja) 2018-11-22 2023-03-29 富士フイルムビジネスイノベーション株式会社 情報処理システム

Also Published As

Publication number Publication date
JPWO2014076751A1 (ja) 2016-09-08
US9117014B2 (en) 2015-08-25
US20140208168A1 (en) 2014-07-24
EP2763030A4 (en) 2015-07-15
WO2014076751A1 (ja) 2014-05-22
EP2763030A1 (en) 2014-08-06

Similar Documents

Publication Publication Date Title
Maggi et al. Monitoring business constraints with linear temporal logic: An approach based on colored automata
Bernardi et al. Model-driven dependability assessment of software systems
Tjoa et al. A formal approach enabling risk-aware business process modeling and simulation
CN111034124B (zh) 用于自动认证虚拟网络功能vnf的系统、方法和存储介质
Franke et al. An architecture framework for enterprise IT service availability analysis
JP5346141B1 (ja) データベースシステムおよびその制御方法
Fan et al. Petri net based techniques for constructing reliable service composition
US9400637B1 (en) Solution modeling and analysis toolset for enterprise software architecture
US9189203B1 (en) Solution modeling and analysis toolset for enterprise software architecture and architecture roadmaps
Kravets et al. The risk management model of design department’s PDM information system
Paradkar Mastering non-functional requirements
Bernardi et al. Dependability analysis techniques
US10176011B2 (en) Automatically generating and executing a service operation implementation for executing a task
Elderhalli et al. Formal dynamic fault trees analysis using an integration of theorem proving and model checking
Milanovic Models, methods and tools for availability assessment of it-services and business processes
Panda et al. Test scenario prioritization for object-oriented systems using UML diagram
Kotha et al. Formal methods for enterprise application integration
Zhou et al. Study in usefulness of middleware-only provenance
Mahali et al. Test case prioritization using association rule mining and business criticality test value
Varela-Vaca et al. Towards dependable business processes with fault-tolerance approach
Mirakhorli Preserving the quality of architectural tactics in source code
US20110251867A1 (en) Method and system for integrated operations and service support
US20230229940A1 (en) Ai ethics data stores and scoring mechanisms
Pataricza et al. Verification and validation of Nonfunctional aspects in Enterprise modeling
Alfred Quantifying Change Risk in Cloud Computing Environments

Legal Events

Date Code Title Description
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: 20130806

R150 Certificate of patent or registration of utility model

Ref document number: 5346141

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees