JP7303135B2 - 計算機システム及びアプリケーション管理方法 - Google Patents

計算機システム及びアプリケーション管理方法 Download PDF

Info

Publication number
JP7303135B2
JP7303135B2 JP2020012356A JP2020012356A JP7303135B2 JP 7303135 B2 JP7303135 B2 JP 7303135B2 JP 2020012356 A JP2020012356 A JP 2020012356A JP 2020012356 A JP2020012356 A JP 2020012356A JP 7303135 B2 JP7303135 B2 JP 7303135B2
Authority
JP
Japan
Prior art keywords
data
output data
policy
application
server
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.)
Active
Application number
JP2020012356A
Other languages
English (en)
Other versions
JP2021117873A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020012356A priority Critical patent/JP7303135B2/ja
Publication of JP2021117873A publication Critical patent/JP2021117873A/ja
Application granted granted Critical
Publication of JP7303135B2 publication Critical patent/JP7303135B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、複数の拠点間でデータの授受を行う計算機システムに関する。
IoT(Internet of Things)システムの普及に伴い、ネットワークに接続されるパーソナルコンピュータや、セル電話、スマートフォン、携帯情報端末等のエッジデバイスが急増している。これらのデバイスは夫々ネットワークを介してクラウドシステム等と通信可能に接続される。IoTシステムは、これらのデバイスからデータを収集、分析、可視化するデータ処理を介して、既存作業の高効率化、高精度化などの新規サービスの創出につなげる働きを有する。
複数の国や地域などに存在する工場の機器で、作業管理を行って製品の生産を効率化するサービスや、顧客個人のデバイスから身体の測定データを収集し、分析結果を提供するヘルスケアサービスなど、グローバルにIoTシステムを応用する方法がグローバル企業で検討又は実装されている。
一方、近年では、データの流通に関して地域や国などが法令などにより制限を設ける例が増大しつつある。例えば、欧州のGDPR(General Data Protection Regulation)や中国のサイバーセキュリティ法などが知られている。
これらの制限は、個人情報の保護や犯罪行為の抑止などが目的で、データの保護に加えて、データの種類によっては国外などへの送信を禁止する規定が知られている。今後、様々な国や地域で、データの流通に関する制限が設定されることが想定されるが、制限されるデータの種類については、明瞭な定義が難しく、地域や国によって一様ではない。
データの流通に関する制限に準拠した領域外へのデータ送信を行う方法の一例として特許文献1が知られている。
特許文献1では、健康データを匿名化し、分析のために地理的領域を横断して健康データを修正及び編集するシステム及び方法が開示されている。この方法では、第1領域において患者のプライバシ情報を含む患者特有の健康データを受け取り、患者特有の健康データから患者のプライバシ情報を除去して匿名健康データを生成し、患者プライバシ情報を第1領域に格納し、匿名健康データを第2領域に分析のために伝えることを包含する。
特表2019-525364号公報
上記特許文献1では、第1領域において患者健康データに含まれる患者プライバシ情報を除去してから分析のために第2領域に伝える必要があり、プライバシ情報を用いた詳細な分析をすることができないという問題があった。
また、特許文献1に記載のシステムは、実際にデータを領域外に出力する場合に機能するシステムであり、患者の健康データに患者プライバシ情報を推測可能なデータが含まれているかなどを出力前に確認することは含まれていない。つまり、第1領域において患者プライバシ情報の分別や匿名化方法にミスがあった場合、患者プライバシ情報が第2領域に流出する恐れが依然として残っている。
加えて、上記データ流通に関する制限、特にプライバシ情報流通に関する制限に準拠したグローバルなIoTシステムやアプリケーションを開発するために、それらシステムやアプリケーションの設計段階から、使用されるプライバシ情報の種類と目的、保存場所を列挙して情報漏洩リスクを評価する必要があり、GDPR第35条にも明記されている。
しかしながら、上記の情報漏洩リスクの評価には多大な労力が必要となるうえ、データ流通に関する制限が変更されたり、システムやアプリケーションに入力されるデータに変更が加えられた場合、再び人手でチェックが必要になるという問題があった。
本発明は、上記問題点に鑑みてなされたもので、複数の領域に展開するアプリケーションがある領域から別の領域へデータを送信する場合、データ受渡しポリシーに則ったデータ送信が行われていることの確認を容易にすることを目的とする。
本発明は、プロセッサとメモリを含んで生成されたアプリケーションを管理する開発サーバと、プロセッサとメモリを含んで前記開発サーバから配布された前記アプリケーションを実行する実行サーバと、前記開発サーバと複数の前記実行サーバを接続するネットワークと、を有して、前記複数の実行サーバがそれぞれ所属する複数の領域間でデータに所定の処理を実行する計算機システムであって、前記開発サーバは、前記アプリケーションの処理結果の出力データを前記領域の外部へ送信する際に必要な出力データに対する加工内容を予め設定したデータ受渡しポリシーと、前記アプリケーションに出力データを生成させるシミュレーションを実施するアプリケーションシミュレータと、前記生成された前記出力データが前記データ受渡しポリシーに違反しているか否かを判定する第1のポリシー準拠確認部と、を有する。
本発明によれば、アプリケーションが複数の領域間でデータ受渡しを行う場合、それらがデータ受渡しポリシーに従っていることの確認を効率よく行うことができ、アプリケーションの秘匿情報漏洩リスクの評価にかかる労力を減らす効果がある。
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
本発明の実施例を示し、複数の領域にまたがるアプリケーションを開発及び実行する計算機システムの一例を示す概略図である。 本発明の実施例を示し、アプリケーションの生成から実行までの処理の一例を示す図である。 本発明の実施例を示し、アプリケーションの具体例を示す図である。 本発明の実施例を示し、情報処理装置の構成の一例を示す図である。 本発明の実施例を示し、アプリケーション開発サーバの主な機能を説明する図である。 本発明の実施例を示し、アプリケーション実行サーバの主な機能を説明する図である。 本発明の実施例を示し、データベースの構成の一例を示す図である。 本発明の実施例を示し、アプリケーションのデプロイの一例を示すシーケンス図である。 本発明の実施例を示し、アプリケーション実行処理のうち、実行一回目の処理の一例を示すシーケンス図である。 本発明の実施例を示し、アプリケーション実行処理のうち変更検知時の処理の一例を示すシーケンス図である。 本発明の実施例を示し、データ受渡しポリシーの記述例を示す図である。 本発明の実施例を示し、データ種類を管理するデータベースの一例を示す図である。 本発明の実施例を示し、出力データ首里分析シミュレーションの手順を説明するフローチャートである。 本発明の実施例を示し、出力データ種類分析シミュレーションの第2の実行手順を説明するフローチャートである。 本発明の実施例を示し、ポリシー準拠確認の手順を説明するフローチャートである。 本発明の実施例を示し、アプリケーション実行処理内のポリシー準拠確認の手順を説明するフローチャートである。
以下、本発明の実施形態を添付図面に基づいて説明する。
以下、実施形態につき図面を参照しつつ説明する。以下の説明において、同一の又は類似する構成に同一の符号を付して重複した説明を省略することがある。また「アプリケーションプログラム」のことを「AP」と表記することがある。また以下の説明において、同種の構成を区別する必要がある場合、構成を総称する符号の後に括弧書きで識別子(数字、アルファベット等)を表記することがある。また、本発明において「秘匿情報」とは領域外にそのまま抽象化や匿名化なしに送信することができないデータを示し、例えば社外秘情報、年齢や名前などの個人データがそれにあたる。
図1は、本実施例で説明する計算機システム1の概略図を示している。図1に示すように、計算機システム1は、AP開発者端末10、AP開発サーバ20、及び複数の領域2-1~2-3の夫々に存在する一つ以上のAP実行サーバ30-1~30-3と、データ管理者端末40-1~40-3を含む。
なお、以下の説明では、AP実行サーバを個々に特定しない場合には、「-」以降を省略した符号「30」を使用する。他の構成要素の符号についても同様である。
図1では領域2が3つの場合を示しているが、領域の数は2つ以上のいくつでもよい。また、AP開発サーバ20や、AP実行サーバ30、データベースサーバ50、AP開発者端末10あるいはデータ管理者端末40等の装置は、いずれも情報処理装置(コンピュータ)を用いて構成され、内部ネットワーク90-1~90-3及びネットワーク3を介して互いに通信可能に接続されている。
領域2-1~2-3は、それぞれ異なるデータ保護に関する制限(法令や規約)を有する国や地域あるいは団体又は法人である。例えば、異なる国に置かれたクラウドシステムや、エッジサーバ、センサデータの収集等が行われる現場(工場、各種作業現場、物流倉庫、オフィス)や、各種設備(エレベータ、自動改札機、各種ゲート、鉄道設備、道路設備、センサ利用の環境計測設備)、移動体(自動車、列車、航空機、ドローン、農業機器等)、農場、データセンタ等である。
内部ネットワーク90及びネットワーク3は、イーサネット(登録商標)やTCP/IP等の所定の通信プロトコルに従った通信を実現する通信基盤(Network Infrastructure)であり、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用線、公衆通信網等である。
AP開発者端末10は、ソフトウェア開発技術者やドメインエキスパート等のユーザに、AP実行サーバ30で実行されるAPの編集及び生成環境(以下、「ソフトウェア開発環境」と称する。)を提供する。ソフトウェア開発環境の態様は必ずしも限定されない。
本実施例では、AP開発者端末10で生成されるAPの一例として、APは各領域2で稼働するデータベースサーバ50に格納されたデータを取得し、四則演算や統計処理などの所定のデータ処理を行って、他の領域2へ処理済みデータを送信することを想定している。
データベースサーバ50は、秘匿情報とそれ以外のデータとを格納している。ただし、APが取り扱うデータは、データベースサーバ50に保存されないデータであってもよいし、直接AP実行サーバ30への入力や計算によって生じたデータであってもよいし、必ずしもAPの内容は上記に限定されない。
図1において、AP開発サーバ20は、予め定められたデータ受渡しポリシーに準拠したAP開発の支援を行う機能を有する。具体的には、AP開発サーバ20はAP開発者端末10で生成されたAPによって他の領域へ送信されるデータが、予め設定されたデータ受渡しポリシーに従っているかを分析する。
そして、AP開発サーバ20は、必要に応じてAP開発者端末10及び各領域2のデータ管理者端末40-1~40-3と通信を行い、APが実施するデータ送信が全てのデータ受渡しポリシーに準拠するように支援する。加えて、AP開発サーバ20は、生成されたAPの管理(記憶)を行う。
各領域2-1~2-3には一つ以上のAP実行サーバ30が存在する。AP実行サーバ30は、同一又は異なる領域2の他のAP実行サーバ30と連携してAPを実行する機能を有する。
さらにAP実行サーバ30は、APの実行に際し、データ受渡しポリシーや領域2の外部に出力されるデータ(以下、「出力データ」と呼ぶ)の内容や種類に変更がないかということと、出力データにデータ受渡しポリシーに従った処理がなされているかを監視する。
AP実行サーバ30は、監視の結果、データ受渡しポリシーに準拠しない、又はポリシーに記載のない出力データが送信される場合には送信を停止する。そして、AP実行サーバ30は、データ受渡しポリシーに準拠するようAP開発者端末10にデータ処理の追加又は訂正を促したり、あるいは対象のデータ管理に責任を有するデータ管理者端末40にデータ受渡しポリシーの追加を促すメッセージを送信する。
以上のように、データ受渡しポリシーと、データ受渡しポリシーに準拠した他の領域へのデータの送信が行われているか否かを確認し、AP開発者端末10及びデータ管理者端末40に作業要求を送信するAP開発サーバ20とAP実行サーバ30を含む計算機システムにより、APの秘匿情報漏洩リスクの評価にかかる労力を低減できる。
図2は、AP開発者端末10で生成されたAPがAP開発サーバ20に送信され、各領域2のAP実行サーバ30がAPをそれぞれ実行するまでの概略的な流れを示す図である。
図2に示すように、AP開発者端末10により生成されたAP4は、AP開発サーバ20に提供(送信)される。例示するAP4は、後述のように順次実行される複数の処理ブロックで構成される。なお、各処理ブロックは、手続き型プログラミング言語における関数又はメソッドや、関数型言語における関数、に相当する。
処理ブロックは、AP実行サーバ30に既に存在する他のソフトウェア(例えば、API(Application Program Interface)として提供されるソフトウェア)を呼び出して利用するものであってもよい。
処理ブロックは夫々例示した領域2-1(図中領域(1))、領域2-2-1(図中領域(2))、領域2-3(図中領域(3))のいずれかで処理を行うものとし、処理ブロックのいずれかには異なる領域2間のデータ送信又は受信処理を含むものとする。
AP開発サーバ20は、APシミュレータ230で受信したAP4に含まれる全ての「データ送信処理」について出力データ又は出力データの種類などの情報をシミュレーションする。
続いて、ポリシー準拠確認部220が、出力データの情報に基づいて、データ受渡しポリシーに準拠したデータが送信されるかどうかを判定する。ポリシー準拠確認部220は、もしデータ受渡しポリシーに記述がなかったり、受渡しポリシーに準拠しない出力データがあることが確認された場合など、必要に応じて当該データ管理を担当するデータ管理者端末40にデータ受渡しポリシーに準拠しないことを通知する。
すなわち、ポリシー準拠確認部220は、領域2間で送信が禁止されている出力データの情報を通知してデータ受渡しポリシーに追加する作業を要求する。また、ポリシー準拠確認部220は、AP開発者端末10にも同様に当該データ種類を通知してAP4内のデータ処理の変更を要求する。AP開発サーバ20は、上記各要求に対する、作業結果を再び確認する。
なお、出力データの情報は、出力データの種類や、当該出力データに対して遵守すべき規制(法律や規約)等を含むことができる。
以上のようにポリシー準拠確認部220は、AP4内の全ての「データ送信処理」がデータ受渡しポリシーに準拠することを確認した後、ネットワーク3を介して各領域2のAP実行サーバ30にAP4をデプロイする。
この場合、全ての領域2のAP実行サーバ30に同一のAP4をコピーしてもよいし、AP4を分割してそれぞれの領域2で実行される部分だけをそれぞれの領域2のAP実行サーバ30にコピーし、APIなど他のソフトウェアを介して順番に呼び出して実行されるものであってもよい。なお、領域2間のAP4の連携の形態は問わない。
AP実行サーバ30にデプロイされたAP4の処理は、例えば、AP開発者端末10がAP実行サーバ30-1の一つにAP4の実行開始命令を送信することにより開始される。本実施例では、領域2-1のAP実行サーバ30-1に、AP開発者端末10から実行開始命令が送信され、AP実行サーバ30-1がAP4の実行を開始するものとする。
AP実行サーバ30はAP4の実行に際し、ポリシー準拠確認部320で出力データがデータ受渡しポリシーに従った処理がなされているかを監視する。AP実行サーバ30は、監視の結果、データ受渡しポリシーに準拠しない、又はポリシーに記載のない出力データが送信される場合には送信を停止する。そしてAP実行サーバ30は、データ受渡しポリシーに準拠するようAP開発者端末10にデータ処理の追加を促したり、又は対象のデータ管理に責任のあるデータ管理者端末40にデータ受渡しポリシーの追加を促したりするメッセージを送信する。
AP実行サーバ30は、出力データの送信を停止している間、他の処理を止めることができない場合にはデータ受渡しログ311やデータベースサーバ50に出力データを保存しておき、データ受渡しポリシーへの準拠が確認されてデータ送信が再開された場合に出力データを送信してもよい。
また、AP実行サーバ30は、データ受渡しポリシーや出力データ又は出力データの情報に変更があった場合には当該変更を検知し、同様にポリシー準拠確認部320の機能を起動してもよい。
加えて、AP実行サーバ30は、AP4の実行中に、「データ送信処理」が行われる際、他の領域2へ送信される出力データについて種類や出力データの内容、メタデータ、送信先の拠点や送信時刻などの情報をデータ受渡しログ311に記録してもよい。
なお、出力データの送信先が他の領域2であるか否の判定は、例えば、送信先のアドレスや、AP4で使用された関数から、AP実行サーバ30は、宛先を判定して領域2の外部であるか否かを判定することができる。なお、AP4で使用される関数は、各領域2ごとに使用すべき関数が予め設定されているものとする。
図3は、AP4の具体例を示す。例示するAP4は、ある製品メーカ(領域2-1)が有する「部品工場(領域2-3)」において、生産ラインに取り付けたセンサから得た「センサ情報」と、従業員の個人データを含む「秘匿情報」とから統計データを生成する。そして、AP4は、センサ情報と秘匿情報から統計データ(「部品生産統計データ」と呼称する)を生成して、次の工程を行う「部品組立工場(領域2-2)」に送信する。
さらに「部品組立工場」においても同様に、AP4は「センサ情報」と「秘匿情報」、さらに部品工場での部品生産統計データとから新たに統計データを生成し、「製品メーカ生産管理部」に送信する。そして「製品メーカ生産管理部(領域2-1)」のAP4は、受信した統計データから機械学習のモデル(以下「学習モデル」と呼称する)を用いて、生産の指針を算出する。
生産の指針は、例えば、目標の製品生産量を得るための部品作成から部品組立までの全体を通じた最適な生産効率向上の指針と、生産効率を実現するための生産ラインの機器の設定パラメータや従業員の行動を導いたデータである(以下まとめて「生産指針」と呼称する)。AP4は、「部品工場」や「部品組立工場」に、生産指針をフィードバック(以下「FB」と略す)し、生産効率向上の自動化の機能を実現するソフトウェアである。
図3に示すように、領域2-2と2-3のAP実行サーバ30-2と30-3は、それぞれ生産ライン3010-2と3010-3に含まれる生産機器に設置された各種センサから取得したセンサ情報3002-2と3002-3と、生産ラインで働く従業員のID情報や従事日数などの秘匿情報3003-2と3003-3とを管理(記憶)する。
領域2-1のAP実行サーバ30-1は領域2-2及び2-3のAP実行サーバ30-2及び30-3が受信するFBの生成に際して利用する一つ以上の学習モデル3001を管理(記憶)する。
まずAP実行サーバ30-2及び30-3が、それぞれ生産ライン3010-2と3010-3に含まれる生産機器に設置された各種センサから取得したセンサ情報3002-2と3002-3を取得し(S301-2、S301-3)、「センサ情報」3002-2、3002-3や秘匿情報3003-2、3003-3として格納する。
図3ではセンサ情報には従業員の映った監視カメラ画像など、「秘匿情報」も含まれている場合を記述している。従業員のID情報など、「秘匿情報」はセンサから取得した以外のデータを含んでいてもよい。その後、AP実行サーバ30-2、30-3は、秘匿情報の抽象化(S302-2、S302-3)を行う。
また、部品工場である領域2-3のAP実行サーバ30-3は、センサ情報と秘匿情報を合わせて統計処理を行う(S303-3)。
AP実行サーバ30-3は、領域2-3で作成された統計データを部品組立工場である領域2-2のAP実行サーバ30-2に送信する(S304-3)。領域2-2のAP実行サーバ30-2は、ステップS306-2で受信した統計データと領域内で取得したセンサ情報3002-2と秘匿情報3003-2とを用いて統計処理(S303)を行う。
その後、AP実行サーバ30-2は、統計データを製品メーカの生産管理部である領域2-1に送信する(S304-2)。上記ステップS304-2及びS304-3は前述した「データ送信処理」に相当する。
領域2-1のAP実行サーバ30-1は、予め記憶した学習モデル3001を取得して(S320)、ステップS306-1で受信した統計データから生産効率を向上するのに最適な生産指針を導く(S330)。なお、統計データを学習モデルの更新に用いてもよい(S310)。
AP実行サーバ30-1は、導かれた生産指針に応じて領域2-2及び2-3の生産ラインの機器又は従業員に対しパラメータの設定や行動の改善など生産指針のFBを行う(S305-2、S305-3)。
以上のように、秘匿情報を含む出力データを領域2間で異なる複数のAP実行サーバ30で送信する必要があるAP4を想定した場合に、前述した本発明を適用すれば、AP4のデプロイ前に、図2のAP開発サーバ20でAP4内のデータ送信を事前にシミュレートする。
AP開発サーバ20のシミュレーションによって、各領域のデータ送信がデータ受渡しポリシーに準拠しているかを確認してからAP実行サーバ30にAP4をデプロイできる。これにより、データ管理者などは、AP4の秘匿情報の漏洩リスクの評価を効率よく行うことができる。
さらに、本発明の計算機システム1では、AP実行サーバ30がAP4のデプロイ後も「データ送信処理」で送信される出力データがデータ受渡しポリシーに準拠しているかどうかを監視でき、領域2の外部への情報漏洩の防止が可能となる。
図4は、AP開発者端末10、AP開発サーバ20、AP実行サーバ30、データ管理者端末40の実現に用いる情報処理装置100のハードウェアの一例を示す。
図4に示すように情報処理装置100は、プロセッサ101と、主記憶装置102、補助記憶装置103、入力装置104、出力装置105、及び通信装置106を有する。
AP開発者端末10、AP開発サーバ20、AP実行サーバ30、データ管理者端末40は、例えば、クラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)のような仮想的な情報処理資源を用いて実現されるものであってもよい。また例えば、協調して機能する複数の情報処理装置100によって実現されるものであってもよい。また例えば、AP開発者端末10、AP開発サーバ20、AP実行サーバ30、データ管理者端末40のうちの2つ以上を共通の情報処理装置100で実現するようにしてもよい。
プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を用いて構成されている。
主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)(SRAM(Static Random Access Memory)、NVRAM(Non Volatile RAM)、マスクROM(Mask Read Only Memory)、PROM(Programmable ROM)等)、RAM(Random Access Memory)(DRAM(Dynamic Random Access Memory))等である。
補助記憶装置13は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc))等である。補助記憶装置13に格納されているプログラムやデータは、随時、主記憶装置12に読み込まれる。
入力装置104は、ユーザから情報を受け付けるユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。
出力装置105は、情報を出力(表示出力、音声出力、印字出力等)することによりユーザに情報を提供するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、印字装置等である。
通信装置106は、ネットワーク3を介して他の装置と通信する通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。
通信装置106は、通信可能に接続された他の装置から情報を受信する入力装置として機能させることもできる。また通信装置106は、通信可能に接続された他の装置に情報を送信する出力装置として機能させることもできる。
AP開発者端末10、AP開発サーバ20、AP実行サーバ30、データ管理者端末40の機能は、プロセッサ101が、主記憶装置102に格納されているプログラムを読み出して実行することにより実現される。また上記のプログラムは、例えば、記録媒体に記録して配布することができる。
AP開発者端末10、AP開発サーバ20、AP実行サーバ30、データ管理者端末40は、上記の機能に加えて、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の他の機能をさらに含んでいてもよい。
AP開発者端末10、AP開発サーバ20、AP実行サーバ30、データ管理者端末40は、各種の情報(データ)を、例えば、データベースのテーブルやファイルとして記憶する。
本実施例において、AP開発者端末10は、ソフトウェア開発技術者やドメインエキスパート等のユーザによって操作されることを想定している。またAP4を生成するため、VP(Visual Paradigm)ツールやプログラミング言語のエディターなどAP4の開発環境をユーザに提供することが可能である。
本実施例において、データ管理者端末40はそれ自身が所属する各領域2に保存されたデータの管理に責任を有するデータ管理者や、各領域2のデータ送信を制限する規制のエキスパート、例えば弁護士などのユーザによって操作される。
データ管理者端末40は主に、AP4の開発又はAP4の実行プロセスにおいてAP開発サーバ20のポリシー準拠確認部220又はAP実行サーバ30のポリシー準拠確認部320からデータ受渡しポリシーの追加記述要求、又はAP実行中に出力データの種類の確認勧告を受信してユーザに表示する機能を有する。
加えて、データ管理者端末40はユーザが入力した出力データ種類の確認結果やAP4の変更勧告等をAP開発者端末10に送信したり、AP開発サーバ20のポリシー準拠確認部220又はAP実行サーバ30のポリシー準拠確認部320にユーザが入力した出力データ種類確認結果を送信したりする。
図5は、AP開発サーバ20が有する主な機能を示す図である。図5は、図4に示した情報処理装置100でAP開発サーバ20を実現した場合、主記憶装置102に格納されたソフトウェアの一例を示す。
AP開発サーバ20を構成する主記憶装置102は、AP領域210と、ポリシー準拠確認部220と、データ受渡しポリシー5とAPシミュレータ230を格納する。AP領域210は、1以上のAP4とAP管理ログ211を含む。
AP開発サーバ20はAP開発者端末10からAP4を受信し、AP領域210に記憶する。
APシミュレータ230は、記憶されたAP4に対して任意の領域2から出力される出力データの種類などの情報をシミュレートし、リストとして出力する。シミュレーションの結果のリストを、ポリシー準拠確認部220が読み込み、データ受渡しポリシー5と比較して領域2外への出力データがデータ受渡しポリシー5に準拠しているものかどうかを判定し、判定結果に応じてデータ管理者端末40やAP開発者端末10に作業要求を送信する。より詳細なAP4の開発手順については後述する。
AP管理ログ211は、後述するようにAPシミュレータ230でシミュレートされた出力データの種類などの情報(リスト)と、ポリシー準拠確認部220の判定結果及びAP4の内容や作成日などの情報をセットにして管理(記憶)する。後述するようにデータ受渡しポリシー5に変更があった場合、AP開発サーバ20は、過去に作成したAP4の実行可否を判断することにより、AP開発者端末10に送信することが可能になる。
ポリシー準拠確認部220と、APシミュレータ230の各機能部はプログラムとして主記憶装置102にロードされる。
プロセッサ101は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ101は、ポリシー準拠確認プログラムに従って処理を実行することでポリシー準拠確認部220として機能する。他のプログラムについても同様である。さらに、プロセッサ101は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
図6は、AP実行サーバ30が有する主な機能を示す。図6は、図4に示した情報処理装置100でAP実行サーバ30を実現した場合、主記憶装置102に格納されたソフトウェアの一例を示す。
AP実行サーバ30の主記憶装置102は、AP領域310と、ポリシー準拠確認部320と、変更検知部321と、データ受渡しポリシー5と、AP実行部330を有する。AP領域310はデータ受渡しログ311を含む。さらに、ポリシー準拠確認部320、変更検知部321、AP実行部330とデータ受渡しポリシー5を含む。
AP実行サーバ30は、AP開発サーバ20のポリシー準拠確認部220でデータ送信がデータ受渡しポリシー5に準拠することが確認され、デプロイが可能となったAP4をAP開発サーバ20から受信し、AP領域310に記憶する。
変更検知部321は、データ受渡しポリシー5や出力データ、出力データの情報にこれまで使用してきたものから変更があったことを検知し、出力データが領域2の外部に送信されるのを抑止する。
変更検知部321は、送信が停止されている期間、送信できない出力データをデータ受渡しログ311に保存してもよい。この場合、AP開発者端末10にポリシー準拠確認中でデータ送信が停止している旨のメッセージを送信してもよい。
続いて、変更検知部321は、ポリシー準拠確認部320に実行開始命令を送信する。ポリシー準拠確認部320は、データ受渡しポリシー5と出力データの種類などの情報とを比較し、データ受渡しポリシー5に準拠したデータ送信が行われるかどうかを確認する。
変更検知部321は、確認が完了するとデータ受渡しログ311に保存していた領域2の外部に送信されるべき出力データを外部の領域2へ送信する。この場合、データ管理者端末40にデータ送信再開の旨をメッセージ送信してもよい。
AP実行サーバ30におけるAP4の実行に際し、領域2の外部へ送信される出力データのデータ種類や送信先の領域2の名称又はIPアドレス、AP4の名称をデータ受渡しログ311に保存してもよい。これにより秘匿情報の領域間の送信履歴の開示を要求された際など該当出力データの検索が簡単になり、出力データの管理が簡易になる。
加えて、AP実行サーバ30のポリシー準拠確認部320は、AP4の実行が一回目の場合は必ず出力データがデータ受渡しポリシー5に準拠しているかどうかを確認し、確認が取れるまで出力データをデータ受渡しログ311に保存して送信を保留する。
ここで、実行一回目とはAP4のアルゴリズムの一週目とし、例えばAP実行サーバ30でストリーム処理が行われるAP4の場合、AP4間でネットワーク3を構成し、初めてデータ送信が行われる場合を想定している。
以上のように、AP実行サーバ30は、実行一回目のAP4のデータ送信の内容がデータ受渡しポリシー5に準拠していることを確認することにより、シミュレーションではなく実際の出力データで情報漏洩のリスクを評価することが可能になる。
前述したポリシー準拠確認部220及び320はプラガブルであり、AP領域210やAP領域310とは別の情報処理装置100で稼働させてもよい。また、同じ領域2内でなら代用することも可能である。例えば、ある領域2のAP開発サーバ20を構成する情報処理装置100の記憶部の容量が小さいなどの理由でポリシー準拠確認部220を保持することが不可能な場合、内部ネットワーク90を介して同じ領域2内の他のAP実行サーバ30のポリシー準拠確認部320を代用することも可能である。あるいは、その逆でポリシー準拠確認部320の代わりにAP開発サーバ20のポリシー準拠確認部220を使用することもできる。
図7は、データベースサーバ50の機能の一例を示す。図7ではデータベースサーバ50が、秘匿データベース501と、オープンデータベース502と、中間データベース503と、分類データベース504を提供する例を示す。
秘匿データベース501は、匿名化や抽象化を適用せずに領域2の外部へ送信することが禁止されている秘匿情報を管理(保存)する。
オープンデータベース502は、そのまま加工することなく領域2の外部へ送信可能なデータを管理(保存)する。
中間データベース503は、AP4における処理内容や、AP4の処理中に組み合わせるデータによっては秘匿情報として扱う必要が生じるデータを管理(保存)する。
分類データベース504は、AP4が利用する秘匿データベース501、オープンデータベース502、中間データベース503のデータ種類を分類するために、予め設定されたデータベースである。
なお、各領域2のデータベースサーバ50は、各領域2に固有のデータを格納することができる。また、新たに格納するデータをいずれのデータベースに格納するかについては、各領域2でデータ管理者端末40を操作するデータ管理者が決定することができる。
以上のようにデータベースサーバ50は、秘匿データベース501と、オープンデータベース502と、中間データベース503を分割して管理することで、例えば、アクセス権を分割された各データベースごとに設定して、データにアクセス可能なユーザを限定したり、秘匿情報の消去を要求された際など該当データの検索が簡単になり、管理しやすくなる。
また、AP4が出力データを送信する際に出力データの情報として、出力データが格納されていたデータベースサーバ50の種類をメタデータとして付与してもよく、AP4はこのデータベースの種類によって、データ受渡しポリシー5に記述されるデータ加工方法を決定してもよい。
図8は、AP4のデプロイ処理の一例を示すシーケンス図である。AP開発者端末10で生成されたAP4がAP開発サーバ20に送信され、出力データがデータ受渡しポリシー5に準拠していることが確認された後にAP実行サーバ30にAP4が登録(記憶)される際に行われる処理(以下、APデプロイシーケンスS1200と称する)を説明する。
まず、AP開発者端末10は、AP開発サーバ20にAP4を送信し、AP開発サーバ20は、AP開発者端末10から送られてきたAP4を受信して管理(記憶)する(S1201)。
その後、AP開発サーバのAPシミュレータ221に、AP4が送信される(S1202)。APシミュレータ221は、受信したAP4について出力データ種類分析シミュレーション(S1220)を行い、AP4で行われる領域2間で送信されるデータの種類を全てリストアップする(得られるリストは「出力データ種類リスト」と呼称)。出力データ種類分析の詳細なフローについては後述する。得られた出力データ種類リストはポリシー準拠確認部220に送信される(S1203)。
ポリシー準拠確認部320は受信した出力データ種類リストと、AP開発サーバ20内に記憶されたデータ受渡しポリシー5とを照合し、ポリシーに準拠した処理が出力データに対してなされているかを判定する(S1230)。AP開発サーバ20は、判定結果によってはAP開発者端末10又はデータ管理者端末40に処理要求を送信(S1204及びS1205)し、処理結果を受信する。本シーケンスの詳細は後述する。
ポリシー準拠確認(S1230)の後、ポリシー準拠確認部220は、AP4内の領域2間で送信する出力データについてデータ受渡しポリシー5に準拠していることの最終判定結果をAP開発者端末10に送信する。
ポリシー準拠確認(S1230)の後もデータ受渡しポリシー5に準拠しない出力データが存在する場合、ポリシー準拠確認部220は、当該出力データのデータ種類とデータ受渡しポリシー5に準拠しなかった旨のメッセージも一緒に送信してもよい。
最終判定結果を受信したAP開発者端末10のユーザは、AP4をデプロイするかどうかの決定をAP開発サーバ20に送信する(S1209)。
AP4は、まずAP開発サーバ20内のAP管理ログ211に保存される(S1207)。この場合、APシミュレータ230はAP4内で使用されるデータ種類を一緒に情報として保存してもよい(S1208)。
また、ポリシー準拠確認(S1230)で出力された最終判定結果を一緒にAP開発サーバ20に保存してもよい。
以上のように、AP開発サーバ20は、AP管理ログ211にAP4の情報と、AP4に付随する情報を管理(保存)しておくことで、例えば、データ受渡しポリシー5に変更があった場合、AP4内の出力データが変更後のデータ受渡しポリシー5に準拠しなくなることをAP開発サーバ20で判定することができる。AP開発サーバ20は、データ受渡しポリシー5の変更を判定した場合、AP実行サーバ30に停止命令を送信してAP4の実行を停止し、AP開発者端末10にAP停止の旨をアラート又はメッセージとして送信することができ、データ受渡しポリシー5の変更に迅速な対応が可能となる。
最終判定結果のシーケンスS1206において、出力データがデータ受渡しポリシー5に全て準拠するという判定結果が出力されて、かつデプロイ決定通知のシーケンスS1209において、AP開発者端末10からAPをデプロイするという決定をAP開発サーバに送信した場合、AP開発サーバ20は、AP4の処理を実行する各領域2に含まれるAP実行サーバ30にAP4をコピーし、送信する(S1210)。AP4を受信したAP実行サーバ30はAP4を管理(保存)する。
続いて、AP実行サーバ30でAP4を実行させるの処理について説明する。ここで、AP実行サーバ30は自身の所属する領域2で実行されるように設定されたAP4内の処理のみを実行する。
図9Aと図9Bは、AP開発者端末10が、AP実行サーバ30に管理(保存)されたAP4の実行開始を決定し、AP4が連続実行されるまでを説明するシーケンス図である(以下、「AP実行シーケンスS1600」と呼称する)。
なお、図9Aは、アプリケーション実行処理のうち、実行一回目の処理の一例を示すシーケンス図である。また、図9Bは、アプリケーション実行処理のうち変更検知時の処理の一例を示すシーケンス図である。
図9Aのように、まずAP開発者端末10から実行開始命令をAP実行サーバ30に送信する(S1601)。AP4の実行が1回目、つまりこのAP4を実行するのが初めての場合は図9Aの実行1回目のシーケンスS1602に従って処理される。
実行1回目のシーケンスS1602では、ポリシー準拠確認部320は、ポリシー準拠確認手順(S1630)に従って、AP4が処理した出力データがそれぞれの領域のデータ受渡しポリシー5に準拠することを確認する。
AP実行サーバ30は、ポリシーの準拠が確認できた出力データをデータ送信処理によって順番に実行していき、全ての領域2でポリシーの準拠が確認できると一回目の実行が終了することになる。ポリシー準拠確認手順(S1630)の詳細は後述する。
AP実行サーバ30は、AP4の一回目の実行が終了すると必要に応じてAP開発者端末10とデータ管理者端末40に処理要求を行ったり、処理要求に対する応答を受信してもよい(S1603、S1604)。
ポリシー準拠確認部320は、続いて最終判定結果をAP開発者端末10に送信する(S1605)。この場合、ポリシー準拠確認部320が、全ての出力データがデータ受渡しポリシー5に準拠していることを通知すると、AP開発者端末10から連続実行決定の信号をAP実行サーバ30に送信し、引き続きAP4の処理を連続的に実行してもよい(S1606)。
AP4が実行される間、それぞれの領域2から出力されるデータ種類と主力先の領域の名前又はIPアドレスなどをそれぞれの領域2内に含まれるデータ受渡しログ311で管理(保存)してもよい(S1607)。
AP4実行中にデータ受渡しポリシー5、又は出力データ種類に変更が生じた場合、図9Bの変更検知時のシーケンスS1608を実行する。
データ受渡しポリシー5又は出力データ種類の変更はAP実行サーバ30の変更検知部321が常時又は断続的にモニタリングし、変更があった場合にポリシー準拠確認部320に実行開始信号を送信する(S1609)。
実行開始信号を受信したポリシー準拠確認部320は、上記変更のあったデータ受渡しポリシー5(又は出力データ種類)と対応する出力データ、又は変更のあった出力データとそれに対応するデータ受渡しポリシー5に対してポリシー準拠確認手順(S1630)を行う。
ポリシー準拠確認部320は続いて最終判定結果をAP開発者端末10に送信する(S1605)。この場合、全ての出力データがデータ受渡しポリシー5に準拠していることが確認された場合、AP開発者端末10は、連続実行決定の信号をAP実行サーバ30に送信し、引き続きAP4の処理を連続で繰り返し実行してもよい(S1606)。
図10はデータ受渡しポリシー5の一例を示した図である。ここで、各種データはデータ種類51という属性が予め決定されていることを想定している。データ種類51の設定は、データ管理者端末40を使用するデータ管理者等が予め決定することができる。
データ種類51として、例えば「名前」や、「年齢」や、「セルシウス温度」や、「電圧(V)」などの符号を用いて分類する。データ受渡しポリシー5はデータ種類51ごとに作成され、図10では一例として「年齢」というデータ種類51に適用されているデータ受渡しポリシー5を示している。
データ受渡しポリシー5の縦軸は、出力データを送信する側(From)の領域2を示し、横軸は出力データを受信する側(To)の領域2を示す符号(名称やIPアドレスなど)を表している。
図10には送信する側の領域と受信する側の領域の組み合わせは、それぞれにデータ種類51が「年齢」である出力データに必要な処理(例えば、抽象化、暗号化、ハッシュ化、匿名化など)が記述されている。
抽象化の処理は、データ受渡しポリシー5に設定された抽象度に基づいて実行される。抽象度とは予め領域2間で決定された抽象化のレベルを表す。例えば、データ種類51が「年齢」の場合、抽象度が「0」の場合は1歳ごとの年齢(「24歳」、「32歳」、「55歳」など)が出力データとして処理される。
抽象度が「2」の場合は、5歳ごとに抽象化した年齢(「20~24歳」、「30~34歳」、「55~59歳」など)が出力データとして処理される。抽象度が「3」の場合は、10歳ごとに抽象化した年齢(「20代」、「30代」、「50代」など)が出力データとして処理される。
上記の例では抽象度の値が増大するにつれて、出力データの値が抽象的に加工されるが、これに限定されるものではない。
また、図10のように、AP実行サーバ30にデプロイされたAP4は、実際にデータ受渡しポリシー5に準拠して行われたデータ送信の回数を計数して、データ受渡しポリシー5の使用実績として当該データ受渡しポリシー5と一緒に記述してもよい。
以上のように、AP4がデータ受渡しポリシー5の使用実績を記録しておくことで、データ受渡しポリシー5の使用実績が0回のポリシーは、ポリシーの記述ミスがあった場合に秘匿情報が流出することを防止するため、例えばAP開発サーバの20ポリシー準拠確認部220で使用実績が0回のポリシーがAP4内で使用されることが判明した場合にデータ管理者端末40に確認を促すメッセージを送信してもよい。
加えて、AP4は、データ種類51として生データに抽象化や、匿名化などの処理を加えた場合、加工を実施したことをデータ種類51の情報としてデータ受渡しポリシー5と一緒に管理(保存)してもよい。
例えば「年齢」というデータ種類51の値が「24歳」の出力データに対して、AP4内の処理で予め「抽象度」=「3」として定義した抽象化処理が行われて「20代」となった場合、この出力データのデータ種類51を「年齢_抽象度」=「3」としてもよい。
以上のように抽象化などの処理をデータ種類51に含むことで、ポリシー準拠確認部320において加工の内容を容易に確認することが可能となる。また、データ種類51に限定されるものではなく、処理名(加工の種類等)を出力データに対応したメタデータとしてAP4が追加してもよい。
加えて、データを所有する領域2の外部へ出力データが送信される場合、データ種類51の情報として出力元の領域2を識別する符号をAP4がメタデータとして追加してもよい。この例によると、例えば、3つ以上の領域2を経由して出力データが送信される場合、データを所有する送信元の領域2のデータ受渡しポリシー5を適用する処理を他の領域2で実施することが可能になる。
例えば、領域2-1で生成された出力データのデータ種類51を「年齢_領域2-1」とする。このようにすれば、この出力データが領域2-2へ送信された後、領域2-2から領域2-3に送信される場合、AP実行サーバ30のポリシー準拠確認部320はデータ種類51を参照し、領域2-2から領域2-3にデータ送信する場合のデータ受渡しポリシーではなく領域2-1から領域2-3にデータ送信する場合のデータ受渡しポリシーを適用することができる。なお、出力データに追加するメタデータは、データ種類51でなくてもよく、処理名を出力データに対応したメタデータに含ませてもよい。
データ受渡しポリシー5は、AP4の処理が行われる全ての領域2に含まれるAP開発サーバ20と、AP実行サーバ30及びデータ管理者端末40で共有されるのが望ましい。共有の手段は、例えば、クラウドにファイルをアップロードしてAP開発サーバ20と、AP実行サーバ30及びデータ管理者端末40がそれぞれダウンロードする方法や、ファイル共有システムで共有する方法や、AP開発サーバ20と、AP実行サーバ30及びデータ管理者端末40が連絡網を形成し、互いにファイルを送信し合う方法等がある。
図11は出力データに「データ種類」を付与するための分類データベースの一例を示した図である。図11では分類データベース504としてキーバリュー(Key-Value)型のデータベースを用いた場合を想定している。分類データベース504は、データベースサーバ50に格納される。
キーバリューでは、一つの値(Value)に対して一つのキー(Key)が割り当てられる。データベース50-Aのキーは予め設定されており、分類データベース504にデータを格納したユーザごとに異なる可能性がある。図示の例では、分類データベース504は、データ種類511と、データキー512で構成され、データ種類511がキーであり、データキー512はバリューである。
例えば、図11内に示すように、人の名前の文字列を値として含むデータキー512は「Name」や「full name」あるいは「name」等である場合がある。このようなデータキー512を予めデータ管理者等のユーザが全て同じデータ種類511の「名前」となるよう図11の分類データベース504のように設定しておく。
AP4は、データベースサーバ50の秘匿データベース501と、オープンデータベース502及び中間データベース503からデータを読み込む際に、分類データベース504の設定に従って、読み込むデータフィールドの属性をデータキー512に一致するデータ種類511として扱うことができる。
上記分類データベース504を各領域2のデータベースサーバ50に設定することにより、言語や地域あるいは組織が異なる領域2のデータベースのフィールドの属性を統一して、AP4の処理を実行することができる。なお、分類データベース504は、各領域2で分散共有することが望ましい。
分類データベース504のキーが「メッセージ」などであり、そのデータの値として郵便番号や電話番号が格納されている場合などは、数字や文字列の桁数や出現パターンに基づいて「郵便番号」や「電話番号」といったデータ種類511を付与してもよい。
図12は、AP開発サーバ20のAPシミュレータ221が、AP開発者端末10から受け付けたAP4の出力データをシミュレーション(S1220)する手順を説明したフローチャートである。
図12に示した例では、予め各領域2の弁護士等のデータ管理者が、自身が管理する領域2で使用されるデータのダミーデータ(値を同じデータ型を有する別の値に置き換えたものなど)を作成しておき、データ受渡しポリシー5とともに各領域2のAP開発者端末10や、AP開発サーバ20に共有されていることを想定している。
ダミーデータのデータ型は、各領域2のデータベースサーバ50に格納されたデータベースのフィールドのデータ型と同一であることが望ましい。
まず、APシミュレータ221は、AP4の入力データのデータ種類を参照し、予め準備された同じデータ種類のダミーデータを入力としてAP4を実行する(S1221)。なお、ダミーデータは、上述のようにデータベースサーバ50のデータと同様なデータ型を有する。
続いて、APシミュレータ221は、AP4から出力される出力データのデータ種類を出力データ種類リストとしてリストアップする(S1320)。リストアップの手法は、クラスタリングや公知又は周知の手法を用いればよい。例えば、APシミュレータ221は、分類データベース504のデータ種類511で、出力データの属性を分類し出力データ種類リストを生成することができる。
図13は、AP開発サーバ20のAPシミュレータ221が、AP開発者端末10から受け付けたAP4で扱われる出力データをシミュレーション(S1220)する第2の実施手順を説明したフローチャートである。この手順によれば、予め多数のダミーデータを作成しなくても、AP4の出力データ種類を分析することが可能になる。
図13に示した例では、予めAP4のプログラムで用いられる関数を細分化し、四則演算など最低限の処理に細分化しておく。そして、細分化された処理のそれぞれについて入力されたデータ種類がどのように変化するかを記述したリスト(以下、「データ種類変化公式リスト」と呼称)が作成する。
本実施例では、データ種類変化公式リストが、データ受渡しポリシー5とともに各領域2のAP開発者端末10と、AP開発サーバ20で共有されていることを想定している。
まず、APシミュレータ221は、AP4の入力データのデータ種類をリストアップする(S1223)。続いて、APシミュレータ221は、AP4で行われる処理を細分化する(S1224)。
その後、APシミュレータ221は、細分化したAP4の処理の種類をデータ種類変化公式リストを参照して出力データの種類を計算し(S1225)、出力データ種類リストとして結果をリストアップする(S1320)。
上記処理では、AP4内の関数で複数のデータ種類の四則演算や、単一のデータ種類に対する統計処理などから、出力されるデータ種類を特定することができる。
図14は、ポリシー準拠確認の手順の一例を説明するフローチャートである。
図8に示したAPデプロイシーケンスS1200において、AP開発者端末10のユーザ(開発者と呼ぶ)と、データ管理者端末40のユーザ(データ管理者と呼ぶ)が行う処理を示したフローチャートである。図14にはポリシー準拠確認部320によるポリシー準拠確認手順(S1230)も含めている。
まず、データ管理者は自分の管理担当する出力データが含まれる領域2のデータ受渡しポリシー5をデータ管理者端末40で作成し(S1501)、他の領域2のデータ受渡しポリシー5を互いに共有する(S1502)。なお、共有されたデータ受渡しポリシー5をマージして前述したように一つのデータ受渡しポリシー5に統合してもよい。データ受渡しポリシー5を統合しない場合には、複数の表形式で扱うようにしてもい。また、この手順以前にデータ受渡しポリシー5を、既に作成及び共有済みである場合、これらの手順を省略してもよい。
開発者はAP開発者端末10を用いてAP4を作成(S1503)し、AP開発サーバ20にAP4を送信する(S1201)。AP4を受信したAP開発サーバ20は、APシミュレータ221で出力データの種類をリストアップして出力データ種類リストを生成する。
続いて、AP開発サーバ20のポリシー準拠確認部220は、ステップS1231、S1233、S1235で判定を実行し、判定結果に応じて開発者及びデータ管理者に処理要求を送信する(S1232、S1234、S1236)。
まず、ポリシー準拠確認部220は、ステップS1220で生成された出力データ種類リストと対応するデータ種類51のデータ受渡しポリシー5を検索する(S1231)。
データ受渡しポリシー5が存在しない場合又はデータ受渡しポリシー5の内容が未記載の場合、ポリシー準拠確認部220はデータ管理者端末40を介してデータ管理者に対象のデータ受渡しポリシー5の記載を要求するメッセージを送信する(S1232)。データ管理者がポリシーを記載するまで、ポリシー準拠確認部320はポリシー記載待機中のメッセージをAP開発者端末10に送信してもよい。
出力データ種類リストに対応したデータ受渡しポリシー5が存在することが確認された後、ポリシー準拠確認部320は夫々の出力データがデータ受渡しポリシー5に準拠した加工がなされているかを照合する(S1233)。データ受渡しポリシー5に準拠していない出力データが存在する場合、AP開発者端末10に対象の出力データを表す符号又はデータ種類と、対応するデータ受渡しポリシー5を送信し、データ受渡しポリシー5に準拠したデータ処理を追加するようメッセージを送信してもよい(S1234)。
ポリシー準拠確認部320は、当該領域2の全ての出力データがデータ受渡しポリシー5に準拠することを確認するとステップ1504に進む。
ステップ1504では、最後にポリシー準拠確認部320は夫々の出力データを所有する領域2のデータ管理者端末40に、それぞれの領域2のデータ管理者が管理するデータに基づく出力データのデータ種類と、領域2の外部に送信するか否かをデータ管理者端末40に問い合わせる。
夫々のデータ管理者は、データ管理者端末40で上記の問い合わせを受診し、出力データがデータ受渡しポリシー5に準拠していることの最終確認を行う(S1235)。この場合、全てのデータ管理者の確認が終了するまでAP開発者端末10を介して、データ管理者が確認中である旨と、確認が取れていないデータ種類などの表示を行ってもよい(S1236)。
データ管理者端末40では、確認の結果、AP4のデータ処理に追加が必要だとデータ管理者が判断した場合、その旨をAP開発者端末10にメッセージとして送信してもよい。
なお、AP4が扱う出力データを所有する全ての領域2のデータ管理者の確認が必要になるため、開発者が簡単に確認だけをしたい場合に対応するために、計算機システム1はこのステップS1235を省略する機能を有していてもよい。
続いて、ポリシー準拠確認部320は、AP開発者端末10へ確認が完了したメッセージを送信する(S1504)。このメッセージを受信した場合、AP開発者端末10は開発者に対してAP4のデプロイを行うかどうかを選択する画面を表示してもよい。開発者は最後にAP4をデプロイするか否かを決定し、その旨をAP開発サーバに送信する(S1209)。
図15は、図9Aに示したポリシー準拠確認手順S1630の処理方法を説明するフローチャートである。
AP実行サーバ30はまず、AP4が生成した出力データにAP実行サーバ30自身が所属する領域2の外部へのデータ送信処理があるか否かを判定する(S1701)。領域2の外部へのデータ送信処理がある場合、AP実行サーバ30は、AP4をデータ送信処理の直前の処理まで実行させ、処理された出力データのデータ種類から、出力データ種類リストを生成する(S1702)。なお、AP実行サーバ30における出力データ種類リストの生成は、上述したAP開発サーバ20のAPシミュレータ230と同様に行うことができる。
AP実行サーバ30は、生成された出力データ種類リストと、データ受渡しポリシー5を参照して、図14のポリシー準拠確認手順(S1230)と同様にポリシー準拠確認部320でデータ送信処理がデータ受渡しポリシー5に準拠していることを確かめる。
全ての出力データについてデータ受渡しポリシー5に準拠した処理がなされていることが確かめられた後に、AP実行サーバ30は、データ送信処理を行ってデータ送信先の領域2に出力データを送信する。
上記手順を最後の処理が行われる領域2まで順番に実行し、AP4内の全てのデータ送信処理がデータ受渡しポリシー5に準拠することを確かめる。
上記処理によって、AP4が複数の領域2間でデータの受渡しを行う場合、それらがデータ受渡しポリシー5に従っていることの確認を効率よく行うことができ、AP4の秘匿情報漏洩のリスクを評価する労力を低減することが可能となる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を有するものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
<結び>
以上のように、上記実施例の計算機システムは、以下のような構成とすることができる。
(1)プロセッサ(101)とメモリ(主記憶装置102)を含んで生成されたアプリケーション(4)を管理する開発サーバ(アプリケーション開発サーバ20)と、プロセッサ(101)とメモリ(102)を含んで前記開発サーバ(20)から配布された前記アプリケーション(4)を実行する実行サーバ(アプリケーション実行サーバ30)と、前記開発サーバ(20)と複数の前記実行サーバ(30)を接続するネットワークと、を有して、前記複数の実行サーバ(30)がそれぞれ所属する複数の領域(2)間で入力データに所定の処理を実行する計算機システム(1)であって、前記開発サーバ(20)は、前記アプリケーション(4)の処理結果の出力データを前記領域(2)の外部へ送信する際に必要な出力データに対する加工内容を予め設定したデータ受渡しポリシー(5)と、前記アプリケーション(4)に出力データを生成させるシミュレーションを実施するアプリケーションシミュレータ(230)と、前記生成された前記出力データが前記データ受渡しポリシー(5)に違反しているか否かを判定する第1のポリシー準拠確認部(ポリシー準拠確認部220)と、を有することを特徴とする計算機システム。
上記構成により、AP開発サーバ20は、AP実行サーバ30のアプリケーション4が複数の領域2間で出力データの受渡しを行う場合、各出力データがデータ受渡しポリシーに従っていることの確認を効率よく行うことができ、アプリケーション4の秘匿情報漏洩リスクの評価に要する労力を減らす効果がある。
(2)上記(1)に記載の計算機システムであって、前記実行サーバ(30)は、前記アプリケーション(4)を実行して出力データを生成させるアプリケーション実行部(330)と、前記アプリケーション(4)の処理結果の出力データを前記領域(2)の外部へ送信する際に必要な出力データに対する加工内容を予め設定したデータ受渡しポリシー(5)と、前記アプリケーション(4)が生成した出力データが前記データ受渡しポリシー(5)に違反しているか否かを判定する第2のポリシー準拠確認部(ポリシー準拠確認部320)と、を有することを特徴とする計算機システム。
上記構成により、AP実行サーバ30は、アプリケーション4を実行して複数の領域2間で出力データの受渡しを行う場合、各出力データがデータ受渡しポリシーに従っていることの確認を効率よく行うことができ、アプリケーション4の秘匿情報漏洩リスクの評価に要する労力を減らす効果がある。
(3)上記(1)に記載の計算機システムであって、前記開発サーバ(20)に接続されたデータ管理者端末(40)をさらに有し、前記第1のポリシー準拠確認部は、前記出力データ対応する前記データ受渡しポリシー(5)が存在しない場合には、前記データ管理者端末(40)にデータ受渡しポリシー(5)を新たに生成することを要求することを特徴とする計算機システム。
上記構成により、AP開発サーバ20は、出力データ対応するデータ受渡しポリシー5が存在しない場合には、対象のデータ管理に責任を有するデータ管理者端末40にデータ受渡しポリシー5の追加を促すメッセージを自動的に送信することが可能となる。
(4)上記(2)に記載の計算機システムであって、前記実行サーバ(30)に接続されたデータ管理者端末(40)をさらに有し、前記第2のポリシー準拠確認部(320)は、前記出力データ対応する前記データ受渡しポリシー(5)が存在しない場合には、前記データ管理者端末(40)にデータ受渡しポリシー(5)を新たに生成することを要求することを特徴とする計算機システム。
上記構成により、AP実行サーバ30は、出力データ対応するデータ受渡しポリシー5が存在しない場合には、対象のデータ管理に責任を有するデータ管理者端末40にデータ受渡しポリシー5の追加を促すメッセージを自動的に送信することが可能となる。
(5)上記(1)に記載の計算機システムであって、前記開発サーバ(20)に接続された開発者端末(アプリケーション開発者端末10)をさらに有し、前記第1のポリシー準拠確認部(220)は、前記出力データが前記データ受渡しポリシー(5)に違反する場合には、前記開発者端末(10)に前記アプリケーション(4)の変更を要求することを特徴とする計算機システム。
上記構成により、AP開発サーバ20は、出力データがデータ受渡しポリシー5に違反する場合には、AP開発者端末10にアプリケーション4の変更を自動的に要求することが可能となる。
(6)上記(1)に記載の計算機システムであって、前記データ受渡しポリシー(5)は、前記領域(2)のそれぞれで予め設定され、前記領域(2)間で予め共有されることを特徴とする計算機システム。
上記構成により、各領域2で設定されたデータ受渡しポリシー5は、他の領域2間で共有され、複数の領域2のAP実行サーバ30が連携して出力データを処理する際に、各領域2の出力データに関する制限を他の領域2のAP実行サーバ30で適用することが可能となる。
(7) 上記(1)に記載の計算機システムであって、前記複数の領域(2)は、前記出力データの流通に関する制限が異なる領域(2)であることを特徴とする計算機システム。
上記構成により、出力データに対して遵守すべき規制(法律や規約)等が異なる国や地域あるいは団体を領域2として扱うことで、AP実行サーバ30は出力データに対する制限に応じて送信時に出力データへ所定の加工を実施することが可能となる。
(8)上記(1)に記載の計算機システムであって、前記開発サーバ(20)に接続された開発者端末(10)をさらに有し、前記開発サーバ(20)は、前記シミュレーションによるアプリケーション(4)の出力データが前記データ受渡しポリシー(5)に違反するか否かの情報を保存する管理ログ(アプリケーション管理ログ211)をさらに有し、前記第1のポリシー準拠確認部(220)は、前記データ受渡しポリシー(5)に変更があった場合には、前記管理ログ(211)に保存された前記アプリケーション(4)の出力データについて、変更後の前記データ受渡しポリシー(5)に違反するか否かを判定して、前記開発者端末(10)に判定の結果を送信することを特徴とする計算機システム。
上記構成により、AP開発サーバ20は、データ受渡しポリシー5に変更があった場合には、AP管理ログ211に保存されたアプリケーション4の出力データについて、変更後の前記データ受渡しポリシー5に違反するか否かを判定して、AP開発者端末10に判定の結果を通知することで、出力データが各領域2の制限に違反しないようにAP4の変更を促すことができる。
(9)上記(2)に記載の計算機システムであって、前記実行サーバ(30)は、前記データ受渡しポリシー(5)の内容又は前記出力データに変更があったことを検知する変更検知部(321)をさらに有し、前記変更検知部(321)は、前記変更を検知した場合には、前記出力データの送信を抑止することを特徴とする計算機システム。
上記構成により、データ受渡しポリシー5又は出力データ種類の変更はAP実行サーバ30の変更検知部321がモニタリングし、変更があった場合にポリシー準拠確認部320に実行開始信号を送信する。
これにより、実行開始信号を受信したポリシー準拠確認部320は、上記変更のあったデータ受渡しポリシー5(又は出力データ種類)と対応する出力データ、又は変更のあった出力データとそれに対応するデータ受渡しポリシー5に対してポリシー準拠確認手順(S1630)を行うことが可能となる。
<補足>
特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものがあげられる。
<16>
プロセッサとメモリを含んで生成されたアプリケーションを管理する開発サーバであって、
前記アプリケーションの処理結果の出力データを領域の外部へ送信する際に必要な出力データに対する加工内容を予め設定したデータ受渡しポリシーと、
前記アプリケーションに出力データを生成させるシミュレーションを実施するアプリケーションシミュレータと、
前記生成された前記出力データが前記データ受渡しポリシーに違反しているか否かを判定する第1のポリシー準拠確認部と、
を有することを特徴とする開発サーバ。
1 計算機システム
2 領域
3 ネットワーク
4 AP
5 データ受渡しポリシー
10 AP開発者端末
20 AP開発サーバ
30 AP実行サーバ
40 データ管理者端末
50 データベース
90 内部ネットワーク
11 AP編集部
12 AP送信部
13 処理要求送受信部
14 記憶部
43 処理要求送受信部
44 記憶部
210 記憶部
211 AP管理ログ
220 ポリシー準拠事前確認部
221 APシミュレータ
320 ポリシー準拠確認部
310 記憶部
311 データ受渡しログ
320 ポリシー準拠実行時確認部
321 変更検知部
501 秘匿データベース
502 オープンデータベース
503 中間データベース
504 分類データベース

