JP2005276211A - コンピューティングデバイスの記憶媒体との間の効率的なデータ転送 - Google Patents

コンピューティングデバイスの記憶媒体との間の効率的なデータ転送 Download PDF

Info

Publication number
JP2005276211A
JP2005276211A JP2005081808A JP2005081808A JP2005276211A JP 2005276211 A JP2005276211 A JP 2005276211A JP 2005081808 A JP2005081808 A JP 2005081808A JP 2005081808 A JP2005081808 A JP 2005081808A JP 2005276211 A JP2005276211 A JP 2005276211A
Authority
JP
Japan
Prior art keywords
data
file system
medium
source
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005081808A
Other languages
English (en)
Inventor
Andrew Martin Pearson
マーティン ピアソン アンドリュー
Richard Thomas Palm
トーマス パルム リチャード
Sachin Chiman Patel
チャイマン パテル サチャン
Yadhu Gopalan
ゴパラン ヤドゥ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005276211A publication Critical patent/JP2005276211A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 転送されるデータがコンピューティングデバイスのファイルシステムを経由せず、したがって記憶媒体との間で直接コピーされる方法を提供する。
【解決手段】 アプリケーションが、コンピューティングデバイスのファイルシステムにアプリケーションコマンドを発行し、アプリケーションコマンドは、移動元におけるデータの場所を含む。ファイルシステムは、データのために媒体の空間を割り当て、データを格納するために使用される媒体の各部分の識別を含むリストを作成する。次いで、ファイルシステムは媒体のブロックドライバにファイルシステムコマンドを発行し、このファイルシステムコマンドは、移動元におけるデータの場所と作成されたリストを含む。ブロックドライバは移動元に接触し、その場所にあるデータを要求し、作成されたリストに含まれる媒体部分にデータを書き込む。
【選択図】 図2

Description

