(58)【調査した分野】(Int.Cl.,DB名)
ディレクトリ識別情報を利用して生成されるディレクトリフィンガープリントに基づいてバックアップ候補ディレクトリのうちからバックアップ対象ディレクトリを決定するステップと、
前記バックアップ対象ディレクトリに含まれたファイルを前記バックアップ候補ファイルと決定するステップと、を更に含む請求項1に記載のファイルバックアップ方法。
【発明を実施するための形態】
【0016】
後述する本発明による詳細な説明は、本発明の目的、技術的解法、及び長所を明確にするために本発明が実施され得る特定実施例の例示であって、図示する添付した図面を参照する。これらの実施例は通常の技術者が本発明を十分に実施し得るように詳細に説明される。添付した図面を参照して、図面符号に関わらず同じ構成要素は同じ参照符号を付与し、それに関する重複する説明は省略する。
【0017】
実施例に関する特定の構造的または機能的な説明は単に例示のための目的で開示されたものであり、多様な形態に変形されて実施されてもよい。よって、実施例は特定の開示形態に限らず、本明細書の範囲は技術的思想に含まれる変更、均等物、または代替物を含む。
【0018】
第1または第2などの用語は多用な構成要素を説明するのに使用されるが、このような用語は一つの構成要素を他の構成要素から区別する目的にのみ解析されるべきである。例えば、第1構成要素は第2構成要素と称されてもよく、類似して第2構成要素は第1構成要素とも称されてもよい。
【0019】
ある構成要素が他の構成要素に「連結されて」いると言及されれば、その他の構成要素に直接連結されているかまたは接続されていてもよいが、中間に他の構成要素が存在する可能性もあると理解すべきである。
【0020】
単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書において、「含む」または「有する」などの用語は記載された特徴、数字、ステップ、動作、構成要素、部分品またはこれらを組み合わせたものが存在することを指定するものであって、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部分品またはこれらを組み合わせたものの存在または付加可能性を予め排除しないと理解すべきである。
【0021】
異なるように定義されない限り、ここで使用される技術的か科学的な用語を含む全ての用語は、該当記述分野における通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に使用される辞書に定義されているものと同じ用語は、関連技術の文脈上で有する意味と一致する意味を有すると解析すべきであり、本明細書で明白に定義しない限り、理想的にまたは過度に形式的な意味で解析されない。
【0022】
本発明は、本明細書に示した実施例の可能な全ての組み合わせを網羅する。本発明の多様な実施例は互いに異なるが、相互排他的な必要なないことを理解すべきである。例えば、ここに記載されている特定の形状、構造及び特性は、実施例に関して本発明の思想及び範囲を逸脱しないながらも他の実施例に具現されてもよい。また、それぞれの開示された実施例内の個別の構成要素の位置または配置は、本発明の思想及び範囲を逸脱しないながら変更され得ることを理解すべきである。よって、後述する詳細な説明は限定的な意味で取られるものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張するものと均等な全ての範囲と共に添付した請求項によってのみ限られる。図面において、類似した参照符号は多様な側面にわたって同じであるか類似した機能を指す。
【0023】
本明細書において、異なるように表示されるか明白に文脈に矛盾しない限り、単数に称された項目は、その文脈で異なるように要求されない限り、複数のものを併せる。また、本発明を説明するに当たって、関連する公知構成または機能に関する具体的な説明が本発明の要旨を不明確にする恐れがあると判断されれば、その詳細な説明は省略する。
【0024】
以下、通常の技術者が本発明を容易に実施し得るようにするために、本発明の好ましい実施例について添付した図面を参照して詳細に説明する。
【0025】
図1は、例示的な実施例によるファイルのバックアップシステムを示す概念図である。
【0026】
図1を参照すると、ファイルのバックアップシステムは、バックアップ装置100及び端末301、302、303を含む。ファイルバックアップ装置100は、ネットワーク200を介して端末301、302、303とバックアップのための情報を送受信する。
【0027】
ファイルバックアップ装置100は、端末301、302、303に貯蔵されているファイルをバックアップする。ファイルバックアップ装置100は、企業内に存在する端末301、302、303に貯蔵されるデータを周期的にバックアップすることで、データの流失を防止する。ファイルバックアップ装置100は、企業単位で多数のコンピューティング装置に連動されて運用されてもよく、個別端末301、302、303単位で独立に運用されてもよい。
【0028】
ネットワーク200は、ファイルバックアップ装置100と端末301、302、303を連結する網(Network)であって、有線ネットワーク、無線ネットワークなどを含む。ネットワーク200は、LAN(Local Area Network)、WAN(Wide Area Network)などの閉鎖型ネットワーク、またはインターネット(Internet)のような開放型ネットワークである。インターネットはTCP/IPプロトコール及びその上位階層に存在する様々なサービス、つまり、HTTP(HyperText Transfer Protocol)、Telnet、FTP(File Transfer Protocol)、DNS(Domain Name System)、SMTP(Simple Mail Transfer Protocol)、SNMP(Simple Network Management Protocol)、NFS(Network File Service)、NIS(Network Information Service)を提供する全世界的開放型コンピュータネットワークの構造を意味する。
【0029】
端末301、302、303は、ネットワークに接続可能なユーザの装置である。端末301、302、303は、ネットワーク200を介してファイルバックアップ装置100にバックアップ候補ファイルに関する情報を伝送する。ファイルバックアップ装置100は、バックアップ候補ファイルに関する情報に基づいてバックアップ候補ファイルのうちバックアップを行うバックアップ対象ファイルを決定し、バックアップ対象ファイルを貯蔵装置に貯蔵する。端末301、302、303は、スマートフォン、タブレットPC、ラップトップなどを含むが、これに限らない。
【0030】
ファイルバックアップ装置100は、端末301、302、303に存在する大容量のデータをバックアップする過程において、貯蔵空間を効果的に使用するために、以前既にバックアップを行ったファイルを除いた残りのファイルに対してバックアップを行う。この過程で既にバックアップされているファイルを識別するプロセスが行われる必要があるが、これはそれぞれのファイルをバイト単位で直接比較する過程を介して既にバックアップされているファイルを識別するか、またはそれぞれのファイルに対して生成されたハッシュ関数を識別子として利用して重複するファイルを識別する方法に基づいて行われる。ファイルをバイト単位で一々比較する方式は、全体のファイルをバイト単位で比較する過程を要するため、多くの時間がかかり、多くのリソースが要求される。また、ハッシュ関数を利用する方式は、ハッシュ値を利用して重複可否を比較する過程は比較的速い時間内に行われるが、それぞれのファイルに対するハッシュ値を生成する過程で全体のファイルを読み込む必要があるため、多くのリソースが消耗され、早い時間内に行われることが難しい。
【0031】
一実施例によるファイルバックアップ装置100は、ファイル自体に関する低容量情報またはファイルが貯蔵されたディレクトリに関する低容量情報を介して生成されたフィンガープリントを利用して既にバックアップが行われているファイルをフィルタリングすることで、より迅速で少ないリソースでファイルのバックアップを行う手段を提供する。
【0032】
図2は、ファイルのバックアップ100を例示的に示すグロック図である。
【0033】
図2を参照すると、例示的な実施例によるファイルバックアップ100は、通信インタフェース部110、プロセッサ120、メモリ130、及び/または貯蔵装置140を含む。
【0034】
通信インタフェース部110が使用する通信インタフェースは、WLAN(Wireless LAN)、WiFi(wireless fidelity) Direct、DLNA(登録商標)(digital living network alliance)、Wibro(wireless broadband)、Wimax(world interoperability for microwave access)、HSDPA(high speed downlink packet access)などの無線インターネットインタフェースと、ブルートゥース(登録商標)(Bluetooth(登録商標))、RFID(radio freqeuncy identification)、赤外線通信(infrared data association;IrDA)、UWB(ultra−wideband)、ZigBee、NFC(near field communication)などの近距離通信インタフェースを含む。それだけでなく、通信インタフェース部110は、外部と通信し得る全てのインタフェース(例えば、有線インタフェース)を利用してもよい。
【0035】
通信インタフェース部110は、プロセッサ120の制御によって動作する。通信インタフェース部110は、プロセッサ120の命令に従って無線通信または有線通信方式で信号を伝送する。端末301、302、303は、無線通信または有線通信方式で通信インタフェース部110が伝送する信号を受信する。
【0036】
プロセッサ120は、メモリ130及び/または貯蔵装置140に貯蔵されたプログラム命令(program command)を実行する。プロセッサ120は、MPU(micro processing unit)、CPU(cnetral processing unit)、GPU(graphics processing unit)、NPU(neural processing unit)、またはTPU(tensor processing unit)などのハードウェア構成を含む。また、運営体制、特定の目的を行うアプリケーションのソフトウェアの構成を更に含む。
【0037】
メモリ130と貯蔵装置140は、揮発性貯蔵媒体及び/または不揮発性貯蔵媒体からなる。例えば、メモリ130は読み出し専用メモリ(read only memory;ROM)及び/またはランダムアクセスメモリ(random access memory;RAM)からなる。貯蔵装置140は、ファイルをバックアップするデータベースである。
【0038】
図2を参照して説明したファイルバックアップ装置100の構成は例示的なものに過ぎず、実施例はこれに限らない。例えば、ファイルバックアップ装置100のメモリ130及び貯蔵装置140は物理的に区分されなくてもよい。
【0039】
図3は、ファイルバックアップ装置100に備えられた貯蔵装置140の構成を機能単位で示したブロック図である。
【0040】
図3に示したブロックは機能単位に分割して示したものに過ぎず、ブロックは物理的にまたは論理的に互いに厳しく区分されなくてもよい。
【0041】
貯蔵装置140は、ファイルバックアップ装置100に連動された端末301、302、303に貯蔵されたファイルをファイルバックアップ部141に貯蔵することで、端末301、302、303のファイルをバックアップする。
【0042】
ファイルバックアップ装置100は、それぞれのディレクトリを識別するディレクトリフィンガープリントを介して既にバックアップが行われているディレクトリをフィルタリングする動作を行う。既にバックアップが行われているディレクトリに対するディレクトリフィンガープリントは、ディレクトリフィンガープリント貯蔵部142に貯蔵される。
【0043】
また、ファイルバックアップ装置100は、それぞれのファイルを識別するファイルフィンガープリントを介して既にバックアップが行われているファイルをフィルタリングする動作を行う。既にバックアップが行われているファイルに対するファイルフィンガープリントは、ファイルフィンガープリント貯蔵部143に貯蔵される。
【0044】
図4は、例示的な実施例によるファイルバックアップ方法を例示的に示す順序図である。
図4に示した方法は、
図1のファイルバックアップ装置100によって行われる。
【0045】
図4を参照すると、ステップS110において、ファイルバックアップ装置100はバックアップ候補ファイルに対するファイルフィンガープリントを生成する。ファイルフィンガープリントは、バックアップ候補ファイルに関する所定情報に基づいて生成されるファイルに対する識別情報を意味する。ファイルフィンガープリントはファイルの大きさ情報、ファイルの拡張子情報、及びファイルのバイト情報のうち最後から抽出された所定個数のバイト情報に基づいて生成される。例えば、前記ファイルのバイト情報のうち最後から抽出された所定個数のバイト情報はファイルの最後の16バイトに当たる情報であってもよいが、実施例はこれに限らない。具体的な数値は、通常の技術者が容易に変更し得る範囲で変更されてもよい。
【0046】
例示的に、ファイルフィンガープリントのファイルの大きさ情報を含む第1フィールド、ファイルの拡張子情報を含む第2フィールド、ファイルのバイトのうち最後から抽出された所定個数のバイト情報を含む第3フィールドを含む。他の例として、ファイルフィンガープリントはファイルの大きさ情報、ファイルの拡張子情報、及びファイルのバイト情報のうち最後から抽出された所定個数のバイト情報が貯蔵された一つのフィールドを含んでもよい。
【0047】
ファイルフィンガープリントの形態は前記提示された例示に限らず、ファイルに関する任意の情報の組み合わせを介して生成される任意のデータの形態を含む。この場合、ファイルフィンガープリントの同一性は、ファイルフィンガープリントのバイト単位の比較を介して決定される。
【0048】
ステップS120において、ファイルバックアップ装置100は、貯蔵装置にバックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認する。
【0049】
図5は、
図4のステップS120をより詳細に示すフローチャートである。
【0050】
図5を参照すると、ファイルバックアップ装置100は、バックアップ候補ファイルの大きさ情報に基づいて、前記貯蔵装置に貯蔵されたファイルフィンガープリントに対する第1索引を行う。ステップS126において、ファイルバックアップ装置100は、第1索引を利用して貯蔵装置に貯蔵されたファイルフィンガープリントのうち、バックアップ候補ファイルと同じ大きさに対応するファイルフィンガープリントを検索する。もし、第1索引に基づいてバックアップ候補ファイルと同じ大きさに対応するファイルフィンガープリントが検索されなければ、ファイルバックアップ装置100はバックアップ候補ファイルをバックアップ対象ファイルと決定する。この場合、ファイルバックアップ装置100は後述する第2索引及び第3索引を利用した比較手順S128、S129を省略することで、バックアップ対象ファイルを決定する過程に必要な資源を節約する。
【0051】
ファイルバックアップ装置100は、バックアップ候補ファイルの拡張子情報に基づいて第2索引を行う。ステップS128において、ファイルバックアップ装置100は、第2索引を利用して、第1索引を介して検索されたファイルフィンガープリントのうち、バックアップ候補ファイルと同じ拡張子を有するファイルフィンガープリントを検索する。ファイルバックアップ装置100は、第1索引を介して検索されたファイルフィンガープリントに対してのみ第2索引を比較することで、ステップS128を行うのに必要な資源を節約する。
【0052】
もし、第2索引に基づいてバックアップ候補ファイルと同じ拡張子に対応するファイルフィンガープリントが検索されなければ、ファイルバックアップ装置100はバックアップ候補ファイルをバックアップ対象ファイルと決定する。この場合、ファイルバックアップ装置100は後述する第3索引を利用した比較手順S129を省略することで、バックアップ対象ファイルを決定する過程に必要な資源を節約する。
【0053】
ファイルバックアップ装置100は、バックアップ候補ファイルのバイト情報にうち最後から抽出された所定個数のバイト情報に基づいて第3索引を行う。ステップS129において、ファイルバックアップ装置100は、第3索引を利用して、第2索引を介して検索されたファイルフィンガープリントのうち、バックアップ候補ファイルの最後の所定バイトと同じバイト情報を有するファイルフィンガープリントを検索する。ファイルバックアップ装置100は、第1及び第2索引を介して検索されたファイルフィンガープリントに対してのみ第3索引を比較することで、ステップS129を行うのに必要な資源を節約する。
【0054】
もし、第3索引に基づいてバックアップ候補ファイルと同じバイト情報を有するファイルフィンガープリントが検索されなければ、ファイルバックアップ装置100はバックアップ候補ファイルをバックアップ対象ファイルと決定する。ファイルバックアップ装置100は、第3索引を介して検索されるファイルフィンガープリントが存在すれば、バックアップ候補ファイルが既にバックアップされているファイルであると決定する。
【0055】
ステップS120において、バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在しないと決定されれば、ステップS130において、ファイルバックアップ装置100は、バックアップ候補ファイルをバックアップ対象ファイルと決定する。
【0056】
次に、ステップS140において、ファイルバックアップ装置100は、バックアップ対象ファイルを貯蔵装置のファイルバックアップ部に貯蔵することで、バックアップ対象ファイルに対するバックアップを行い、バックアップ対象ファイルのフィンガープリントをファイルフィンガープリント貯蔵部に貯蔵することで貯蔵装置を更新する。
【0057】
ステップS120において、バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在すると決定されれば、バックアップ候補ファイルは既にバックアップされているファイルと判断し、それによって、ファイルバックアップ装置100は、ステップS150を介して、バックアップ候補ファイルをバックアップ対象ファイルと決定しないことで、バックアップ候補ファイルをフィルタリングする。つまり、該当バックアップ候補ファイルに対するバックアップは行わない。
【0058】
一実施例によると、ファイルバックアップ装置100は、ステップS120に当たる動作を行う前に、バックアップ候補ファイルの最終修正時点が最終バックアップ時点の以前の時点あるのか否かに基づいて、バックアップ候補ファイルをフィルタリングするプロセスを行う。詳しくは、ファイルフィンガープリントは、ファイルの最終修正時点に対するタイプスタンプ情報を更に含み、ファイルバックアップ装置100は、タイムスタンプ情報に基づいてバックアップ候補ファイルの最終修正時点が最終バックアップ時点の以降の時点の当たるのか否かを確認する。ファイルバックアップ装置100は、バックアップ候補ファイルの最終修正時点が最終バックアップ時点の以前の時点に当たれば、該当ファイルは既にバックアップされているファイルと判断してバックアップ候補ファイルをフィルタリングすることで、該当ファイルに対するバックアップを行わない。ファイルバックアップ装置100は、バックアップ候補ファイルの最終修正時点が最終バックアップ時点の以降の時点に当たれば、バックアップ候補ファイルに対してステップS120の以降のプロセスを行う。
【0059】
図6は、ファイルバックアップ装置がバックアップ候補ファイルのフィンガープリントと同じフィンガープリントが存在するのか否かを判断する方式を説明するためのフローチャートである。
【0060】
一実施例によると、ファイルフィンガープリントは該当ファイルが位置するディレクトリ情報を更に含む。よって、ファイルバックアップ装置100は、バックアップされた全てのファイルに対して順番にファイルフィンガープリントの重複可否を判断する方式だけでなく、バックアップ候補ファイルのディレクトリ情報に基づいて、バックアップ候補ファイルの同じディレクトリに対応するファイルのファイルフィンガープリントのうちバックアップ候補ファイルのフィンガープリントと同じファイルフィンガープリントが存在するのか否かを優先的に確認する方式を使用する。このような方式を介して、ファイルバックアップ装置100はバックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在する可能性が高いディレクトリのファイルフィンガープリントを優先的に確認し、重複するファイルフィンガープリントが早期に確認される可能性を高める。説明した方式を介して、ファイルバックアップ装置は、より迅速で少なくリソースを利用してバックアップ候補ファイルと同じファイルフィンガープリントが存在するのか否かを確認する。
【0061】
詳しくは、
図5に示したように、
図4のステップS120は、ステップS121及びステップS122に分けられて行われる。
【0062】
ステップS121において、ファイルバックアップ装置100は、バックアップ候補ファイルが位置するディレクトリと同じディレクトリに対応するファイルフィンガープリントのうち、バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを優先的に確認する。
【0063】
ステップS121において、バックアップ候補ファイルと同じディレクトリにバックアップ候補ファイルのファイルフィンガープリントと重複するファイルフィンガープリントが確認されなければ、ステップS122を介して、ファイルバックアップ装置100は、残りのディレクトリに対応するファイルフィンガープリントに対して、バックアップ候補ファイルのファイルフィンガープリントと同じフィンガープリントが存在するのか否かを確認する。ファイルバックアップ装置100は、ステップS122において、同じファイルフィンガープリントが確認されなければ、ステップS130を介してバックアップ候補ファイルをバックアップ対象ファイルと決定する。
【0064】
ステップS121及びステップS122のうちいずれか一つのステップにおいて、バックアップ候補ファイルのファイルフィンガープリントと同じファイルフィンガープリントが確認されれば、ファイルバックアップ装置100は、ステップS150を介してバックアップ候補ファイルをフィルタリングする。つまり、該当ファイルに対するバックアップを行わない。
【0065】
図7は、ファイルバックアップ装置がバックアップ候補ファイルのフィンガープリントと同じフィンガープリントが存在するのか否かを判断する他の方式を説明するためのフローチャートである。
【0066】
一実施例によると、ファイルバックアップ装置100は、ステップS100に当たる動作を行う前に、ディレクトリ単位のフィルタリングを行うことで、より迅速で少ないリソースを要する方式で既にバックアップが行われているファイルをフィルタリングする。
【0067】
図7を参照すると、ファイルバックアップ装置100は、ステップS101において、バックアップ候補ディレクトリの識別情報を利用してディレクトリフィンガープリントを生成する。詳しくは、ファイルバックアップ装置100は、バックアップ候補ディレクトリの位置情報、ディレクトリに含まれたファイルの個数情報、ディレクトリが修正された最終時点に対するタイムスタンプ情報に基づいてディレクトリフィンガープリントを生成する。それぞれのディレクトリフィンガープリントはディレクトリに対する識別情報として利用され、異なるディレクトリフィンガープリントを有するディレクトリは異なるディレクトリと判断される。
【0068】
ファイルバックアップ装置100は、ステップS102において、バックアップ候補ディレクトリのディレクトリフィンガープリントと同じディレクトリフィンガープリントが貯蔵装置に存在するのか否かを確認する。
【0069】
ステップS102において、貯蔵装置にバックアップ候補ディレクトリと同じディレクトリフィンガープリントが存在しないと決定されれば、ファイルバックアップ装置100は、ステップS103を介してバックアップ候補ディレクトリをバックアップ対象ディレクトリとして決定する。
【0070】
ファイルバックアップ装置100は、ステップS104を介して、バックアップ対象ディレクトリに含まれたファイルをバックアップ候補ファイルと決定し、バックアップ対象ディレクトリのディレクトリフィンガープリントを貯蔵装置に貯蔵することで貯蔵装置を更新する。つまり、ファイルバックアップ装置100は、バックアップ対象ディレクトリではない他のディレクトリに貯蔵されたファイルはバックアップ候補ファイルと設定しないことで、バックアップ手順に必要なリソースを節約する。
【0071】
ステップS102において、貯蔵装置にバックアップ候補ディレクトリと同じディレクトリフィンガープリントが貯蔵装置存在すると決定されれば、ファイルバックアップ装置100は、ステップS105を介してバックアップ候補ディレクトリをバックアップ対象から除外することでバックアップ候補ディレクトリをフィルタリングする。
【0072】
図7を介して説明した方式を介して、ディレクトリ単位のフィルタイリングを優先的に行うことで、既にバックアップが行われているファイルをより速くて少ないリソースでフィルタリングする。
【0073】
ファイルバックアップ装置100は、ディレクトリ単位のフィルタリングを介し、個別ファイル単位でフィルタリングを行う方式に比べ、より速い速度及び少ないリソースで既にバックアップが行われているファイルをフィルタリングする。
【0074】
図8は、一実施例によるファイルバックアップ方法が行われる一例を示す図である。
【0075】
図8の(a)を参照すると、フォルダA710、フォルダB720、及びフォルダC730に含まれたファイルが2019.6.10に最終的に貯蔵装置にバックアップされている。フォルダA170、フォルダB720、及びフォルダC730に対応するディレクトリフィンガープリント、及びフォルダA170、フォルダB720、及びフォルダC730に含まれたファイルに対するファイルフィンガープリントは、貯蔵装置にバックアップされたファイルとは別に貯蔵される。
【0076】
図7の(b)は、現在時点でバックアップが予定されたユーザ端末に貯蔵されたファイルの形態を示す。フォルダA’740の場合、既にバックアップされているフォルダA710と位置、ファイル数、最終修正日が同じであるため、互いに同じディレクトリフィンガープリントに対応する。よって、ファイルバックアップ装置はフォルダA’740をフィルタリングすることで、該当フォルダに対するバックアップを行わない。
【0077】
フォルダB’750及びフォルダC’760それぞれは、フォルダB720及びフォルダC730と情報が異なるため異なるディレクトリフィンガープリントに対応する。よって、ファイルバックアップ装置は、フォルダB’750及びフォルダC’760をバックアップ対象ディレクトリと決定し、該当フォルダに含まれたファイルをバックアップ候補ファイルと決定する。
【0078】
ファイルバックアップ装置は、フォルダC’760に含まれたファイルのうち最終バックアップ日付(2019.06.10)以前に最終修正されたファイル761、762、763は既にバックアップされているファイルと判断し、バックアップ対象ファイルから除外する。
【0079】
最終修正日に基づいてバックアップ対象ファイルと決定されるファイル764、765は、優先的にフォルダC’760の位置に対応して既にバックアップされているファイル731に対応するファイルフィンガープリントに基づいてファイルフィンガープリントの重複可否が判断される。つまり、ファイルバックアップ装置は、フォルダC’760の位置に対応して既にバックアップされているファイル731のファイルフィンガープリントのうちファイル764、765に対応するファイルフィンガープリントと同じものがあるのか否かを判断する。ファイルバックアップ装置は、既にバックアップされているファイル731に対応するファイルフィンガープリントのうちファイル764、765に対応するファイルフィンガープリントが存在しなければ、残りのファイル(フォルダA710及びフォルダB720)にファイル764、765に対応するファイルフィンガープリントと同じファイルフィンガープリントが存在するのか否かを確認する。上述したプロセスを介して、ファイル764、765のファイルフィンガープリントと同じファイルフィンガープリントが貯蔵装置から発見されなければ、ファイルバックアップ装置はファイル764、765をバックアップ対象ファイルと決定し、バックアップを行う。
【0080】
図7を介して提示した例示は本発明のファイルバックアップ方法の一例に過ぎず、ファイルバックアップ装置は、貯蔵装置に貯蔵された全てのファイルフィンガープリントを対象にファイルフィンガープリントの重複可否を確認する手順を行う。それ以外にも、ファイルバックアップ装置は上述した方式の任意の組み合わせを介して、既にバックアップされているファイルをフィルタリングする動作を行う。
【0081】
これまで、本開示書の多様な実施例に関する説明に基づいて、該当技術分野の通常の技術者は、本発明の方法及び/またはプロセス、そしてそのステップがハードウェア、ソフトウェアまたは特定用例に適合したハードウェア及びソフトウェアの任意の組み合わせで実現され得ることを明確に理解できるはずである。前記ハードウェアは汎用コンピュータ及び/または専用コンピューティング装置、または特定コンピューティング装置または特定コンピューティング装置の特別な様子及び構成要素を含む。前記プロセスは、内部及び/または外部メモリを有する、一つ以上のプロセッサ、例えば、マイクロプロセッサ、コントローラ、例えば、マイクロコントローラ、エンベデッドマイクロコントローラ、マイクロコンピュータ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、例えば、プログラマブルデジタル信号プロセッサ、またはその他のプログラマブル装置によって実現される。なお、或いは代案として、前記プロセスは、特定用途向け集積回路(application specific integrated circuit;ASIC)、プログラマブルゲートアレイ(programmable gate array)、例えば、FPGA(field programmable gate array)、PLU(programmable logic unit)、またはプログラマブルアレイロジック(Programmable Array Logic;PAL)、またはその他の命令語(instruction)を実行し応答し得る任意の他の装置、電子信号を処理するために構成される任意の他の装置、または装置の組み合わせで実施される。処理装置は、運営体制(OS)及び前記運営体制上で行われる一つ以上のソフトウェアアプリケーションを行う。また、処理装置はソフトウェアの実行に応答し、データを接近、貯蔵、操作、処理、及び生成する。理解の便宜上、処理装置は一つが使用されると説明されることがあるが、該当技術分野における通常の知識を有する者であれば、処理装置が複数個の処理要素(processing element)、及び/または複数類型の処理要素を含むことが分かる。例えば、処理装置は複数個のプロセッサまたは一つのプロセッサ、及び一つのコントローラを含んでもよい。また、並列プロセッサ(prallel processor)のような他の処理構成(processing configuration)も可能である。
【0082】
ソフトウェアは、コンピュータプログラム(computer program)、コード(code)、命令語(instruction)、またはこれらのうち一つ以上の組み合わせを含むが、所望のように動作するように処理装置を構成するか、独立的にまたは結合的に(collectively)処理装置を命令する。ソフトウェア及び/またはデータは、処理装置によって解析されるか処理装置に命令語またはデータを提供するために、ある類型の機械、構成要素(component)、物理的装置、仮想装置(virtual equipment)、コンピュータ貯蔵媒体または装置、または伝送される信号波(signal wave)に永久的に、または一時的に具体化(embody)される。ソフトウェアは、ネットワークで連結されたコンピュータシステム上に分散され、分散された方法で貯蔵されるか実行される。ソフトウェア及びデータは、一つ以上の機械で読み出し可能な記録媒体に貯蔵される。
【0083】
なお、本発明の技術的解法の対象物または先行技術に寄与する部分は、多様なコンピュータ構成要素を介して行われるプログラム命令語の形態に具現されて機械で読み出し可能な媒体に記録される。機械で読み出し可能な媒体は、プログラム命令語、データファイル、データ構造などを単独にまたは組み合わせて含む。機械で読み出し可能な媒体に記録されるプログラム命令語は、実施例のために特別に設計されて構成されたものであるか、コンピュータソフトウェア分野の通常の技術者に公知されて使用可能なものであってもよい。機械で読み出し可能な媒体の例としては、ハードディスク、フロッピーディスク、及び磁気テープのような磁気媒体(magnetic media)、CD−ROM、DVD、Blu−ray(登録商標)のような光記録媒体(optical media)、フロプティカルディスク(floptical disk)のような磁気−光媒体(magneto−optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を貯蔵し行うように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例としては、上述した装置のうちいずれか一つだけでなく、プロセッサ、プロセッサアーキテクチャ、または異なるハードウェア及びソフトウェアの組み合わせの異種組み合わせ、またはある他のプログラム命令語を実行する機械上で実行されるために貯蔵及びコンパイルまたはインタープリートされる、Cのような構造的プログラミング言語、C++のような客体指向的プログラミング言語、または高級または低級のプログラミング言語(アセンブリ語、ハードウェア技術言語、及びデータベースプログラミング言語及び技術)を使用して作られるため、機械語コード、バイトコードだけでなく、インタープリータなどを使用してコンピュータによって実行される高級言語コードもこれに当たる。
【0084】
よって、本発明による一様態において、上述した説明及びその組み合わせが一つ以上のコンピューティング装置によって行われる際、その方法及び方法の組み合わせが各ステップを行う実行可能なコードとして実施される。他の一様態において、前記方法は前記ステップを行うシステムとして実施され、方法は装置にわたって様々な方法で分散されるか全ての機能が一つの専用、独立型装置、または他のハードウェアに統合される。また他の一様態において、上述したプロセスに関するステップを行う手段は、上述した任意のハードウェア及び/またはソフトウェアを含む。そのような全ての順次結合及び組み合わせは、本開示書の範囲内に属するように意図されている。
【0085】
例えば、上述したハードウェア装置は本実施例の動作を行うために一つ以上のソフトウェアモジュールとして作動するように構成されるが、その逆も同じである。前記ハードウェア装置は、プログラム命令語を貯蔵するためのROM/RAMなどのようなメモリと結合され、前記メモリに貯蔵された命令語を実行するように構成されるMPU、CPU、GPU、TPUのようなプロセッサを含み、外部装置と信号を交換する通信部を含む。ちなみに、前記ハードウェア装置は開発者によって作成された命令語を伝達されるためのキーボード、マウス、その他の外部入力装置を含む。
【0086】
これまで本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明は前記実施例に限らないものであって、本発明の属する技術分野の通常的な知識を有する者であれば、このような記載から多様な修正及び変形を図ることができるはずである。
【0087】
よって、本発明の思想は上述した実施例に限って決められてはならず、本開示書に添付された特許請求の範囲だけでなく、この特許請求の範囲と均等にまたは等価的に変形された全てのものは本発明の思想の範疇に属するといえる。例えば、説明した技術が説明した方法とは異なる順序で行われるか、及び/または説明したシステム、構造、装置、回路などの構成要素が説明した方法とは異なる形で結合または組み合わされるか、他の構成要素または均等物によって対置されるか置換されても、適切な結果が達成される。
【0088】
そのように均等にまたは等価的に変形されたものとしては、例えば、本発明による方法を実施したものと同じ結果を出す可能性がある、論理的に同値(logically equivalent)の方法が含まれるゆえ、本発明の真意及び範囲は、上述した例示によって制限されてはならず、法律によって許容可能な最も広い意味で理解されるべきである。