Claims (15)

  1. プロセッサとメモリを含んで生成されたアプリケーションを管理する開発サーバと、
    プロセッサとメモリを含んで前記開発サーバから配布された前記アプリケーションを実行する実行サーバと、
    前記開発サーバと複数の前記実行サーバを接続するネットワークと、を有して、前記複数の実行サーバがそれぞれ所属する複数の領域間でデータに所定の処理を実行する計算機システムであって、
    前記開発サーバは、
    前記アプリケーションの処理結果の出力データを前記領域の外部へ送信する際に必要な出力データに対する加工内容を予め設定したデータ受渡しポリシーと、
    前記アプリケーションに出力データを生成させるシミュレーションを実施するアプリケーションシミュレータと、
    前記生成された前記出力データが前記データ受渡しポリシーに違反しているか否かを判定する第1のポリシー準拠確認部と、
    を有することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記実行サーバは、
    前記アプリケーションを実行して出力データを生成させるアプリケーション実行部と、 前記アプリケーションの処理結果の出力データを前記領域の外部へ送信する際に必要な出力データに対する加工内容を予め設定したデータ受渡しポリシーと、
    前記アプリケーションが生成した出力データが前記データ受渡しポリシーに違反しているか否かを判定する第2のポリシー準拠確認部と、
    を有することを特徴とする計算機システム。
  3. 請求項1に記載の計算機システムであって、
    前記開発サーバに接続されたデータ管理者端末をさらに有し、
    前記第1のポリシー準拠確認部は、
    前記出力データ対応する前記データ受渡しポリシーが存在しない場合には、前記データ管理者端末にデータ受渡しポリシーを新たに生成することを要求することを特徴とする計算機システム。
  4. 請求項2に記載の計算機システムであって、
    前記実行サーバに接続されたデータ管理者端末をさらに有し、
    前記第2のポリシー準拠確認部は、
    前記出力データ対応する前記データ受渡しポリシーが存在しない場合には、前記データ管理者端末にデータ受渡しポリシーを新たに生成することを要求することを特徴とする計算機システム。
  5. 請求項1に記載の計算機システムであって、
    前記開発サーバに接続された開発者端末をさらに有し、
    前記第1のポリシー準拠確認部は、
    前記出力データが前記データ受渡しポリシーに違反する場合には、前記開発者端末に前記アプリケーションの変更を要求することを特徴とする計算機システム。
  6. 請求項1に記載の計算機システムであって、
    前記データ受渡しポリシーは、
    前記領域のそれぞれで予め設定され、前記領域間で予め共有されることを特徴とする計算機システム。
  7. 請求項1に記載の計算機システムであって、
    前記複数の領域は、
    前記出力データの流通に関する制限が異なる領域であることを特徴とする計算機システム。
  8. 請求項1に記載の計算機システムであって、
    前記開発サーバに接続された開発者端末をさらに有し、
    前記開発サーバは、
    前記シミュレーションによるアプリケーションの出力データが前記データ受渡しポリシーに違反するか否かの情報を保存する管理ログをさらに有し、
    前記第1のポリシー準拠確認部は、
    前記データ受渡しポリシーに変更があった場合には、前記管理ログに保存された前記アプリケーションの出力データについて、変更後の前記データ受渡しポリシーに違反するか否かを判定して、前記開発者端末に判定の結果を送信することを特徴とする計算機システム。
  9. 請求項2に記載の計算機システムであって、
    前記実行サーバは、
    前記データ受渡しポリシーの内容又は前記出力データに変更があったことを検知する変更検知部をさらに有し、
    前記変更検知部は、
    前記変更を検知した場合には、前記出力データの送信を抑止することを特徴とする計算機システム。
  10. アプリケーションを管理する開発サーバと、前記開発サーバから配布された前記アプリケーションを実行する実行サーバと、前記開発サーバと複数の前記実行サーバを接続するネットワークと、を有する計算機システムで、前記複数の実行サーバがそれぞれ所属する複数の領域間でデータに所定の処理を実行する前記アプリケーションを管理するアプリケーション管理方法であって、
    前記開発サーバが、前記アプリケーションに出力データを生成させるシミュレーションを実行するシミュレーションステップと、
    前記開発サーバが、前記生成された前記出力データについて、前記アプリケーションの出力データを前記領域の外部へ送信する際に必要な出力データに対する加工内容を予め設定したデータ受渡しポリシーに違反しているか否かを判定する第1のポリシー準拠確認ステップと、
    を含むことを特徴とするアプリケーション管理方法。
  11. 請求項10に記載のアプリケーション管理方法であって、
    前記実行サーバが、前記アプリケーションを実行して出力データを生成するアプリケーション実行ステップと、
    前記実行サーバが、前記生成された出力データが、前記出力データを前記領域の外部へ送信する際に必要な出力データに対する加工内容を予め設定したデータ受渡しポリシーに違反しているか否かを判定する第2のポリシー準拠確認ステップと、
    をさらに含むことを特徴とするアプリケーション管理方法。
  12. 請求項10に記載のアプリケーション管理方法であって、
    前記第1のポリシー準拠確認ステップは、
    前記出力データ対応する前記データ受渡しポリシーが存在しない場合には、前記開発サーバに接続されたデータ管理者端末にデータ受渡しポリシーを新たに生成することを要求することを特徴とするアプリケーション管理方法。
  13. 請求項11に記載のアプリケーション管理方法であって、
    前記第2のポリシー準拠確認ステップは、
    前記出力データ対応する前記データ受渡しポリシーが存在しない場合には、前記実行サーバに接続されたデータ管理者端末にデータ受渡しポリシーを新たに生成することを要求することを特徴とするアプリケーション管理方法。
  14. 請求項10に記載のアプリケーション管理方法であって、
    前記第1のポリシー準拠確認ステップは、
    前記出力データが前記データ受渡しポリシーに違反する場合には、前記開発サーバに接続された開発者端末に前記アプリケーションの変更を要求することを特徴とするアプリケーション管理方法。
  15. 請求項10に記載のアプリケーション管理方法であって、
    前記データ受渡しポリシーは、
    前記領域のそれぞれで予め設定され、前記領域間で予め共有されることを特徴とするアプリケーション管理方法。
