(57)【要約】      （修正有）【課題】ファイルバックアップ装置がバックアップ済のファイルを除いてバックアップすることができる効果的な手段を提供する。【解決手段】バックアップ候補ファイルの大きさ、バックアップ候補ファイルの拡張子、及びバックアップ候補ファイルの最後から抽出された所定個数のバイト情報を利用してバックアップ候補ファイルのファイルフィンガープリントを生成するステップと、貯蔵装置にバックアップ候補ファイルのファイルフィンガープリントと同じものが存在するのか否かを確認するステップと、貯蔵装置にバックアップ候補ファイルのファイルフィンガープリントと同じものが存在しなければ、バックアップ候補ファイルをバックアップ対象ファイルと決定するステップと、バックアップ対象ファイルをバックアップし、バックアップ対象ファイルのフィンガープリントを貯蔵することで貯蔵装置を更新するステップと、を含む。【選択図】図４
2020205021.tif 000002
【特許請求の範囲】
【請求項１】
ファイルバックアップ方法において、
バックアップ候補ファイルの大きさ、前記バックアップ候補ファイルの拡張子、及び前記バックアップ候補ファイルの最後から抽出された所定個数のバイト情報を利用して前記バックアップ候補ファイルに対するファイルフィンガープリントを生成するステップと、
貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するステップと、
前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しなければ、前記バックアップ候補ファイルをバックアップ対象ファイルと決定するステップと、
前記バックアップ対象ファイルをバックアップし、前記バックアップ対象ファイルのファイルフィンガープリントを貯蔵することで前記貯蔵装置を更新するステップと、を含むファイルバックアップ方法。
【請求項２】
ディレクトリ識別情報を利用して生成されるディレクトリフィンガープリントに基づいてバックアップ候補ディレクトリのうちからバックアップ対象ディレクトリを決定するステップと、
前記バックアップ対象ディレクトリに含まれたファイルを前記バックアップ候補ファイルと決定するステップと、を更に含む請求項１に記載のファイルバックアップ方法。
【請求項３】
前記ディレクトリフィンガープリントは、
ディレクトリの位置情報、前記ディレクトリに含まれたファイルの個数情報、前記ディレクトリが修正された最終時点に対するタイムスタンプ情報に基づいて生成され、
前記バックアップ候補ファイルと決定するステップは、
前記貯蔵装置に前記バックアップ候補ディレクトリのディレクトリフィンガープリントと同じディレクトリフィンガープリントが存在するのか否かを確認するステップと、
前記貯蔵装置に前記バックアップ候補ディレクトリのディレクトリフィンガープリントと同じフィンガープリントが存在しなければ、前記バックアップ候補ディレクトリをバックアップ対象ディレクトリと決定するステップと、
前記バックアップ対象ディレクトリのディレクトリフィンガープリントを貯蔵することで、前記貯蔵装置を更新するステップと、を含む請求項２に記載のファイルバックアップ方法。
【請求項４】
前記同じファイルフィンガープリントが存在するのか否かを確認するステップは、
前記バックアップ候補ファイルの大きさ情報を含む第１索引に基づいて、前記貯蔵装置に貯蔵されたファイルフィンガープリントのうち前記バックアップ候補ファイルと大きさが同じファイルに対応するファイルフィンガープリントを検索するステップと、
前記第１索引に基づいて検索されたファイルフィンガープリントに対し、前記バックアップ候補ファイルの拡張子情報を含む第２索引を利用して、前記バックアップ候補ファイルの拡張子情報と同じ拡張子情報を有するファイルに対応するファイルフィンガープリントを検索するステップと、
前記第２索引に基づいて検索されたファイルフィンガープリントに対し、前記バックアップ候補ファイルの最後から抽出された所定個数のバイト情報を含む第３索引を利用して前記バックアップ候補ファイルの最後から抽出された所定個数のバイト情報と同じバイト情報を有するファイルに対するファイルフィンガープリントを検索するステップと、
前記第３索引を介してファイルフィンガープリントが検索されれば、前記バックアップ候補ファイルをバックアップ対象ファイルから除外するステップと、含む請求項１に記載のファイルバックアップ方法。
【請求項５】
前記バックアップ候補ファイルに対するファイルフィンガープリントは、
前記バックアップ候補ファイルの最終修正時点に対するタイムスタンプ情報を更に含み、
前記ファイルバックアップ方法は、
前記バックアップ候補ファイルの最終修正時点が最終バックアップ時点の以降の時点に当たるのか否かを確認するステップと、
前記最終修正時点が前記最終バックアップ時点の以前の時点に当たれば、前記バックアップ候補ファイルをフィルタリングするステップと、を更に含む請求項１に記載のファイルバックアップ方法。
【請求項６】
前記バックアップ候補ファイルのファイルフィンガープリントは、
前記バックアップ候補ファイルが位置するディレクトリ情報を更に含み、
前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するステップは、
前記貯蔵装置に貯蔵されたファイルフィンガープリントに含まれたディレクトリ情報に基づいて、前記バックアップ候補ファイルが位置するディレクトリと同じディレクトリに対応するファイルフィンガープリントのうち前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するステップ（ａ）と、
前記ステップ（ａ）において、前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しないと確認されれば、前記貯蔵装置に貯蔵された前記バックアップ候補ファイルとは異なるディレクトリに対応するファイルフィンガープリントのうち、前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するステップ（ｂ）と、を含み、
前記バックアップ候補ファイルをバックアップ対象ファイルと決定するステップは、
前記ステップ（ｂ）において、前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しなければ、前記バックアップ候補ファイルをバックアップ対象ファイルと決定する請求項１に記載のファイルバックアップ方法。
【請求項７】
端末との通信を行う通信インタフェース部と、
プロセッサと、
前記プロセッサを介して実行される少なくとも一つの命令が貯蔵されたメモリと、
貯蔵装置と、を含み、
前記プロセッサは、
バックアップ候補ファイルの識別情報を利用して前記バックアップ候補ファイルに対するファイルフィンガープリントを生成し、
前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認し、
前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しなければ、前記バックアップ候補ファイルをバックアップ対象ファイルと決定し、
前記バックアップ対象ファイルをバックアップし、前記バックアップ対象ファイルのフィンガープリントを貯蔵することで前記貯蔵装置を更新する、コンピューティング装置。
【請求項８】
バックアップ候補ファイルの識別情報を利用して前記バックアップ候補ファイルに対するファイルフィンガープリントを生成するプロセスと、
貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するプロセスと、
前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しなければ、前記バックアップ候補ファイルをバックアップ対象ファイルと決定するプロセスと、
前記バックアップ対象ファイルをバックアップし、前記バックアップ対象ファイルのフィンガープリントを貯蔵することで前記貯蔵装置を更新するプロセスと、を実行するために媒体に貯蔵されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ファイルバックアップ方法及び装置が開示される。
【背景技術】
【０００２】
データのバックアップは、予期せず状況によってデータが流失されることを防止するために一定周期で行われる。
【０００３】
大量のデータを蓄積しバックアップする企業群領域において、既にバックアップされているファイルを除去するプロセスは、バックアップの効率性及びバックアップに所用されるコストを節減するのに非常に重要な役割をする。
【０００４】
バックアップが予定されているファイルと既にバックアップが行われているファイルをバイト単位で一々比較する過程を介して既にバックアップが行われているファイルをフィルタリングする方式は、バックアップの過程で大量のリソースを要求するだけでなく、非常に長い時間がかかってしまう。よって、バックアップが予定されているファイルが既にバックアップが行われているのか否かをより効果的に判断し得る手段が講じられる必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
少なくとも一つの実施例によると、ファイルバックアップ装置が既にバックアップが行われているファイルを除いてバックアップを行うことができる効果的な手段が提供される。
【課題を解決するための手段】
【０００６】
一側面によると、ファイルバックアップ方法は、バックアップ候補ファイルの大きさ、前記バックアップ候補ファイルの拡張子、及び前記バックアップ候補ファイルの最後から抽出された所定個数のバイト情報を利用して前記バックアップ候補ファイルに対するファイルフィンガープリントを生成するステップと、貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するステップと、前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しなければ、前記バックアップ候補ファイルをバックアップ対象ファイルと決定するステップと、前記バックアップ対象ファイルをバックアップし、前記バックアップ対象ファイルのフィンガープリントを貯蔵することで前記貯蔵装置を更新するステップと、を含む。
【０００７】
一側面によるファイルバックアップ方法は、ディレクトリ識別情報を利用して生成されるディレクトリフィンガープリントに基づいてバックアップ候補ディレクトリのうちからバックアップ対象ディレクトリを決定するステップと、前記バックアップ対象ディレクトリに含まれたファイルを前記バックアップ候補ファイルと決定するステップと、を更に含む。
【０００８】
前記ディレクトリフィンガープリントは、ディレクトリの位置情報、前記ディレクトリに含まれたファイルの個数情報、前記ディレクトリが修正された最終時点に対するタイムスタンプ情報に基づいて生成され、前記バックアップ候補ファイルと決定するステップは、前記貯蔵装置に前記バックアップ候補ディレクトリのディレクトリフィンガープリントと同じディレクトリフィンガープリントが存在するのか否かを確認するステップと、前記貯蔵装置に前記バックアップ候補ディレクトリのディレクトリフィンガープリントと同じフィンガープリントが存在しなければ、前記バックアップ候補ディレクトリをバックアップ対象ディレクトリと決定するステップと、前記バックアップ対象ディレクトリのディレクトリフィンガープリントを貯蔵することで、前記貯蔵装置を更新するステップと、を含む。
【０００９】
前記同じファイルフィンガープリントが存在するのか否かを確認するステップは、前記バックアップ候補ファイルの大きさ情報を含む第１索引に基づいて、前記貯蔵装置に貯蔵されたファイルフィンガープリントのうち前記バックアップ候補ファイルと大きさが同じファイルに対応するファイルフィンガープリントを検索するステップと、前記第１索引に基づいて検索されたファイルフィンガープリントに対し、前記バックアップ候補ファイルの拡張子情報を含む第２索引を利用して、前記バックアップ候補ファイルの拡張子情報と同じ拡張子情報を有するファイルに対応するファイルフィンガープリントを検索するステップと、前記第２索引に基づいて検索されたファイルフィンガープリントに対し、前記バックアップ候補ファイルの最後から抽出された所定個数のバイト情報を含む第３索引を利用して前記バックアップ候補ファイルの最後から抽出された所定個数のバイト情報と同じバイト情報を有するファイルに対するファイルフィンガープリントを検索するステップと、前記第３索引を介してファイルフィンガープリントが検索されれば、前記バックアップ候補ファイルをバックアップ対象ファイルから除外するステップと、含む。
【００１０】
前記バックアップ候補ファイルに対するファイルフィンガープリントは、前記バックアップ候補ファイルの最終修正時点に対するタイムスタンプ情報を更に含み、前記ファイルバックアップ方法は、前記バックアップ候補ファイルの最終修正時点が最終バックアップ時点の以降の時点に当たるのか否かを確認するステップと、前記最終修正時点が前記最終バックアップ時点の以前の時点に当たれば、前記バックアップ候補ファイルをフィルタリングするステップと、を更に含む。
【００１１】
前記バックアップ候補ファイルのファイルフィンガープリントは、前記バックアップ候補ファイルが位置するディレクトリ情報を更に含み、前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するステップは、前記貯蔵装置に貯蔵されたファイルフィンガープリントに含まれたディレクトリ情報に基づいて、前記バックアップ候補ファイルが位置するディレクトリと同じディレクトリに対応するファイルフィンガープリントのうち前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するステップ（ａ）と、前記ステップ（ａ）において、前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しないと確認されれば、前記貯蔵装置に貯蔵された前記バックアップ候補ファイルとは異なるディレクトリに対応するファイルフィンガープリントのうち、前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するステップ（ｂ）と、を含み、前記バックアップ候補ファイルをバックアップ対象ファイルと決定するステップは、前記ステップ（ｂ）において、前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しなければ、前記バックアップ候補ファイルをバックアップ対象ファイルと決定する。
【００１２】
一実施例によるファイルアップアップ装置は、端末との通信を行う通信インタフェース部と、プロセッサと、前記プロセッサを介して実行される少なくとも一つの命令が貯蔵されたメモリと、貯蔵装置と、を含み、前記プロセッサは、バックアップ候補ファイルの識別情報を利用して前記バックアップ候補ファイルに対するファイルフィンガープリントを生成し、前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認し、前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しなければ、前記バックアップ候補ファイルをバックアップ対象ファイルと決定し、前記バックアップ対象ファイルをバックアップし、前記バックアップ対象ファイルのフィンガープリントを貯蔵することで前記貯蔵装置を更新する、コンピューティング装置。
【００１３】
一実施例によるコンピュータプログラムは、バックアップ候補ファイルの識別情報を利用して前記バックアップ候補ファイルに対するファイルフィンガープリントを生成するプロセスと、貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認するプロセスと、前記貯蔵装置に前記バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しなければ、前記バックアップ候補ファイルをバックアップ対象ファイルと決定するプロセスと、前記バックアップ対象ファイルをバックアップし、前記バックアップ対象ファイルのフィンガープリントを貯蔵することで前記貯蔵装置を更新するプロセスと、を実行するために媒体に貯蔵される。
【発明の効果】
【００１４】
少なくとも一つの実施例によると、フィンガープリント（ｆｉｎｇｅｒ  ｐｒｉｎｔ）を介して既にバックアップされているファイルを簡易に識別することで、本願発明のファイルバックアップ方法は、ファイルをより迅速にバックアップし得る手段を提供することができる。また、本願発明によると、既にバックアップされているファイルを識別する過程をより少ないリソースを介して行い得る手段が提供される。
【図面の簡単な説明】
【００１５】
【図１】例示的な実施例によるファイルのバックアップシステムを示す概念図である。
【図２】ファイルバックアップ装置を例示的に示すグロック図である。
【図３】ファイルバックアップ装置に備えられた貯蔵装置の細部構成を示す概念図である。
【図４】例示的な実施例によるファイルバックアップ方法を例示的に示す順序図である。
【図５】図４のステップＳ１２０をより詳細に示すフローチャートである。
【図６】ファイルバックアップ装置がバックアップ候補ファイルのフィンガープリントと同じフィンガープリントが存在するのか否かを判断する方式を説明するためのフローチャートである。
【図７】ファイルバックアップ装置がバックアップ候補ファイルのフィンガープリントと同じフィンガープリントが存在するのか否かを判断する他の方式を説明するためのフローチャートである。
【図８】一実施例によるファイルバックアップ方法が行われる一例を示す図である。
【発明を実施するための形態】
【００１６】
後述する本発明による詳細な説明は、本発明の目的、技術的解法、及び長所を明確にするために本発明が実施され得る特定実施例の例示であって、図示する添付した図面を参照する。これらの実施例は通常の技術者が本発明を十分に実施し得るように詳細に説明される。添付した図面を参照して、図面符号に関わらず同じ構成要素は同じ参照符号を付与し、それに関する重複する説明は省略する。
【００１７】
実施例に関する特定の構造的または機能的な説明は単に例示のための目的で開示されたものであり、多様な形態に変形されて実施されてもよい。よって、実施例は特定の開示形態に限らず、本明細書の範囲は技術的思想に含まれる変更、均等物、または代替物を含む。
【００１８】
第１または第２などの用語は多用な構成要素を説明するのに使用されるが、このような用語は一つの構成要素を他の構成要素から区別する目的にのみ解析されるべきである。例えば、第１構成要素は第２構成要素と称されてもよく、類似して第２構成要素は第１構成要素とも称されてもよい。
【００１９】
ある構成要素が他の構成要素に「連結されて」いると言及されれば、その他の構成要素に直接連結されているかまたは接続されていてもよいが、中間に他の構成要素が存在する可能性もあると理解すべきである。
【００２０】
単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書において、「含む」または「有する」などの用語は記載された特徴、数字、ステップ、動作、構成要素、部分品またはこれらを組み合わせたものが存在することを指定するものであって、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部分品またはこれらを組み合わせたものの存在または付加可能性を予め排除しないと理解すべきである。
【００２１】
異なるように定義されない限り、ここで使用される技術的か科学的な用語を含む全ての用語は、該当記述分野における通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に使用される辞書に定義されているものと同じ用語は、関連技術の文脈上で有する意味と一致する意味を有すると解析すべきであり、本明細書で明白に定義しない限り、理想的にまたは過度に形式的な意味で解析されない。
【００２２】
本発明は、本明細書に示した実施例の可能な全ての組み合わせを網羅する。本発明の多様な実施例は互いに異なるが、相互排他的な必要なないことを理解すべきである。例えば、ここに記載されている特定の形状、構造及び特性は、実施例に関して本発明の思想及び範囲を逸脱しないながらも他の実施例に具現されてもよい。また、それぞれの開示された実施例内の個別の構成要素の位置または配置は、本発明の思想及び範囲を逸脱しないながら変更され得ることを理解すべきである。よって、後述する詳細な説明は限定的な意味で取られるものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張するものと均等な全ての範囲と共に添付した請求項によってのみ限られる。図面において、類似した参照符号は多様な側面にわたって同じであるか類似した機能を指す。
【００２３】
本明細書において、異なるように表示されるか明白に文脈に矛盾しない限り、単数に称された項目は、その文脈で異なるように要求されない限り、複数のものを併せる。また、本発明を説明するに当たって、関連する公知構成または機能に関する具体的な説明が本発明の要旨を不明確にする恐れがあると判断されれば、その詳細な説明は省略する。
【００２４】
以下、通常の技術者が本発明を容易に実施し得るようにするために、本発明の好ましい実施例について添付した図面を参照して詳細に説明する。
【００２５】
図１は、例示的な実施例によるファイルのバックアップシステムを示す概念図である。
【００２６】
図１を参照すると、ファイルのバックアップシステムは、バックアップ装置１００及び端末３０１、３０２、３０３を含む。ファイルバックアップ装置１００は、ネットワーク２００を介して端末３０１、３０２、３０３とバックアップのための情報を送受信する。
【００２７】
ファイルバックアップ装置１００は、端末３０１、３０２、３０３に貯蔵されているファイルをバックアップする。ファイルバックアップ装置１００は、企業内に存在する端末３０１、３０２、３０３に貯蔵されるデータを周期的にバックアップすることで、データの流失を防止する。ファイルバックアップ装置１００は、企業単位で多数のコンピューティング装置に連動されて運用されてもよく、個別端末３０１、３０２、３０３単位で独立に運用されてもよい。
【００２８】
ネットワーク２００は、ファイルバックアップ装置１００と端末３０１、３０２、３０３を連結する網（Ｎｅｔｗｏｒｋ）であって、有線ネットワーク、無線ネットワークなどを含む。ネットワーク２００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの閉鎖型ネットワーク、またはインターネット（Ｉｎｔｅｒｎｅｔ）のような開放型ネットワークである。インターネットはＴＣＰ／ＩＰプロトコール及びその上位階層に存在する様々なサービス、つまり、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、Ｔｅｌｎｅｔ、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｅｒｖｉｃｅ）、ＮＩＳ（Ｎｅｔｗｏｒｋ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｉｃｅ）を提供する全世界的開放型コンピュータネットワークの構造を意味する。
【００２９】
端末３０１、３０２、３０３は、ネットワークに接続可能なユーザの装置である。端末３０１、３０２、３０３は、ネットワーク２００を介してファイルバックアップ装置１００にバックアップ候補ファイルに関する情報を伝送する。ファイルバックアップ装置１００は、バックアップ候補ファイルに関する情報に基づいてバックアップ候補ファイルのうちバックアップを行うバックアップ対象ファイルを決定し、バックアップ対象ファイルを貯蔵装置に貯蔵する。端末３０１、３０２、３０３は、スマートフォン、タブレットＰＣ、ラップトップなどを含むが、これに限らない。
【００３０】
ファイルバックアップ装置１００は、端末３０１、３０２、３０３に存在する大容量のデータをバックアップする過程において、貯蔵空間を効果的に使用するために、以前既にバックアップを行ったファイルを除いた残りのファイルに対してバックアップを行う。この過程で既にバックアップされているファイルを識別するプロセスが行われる必要があるが、これはそれぞれのファイルをバイト単位で直接比較する過程を介して既にバックアップされているファイルを識別するか、またはそれぞれのファイルに対して生成されたハッシュ関数を識別子として利用して重複するファイルを識別する方法に基づいて行われる。ファイルをバイト単位で一々比較する方式は、全体のファイルをバイト単位で比較する過程を要するため、多くの時間がかかり、多くのリソースが要求される。また、ハッシュ関数を利用する方式は、ハッシュ値を利用して重複可否を比較する過程は比較的速い時間内に行われるが、それぞれのファイルに対するハッシュ値を生成する過程で全体のファイルを読み込む必要があるため、多くのリソースが消耗され、早い時間内に行われることが難しい。
【００３１】
一実施例によるファイルバックアップ装置１００は、ファイル自体に関する低容量情報またはファイルが貯蔵されたディレクトリに関する低容量情報を介して生成されたフィンガープリントを利用して既にバックアップが行われているファイルをフィルタリングすることで、より迅速で少ないリソースでファイルのバックアップを行う手段を提供する。
【００３２】
図２は、ファイルのバックアップ１００を例示的に示すグロック図である。
【００３３】
図２を参照すると、例示的な実施例によるファイルバックアップ１００は、通信インタフェース部１１０、プロセッサ１２０、メモリ１３０、及び／または貯蔵装置１４０を含む。
【００３４】
通信インタフェース部１１０が使用する通信インタフェースは、ＷＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷｉＦｉ（ｗｉｒｅｌｅｓｓ  ｆｉｄｅｌｉｔｙ）  Ｄｉｒｅｃｔ、ＤＬＮＡ（登録商標）（ｄｉｇｉｔａｌ  ｌｉｖｉｎｇ  ｎｅｔｗｏｒｋ  ａｌｌｉａｎｃｅ）、Ｗｉｂｒｏ（ｗｉｒｅｌｅｓｓ  ｂｒｏａｄｂａｎｄ）、Ｗｉｍａｘ（ｗｏｒｌｄ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  ｍｉｃｒｏｗａｖｅ  ａｃｃｅｓｓ）、ＨＳＤＰＡ（ｈｉｇｈ  ｓｐｅｅｄ  ｄｏｗｎｌｉｎｋ  ｐａｃｋｅｔ  ａｃｃｅｓｓ）などの無線インターネットインタフェースと、ブルートゥース（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標））、ＲＦＩＤ（ｒａｄｉｏ  ｆｒｅｑｅｕｎｃｙ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、赤外線通信（ｉｎｆｒａｒｅｄ  ｄａｔａ  ａｓｓｏｃｉａｔｉｏｎ；ＩｒＤＡ）、ＵＷＢ（ｕｌｔｒａ−ｗｉｄｅｂａｎｄ）、ＺｉｇＢｅｅ、ＮＦＣ（ｎｅａｒ  ｆｉｅｌｄ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）などの近距離通信インタフェースを含む。それだけでなく、通信インタフェース部１１０は、外部と通信し得る全てのインタフェース（例えば、有線インタフェース）を利用してもよい。
【００３５】
通信インタフェース部１１０は、プロセッサ１２０の制御によって動作する。通信インタフェース部１１０は、プロセッサ１２０の命令に従って無線通信または有線通信方式で信号を伝送する。端末３０１、３０２、３０３は、無線通信または有線通信方式で通信インタフェース部１１０が伝送する信号を受信する。
【００３６】
プロセッサ１２０は、メモリ１３０及び／または貯蔵装置１４０に貯蔵されたプログラム命令（ｐｒｏｇｒａｍ  ｃｏｍｍａｎｄ）を実行する。プロセッサ１２０は、ＭＰＵ（ｍｉｃｒｏ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ＣＰＵ（ｃｎｅｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ＧＰＵ（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ＮＰＵ（ｎｅｕｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、またはＴＰＵ（ｔｅｎｓｏｒ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）などのハードウェア構成を含む。また、運営体制、特定の目的を行うアプリケーションのソフトウェアの構成を更に含む。
【００３７】
メモリ１３０と貯蔵装置１４０は、揮発性貯蔵媒体及び／または不揮発性貯蔵媒体からなる。例えば、メモリ１３０は読み出し専用メモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ；ＲＯＭ）及び／またはランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ；ＲＡＭ）からなる。貯蔵装置１４０は、ファイルをバックアップするデータベースである。
【００３８】
図２を参照して説明したファイルバックアップ装置１００の構成は例示的なものに過ぎず、実施例はこれに限らない。例えば、ファイルバックアップ装置１００のメモリ１３０及び貯蔵装置１４０は物理的に区分されなくてもよい。
【００３９】
図３は、ファイルバックアップ装置１００に備えられた貯蔵装置１４０の構成を機能単位で示したブロック図である。
【００４０】
図３に示したブロックは機能単位に分割して示したものに過ぎず、ブロックは物理的にまたは論理的に互いに厳しく区分されなくてもよい。
【００４１】
貯蔵装置１４０は、ファイルバックアップ装置１００に連動された端末３０１、３０２、３０３に貯蔵されたファイルをファイルバックアップ部１４１に貯蔵することで、端末３０１、３０２、３０３のファイルをバックアップする。
【００４２】
ファイルバックアップ装置１００は、それぞれのディレクトリを識別するディレクトリフィンガープリントを介して既にバックアップが行われているディレクトリをフィルタリングする動作を行う。既にバックアップが行われているディレクトリに対するディレクトリフィンガープリントは、ディレクトリフィンガープリント貯蔵部１４２に貯蔵される。
【００４３】
また、ファイルバックアップ装置１００は、それぞれのファイルを識別するファイルフィンガープリントを介して既にバックアップが行われているファイルをフィルタリングする動作を行う。既にバックアップが行われているファイルに対するファイルフィンガープリントは、ファイルフィンガープリント貯蔵部１４３に貯蔵される。
【００４４】
図４は、例示的な実施例によるファイルバックアップ方法を例示的に示す順序図である。図４に示した方法は、図１のファイルバックアップ装置１００によって行われる。
【００４５】
図４を参照すると、ステップＳ１１０において、ファイルバックアップ装置１００はバックアップ候補ファイルに対するファイルフィンガープリントを生成する。ファイルフィンガープリントは、バックアップ候補ファイルに関する所定情報に基づいて生成されるファイルに対する識別情報を意味する。ファイルフィンガープリントはファイルの大きさ情報、ファイルの拡張子情報、及びファイルのバイト情報のうち最後から抽出された所定個数のバイト情報に基づいて生成される。例えば、前記ファイルのバイト情報のうち最後から抽出された所定個数のバイト情報はファイルの最後の１６バイトに当たる情報であってもよいが、実施例はこれに限らない。具体的な数値は、通常の技術者が容易に変更し得る範囲で変更されてもよい。
【００４６】
例示的に、ファイルフィンガープリントのファイルの大きさ情報を含む第１フィールド、ファイルの拡張子情報を含む第２フィールド、ファイルのバイトのうち最後から抽出された所定個数のバイト情報を含む第３フィールドを含む。他の例として、ファイルフィンガープリントはファイルの大きさ情報、ファイルの拡張子情報、及びファイルのバイト情報のうち最後から抽出された所定個数のバイト情報が貯蔵された一つのフィールドを含んでもよい。
【００４７】
ファイルフィンガープリントの形態は前記提示された例示に限らず、ファイルに関する任意の情報の組み合わせを介して生成される任意のデータの形態を含む。この場合、ファイルフィンガープリントの同一性は、ファイルフィンガープリントのバイト単位の比較を介して決定される。
【００４８】
ステップＳ１２０において、ファイルバックアップ装置１００は、貯蔵装置にバックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認する。
【００４９】
図５は、図４のステップＳ１２０をより詳細に示すフローチャートである。
【００５０】
図５を参照すると、ファイルバックアップ装置１００は、バックアップ候補ファイルの大きさ情報に基づいて、前記貯蔵装置に貯蔵されたファイルフィンガープリントに対する第１索引を行う。ステップＳ１２６において、ファイルバックアップ装置１００は、第１索引を利用して貯蔵装置に貯蔵されたファイルフィンガープリントのうち、バックアップ候補ファイルと同じ大きさに対応するファイルフィンガープリントを検索する。もし、第１索引に基づいてバックアップ候補ファイルと同じ大きさに対応するファイルフィンガープリントが検索されなければ、ファイルバックアップ装置１００はバックアップ候補ファイルをバックアップ対象ファイルと決定する。この場合、ファイルバックアップ装置１００は後述する第２索引及び第３索引を利用した比較手順Ｓ１２８、Ｓ１２９を省略することで、バックアップ対象ファイルを決定する過程に必要な資源を節約する。
【００５１】
ファイルバックアップ装置１００は、バックアップ候補ファイルの拡張子情報に基づいて第２索引を行う。ステップＳ１２８において、ファイルバックアップ装置１００は、第２索引を利用して、第１索引を介して検索されたファイルフィンガープリントのうち、バックアップ候補ファイルと同じ拡張子を有するファイルフィンガープリントを検索する。ファイルバックアップ装置１００は、第１索引を介して検索されたファイルフィンガープリントに対してのみ第２索引を比較することで、ステップＳ１２８を行うのに必要な資源を節約する。
【００５２】
もし、第２索引に基づいてバックアップ候補ファイルと同じ拡張子に対応するファイルフィンガープリントが検索されなければ、ファイルバックアップ装置１００はバックアップ候補ファイルをバックアップ対象ファイルと決定する。この場合、ファイルバックアップ装置１００は後述する第３索引を利用した比較手順Ｓ１２９を省略することで、バックアップ対象ファイルを決定する過程に必要な資源を節約する。
【００５３】
ファイルバックアップ装置１００は、バックアップ候補ファイルのバイト情報にうち最後から抽出された所定個数のバイト情報に基づいて第３索引を行う。ステップＳ１２９において、ファイルバックアップ装置１００は、第３索引を利用して、第２索引を介して検索されたファイルフィンガープリントのうち、バックアップ候補ファイルの最後の所定バイトと同じバイト情報を有するファイルフィンガープリントを検索する。ファイルバックアップ装置１００は、第１及び第２索引を介して検索されたファイルフィンガープリントに対してのみ第３索引を比較することで、ステップＳ１２９を行うのに必要な資源を節約する。
【００５４】
もし、第３索引に基づいてバックアップ候補ファイルと同じバイト情報を有するファイルフィンガープリントが検索されなければ、ファイルバックアップ装置１００はバックアップ候補ファイルをバックアップ対象ファイルと決定する。ファイルバックアップ装置１００は、第３索引を介して検索されるファイルフィンガープリントが存在すれば、バックアップ候補ファイルが既にバックアップされているファイルであると決定する。
【００５５】
ステップＳ１２０において、バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しないと決定されれば、ステップＳ１３０において、ファイルバックアップ装置１００は、バックアップ候補ファイルをバックアップ対象ファイルと決定する。
【００５６】
次に、ステップＳ１４０において、ファイルバックアップ装置１００は、バックアップ対象ファイルを貯蔵装置のファイルバックアップ部に貯蔵することで、バックアップ対象ファイルに対するバックアップを行い、バックアップ対象ファイルのフィンガープリントをファイルフィンガープリント貯蔵部に貯蔵することで貯蔵装置を更新する。
【００５７】
ステップＳ１２０において、バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在すると決定されれば、バックアップ候補ファイルは既にバックアップされているファイルと判断し、それによって、ファイルバックアップ装置１００は、ステップＳ１５０を介して、バックアップ候補ファイルをバックアップ対象ファイルと決定しないことで、バックアップ候補ファイルをフィルタリングする。つまり、該当バックアップ候補ファイルに対するバックアップは行わない。
【００５８】
一実施例によると、ファイルバックアップ装置１００は、ステップＳ１２０に当たる動作を行う前に、バックアップ候補ファイルの最終修正時点が最終バックアップ時点の以前の時点あるのか否かに基づいて、バックアップ候補ファイルをフィルタリングするプロセスを行う。詳しくは、ファイルフィンガープリントは、ファイルの最終修正時点に対するタイプスタンプ情報を更に含み、ファイルバックアップ装置１００は、タイムスタンプ情報に基づいてバックアップ候補ファイルの最終修正時点が最終バックアップ時点の以降の時点の当たるのか否かを確認する。ファイルバックアップ装置１００は、バックアップ候補ファイルの最終修正時点が最終バックアップ時点の以前の時点に当たれば、該当ファイルは既にバックアップされているファイルと判断してバックアップ候補ファイルをフィルタリングすることで、該当ファイルに対するバックアップを行わない。ファイルバックアップ装置１００は、バックアップ候補ファイルの最終修正時点が最終バックアップ時点の以降の時点に当たれば、バックアップ候補ファイルに対してステップＳ１２０の以降のプロセスを行う。
【００５９】
図６は、ファイルバックアップ装置がバックアップ候補ファイルのフィンガープリントと同じフィンガープリントが存在するのか否かを判断する方式を説明するためのフローチャートである。
【００６０】
一実施例によると、ファイルフィンガープリントは該当ファイルが位置するディレクトリ情報を更に含む。よって、ファイルバックアップ装置１００は、バックアップされた全てのファイルに対して順番にファイルフィンガープリントの重複可否を判断する方式だけでなく、バックアップ候補ファイルのディレクトリ情報に基づいて、バックアップ候補ファイルの同じディレクトリに対応するファイルのファイルフィンガープリントのうちバックアップ候補ファイルのフィンガープリントと同じファイルフィンガープリントが存在するのか否かを優先的に確認する方式を使用する。このような方式を介して、ファイルバックアップ装置１００はバックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在する可能性が高いディレクトリのファイルフィンガープリントを優先的に確認し、重複するファイルフィンガープリントが早期に確認される可能性を高める。説明した方式を介して、ファイルバックアップ装置は、より迅速で少なくリソースを利用してバックアップ候補ファイルと同じファイルフィンガープリントが存在するのか否かを確認する。
【００６１】
詳しくは、図５に示したように、図４のステップＳ１２０は、ステップＳ１２１及びステップＳ１２２に分けられて行われる。
【００６２】
ステップＳ１２１において、ファイルバックアップ装置１００は、バックアップ候補ファイルが位置するディレクトリと同じディレクトリに対応するファイルフィンガープリントのうち、バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを優先的に確認する。
【００６３】
ステップＳ１２１において、バックアップ候補ファイルと同じディレクトリにバックアップ候補ファイルのファイルフィンガープリントと重複するファイルフィンガープリントが確認されなければ、ステップＳ１２２を介して、ファイルバックアップ装置１００は、残りのディレクトリに対応するファイルフィンガープリントに対して、バックアップ候補ファイルのファイルフィンガープリントと同じフィンガープリントが存在するのか否かを確認する。ファイルバックアップ装置１００は、ステップＳ１２２において、同じファイルフィンガープリントが確認されなければ、ステップＳ１３０を介してバックアップ候補ファイルをバックアップ対象ファイルと決定する。
【００６４】
ステップＳ１２１及びステップＳ１２２のうちいずれか一つのステップにおいて、バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが確認されれば、ファイルバックアップ装置１００は、ステップＳ１５０を介してバックアップ候補ファイルをフィルタリングする。つまり、該当ファイルに対するバックアップを行わない。
【００６５】
図７は、ファイルバックアップ装置がバックアップ候補ファイルのフィンガープリントと同じフィンガープリントが存在するのか否かを判断する他の方式を説明するためのフローチャートである。
【００６６】
一実施例によると、ファイルバックアップ装置１００は、ステップＳ１００に当たる動作を行う前に、ディレクトリ単位のフィルタリングを行うことで、より迅速で少ないリソースを要する方式で既にバックアップが行われているファイルをフィルタリングする。
【００６７】
図７を参照すると、ファイルバックアップ装置１００は、ステップＳ１０１において、バックアップ候補ディレクトリの識別情報を利用してディレクトリフィンガープリントを生成する。詳しくは、ファイルバックアップ装置１００は、バックアップ候補ディレクトリの位置情報、ディレクトリに含まれたファイルの個数情報、ディレクトリが修正された最終時点に対するタイムスタンプ情報に基づいてディレクトリフィンガープリントを生成する。それぞれのディレクトリフィンガープリントはディレクトリに対する識別情報として利用され、異なるディレクトリフィンガープリントを有するディレクトリは異なるディレクトリと判断される。
【００６８】
ファイルバックアップ装置１００は、ステップＳ１０２において、バックアップ候補ディレクトリのディレクトリフィンガープリントと同じディレクトリフィンガープリントが貯蔵装置に存在するのか否かを確認する。
【００６９】
ステップＳ１０２において、貯蔵装置にバックアップ候補ディレクトリと同じディレクトリフィンガープリントが存在しないと決定されれば、ファイルバックアップ装置１００は、ステップＳ１０３を介してバックアップ候補ディレクトリをバックアップ対象ディレクトリとして決定する。
【００７０】
ファイルバックアップ装置１００は、ステップＳ１０４を介して、バックアップ対象ディレクトリに含まれたファイルをバックアップ候補ファイルと決定し、バックアップ対象ディレクトリのディレクトリフィンガープリントを貯蔵装置に貯蔵することで貯蔵装置を更新する。つまり、ファイルバックアップ装置１００は、バックアップ対象ディレクトリではない他のディレクトリに貯蔵されたファイルはバックアップ候補ファイルと設定しないことで、バックアップ手順に必要なリソースを節約する。
【００７１】
ステップＳ１０２において、貯蔵装置にバックアップ候補ディレクトリと同じディレクトリフィンガープリントが貯蔵装置存在すると決定されれば、ファイルバックアップ装置１００は、ステップＳ１０５を介してバックアップ候補ディレクトリをバックアップ対象から除外することでバックアップ候補ディレクトリをフィルタリングする。
【００７２】
図７を介して説明した方式を介して、ディレクトリ単位のフィルタイリングを優先的に行うことで、既にバックアップが行われているファイルをより速くて少ないリソースでフィルタリングする。
【００７３】
ファイルバックアップ装置１００は、ディレクトリ単位のフィルタリングを介し、個別ファイル単位でフィルタリングを行う方式に比べ、より速い速度及び少ないリソースで既にバックアップが行われているファイルをフィルタリングする。
【００７４】
図８は、一実施例によるファイルバックアップ方法が行われる一例を示す図である。
【００７５】
図８の（ａ）を参照すると、フォルダＡ７１０、フォルダＢ７２０、及びフォルダＣ７３０に含まれたファイルが２０１９．６．１０に最終的に貯蔵装置にバックアップされている。フォルダＡ１７０、フォルダＢ７２０、及びフォルダＣ７３０に対応するディレクトリフィンガープリント、及びフォルダＡ１７０、フォルダＢ７２０、及びフォルダＣ７３０に含まれたファイルに対するファイルフィンガープリントは、貯蔵装置にバックアップされたファイルとは別に貯蔵される。
【００７６】
図７の（ｂ）は、現在時点でバックアップが予定されたユーザ端末に貯蔵されたファイルの形態を示す。フォルダＡ’７４０の場合、既にバックアップされているフォルダＡ７１０と位置、ファイル数、最終修正日が同じであるため、互いに同じディレクトリフィンガープリントに対応する。よって、ファイルバックアップ装置はフォルダＡ’７４０をフィルタリングすることで、該当フォルダに対するバックアップを行わない。
【００７７】
フォルダＢ’７５０及びフォルダＣ’７６０それぞれは、フォルダＢ７２０及びフォルダＣ７３０と情報が異なるため異なるディレクトリフィンガープリントに対応する。よって、ファイルバックアップ装置は、フォルダＢ’７５０及びフォルダＣ’７６０をバックアップ対象ディレクトリと決定し、該当フォルダに含まれたファイルをバックアップ候補ファイルと決定する。
【００７８】
ファイルバックアップ装置は、フォルダＣ’７６０に含まれたファイルのうち最終バックアップ日付（２０１９．０６．１０）以前に最終修正されたファイル７６１、７６２、７６３は既にバックアップされているファイルと判断し、バックアップ対象ファイルから除外する。
【００７９】
最終修正日に基づいてバックアップ対象ファイルと決定されるファイル７６４、７６５は、優先的にフォルダＣ’７６０の位置に対応して既にバックアップされているファイル７３１に対応するファイルフィンガープリントに基づいてファイルフィンガープリントの重複可否が判断される。つまり、ファイルバックアップ装置は、フォルダＣ’７６０の位置に対応して既にバックアップされているファイル７３１のファイルフィンガープリントのうちファイル７６４、７６５に対応するファイルフィンガープリントと同じものがあるのか否かを判断する。ファイルバックアップ装置は、既にバックアップされているファイル７３１に対応するファイルフィンガープリントのうちファイル７６４、７６５に対応するファイルフィンガープリントが存在しなければ、残りのファイル（フォルダＡ７１０及びフォルダＢ７２０）にファイル７６４、７６５に対応するファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認する。上述したプロセスを介して、ファイル７６４、７６５のファイルフィンガープリントと同じファイルフィンガープリントが貯蔵装置から発見されなければ、ファイルバックアップ装置はファイル７６４、７６５をバックアップ対象ファイルと決定し、バックアップを行う。
【００８０】
図７を介して提示した例示は本発明のファイルバックアップ方法の一例に過ぎず、ファイルバックアップ装置は、貯蔵装置に貯蔵された全てのファイルフィンガープリントを対象にファイルフィンガープリントの重複可否を確認する手順を行う。それ以外にも、ファイルバックアップ装置は上述した方式の任意の組み合わせを介して、既にバックアップされているファイルをフィルタリングする動作を行う。
【００８１】
これまで、本開示書の多様な実施例に関する説明に基づいて、該当技術分野の通常の技術者は、本発明の方法及び／またはプロセス、そしてそのステップがハードウェア、ソフトウェアまたは特定用例に適合したハードウェア及びソフトウェアの任意の組み合わせで実現され得ることを明確に理解できるはずである。前記ハードウェアは汎用コンピュータ及び／または専用コンピューティング装置、または特定コンピューティング装置または特定コンピューティング装置の特別な様子及び構成要素を含む。前記プロセスは、内部及び／または外部メモリを有する、一つ以上のプロセッサ、例えば、マイクロプロセッサ、コントローラ、例えば、マイクロコントローラ、エンベデッドマイクロコントローラ、マイクロコンピュータ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、例えば、プログラマブルデジタル信号プロセッサ、またはその他のプログラマブル装置によって実現される。なお、或いは代案として、前記プロセスは、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ；ＡＳＩＣ）、プログラマブルゲートアレイ（ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、例えば、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、またはプログラマブルアレイロジック（Ｐｒｏｇｒａｍｍａｂｌｅ  Ａｒｒａｙ  Ｌｏｇｉｃ；ＰＡＬ）、またはその他の命令語（ｉｎｓｔｒｕｃｔｉｏｎ）を実行し応答し得る任意の他の装置、電子信号を処理するために構成される任意の他の装置、または装置の組み合わせで実施される。処理装置は、運営体制（ＯＳ）及び前記運営体制上で行われる一つ以上のソフトウェアアプリケーションを行う。また、処理装置はソフトウェアの実行に応答し、データを接近、貯蔵、操作、処理、及び生成する。理解の便宜上、処理装置は一つが使用されると説明されることがあるが、該当技術分野における通常の知識を有する者であれば、処理装置が複数個の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）、及び／または複数類型の処理要素を含むことが分かる。例えば、処理装置は複数個のプロセッサまたは一つのプロセッサ、及び一つのコントローラを含んでもよい。また、並列プロセッサ（ｐｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような他の処理構成（ｐｒｏｃｅｓｓｉｎｇ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）も可能である。
【００８２】
ソフトウェアは、コンピュータプログラム（ｃｏｍｐｕｔｅｒ  ｐｒｏｇｒａｍ）、コード（ｃｏｄｅ）、命令語（ｉｎｓｔｒｕｃｔｉｏｎ）、またはこれらのうち一つ以上の組み合わせを含むが、所望のように動作するように処理装置を構成するか、独立的にまたは結合的に（ｃｏｌｌｅｃｔｉｖｅｌｙ）処理装置を命令する。ソフトウェア及び／またはデータは、処理装置によって解析されるか処理装置に命令語またはデータを提供するために、ある類型の機械、構成要素（ｃｏｍｐｏｎｅｎｔ）、物理的装置、仮想装置（ｖｉｒｔｕａｌ  ｅｑｕｉｐｍｅｎｔ）、コンピュータ貯蔵媒体または装置、または伝送される信号波（ｓｉｇｎａｌ  ｗａｖｅ）に永久的に、または一時的に具体化（ｅｍｂｏｄｙ）される。ソフトウェアは、ネットワークで連結されたコンピュータシステム上に分散され、分散された方法で貯蔵されるか実行される。ソフトウェア及びデータは、一つ以上の機械で読み出し可能な記録媒体に貯蔵される。
【００８３】
なお、本発明の技術的解法の対象物または先行技術に寄与する部分は、多様なコンピュータ構成要素を介して行われるプログラム命令語の形態に具現されて機械で読み出し可能な媒体に記録される。機械で読み出し可能な媒体は、プログラム命令語、データファイル、データ構造などを単独にまたは組み合わせて含む。機械で読み出し可能な媒体に記録されるプログラム命令語は、実施例のために特別に設計されて構成されたものであるか、コンピュータソフトウェア分野の通常の技術者に公知されて使用可能なものであってもよい。機械で読み出し可能な媒体の例としては、ハードディスク、フロッピーディスク、及び磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉａ)、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）のような光記録媒体（ｏｐｔｉｃａｌ  ｍｅｄｉａ）、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ)のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ)、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令語を貯蔵し行うように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例としては、上述した装置のうちいずれか一つだけでなく、プロセッサ、プロセッサアーキテクチャ、または異なるハードウェア及びソフトウェアの組み合わせの異種組み合わせ、またはある他のプログラム命令語を実行する機械上で実行されるために貯蔵及びコンパイルまたはインタープリートされる、Ｃのような構造的プログラミング言語、Ｃ＋＋のような客体指向的プログラミング言語、または高級または低級のプログラミング言語（アセンブリ語、ハードウェア技術言語、及びデータベースプログラミング言語及び技術）を使用して作られるため、機械語コード、バイトコードだけでなく、インタープリータなどを使用してコンピュータによって実行される高級言語コードもこれに当たる。
【００８４】
よって、本発明による一様態において、上述した説明及びその組み合わせが一つ以上のコンピューティング装置によって行われる際、その方法及び方法の組み合わせが各ステップを行う実行可能なコードとして実施される。他の一様態において、前記方法は前記ステップを行うシステムとして実施され、方法は装置にわたって様々な方法で分散されるか全ての機能が一つの専用、独立型装置、または他のハードウェアに統合される。また他の一様態において、上述したプロセスに関するステップを行う手段は、上述した任意のハードウェア及び／またはソフトウェアを含む。そのような全ての順次結合及び組み合わせは、本開示書の範囲内に属するように意図されている。
【００８５】
例えば、上述したハードウェア装置は本実施例の動作を行うために一つ以上のソフトウェアモジュールとして作動するように構成されるが、その逆も同じである。前記ハードウェア装置は、プログラム命令語を貯蔵するためのＲＯＭ／ＲＡＭなどのようなメモリと結合され、前記メモリに貯蔵された命令語を実行するように構成されるＭＰＵ、ＣＰＵ、ＧＰＵ、ＴＰＵのようなプロセッサを含み、外部装置と信号を交換する通信部を含む。ちなみに、前記ハードウェア装置は開発者によって作成された命令語を伝達されるためのキーボード、マウス、その他の外部入力装置を含む。
【００８６】
これまで本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明は前記実施例に限らないものであって、本発明の属する技術分野の通常的な知識を有する者であれば、このような記載から多様な修正及び変形を図ることができるはずである。
【００８７】
よって、本発明の思想は上述した実施例に限って決められてはならず、本開示書に添付された特許請求の範囲だけでなく、この特許請求の範囲と均等にまたは等価的に変形された全てのものは本発明の思想の範疇に属するといえる。例えば、説明した技術が説明した方法とは異なる順序で行われるか、及び／または説明したシステム、構造、装置、回路などの構成要素が説明した方法とは異なる形で結合または組み合わされるか、他の構成要素または均等物によって対置されるか置換されても、適切な結果が達成される。
【００８８】
そのように均等にまたは等価的に変形されたものとしては、例えば、本発明による方法を実施したものと同じ結果を出す可能性がある、論理的に同値（ｌｏｇｉｃａｌｌｙ  ｅｑｕｉｖａｌｅｎｔ）の方法が含まれるゆえ、本発明の真意及び範囲は、上述した例示によって制限されてはならず、法律によって許容可能な最も広い意味で理解されるべきである。
【図１】
2020205021.tif 000003
【図２】
2020205021.tif 000004
【図３】
2020205021.tif 000005
【図４】
2020205021.tif 000006
【図５】
2020205021.tif 000007
【図６】
2020205021.tif 000008
【図７】
2020205021.tif 000009
【図８】
2020205021.tif 000010