(57)【要約】【課題】既存のコピー処理を利用して、大容量の階層構造オブジェクトのコピー中であっても割り込み処理を受け付け可能にする。【解決手段】サーバ１のＣＰＵ１１は、複数の単位オブジェクトの階層構造からなる階層構造オブジェクトをコピーする際に、階層構造の道筋であるパスの各々について単位オブジェクトをコピーする単位処理を、下位層から順に単位オブジェクト毎に実行し、各単位処理の間で割り込み処理を受け付ける。単位処理は、単位オブジェクトを複製領域にコピーするコピー処理と、コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと下位の単位オブジェクトの上下関係を複製領域で復元する復元処理とを含む。【選択図】  図１
2008097087.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと記憶装置とを備えたコンピュータにおいて、複数の単位オブジェクトの階層構造からなる階層構造オブジェクトをコピーするコピー方法であって、
前記階層構造の道筋であるパスの各々について前記単位オブジェクトをコピーする単位処理を、下位層から順に前記単位オブジェクト毎に実行し、
各単位処理の間で割り込み処理を受け付けることを特徴とする階層構造オブジェクトのコピー方法。
【請求項２】
請求項１記載の階層構造オブジェクトのコピー方法において、
前記単位処理は、
前記単位オブジェクトを複製領域にコピーするコピー処理と、
前記コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を前記複製領域で復元する復元処理とを含むことを特徴とする階層構造オブジェクトのコピー方法。
【請求項３】
請求項２記載の階層構造オブジェクトのコピー方法において、
さらに、前記単位処理の前に、前記下位の単位オブジェクトをコピーする際、この下位の単位オブジェクトと前記上位の単位オブジェクトの上下関係を示す属性情報を前記下位の単位オブジェクトに付与する属性情報付与処理と、
前記復元処理の後に、前記下位の単位オブジェクトに付与された属性情報を削除する属性情報削除処理とを備え、
前記復元処理は、前記下位の単位オブジェクトに付与された属性情報に基づいて、前記上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を復元することを特徴とする階層構造オブジェクトのコピー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばサーバ集中型のマルチクライアントシステムのサーバにおいて、階層構造オブジェクトをコピーするコピー方法に関するものである。
【背景技術】
【０００２】
従来より、アプリケーションやデータをサーバで集中管理し、サーバ上のアプリケーションやデータを複数のクライアントで利用するサーバ集中型のマルチクライアントシステムが実用化されている。図７にサーバ集中型のマルチクライアントシステムの構成を示す。図７において、１はサーバ、２はパーソナルコンピュータ等のクライアント、３はサーバ１と複数のクライアント２を接続するネットワークである。
【０００３】
図７に示したサーバ集中型のマルチクライアントシステムでは、あるクライアント２が大容量のオブジェクトのコピーを実施すると、サーバ１のＣＰＵ使用率及びメモリー消費量が増加し、サーバ１が他のクライアント２の要求を処理できなくなってしまうという問題があった。このような問題が起こる理由を図８を用いて説明する。図８において、Ａ，Ｂ，Ｄ，Ｅ，Ｇ，Ｉは階層構造を持つオブジェクト（例えばフォルダ）、Ｃ，Ｆ，Ｈ，Ｊ，Ｋ，Ｌ，Ｍ，Ｎ，Ｏは階層構造を持たないオブジェクト（例えばファイル）である。
【０００４】
図８によると、オブジェクトＡはオブジェクトＢ，Ｃ，Ｄを含み、オブジェクトＢはオブジェクトＥ，Ｆ，Ｇを含み、オブジェクトＤはオブジェクトＨ，Ｉを含む。さらに、オブジェクトＥはオブジェクトＪ，Ｋを含み、オブジェクトＧはオブジェクトＬを含み、オブジェクトＩはオブジェクトＭ，Ｎ，Ｏを含む。つまり、オブジェクトＡは階層構造を有する。クライアント２からの要求に応じて、サーバ１が階層構造を持つオブジェクトＡをコピーしようとすると、第１階層から第３階層まで一度に処理するため、サーバ１のＣＰＵ使用率及びメモリー消費量が大幅に増加する。オブジェクトＡのようにコピー対象が階層構造の場合は、ユーザ操作によって分割コピーすることも容易でない。
【０００５】
これに対して、コピー先ディレクトリの階層を１次元化することにより、復元時のファイルアクセス時間を最小化、均一化するファイル管理方式が提案されている（例えば、特許文献１参照）。図９は特許文献１のファイル管理方式によるバックアップファイル構造の一例を示す図であり、図１０に示すコピー元のディレクトリ構造部分をバックアップした場合のコピー先のディレクトリ構造を示している。図１０において、ｆ××はファイルを表し、ｄ××／はディレクトリを表している。また、図９に示すバックアップファイル構造は、管理情報ファイルと、図１０のｆ××に対応する各ファイルが同一のディレクトリのもとに格納される一次元ディレクトリ構造である。
【０００６】
特許文献１のファイル管理方式では、任意のディレクトリのもとに統合され管理されているファイル全てをコピーする場合、コピーの対象として指定されたコピー元ディレクトリ上の各ファイルおよびディレクトリについて、コピー元のファイル名またはディレクトリ名をファイル名格納エリアへ格納し、コピー元のディレクトリ階層の絶対位置としてルートディレクトリからのフルパス名をパス名格納エリアへ格納し、ファイルのアクセス権、ファイル所有者識別コード、ファイルの種類、データ部のリンク情報等のファイルの属性情報をファイル制御エリアへ格納することにより、ファイル名格納エリアとパス名格納エリアとファイル制御エリアとからなる管理情報レコードを生成する。管理情報レコードはファイル毎、ディレクトリ毎に生成され、コピー先のディレクトリ上に設けられる管理情報ファイルに順次格納される。
【０００７】
さらに、特許文献１のファイル管理方式では、管理情報レコードを生成する度に、処理対象がファイルである場合は、コピー先ディレクトリ上の一意なファイル名を生成し、当該ファイル名をコピー先ディレクトリ上のファイル名として、管理情報ファイルと同一のディレクトリ上にコピー元のファイルをコピーする。
特許文献１では、以上のようなファイル管理方式により、コピー元ディレクトリの階層が深い場合でも、ファイルアクセス時間が増大しないとしている。したがって、このようなファイル管理方式をサーバ集中型のマルチクライアントシステムのサーバに適用すれば、図８で説明した問題の解決が期待できる。
【０００８】
【特許文献１】特開平６−１１９２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１のファイル管理方式では、ファイル名格納エリアとパス名格納エリアとファイル制御エリアとからなる管理情報レコードをファイル毎、ディレクトリ毎に作成する必要があり、この管理情報レコードの作成処理が煩雑になるという問題点があった。特に、コピーの対象が深い階層構造を持つ場合、ファイル名やディレクトリ名、パス名、属性情報など多数の情報を収集保存して管理情報レコードを作成しなければならない。また、階層構造は、フォルダ、ファイルの関係ばかりではなく、属性の数が固定ではないため、管理情報レコードの大きさを変えたりする必要があって処理が複雑になるという問題点があった。
また、特許文献１のファイル管理方式では、図９に示すコピーデータの状態が図１０に示す実際の階層構造と異なるため、コピー＆ペースト処理も特別な手順で実施する必要があり、既存のコピー＆ペースト処理を利用することができないという問題点があった。
【００１０】
本発明は、上記課題を解決するためになされたもので、既存のコピー処理を利用することができ、大容量の階層構造オブジェクトのコピー中であっても、割り込み処理を受け付けることができる階層構造オブジェクトのコピー方法を提供することを目的とする。
また、本発明は、オブジェクト管理が容易な階層構造オブジェクトのコピー方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、ＣＰＵと記憶装置とを備えたコンピュータにおいて、複数の単位オブジェクトの階層構造からなる階層構造オブジェクトをコピーするコピー方法であって、前記階層構造の道筋であるパスの各々について前記単位オブジェクトをコピーする単位処理を、下位層から順に前記単位オブジェクト毎に実行し、各単位処理の間で割り込み処理を受け付けるようにしたものである。
また、本発明の階層構造オブジェクトのコピー方法の１構成例において、前記単位処理は、前記単位オブジェクトを複製領域にコピーするコピー処理と、前記コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を前記複製領域で復元する復元処理とを含むものである。
また、本発明の階層構造オブジェクトのコピー方法の１構成例は、さらに、前記単位処理の前に、前記下位の単位オブジェクトをコピーする際、この下位の単位オブジェクトと前記上位の単位オブジェクトの上下関係を示す属性情報を前記下位の単位オブジェクトに付与する属性情報付与処理と、前記復元処理の後に、前記下位の単位オブジェクトに付与された属性情報を削除する属性情報削除処理とを備え、前記復元処理は、前記下位の単位オブジェクトに付与された属性情報に基づいて、前記上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を復元するものである。
【発明の効果】
【００１２】
本発明によれば、階層構造の道筋であるパスの各々について単位オブジェクトをコピーする単位処理を、下位層から順に単位オブジェクト毎に実行し、各単位処理の間で割り込み処理を受け付けるようにしたことにより、例えばサーバ集中型のマルチクライアントシステムのサーバにおいて、各単位処理の間にクライアントからの要求を割り込みで実行することができ、サーバのＣＰＵ使用率及びメモリー消費量を抑制することができる。また、本発明では、各単位処理で行うコピー処理自体は既存の処理をそのまま利用することができる。
【００１３】
また、本発明では、単位処理を、単位オブジェクトを複製領域にコピーするコピー処理と、コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと下位の単位オブジェクトの上下関係を複製領域で復元する復元処理とを含むものとすることにより、複製領域にコピー元領域と同じ階層構造を生成することができるので、既存のペースト処理を用いて複製領域の内容を容易に貼り付けることができる。
【００１４】
また、本発明では、単位処理の前に、下位の単位オブジェクトをコピーする際、この下位の単位オブジェクトと上位の単位オブジェクトの上下関係を示す属性情報を下位の単位オブジェクトに付与する属性情報付与処理と、復元処理の後に、下位の単位オブジェクトに付与された属性情報を削除する属性情報削除処理とを備え、復元処理では、下位の単位オブジェクトに付与された属性情報に基づいて、上位の単位オブジェクトと下位の単位オブジェクトの上下関係を復元することにより、オブジェクト管理を容易にすることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を参照して説明する。図１は本発明の実施の形態に係るサーバの構成例を示すブロック図である。本実施の形態においても、サーバ集中型のマルチクライアントシステムの構成は従来と同様なので、図７の符号を用いて説明する。
【００１６】
図１において、１１はＣＰＵ、１２はＲＡＭ、１３はＲＯＭ、１４はハードディスク装置などの記憶装置、１５〜１７はインターフェイス装置（以下、Ｉ／Ｆと略する）、１８はディスプレイ装置、１９はキーボード、２０はマウスである。
ＣＰＵ１１は、Ｉ／Ｆ１７を介して与えられる各種入力情報を得て、ＲＡＭ１２にアクセスしながら、ＲＯＭ１３や記憶装置１４に格納されたプログラムに従って動作し、Ｉ／Ｆ１６を介してディスプレイ装置１８に情報を表示させる。また、ＣＰＵ１１は、ネットワーク３に接続されたＩ／Ｆ１５を介してクライアント２と通信し、クライアント２の要求に応じた処理を実行し、必要に応じて実行結果をクライアント２に送信する。記憶装置１４には、プログラムが格納されている。このプログラムは、例えばＣＤ−ＲＯＭなどの記録媒体に記録された状態で提供され、この記録媒体から読み出されて記憶装置１４にインストールされている。
【００１７】
本実施の形態では、操作の対象となる対象物（フォルダやファイル）をオブジェクトと呼ぶ。図８に示したように、階層構造を持つ階層構造オブジェクトは、複数のオブジェクト（単位オブジェクト）からなる。
本実施の形態では、階層構造オブジェクトＡをコピーする場合、複製領域と移動領域の２つの記憶領域を記憶装置１４に用意し、図２に示すように、最下位の第３階層のオブジェクトから１つずつ順にコピーすることで、コピー処理をできるだけ均一な単位処理に分割し、分割した単位処理の終了毎に他のクライアント２の要求を受け付けるようにした。
図３は階層構造オブジェクトのコピー方法の処理の流れを示すフローチャートである。以下、図３を用いて本実施の形態のコピー方法を説明する。
【００１８】
まず、ＣＰＵ１１は、選択されたオブジェクトＡのコピーをクライアント２から要求された場合、コピー元領域のオブジェクトＡの中に階層構造を持つオブジェクト（以下、階層構造オブジェクトと略する）が存在するかどうかを判定する（図３ステップＳ１）。オブジェクトＡの中に階層構造オブジェクトが存在しない場合は、オブジェクトＡを複製領域にコピーし（ステップＳ２）、オブジェクトＡをコピーし終えた時点で（ステップＳ３において判定ＹＥＳ）、コピー処理を終了する。
【００１９】
一方、図２に示したようにオブジェクトＡが階層構造を持つ場合、ＣＰＵ１１は、オブジェクトＡの下位層を調べ（ステップＳ５）、その下位層に階層構造オブジェクトが存在するかどうかを判定し（ステップＳ６）、階層構造オブジェクトが存在する場合にはステップＳ５に戻る。例えばオブジェクトＡの下位層である第１階層を調べると、階層構造オブジェクトＢ，Ｄが存在するので、ステップＳ６において判定ＹＥＳとなり、ステップＳ５に戻って階層構造オブジェクトＢの下位の第２階層を調べる。この第２階層にも階層構造オブジェクトＥ，Ｇが存在するため、再びステップＳ５に戻って階層構造オブジェクトＥの下位の第３階層を調べる。このように、下位層に階層構造オブジェクトが存在する限り、ステップＳ５，Ｓ６の処理を繰り返す。
【００２０】
階層構造オブジェクトＥの下位の第３階層を調べると、階層構造オブジェクトが存在しないので、ステップＳ６において判定ＮＯとなり、ＣＰＵ１１は、この第３階層にオブジェクトが存在するかどうかを判定する（ステップＳ７）。階層構造オブジェクトＥの下位の第３階層には、階層構造を持たないオブジェクトＪ，Ｋが存在するので、判定ＹＥＳとなり、ＣＰＵ１１は、オブジェクトＪとその上位のオブジェクトＥの上下関係を示すＩＤ（属性情報）をオブジェクトＪに付与する（ステップＳ８）。
【００２１】
そして、ＣＰＵ１１は、図４のｃ１のようにオブジェクトＪを複製領域１４１にコピーし（ステップＳ９）、さらに図４のｍ１のようにオブジェクトＪを移動領域１４２に移動させる（ステップＳ１０）。ＣＰＵ１１は、ステップＳ９，Ｓ１０の終了後、複数のクライアント２がサーバ１に接続されているかどうかを判定し、複数のクライアント２が接続され、かつコピーを要求したクライアント２以外の他のクライアント２からの要求が存在する場合には、この要求に応じた処理を実行した後にステップＳ７に戻り、コピーを要求したクライアント２のみがサーバ１に接続されている場合には、ステップＳ７に戻る（ステップＳ１１）。他のクライアント２からの操作を許容することはウエイト処理に該当し、他のクライアント２の要求に応じた処理を実行すると、コピーの処理速度が遅くなる。上記のようにクライアント２の接続状態（ログイン状態）を確認して、不要であれば、他のクライアント２からの操作を許容するプロセスを省くことにより、単独のクライアント２で操作中は処理速度を速めることができる。また、コピー途中にクライアント２の接続状態が単独あるいは複数に変更されても柔軟に対応できる。
【００２２】
続いて、ＣＰＵ１１は、ステップＳ７に戻って、階層構造オブジェクトＥの下位の第３階層に未処理のオブジェクトが存在するかどうかを判定する。この第３階層にはオブジェクトＫが残っているので、ＣＰＵ１１は、オブジェクトＫとその上位のオブジェクトＥの上下関係を示すＩＤをオブジェクトＫに付与し（ステップＳ８）、図４のｃ２のようにオブジェクトＫを複製領域１４１にコピーし（ステップＳ９）、図４のｍ２のようにオブジェクトＫを移動領域１４２に移動させる（ステップＳ１０）。なお、オブジェクトに付与するＩＤは上位オブジェクトを特定できる情報であり（例えばフォルダのパス名称）、同一の上位オブジェクトの下に位置する同じ階層のオブジェクトには全て同じＩＤが付与される。したがって、オブジェクトＪ，Ｋには同じＩＤが付与されることになる。また、ＩＤを付与するタイミングはオブジェクトをコピーする直前のため、複製領域１４１にコピーしたオブジェクトと移動領域１４２に移動したオブジェクトには同じＩＤが付与される。次に、ＣＰＵ１１は、ステップＳ９，Ｓ１０の終了後、複数のクライアント２がサーバ１に接続されているかどうかを判定し、複数のクライアント２が接続され、かつ他のクライアント２からの要求が存在する場合には、この要求に応じた処理を実行した後にステップＳ７に戻り、コピーを要求したクライアント２のみがサーバ１に接続されている場合には、ステップＳ７に戻る（ステップＳ１１）。
【００２３】
こうして、階層構造オブジェクトＥの下位の第３階層のオブジェクトが無くなるまで、ステップＳ７〜Ｓ１１の処理が繰り返される。次に、ＣＰＵ１１は、第３階層にオブジェクトが無くなった場合（ステップＳ７において判定ＮＯ）、この第３階層の上位のオブジェクトＥが、クライアント２がコピー対象として選択したオブジェクトかどうかを判定する（ステップＳ１２）。オブジェクトＥはクライアント２がコピー対象として選択したオブジェクトＡではないので、ＣＰＵ１１は、オブジェクトＥとその上位のオブジェクトＢの上下関係を示すＩＤをオブジェクトＥに付与し（ステップＳ１３）、図４のｃ３のようにオブジェクトＥを複製領域１４１にコピーし（ステップＳ１４）、図４のｍ３のようにオブジェクトＥを移動領域１４２に移動させる（ステップＳ１５）。
【００２４】
ＣＰＵ１１は、ステップＳ１４，Ｓ１５の終了後、複数のクライアント２がサーバ１に接続されているかどうかを判定し、複数のクライアント２が接続され、かつ他のクライアント２からの要求が存在する場合には、この要求に応じた処理を実行した後にステップＳ１７に進み、コピーを要求したクライアント２のみがサーバ１に接続されている場合には、ステップＳ１７に進む（ステップＳ１６）。続いて、ＣＰＵ１１は、複製領域１４１にコピーしたオブジェクトＥの下位に他のオブジェクトが存在するかどうかを、各オブジェクトに付与したＩＤに基づいて調べ、下位のオブジェクトが存在する場合には、これらのオブジェクトをオブジェクトＥの下位層に復元し、ＩＤを削除する（ステップＳ１７）。ここでは、オブジェクトＥの下位にオブジェクトＪ，Ｋが存在するので、図４のｒ１のようにオブジェクトＪ，ＫをオブジェクトＥの下位層に復元し、オブジェクトＪ，Ｋに付与したＩＤを削除する。
【００２５】
同様に、ＣＰＵ１１は、移動領域１４２に移動したオブジェクトＥの下位にオブジェクトＪ，Ｋが存在するので、図４のｒ２のようにオブジェクトＪ，ＫをオブジェクトＥの下位層に復元し、オブジェクトＪ，Ｋに付与したＩＤを削除する（ステップＳ１８）。ＣＰＵ１１は、ステップＳ１７，Ｓ１８の終了後、複数のクライアント２がサーバ１に接続されているかどうかを判定し、複数のクライアント２が接続され、かつ他のクライアント２からの要求が存在する場合には、この要求に応じた処理を実行した後にステップＳ２０に進み、コピーを要求したクライアント２のみがサーバ１に接続されている場合には、ステップＳ２０に進む（ステップＳ１９）。
【００２６】
次に、ＣＰＵ１１は、上位オブジェクトＥが存在していた第２階層を調べ（ステップＳ２０）、第２階層に未処理の階層構造オブジェクトが存在するかどうかを判定する（ステップＳ６）。この第２階層には階層構造オブジェクトＧが存在するので、ステップＳ６において判定ＹＥＳとなりステップＳ５に戻り、階層構造オブジェクトＧの下位の第３階層についてステップＳ６，Ｓ７の処理が実行され、第３階層に存在するオブジェクトＬについてステップＳ８〜Ｓ１１の処理が実行され、続いて階層構造オブジェクトＧについてステップＳ１２〜Ｓ２０の処理が実行される。さらに、階層構造オブジェクトＧが存在していた第２階層に階層構造を持たないオブジェクトＦが存在するので、オブジェクトＦについてステップＳ８〜Ｓ１１の処理が実行される。
【００２７】
このように、オブジェクトＪ，Ｋ，Ｅ，Ｌ，Ｇ，Ｆの順に処理を実行すると、オブジェクトＥ，Ｆ，Ｇが存在していた第２階層に未処理のオブジェクトが無くなるので、上位の階層構造オブジェクトＢに処理が移り、階層構造オブジェクトＢについてステップＳ１２〜Ｓ２０の処理が実行される。続いて、階層構造オブジェクトＢが存在していた第１階層に階層構造オブジェクトＤが存在するので、この階層構造オブジェクトＤの下位層について階層構造オブジェクトが存在する限り、ステップＳ５，Ｓ６が繰り返され、階層構造オブジェクトＤの最下位の第３階層に存在するオブジェクトＭ，Ｎ，ＯについてそれぞれステップＳ８〜Ｓ１１の処理が実行され、続いてオブジェクトＭ，Ｎ，Ｏの上位の階層構造オブジェクトＩについてステップＳ１２〜Ｓ２０の処理が実行される。さらに、階層構造オブジェクトＩが存在した第２階層に階層構造を持たないオブジェクトＨが存在するので、第２階層についてステップＳ６，Ｓ７の処理が実行され、オブジェクトＨについてステップＳ８〜Ｓ１１の処理が実行される。
【００２８】
オブジェクトＭ，Ｎ，Ｏ，Ｉ，Ｈの順に処理を実行すると、オブジェクトＨ，Ｉが存在していた第２階層に未処理のオブジェクトが無くなるので、上位の階層構造オブジェクトＤに処理が移り、階層構造オブジェクトＤについてステップＳ１２〜Ｓ２０の処理が実行される。続いて、階層構造オブジェクトＤが存在していた第１階層に階層構造を持たないオブジェクトＣが存在するので、第１階層についてステップＳ６，Ｓ７の処理が実行され、オブジェクトＣについてステップＳ８〜Ｓ１１の処理が実行される。
【００２９】
オブジェクトＣについてステップＳ８〜Ｓ１１の処理が実行された後、ステップＳ７に戻ると、図５に示すようにコピー元領域１４０にはオブジェクトＡしか存在せず、オブジェクトＢ，Ｃ，Ｄが存在していた第１階層には未処理のオブジェクトが無いので、ステップＳ７において判定ＮＯとなる。さらに、この第１階層の上位のオブジェクトＡはクライアント２がコピー対象として選択したオブジェクトなので、ステップＳ１２において判定ＹＥＳとなる。この場合、ＣＰＵ１１は、図５のｃ４のようにオブジェクトＡを複製領域１４１にコピーする（ステップＳ２１）。
【００３０】
ＣＰＵ１１は、ステップＳ２１の終了後、複数のクライアント２がサーバ１に接続されているかどうかを判定し、複数のクライアント２が接続され、かつ他のクライアント２からの要求が存在する場合には、この要求に応じた処理を実行した後にステップＳ２３に進み、コピーを要求したクライアント２のみがサーバ１に接続されている場合には、ステップＳ２３に進む（ステップＳ２２）。続いて、ＣＰＵ１１は、複製領域１４１にコピーしたオブジェクトＡの下位に他のオブジェクトが存在するかどうかを、各オブジェクトに付与したＩＤに基づいて調べ、下位のオブジェクトが存在する場合には、これらのオブジェクトをオブジェクトＡの下位層に復元し、ＩＤを削除する（ステップＳ２３）。ここでは、オブジェクトＡの下位にオブジェクトＢ，Ｃ，Ｄが存在するので、図５のｒ３のようにオブジェクトＢ，Ｃ，ＤをオブジェクトＡの下位層に復元し、オブジェクトＢ，Ｃ，Ｄに付与したＩＤを削除する。こうして、コピー元領域１４０と同じ階層構造が複製領域１４１に生成される。
【００３１】
最後に、ＣＰＵ１１は、移動領域１４２に移動したオブジェクトＢ（下位層にＥ，Ｆ，Ｇ，Ｊ，Ｋ，Ｌを含む），Ｃ，Ｄ（下位層にＨ，Ｉ，Ｍ，Ｎ，Ｏを含む）を図５のｍ４のようにコピー元領域１４０に戻して、オブジェクトＢ，Ｃ，ＤをオブジェクトＡの下位層に復元し、オブジェクトＢ，Ｃ，Ｄに付与したＩＤを削除する（ステップＳ２４）。ＣＰＵ１１は、全てのオブジェクトをコピーし終えたので（ステップＳ３において判定ＹＥＳ）、コピー処理を終了する。
【００３２】
以上のように、本実施の形態では、階層構造オブジェクトのコピー処理を１オブジェクト毎の単位処理に分割して、単位処理を繰り返すことにより、各単位処理の間に他のクライアント２の要求を割り込みで実行することができ、サーバ１のＣＰＵ使用率及びメモリー消費量を抑制することができる。従来の階層構造オブジェクトのコピー処理では、図６（Ａ）に示すように一旦コピー処理を実行するとその間は他のクライアント２の要求に応じた処理を実行することができないが、本実施の形態によれば、図６（Ｂ）に示すように各単位処理の間に他のクライアント２の要求に応じた処理を実行することができる。
【００３３】
また、本実施の形態では、コピー処理自体は既存の処理をそのまま利用することができる。また、本実施の形態では、下位のオブジェクトをコピーする前に、この下位オブジェクトと上位オブジェクトの上下関係を示すＩＤを下位オブジェクトに付与し、さらに上位オブジェクトをコピーして、複製領域１４１で上位オブジェクトと下位オブジェクトの上下関係を復元した後に、下位オブジェクトに付与したＩＤを削除すればよいので、特許文献１のように管理情報レコードを生成する必要はなく、オブジェクト管理を容易にすることができる。また、本実施の形態では、複製領域１４１にコピー元領域１４０と同じ階層構造を生成することができるので、既存のペースト処理を用いて複製領域１４１の内容を容易に貼り付けることができる。
【００３４】
なお、本実施の形態では、サーバ集中型のマルチクライアントシステムを例に挙げて説明しているが、本発明はマルチクライアントシステムに限るものではなく、例えばマルチタスク処理を行うスタンドアロンのコンピュータに適用してもよい。
【産業上の利用可能性】
【００３５】
本発明は、コンピュータにおけるオブジェクトのコピー技術に適用することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態に係るサーバの構成例を示すブロック図である。
【図２】本発明の階層構造オブジェクトのコピー方法の原理を説明するための図である。
【図３】本発明の階層構造オブジェクトのコピー方法の処理の流れを示すフローチャートである。
【図４】本発明の階層構造オブジェクトのコピー方法の開始時の処理を示す図である。
【図５】本発明の階層構造オブジェクトのコピー方法の終了時の処理を示す図である。
【図６】本発明の階層構造オブジェクトのコピー方法の効果を説明するための図である。
【図７】サーバ集中型のマルチクライアントシステムの構成例を示す図である。
【図８】図７のマルチクライアントシステムの問題点を説明するための図である。
【図９】従来のファイル管理方式によるバックアップファイル構造の一例を示す図である。
【図１０】図９のバックアップファイル構造に対応するコピー元のディレクトリ構造を示す図である。
【符号の説明】
【００３７】
１…サーバ、２…クライアント、３…ネットワーク、１１…ＣＰＵ、１２…ＲＡＭ、１３…ＲＯＭ、１４…記憶装置、１５〜１７…インターフェイス装置、１８…ディスプレイ装置、１９…キーボード、２０…マウス、１４０…コピー元領域、１４１…複製領域、１４２…移動領域、Ａ〜Ｏ…オブジェクト。
【図１】
2008097087.tif 000003
【図２】
2008097087.tif 000004
【図３】
2008097087.tif 000005
【図４】
2008097087.tif 000006
【図５】
2008097087.tif 000007
【図６】
2008097087.tif 000008
【図７】
2008097087.tif 000009
【図８】
2008097087.tif 000010
【図９】
2008097087.tif 000011
【図１０】
2008097087.tif 000012