JP2020012356A 2020-01-29 2020-01-29 計算機システム及びアプリケーション管理方法 Active JP7303135B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020012356A JP7303135B2 (ja) 2020-01-29 2020-01-29 計算機システム及びアプリケーション管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020012356A JP7303135B2 (ja) 2020-01-29 2020-01-29 計算機システム及びアプリケーション管理方法

Publications (2)

Publication Number Publication Date
JP2021117873A JP2021117873A (ja) 2021-08-10
JP7303135B2 true JP7303135B2 (ja) 2023-07-04

Family

ID=77175634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020012356A Active JP7303135B2 (ja) 2020-01-29 2020-01-29 計算機システム及びアプリケーション管理方法

Country Status (1)

Country Link
JP (1) JP7303135B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002287966A (ja) 2001-03-28 2002-10-04 Hitachi Ltd データ項目辞書生成方法
JP2012155546A (ja) 2011-01-26 2012-08-16 Fujitsu Ltd アクセス制御データ編集支援プログラム、アクセス制御データ編集支援装置、及びアクセス制御データ編集支援方法
JP2014241098A (ja) 2013-06-12 2014-12-25 株式会社日立ソリューションズ センサデータ管理システム
JP2015166942A (ja) 2014-03-04 2015-09-24 キヤノン株式会社 ドメイン情報判断手段を有することを特徴とするジョブ情報書き出し装置
JP2016126700A (ja) 2015-01-08 2016-07-11 富士通株式会社 プログラム検証装置、プログラム検証方法及びプログラム検証プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002287966A (ja) 2001-03-28 2002-10-04 Hitachi Ltd データ項目辞書生成方法
JP2012155546A (ja) 2011-01-26 2012-08-16 Fujitsu Ltd アクセス制御データ編集支援プログラム、アクセス制御データ編集支援装置、及びアクセス制御データ編集支援方法
JP2014241098A (ja) 2013-06-12 2014-12-25 株式会社日立ソリューションズ センサデータ管理システム
JP2015166942A (ja) 2014-03-04 2015-09-24 キヤノン株式会社 ドメイン情報判断手段を有することを特徴とするジョブ情報書き出し装置
JP2016126700A (ja) 2015-01-08 2016-07-11 富士通株式会社 プログラム検証装置、プログラム検証方法及びプログラム検証プログラム