本発明は、コンピューティングデバイスに関連付けられた記憶媒体との間でデータを転送する方法に関する。より詳細には、本発明は、転送されるデータがコンピューティングデバイスのファイルシステムを経由せず、したがって記憶媒体との間で直接コピーされる方法に関する。これにより、例えば、コンピューティングデバイスのハードドライブと外部の記憶媒体、ネットワーク接続などとの間、コンピューティングデバイスのRAMとハードドライブとの間等においてデータを転送する際に、より良好なパフォーマンスが達成される。
従来技術では、場合に応じて、ファイルシステムは、記憶媒体から転送するデータを受け取り、データを移動先(destination)に転送するか、あるいは、移動元(source)から転送されるデータを受け取り、そのデータを記憶媒体に転送する。しかし、ファイルシステムがこのように仲介役として働くと、特に大量のデータを転送する場合は、データが複数の部分に分けて転送される。各部分にファイルシステムへの別個の転送およびファイルシステムからの別個の転送と、それに伴う計算処理上のオーバーヘッドが必要となるので、特に多くの処理を必要とする可能性がある。
詳細には、従来技術では、どのような移動元からコンピューティングデバイスのハードドライブへのデータの転送も、一般には、例えば次のステップに従って行われる。事前に、コンピューティングデバイス上のアプリケーションは、コンピューティングデバイスのファイルシステムに対して、データに基づいてハードドライブにファイルを作成するように指示する。この際、アプリケーションは、必ずしもデータの移動元またはデータのサイズをファイルシステムに通知する必要はないことに留意されたい。その後、アプリケーションは、移動元からデータの最初の部分を取得し、その部分を、そのデータの最初の部分をハードドライブに書き込むのを指示するファイルシステムへのコマンドとともに、恐らくは転送されるバッファの一部として、ファイルシステムに転送する。通常、ハードドライブは、ファイルシステムとのインタフェースをとるブロックドライバなどを含むか、ブロックドライバが関連付けられており、したがって、ファイルシステムはブロックドライバを介してハードドライブと通信する。また、通常ファイルシステムは、ハードドライブの各セクタについてのセクタ情報を保持し、この情報には、セクタが使用されているかどうかと、使用されている場合はそのセクタを使用しているファイルについての情報が含まれる。
したがって、ハードドライブに最初のデータ部分を書き込むには、ファイルシステムは、そのようなセクタ情報を参照して、最初のデータ部分に利用できるセクタを決定し、最初のデータ部分を格納するのに使用されるハードドライブのセクタの識別を含むセクタリストを作成する。理解されるように、ファイルシステムは、最初のデータ部分のサイズと各セクタの容量に少なくとも部分的に基づいて、一般に知られる方法によってセクタリストを作成する。いずれにせよ、ファイルシステムは、データの最初の部分とそのデータ部分のために作成されたセクタリストをハードドライブのブロックドライバに送信し、ブロックドライバは、一般に知られる方法で、セクタリストに従ってハードドライブにデータの最初の部分を格納する。
その後、アプリケーションはデータの移動元からデータの2番目の部分を取得し、上記と同様の方式で、そのデータの2番目の部分をハードドライブに書き込むコマンドとともにファイルシステムに転送する。理解されるように、このプロセスは、すべてのデータが移動元からハードドライブに転送されるまで、3番目、4番目、5番目のデータ部分に伴って必要に応じて継続する。このプロセスはハードドライブから移動先にデータを読み出す際も同様であるが、言うまでもなく、データはファイルシステムを経由して反対方向に移動することに留意されたい。
要約すると、従来技術においては、ハードドライブなどに書き込まれる各データ部分は、まずデータの移動元からファイルシステムに転送され、次いでファイルシステムからハードドライブに転送され、同様に、ハードドライブなどから読み出される各データ部分はまずハードドライブからファイルシステムに転送され、次いでファイルシステムからその移動先に転送される。
しかしながら、特にデータ量が多く、仲介役としてのファイルシステムをデータすべてが経由しなければならない場合には、このようなプロセスは煩雑で非効率的である。
したがって、データが初めにコンピューティングシステムのファイルシステムを経由せずに、移動元などからコンピューティングデバイスに関連付けられたハードドライブなどの記憶媒体に、直接転送される方法が必要とされる。同様に、データが初めにコンピューティングデバイスのファイルシステムを経由せずに、そのような記憶媒体から直接移動先などに転送される方法も必要とされる。
上述の必要性は、コンピューティングデバイス上のアプリケーションが、移動元からコンピューティングデバイスに関連付けられた記憶媒体にデータを書き込む方法が提供される本発明によって、少なくとも部分的に満たされる。この方法では、アプリケーションは、コンピューティングシステムのファイルシステムにアプリケーションコマンドを発行し、このアプリケーションコマンドは、移動元の識別と、その移動元におけるデータの場所を含む。ファイルシステムは、ファイルシステムによって維持される空間情報に基づいて、データのために記憶媒体の空間を割り当て、データを格納するために使用される媒体の各部分の識別を含むリストを作成する。ファイルシステムは次いで、媒体のブロックドライバにファイルシステムコマンドを発行し、このファイルシステムコマンドは、移動元の識別と、その移動元におけるデータの場所を含み、また、作成されたリストも含む。ブロックドライバは、その識別にある移動元に接触し、その場所にあるデータを移動元から要求し、移動元の当該場所にあるデータを、作成されたリストの中に含まれる媒体の部分に書き込む。コンピューティングデバイス上のアプリケーションが記憶媒体から移動先に読み出すための対応する方法も提供される。
前述の要約と、以下の本発明の実施形態の詳細な説明は、添付の図面と併せて読むことによりよく理解されるだろう。本発明を説明する目的で、図面には現在好ましい実施形態を示す。ただし、理解されるように、本発明は図示する通りの構成と手段に限定されない。
コンピュータ環境
図1および以下の説明は、本発明および/またはその一部を実施することが可能な適切なコンピューティング環境の簡単で一般的な説明を提供する。これは必須ではないが、本発明は、クライアントワークステーションやサーバなどのコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令との一般的関連において説明する。一般に、プログラムモジュールには、特定のタスクを行うか特定の抽象データ型を実行するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらに、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサを利用した、あるいはプログラム可能な家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成で、本発明および/またはその一部が実施できることは理解されよう。本発明は、通信ネットワークで結ばれた遠隔の処理デバイスによってタスクが行われる分散コンピューティング環境で実施してもよい。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモート両方のメモリ記憶装置に置くことができる。
図1に示すように、例示的な汎用コンピューティングシステムは、従来のパーソナルコンピュータ120などを含み、コンピュータ120は、処理装置121、システムメモリ122、および、システムメモリを含む各種のシステム構成要素を処理装置121に結合するシステムバス123を含む。システムバス123は、各種のバスアーキテクチャを使用した、メモリバスまたはメモリコントローラ、ペリフェラルバス、ローカルバスを含む数種のバス構造のいずれでもよい。システムメモリは、読み取り専用メモリ(ROM)124とランダムアクセスメモリ(RAM)125を含む。起動時などにパーソナルコンピュータ120内の要素間の情報転送を助ける基本ルーチンを含んだ基本入出力システム126(BIOS)は、ROM124に記憶される。
パーソナルコンピュータ120はさらに、ハードディスク(図示せず)の読み書きを行うハードディスクドライブ127、取り外し可能磁気ディスク129の読み書きを行う磁気ディスクドライブ128、および、CD−ROMなどの取り外し可能光ディスク131または他の光学媒体の読み書きを行う光ディスクドライブ130を含むことができる。ハードディスクドライブ127、磁気ディスクドライブ128、および光ディスクドライブ130は、それぞれハードディスクドライブインタフェース132、磁気ディスクドライブインタフェース133、および光学ドライブインタフェース134によりシステムバス123に接続される。これらのドライブとそれに関連付けられたコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性の記憶をパーソナルコンピュータ120に提供する。
ここに記載する例示的環境では、ハードディスク、取り外し可能磁気ディスク129、取り外し可能光ディスク131を用いるが、コンピュータによるアクセスが可能なデータを記憶することができる他のタイプのコンピュータ可読媒体もこの例示的動作環境で使用できることは理解されよう。そのような他のタイプの媒体には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)などがある。
ハードディスク、磁気ディスク129、光ディスク131、ROM124、またはRAM125上には、いくつかのプログラムモジュールを記憶することができ、これにはオペレーティングシステム135、1つまたは複数のアプリケーションプログラム136、他のプログラムモジュール137、およびプログラムデータ138が含まれる。ユーザは、キーボード140およびポインティングデバイス142などの入力装置を通じて、パーソナルコンピュータ120にコマンドと情報を入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどがある。これらおよび他の入力装置は、多くの場合、システムバスに結合されたシリアルポートインタフェース146を通じて処理装置121に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などの他のインタフェースで接続してもよい。モニタ147または他のタイプの表示装置も、ビデオアダプタ148などのインタフェースを介してシステムバス123に接続される。モニタ147以外に、パーソナルコンピュータは通例、スピーカやプリンタなどの他の周辺出力装置(図示せず)を含む。図1の例示的システムは、ホストアダプタ155、SCSI(スモールコンピュータシステムインタフェース)バス156、およびSCSIバス156に接続された外部記憶装置162も含む。
パーソナルコンピュータ120は、リモートコンピュータ149などの1つまたは複数のリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ149は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、あるいは他の一般的なネットワークノード等であり、図1にはメモリ記憶装置150のみを示すが、通例は、パーソナルコンピュータ120との関連で上述した要素の多くまたはすべてを含む。図1に示す論理接続は、ローカルエリアネットワーク(LAN)151とワイドエリアネットワーク(WAN)152を含む。このようなネットワーキング環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、およびインターネットに一般的に見られる。
LANネットワーキング環境で使用される場合、パーソナルコンピュータ120は、ネットワークインタフェースあるいはアダプタ153を通じてLAN151に接続される。WANネットワーキング環境で使用される場合、パーソナルコンピュータ120は、通例、インターネットなどのワイドエリアネットワーク152を通じて通信を確立するためのモデム154または他の手段を含む。モデム154は、内蔵型でも外付け型でもよく、シリアルポートインタフェース146を介してシステムバス123に接続される。ネットワーク環境では、パーソナルコンピュータ120との関連で図示するプログラムモジュールまたはその一部は、遠隔のメモリ記憶装置に記憶することができる。図のネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用してよいことは理解されよう。
汎用的なパッケージングツールおよびコンポーネント
次いで図2を参照すると、本発明の一実施形態では、データはファイルシステム12を経由せずに、その移動元20から、コンピューティングデバイス14のファイルシステム12によって管理されるドライブなどの1つまたは複数の記憶媒体10にコピーされるか、あるいは、コンピューティングデバイス14のファイルシステム12によって管理される1つまたは複数のドライブ10のいずれかから、移動先20にコピーされる。本発明では、転送されるデータの移動元20または移動先20を、アプリケーション16が必要に応じてデータに関連する他の情報とともにファイルシステム12に通知することによってデータの転送を実施し、ファイルシステム12は、データによって占有されている、または占有されることになるドライブ10のすべてのセクタのリストを作成する。その後、ファイルシステム12は、移動元または移動先20へのアクセス方法についての情報とともに、作成されたセクタリストをドライブ10のブロックドライバ18に送信し、ブロックドライバ18は、移動元または移動先20と直接通信して、移動元からデータを取得するか、移動先にデータを転送する。
コンピューティングデバイス14は、本発明の主旨および範囲から逸脱することなく、ファイルシステム12を備える任意の適切なコンピューティングデバイス14であれば良いことに留意されたい。コンピューティングデバイス14は、例えば、パーソナルコンピュータ等、携帯型プレーヤ、携帯情報端末、サーバコンピュータ等である。必ずしもこれに限定はされないが、通常コンピューティングデバイス14上では、データの転送を起動するアプリケーション16が動作する。
データの移動元または移動先20もまた、本発明の主旨および範囲から逸脱することなく、任意の適切な移動元または移動先20であれば良いことにも留意されたい。例えば、そのような移動元/移動先20は、コンピューティングデバイス14の別のドライブ10、RAM、フラッシュメモリなど、あるいは、コンピューティングデバイス14の外部にあるが、コンピューティングデバイス14からのアクセスが可能な何らかの記憶媒体10である。
同様に本発明の主旨および範囲から逸脱せずに、コンピューティングデバイス14に関連付けられたドライブ10は、実ドライブおよび仮想ドライブを含む、コンピューティングデバイス14のファイルシステム12からアクセス可能な任意のドライブ10で良い。無論、そのようなドライブ10には、移動元/移動先20と直接通信して移動元からデータを取得し、または移動先にデータを転送することができるブロックドライバ18が必要である。例えば、そのようなドライブ10は、ハードドライブまたはハードドライブのパーティションされた一部分であっても、RAMまたはフラッシュメモリ中で動作する仮想ドライブであっても、ファイルシステムからアクセス可能なリモートドライブであっても、ファイルサーバ等であってもよい。理解されるように、このようなドライブ10は、特に、コンピューティングデバイス14の内部にあっても外部にあっても、ローカルであってもリモートであっても、コンピューティングデバイス14の直接の制御下にあってもなくてもよい。
次いで図3を参照すると、本発明の一実施形態では、コンピューティングデバイス14に関連付けられたアプリケーション16などが、コンピューティングデバイス14のファイルシステム12の直接の制御下で、移動元20からコンピューティングデバイス14に関連付けられたドライブ10にデータを書き込むことを要求する。前提として、アプリケーション16がデータのサイズの知識を有し、データは、新しく作成されたファイルまたは変更されたファイルとしてドライブ10に存在することになる。したがって、アプリケーション16は、必要な場合はファイルシステム12にコマンドを発行してファイルを作成し(ステップ301)、データのサイズに基づいてファイルシステム12にファイルのサイズを通知する(ステップ303)。
本発明で用いられるファイルシステム12は、データの転送においては仲介役にはならないものの、ファイルシステム12は、ドライブ10を管理している、したがってドライブ10にスペースを割り当てるために用いられる。したがって、本発明の一実施形態では、アプリケーション16は、ファイルシステム12にコマンドを発行して書き込みのプロセスを開始し(ステップ305)、この開始コマンドは、移動元20の識別とその移動元におけるデータの場所を含む。それに応答して、ファイルシステム12は、ファイルシステム12によって維持されるセクタ情報に基づき、実際にデータのための空間を割り当てる。詳細には、ファイルシステム12は、ステップ303で求められたデータのサイズに基づいてデータ全体に利用できるセクタを決定し、データ全体を格納するために使用されるドライブ10のセクタの識別を含むセクタリストを作成する(ステップ307)。
その後、ファイルシステムは、ドライブ10のブロックドライバ18にコマンドを発行して書き込みプロセスを開始し(ステップ309)、開始コマンドは、移動元20の識別と移動元20におけるデータの場所を含み、また、作成されたセクタリストも含む。ただし、ファイルシステム12は、実際にデータをブロックドライバ18に転送することはないことに留意されたい。重要な点として、本発明の一実施形態では、ブロックドライバ18は、ファイルシステム12からのセクタリストと識別および場所の情報を用いて、適宜識別される移動元20に接触し、移動元20の当該データの場所にあるデータ全体を要求し、受け取り、そのデータを、セクタリストで識別されるドライブ10に転送することにより、ドライブ10へのデータの書き込みを行う(ステップ311)。ブロックドライバ18を介したこのような移動元20からドライブ10へのデータの書き込みは、本発明の主旨および範囲から逸脱せずに、任意の適切な方式で行うことができる。理解されるように、このようなデータの書き込みは、当業者には周知であるか、明らかであると思われるため、ここでは詳細に述べない。このような書き込みは、例えば、連続したデータのストリームとして、またはそのようなデータの部分の連続として達成することができる。後者の場合は、データは複数の部分として受け取られるが、初めにファイルシステム12を経由することなく移動元20から直接受信されることは理解されよう。いずれにせよ、ブロックドライバ18は、ファイルシステム12を仲介役とせずに、直接移動元20から受信された、書き込まれるデータを、セクタリストに従って周知の方式でドライブ10に格納する。
この時点で、データは実際に移動元20からドライブに書き込まれ、これ以上何も行わなくともよい。しかし、管理上の方法として、移動元20が、書き込みプロセスが完了したことをアプリケーション16に通知し(ステップ313)、アプリケーション16も同様に書き込みプロセスが完了した旨のコマンドをファイルシステム12に発行し(ステップ315)、ファイルシステム12も同様に、書き込みプロセスが完了した旨のコマンドをドライブ10のブロックドライバ18に発行してよい(ステップ317)。したがって、アプリケーション16、ファイルシステム12、およびブロックドライバ18のそれぞれが、管理上書き込みプロセスを終了するか、かつ/または必要とされる完了機能を行うことができる。
データの書き込みと同様に、本発明の一実施形態では、アプリケーション16は、コンピューティングデバイス14のファイルシステム12の制御下で、コンピューティングデバイス14のドライブ10から移動先20にデータを読み出すことを要求する場合がある。ただし、この場合、データはすでにファイルなどとしてドライブ10に存在する。そのため、アプリケーション16は、ファイルを開くコマンドをファイルシステム12に発行する。しかし、ここで、ファイルシステム12は、ファイルあるいはデータのサイズを自身で判定することができ、したがってアプリケーション16によってサイズを通知される必要がないことに留意されたい。
先と同様に、ファイルシステム12はデータの転送時に仲介役とはならないものの、ファイルシステム12は、ドライブ10を管理し、したがってドライブにあるファイル中のデータを見つけるために用いられなければならない。したがって、次いで図4を参照すると、アプリケーション16は、ファイルシステム12にコマンドを発行して読み取りプロセスを開始し(ステップ401)、開始コマンドは、移動先20の識別と必要な場合はその移動先20におけるデータの場所を含み、ファイルシステム12は、ファイルシステム12によって維持されるセクタ情報に基づいて、そのデータを含むドライブのセクタを見つける。詳細には、ファイルシステム12は、ドライブ10に記憶されたデータ全体のセクタを決定し、データ全体を取得するために使用されるドライブ10のセクタの識別を含むセクタリストを作成する(ステップ403)。
その後、ファイルシステム12は、ドライブ10のブロックドライバ18にコマンドを発行して読み出しプロセスを開始する。ここで、開始コマンドは、移動先20の識別と必要な場合は移動先20におけるデータの場所を含み、またセクタリストも含む(ステップ405)。ここで、データが最後のセクタの末尾まで行かずに終わっている場合、開始コマンドは、データのサイズも含むことができる。先と同様に、ファイルシステム12は、実際にドライブ10/ブロックドライバ18からデータを転送するのでないことに留意されたい。重要な点として、本発明の一実施形態では、ブロックドライバ18は、ファイルシステムからのセクタリスト、サイズ、および、識別と場所の情報を用いて、識別される移動先20に適宜接触し、データ全体を移動先20の当該データの場所に転送することにより、読み出しを行い、そのようなデータは、ドライブ10の当該データがあるセクタから取得される(ステップ407)。このようなブロックドライバ18を介したドライブ10から移動先20へのデータの読み出しは、本発明の主旨および範囲から逸脱することなく、任意の適切な方式で行うことができる。理解されるように、このようなデータの読み出しは、当業者には知られているか、あるいは明白であると思われるため、ここで詳細に説明する必要はない。例えば、ここでも、このような読み出しは、セクタリストに従って、連続したデータストリームとして、またはそのようなデータの部分の連続として達成することができる。後者の場合は、この場合も、データは複数の部分として転送されるが、初めにファイルシステム12を経由することなく、ブロックドライバ18によりドライブ10から直接移動先20に転送されることを理解されたい。いずれにせよ、移動先20は、ファイルシステム12を一般に知られる方法で仲介役とせずに、ブロックドライバ18から直接受け取った、読み出されたデータを格納する。
この時点で、データが実際にドライブから移動先20に読み出され、これ以上何も行わなくともよい。しかし、ここでも、管理上の方法として、読み出しプロセスが完了したことを移動先20がアプリケーション16に通知し(ステップ409)、アプリケーション16も同様に読み出しプロセスが完了した旨のコマンドをファイルシステム12に発行し(ステップ411)、ファイルシステム12も同様に読み出しプロセスが完了した旨のコマンドをドライバ10のブロックドライバ18に通知してよい。したがって、ここでも、アプリケーション16、ファイルシステム12、ブロックドライバ18のそれぞれが、管理上、読み出しプロセスを終了するか、かつ/または必要な完了機能を行うことができる。
結論
少なくとも一部の状況では、ブロックドライバ18とファイルシステム12の両方が同じソフトウェアモジュールとして実施されることは認識されよう。したがって、そのようなブロックドライバ18とファイルシステム12に関連付けられた機能を遂行するモジュールの部分間に内部的な区分がある場合も、ない場合もある。そのような状況でも、ここに述べられる本発明は、組み合わせられたブロックドライバ18/ファイルシステム12がやはり直接移動元/移動先20と通信するので、なお適用することができる。したがって、この場合も、アプリケーション16は、データ処理から離脱することができ、その結果データ転送において顕著な効率性が得られる。
本発明は、任意の該当するアプリケーション16、ブロックドライバ18を有するドライブ10、移動元/移動先20、およびファイルシステム12を備えるコンピューティングシステム14に関して実施することができる。ここで理解されるように、本発明では、データは、初めにコンピューティングデバイス14のファイルシステム12を経由せずに、移動元20などから、コンピューティングデバイス14に関連付けられたドライブ10などに直接転送される。また、データは、初めにコンピューティングデバイス14のファイルシステム12を経由せずに、コンピューティングデバイス14に関連付けられたドライブ10などから直接移動先20などに転送される。したがって、データは、転送される際に、初めにファイルシステム12を経由する必要がない。用語「直接」の使用は、ファイルシステム12を迂回することのみを必要としており、移動元/移動先20とドライブ10と間に直接的なリンクは必要としないことに留意されたい。理解されるように、ファイルシステム12を回避することにより、特にアプリケーション16とファイルシステム12は、1回の転送につき1つの開始コマンドを発行するだけでよいので、データの転送は、煩雑性の低い方法によって行われ、効率が大幅に向上する。
したがって、ファイルシステム12の管理上のオーバーヘッドが回避され、アプリケーション16がデータ転送への反復的な関与するのも回避される。ここに記載される技術は、例えば比較的単純なコンピューティングデバイス14の場合など、ファイルシステム12とブロックドライバ18が基本的に同一物である場合にも有用である可能性がある。そのような場合でも、アプリケーション16がデータの各部分を読み出し、そのデータ部分をファイルシステム12/ブロックドライバ18の組み合わせに書き込む必要がないので、効率が向上する。
本発明との関連で行われるプロセスを実施するのに必要なプログラミングは、比較的単純であり、関連するプログラミングの当事者には明白であろう。そのためそのようなプログラミングは本明細書に添付しない。そのため、本発明の主旨および範囲から逸脱することなく、特定のプログラミングを用いて本発明を実施することができる。
上述の説明によって、本発明は、ドライブ10との間において、より効率的で煩雑性の低い方法でデータを転送することを可能にする新しく有用な方法を備えることが理解できよう。そのようなデータは、初めにコンピューティングデバイス14のファイルシステム12を経由せずに、移動元20などから、コンピューティングデバイス14に関連付けられたハードドライブなどの記憶媒体10に直接転送され、または、初めにコンピューティングデバイス14のファイルシステム12を経由せずに、記憶媒体10から直接移動先20などに転送される。注目すべき点として、そのようなデータは、アプリケーション16に関与する必要もない。本発明の概念から逸脱することなく、上記の実施形態に変更を加えてよいことは理解されよう。そのため、一般に、本発明は、ここに開示される特定の実施形態に限定されず、本発明の主旨および範囲内にある変更を包含するものとすることを理解されたい。
本発明の態様および/またはその一部を組み込むことが可能な汎用コンピュータシステムを表すブロック図である。 特に、アプリケーション、ファイルシステム、およびコンピュータに関連付けられたドライブのブロックドライバを示すブロック図である。 本発明の一実施形態によりドライブに書き込みを行うために図2の要素によって行われる主要なステップを示すフロー図である。 本発明の一実施形態によりドライブから読み出しを行うために図2の要素によって行われる主要なステップを示すフロー図である。
符号の説明
10 記憶媒体/ドライブ
12 ファイルシステム
16 アプリケーション
18 ブロックドライバ
20 移動元/移動先

