以下、図面を参照して、本発明の実施の形態の一例について説明する。
図1を参照して、本発明の実施形態における、情報処理システムのシステム構成の一例について説明する。図1は、本発明の実施形態における、情報処理システムのシステム構成の一例を示す図である。
ファイル管理サーバ100は、クライアントPC200からアップロード(送信)されたファイル、及び、当該ファイルを構成する構成情報を記憶、管理している。
ここでいう構成情報とは、3次元CADファイル(3次元モデルデータ)におけるアセンブリであり、具体的には、例えば、アセンブリから特定されるファイル(3次元CADファイルの構成物=部品データ等)の保存場所、構成順序、参照ファイルの存否、ファイルの状態(コンフィギュレーション)、員数等の情報であるものとする。
LAN101は、ファイル管理サーバ100とクライアントPC200を通信可能に接続するネットワークである。
クライアントPC200は、ファイル及びファイルの構成情報(アセンブリ)を記憶している。また、当該クライアントPC200が記憶しているファイルの構成情報と、クライアントPC200からファイル管理サーバ100にアップロードされたファイルの構成情報とを取得して、比較し、比較結果を表示する処理を行う。ここでいうファイルとは、例えば、3次元CADファイルである。
また、ファイル管理サーバ100は外部メモリにPDMソフトウェア(Product Data Managementソフトウェア/製品データ管理ソフトウェア/以下、PDMと記載)を記憶している。
クライアントPC200は、PDM、及び上述した構成情報の比較処理を行う比較ツール(PDMのアドオン機能としてのツール)を所定の領域に記憶している。上述したようにPDMはクライアントPC200及びファイル管理サーバ100の双方にインストールされており、クライアントPC200にインストールされているPDMは、クライアントPC200(比較ツール)がファイル管理サーバのPDMにデータの要求を行う場合のAPI(Application Programing Interface/以下、API)として機能する。
クライアントPC200からアップロードされたファイルは、ファイル管理サーバ100が当該ファイル管理サーバ100の外部メモリに記憶して保持し、ファイル管理サーバ100のPDMが当該ファイルの保存場所、状態の管理、データの解析、解析結果の送受信を行うものとする。
クライアントPC200のCPUは、クライアントPC200のPDMを起動させた場合、当該アドオンとしての当該比較ツールをクライアントPCの記憶領域上の特定のフォルダから読み出して、当該PDMのメニュー画面に、当該比較ツールの起動ボタンを表示する。
そして、当該起動ボタンの押下指示を受け付けた場合に、当該比較ツールを起動して、ユーザからの操作指示に応じて、図4〜6の処理を実行するものとする。以上が図1の、本発明の実施形態における、情報処理システムのシステム構成の一例についての説明である。
次に図2を参照して、本発明の実施形態における、各装置のハードウェア構成の一例について説明する。図2は、本発明の実施形態における、各装置のハードウェア構成の一例を示す図である。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN101)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上が図2の、本発明の実施形態における、各装置のハードウェア構成の一例についての説明である。
次に図3を参照して、本発明の実施形態における、各装置の機能構成の一例について説明する。図3は、本発明の実施形態における、各装置の機能構成の一例を示す図である。
ファイル構成記憶部321は、クライアントPC200の外部メモリに記憶されたファイルの構成情報(アセンブリ/アセンブリファイル)を記憶する記憶部である。
ファイルアップロード処理部322は、ファイル管理サーバ100に対してファイルを送信(アップロード)する処理部である。例えば、3次元CADファイル及びその構成情報(アセンブリファイル)を送信する。ローカルファイル構成情報取得部323は、ファイル管理サーバ100にアップロードすべく指定を受け付けた、クライアントPC200の外部メモリに記憶されているファイルの構成情報を取得する取得部である。
アップロードファイル構成情報受信部324は、ファイル管理サーバ100に対して、ファイル管理サーバ100に送信済のファイルの構成情報を要求し(アセンブリ要求手段に該当)、当該構成情報を受信する受信部である。構成比較処理部325は、ローカルファイル構成情報取得部323で取得した構成情報と、アップロードファイル構成情報受信部324で受信した構成情報とを比較する処理部である。
比較結果表示部326は、構成比較処理部325で比較した結果を識別可能に表示画面に表示する表示処理部である。
アップロードファイル受付部311は、クライアントPC200から送信されたファイルを受信して、アップロードを受け付ける受付部である。アップロードファイル構成情報記憶部312は、アップロードファイル受付部311でアップロードを受け付けたファイル(アップロードファイル/3次元CADファイル)の構成情報(アセンブリファイル)を記憶する記憶部である(アセンブリ記憶手段に該当)。
アップロードファイル構成情報取得部313は、クライアントPC200からの指示に応じて、アップロードファイル(送信済ファイル/送信済みファイル)の構成情報を取得する取得部である。アップロードファイル構成情報送信部314は、アップロードファイル構成情報取得部313で取得した構成情報をクライアントPC200に送信する送信部である(アセンブリ送信手段に該当)。以上が図3の、本発明の実施形態における、各装置の機能構成の一例についての説明である。
次に、図16を参照して、本発明の実施形態における、ファイルのアップロード処理の一例について説明する。図16は、本発明の実施形態における、ファイルのアップロード処理の一例を示すフローチャートである。
クライアントPC200のCPU201は、クライアントPC200に設定されたOSの機能を用い、ユーザからのファイル選択操作に応じて、ファイル管理サーバ100へコピーして送信(アップロード)するファイル(データ)の選択を実行し(ステップS1601)、ユーザからの当該データの送信指示を受け付ける。
例えば、クライアントPC200のCPU201は、ユーザからの操作指示に応じてPDMを起動し、当該PDMのウインドウ内において展開するパス(URI)の指定を受け付け、ファイル管理サーバ100の外部メモリ上の所定の記憶領域を開く。
クライアントPC200のCPU201は、例えば、クライアントPC200に設定されたOS上のドラッグ&ドロップの操作による、クライアントPC200の外部メモリに記憶されたファイルの、当該PDMのウインドウ上への移動(送信/アップロード)の操作を受け付けたことを(起動中のPDMを介して)検知すると、当該PDMのウインドウにおいて展開中のファイル管理サーバ100のフォルダパスに対して、選択されたファイルを送信する(ステップS1602)。
例えば、送信対象のとして選択されたファイルがフォルダであった場合、当該フォルダ内ファイル、データを送信先に送信する。当該フォルダには、例えば、3次元CADファイル、当該3CADファイルを構成するために必要なファイル(例えば、3次元CADファイル内のモデルデータを構成する部品データ)、及び、当該構成の参照関係を示すアセンブリ情報(アセンブリファイル)等が含まれる。
上述したように、ここでいう送信対象のファイルは、3次元CADファイル、当該3CADファイルを構成するために必要なファイル(例えば、3次元CADファイル内のモデルデータを構成する部品データ)、及び、当該構成の参照関係を示すアセンブリファイル(構成情報/アセンブリ情報)であり、少なくとも、当該アセンブリファイルを含むものとする。
尚、ここでファイル管理サーバに送信される情報は、比較を行うファイルの構成情報を特定するために必要となるデータの一例であり、当該構成情報を特定することが可能な情報であれば、上述した形式に限られるものではない。
クライアントPC200のCPU201は、当該送信指示に応じて、ユーザから受け付けた選択操作に応じて選択した全てのファイルを送信先(ファイル管理サーバ100の所定の記憶領域)に送信済か判定し(ステップS1603)、送信済みである場合、処理を終了し、送信済みでない場合、処理をステップS1604に移行する。
クライアントPC200のCPU201は、送信済のファイル数が所定数を超過したか判定する(ステップS1604)。当該所定数の値は、クライアントPC200のOSに設定されており、外部記憶領域に予め記憶・管理されているものとする。
所定数を超過したと判定した場合、処理を終了し、所定数を超過していないと判定した場合、選択したファイルを1つ取得して、送信処理を開始する(ステップS1605)。
なお、ここでは、クライアントPC200のCPU201は、上述した送信ファイルに加えて、当該アップロード対象のファイルの保存されているファイルパス及びクライアントPC200のIPアドレス(識別情報)を送信し、当該ファイルがいずれの装置のいずれの場所に格納されたかの情報と共に、当該情報を履歴として記憶する要求を送信するものとする。
ファイル管理サーバ100のCPU201は、当該ファイルのデータを受信し(ステップS1606)、外部メモリ上の所定の記憶領域(ユーザから指定を受け付けた記憶場所)に記憶する処理を実行する(ステップS1607)。
また、アップロードの履歴(送信履歴)を記憶する履歴テーブルを生成して、当該ファイルのファイル名、送信元のクライアントPC200上のフォルダパス、当該ファイルを記憶したファイル管理サーバ100上のフォルダパス等の情報を格納して外部メモリに記憶する。履歴テーブルについては、図19の説明で後述する。
ここで図19を参照して、本発明の実施形態における、ファイルのアップロードの履歴テーブルの一例について説明する。図19は、本発明の実施形態における、ファイルのアップロードの履歴テーブルの一例を示す図である。
履歴テーブル1900は、ファイル管理サーバ100によって、クライントPD200からの要求に応じて生成され、当該ファイル管理サーバ100の外部メモリに記憶されるものとする。
No1901は、履歴情報の識別情報である。ファイル名1902は、アップロードされたファイルのファイル名である。
移動元IP1903は、当該ファイルのアップロード元の装置(ここではクライアントPC200)の識別情報である。移動元パス1904は、当該ファイルのアップロード元のフォルダパス(ここではクライアントPC200における、アップロード直前の保存場所のフォルダパス)である。
移動先IP1905は、当該ファイルのアップロード先の装置(ここではファイル管理サーバ100)の識別情報である。移動先パス1906は、当該ファイルのアップロード先のフォルダパス(ここではファイル管理サーバ100における、当該ファイルが保存される先のフォルダパス)である。以上が図19の、本発明の実施形態における、ファイルのアップロードの履歴テーブルの一例についての説明である。
図16の説明に戻る。クライアントPC200のCPU201は、当該送信指示に応じた、ファイル(データ)の送信処理を開始してから所定の時間が経過したか判定する(ステップS1608)。例えば、送信対象のファイルが複数指定されており、当該複数のファイルを送信先に送信する場合、送信対象のファイルを1つ取得して送信先に送信する処理を順次行う。ここでは、当該取得した1つのファイルの送信処理が開始されてから所定の時間が経過したか否かを判定する。
尚、当該所定の時間の情報は、クライアントPC200のOSに設定され、外部記憶領域に予め記憶・管理されているものとする。
ファイルの送信開始から所定時間が経過したと判定した場合、ファイルの送信処理を中断し、処理を終了する。つまり、クライアントPC200のCPU201が、ファイル容量、ファイル管理サーバ100との通信状況から以降のファイルの送信が困難と判断し、送信処理中のファイル及び送信対象として選択した未送信のファイルの送信処理を中断し、処理を終了するものである。ファイルの送信開始から所定時間が経過していないと判定した場合、送信処理を継続し、処理をステップS1609に移行する。
クライアントPC200のCPU201は、ステップS1605で送信中のファイルの送信処理が完了したか判定する(ステップS1609)。送信が完了したと判定した場合、処理をステップS1603に戻し、送信が完了していないと判定した場合、送信処理を継続する。以上が図16の、本発明の実施形態におけるファイルのアップロード処理の一例についての説明である。
次に図4を参照して、本発明の第1の実施形態における、構成比較処理の概要について説明する。図4は、本発明の第1の実施形態における、構成比較処理の概要を示すフローチャートである。尚、S401からS412の各ステップはクライアントPC200におけるCPU201の制御の下、処理が行われる。
図4に示す処理を行う際には、クライアントPC200のCPU201はファイル管理サーバ100(PDM)と通信可能な状態にある。
ステップS401では、クライアントPC200のCPU201は、不図示のPDMのメニュー画面において操作者によるコマンド起動操作(構成情報の比較ツールを起動するための操作)を受け付けることによって、図7に示すコマンドダイアログ700を表示する。コマンドダイアログ700は、本発明の実施形態における、構成情報の比較結果表示画面の一例である。
ここで図7を参照して、本発明の実施形態における、構成情報の比較結果表示画面の構成の一例について説明する。図7は、本発明の実施形態における、構成情報の比較結果表示画面の構成の一例を示す図である。
比較結果表示画面(コマンドダイアログ700)は、テキストボックス701、参照ボタン702、リストボックス703、テキストボックス704、参照ボタン705、リストボックス706、実行ボタン707、終了ボタン708等から構成される。
テキストボックス701は、参照ボタン702が押下されることにより不図示のファイル選択画面で選択されたファイル(比較対象ファイル/アセンブリファイル)のファイルパスを表示するボックスである。
尚、参照ボタン702が押下されることにより表示される不図示のファイル選択画面においては、クライアントPC200の外部メモリに記憶されたファイルのみ参照、指定可能であるものとする。
具体的には、図18の参照制限情報1800のような参照制限情報がクライアントPC200の外部メモリに記憶されており、クライアントPC200のCPU201は、参照ボタン702の押下を受け付けた場合、当該参照制限情報を参照して、当該ファイル選択画面で参照可能なファイルパスを特定し、参照不可能なファイルパスの指定を受け付けた場合はエラーを表示して、当該参照不可能なファイルパスを表示しない(参照させない)よう制御する。
ここで図18を参照して、本発明の実施形態における、対象ファイルの参照制限情報の一例について説明する。図18は、本発明の実施形態における、対象ファイルの参照制限情報の一例を示す図である。
参照制限情報1800は、クライアントPC200に前記比較ツールが設定された際に、不図示の制限情報設定画面において、ユーザの操作指示に応じて設定され、クライアントPC200のCPU201によって当該比較ツールの制限情報生成機能を用いて生成され、クライアントPC200の外部メモリに記憶されているものとする。
No1801は、参照制限情報を識別する識別情報である。対象ファイル1802は、図7のコマンドダイアログ700に示す対象ファイル1、対象ファイル2を示す。参照ボタン702の押下を受け付けた場合は、対象ファイル1802に「対象ファイル1」が挿入された制限情報を適用する。参照ボタン705の押下を受け付けた場合は、対象ファイル1802に「対象ファイル2」が挿入された制限情報を適用する。
参照先IP1803は、不図示のファイル選択画面において、ファイルパスの参照が許可されている装置の識別情報である。ここではIPアドレスを挿入しているが、装置を識別することができる情報であればよいものとする。
参照先パス1804は、不図示のファイル選択画面において、参照が許可されているファイルパスを示す。不図示のファイル選択画面においては、参照先パス1804に設定されているファイルパス以下のファイルパスのみ指定、参照可能である。
尚、対象ファイル1802=「対象ファイル1」の参照先IP1803は、当該比較ツールがクライアントPC200に設定・記憶された際に、当該クライアントPC200のCPU201が自装置のIPアドレスを取得して挿入することにより設定される。
対象ファイル1802=「対象ファイル2」の参照先IP1803は、当該比較ツールがクライアントPC200に設定・記憶された際に、不図示の制限情報設定画面において、ユーザの操作指示に応じて、例えばファイル管理サーバ100のIPアドレスが入力されることにより設定される。
つまり、参照制限情報1800によれば、当該比較ツールにおいて比較可能なファイルは、対象ファイル1=クライアントPC200の外部メモリに記憶されたローカルファイル(アップロード指示を受け付けたファイル)と、対象ファイル2=ファイル管理サーバ100(PDM)に記憶されたアップロード済み(送信済み)のファイルである。
以上が図18の、本発明の実施形態における、対象ファイルの参照制限情報の一例についての説明である。
図7の説明に戻る。リストボックス703は、後述する図5の構成情報取得処理によって取得され、生成された、比較対象ファイル(ここでは対象ファイル1)の構成情報を表示するボックスである。
テキストボックス704は、参照ボタン705が押下されることにより不図示のファイル選択画面で選択されたファイル(比較対象ファイル/アセンブリファイル)のファイルパスを表示する、又は、対象ファイル1の指定を受け付けた場合に、当該対象ファイル1に対応するファイル(対象ファイル1=アップロード前のファイルとした場合の、アップロード後のファイル)のファイルパスをファイル管理サーバ100から取得して表示する。
リストボックス706は、後述する図5の構成情報取得処理によって取得され、生成された、比較対象ファイル(ここでは対象ファイル2)の構成情報を表示するボックスである。
実行ボタン707は、参照ボタン702、参照ボタン705の押下を受け付けることにより、不図示のファイル選択画面で選択されたファイルの構成情報(各リストボックスに表示される構成情報)の比較処理を実行するためのボタンである。
終了ボタン708は、コマンドダイアログ700を終了するためのボタンである。以上が図7の、本発明の実施形態における、構成情報の比較結果表示画面の構成の一例についての説明である。
図4の説明に戻る。ステップS402では、操作者による対象ファイル1(比較対象ファイル/他のファイルと構成情報を比較するファイル)の受付処理を行う。具体的には図7のコマンドダイアログ700中の参照ボタン702の操作者による押下指示を受け付けることにより、不図示のファイル選択画面を表示し、当該ファイル選択画面で操作者によって選択されるファイルを対象ファイル1として受け付け(選択受付手段に該当)、対象ファイル1のファイルパスを図7のテキストボックス701へ表示し、ステップS403へ処理を移行する。
ステップS403では、ステップS402で受け付けたファイルに対して構成情報取得処理を行う。詳細については図5を用いて後述する。ステップS403の処理によって図9の900に示す構成情報テーブル1を作成し、ステップS404へ処理を移行する(第1のアセンブリ取得手段に該当)。構成情報テーブル1は、クライアントPC200の外部メモリに記憶される。
ここで、図4のステップS403、(及び後述する図4のステップS406)で行う構成情報取得処理について図5及び図8の構成情報テーブル800を用いて説明する。
まず、図8を参照して、本発明の実施形態における、構成情報テーブルの構成の一例について説明する。図8は、本発明の実施形態における、構成情報テーブルの構成の一例を示す図である。
構成情報テーブル800は、レコードNo801、レベル802、フォルダパス803、ファイル名804、構成パス805、種類806、コンフィギュレーション名807、員数808、判定809等から構成される。
レコードNo801は、処理ファイル(処理を適用中のファイル)のレコードの順序を格納する。レベル802は、処理ファイルの構成階層を格納する。フォルダパス803は、処理ファイルのフォルダパスを格納する。
ファイル名804は、処理ファイルのファイル名を格納する。構成パス805は、処理ファイルの構成順序を格納する。
ここで、構成順序について図9の900(構成情報テーブル1)を用いて説明する。構成順序とは一般的な3次元CADにおける参照関係のパスを示す。例えば、図5のステップS502で受け付けたファイル(仮にTopAssyとする)はファイル構造(構成)の頂点に位置するため構成パスはNullとなる。次にTopAssyと一次的な参照関係にあるファイルの構成パスはTopAssyとなる。具体的には図9の900(構成情報テーブル1)に示すレコードNo2がこれに相当する。さらにTopAssyと二次的な参照関係にあるファイルの構成パスはTopAssy/Assy1となる。具体的には図9の900(構成情報テーブル1)に示すレコードNo3〜5がこれに相当する。
種類806は、処理ファイルの種類(CADファイルの拡張子による違い)を格納する。コンフィギュレーション名807は、処理ファイルのファイル内データの識別名情報(例えば一つのファイルに形状の異なる複数の内部状態、例えば同一部品の右かって版と左かって版など、が記憶されている場合に、そのうち一つを識別するための情報)を格納する。
員数808は、処理ファイルとファイル名804、構成パス805、種類806の3つが全て一致(以降、第1条件)するファイルの総数を格納する。判定809は、処理ファイルの存在情報及び比較判定結果を格納する。
またステップS403を処理する際に作成する構成情報テーブル800は構成情報テーブル1、後述するステップS406で作成する構成情報テーブル800は構成情報テーブル2とするが、以下に記述する処理の過程で1ないし2の指定がない場合は共通の処理とする。以上が図8の、本発明の実施形態における、構成情報テーブルの構成の一例についての説明である。
次に図5を参照して、発明の実施形態における、構成情報取得処理の一例について説明する。図5は、本発明の実施形態における、構成情報取得処理の一例を示すフローチャートである。尚、ステップS501〜S516の各ステップは、クライアントPC200におけるCPU201の制御の下、構成情報の比較ツールの機能を用いて処理が行われるものとする。
ステップS501では、例えば図4のステップS402で受け付けた対象ファイルの選択操作に応じて、処理の対象となるファイルの受付処理を行い、図8の構成情報テーブル800の作成と、構成情報テーブルと同じ構成をもつ1レコードのみのテンポラリレコードを作成する。
また後述するステップS516で本処理の再起処理を行う場合にはステップS515から受け付けたファイルが処理対象となる。なお、再起処理に場合には新たに構成情報テーブルを作成することはない。つまり、ユーザから選択を受け付けた対象ファイルの参照ファイルについても図5の処理を行い、当該対象ファイルと同一の構成情報テーブルに登録するものである。
ステップS502では、ステップS501で受け付けたファイルのファイルパスを取得し、ファイル名を取り除いたフォルダパスをテンポラリレコードのフォルダパス803へ格納する。
ステップS503では、ステップS501で受け付けたファイルのファイル名を取得し、テンポラリレコードのファイル名504へ格納する。
以下、ステップS504〜S507の各種情報の取得処理(構成情報テーブル800の各情報の取得処理)は、ステップS501で受け付けたファイルが対象ファイル1(クラインとPC200の外部メモリに記憶されたファイル)である場合、起動中の比較ツールがクラインとPC200に設定された3次元CADアプリケーションのAPIに、各種情報の取得要求を行い、当該取得要求に応じた結果の情報を当該3次元CADアプリケーションのAPIから受け取ることによって実行される。
また、ステップS501で受け付けたファイルが対象ファイル2(ファイル管理サーバ100の外部メモリに記憶されたファイル/PDMに登録されたファイル)である場合、起動中の比較ツールがPDMのAPIに、各種情報の取得要求を行い、当該取得要求に応じた結果の情報を当該PDMのAPIから受け取ることによって実行される。
ステップS504では、ステップS501で受け付けたファイルについて、3次元CADもしくはPDMのAPIによって特定されたコンフィギュレーション名を、当該APIから取得し、テンポラリレコードのコンフィギュレーション名807へ格納し、ステップS505へ処理を移行する。
ステップS505では、ステップS501で受け付けたファイについて、3次元CADもしくはPDMのAPIによって特定されたファイルの種類の情報を、当該APIから取得し、テンポラリレコードの種類806へ格納する。
ステップS506では、ステップS501で受け付けたファイルについて、3次元CADもしくはPDMのAPIによって特定された構成順序を、当該APIから取得し、テンポラリレコードの構成パス805へ格納する。
ステップS507では、ステップS506を実施する過程で得られる構成レベルの次数(前述した何次的参照関係に相当するか)を、3次元CADもしくはPDMのAPIより取得し、テンポラリレコードのレベル802へ格納して、ステップS508へ処理を移行する。
ステップS508では、処理中の構成情報テーブルを対象に、テンポラリレコードと図8の802〜807の値が一致するレコードの検索処理を行う。一致するレコードを検出しなかった場合はステップS509へ、一致するレコードを検出した場合はステップS510へそれぞれ処理を移行する。つまり、取得したファイルの各項目の情報が、構成情報テーブルに登録済か判定する。
ステップS509では、構成情報テーブルにテンポラリレコードの値を新規レコードとして追加し、員数808へ1を格納してステップS511へ処理を移行する。
ステップS510では、構成情報テーブルで検出した一致レコードの員数808の値へ1を加算し、ステップS511へ処理を移行する。
ステップS511では、処理ファイルの存在確認処理を行い、処理ファイルが存在しない場合はステップS512へ、処理ファイルが存在する場合はステップS513へそれぞれ処理を移行する。つまり、フォルダパスの示す、クライアントPC200またはファイル管理サーバ100(PDM)上の場所に、実際にファイルが記憶されているかを判定する。
ステップS512では、ステップS509もしくはS510で更新した構成情報テーブルのレコードの判定809へ−1の値を格納し、構成情報取得処理を終了する。
ステップS513では、処理ファイルの種類806によって処理の移行先を決定する。ここでは参照ファイル持つことを前提とした種類をAssy、参照ファイルを持たないことを前提とした種類をPartとし、処理ファイルの種類がAssyだった場合はステップS514へ処理を移行し、処理ファイルの種類がPartだった場合は構成情報取得処理を終了する。
ステップS514では、処理ファイルに対してAPIを用いることにより参照ファイルの一覧を取得し、ステップS515へ処理を移行する。参照ファイルが複数ある場合は、複数参照ファイルを取得する。
ステップS515では、ステップS514で取得したファイルに対して未処理ファイルの有無の判定を行い、未処理のファイルがある場合はステップS516へ処理を移行することで構成情報取得処理の再起処理を行う。つまり、取得した参照ファイルのうち1つを取得して、当該取得したファイルをステップS501で受け付け、以降、ステップS502〜S516の処理を適用する。
未処理のファイルがない場合は構成情報取得処理を終了する。つまり、全てのファイルの全ての参照ファイルに対するステップS501〜S516の処理を完了した場合に、当該構成情報の取得処理を終了する。以上が図5の、本発明の実施形態における、構成情報取得処理の一例についての説明である。
当該図5の構成情報取得処理による構成情報テーブル更新の様子は、図13に示す通りである。
図4の説明に戻る。ステップS404では、ステップS403で作成した、対象ファイル1の構成情報を示す構成情報テーブル(以降、構成情報テーブル1/図9の900に図示)のレコードをレコードNo順に、全て図7のコマンドダイアログ700のリストボックス703へ表示し、ステップS405へ処理を移行する。
表示する項目は構成情報テーブル1の列のうちフォルダパス、ファイル名、構成パス、種類、コンフィギュレーション名、員数の7項目を対象とする。また、構成情報取得処理の結果を操作者へ効果的に示唆するためリストボックス背景色の変更処理を行う。具体的には図9の900の構成情報テーブル1のレコードの中で判定列の値が−1のレコードについて、リストボックス703に表示したレコード行の背景色を赤色に変更する。これにより、ファイルの構成情報の比較結果を示す(ここでは当該ファイルとの比較対象のファイル(後述するステップS406で構成情報を取得するファイル)が未取得のため、未取得のファイルと構成情報の比較結果を示す)。ステップS404の具体的な処理結果(比較結果)は、例えば、図11の1100のコマンドダイアログに示す。
ステップS405では、対象ファイル1と構成を比較する対象ファイル2を受け付ける(第2のアセンブリ取得手段に該当)。当該対象ファイル2の受付処理の詳細については、図17の説明で後述する。
ここで図17を参照して、本発明の実施形態における、対象ファイル2の受付処理の詳細の一例について説明する。図17は、本発明の実施形態における、対象ファイル2の受付処理の詳細の一例を示すフローチャートである。
クライアントPC200のCPU201(比較ツール)は、ファイル管理サーバ100(PDM)に対して、対象ファイル1のファイル名、フォルダパス、クライアントPC200のIPアドレスを送信する(ステップS1701)。
ファイル管理サーバ100(PDM)はこれを受信して(ステップS1702)、外部メモリに記憶されている履歴テーブル1900に、当該ファイルとファイル名(ファイル名1902)、送信元の装置(移動元IP1903)、フォルダパス(移動元パス1904)が一致する履歴が存在するか判定する(ステップS1703)。
一致する履歴が存在する場合、つまり、対象ファイル1に対応するファイル(対象ファイル2)が存在する場合、当該対象ファイル2のフォルダパスを特定して、クライアントPC200に送信する(ステップS1704)。一致する履歴が存在しない場合、当該一致する履歴(対応するファイル)が存在しない旨を示す情報(エラー情報)をクライアントPC200に送信する(ステップS1705)。
クライアントPC200のCPU201(比較ツール)は、当該対象ファイル2のフォルダパス又はエラー情報を受信し(ステップS1706)、受信した情報が対象ファイル2のフォルダパスか判定する(ステップS1707)。
受信した情報が対象ファイル2のフォルダパスであると判定した場合、当該フォルダパスの情報を、対象ファイル2のフォルダパスとして、図7のテキストボックス704に挿入し(ステップS1708)、処理を終了する。
受信した情報が対象ファイル2のフォルダパスでない(エラー情報である)と判定した場合、対象ファイル2をユーザに選択させるための不図示のファイル選択画面を表示し(ステップS1709)、ファイルの選択を受け付ける(ステップS1710)。そして、当該選択を受け付けたファイルのフォルダパスを、対象ファイル2のフォルダパスとして、図7のテキストボックス704に挿入し(ステップS1708)、処理を終了する。
尚、ステップS1709において表示する不図示のファイル選択画面においては、ファイルを選択するために当該ファイル選択画面において指定する参照先のフォルダパスは、図18の参照制限情報の対象ファイル1802=「対象ファイル2」の情報に従い、ファイル管理サーバ100(参照先IP=182.16.YYY.ZZZ)の、「¥¥Sever¥PDM¥data」以下のフォルダに限るものとする。
つまり、当該不図示のファイル選択画面において、上述した参照先以外の参照先の指定を受け付けた場合、クライアントPC200のCPU201(比較ツール)は、上述した参照先以外の参照先を表示不可能な旨を示すエラー画面を表示し、ファイル管理サーバ100以外からのファイルの選択を行わせないよう制御する。以上が図17の、本発明の実施形態における、対象ファイル2の受付処理の詳細の一例についての説明である。
図4の説明に戻る。ステップS406では、ステップS405で受け付けたファイルに対して構成情報取得処理を行う(つまり、図5のステップS501で受け付けるファイル=図4のステップS405で受け付けたファイルとなる)。構成情報取得処理の詳細については、図5の説明で上述したため、ここでは説明を割愛する(第2のアセンブリ取得手段に該当)。
尚、ステップS405で受け付けるファイルは、ファイル管理サーバ100の外部メモリンに記憶され、その格納場所はPDMによって管理されているため、クライアントPC200のCPU201(比較ツール)は、PDMのAPIに対して、当該対象ファイル2のコンフィギュレーション名、ファイルの種類、構成パス、レベルの情報を要求し(アセンブリ要求手段に該当)、当該要求の結果PDMによって特定された同情報を受信して取得するものとする(図5のステップS504〜507参照)。
ステップS406の処理によって図10の1000に示す、対象ファイル2の構成情報を示す構成情報テーブル2を作成し、クライアントPC200の外部メモリに記憶して、ステップS407へ処理を移行する。
ステップS407では、ステップS404と同様にステップS406で作成した図11に示す構成情報テーブル2のレコードを全て図7のリストボックス706へ表示し、(つまり、コマンドダイアログを図11の1100の状態から1150の状態に更新して、)ステップS408へ処理を移行する。
ステップS408では、操作者による図7コマンドダイアログ700の実行ボタン707受付処理を行う。操作者によるボタン押下を受け付けた場合はステップS409へ処理を移行する。
ステップS409では、構成比較処理を行う。詳細については図6を用いて後述する。ステップS409の処理によって図9の900に示す構成情報テーブル1を図9の950に示す状態へ更新し、図10の1000に示す構成情報テーブル2を図10の1050に示す状態へ更新し、ステップS410へ処理を移行することとなる。
ここで、ステップS409で行う構成比較処理について、図6を用いて説明する。図6は、本発明の実施形態における、構成比較処理の一例を示すフローチャートである。尚、S601〜S617の各ステップは、クライアントPC200におけるCPU201の制御の下、構成情報の比較ツールの機能を用いて処理が行われる。
ステップS601では、構成情報テーブル1のレコードに対して未処理ファイルの判定を行い、未処理ファイルがある場合はレコードを1つ取得してステップS602へ、未処理ファイルがない場合はステップS610へそれぞれ処理を移行する。つまり、構成情報テーブル1に、ステップS601〜S609の処理を未適用のファイルがあるか判定する。
ステップS602では、ステップS601から引き渡されるレコード(以降、レコード1)に対して構成情報テーブル2のレコードを対象とした未処理ファイルの判定を行う。つまり、レコード1との内容の一致判定が未だ行われていない構成情報テーブル2のレコード(ファイル)があるか判定する。未処理ファイルがある場合は、構成情報テーブル2から未処理のファイル(レコード)を1つ取得してステップS603へ、未処理ファイルがない場合はステップS607へそれぞれ処理を移行する。
ステップS603では、前述したレコード1と、ステップS602から引き渡されるレコード(以降、レコード2)に対して第1条件の一致判定を行い(つまり、処理ファイルとファイル名804、構成パス805、種類806の3つが全て一致するか否かの判定を行い)、一致する場合はステップS604へ、一致しない場合はステップS602へそれぞれ処理を移行する。なおステップS602へ処理を移行した場合はステップS603までの処理を適用したレコード2を処理済みレコードとして扱う。当該処理済か否かの情報は、当該レコードの識別情報と対応付けて、クライアントPC200の一時記憶領域に、当該図6の処理が終了するまで一時記憶されるものとする。
ステップS604では、構成情報テーブル2の中でレコード2の順序をレコード1の順序と同じレコードNo(構成情報テーブル800でいうレコードNo801)まで移動させ、ステップS605へ処理を移行する。つまり、コマンドダイアログ700にて、ユーザに、構成情報テーブル1と構成情報テーブル2の示す構成情報を比較して確認させる際に、当該レコード1と、レコード1と処理ファイルとファイル名804・構成パス805・種類806の3つが全て一致するレコード2のリストボックス703(706)内の位置が、一致するように、レコード内の順序を更新する。
これにより、当該レコード2が、リストボックス703のレコード1の真横に表示される。つまり、ユーザは、レコードの比較・状態確認を目視で行う場合に、確認対象のレコード1の真横に位置するレコード2を見るだけで、当該レコード1とレコード2の状態の差異の有無、差異の内容を確認することが出来る。
ステップS605では、レコード1とレコード2のコンフィギュレーション名807と員数808両方の一致(以降、第2条件)の判定処理を行い、一致及び不一致を問わずステップS606へ処理を移行する。ただし不一致の場合は、テーブル2の処理済みレコードから、レコード1と第1条件及び第2条件のいずれもが一致するレコードの検出を行い、検出した場合は検出したレコードをテーブル2内でレコード1の順序と同じNoまで移動させる。
ステップS606では、ステップS605の判定処理によってレコード1の判定809の更新処理を行い、ステップS602へ処理を移行する。更新処理では、レコード1とレコード2の比較結果をもとにレコード1及びレコード2の判定809へ、第1条件と第2条件が一致する場合は0、第1条件のみ一致する場合は1をそれぞれ格納する。ここで0を格納することはレコード1に対してテーブル2には構成情報が一致する構成ファイルが存在することを示し、1を格納することは構成情報の一部は異なるものの同一の構成ファイルが存在することを示す。
ステップS607(ステップS602でNO)では、レコード1に対して構成情報テーブル2に第1条件が一致するレコードが1件以上あるか否かの判定処理を行い、1件以上ある場合はステップS601へ、1件もない場合はステップS608へそれぞれ処理を移行する。なおステップS601へ処理を移行した場合はステップS607までのレコード1を処理済みレコードとして扱う。
ステップS608では、テーブル2においてレコード1の順序と同じNoへブランクレコードを新規に追加し、ステップS609へ処理を移行する。
ステップS609では、レコード1とステップS608で追加したレコードの判定809へ、2の値を格納し、ステップS601へ処理を移行する。ここで2を格納することは、レコード1に対してテーブル2には構成情報が一致する構成ファイルが存在しない場合、もしくは構成情報が一致する構成ファイルが存在したとしてもテーブル1とテーブル2を比較した際に対をなすレコードが存在しない場合(構成情報が一致したとしても既にほかのレコードと対が確定している状態)を示す。
図14は、上述したステップS601〜S609の処理(構成比較処理)の様子を示す。つまり、構成テーブル1の内容に基づいた構成テーブル2の内容更新処理の様子の一例を示す。
ステップS610では、テーブル2のレコードに対して未処理ファイルの判定を行い、(つまりステップS611〜S617の処理を未適用のファイルが存在するか判定を行い)未処理ファイルがある場合は、構成情報テーブル2から未処理のファイルを1つ取得して、ステップS611へ処理を移行し、未処理ファイルがない場合は構成比較処理を終了する。
ステップS611では、ステップS610から引き渡されるレコード2に対して構成情報テーブル1のレコードを対象とした未処理ファイルの判定を行い(つまり、レコード2との内容の一致判定が未だ行われていない構成情報テーブル1のレコード(ファイル)があるか判定を行い)、未処理ファイルがある場合はステップS612へ、未処理ファイルがない場合はステップS615へそれぞれ処理を移行する。
ステップS612では、レコード2とステップS611から引き渡されるレコード1に対して第1条件の一致判定を行い(つまり、処理ファイルとファイル名804、構成パス805、種類806の3つが全て一致するか否かの判定を行い)、一致する場合はステップS613へ、一致しない場合はステップS611へそれぞれ処理を移行する。なおステップS611へ処理を移行した場合はステップS612までの処理を適用したレコード1を処理済みレコードとして扱う。
ステップS613では、レコード2とレコード1に対して第2条件の判定処理を行い(つまり、レコード2とレコード1のコンフィギュレーション名807と員数808両方が一致するか判定を行い)、一致及び不一致を問わずステップS614へ処理を移行する。ただし不一致の場合は、構成情報テーブル1において、当該レコード2の順序と同じレコードNoへ、ブランクレコードを新規に追加する。
ステップS614では、ステップS613の判定処理によってレコード2とレコード1の判定809の更新処理を行い、ステップS611へ処理を移行する。更新処理では、レコード2とレコード1の比較結果をもとにレコード2及びレコード1の判定809へ、第1条件と第2条件が一致する場合は0、第1条件のみ一致する場合は1をそれぞれ格納する。またステップS614でブランクレコードを追加した場合は、テーブル2とテーブル1の判定809へそれぞれ1を格納する。
ステップS615では、レコード2に対してテーブル1に第1条件が一致するレコードが1件以上あるか否かの判定処理を行い、1件以上ある場合はステップS610へ、1件もない場合はステップS616へそれぞれ処理を移行する。なおステップS610へ処理を移行した場合はステップS615までのレコード2を処理済みレコードとして扱う。
ステップS616では、テーブル1においてレコード2の順序と同じNoへブランクレコードを新規に追加し、ステップS617へ処理を移行する。
ステップS617では、レコード2とステップS616で追加したレコードの判定809へ3を格納し、ステップS601へ処理を移行する。ここで3を格納することは、レコード2に対してテーブル1には構成情報が一致する構成ファイルが存在しない場合、もしくは構成情報が一致する構成ファイルが存在したとしてもテーブル1とテーブル2を比較した際に対をなすレコードが存在しない場合(構成情報が一致したとしても既にほかのレコードと対が確定している状態)を示す。
図15は、上述したステップS610〜S617の処理(構成比較処理)の様子を示す。つまり、構成テーブル2の内容に基づいた構成テーブル1の内容更新処理の様子の一例を示す。以上が図6の、本発明の実施形態における、構成比較処理の一例の説明である。
図4の説明に戻る。ステップS410では、ステップS404と同様の手順によってステップS409で更新した図9の950に示す構成情報テーブル1を用いて図7のリストボックス703の表示内容を更新し、ステップS411へ処理を移行する。このとき構成比較処理の結果(比較結果)を操作者へ効果的に示唆するためリストボックス背景色の変更処理を行う。
具体的には図9の950に示す構成情報テーブル1の判定列の値が1の場合は該当するリストボックス上のレコード行の背景色を青色に、判定列の値が2の場合は黄色に、判定列の値が3の場合は緑にそれぞれ変更することでファイルの比較結果を表示する。当該比較結果の表示は、例えば、図12の1200のコマンドダイアログの表示である。
ステップS411では、ステップS410と同様の手順によってステップS409で更新した図10の1050に示す構成情報テーブル2を用いて図7のリストボックス706の表示内容を更新する。例えば、図12の1250のコマンドダイアログの表示である。
ステップS412では、コマンド終了受付処理(構成情報の比較ツールの終了指示受付処理)を行う。具体的には図7の終了ボタン708の操作者による押下により図7のコマンドダイアログ700を非表示にし、処理を終了する。以上が図4の、本発明の第1の実施形態における、構成比較処理の概要についての説明である。
以上説明したように、本発明によれば、送信済みのファイルの構成と、送信前のファイルの構成との比較結果をユーザに容易に確認させることができる。
つまり、外部装置にアップロードする前のファイルの構成と、外部装置にアップロードされた後のファイルの構成とが一致し、当該ファイルが正しくアップロードされているかをユーザに確認させることができる。
例えば、3次元CADアプリケーションを用いることなく効率よく異なるシステム間におけるCADファイルの構成情報を比較することが可能となる。特に大規模な構成情報の場合には3次元CADアプリケーションによるファイルの読み込みが不要なため、3次元CADアプリケーションがファイルを開くまでの時間を省略することができる。
また、例えば、3次元CADアプリケーションでファイルを展開し、その結果の比較・一致評価を行うことなく、ユーザに容易に構成情報の違いを確認させることができ、効率的かつ容易にPDMへ保管された3次元CADファイルの構成情報が確かなものであるかを確認させることができる。
尚、上述した本発明の第1の実施形態においては、図19の履歴テーブル1900はファイル管理サーバ100(PDM)によって生成され、当該ファイル管理サーバ100の外部メモリに記憶されるものとしたが、例えば、クライアントPC200(比較ツール)によって生成され、当該クライアントPC200の外部メモリに記憶するようにしてもよい。
つまり、図16のステップS1605によるファイルのファイル管理サーバ100への送信時、履歴テーブルが未精製の場合は、新規に履歴テーブルを生成して、当該ファイル管理サーバ100へ送信するファイルの履歴情報を当該履歴テーブルに追加して、クライアントPC200の外部メモリに記憶する。また、移動先IP1905は、当該ファイル送信後に、ファイル管理サーバ100より取得して履歴テーブルに格納するものとする。
この場合、図17に示す対象ファイル2の受付処理における、ステップS1701〜ステップS1710の処理は全てクライアントPC200のCPU201が実行するものとする。
<第2の実施形態>
以下、本発明の第2の実施形態について説明する。
上述した第1の実施形態においては、比較対象ファイル(対象ファイル1及び対象ファイル2)をそれぞれ、クライアントPC及びファイル管理サーバから取得するものとしたが、第2の実施形態においては、それぞれのファイルを自由にユーザに選択させる。
こうすることにより、ファイルの移動、送信を行った場合、移動前と移動後で当該ファイルを記憶する装置が異なるか否かに関わらず、移動前のファイルの構成と、移動後のファイルの構成との比較結果をユーザに容易に確認させることができる。
以下、第2の実施形態について、上述した第1の実施形態と処理が同一の部分については説明を省略し、当該第1の実施形態と処理が異なる部分について説明する。当該第2の実施形態においては、図17〜図19に示す情報は用いない。
クライアントPC200のCPU201は、図4のステップS401〜S404の処理を実行する。尚、ステップS402においては、第1の実施形態で前述したように参照制限情報1800を参照することなく、不図示のファイル選択画面に、ユーザによって指定されたフォルダパスの情報を選択可能に表示する。つまり、クライアントPC200の外部メモリに記憶されたファイルだけでなく、ファイル管理サーバ100の外部メモリに記憶されたファイルも、対象ファイル1として選択可能である。
ステップS405においては、図17に示す対象ファイル2の受付処理を実行せずに、図7のコマンドダイアログ700を表示画面に表示した状態で、参照ボタン705の押下を受け付けるまで待機する。
クライアントPC200のCPU201は、当該参照ボタン705の押下を受け付けた場合、不図示のファイル選択画面を表示して、当該ファイル選択画面においてユーザからのファイル(アセンブリファイル)の選択操作を受け付け、当該選択操作により選択したファイルを対象ファイル2として受け付ける。
尚、ステップS405においては、第1の実施形態で前述したように参照制限情報1800を参照することなく、不図示のファイル選択画面に、ユーザによって指定されたフォルダパスの情報を選択可能に表示する。つまり、ファイル管理サーバ100の外部メモリに記憶されたファイルだけでなく、クライアントPC200の外部メモリに記憶されたファイルも、対象ファイル1として選択可能である。
その後、処理をステップS406に移行し、上述した第1の実施形態と同じ方法で、ステップS406〜S412の処理を実行する。
以上が、本発明の第2の実施形態についての説明である。
これにより、ファイルの移動、送信を行った場合、移動前と移動後で当該ファイルを記憶する装置が異なるか否かに関わらず、移動前のファイルの構成と、移動後のファイルの構成との比較結果をユーザに容易に確認させることができる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。