Also Published As

Publication number Publication date
JP2021117873A (ja) 2021-08-10

Similar Documents

Publication Publication Date Title
US10803097B2 (en) Data processing systems for generating and populating a data inventory
US11405428B2 (en) Method and system for policy management, testing, simulation, decentralization and analysis
US10437860B2 (en) Data processing systems for generating and populating a data inventory
US10438016B2 (en) Data processing systems for generating and populating a data inventory
JP7402183B2 (ja) 小さいフットプリントのエンドポイント・データ損失防止(dlp)
US20070094594A1 (en) Redaction system, method and computer program product
US10642870B2 (en) Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US9646170B2 (en) Secure endpoint file export in a business environment
US11416631B2 (en) Dynamic monitoring of movement of data
CN107786551B (zh) 访问内网服务器的方法及控制访问内网服务器的装置
CA3221502A1 (en) Continuous risk assessment of individual elements of a system
US20230273959A1 (en) Computer-implemented methods, systems comprising computer-readable media, and electronic devices for narrative representation of a network computing environment
JP2022067087A (ja) 文書内の機密情報を保護するための方法、コンピュータプログラム製品およびコンピュータシステム(文書内の機密情報のマスキング)
CN105069366B (zh) 一种账户登录和管理方法及装置
CN114641771A (zh) 基于虚拟机内容的集群安全性
US20190258989A1 (en) Data processing systems for generating and populating a data inventory
US20200387802A1 (en) Dynamically adaptable rules and communication system for managing process controls
JP7303135B2 (ja) 計算機システム及びアプリケーション管理方法
CN114006735B (zh) 一种数据保护方法、装置、计算机设备和存储介质
US11763014B2 (en) Production protection correlation engine
JP7409735B1 (ja) 運用設計資料作成装置
US11556661B2 (en) Data access control system and data access control method
WO2023188092A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
US11997059B1 (en) Comprehensive privacy control for monitoring requests sent to artificial intelligence chatbots
US12032642B1 (en) Systems and methods for sharing user data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230622

R150 Certificate of patent or registration of utility model

Ref document number: 7303135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150