以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。なお、ここでは、本発明を、CADアプリケーションを用いて作成された後述するアセンブリデータ及び3次元図面データに対するアクセスを制御するアクセス制御装置に適用した形態例について説明する。また、以下では、アセンブリデータ及び3次元図面データを区別せずに総称する場合は、「図面データ」という。
[第1の実施の形態]
まず、図1〜図3を参照して、本実施の形態に係るアクセス制御処理の概要について説明する。図1に示すように、本実施の形態に係るアクセス制御装置10Aは、イントラネット等のネットワーク12を介して、設計端末14及び参照端末16と接続されている。
構成部品及び組み立て品の設計を行う設計者は、設計端末14でCADアプリケーションを使用して、構成部品を表すデータである3次元図面データ、及び構成部品を参照する組み立て品を表すデータであるアセンブリデータを作成する。図2には、3次元図面データ及びアセンブリデータの親子関係の一例が示されている。図2の部品1〜部品3は3次元図面データであり、アセンブリ1及びアセンブリ2はアセンブリデータである。また、図2に示すように、アセンブリ1は部品1及びアセンブリ2を参照するアセンブリデータであり、アセンブリ2は部品2及び部品3を参照するアセンブリデータである。なお、本実施の形態では、アセンブリ1及び部品1等の各図面データに対応する図面名が図面データの属性情報として、図面データに埋め込まれている。
また、以下では、図2のアセンブリ1及びアセンブリ2のように、他のアセンブリデータ及び3次元図面データの少なくとも一方の図面データを参照するデータを「親データ」という。また、以下では、図2のアセンブリ2及び部品1〜部品3のように、他のアセンブリデータ(親データ)から参照される図面データを「子データ」という。
設計者は、図面データを作成すると、各図面データを一意に識別する識別情報の一例としての部品ID(Identifier)を図面データ毎に指定して、アクセス制御装置10Aに送信して登録する。
一方、図3に示すように、図面データに対するアクセス権を管理する管理者は、設計者によりアクセス制御装置10Aに登録された図面データに対して、図面データを参照する参照ユーザに対するアクセス権を付与する。
ところで、従来、以上説明した図面データに対するアクセス制御では、管理者は、図4に示すように、アクセス制御装置10Aに登録された全ての図面データの各々に対して、個別にアクセス権を付与する必要があった。このため、図面データに対するアクセス権の設定や管理に多大な手間が費やされていた。
また、図4に示す図面構成の場合に、例えば、アセンブリ2に対する設計変更が発生し、図5に示すように、設計者がアセンブリ2の部品3を部品4に置き換えて、参照ユーザに管理者によって部品4に対するアクセス権が付与されていない場合、アセンブリ1に対してアクセスが可能だった参照ユーザは、アセンブリ1が参照する部品4を読み込めなくなってしまっていた。従って、管理者は、設計変更が生じるたびに図面データに対するアクセス権の再設定が必要であり、図面データに対するアクセス権の設定や管理に多大な手間が費やされていた。
そこで、本実施の形態に係るアクセス制御装置10Aには、親データに設定されているアクセス権を子データのアクセス権として、子データに対するアクセスを制御するアクセス制御機能が搭載されている。図6を参照して、本実施の形態に係るアクセス制御機能を実行する場合のアクセス制御装置10Aの構成について説明する。なお、図6には、本実施の形態に係るアクセス制御機能を実行するための機能ブロック図が示されている。また、本実施の形態に係るアクセス制御装置10Aは、アクセス制御機能の実行時の動作モードとして、一例として、後述する親優先モード、対象優先モード、制限高優先モード、及び制限低優先モードの何れかの動作モードがユーザにより設定可能とされている。
図6に示すように、本実施の形態に係るアクセス制御装置10Aは、受付部20、図面データ管理部22、データ変換部24、アクセス権管理部26、部品表管理部28、送信部30、及び記憶部46を備えている。なお、受付部20は受付手段の一例であり、図面データ管理部22及びアクセス権管理部26は制御手段の一例である。
まず、設計者によるアクセス制御装置10Aに対する図面データの登録、及び管理者による図面データに対するアクセス権の登録について説明する。前述したように、設計者は、設計端末14で作成した図面データ毎に部品IDを指定してアクセス制御装置10Aに送信する。一方、本実施の形態に係る受付部20は、図面データ及び部品IDを受け付けて、図面データ管理部22に出力する。
本実施の形態に係る図面データ管理部22は、受付部20から入力された図面データをデータ変換部24に出力する。本実施の形態に係るデータ変換部24は、図面データ管理部22から入力された図面データを暗号化し、暗号化した図面データ(以下、「暗号化図面データ」という。)を図面データ管理部22に出力する。図面データ管理部22は、データ変換部24から入力された暗号化図面データを記憶部46に記憶する。また、図面データ管理部22は、受付部20から入力された図面データの属性情報により示される図面名及び部品IDを対応付けて、図面管理データとして、記憶部46に記憶する。また、図面データ管理部22は、図面データ毎のアクセス権の管理に用いる、図面データ毎に一意のアクセス権IDを生成して、図面管理データとして、図面名及び部品IDと対応付けて記憶部46に記憶する。さらに、図面データ管理部22は、対応する暗号化図面データの記憶部46における格納先を示す格納パスを図面管理データとして、図面名及び部品IDと対応付けて記憶部46に記憶する。
図7には、図面管理データの一例が示されている。図7に示すように、本実施の形態に係る図面管理データでは、図面データ毎に、図面名、部品ID、アクセス権ID、及び格納パスが記憶される。なお、図7では、一例として、図2に示した図面データをアクセス制御装置10Aに登録した場合の図面管理データを示している。
一方、前述したように、管理者は、例えば図示しない管理者端末から、アクセス制御装置10Aに登録された図面データのうち、少なくとも親データに対する参照ユーザからのアクセス権を設定するアクセス権データをアクセス制御装置10Aに送信する。受付部20は、アクセス権データを受け付けて、アクセス権管理部26に出力する。
本実施の形態に係るアクセス権管理部26は、受付部20から入力されたアクセス権データを記憶部46に記憶する。
図8には、アクセス権データの一例が示されている。図8に示すように、本実施の形態に係るアクセス権データは、アクセス権ID、ユーザID、及び許可操作を含む。アクセス権IDは、図面管理データ(図7参照。)のアクセス権IDに対応する。ユーザIDは、アクセス権IDに対応する図面データに対するアクセスを許可する参照ユーザを識別する情報を示している。許可操作は、対応するユーザIDにより特定される参照ユーザに対して、対応するアクセス権IDに対応する図面データに対して許可される操作を示している。
図8に示すように、本実施の形態では、ユーザIDとして、電子メールアドレスを適用しているが、これに限定されず、例えば、社員番号等の参照ユーザを一意に識別可能な他の情報を適用してもよい。なお、図8のユーザIDの「*」は正規表現のワイルドカード(すなわち、任意の文字列)を表し、「design.xxxx.yyyy」は設計部門を表している。
また、本実施の形態では、許可操作として、参照、印刷、及び編集の3種類の操作を適用しているが、これに限定されず、これらの操作のうち2種類以下の操作を適用してもよいし、他の操作を適用してもよい。
従って、図8に示したアクセス権データは、アセンブリ1、部品1、及びアセンブリ2の各図面データに対しては、設計部門に所属する全てのユーザについて編集が可能であることを示している。また、図8に示したアクセス権データは、部品2及び部品3の各図面データに対しては、設計部門に所属する全てのユーザについて参照が可能であることを示している。
なお、本実施の形態では、許可操作における制限の度合の高さは、参照、印刷、編集の順番で低くなるものとされており、許可されている操作より高い度合の制限の操作も可能とされている。具体的には、許可操作として編集が指定されている場合は、参照、印刷、及び編集の全ての操作が可能とされている。また、許可操作として印刷が指定されている場合は、編集の操作が不可能とされ、参照及び印刷の操作が可能とされている。さらに、許可操作として参照が指定されている場合は、印刷及び編集の操作が不可能とされ、参照の操作のみが可能とされている。
一方、設計者は、設計端末14を使用して、各図面データの親子関係(参照関係)を部品IDで管理する部品表データを、アクセス制御装置10Aに送信する。
受付部20は、設計端末14から部品表データを受け付けて、部品表管理部28に出力する。本実施の形態に係る部品表管理部28は、受付部20から入力された部品表データを記憶部46に記憶する。図9には、部品表データの一例が示されている。図9に示すように、本実施の形態に係る部品表データは、各図面データの親子関係が木構造で表される。なお、図9の部品表データは、図2のアセンブリ1に対応するものである。また、図9の括弧内の数字は部品IDを示している。
次に、参照ユーザから図面データがアクセスされた場合のアクセス権の評価について説明する。本実施の形態では、例えば、参照ユーザは、参照端末16を使用して、親データ(本実施の形態では、最上位の親データであるアセンブリ1)にアクセスする。参照端末16において、親データがアクセスされると、参照端末16は、親データによって参照される子データを順次読み込む。そして、参照端末16は、最上位の親データ、及び最上位の親データと読み込んだ各子データとの組み合わせについて、図面名及び参照端末16を操作している参照ユーザのユーザIDを、アクセス制御装置10Aに順次送信する。なお、以下では、アクセス権の評価対象となる図面データを「対象データ」という。
具体的には、例えば、参照端末16は、図2に示したアセンブリ1を読み込んだ場合、次の表1に示す組み合わせの各々について、各図面データの図面名及び参照ユーザのユーザIDをアクセス制御装置10Aに順次送信する。
受付部20は、上記組み合わせの親データの図面名、対象データの図面名、及びユーザIDを受け付けて、アクセス権管理部26に出力する。
アクセス権管理部26は、図面管理データを参照して、受付部20から入力された親データの図面名に対応する部品ID及びアクセス権IDと、対象データの図面名に対応する部品ID及びアクセス権IDとを各々取得する。
なお、以下では、親データの図面名に対応する部品ID及びアクセス権IDを、各々「親部品ID」及び「親アクセス権ID」という。また、以下では、対象データの図面名に対応する部品ID及びアクセス権IDを、各々「対象部品ID」及び「対象アクセス権ID」という。また、アクセス権管理部26は、親部品ID及び対象部品IDの組み合わせを部品表管理部28に出力する。
部品表管理部28は、アクセス権管理部26から入力された親部品ID及び対象部品IDの組み合わせについて、部品表データを参照して、親子関係が正しいか否かを判定し、判定結果をアクセス権管理部26に出力する。アクセス権管理部26は、部品表管理部28により親子関係が正しくないと判定された場合、エラー通知を送信部30を介して参照端末16に送信する。この送信に伴い、参照端末16は、親子関係が正しくないことを示す情報を、例えば参照端末16のディスプレイに表示する。
一方、アクセス権管理部26は、部品表管理部28により親子関係が正しいと判定された場合、以下の処理を行う。アクセス権管理部26は、アクセス権データを参照して、親アクセス権IDに対応するユーザIDに、受付部20から入力されたユーザIDが含まれる場合は、該ユーザIDに対応する許可操作を取得する。また、アクセス権管理部26は、アクセス権データを参照して、対象アクセス権IDに対応するユーザIDに、受付部20から入力されたユーザIDが含まれる場合は、該ユーザIDに対応する許可操作を取得する。なお、本実施の形態では、錯綜を回避するために、対象アクセス権IDに対応するユーザIDに、受付部20から入力されたユーザIDが含まれない場合は、該ユーザIDに対応する許可操作として、許可操作が無いことを示す「無し」が取得されるものとして説明する。
また、アクセス権管理部26は、対象データに対するアクセス権(以下、「対象アクセス権」という)として、取得した親アクセス権IDに対応する許可操作、及び取得した対象アクセス権IDに対応する許可操作の何れを優先するかを上記動作モードに応じて決定する。そして、アクセス権管理部26は、決定した対象アクセス権、及び対象アクセス権IDに対応する対象部品IDを図面データ管理部22に出力する。ここで、上記動作モードについて詳細に説明する。
親優先モードとは、親アクセス権IDに対応する許可操作、及び対象アクセス権IDに対応する許可操作のうち、親アクセス権IDに対応する許可操作を優先する動作モードである。例えば、動作モードが親優先モードであり、親アクセス権IDに対応する許可操作が「編集」であり、対象アクセス権IDに対応する許可操作が「参照」である場合、アクセス権管理部26は、対象アクセス権として「編集」を出力する。
また、対象優先モードとは、親アクセス権IDに対応する許可操作、及び対象アクセス権IDに対応する許可操作のうち、対象アクセス権IDに対応する許可操作を優先する動作モードである。例えば、動作モードが対象優先モードであり、親アクセス権IDに対応する許可操作が「編集」であり、対象アクセス権IDに対応する許可操作が「参照」である場合、アクセス権管理部26は、対象アクセス権として「参照」を出力する。
また、制限高優先モードとは、親アクセス権IDに対応する許可操作、及び対象アクセス権IDに対応する許可操作のうち、制限の度合が高い方の許可操作を優先する動作モードである。例えば、動作モードが制限高優先モードであり、親アクセス権IDに対応する許可操作が「編集」であり、対象アクセス権IDに対応する許可操作が「参照」である場合、アクセス権管理部26は、対象アクセス権として「参照」を出力する。
また、制限低優先モードとは、親アクセス権IDに対応する許可操作、及び対象アクセス権IDに対応する許可操作のうち、制限の度合が低い方の許可操作を優先する動作モードである。例えば、動作モードが制限低優先モードであり、親アクセス権IDに対応する許可操作が「編集」であり、対象アクセス権IDに対応する許可操作が「参照」である場合、アクセス権管理部26は、対象アクセス権として「編集」を出力する。
なお、本実施の形態に係るアクセス制御装置10Aは、ユーザにより動作モードが設定されていない場合は、デフォルトの動作モードとして、親優先モードを適用して動作する。
図面データ管理部22は、アクセス権管理部26から入力された対象部品IDに対応する暗号化図面データを記憶部46から読み出し、データ変換部24に出力する。データ変換部24は、図面データ管理部22から入力された暗号化図面データを復号化し、復号化して得られた図面データを図面データ管理部22に出力する。また、図面データ管理部22は、データ変換部24から入力された図面データ、及びアクセス権管理部26から入力された対象アクセス権を、送信部30を介して参照端末16に送信する。
次に、登録済みの図面データに対して設計変更等により変更が生じた場合について説明する。
設計者は、設計端末14のCADアプリケーションを使用して、登録済みの図面データに対する変更を行い、該変更の内容を示す図面変更情報をアクセス制御装置10Aに送信する。具体的には、例えば、図4に示したアセンブリ2に対して、図5に示した変更(部品3を部品4に置き換える変更)が生じた場合、図面変更情報として、部品4の図面データ、部品4の部品ID、及びアセンブリ2の部品3が部品4に置き換えられたことを示す情報が送信される。受付部20は、図面変更情報を受け付けて、図面データ管理部22に出力する。
図面データ管理部22は、受付部20から入力された図面変更情報に含まれる図面データをデータ変換部24に出力する。データ変換部24は、図面データ管理部22から入力された図面データを暗号化し、暗号化図面データを図面データ管理部22に出力する。図面データ管理部22は、データ変換部24から入力された暗号化図面データを記憶部46に記憶する。また、図面データ管理部22は、受付部20から入力された図面変更情報に含まれる図面データの属性情報により示される図面名及び部品IDを対応付けて、図面管理データとして、記憶部46に記憶する。また、図面データ管理部22は、上記図面データに対応するアクセス権IDを生成して、図面管理データとして、図面名及び部品IDと対応付けて記憶部46に記憶する。さらに、図面データ管理部22は、対応する暗号化図面データの記憶部46における格納先を示す格納パスを図面管理データとして、図面名及び部品IDと対応付けて記憶部46に記憶する。
具体的には、アセンブリ2の部品3を部品4に置き換える変更が生じた場合、図7に示した図面管理データに対し、図10に示すように部品4のレコードが追加される。
また、設計者は、上記変更に対応して、設計端末14を使用して、部品表データを変更する部品表変更情報を、アクセス制御装置10Aに送信する。受付部20は、部品表変更情報を受け付けて、部品表管理部28に出力する。
部品表管理部28は、受付部20から入力された部品表変更情報に従って、部品表データを更新する。具体的には、アセンブリ2の部品3を部品4に置き換える変更が生じた場合、図9に示した部品表データは、図11に示す部品表データに更新される。
次に、登録済みの図面データに対してアクセス権の変更が生じた場合について説明する。
管理者は、管理者端末を使用して、アクセス制御装置10Aに登録された図面データに対する参照ユーザからのアクセス権を変更するアクセス権変更情報をアクセス制御装置10Aに送信する。具体的には、管理者は、例えば、管理者端末のディスプレイに表示されたアクセス権変更画面を介して、アクセス権変更情報をアクセス制御装置10Aに送信する。図12には、本実施の形態に係るアクセス権変更画面の一例が示されている。なお、図12のアクセス権変更画面は、アセンブリ2に対して、ユーザIDが「User1@fac.xxxx.yyyy」のユーザからの参照を許可するアクセス権を追加する場合を示している。図12に示すように、管理者はプルダウンメニューから追加、又は削除する操作を選択して完了ボタンを指定することにより、管理者により選択された操作に応じたアクセス権変更情報をアクセス制御装置10Aに送信する。なお、本実施の形態に係るアクセス権変更画面では、アクセス権を追加する場合は、文字列の先頭に「+」が記載されている操作を選択し、アクセス権を削除する場合は、文字列の先頭に「−」が記載されている操作を選択する。
受付部20は、アクセス権変更情報を受け付けて、アクセス権管理部26に出力する。アクセス権管理部26は、受付部20から入力されたアクセス権変更情報に従って、記憶部46に記憶されたアクセス権データを更新する。例えば、図12に示すように、アセンブリ2に対してユーザIDが「User1@fac.xxxx.yyyy」のユーザからの参照を許可するアクセス権が追加された場合、図8に示したアクセス権データに対して、図13に示すように、アクセス権IDが「A3」で、ユーザIDが「User1@fac.xxxx.yyyy」で、かつ許可操作が「参照」のレコードが追加される。
以上説明したアクセス制御装置10Aは、例えば図14に示すコンピュータ40Aで実現される。本実施の形態に係るコンピュータ40Aは、CPU(Central Processing Unit)42、一時記憶領域としてのメモリ44、及び不揮発性の記憶部46を備える。また、コンピュータ40Aは、表示装置及び入力装置等の入出力装置48が接続される入出力I/F(InterFace)50を備える。また、コンピュータ40Aは、記録媒体52に対するデータの読み込みと書き込みとを制御するR/W(Read/Write)部54、及びネットワークに接続されるネットワークI/F56を備える。CPU42、メモリ44、記憶部46、入出力I/F50、R/W部54、及びネットワークI/F56は、バス58を介して互いに接続される。
記憶部46は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現される。記憶媒体としての記憶部46には、コンピュータ40Aをアクセス制御装置10Aとして機能させるための各種プログラムが記憶される。各種プログラムには、後述する図面データ登録処理プログラム、アクセス権登録処理プログラム、部品表登録処理プログラム、アクセス制御処理プログラム、アクセス権評価処理プログラム、図面データ変更処理プログラム、部品表変更処理プログラム、及びアクセス権変更処理プログラムが含まれる。
CPU42は、上記各種プログラムの各々を記憶部46から読み出してメモリ44に展開し、各種プログラムが有するプロセスを順次実行する。CPU42は、上記各種プログラムの各々を実行することで、図6に示す受付部20、図面データ管理部22、データ変換部24、アクセス権管理部26、部品表管理部28、及び送信部30として動作する。これにより、各種プログラムがインストールされたコンピュータ40Aが、アクセス制御装置10Aとして機能する。
次に、本実施の形態に係るアクセス制御装置10Aの作用を説明する。本実施の形態では、コンピュータ40Aにより図面データ登録処理プログラムを実行させることで、図15に示す図面データ登録処理が実行される。
図面データ登録処理のステップ100で、受付部20は、図面データ及び部品IDの受け付け待ちを行う。受付部20が、図面データ及び部品IDを受け付けるとステップ100の判定が肯定判定となり、ステップ102に移行する。
ステップ102で、データ変換部24は、ステップ100で受け付けられた図面データを暗号化して暗号化図面データを出力する。次のステップ104で、図面データ管理部22は、ステップ102で出力された暗号化図面データを記憶部46に記憶する。
ステップ106で、図面データ管理部22は、ステップ100で受け付けられた図面データの属性情報により示される図面名及び部品IDを対応付けて、図面管理データとして、記憶部46に記憶する。また、図面データ管理部22は、図面データ毎にアクセス権IDを生成して、図面管理データとして、図面名及び部品IDと対応付けて記憶部46に記憶する。さらに、図面データ管理部22は、ステップ104で記憶された暗号化図面データの記憶部46における格納先を示す格納パスを図面管理データとして、図面名及び部品IDと対応付けて記憶部46に記憶する。
ステップ108で、図面データ管理部22は、本図面データ登録処理を終了するタイミングとして予め定められたタイミングが到来したか否かを判定し、否定判定となった場合はステップ100に戻る一方、肯定判定となった時点で本図面データ登録処理を終了する。なお、本実施の形態では、上記予め定められたタイミングとして、ユーザによって本図面データ登録処理の終了を指示する指示入力が行われたタイミングを適用しているが、これに限定されないことは言うまでもない。
一方、コンピュータ40Aによりアクセス権登録処理プログラムを実行させることで、図16に示すアクセス権登録処理が実行される。
アクセス権登録処理のステップ120で、受付部20は、アクセス権データの受け付け待ちを行う。受付部20が、アクセス権データを受け付けるとステップ120の判定が肯定判定となり、ステップ122に移行する。
ステップ122で、アクセス権管理部26は、ステップ120で受け付けられたアクセス権データを記憶部46に記憶する。
ステップ124で、アクセス権管理部26は、本アクセス権登録処理を終了するタイミングとして予め定められたタイミングが到来したか否かを判定し、否定判定となった場合はステップ120に戻る一方、肯定判定となった時点で本アクセス権登録処理を終了する。なお、本実施の形態では、上記予め定められたタイミングとして、ユーザによって本アクセス権登録処理の終了を指示する指示入力が行われたタイミングを適用しているが、これに限定されないことは言うまでもない。
一方、コンピュータ40Aにより部品表登録処理プログラムを実行させることで、図17に示す部品表登録処理が実行される。
部品表登録処理のステップ140で、受付部20は、部品表データの受け付け待ちを行う。受付部20が、部品表データを受け付けるとステップ140の判定が肯定判定となり、ステップ142に移行する。
ステップ142で、部品表管理部28は、ステップ140で受け付けられた部品表データを記憶部46に記憶する。
ステップ144で、部品表管理部28は、本部品表登録処理を終了するタイミングとして予め定められたタイミングが到来したか否かを判定し、否定判定となった場合はステップ140に戻る一方、肯定判定となった時点で本部品表登録処理を終了する。なお、本実施の形態では、上記予め定められたタイミングとして、ユーザによって本部品表登録処理の終了を指示する指示入力が行われたタイミングを適用しているが、これに限定されないことは言うまでもない。
一方、コンピュータ40Aによりアクセス制御処理プログラムを実行させることで、図18に示すアクセス制御処理が実行される。なお、本アクセス制御処理の各ステップの処理は、例えば、ユーザにより参照端末16を使用して図2に示すアセンブリ1が読み込まれた場合、表1に示した5つの組み合わせの各々について、順次実行される。すなわち、この場合、各ステップの処理が計5回実行される。
アクセス制御処理のステップ160で、受付部20は、親データの図面名、対象データの図面名、及びユーザIDの受け付け待ちを行う。受付部20が、親データの図面名、対象データの図面名、及びユーザIDを受け付けると、ステップ160の判定が肯定判定となり、ステップ162に移行する。
ステップ162で、アクセス権管理部26は、図面管理データを参照して、ステップ160で受け付けられた対象データの図面名に対応する対象部品IDを取得する。次のステップ164で、アクセス権管理部26は、ステップ160で受け付けられた親データの図面名が無しであるか否かを判定し、否定判定となった場合はステップ166に移行する一方、肯定判定となった場合はステップ174に移行する。
ステップ166で、アクセス権管理部26は、図面管理データを参照して、ステップ160で受け付けられた親データの図面名に対応する親部品IDを取得する。次のステップ168で、部品表管理部28は、部品表データを参照して、ステップ162で取得された対象部品IDと、ステップ166で取得された親部品IDとが、親子関係であるか否かを判定する。この判定が、否定判定となった場合はステップ170に移行する一方、肯定判定となった場合はステップ172に移行する。なお、本実施の形態では、例えば図2のアセンブリ1と部品1のように直接的な親子関係であることに加え、アセンブリ1と部品2のように、間に他のアセンブリデータを介した間接的な親子関係であることも親子関係であることに含む。
ステップ170で、部品表管理部28は、ステップ162で取得された対象部品ID、及びステップ166で取得された親部品IDが、親子関係で無いことを示すエラー情報を、送信部30を介して参照端末16に送信した後、ステップ188に移行する。参照端末16は、該エラー情報を受信すると、例えば、読み込まれた親データと対象データとが親子関係で無いことを示す情報を参照端末16のディスプレイに表示する。
ステップ172で、アクセス権管理部26は、図面管理データを参照して、ステップ160で受け付けられた親データの図面名に対応する親アクセス権IDを取得する。次のステップ174で、アクセス権管理部26は、図面管理データを参照して、ステップ160で受け付けられた対象データの図面名に対応する対象アクセス権IDを取得する。次のステップ176で、アクセス権管理部26は、図19に示すアクセス権評価処理を実行する。
アクセス権評価処理のステップ200で、アクセス権管理部26は、アクセス権データを参照して、対象アクセス権として、ステップ174で取得された対象アクセス権ID、及びステップ160で受け付けられたユーザIDに対応する許可操作を取得する。次のステップ202で、アクセス権管理部26は、ステップ160で受け付けられた親データの図面名が無しであるか否かを判定する。この判定が否定判定となった場合はステップ204に移行する一方、肯定判定となった場合は本アクセス権評価処理を終了する。
ステップ204で、アクセス権管理部26は、アクセス権データを参照して、親データに対するアクセス権(以下、「親アクセス権」という。)として、ステップ172で取得された親アクセス権ID及びステップ160で受け付けられたユーザIDに対応する許可操作を取得する。次のステップ206で、アクセス権管理部26は、動作モードが親優先モードであるか否かを判定する。この判定が肯定判定となった場合はステップ208に移行する一方、否定判定となった場合はステップ210に移行する。
ステップ208で、アクセス権管理部26は、ステップ200で取得された対象アクセス権を、ステップ204で取得された親アクセス権で更新した後、本アクセス権評価処理を終了する。
ステップ210で、アクセス権管理部26は、動作モードが制限高優先モードであるか否かを判定する。この判定が肯定判定となった場合はステップ212に移行する一方、否定判定となった場合はステップ216に移行する。
ステップ212で、ステップ204で取得された親アクセス権の制限の度合の高さが、ステップ200で取得された対象アクセス権の制限の度合の高さより高いか否かを判定する。この判定が肯定判定となった場合はステップ214に移行する一方、否定判定となった場合は本アクセス権評価処理を終了する。
ステップ214で、アクセス権管理部26は、ステップ200で取得された対象アクセス権を、ステップ204で取得された親アクセス権で更新した後、本アクセス権評価処理を終了する。
ステップ216で、アクセス権管理部26は、動作モードが制限低優先モードであるか否かを判定する。この判定が肯定判定となった場合はステップ218に移行する一方、否定判定となった場合は動作モードが対象優先モードであると見なして本アクセス権評価処理を終了する。
ステップ218で、ステップ204で取得された親アクセス権の制限の度合の高さが、ステップ200で取得された対象アクセス権の制限の度合の高さより高いか否かを判定する。この判定が否定判定となった場合はステップ220に移行する一方、肯定判定となった場合は本アクセス権評価処理を終了する。
ステップ220で、アクセス権管理部26は、ステップ200で取得された対象アクセス権を、ステップ204で取得された親アクセス権で更新した後、本アクセス権評価処理を終了する。
以上のアクセス権評価処理が終了するとアクセス制御処理のステップ178に戻り、図面データ管理部22は、以上の処理により対象アクセス権が設定されているか否かを判定する。この判定が否定判定となった場合はステップ180に移行する一方、肯定判定となった場合はステップ182に移行する。
ステップ180で、図面データ管理部22は、対象データに対するアクセス権が無いことを示すエラー情報を、送信部30を介して参照端末16に送信した後、ステップ188に移行する。参照端末16は、該エラー情報を受信すると、例えば、対象データを読み込めないことを示す情報を参照端末16のディスプレイに表示する。
ステップ182で、図面データ管理部22は、図面管理データを参照し、ステップ162で取得された対象部品IDに対応する暗号化図面データを記憶部46から読み込む。次のステップ184で、データ変換部24は、ステップ182で読み込まれた暗号化図面データを復号化する。
次のステップ186で、図面データ管理部22は、ステップ184で復号化して得られた図面データ及びステップ176で設定された対象アクセス権を、送信部30を介して参照端末16に送信した後、ステップ188に移行する。参照端末16は、図面データ及び対象アクセス権を受信すると、対象アクセス権に応じたアクセス権で、図面データを参照端末16のディスプレイに表示する。
ステップ188で、図面データ管理部22は、本アクセス制御処理を終了するタイミングとして予め定められたタイミングが到来したか否かを判定し、否定判定となった場合はステップ160に戻る一方、肯定判定となった時点で本アクセス制御処理を終了する。なお、本実施の形態では、上記予め定められたタイミングとして、ユーザによって本アクセス制御処理の終了を指示する指示入力が行われたタイミングを適用しているが、これに限定されないことは言うまでもない。
一方、コンピュータ40Aにより図面データ変更処理プログラムを実行させることで、図20に示す図面データ変更処理が実行される。
図面データ変更処理のステップ240で、受付部20は、図面変更情報の受け付け待ちを行う。受付部20が、図面変更情報を受け付けるとステップ240の判定が肯定判定となり、ステップ242に移行する。
ステップ242で、データ変換部24は、ステップ240で受け付けられた図面変更情報に含まれる図面データを暗号化して暗号化図面データを出力する。次のステップ244で、図面データ管理部22は、ステップ242で出力された暗号化図面データを記憶部46に記憶する。
ステップ246で、図面データ管理部22は、ステップ240で受け付けられた図面変更情報に含まれる図面データの属性情報により示される図面名及び部品IDを対応付けて、図面管理データとして、記憶部46に記憶する。また、図面データ管理部22は、上記図面データに対応するアクセス権IDを生成して、図面管理データとして、図面名及び部品IDと対応付けて記憶部46に記憶する。さらに、図面データ管理部22は、ステップ244で記憶された暗号化図面データの記憶部46における格納先を示す格納パスを、図面管理データとして、図面名及び部品IDと対応付けて記憶部46に記憶する。
ステップ248で、図面データ管理部22は、本図面データ変更処理を終了するタイミングとして予め定められたタイミングが到来したか否かを判定し、否定判定となった場合はステップ240に戻る一方、肯定判定となった時点で本図面データ変更処理を終了する。なお、本実施の形態では、上記予め定められたタイミングとして、ユーザによって本図面データ変更処理の終了を指示する指示入力が行われたタイミングを適用しているが、これに限定されないことは言うまでもない。
一方、コンピュータ40Aにより部品表変更処理プログラムを実行させることで、図21に示す部品表変更処理が実行される。
部品表変更処理のステップ260で、受付部20は、部品表変更情報の受け付け待ちを行う。受付部20が、部品表変更情報を受け付けるとステップ260の判定が肯定判定となり、ステップ262に移行する。
ステップ262で、部品表管理部28は、ステップ260で受け付けられた部品表変更情報に従って、記憶部46に記憶された部品表データを更新する。
次のステップ264で、部品表管理部28は、本部品表変更処理を終了するタイミングとして予め定められたタイミングが到来したか否かを判定し、否定判定となった場合はステップ260に戻る一方、肯定判定となった時点で本部品表変更処理を終了する。なお、本実施の形態では、上記予め定められたタイミングとして、ユーザによって本部品表変更処理の終了を指示する指示入力が行われたタイミングを適用しているが、これに限定されないことは言うまでもない。
一方、コンピュータ40Aによりアクセス権変更処理プログラムを実行させることで、図22に示すアクセス権変更処理が実行される。
アクセス権変更処理のステップ280で、受付部20は、アクセス権変更情報の受け付け待ちを行う。受付部20が、アクセス権変更情報を受け付けるとステップ280の判定が肯定判定となり、ステップ282に移行する。
ステップ282で、アクセス権管理部26は、ステップ280で受け付けられたアクセス権変更情報に従って、記憶部46に記憶されたアクセス権データを更新する。
次のステップ284で、アクセス権管理部26は、本アクセス権変更処理を終了するタイミングとして予め定められたタイミングが到来したか否かを判定し、否定判定となった場合はステップ280に戻る一方、肯定判定となった時点で本アクセス権変更処理を終了する。なお、本実施の形態では、上記予め定められたタイミングとして、ユーザによって本アクセス権変更処理の終了を指示する指示入力が行われたタイミングを適用しているが、これに限定されないことは言うまでもない。
以上説明したように、本実施の形態によれば、一例として図23に示すように、アクセス権が設定されていない子データ(図23に示す例では部品4)がアクセスされた場合に、親データ(図23に示す例ではアセンブリ1)に設定されているアクセス権を、該子データのアクセス権として、該子データに対するアクセスを制御している。
[第2の実施の形態]
本実施の形態では、上記第1の実施の形態と同様の処理により、設計者によって作成された図面データを、例えば該図面データに基づいて部品を製造する会社等の他の組織に共有する場合について説明する。まず、図24を参照して、本実施の形態に係るアクセス制御装置10Bの機能的な構成について説明する。なお、図24における図6と同一の機能を有する構成要素については、図6と同一の符号を付して、その説明を省略する。
図24に示すように、本実施の形態に係るアクセス制御装置10Bは、共有データ生成部60、及び共有データ記憶部62をさらに備えている。
管理者は、設計者により作成された図面データを他の組織に共有するためのアクセス権データ(以下、「共有アクセス権データ」という。)をアクセス制御装置10Bに送信する。受付部20及びアクセス権管理部26は、上記第1の実施の形態と同様の処理により、共有アクセス権データを、記憶部46における上記第1の実施の形態でアクセス権データを記憶した記憶領域とは異なる記憶領域に記憶する。
図25には、図8のアクセス権データに対応する共有アクセス権データの一例が示されている。図25に示すように、共有アクセス権データのフォーマットは、上記第1の実施の形態に係るアクセス権データと同じフォーマットとされている。なお、図25の「aaa.bbb」は、図面データの共有先の組織を表している。
なお、本実施の形態では、暗号化図面データ、図面管理データ、及び部品表データの各データについては、上記第1の実施の形態で記憶部46に記憶した各データを用いるが、これに限定されない。例えば、上記第1の実施の形態と同様の処理により、他の組織に共有するために各データを記憶部46に別途記憶してもよい。
本実施の形態に係る共有データ生成部60は、記憶部46から暗号化図面データ、図面管理データ、共有アクセス権データ、及び部品表データの各データを読み出す。そして、共有データ生成部60は、読み出した各データを含む1つの圧縮ファイルを生成して、共有データとして共有データ記憶部62に記憶する。
このように、本実施の形態に係る共有データ生成部60は、上記各データを含む1つの圧縮ファイルを生成しているがこれに限定されない。例えば、共有データ生成部60は、上記各データを含む未圧縮の1つのアーカイブファイルを生成してもよい。また、例えば、共有データ生成部60は、新たなファイルを生成せず、上記各データの各々を、そのまま個別に共有データ記憶部62に記憶してもよい。
以上説明したアクセス制御装置10Bは、例えば図26に示すコンピュータ40Bで実現される。なお、図26における図14と同一の機能を有する構成要素については、図14と同一の符号を付して、その説明を省略する。
本実施の形態に係るコンピュータ40Bは、不揮発性の共有データ記憶部62をさらに備える。また、本実施の形態に係る共有データ記憶部62は、共有データの共有先の組織から共有データが読み込み可能とされている。また、共有データ記憶部62も、上記第1の実施の形態で説明した各部とバス58を介して互いに接続される。また、共有データ記憶部62も、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現される。
記憶部46には、共有データ生成処理プログラムがさらに記憶される。CPU42は、共有データ生成処理プログラムを実行することで、図24に示す共有データ生成部60として機能する。これにより、各種プログラムがインストールされたコンピュータ40Bが、アクセス制御装置10Bとして機能する。
次に、本実施の形態に係るアクセス制御装置10Bの作用を説明する。本実施の形態では、コンピュータ40Bにより共有データ生成処理プログラムを実行させることで、図27に示す共有データ生成処理が実行される。
共有データ生成処理のステップ300で、共有データ生成部60は、記憶部46から暗号化図面データ、図面管理データ、共有アクセス権データ、及び部品表データの各データを読み出す。
次のステップ302で、共有データ生成部60は、ステップ300で読み出された各データを含む1つの圧縮ファイルを生成する。次のステップ304で、共有データ生成部60は、ステップ302で生成された圧縮ファイルを、共有データとして共有データ記憶部62に記憶した後、本共有データ生成処理を終了する。
共有先の組織のユーザは、共有データ生成処理により共有データ記憶部62に記憶された共有データを読み出す。そして、共有先の組織のユーザは、共有データを解凍して得られた暗号化図面データ、図面管理データ、共有アクセス権データ、及び部品表データを用いて、図面データにアクセスする。
なお、上記各実施の形態では、アクセス制御機能の実行時の動作モードとして、4つの動作モードを適用した場合について説明したが、これに限定されない。例えば、動作モードとして、3つ以下の動作モードを適用する形態としてもよいし、他の動作モードを追加する形態としてもよい。また、例えば、動作モードとして、親優先モードのみを適用する形態としてもよい。
また、上記各実施の形態では、図面データを暗号化する場合について説明したが、これに限定されない。例えば、図面データを暗号化しない形態としてもよい。この形態例では、データ変換部24は不要となる。
また、上記各実施の形態では、アクセス制御の対象として、CADアプリケーションにより作成された図面データを適用した場合について説明したが、これに限定されない。例えば、アクセス制御の対象として、HTML(HyperText Markup Language)ファイル、XML(eXtensible Markup Language)ファイル、他の文書データ及び図面データを含む文書データ等の他のデータを参照するデータを適用する形態としてもよい。
また、上記各実施の形態では、各機能部を1台のコンピュータで実現する場合について説明したが、これに限定されず、複数台のコンピュータで実現する形態としてもよいことは言うまでもない。
さらに、上記各実施の形態では、各種プログラムが記憶部46に予め記憶(インストール)されている態様を説明したが、これに限定されない。各種プログラムは、CD−ROM(Compact Disk Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)、USB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、各種プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。