Claims (22)

  1. コンピューティングデバイス上のアプリケーションが移動元から前記コンピューティングデバイスに関連付けられた記憶媒体にデータを書き込む方法であって、
    前記アプリケーションが、前記移動元の識別と前記移動元における前記データの場所とを含むアプリケーションコマンドを、前記コンピューティングデバイスのファイルシステムに発行するステップと、
    前記ファイルシステムが、前記ファイルシステムによって維持される空間情報に基づいて、前記データのための前記媒体の空間を割り当て、前記データを格納するために使用される前記媒体の各部分の識別を含むリストを作成するステップと、
    前記ファイルシステムが、前記移動元の前記識別とその移動元における前記データの前記場所とを含み、前記作成されたリストも含むファイルシステムコマンドを、前記媒体のブロックドライバに発行するステップと、
    前記ブロックドライバが、前記識別にある前記移動元に接触し、当該データの場所にある前記データを要求し、前記移動元の前記場所のデータを前記作成されたリストに含まれる媒体部分に書き込むステップと、
    を備えることを特徴とする方法。
  2. 前記アプリケーションは、前記媒体上に前記ファイルを作成するコマンドを前記ファイルシステムに発行するステップをさらに備えることを特徴とする請求項1に記載の方法。
  3. 前記アプリケーションが前記データのサイズを前記ファイルシステムに通知するステップをさらに備えることを特徴とする請求項2に記載の方法。
  4. 前記ファイルシステムが、前記データすべてに利用することができる前記媒体のセクタを決定し、前記データを格納するために使用される前記媒体の各セクタの識別を含むセクタリストを作成するステップをさらに備えることを特徴とする請求項1に記載の方法。
  5. 前記ブロックドライバが前記移動元から前記媒体に前記データを書き込み、前記ファイルシステムを迂回するステップを備えることを特徴とする請求項1に記載の方法。
  6. 前記ブロックドライバが前記移動元から前記媒体への前記データすべての書き込みを完了すると、前記移動元が、前記書き込みが完了したことを前記アプリケーションに通知し、前記アプリケーションが、前記書き込みが完了したことを前記ファイルシステムに通知し、前記ファイルシステムが、前記書き込みが完了したことを前記ブロックドライバに通知するステップをさらに備えることを特徴とする請求項1に記載の方法。
  7. コンピューティングデバイス上のアプリケーションが、前記コンピューティングデバイスに関連付けられた記憶媒体から移動先にデータを読み出す方法であって、
    前記アプリケーションが、前記移動先の識別と前記移動先における前記データの場所とを含むアプリケーションコマンドを、前記コンピューティングデバイスのファイルシステムに発行するステップと、
    前記ファイルシステムが、前記ファイルシステムによって維持される空間情報に基づいて、前記データを有する前記媒体の空間を特定し、前記データを格納している前記媒体の各部分の識別を含むリストを作成するステップと、
    前記ファイルシステムが、前記移動先の識別とその移動先における前記データの場所とを含み、前記作成されたリストも含むファイルシステムコマンドを、前記媒体のブロックドライバに発行するステップと、
    前記ブロックドライバが、前記識別にある前記移動先に接触し、前記作成されたリストに含まれる前記媒体部分から前記データを読み出すと、前記データを前記移動先の当該データの場所に送信するステップと、
    を備えることを特徴とする方法。
  8. 前記ファイルシステムが、前記読み出されるデータのサイズを前記ブロックドライバに通知するステップをさらに備えることを特徴とする請求項7に記載の方法。
  9. 前記ファイルシステムが、前記データすべてを有する前記媒体のセクタを決定し、前記データを読み出すために使用される前記媒体の各セクタの識別を含むセクタリストを作成するステップをさらに備えることを特徴とする請求項7に記載の方法。
  10. 前記ブロックドライバが前記媒体から前記移動先に前記データを読み出し、前記ファイルシステムを迂回するステップを備えることを特徴とする請求項7に記載の方法。
  11. 前記ブロックドライバが前記媒体から前記移動先への前記データすべての読み出しを完了すると、前記移動先が、前記読み出しが完了したことを前記アプリケーションに通知し、前記アプリケーションが、前記読み出しが完了したことを前記ファイルシステムに通知し、前記ファイルシステムが、前記読み出しが完了したことを前記ブロックドライバに通知するステップをさらに備えることを特徴とする請求項7に記載の方法。
  12. コンピューティングデバイス上のアプリケーションが移動元から前記コンピューティングデバイスに関連付けられた記憶媒体にデータを書き込む方法を実施するコンピュータ実行可能命令が格納されたコンピュータ読取り可能媒体であって、前記方法は、
    前記アプリケーションが、前記移動元の識別と前記移動元における前記データの場所とを含むアプリケーションコマンドを、前記コンピューティングデバイスのファイルシステムに発行するステップと、
    前記ファイルシステムが、前記ファイルシステムによって維持される空間情報に基づいて、前記データのための前記媒体の空間を割り当て、前記データを格納するために使用される前記媒体の各部分の識別を含むリストを作成するステップと、
    前記ファイルシステムが、前記移動元の前記識別とその移動元における前記データの前記場所とを含み、前記作成されたリストも含むファイルシステムコマンドを、前記媒体のブロックドライバに発行するステップと、
    前記ブロックドライバが、前記識別にある前記移動元に接触し、当該データの場所にある前記データを要求し、前記移動元の前記場所にあるデータを前記作成されたリストに含まれる媒体部分に書き込むステップと、
    を備えることを特徴とするコンピュータ読取り可能媒体。
  13. 前記方法は、前記アプリケーションが、前記媒体上に前記ファイルを作成するコマンドを前記ファイルシステムに発行するステップをさらに備えることを特徴とする請求項12に記載の媒体。
  14. 前記方法は、前記アプリケーションが前記データのサイズを前記ファイルシステムに通知するステップをさらに備えることを特徴とする請求項13に記載の媒体。
  15. 前記方法は、前記ファイルシステムが、前記データすべてに利用することができる前記媒体のセクタを決定し、前記データを格納するために使用される前記媒体の各セクタの識別を含むセクタリストを作成するステップを備えることを特徴とする請求項12に記載の媒体。
  16. 前記方法は、前記ブロックドライバが前記移動元から前記媒体に前記データを書き込み、前記ファイルシステムを迂回するステップを備えることを特徴とする請求項12に記載の媒体。
  17. 前記方法は、前記ブロックドライバが前記移動元から前記媒体への前記データすべての書き込みを完了すると、前記移動元が、前記書き込みが完了したことを前記アプリケーションに通知し、前記アプリケーションが、前記書き込みが完了したことを前記ファイルシステムに通知し、前記ファイルシステムが、前記書き込みが完了したことを前記ブロックドライバに通知するステップをさらに備えることを特徴とする請求項12に記載の媒体。
  18. コンピューティングデバイス上のアプリケーションが、前記コンピューティングデバイスに関連付けられた記憶媒体から移動先にデータを読み出す方法を実施するコンピュータ実行可能命令が格納されたコンピュータ読取り可能媒体であって、前記方法は、
    前記アプリケーションが、前記移動先の識別と前記移動先における前記データの場所とを含むアプリケーションコマンドを、前記コンピューティングデバイスのファイルシステムに発行するステップと、
    前記ファイルシステムが、前記ファイルシステムによって維持される空間情報に基づいて、前記データを有する前記媒体の空間を特定し、前記データを格納している前記媒体の各部分の識別を含むリストを作成するステップと、
    前記ファイルシステムが、前記移動先の識別とその移動先における前記データの場所とを含み、前記作成されたリストも含むファイルシステムコマンドを、前記媒体のブロックドライバに発行するステップと、
    前記ブロックドライバが、前記識別にある前記移動先に接触し、前記作成されたリストに含まれる前記媒体部分から前記データを読み出すと、前記データを前記移動先の当該データの場所に送るステップと、
    を備えることを特徴とする媒体。
  19. 前記方法は、前記ファイルシステムが、前記読み出されるデータのサイズを前記ブロックドライバに通知するステップをさらに備えることを特徴とする請求項18に記載の媒体。
  20. 前記方法は、前記ファイルシステムが、前記データすべてを有する前記媒体のセクタを決定し、前記データを読み出すために使用される前記媒体の各セクタの識別を含むセクタリストを作成するステップを備えることを特徴とする請求項18に記載の媒体。
  21. 前記方法は、前記ブロックドライバが前記媒体から前記移動先に前記データを読み出し、前記ファイルシステムを迂回するステップを備えることを特徴とする請求項18に記載の媒体。
  22. 前記方法は、前記ブロックドライバが前記媒体から前記移動先への前記データすべての読み出しを完了すると、前記移動先が、前記読み出しが完了したことを前記アプリケーションに通知し、前記アプリケーションが、前記読み出しが完了したことを前記ファイルシステムに通知し、前記ファイルシステムが、前記読み出しが完了したことを前記ブロックドライバに通知するステップをさらに備えることを特徴とする請求項18に記載の媒体。
