(57)【要約】  アプリのデータ領域へのアクセス権限の設定を容易または正確にしたアプリデータ記憶領域生成方法を提供する。アプリデータ記憶領域の生成方法は，アプリケーションの利用要求に応答して，複数のユーザアカウントにより共用される利用者データ記憶領域内に，前記アプリケーションのデータを記憶するデータ構造領域を有するアプリデータ記憶領域を生成する工程と，利用者データ記憶領域内に，前記アプリケーションのデータ構造に対するアクセス制御情報が設定された複数のロールを有するロール情報を生成する工程と，ロール情報に含まれる複数のロールに対する複数のユーザアカウントの関連付けの情報を，利用者データ記憶領域内に記憶する工程とがプロセッサにより実行される。
2015045048.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの利用要求に応答して，複数のユーザアカウントにより共用される利用者データ記憶領域内に，前記アプリケーションのデータを記憶するデータ構造領域を有するアプリデータ記憶領域を生成する工程と，
前記利用者データ記憶領域内に，前記アプリケーションのデータ構造に対するアクセス制御情報が設定された複数のロールを有するロール情報を生成する工程と，
前記ロール情報に含まれる前記複数のロールに対する前記複数のユーザアカウントの関連付けの情報を，前記利用者データ記憶領域内に記憶する工程と
がプロセッサにより実行されるアプリデータ記憶領域の生成方法。
【請求項２】
請求項１において，
更に，前記アプリデータ記憶領域内に，前記アプリケーションのデータ構造に対する前記複数のロールのアクセス制御情報を生成する工程を有するアプリデータ記憶領域の生成方法。
【請求項３】
請求項１または２において，
更に，前記アプリケーションが記憶されているアプリ記憶領域から，前記データ構造領域のデータ構造情報とロールデータとを有するアプリデータ記憶領域定義体ファイルを取得する工程を有し，
前記アプリデータ記憶領域を生成する工程において，前記データ構造情報に基づいて，前記アプリデータ記憶領域内に前記データ構造領域を生成し，
前記ロール情報を生成する工程において，前記アプリデータ記憶領域定義体ファイル内の前記ロールデータに基づいて前記ロール情報を生成するアプリデータ記憶領域の生成方法。
【請求項４】
請求項３において，
前記ロール情報は，前記アプリデータ記憶領域定義体ファイル内の前記ロールデータに前記アプリデータ記憶領域の識別情報を属性情報として関連付けた，アプリデータ記憶領域識別情報付きロール情報を有するアプリデータ記憶領域の生成方法。
【請求項５】
請求項３において，
更に，前記アプリケーションの利用要求に応答して，前記利用者データ記憶領域へのアクセス先情報を，前記アプリ記憶領域内に設定する工程を有するアプリデータ記憶領域の生成方法。
【請求項６】
請求項３において，
更に，前記アプリケーションの利用要求に応答して，前記利用者データ記憶領域の認証情報に基づいて認証する工程を有し，
前記認証に基づいて，前記アプリデータ記憶領域の生成が実行されるアプリデータ記憶領域の生成方法。
【請求項７】
アプリケーションの利用要求に応答して，複数のユーザアカウントにより共用される利用者データ記憶領域内に，前記アプリケーションのデータを記憶するデータ構造領域を有するアプリデータ記憶領域を生成するアプリデータ記憶領域生成部と，
前記利用者データ記憶領域内に，前記アプリケーションのデータ構造に対するアクセス制御情報が設定された複数のロールを有するロール情報を生成するロール情報生成部と，
前記ロール情報に含まれる前記複数のロールに対する複数のユーザアカウントの関連付けの情報を，前記利用者データ記憶領域に記憶する関連付け情報設定部とを有するアプリデータ記憶領域の生成装置。
【請求項８】
アプリケーションのデータを格納するアプリデータ記憶領域を生成するアプリデータ記憶領域生成処理をコンピュータに実行させるアプリデータ記憶領域生成プログラムにおいて，前記アプリデータ記憶領域生成処理は，
アプリケーションの利用要求に応答して，複数のユーザアカウントにより共用される利用者データ記憶領域内に，前記アプリケーションのデータを記憶するデータ構造領域を有するアプリデータ記憶領域を生成する工程と，
前記利用者データ記憶領域内に，前記アプリケーションのデータ構造に対するアクセス制御情報が設定された複数のロールを有するロール情報を生成する工程と，
前記ロール情報に含まれる前記複数のロールに対する前記複数のユーザアカウントの関連付けの情報を，前記利用者データ記憶領域内に記憶する工程とを有するアプリデータ記憶領域生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，アプリデータ記憶領域生成方法，アプリデータ記憶領域生成装置，及びアプリデータ記憶領域生成プログラムに関する。
【背景技術】
【０００２】
個人や法人が複数の端末と複数のアプリケーション（以下，アプリと略称する）を利用する場合に，その個人や法人のデータをクラウド上のストレージ領域内に確保した利用者データ記憶領域に集約することが提案されている。【０００３】
一方，SaaS（Software  as  a  Service）は，ユーザにアプリなどのソフトウエアの機能だけを提供するサービスである。そして，近年において普及してきたHTML5等のウエブアプリは，サーバから端末にアプリをダウンロードする必要はなく，端末のブラウザからサーバにアクセスして実行される。したがって，ウエブアプリの利用は，端末を選ばず，様々な端末から利用することができる。【０００４】
上記のようなSaaS上でのサービスに，上記の利用者データ記憶部の利用サービスを提供することで，個人や法人が利用する様々なアプリのデータを集約することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１９７８４９号公報
【特許文献２】国際公開第２０１２／０７７２２３号
【非特許文献】
【０００６】
【非特許文献１】FUJITSU.  64,  1,  p.102-110  (01,2013)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の利用者データ記憶領域を利用する場合は，アプリを利用可能にするインストール工程において，そのアプリのデータ記憶領域（以下，アプリデータ記憶領域と称する）が利用者データ記憶領域内に生成（またはインストール）される。その場合，法人などの利用者データ記憶領域内のアプリデータ記憶領域内に生成されたデータのディレクトリ構造内において，そこに含まれるディレクトリやディレクトリ内のファイルにどのアプリ利用者がアクセス権限を有するかを設定する必要がある。【０００８】
しかしながら，利用者側の管理者は，アプリ利用者のアクセス権限を設定するためには，アプリのデータ領域のディレクトリやファイルを分析する必要があり，アプリ利用者のアクセス権限の設定に多くの工数を必要とし，または，適切にアクセス権限を設定することは困難である。【０００９】
そこで，１つの側面では，本発明の目的は，アプリのデータ領域へのアクセス権限の設定を容易または正確にしたアプリデータ記憶領域生成方法，アプリデータ記憶領域生成装置，及びアプリデータ記憶領域生成プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
実施の形態の第１の側面は，アプリケーションの利用要求に応答して，複数のユーザアカウントにより共用される利用者データ記憶領域内に，前記アプリケーションのデータを記憶するデータ構造領域を有するアプリデータ記憶領域を生成する工程と，
前記利用者データ記憶領域内に，前記アプリケーションのデータ構造に対するアクセス制御情報が設定された複数のロールを有するロール情報を生成する工程と，
前記ロール情報に含まれる前記複数のロールに対する前記複数のユーザアカウントの関連付けの情報を，前記利用者データ記憶領域内に記憶する工程とがプロセッサにより実行されるアプリデータ記憶領域の生成方法である。
【発明の効果】
【００１１】
第１の側面によれば，アプリのデータ領域へのアクセス権限の設定を容易または正確に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】利用者データ記憶領域とアプリデータ記憶領域について説明する図である。
【図２】本実施の形態における利用者データ記憶領域サービスシステムの構成を示す図である。
【図３】本実施の形態におけるサーバの構成図である。
【図４】サーバ１のプロセッサであるＣＰＵにより実行されるサーバの管理プログラムの機能を示す図である。
【図５】アプリデータ記憶領域インストールプログラム４０の機能を示す図である。
【図６】利用者端末からのアプリXの利用要求からアプリデータ記憶領域がインストール完了するまでの処理手順を示すフローチャート図である。
【図７】利用者端末からのアプリXの利用要求からアプリデータ記憶領域がインストール完了するまでの処理手順を示すフローチャート図である。
【図８】利用者データ記憶領域の構成を示す図である。
【図９】アプリデータ記憶領域定義体ファイルの構成を示す図である。
【図１０】アプリデータ記憶領域のデータ構造情報の例と，それに基づいて生成されたアプリXデータ記憶領域内のデータ構造領域の例とを示す図である。
【図１１】アプリデータ記憶領域定義体ファイル50（APLX_DD)のロールデータ51_2の例と，それに基づいて生成されたロールテーブルR_TABLEの例とを示す図である。
【図１２】複数のアプリデータ記憶領域それぞれに複数のロールroleが定義されている例を示す図である。
【図１３】アクセス制御情報テーブルAPLX_AATABLEの例を示す図である。
【図１４】アカウントとロールテーブル内の各ロールとの対応付け処理を説明する図である。
【図１５】利用者によるアプリデータ記憶領域内のデータへのアクセスのフローチャート図である。
【発明を実施するための形態】
【００１３】
図１は，利用者データ記憶領域とアプリデータ記憶領域について説明する図である。利用者データ記憶領域のサービスを提供するサーバは，そのストレージ領域内に，図１に示される利用者データ記憶領域１０を生成する。そして，利用者の端末からアプリ３０の利用を要求されると，サーバは，アプリ３０の利用を可能にするインストール工程で，その利用者データ記憶領域１０内にアプリ３０のデータを格納するためのアプリデータ記憶領域２０を生成する。その後，利用者がアプリ３０にアクセスして実行した結果生成されるデータが，利用者データ記憶領域１０内のアプリデータ記憶領域２０に格納され，アプリ３０の実行中に必要なデータがアプリデータ記憶領域２０から読み出される。
【００１４】
図１の例では，アプリデータ記憶領域２０は，利用者Ａの端末からアプリＸを実行する時にアプリＸがアクセスするアプリＸのデータ記憶領域である。したがって，アプリデータ記憶領域２０内には，データ構造領域DATA_Sが生成される。図１の例では，データ構造領域DATA_Sは，ディレクトリ構造である。但し，データ構造領域はリレーショナルデータベース構造など他のデータ構造であってもよい。
【００１５】
利用者データ記憶領域１０である利用者Aのデータ記憶領域USERA_DSには，利用者Aが法人の場合，その複数の従業員のアカウントACが設定されている。このアカウントACの従業員は，端末からアプリXにアクセスしてアプリXを実行することで，アプリXデータ記憶領域APLX_D内のデータを参照する。そして，アプリXのデータには，秘密情報が含まれているので，利用者Aの管理者は，各アカウントACに対してアプリXデータ記憶領域APLX_D内のデータ構造領域DATA_Sへのアクセス権に関するアクセス制御情報２２を設定することが要求される。図１の例では，アクセス制御情報２２の実線矢印はアクセス権を有することを，破線矢印はアクセス権を有しないことをそれぞれ示している。
【００１６】
しかし，アプリXのデータ構造領域DATA_Sは，利用者AのアカウントACの属性にカスタマイズして生成されておらず，一方，利用者Aの管理者は，アプリXのデータ構造領域DATA_Sについて精通していない。したがって，利用者Aの管理者は，アクセス制御情報２２を設定するために，データ構造領域DATA_Sのファイル情報を分析したり，アプリXを利用してみてデータ構造領域DATA_Sの実質的な内容を調べたりすることが必要になる。そのため，アクセス制御情報２２の設定に多くの工数を要するか，または，適切に設定することができない。
【００１７】
［本実施の形態］
［概略説明］
図２は，本実施の形態における利用者データ記憶領域サービスシステムの構成を示す図である。利用者データ記憶領域のサービスを提供する利用者データ記憶領域管理サーバ１（以下，単にサーバ１と称する）は，図示しないサービス管理プログラムを実行して，インターネットなどのネットワークNETを介して，利用者端末３Ａ，３Ｂに利用者データ記憶領域のサービスを提供する。
【００１８】
サーバ１からアクセス可能な利用者データ記憶領域サービスシステムのストレージ領域２には，複数の利用者にそれぞれ提供する利用者データ記憶領域１０が生成されている。さらに，利用者データ記憶領域サービスシステムのストレージ領域２には，複数の利用者によって利用されるアプリAPLX,APLYを格納するアプリ記憶領域３０が生成されている。そして，ストレージ領域２には，利用者がアプリの利用を申請した際に，利用対象のアプリのデータを格納するアプリデータ記憶領域２０を生成するインストールプログラム４０が格納されている。図２の例では，このアプリデータ記憶領域インストールプログラム４０は，API(Application  Program  Interface)の形態である。
【００１９】
図２の例では，利用者Aは，その端末3Aからサーバ１を介して，ストレージ領域２内に，利用者Aのデータ記憶領域USERA_DSを生成して利用している。利用者Bも同様に利用者Bのデータ記憶領域USERB_DSを生成して利用している。
【００２０】
一方，ストレージ領域２内にはアプリXを格納したアプリX記憶領域30_Xと，アプリYを格納したアプリY記憶領域30_Yとが生成されている。アプリX，Yは，例えばHTML5などのWEBアプリであり，端末3A,3Bのブラウザ上でアクセスされダウンロードされ実行される。
【００２１】
利用者Aは，その端末3Aからサーバ１を経由してアプリX記憶領域30_X内のアプリXにアクセスしアプリXの利用を要求することで，アプリXを利用するサービスを受けることができる。利用者Aの端末3AからのアプリXの利用要求に応答して，アプリX記憶領域30_X内の利用者データ記憶領域設定部32内に，利用者Aのデータ記憶領域USERA_DSのアクセス情報であるURLアドレス「USERA_DS」が設定されると共に，利用者Aデータ記憶領域USERA_DS内にアプリXのデータ記憶領域20（APLX_D）が生成される。
【００２２】
これにより，利用者Aがその端末3AからアプリXにアクセスして実行すると，アプリXは利用者Aデータ記憶領域USERA_DS内のアプリXデータ記憶領域APLX_Dにアクセスして，生成したデータをそこに格納し，参照するデータをそこから読み出す。これにより，利用者Aは，どの端末からアプリXを実行しても，同じ利用者Aデータ記憶領域USERA_DS内のアプリXデータ記憶領域APLX_Dにデータが格納され，またはデータが参照される。
【００２３】
利用者Bも同様にしてアプリXとアプリYを利用可能にしている。その結果，アプリX記憶領域30_XとアプリY記憶領域30_Y内の利用者データ記憶領域設定部32内に，利用者Bのデータ記憶領域USERB_DSのアクセス情報であるURLアドレス「USERB_DS」が設定され，同時に，利用者Bデータ記憶領域USERB_DS内にアプリXのデータ記憶領域20（APLX_D）とアプリYのデータ記憶領域20（APLY_D）とが生成されている。
【００２４】
これにより，利用者Bがその端末3BからアプリXにアクセスして実行すると，アプリXは利用者Bデータ記憶領域USERB_DS内のアプリXデータ記憶領域APLX_Dにアクセスして，生成したデータをそこに格納し，参照するデータをそこから読み出す。同様に，利用者Bがその端末3BからアプリYにアクセスして実行すると，アプリYは利用者Bデータ記憶領域USERB_DS内のアプリXデータ記憶領域APLX_Dにアクセスしてリードライトを実行する。したがって，利用者Bは，アプリXまたはアプリYのいずれかをどの端末から実行しても，同じ利用者Bデータ記憶領域USERB_DS内のアプリXデータ記憶領域APLX_DまたはアプリYデータ記憶領域APLY_Dにデータが格納され，またはデータが参照される。
【００２５】
本実施の形態では，ストレージ領域２内に，アプリを利用可能にするインストール工程で，各利用者データ記憶領域１０内にアプリデータ記憶領域２０を生成（インストール）するためのアプリデータ記憶領域インストールプログラム４０が格納されている。さらに，各アプリ記憶領域３０内には，それぞれのアプリデータ記憶領域を生成するために参照されるアプリデータ記憶領域定義体ファイル50（APLX_DD，APLY_DD）が格納されている。
【００２６】
本実施の形態では，このアプリデータ記憶領域定義体ファイル50に，アプリデータ記憶領域内のデータ構造情報と，データ構造へのアクセス制御情報が設定されたロール情報と，データ構造に対する各ロールのアクセス権を規定するアクセス制御情報とが含まれている。ここで，ロールとは，利用者が法人であれば役職や部署及びセクションなどそのアカウント利用者の法人内での役割を示す一般名称であり，利用者が個人であれば例えば仕事用と個人用などのアカウントの役割や家族や友人などの個人社会での役割を示す一般名称である。
【００２７】
以上のように，本実施の形態では，SaaSに関連して，複数のアプリに対するデータ領域を利用者毎に集約する利用者データ記憶領域を提供するサービスにおいて，特に，アプリを利用可能にするアプリのインストール工程でアプリデータ記憶領域を生成する処理が行われる。
【００２８】
図３は，本実施の形態におけるサーバの構成図である。管理サーバ１は，CPU１００と，メモリ１０１と，入出力装置１０２と，通信装置１０３と，プログラムやデータが記憶されたHDDやSDDなどのストレージ領域１０４とを有する。ストレージ領域１０４内には，利用者データ記憶領域を提供するサービスの管理処理を実行する管理プログラム１０５と，管理用データ１０６とが記憶されている。
【００２９】
図４は，サーバ１のプロセッサであるＣＰＵにより実行されるサーバの管理プログラムの機能を示す図である。管理プログラム１０５がＣＰＵ１００により実行されることにより，ＣＰＵ１００は，利用者端末からのアプリへのアクセスの制御を行うアクセス制御部105_1を実現する。このアクセス制御部105_1は，利用者端末からのアプリへのアクセスにおいて，利用者データ記憶領域１０内に生成されているアプリデータ記憶領域２０内のデータへのアクセスを提供する。
【００３０】
管理プログラム１０５がＣＰＵ１００により実行されることにより，ＣＰＵ１００は，利用者との契約に基づいて，利用者データ記憶領域システムのストレージ領域１０４内に利用者データ記憶領域１０を生成し，その利用者データ記憶領域１０の維持管理を行う利用者データ記憶部管理部105_2を実現する。更に，管理プログラム１０５がＣＰＵ１００により実行されることにより，ＣＰＵ１００は，利用者からのアプリの利用要求に応答して，利用者データ記憶領域１０内に，そのアプリのデータ記憶領域２０を生成し，維持管理するアプリデータ記憶領域管理部105_3を実現する。このアプリデータ記憶領域管理部105_3は，さらにアプリデータ記憶領域インストールプログラム４０をＣＰＵ１００により実行させることにより，上記のアプリデータ記憶領域２０を生成する。
【００３１】
更に，管理プログラム１０５がＣＰＵ１００により実行されることにより，ＣＰＵ１００は，利用者データ記憶領域１０を共用する複数のアカウントの管理を行うアカウント管理部105_4を実現する。この複数のアカウントは，前述のとおり，利用者データ記憶領域１０の契約者が法人の場合は，その従業員に割当られるアカウントである。法人の従業員は，このアカウントに基づいて端末からアプリにアクセスして実行し，アプリを介して利用者データ記憶領域１０内のアプリデータ記憶領域２０にアクセスしてアプリのデータを参照する。また，利用者データ記憶領域１０の契約者が個人の場合は，複数のアカウントは，個人の役割，例えば仕事という役割や，プライベートという役割に対応するアカウントであり，更に，家族や友人といった個人生活での他人に対応するアカウントの場合もある。
【００３２】
また，管理プログラム１０５がＣＰＵ１００により実行されることにより，ＣＰＵ１００は，アプリ毎に設定されている複数の役割を管理するロール管理部105_5を実現する。アプリ毎に設定されている複数の役割は，それぞれのアプリデータ記憶領域の識別情報に関連付けた役割として，利用者データ記憶領域１０内に設定される。したがって，利用者データ記憶領域１０内に設定される役割は，「社長」や「一般社員」などの同じ一般名称であっても，アプリデータ記憶領域が異なれば，異なる役割と見なされる。
【００３３】
さらに，管理プログラム１０５がＣＰＵ１００により実行されることにより，ＣＰＵ１００は，図５のアプリデータ記憶領域インストールプログラム４０により生成されるロールテーブルに含まれる複数のロールに対する複数のユーザアカウントの関連付けの情報を端末から受信し，利用者データ記憶領域に記憶する関連付け情報設定部105_6を有する。
【００３４】
図５は，サーバ１により実行されるアプリデータ記憶領域インストールプログラム４０の機能を示す図である。アプリデータ記憶領域インストールプログラム４０がＣＰＵ１００により実行されることにより，ＣＰＵ１００は，アプリデータ記憶領域の名称を利用者端末からの入力に基づいて決定し，アプリデータ記憶領域の定義体ファイルのアクセス情報（パス情報）を利用要求されているアプリのアプリ記憶領域から取得し，必要に応じてインストール権限の認証を行う事前準備処理部40_1を実現する。
【００３５】
更に，アプリデータ記憶領域インストールプログラム40がＣＰＵ１００により実行されることにより，ＣＰＵ１００は，取得した定義体ファイルのパス情報に基づいて定義体ファイル50をアプリ記憶領域30から取得して利用者データ記憶領域１０内に展開するアプリデータ記憶領域定義体ファイルの展開部40_2を実現する。そして，アプリデータ記憶領域インストールプログラム40がＣＰＵ１００により実行されることにより，ＣＰＵ１００は，アプリデータ記憶領域定義体ファイルに基づいて，アプリデータ記憶領域20を生成するアプリデータ記憶領域生成部40_3と，アプリデータ記憶領域20内にデータ構造領域DATA_Sを生成するデータ構造領域生成部40_4と，利用者データ記憶領域10内にロールテーブルを生成するロールテーブル生成部40_5と，アプリデータ記憶領域20内にアクセス制御情報テーブルを生成するアクセス権テーブル生成部40_6とを実現する。
【００３６】
［アプリとアプリデータ記憶領域のインストール処理］
図６，図７は，利用者端末3A,3BからのアプリXの利用要求からアプリデータ記憶領域がインストール完了するまでの処理手順を示すフローチャート図である。前提として，利用者AまたはBは，既に，ストレージ領域２内に利用者データ記憶領域１０を生成済みであり，その利用者の複数の社員に対してアカウントが割り当てられている。
【００３７】
図６に示されるとおり，最初に，利用者がその端末からサーバ１を介してアプリXにアクセスし，アプリXの利用要求を行う（S1,S2）。この利用要求に応答して，図示しないが，管理サーバ１のアクセス制御部105_1は，アプリXに対して利用者登録等のアプリの利用を可能化するための処理を実行する。
【００３８】
そして，利用者端末３は，管理サーバ１のアプリデータ記憶領域管理部105_3を介して利用者データ記憶領域１０の利用権限の認証を要求し（S3)，利用者データ記憶領域１０から認証情報を取得する（S4)。それにより，管理サーバ１のアプリデータ記憶領域管理部105_3は，利用者端末に対して利用者データ記憶領域１０の利用権限に基づいてアプリのインストール権限の認証を行う（S5)。この認証により，利用者データ記憶領域１０内にアプリXのアプリデータ記憶領域２０をインストールすることが承認される。
【００３９】
そして，管理サーバ１のアプリデータ記憶領域管理部105_3からの要求に応答して（S6），利用者端末３が利用者データ記憶領域１０のアクセス情報であるURLアドレスを入力すると（S7），管理サーバ１のアプリデータ記憶領域管理部105_3は，利用要求されているアプリXのアプリX記憶領域３０内の利用者データ記憶領域設定部32に，その利用者データ記憶領域１０のアクセス情報（URLアドレス）を設定する（S8)。これにより，アプリXに，利用要求をしてきた利用者のデータを格納する利用者データ記憶領域１０のアクセス先が設定される。
【００４０】
そこで，アプリXのデータ記憶領域２０をインストールするアプリデータ領域インストールプログラム（API）４０が起動される（S11）。この起動は，利用者端末３からのアプリXデータ記憶領域のインストールの要求（S9)に応答して行われる。または，この起動は，管理サーバ１のアプリデータ記憶領域管理部105_3が，上記のアクセス情報（URLアドレス）の設定後にアプリデータ領域インストールプログラム（API）４０を自動的に起動（S10)しても良い。
【００４１】
インストールプログラム（API）４０は，利用者端末３にアプリXデータ記憶領域の名称を入力させて（S12），その名称を決定する（S13）。更に，インストールプログラム（API）４０は，利用要求されているアプリXが格納されているアプリX記憶領域３０にアクセスして，アプリX記憶領域３０内に格納されているアプリデータ記憶領域定義体ファイル50のパス情報を取得する（S14）。インストールプログラム40は，利用者からのアプリXの利用要求に応答して，管理サーバ１のアプリデータ記憶領域管理部105_3により直接又は間接的に起動されている。したがって，インストールプログラム40はどのアプリ記憶領域内の定義体ファイルを取得する必要があるかを把握していて，上記の定義体ファイル50のパス情報の取得が可能である。
【００４２】
そして，インストールプログラム（API)４０は，利用者端末３に利用者データ記憶領域１０を利用する権限を認証する認証情報を入力させ（S15)，インストール権限の認証処理を行う（S16)。この認証処理は，既に管理サーバ１のアプリデータ記憶領域管理部105_3により行われているので（S5)，省略しても良い。または，前述の処理S5を省略して，インストールプログラム（API)４０による認証処理（S16)に代えても良い。
【００４３】
そして，図７に示されるとおり，インストールプログラム（API)40は，アプリXデータ記憶領域２０を生成するインストール処理を開始する（S20)。
【００４４】
インストールプログラム40は，上記の取得したパス情報に基づいて，アプリXのアプリデータ記憶領域定義体ファイル50（APLX_DD）を，アプリX記憶領域30_Xから取得し，管理サーバ１に解凍させ（S22)，解凍した定義体ファイルAPLX_DDを，利用者データ記憶領域１０内に展開して格納する（S23)。
【００４５】
図８は，利用者データ記憶領域の構成を示す図である。図８は，利用者Aのデータ記憶領域USERA_DSの例である。利用者Aデータ記憶領域USERA_DS内には，上記のインストールプログラム40による処理S23で，アプリXのデータ記憶領域定義ファイルAPLX_DDが格納されている。更に，後述するインストール処理により，利用者Aデータ記憶領域USERA_DSには，ロールテーブルR_TABLEと，アプリX用のデータ記憶領域APLX_D(20)とが生成される。
【００４６】
図９は，アプリデータ記憶領域定義体ファイルの構成を示す図である。アプリXのアプリデータ記憶領域定義体ファイル50（APLX_DD）は，メタデータ51と，アプリデータ記憶領域のデータ構造情報52とを有する。メタデータ51には，管理データ51_1と，ロールデータ51_2と，アクセス制御情報データ51_3とが含まれている。
【００４７】
ロールデータ51_2内には，図１１に示されるとおり，アプリX内で定義されている全てのロールの情報（role1,  role2,  role3）が含まれている。アクセス制御情報データ51_3内には，アプリデータ記憶領域のデータ構造の各ディレクトリやファイルに対する各ロールのアクセス権限が含まれている。
【００４８】
そして，管理データ51_1には，定義体ファイルのバージョン情報と，定義体ファイルが対象にしているアプリデータ記憶領域のバージョン情報と，アプリデータ記憶領域名称情報と，アプリ識別情報であるアプリのURLアドレスとが含まれる。この例では，アプリデータ記憶領域の名称は，前述の工程S12,S13で端末から入力された「アプリXデータ」と決定されている。
【００４９】
また，アプリデータ記憶領域のデータ構造情報52には，例えば，ルートディレクトリroot以下のディレクトリの構造情報とファイルが含まれている。また，データ構造がリレーショナルデータベースの場合は，そのデータベース構造が含まれる。
【００５０】
図７に戻り，インストールプログラム40によるアプリXデータ記憶領域の生成処理について更に説明する。インストールプログラム40は，図９のアプリデータ記憶領域定義体ファイル50（APLX_DD）のメタデータ51の管理データ51_1の定義体ファイルバージョンと，アプリデータ記憶領域バージョンとをチェックして，適切な定義体ファイルであることを確認するとともに，利用者データ記憶領域10(USERA_DS)内にアプリXデータ記憶領域APLX_Dが生成（インストール）済みか否かチェックして生成済みでないことを確認する。確認できれば，利用者データ記憶領域10(USERA_DS)内にアプリXデータ記憶領域20（APLX_D）を生成する（S24）。図８には，アプリXデータ記憶領域20（APLX_D）が生成されていることが示されている。いずれかが確認できないと，利用者端末にエラーが返信されてアプリデータ記憶領域の生成を拒絶する。
【００５１】
次に，インストールプログラム40は，図９のアプリデータ記憶領域定義体ファイル50（APLX_DD)のアプリデータ記憶領域のデータ構造情報52に基づいて，アプリXデータ記憶領域20（APLX_D）内にデータ構造領域DATA_Sを生成する（S25）。図８に示されるとおりである。
【００５２】
図１０は，アプリデータ記憶領域のデータ構造情報の例と，それに基づいて生成されたアプリXデータ記憶領域内のデータ構造領域の例とを示す図である。図１０のデータ構造情報５２は，ルートディレクトリroot以下のディレクトリ構造と，ディレクトリに格納されるデータファイルの情報を有する。インストールプログラム40は，このデータ構造情報５２に基づいて，アプリXデータ記憶領域20（APLX_D）内にデータ構造領域DATA_Sを生成する。この例では，生成されたデータ構造領域DATA_Sは，ディレクトリdir1，dir1-1，dir2と，ディレクトリdir1-1に格納されたファイルuserdata1-1.jpgと，ディレクトリdir2に格納されたファイルuserdata102.jpgとを有する。
【００５３】
図７に戻り，インストールプログラム40は，図９のアプリデータ記憶領域定義体ファイル50（APLX_DD）のアプリデータ記憶領域のメタデータ51内のロールデータ51_2に基づいて，利用者Aデータ記憶領域10（USERA_DS）内にロールテーブルR_TABLEを生成する（S26）。図８に示されるとおりである。既に，他のアプリのロール情報を有するロールテーブルが生成済みの場合は，そのロールテーブルにアプリXのロール情報を追加する。これにより，管理者は，利用者Aデータ記憶領域10（USERA_DS）を共用して利用する複数のアカウントに対して，アプリ毎のロール情報を対応付けることができる。
【００５４】
図１１は，アプリデータ記憶領域定義体ファイル50（APLX_DD）のロールデータ51_2の例と，それに基づいて生成されたロールテーブルR_TABLEの例とを示す図である。アプリAのアプリデータ記憶領域定義体ファイル内のロールデータ51_2は，そのアプリA内のロール情報を有する。図１１の例では，３つのロール名role1,  role2,  role3が含まれている。それに対して，ロールテーブルR_TABLEには，３つのロール名role1,  role2,  role3と，そのアプリデータ記憶領域名「アプリXデータ」が関連付けられている。その結果，関連付けられたロール名は，X/role1,  X/role2,  X/role3となっている。このようにアプリデータ記憶領域の識別情報でロール名を関連づけることで，異なるアプリが同じロール名を有していても，利用者データ記憶領域内でユニークなロール名にすることができる。
【００５５】
図１１に示されるとおり，ロールテーブルR_TABLEは，アプリデータ記憶領域名で関連付けられたロール名を有するロール情報である。したがって，ロールテーブルR_TABLEは，テーブル形式ではなく，単に関連付けロール名を有するロール情報でも良い。ロールテーブルR_TABLEとロール情報は，実質的に同じである。
【００５６】
図１２は，複数のアプリデータ記憶領域それぞれに複数のロールroleが定義されている例を示す図である。図１２に示されるように，アプリXデータ記憶領域のロールも，アプリYデータ記憶領域のロールも，「doctor」「staff」「patient」と同じ名称の場合がありうる。その場合，複数のアプリデータ記憶領域に共通に生成されるロールテーブルでは，ロール名に各アプリデータ記憶領域の識別情報を関連付けたロール名にすることで，それぞれのロール名を一意に区別することができる。
【００５７】
図７に戻り，インストールプログラム40は，図９のアプリデータ記憶領域定義体ファイル50（APLX_DD)のアクセス制御情報データ51_3と図１１のロールテーブルR_TABLEとに基づいて，アクセス制御情報テーブルAPLX_AATABLEをアプリXデータ記憶領域20（APLX_D）内に生成する（S27）。図８に示されるとおりである。
【００５８】
図１３は，アクセス制御情報テーブルAPLX_AATABLEの例を示す図である。この例では，データ構造領域DATA_S内のデータ構造である３つのディレクトリに対する，各ロールのアクセス権限が設定されている。図１１のロールテーブルR_TABLEでは，アプリXの３つのロール名role1,  role2,  role3にアプリデータ記憶領域名「アプリXデータ」が関連付けられていたことに伴い，アクセス制御情報テーブルAPLX_AATABLEでも，アプリXの３つのロール名role1,  role2,  role3が，アプリデータ記憶領域名「アプリXデータ」の「X」で関連付けられて，ロール名がX/role1,  X/role2,  X/role3となっている。
【００５９】
アクセス制御情報テーブルAPLX_AATABLEには，各ディレクトリについて各関連付けされたロールがどのようなアクセス権限を有するかが設定されている。例えば，ディレクトリdir1では，ロールX/role1は全てアクセス権限を有し，ロールX/role2，X/role3はアクセス権限を有していない。
【００６０】
なお，アクセス制御情報テーブルは必ずしもテーブルである必要はなく，ディレクトリなどに対して各関連付けロールのアクセス権限を有するアクセス制御情報であればよい。
【００６１】
図７に戻り，インストールプログラム40は，アプリXデータ記憶領域を生成するインストール処理を完了する（S28)。そして，最後に，利用者端末３から利用者の管理者が，複数のアカウントとロールテーブルR_TABLE内の各ロールとの対応付けを行う（S29)。この対応付けは，手動で行われても良く，または対応付けツールを生成した上でそのツールによって行っても良い。
【００６２】
図１４は，アカウントとロールテーブル内の各ロールとの関連付け処理を説明する図である。インストールプログラム40によるアプリデータ記憶領域のインストール処理が完了すると，図１４に示される管理者による関連付け情報29以外は全て生成が完了している。すなわち，利用者Aデータ記憶領域20内には，ロールテーブルR_TABLEと，アプリXデータ記憶領域20とが生成済みであり，アプリXデータ記憶領域20内には，データ構造領域DATA_Sと，データ構造領域DATA_Sに対するロールテーブル内の各ロールのアクセス権限を規定したアクセス制御情報テーブルAPLX_AATABLEとが生成済みである。そして，利用者Aデータ記憶領域20は，複数のアカウントACによって共用されている。
【００６３】
ロールテーブルR_TABLE内の各ロールは，法人の役職や部署についての一般名称であるか，または各ロールについて法人の役職や部署の説明が付属されている。一方，アカウントACは法人の社員または従業員に対応しているので，管理者は，それぞれのアカウントの法人内での役職や部署の属性情報を知ることができる。したがって，管理者は，各アカウントACを，各アカウントACの法人内での役職や部署の属性情報に最も対応するまたは近似するロールテーブルR_TABLE内のロールに関連付けることを，容易に行うことができる。
【００６４】
そこで，インストールプログラム40によるアプリデータ記憶領域のインストール処理が完了した後に，管理者は，上記の関連付け情報29を設定し，サーバ1は設定された関連付け情報２９を利用者データ記憶領域内に記憶する関連付け設定処理S29を実行することで，各アカウントACに対するデータ構造領域内の各ディレクトリやデータベースへのアクセス制御情報の設定を完了することができる。上記の関連付け情報29は，例えば利用者データ記憶領域10内に格納される。
【００６５】
図１４の例では，アカウントACのうち，CEOであるアカウント１は社長のロールX/role1に対応付けられ，人事部社員であるアカウント２は経理・人事社員のロールX/role2に対応付けられ，XX部社員であるアカウント３は一般社員のロールX/role3に対応付けられている。
【００６６】
図１５は，利用者によるアプリデータ記憶領域内のデータへのアクセスのフローチャート図である。利用者は，利用者端末３のブラウザからサーバ１にアクセスして，ストレージ領域２内のアプリXにアクセスする（S30,S31）。そして，利用者は，利用者端末３からアカウント情報と，パスワードなどの認証情報を入力し，アプリXはそのアカウントを認証する（S33）。認証をパスした後，利用者は，利用者端末３から実行中のアプリXにてアプリXのデータに対するアクセス要求を送信する（S34）。アプリXは，アカウントに対応する利用者データ記憶領域10内のアプリXデータ記憶領域20にアクセスして，アプリXデータ記憶領域20内のアカウントとロールとの関連付け情報29に基づいて，アカウントに対応付けされたロールを特定し，アクセス制御情報テーブルAPLX_AATABLEを参照して，そのアカウントに対応付けられたロールに設定されているアクセス権限に基づいて，データのアクセス要求を許可または拒否する（S35)。許可された場合は，利用者端末３は要求したデータを取得する（S36)。
【００６７】
以上説明したとおり，本実施の形態によれば，利用者がアプリを利用可能にするインストール処理において，そのアプリのアプリデータ記憶領域定義体ファイルに基づいて，利用者データ記憶領域10内にそのアプリのアプリデータ記憶領域20を生成し，更に，利用者データ記憶領域10内にアプリのデータ構造に対するアクセス制御情報が設定された複数のロールを有するロールテーブル（またはロール情報）を生成する。それにより，容易にまたは少ない工数で，利用者データ記憶領域10を共用する複数のアカウントを設定された複数のロールに対応付けることができる。したがって，新たにインストールしたアプリデータ記憶領域に対するアクセス制御情報の設定工数を減らすことができる。
【符号の説明】
【００６８】
10：利用者データ記憶領域
20：アプリデータ記憶領域
DATA_S：データ構造領域
R_TABLE：ロールテーブル（ロール情報）
APLEX_AATABLE：アクセス制御情報テーブル（アクセス制御情報）
AC：アカウント
29：アカウントとロールとの対応付け情報
【図１】
2015045048.tif 000003
【図２】
2015045048.tif 000004
【図３】
2015045048.tif 000005
【図４】
2015045048.tif 000006
【図５】
2015045048.tif 000007
【図６】
2015045048.tif 000008
【図７】
2015045048.tif 000009
【図８】
2015045048.tif 000010
【図９】
2015045048.tif 000011
【図１０】
2015045048.tif 000012
【図１１】
2015045048.tif 000013
【図１２】
2015045048.tif 000014
【図１３】
2015045048.tif 000015
【図１４】
2015045048.tif 000016
【図１５】
2015045048.tif 000017
【手続補正書】
【提出日】平成28年12月26日(2016.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションの利用要求に応答して，前記アプリケーションが記憶されているアプリ記憶領域から，前記アプリケーションのデータ構造情報とロールデータとを有するアプリデータ記憶領域定義体ファイルを取得する工程と，
複数のユーザアカウントにより共用される利用者データ記憶領域内に，前記データ構造情報に基づいて，前記アプリケーションのデータを記憶するデータ構造領域を有するアプリデータ記憶領域を生成する工程と，
前記利用者データ記憶領域内に，前記ロールデータに基づいて，前記アプリケーションのデータ構造に対するアクセス制御情報が設定された複数のロールを有するアクセス制御情報テーブルを生成する工程と，
前記アクセス制御情報テーブルに含まれる前記複数のロールに対する前記複数のユーザアカウントの関連付けの情報を，前記利用者データ記憶領域内に記憶する工程と
がプロセッサにより実行されるアプリデータ記憶領域の生成方法。
【請求項２】
請求項１において，
前記アクセス制御情報テーブル内の複数のロールは，前記アプリデータ記憶領域定義体ファイル内の前記ロールデータに前記アプリデータ記憶領域の識別情報を属性情報として関連付けた，アプリデータ記憶領域識別情報付きロールを有するアプリデータ記憶領域の生成方法。
【請求項３】
請求項１において，
更に，前記アプリケーションの利用要求に応答して，前記利用者データ記憶領域へのアクセス先情報を，前記アプリ記憶領域内に設定する工程を有するアプリデータ記憶領域の生成方法。
【請求項４】
請求項１において，
更に，前記アプリケーションの利用要求に応答して，前記利用者データ記憶領域の認証情報に基づいて認証する工程を有し，
前記認証に基づいて，前記アプリデータ記憶領域の生成が実行されるアプリデータ記憶領域の生成方法。
【請求項５】
アプリケーションの利用要求に応答して，前記アプリケーションが記憶されているアプリ記憶領域から，前記アプリケーションのデータ構造情報とロールデータとを有するアプリデータ記憶領域定義体ファイルを取得する定義体ファイル取得部と，
複数のユーザアカウントにより共用される利用者データ記憶領域内に，前記データ構造情報に基づいて，前記アプリケーションのデータを記憶するデータ構造領域を有するアプリデータ記憶領域を生成するアプリデータ記憶領域生成部と，
前記利用者データ記憶領域内に，前記ロールデータに基づいて，前記アプリケーションのデータ構造に対するアクセス制御情報が設定された複数のロールを有するアクセス制御情報テーブルを生成するアクセス制御情報テーブル生成部と，
前記アクセス制御情報テーブルに含まれる前記複数のロールに対する前記複数のユーザアカウントの関連付けの情報を，前記利用者データ記憶領域に記憶する関連付け情報設定部とを有するアプリデータ記憶領域の生成装置。
【請求項６】
アプリケーションのデータを格納するアプリデータ記憶領域を生成するアプリデータ記憶領域生成処理をコンピュータに実行させるアプリデータ記憶領域生成プログラムにおいて，前記アプリデータ記憶領域生成処理は，
アプリケーションの利用要求に応答して，前記アプリケーションが記憶されているアプリ記憶領域から，前記アプリケーションのデータ構造情報とロールデータとを有するアプリデータ記憶領域定義体ファイルを取得する工程と，
複数のユーザアカウントにより共用される利用者データ記憶領域内に，前記データ構造情報に基づいて，前記アプリケーションのデータを記憶するデータ構造領域を有するアプリデータ記憶領域を生成する工程と，
前記利用者データ記憶領域内に，前記ロールデータに基づいて，前記アプリケーションのデータ構造に対するアクセス制御情報が設定された複数のロールを有するアクセス制御情報テーブルを生成する工程と，
前記アクセス制御情報テーブルに含まれる前記複数のロールに対する前記複数のユーザアカウントの関連付けの情報を，前記利用者データ記憶領域内に記憶する工程とを有するアプリデータ記憶領域生成プログラム。
【国際調査報告】
2015045048.tif 000018
2015045048.tif 000019
2015045048.tif 000020