JP2005081808A 2004-03-22 2005-03-22 コンピューティングデバイスの記憶媒体との間の効率的なデータ転送 Pending JP2005276211A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US55539304P 2004-03-22 2004-03-22
US10/995,935 US7428557B2 (en) 2004-03-22 2004-11-23 Efficient data transfer to/from storage medium of computing device

Publications (1)

Publication Number Publication Date
JP2005276211A true JP2005276211A (ja) 2005-10-06

Family

ID=34987614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005081808A Pending JP2005276211A (ja) 2004-03-22 2005-03-22 コンピューティングデバイスの記憶媒体との間の効率的なデータ転送

Country Status (5)

Country Link
US (2) US7428557B2 (ja)
EP (1) EP1580657A3 (ja)
JP (1) JP2005276211A (ja)
KR (1) KR101137121B1 (ja)
CN (1) CN100474275C (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100827227B1 (ko) * 2005-06-24 2008-05-07 삼성전자주식회사 저성능 저장장치의 drm 권리 객체를 효율적으로관리하는 방법 및 장치
TWI409665B (zh) * 2008-10-23 2013-09-21 Shrisinha Technology Corp Enter the information instantly against the protection method and its hardware
KR102225618B1 (ko) * 2014-09-30 2021-03-12 한화테크윈 주식회사 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249937A (ja) * 1998-02-26 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> コンピュータシステム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371885A (en) * 1989-08-29 1994-12-06 Microsoft Corporation High performance file system
US5778430A (en) * 1996-04-19 1998-07-07 Eccs, Inc. Method and apparatus for computer disk cache management
US5867733A (en) * 1996-06-04 1999-02-02 Micron Electronics, Inc. Mass data storage controller permitting data to be directly transferred between storage devices without transferring data to main memory and without transferring data over input-output bus
JP3434979B2 (ja) * 1996-07-23 2003-08-11 富士通株式会社 局所領域画像追跡装置
US6807581B1 (en) * 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US6542909B1 (en) * 1998-06-30 2003-04-01 Emc Corporation System for determining mapping of logical objects in a computer system
US6393540B1 (en) * 1998-06-30 2002-05-21 Emc Corporation Moving a logical object from a set of source locations to a set of destination locations using a single command
JP2000057039A (ja) * 1998-08-03 2000-02-25 Canon Inc アクセス制御方法及び装置及びファイルシステム及び情報処理装置
JP4164202B2 (ja) * 1998-10-08 2008-10-15 キヤノン株式会社 電子機器、電子機器の駆動方法、及びコンピュータ読み取り可能な記憶媒体
US6363385B1 (en) * 1999-06-29 2002-03-26 Emc Corporation Method and apparatus for making independent data copies in a data processing system
AU2001238269B2 (en) * 2000-02-18 2006-06-22 Emc Corporation Hash file system and method for use in a commonality factoring system
JP4452363B2 (ja) * 2000-02-23 2010-04-21 富士通株式会社 ファイルシステム
US6684270B1 (en) * 2000-06-02 2004-01-27 Nortel Networks Limited Accelerated file system that recognizes and reroutes uncontested read operations to a second faster path for use in high-capacity data transfer systems
US6981005B1 (en) * 2000-08-24 2005-12-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system
US6782400B2 (en) * 2001-06-21 2004-08-24 International Business Machines Corporation Method and system for transferring data between server systems
KR20030053067A (ko) * 2001-12-22 2003-06-28 (주)멀티비츠 컴퓨터 하드 디스크 데이터 삭제 시스템 및 하드 디스크크리닝용 기억 매체
JP3720773B2 (ja) * 2002-02-04 2005-11-30 キヤノン株式会社 インクジェット記録装置及びインクジェット記録方法
JP3940902B2 (ja) * 2002-04-22 2007-07-04 ソニー株式会社 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及び情報処理装置の制御プログラムを記録した記録媒体
US6907504B2 (en) * 2002-07-29 2005-06-14 International Business Machines Corporation Method and system for upgrading drive firmware in a non-disruptive manner
US7461146B2 (en) * 2003-01-20 2008-12-02 Equallogic, Inc. Adaptive storage block data distribution
US7418575B2 (en) * 2003-07-29 2008-08-26 Stretch, Inc. Long instruction word processing with instruction extensions
US7836025B1 (en) * 2007-09-18 2010-11-16 Network Appliance, Inc. Method and apparatus for using pointers within a nonvolatile system memory of a network file computer system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249937A (ja) * 1998-02-26 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> コンピュータシステム

Also Published As

Publication number Publication date
EP1580657A2 (en) 2005-09-28
EP1580657A3 (en) 2008-11-19
US20050210075A1 (en) 2005-09-22
CN1677373A (zh) 2005-10-05
US8645435B2 (en) 2014-02-04
US7428557B2 (en) 2008-09-23
CN100474275C (zh) 2009-04-01
US20080301206A1 (en) 2008-12-04
KR20060057494A (ko) 2006-05-26
KR101137121B1 (ko) 2012-04-19

Similar Documents

Publication Publication Date Title
US9513810B2 (en) Fast accessible compressed thin provisioning volume
US6912636B1 (en) System and method for providing safe data movement using third party copy techniques
US6408369B1 (en) Internal copy for a storage controller
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
EP1291755A2 (en) Storage system, a method of file data back up and a method of copying of file data
JP2007172586A (ja) コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラム
JPWO2005001700A1 (ja) ストレージ容量管理方法、そのサーバ、記録媒体
JP2007079774A (ja) ファイルシステムの構築方法
JP2005535019A (ja) ストレージ管理ブリッジ
JP2003308213A (ja) ジョブ処理方法、ジョブ処理装置及びストレージ管理システム
JP2005276211A (ja) コンピューティングデバイスの記憶媒体との間の効率的なデータ転送
JP2005293478A (ja) 記憶制御システム、記憶制御システムに備えられるチャネル制御装置、データ転送装置
TWI497414B (zh) 檔案執行方法及系統
JP2019525311A (ja) ネットワークアクセス可能なデータボリューム変更
US7974830B2 (en) Tape management method and tape management system
US7533235B1 (en) Reserve stacking
JP2007018195A (ja) 情報処理方法および情報処理装置
JP4997063B2 (ja) 計算機の起動方法及び計算機システム
JPH10124359A (ja) キャッシュ選択方法およびデータ処理システム
JP2002369133A (ja) ディスク共有システムおよびプログラム記憶媒体
TW200809597A (en) Method and system for device to request and operate an external buffer provided from the host
JP2009070359A (ja) ハードディスクレス型コンピュータの起動効率を向上可能な広域通信網起動システム
JP2007293564A (ja) メモリデバイスおよび情報記憶システム
JP2003058487A (ja) データアクセス制御方式
JP2006059110A (ja) ライブラリ制御方法、ライブラリ制御装置、及びライブラリ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101022

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110120

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110304