JP2019511796A - ファイル管理方法及びこれを利用したファイル管理装置{method for managing files and apparatus using the same} - Google Patents

ファイル管理方法及びこれを利用したファイル管理装置{method for managing files and apparatus using the same} Download PDF

Info

Publication number
JP2019511796A
JP2019511796A JP2018558266A JP2018558266A JP2019511796A JP 2019511796 A JP2019511796 A JP 2019511796A JP 2018558266 A JP2018558266 A JP 2018558266A JP 2018558266 A JP2018558266 A JP 2018558266A JP 2019511796 A JP2019511796 A JP 2019511796A
Authority
JP
Japan
Prior art keywords
file
system call
procedure
server
file management
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.)
Granted
Application number
JP2018558266A
Other languages
English (en)
Other versions
JP6654255B2 (ja
Inventor
リー、ドー・ヒュン
Original Assignee
ジーアーソフト・カンパニー・リミテッド
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 ジーアーソフト・カンパニー・リミテッド filed Critical ジーアーソフト・カンパニー・リミテッド
Publication of JP2019511796A publication Critical patent/JP2019511796A/ja
Application granted granted Critical
Publication of JP6654255B2 publication Critical patent/JP6654255B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • G06F16/166File name conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Abstract

本発明はファイル名を規則に従って設定し、ファイルを同期化するファイル管理及び同期化方法及び装置に関する。本発明によれば、(a)ファイル管理装置が、ファイル管理装置で実行されるプログラムからファイルに対するアクセスの要求に対応されるシステムコール(system call)を感知する段階;及び(b)感知されたシステムコール及びシステムコールのパラメータを参照にして、ファイル管理装置が、予め定められたファイル管理ポリシーに基づいて、システムコールに対応される手続を実行するプロセス、及びシステムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行する段階を含む方法及びこれを利用する装置が提供される。本発明のファイル管理ポリシーは、ファイルの属性に基づいてファイル管理装置が感知されたシステムコールのパラメータのうちファイルが保存されているか保存される予定の名前であるファイル名、及びファイルが保存されているか保存される予定の経路の値のうち少なくとも一つを決定するためのローカルファイル名ポリシーを含む。本発明でファイルの属性は、生成日時、修正日時、ファイル類型、ファイル題目、所有者、生成者、アクセス権限、出所情報、バージョン情報、状況情報、キーワード及び副題のうち少なくとも一つを含む。【選択図】図1

Description

本発明はファイル名を規則に従って設定し、ファイルを同期化するファイル管理方法及び装置に関し、より詳細には、(a)ファイル管理装置が、ファイル管理装置で実行されるプログラムからファイルに対するアクセスの要求に対応されるシステムコール(system call)を感知する段階;及び(b)感知されたシステムコール及びシステムコールのパラメータを参照にして、ファイル管理装置が、予め定められたファイル管理ポリシーに基づいて、システムコールに対応される手続を実行するプロセス、及びシステムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行する段階を含む方法及びこれを利用する装置に関する。
大部分の事務作業が電算化されるに伴い、事務作業によって生成される大部分の文書は電算化されたファイルの形態で生成されて流通する。係るファイルを識別するために大部分のオペレーティングシステム(Operating System)ではファイルにファイル名とファイル経路を付与する。
また、多くの電算化された事務作業は一人のユーザではない複数のユーザ集団によって生成、編集及び処理され、この場合、ファイルはネットワークを介して伝送されることで共有されることもあり、一つの保存場所に保存されて複数のユーザにアクセスを許容することで共有されることもある。
ところが、各ユーザが複数のユーザ集団によって処理されるファイルを生成する場合、ファイルを識別するためのファイル名及びファイル経路を各ユーザが任意に決定する場合にファイルを組織的に管理し難いという問題がある。
また、複数のユーザがファイルを編集及び加工し得るので、互いに異なるユーザによって編集される内容を追跡して管理し難いという問題があり、場合によっては互いに異なるユーザが同時にファイルを編集することでファイルの編集内容が流失されたり、ファイル内容に矛盾が発生し得る恐れもある。
これを解決するための試みのうち、例えば韓国登録特許第10−1525984号には、ファイルの保存に対応されるダイアログウィンドウの呼出時に文書管理装置がそのファイルのファイル名及びファイルの保存経路を自動で指定してユーザに表示し、ユーザの選択を受けて定められたファイル名及び保存経路に従ってファイルが保存される方式が記載されている。
その方式は主に既作成されているコードの特定地点をインターセプトして動作方式に変化を与える技術、即ちフッキングを利用するものである。例えば、マイクロソフト社のウィンドウズ(登録商標)(Microsoft(登録商標) Windows(登録商標))のオペレーティングシステムにおけるフッキングには通常予めリザーブされたレジストリ位置にフックDLLを登録して使用する方法があり、PE(Portable Executable)ファイルのIAT(Import Address Table)を自己の関数に変更して強制的にMSワード(MS Word(登録商標))やハングルとコンピュータのアレアハングルにアクセスする方法もある。
これは主にファイル保存のためのダイアログウィンドウがポップアップ(pop−up)するファイルの保存時のみに適用されるという点、ファイル名及び保存経路の確定がユーザによって行われるという点、そしてユーザ集団が一つのサーバ(レポジトリ)にファイルを記録していることを前提としており、ユーザが共有するサーバと別個に各ユーザが利用し得るローカル装置が与えられないという点で限界がある。
またこのような方式は同一のフッキング技術を用いる他のアプリケーションと膠着状態(dead lock)に陥れられる問題点が挙げられる。図8を参照すれば他のアプリケーション(process 1)がファイル内容(resource 1)を割当られている状態で、例えば、韓国登録特許第10−1525984号のアプリケーション(process 2)がファイル保存関数アドレス(resource 2)を割当られた状況なら、ファイル保存時に互いに膠着を起こしてシステムが止まるようになる(system halt)。
これを解決するための一方案として、膠着状態が発生しないように他のアプリケーションと同一の順序でリソース(resource)を占有するようにして膠着を回避(deadlock avoidance)するか、他のアプリケーションよりも高い権限(例えば、管理者権限)を獲得して他のアプリケーションが獲得したリソースを強制的に返還させて膠着状態を防止(deadlock prevention)する膠着状態に対する制御方法が使用されている。しかし、係る方案によっても、膠着状態に陥れられる原因自体を除去するものではないので、根本的な解決策にはなり難かった。
KR10−1525984 B1
本発明は上述した問題点を解決することを目的とする。
本発明はオペレーティングシステムの構造上、最上位権限を獲得し得るようにするためにカーネル水準で動作し得るファイル管理方法及びこれを利用した装置を提供することを目的とする。
また本発明はファイル名及び保存場所をユーザ集団内で統一してユーザの選択がなくても自動で設定し得るようにすることを他の目的とする。
また本発明はファイル名を定められた規則に従って設定及び適用し、ローカルに保存されたファイルを定められた伝送ポリシーに従ってサーバに伝送することで同期化することをまた他の目的とする。
上述したような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は下記のとおりである。
本発明の一態様によれば、(a)ファイル管理装置が、前記ファイル管理装置で実行されるプログラムからファイルに対するアクセスの要求に対応されるシステムコールを感知する段階;及び(b)前記感知されたシステムコール及び前記システムコールのパラメータを参照にして、前記ファイル管理装置が、予め定められたファイル管理ポリシーに基づいて、前記システムコールに対応される手続を実行するプロセス、及び前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行する段階を含むファイル管理方法が提供されるところ、前記ファイル管理ポリシーは、前記ファイルの属性に基づいて前記ファイル管理装置が前記感知されたシステムコールのパラメータのうちファイルが保存されているか保存される予定の名前であるファイル名、及び前記ファイルが保存されているか保存される予定の経路(path)の値のうち少なくとも一つを決定するためのローカルファイル名ポリシーを含み、前記ファイルの属性は、生成日時、修正日時、ファイル類型、ファイル題目、所有者、生成者(ファイルを生成した者)、アクセス権限、出所情報、バージョン情報、状況情報、キーワード及び副題のうち少なくとも一つを含む。
本発明の他の態様によれば、通信部及びプロセッサを含むファイル管理装置が提供されるところ、前記プロセッサは、(i)前記ファイル管理装置で実行されるプログラムからファイルに対するアクセスの要求に対応されるシステムコールを感知して、(ii) 前記感知されたシステムコール及び前記システムコールのパラメータを参照にして、予め定められたファイル管理ポリシーに基づいて、前記システムコールに対応される手続を実行するプロセス、及び前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行し、前記ファイル管理ポリシーは、前記ファイルの属性に基づいて前記ファイル管理装置が前記感知されたシステムコールのパラメータのうちファイルが保存されているか保存される予定の名前であるファイル名、及び前記ファイルが保存されているか保存される予定の経路の値のうち少なくとも一つを決定するためのローカルファイル名ポリシーを含み、前記ファイルの属性は、生成日時、修正日時、ファイル類型、ファイル題目、所有者、生成者、アクセス権限、出所情報、バージョン情報、状況情報、キーワード及び副題のうち少なくとも一つを含む。
本発明によれば、ファイルの内容及びユーザの権限によってファイル名及び保存場所をユーザ集団内で統一して設定することでユーザ集団内でファイルの管理を効率的且つ容易に行なうことができる。また、ユーザ集団内で生成したファイルと同一のファイルをクラウド環境のサーバにも容易に保管することができる。
本発明の実施例の説明に利用されるために添付された下記の図面は本発明の実施例のうち単に一部に過ぎず、本発明が属する技術分野における通常の技術者においては発明的作業がなされることなく本図面に基づいて他の図面が得られることがある。
図1は、本発明に係るファイル管理方法を適用するための例示的構成を概略的に示した概念図である。 図2は、本発明に係るファイル管理方法を例示的に示したフローチャートである。 図3は、図2に示したようなファイル管理方法を具体化した一実施例のフローチャートである。 図4は、図2に示した段階(S200)を具体化した一実施例のフローチャートである。 図5は、図2に示した段階(S200)を具体化した他の実施例のフローチャートである。 図6は、本発明に係るファイル管理方法をウィンドウズのオペレーティングシステム上で具現した一例示を示した概念図である。 図7は本明細書に言及されたシステムコールの概念を説明するためにプロセッサの権限水準を示した概念図である。 図8は、従来のフッキング方式において問題点である膠着状態が起きる過程を示す概念図である。
後述する本発明に対する詳細な説明は、本発明の目的、技術的解法及び長点を明らかにさせるために本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は本発明が属する技術分野で通常の知識を有する者が本発明を実施することができるように充分に詳細に説明される。
本明細書で”システムコール”とは、オペレーティングシステムのカーネルで提供されるサービスを利用しようとするアプリケーション、即ち応用プログラムの要求によりカーネルモードにアクセスするためのインターフェースである。
一般的にオペレーティングシステムの構成上、カーネルとアプリケーションはプロセッサ(例えば、CPU)の権限水準やハードウェアアクセス能力が異なる。アプリケーションが下し得る命令に権限を付与して区分しなければ様々な悪性アプリケーションが特別な制限なしに大損害を及ぼすこととなる。そのような状況を防止するためにプロセッサが下し得る命令に権限が付与されたが、これを支援するプロセッサ設計をマルチプルリング(multiple ring)設計と言い、これは図7に簡略に示されている。
図7を参照すれば、例えば最近のIBM系列機械にはプロセッサの設計上、ring0からring3まで総4種類の階層がある。原理的にring0はカーネルと同一の権限が与えられる階層であり、ring1及び2は原則的に装置ドライバで使用することを予定された階層であり、ring3は機械語にコンパイルされたプログラムファイルが実行された時に生成されるプロセスの階層である。そのようなring3のプロセスはオペレーティングシステムの核心コードとデータにアクセスすることができない。さらに具体的には、このring3モードはユーザレベルのプログラムコードが実行されるモードであり、特定の機械語命令(instruction)実行は不可能である。例えば、ハードウェアに直接アクセスしたり、カーネルの仮想メモリ、それ以外の重要なレジスタやデータにアクセスすることは制限されている。
具体的にウィンドウズのオペレーティングシステムの例示を挙げると、ウィンドウズのオペレーティングシステムではring0とring3のみを利用する。ring3はユーザモード(user mode)とも言い、ring0はカーネルモード(kernel mode)とも言う。ring3であるユーザモードでアプリケーションがハードウェアに直接アクセスしてファイルシステムを利用したり、その他の様々な状況でカーネルに依存しなければならない場合にアプリケーションがカーネルモードで作動されるカーネルのサービスを利用する方法がシステムコールである。ユーザモードでは特別な命令(int 2e、sysenter)を介してカーネルモードに進入することができる。アプリケーションはカーネルモードで作動されるカーネルのサービスを利用して直接ハードウェアコントローラに命令を送るか、しかもオペレーティングシステムのコード、その他のシステムに重要なレジスタにもアクセスが可能である。特に、ユーザモードでアクセスが不可能な0x8000000以上のカーネルの仮想メモリ空間にもアクセスが可能である。参考までに、システムコールの3種類の機能は次のとおりである。
1.ユーザモードにあるアプリケーションがカーネルの機能を利用することができるようにする
2.システムコールを実行すればユーザモードからカーネルモードに転換される
3.カーネルモードでシステムコールを処理し、ユーザモードに転換して作業を継続する
このようなシステムコールは様々だが、代表的な類型は次のとおりである。
1.プロセス制御(process control)
2.ファイル操作(file manipulation)
3.装置管理(device management)
4.情報維持(information maintenance)
5.通信(communication)
本明細書で主に扱われるシステムコールは主に”2.ファイル操作”に関するところ、これは下記でさらに詳細に説明される。
特異なことに、ウィンドウズの装置ドライバはring0水準で動作する。従って、ウィンドウズの装置ドライバはカーネルモードで動作するので、さらに低い水準でシステムアクセスが可能であるところ、例えばシステムコールを感知してシステムコールに対応して実行される一連の命令語を変更し得る。従って、本発明に係る方法及び装置がウィンドウズの装置ドライバを利用してカーネルモードにアクセスする方式で実施されることがあり、このようなオペレーティングシステムまたは方式に限定されないことは下記の詳細な説明を読んだ本発明の技術分野における通常の技術者に理解され得る。
また、本発明の詳細な説明及び請求項にかけて、’プロセス’という用語はオペレーティングシステム上で実行される特定タスク(task)を意味するものではなく、単に遂行順序の前後が重要ではない’処理’を順序の前後を内包する’段階’と区分するために利用された。
また、本発明の明細書全体にかけて、’含む’という用語及びその変形は他の技術的特徴、付加物、構成要素または段階を除くと意図されたものではない。当該技術分野における通常の技術者に本発明の他の目的、長点及び特性が一部は本明細書から、そして一部は本発明の実施から明らかになる。下記の例示及び図面は実例として提供され、本発明を限定すると意図されたものではない。
さらに、本発明は本明細書に表示された実施例の全ての可能な組み合わせを網羅する。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されなければならない。例えば、ここに記載されている特定の形状、構造及び特性は一実施例に係る本発明の精神及び範囲を逸脱せずに他の実施例で具現され得る。また、それぞれの開示された実施例内の個別構成要素の位置または配置は本発明の精神及び範囲を逸脱せずに変更され得ることを理解されなければならない。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されると、その請求項が主張することと均等な全ての範囲と、併せて添付された請求項によってのみ限定される。図面で類似する参照符号は様々な側面にかけて同一か類似する機能を指称する。
本明細書で別途表示されたり明確に文脈上矛盾しない限り、単数で指称された項目は、その文脈で別途要求されない限り、複数のものに至る。以下、本発明の技術分野における通常の技術者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面を参照にして、詳細に説明することとする。
図1は、本発明に係るファイル管理方法を適用するための例示的構成を概略的に表示した概念図である。
図1を参照すれば、ファイル管理装置100はネットワークなどの有無線連結を介してサーバ200と連動する。ファイル管理装置100は通信部110及びプロセッサ120を含むが、これは汎用のコンピューティングに該当され得るところ、無線ネットワーククライアント、デスクトップコンピュータ、ラップトップ、モバイル装備、携帯端末、PDA、その他の端末装置の場合もあるが、これに限定されるものではない点が本発明の技術分野における通常の技術者によって理解されなければならない。サーバ200はファイル管理装置100からデータを獲得してファイルを保有するように構成された装置であって、汎用のコンピューティング装置は勿論、クラウド環境で作動する、ストレージ(storage)に特化された装置の場合もある。
下記ではファイル管理装置100によって遂行される本発明のファイル管理方法をさらに詳細に説明する。
図2は、本発明に係るファイル管理方法を例示的に示したフローチャートである。
図2を参照すれば、本発明に係るファイル管理方法は、ファイル管理装置100がファイル管理装置100で実行されるプログラムからファイルに対するアクセスの要求に対応されるシステムコールを感知する段階(S100)を含む。
ここでファイルに対するアクセスとは、ファイルの生成、書き込み、読み込み、コピー、修正、削除、移動などが含まれ得る。
また、段階(S100)でシステムコールの感知を具現する方式には多様な方式があり得るところ、そのうち一つの例示はファイルフィルタドライバを用いる方式だが、これはファイルミニフィルタ生成時にプリオペレーション及びポストオペレーションコールバックルーチン(preoperation and postoperation callback routines)を登録して用いる方式である。他の例示としてはシステムサービスディスパッチャテーブル(System Service Dispatcher Table)をフッキング(hooking)する方式もある。システムコールの感知を具現するいくつかの方式のそれぞれに関する具体的な説明は本発明を理解するにあたり不要な細部なので、さらに詳細に説明されないが、これは本発明が属する技術分野で通常的な知識を有する者に知られていたり、容易に理解され得るとおりである。
参考として、ファイルに対するアクセスの要求に対応されるシステムコールによって通常呼出されるウィンドウズのNative API関数のリストは下記表1が含まれ得る。表1の一番左側列から、Native API関数名、これに対応されるWin32API関数名、そしてNative API関数に関する説明が記載されている。
Figure 2019511796

Figure 2019511796
再び図2を参照すれば、本発明に係るファイル管理方法は、感知されたシステムコール及びシステムコールのパラメータを参照にして、ファイル管理装置100が、予め定められたファイル管理ポリシーに基づいて、システムコールに対応される手続を実行するプロセス、及びシステムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行する段階(S200)をさらに含む。ここでファイル管理ポリシーは、ファイルの属性に基づいてファイル管理装置100が感知されたシステムコールのパラメータのうちファイルが保存されているか保存される予定の名前であるファイル名、及びファイルが保存されているか保存される予定の経路の値のうち少なくとも一つを決定するためのローカルファイル名ポリシーを含む。また、ファイルの属性はファイルの生成日時、修正日時、ファイル類型、ファイル題目、所有者、生成者、アクセス権限、出所情報、バージョン情報、状況情報、キーワード及び副題のうち少なくとも一つを含む。
この段階(S200)で参照するシステムコール及びシステムコールのパラメータとして呼び出そうとする関数の一例示としては、ファイルを生成する機能をするNativeAPI関数であるNTSTATUS NtCreateFile()が挙げられるが、これは下記の表2にパラメータと共に表示される。
Figure 2019511796
このNtCreateFile()の列挙されたパラメータは、ファイルの生成に必要なパラメータまたはファイルの生成から結果値として出るパラメータを含む。ファイルを生成するアクセスを例に挙げれば、段階(S200)ではファイル管理装置100が、NtCreateFile()に対するシステムコール及びそのパラメータを感知して、そのパラメータから抽出されるか、別途に読み込まれたファイルの属性に基づいてファイルが生成されて保存される予定のファイル名及び/または保存される予定の経路を決定し得るものである。
さらに具体的には、ファイルの属性のうちファイルのファイル題目、副題、ファイル類型、生成日時及び生成者のうち少なくとも一つは段階(S100)で感知されたシステムコール及びシステムコールのパラメータを参照にして、ファイル管理装置100が設定され得て、ファイルのバージョン情報はファイルの生成者及びファイルのアクセスの要求を発生させた者であるユーザに関する情報を参照にして、ファイル管理装置100が設定され得て、ファイルのキーワードはファイルの保存される内容に基づいてファイル管理装置100が設定され得る。
また、ファイルのファイル名またはファイル保存経路は、ローカルファイル名ポリシーに基づいて決定されるが、このようなローカルファイル名ポリシーは、ファイルのファイル名がそれぞれ既設定された区切り文字で区切りされ、既設定された順序で配列される項目である生成日時、修正日時、ファイル類型、ファイル名、所有者、生成者、アクセス権限、出所情報、バージョン情報、状況情報、キーワード及び副題のうち少なくとも一つの項目で構成される文字列になるように、そして文字列を構成する項目のそれぞれに区切り文字が含まれないように指定し得る。例えば、そのようなファイル名は”生成日時(年月日)−ファイル類型−ファイル名−生成者の所属組職/生成者−バージョン情報−副題”の順序で構成された文字列の場合もある。
またファイルが保存される経路が、例えばキーワード及び副題によって分類されたフォルダ構造として構成され得るが、例えばローカルファイルポリシーは、キーワードが”貿易ポリシー”の場合に”業務資料\フォルダ貿易ポリシー\”のような経路でファイルが保存される経路が決定され、ファイルのキーワードが業務資料に該当しないキーワードのみを含むか、業務資料に該当されるキーワードが存在しない場合に”個人資料フォルダ\”のような経路でファイルが保存される経路が決定され得る。
そして、ファイル名の生成に関する一実施例で、段階(S200)はファイルに対するアクセスがファイルの生成、コピーまたは移動に該当し、ファイルのファイル名がローカルファイル名ポリシーに符合しなければ、ファイル管理装置100が、ローカルファイル名ポリシーに符合するファイルの新たなファイル名を生成し、ファイルがファイル管理装置100で新たなファイル名で記録されるようにシステムコールに対応される手続を実行するプロセス、及びシステムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行することを特徴とすることもある。
また、本発明に係るファイル名の生成は既存に存在するファイルのファイル名と同一の名前でファイル名を生成する場合も含まれ得る。
ファイル名の生成はファイルの生成、コピーまたは移動時のみに限定されず、既存ファイルの修正しかも削除時にも行なわれることもある。ファイルの修正時には既存ファイルの情報に新たな情報を上書きせずに既存ファイルの情報を保管した後に新たなファイル名で保存するようにファイル管理ポリシーが構成されることもある。また、ファイルの削除時にも既存ファイルの情報を装置から除去せずに、除去されたことを表示するファイル名に変更することでユーザにはあたかも除去されたように見えるようにファイル管理ポリシーを構成する場合があることもある。例えば、ファイルの属性のうちファイル名の前部分に”[DELETED]”を追加することで削除されたファイルであることを表示し、フォルダに入っているファイルをリスティングする時に当該ファイルを見せないようにファイル管理ポリシーを構成することもある。
次に、図3は図2に示したようなファイル管理方法を具体化した一実施例のフローチャートである。
図3を参照すれば、段階(S200)は本発明に係る同期化を具現するように具体化されることもあるところ、その同期化関連の実施例で、段階(S200)は感知されたシステムコール及びシステムコールのパラメータを参照にして、ファイル管理装置100が、ファイル管理ポリシーに基づいて、ファイル管理装置100における手続であるローカル手続(local procedure)を実行するプロセス(S210)、及びサーバ200をもってシステムコールに対応されるサーバ200における手続である遠隔手続(remote procedure)を実行するように支援するプロセス(S220)のうち少なくとも一つを遂行することを特徴とし得る。ここでローカル手続とはファイル管理装置100で遂行される手続であって、ローカル(ファイル管理装置)にファイルを保存、削除するなどの処理をする手続を意味し、遠隔手続とはファイル管理装置100と連動されるサーバ200で当該ファイルを保存、削除するなどの処理をすることで同期化する手続を意味する。場合によってはファイル管理装置100のみでファイル保存、削除などが行なわれ得るか、サーバ200のみでファイル保存、削除などが行なわれ得る場合もある。
次に、図4は図2に示した段階(S200)を具体化した第1例示のフローチャートである。
図4を参照すれば、ファイル管理装置100が、感知されたシステムコール及びシステムコールのパラメータを参照にして、予め定められたファイル管理ポリシーに基づいて段階(S200)を遂行する方式を具体化した第1例示が示されているが、段階(S200)は、ファイル管理装置100が、感知されたシステムコールのパラメータのうち少なくとも一部をファイル管理ポリシーに従って変更する段階(S210a);及びファイル管理装置100が、変更されたパラメータを参照にして、システムコールに対応される手続を実行するプロセス(S221a)、及び感知されたシステムコール、システムコールの変更される前のパラメータ、及び変更されたパラメータのうち少なくとも一つを参照にして、サーバ200をもって予め定められたファイル管理ポリシーに従ってシステムコールに対応される手続を実行するように支援するプロセス(S222a)のうち少なくとも一つを遂行する段階(S220a)が含まれ得る。
前で言及されたファイルの生成に関する例を挙げると、この第1例示ではNtCreateFile()がシステムコールに対応される手続に該当され得るところ、段階(S210a)でそのシステムコールのパラメータをファイル管理ポリシーに従って変更する。その次の段階(S220a)でプロセス(S221a)が遂行される場合には、その変更されたパラメータでNtCreateFile()を呼び出すことでファイル管理装置にファイルが生成され得ることがあり、プロセス(S222a)が遂行される場合には、サーバ200をもって予め定められたファイル管理ポリシーに従ってファイルを生成するためにNtCreateFile()と同一の手続や類似する機能をする手続を実行させ得る。
次に、図5は図2に示した段階(S200)を具体化した他の一実施例のフローチャートである。
図5を参照すれば、ファイル管理装置100が、段階(S200)を遂行する方式を具体化した第2例示が示されているが、段階(S200)は、システムコールのパラメータを変更せずに、ファイル管理装置100が、システムコールに対応されるように予め定義された手続(procedure)を実行する段階(S20b);及びファイル管理装置100が、(i)ファイルに予め定められたファイル管理ポリシーを適用するプロセス(S221b)、及び(ii)感知されたシステムコール、システムコールのパラメータのうち少なくとも一つを参照にして、サーバ200をもって予め定められたファイル管理ポリシーに従ってシステムコールに対応される手続を実行するように支援するプロセス(S222b)のうち少なくとも一つを遂行する段階(S220b)が含まれ得る。
前で言及されたファイルの生成に関する例を挙げると、この第2例示ではNtCreateFile()がシステムコールに対応される手続に該当され得るところ、段階(S210b)ではシステムコールのパラメータを変更せずに元々そのままのパラメータでNtCreateFile()を呼び出すことでファイル管理装置100にファイルを生成する。その後、NtCreateFile()及びそのパラメータを参照にして前で生成されたファイルを変更する手続を遂行してファイル管理ポリシーを適用するプロセス(S221b)が遂行されるか、サーバ200をもって予め定められたファイル管理ポリシーに従ってファイルを生成するためにNtCreateFile()と同一の手続や類似する機能をする手続を実行させ得る。
前で言及された例示ではファイルの生成に対するアクセスを取り上げたが、本発明の技術分野における通常の技術者はファイルの生成だけではなくファイルの修正、削除、移動などのような他の種類のファイルアクセスにも本発明が適用されることを理解することができる。
前で図3を参照にして言及された本発明に係る同期化を具現するための一例示で、ファイル管理ポリシーはファイル管理装置100からサーバ200へのファイル伝送ポリシーをさらに含むことがあり、段階(S210)は、ファイルに対するアクセスが所定のアクセス条件を満たすことが感知されると、ファイル管理装置100が、ローカルファイル名ポリシー及び所定のアクセス条件に対して定められたファイル伝送ポリシーに基づいて、(i)ファイル管理装置100における手続であるローカル手続を実行するプロセス(S211)、及び(ii)サーバ200をもってシステムコールに対応されるサーバ200における手続である遠隔手続を実行するように支援するプロセス(S212)のうち少なくとも一つを遂行することを特徴とし得る。
係る所定のアクセス条件はファイルに対するアクセスが特定経路にファイルを生成、コピーまたは移動させるアクセスに該当すると満たされることもある。例えば、ユーザが所属された特定部署のためにファイル管理装置100に用意された第1特定フォルダ(経路)に対して定められたファイル伝送ポリシーがサーバ200の第2特定フォルダにも同一のファイルを保存させるポリシーであることと定められた場合に、ユーザがファイルを前記第1特定フォルダに保存しようとすれば、そのファイルがファイル管理装置100の第1特定フォルダにも保存され、サーバ200の第2特定フォルダにも保存されるようにする。
また、所定のアクセス条件はファイルに対するアクセスが特定経路にファイルを生成、コピーまたは移動させるアクセスに該当し、ファイルが特定ファイル類型に該当すると満たされることもあり、ファイルに対するアクセスが特定プログラムによって発生し、ファイルが特定ファイル類型に該当すると満たされることもある。後者の場合、例えば”MS Word”によって発生されたファイル類型”.doc”に該当されるファイルアクセスに対してファイル伝送ポリシーが決められることもある。
ファイル伝送ポリシーは所定の条件が満たされる場合にサーバ200に伝送される情報を暗号化することで保安を強化する暗号化ポリシーを含むこともある。
また、係るファイル伝送ポリシーはファイル伝送モードを含むこともあるが、ファイル伝送モードは、ファイル管理装置100にファイルが生成または修正される時にサーバ200でも同一のファイルが生成されるか、ファイルが同一に修正されるようにするモードであるコピー方式、ファイル管理装置100にトレースを残さずにサーバ200にファイルが生成されるか、ファイルが同一に修正されるようにするモードであるトレースレス方式、及びサーバ200のみにファイルが生成されるか、ファイルが同一に修正されてファイル管理装置100にはサーバ200に保存されたファイルを参照するための保存位置のみが記録されるモードであるトレース方式などが含まれ得る。
具体的に、ファイル伝送ポリシーのうちファイル伝送モードがコピー方式に該当される一実施例で、段階(S200)はプロセス(S210)及びプロセス(S220)の二つの全てが遂行されることがあり、プロセス(S210)はシステムコールに対応されるファイル管理装置における手続を遂行することを特徴とし、プロセス(S220)はシステムコール、システムコールの変更される前のパラメータ、ファイルの記録される属性、ファイル管理ポリシーのうち少なくとも一部の情報をサーバに伝送してサーバをもってシステムコールに対応されるサーバにおける手続である遠隔手続を実行するように支援することを特徴とし得る。
次に、ファイル伝送ポリシーのうちファイル伝送モードがトレースレス方式に該当される一実施例で、段階(S200)はプロセス(S210)が遂行され、プロセス(S210)の結果を参照にしてプロセス(S220)が遂行されることを特徴とするが、プロセス(S210)は、システムコールに対応されるファイル管理装置における手続を遂行せずに、システムコール、システムコールの変更される前のパラメータ、ファイルの記録される属性、ファイル管理ポリシーのうち少なくとも一部の情報をサーバに伝送してサーバをもってシステムコールに対応されるサーバにおける手続である遠隔手続を実行するように支援することを特徴とし、プロセス(S220)は、サーバから遠隔手続の実行の結果を獲得してシステムコールに対する結果値(return value)として戻してフォルダの仮想化を遂行することを特徴とし得る。
ここで遠隔手続の実行の結果を獲得してシステムコールに対する結果値として戻すことでフォルダの仮想化を遂行する部分は、一例示として下記の表3に表示されたNativeAPI関数を参照にしてさらに詳細に説明されるが、このNativeAPI関数はファイルの読み込みに関連する。
Figure 2019511796
ウィンドウズシステムでファイルを読み込む方式は、主にNtOpenFile()を介して既に存在するファイルを開いてファイルハンドル(file handle)を得て、そのファイルハンドルをZwReadFile()のパラメータとして利用してそのファイルの内容を読み込む方式であるところ、係るファイルハンドリングはオペレーティングシステムの種類によってあまり異ならない。上記表3で”_Out_PHANDLE FileHandle”と表示された部分はNtOpenFile()の結果値であって、ファイルハンドルであるFileHandleが獲得されるという意味であり、”_Out_PVOID Buffer”と表示された部分はZwReadFile()の結果値であって、ファイルの内容が読み込まれて保存されたメモリのアドレスを示すポインタが獲得されるという意味である。これはファイルの内容が読み込まれて保存されているメモリのアドレスを参照し得るようになるものなので、プログラムはシステムコールの結果値として戻されたポインタをもってファイルの内容を扱われるようになる。
このトレースレス方式に該当される一実施例によれば、ローカル(ファイル管理装置)におけるNtOpenFile()、ZwReadFile()などを遂行せずに、サーバ200のみで当該手続が遂行され、その結果値をファイル管理装置100に戻し、ファイル管理装置100はその結果値をNtOpenFile()、ZwReadFile()それぞれに対するシステムコールの結果値として戻すことでファイル管理装置100が係る手続を直接遂行したように見せるようにする。このようにフォルダがファイル管理装置100にあたかも存在するように見えるようにする方式をフォルダの”仮想化”と指称する。
次に、ファイル伝送ポリシーのうちファイル伝送モードがトレース方式に該当される一実施例で、段階(S200)はプロセス(S210)が遂行され、プロセス(S210)の結果を参照にしてプロセス(S220)が遂行されることを特徴とするが、プロセス(S210)は、システムコールに対応されるファイル管理装置における手続を遂行せずに、システムコール、システムコールの変更される前のパラメータ、ファイルの記録される属性、ファイル管理ポリシーのうち少なくとも一部の情報をサーバ200に伝送してサーバ200をもってシステムコールに対応されるサーバにおける手続である遠隔手続を実行するように支援することを特徴とすることがあり、プロセス(S220)は、サーバ200から遠隔手続の実行の結果を獲得してシステムコールに対する結果値として戻すプロセス(S221)及びアクセスがファイルを生成、コピーまたは移動させるアクセスに該当すると、前のプロセス(S210)でサーバに保存されたファイルを追ってファイル管理装置が参照するための保存位置を記録するプロセス(S222)が含まれ得る。
トレースレス方式に比べて、トレース方式は保存位置を記録するプロセス(S222)をさらに含んでいるが、係る保存位置は例えばURLとして表された保存位置の場合があり、その場合には追ってサーバ200にある当該ファイルにアクセスするためにファイル管理装置100がURLとして表された保存位置を参照し得る。例えば、そのURLに対応されるファイルをサーバ200から取り出してくるアクセスする方法を遂行する場合にサーバ200と連動するファイル管理装置100は前記URLとして表された保存位置を参照にして、サーバ200をもってサーバ200に保存されているファイルを読み込むようにして、ファイル管理装置100がその読み込まれたデータを獲得し、ファイル管理装置100で実行されているプログラムがそのデータを利用するようにし得る。
次に、図6は本発明に係るファイル管理方法をウィンドウズのオペレーティングシステム上で装置ドライバとして具現した一例示を示した概念図である。
ウィンドウズのオペレーティングシステムは一つの装置をいくつかの装置で区切りして認識し得る。この時、いくつかの装置はそれら同士が上下位関係を維持する形でスタックを形成するが、これを装置スタック(device stack)と指称する。ウィンドウズで装置スタックは少なくとも2個の階層を有するように設計されるが、”物理層”と”機能層”を基本とする。その理由は全ての装置はCPUに引き合わされるために、必ずバス(bus)に連結されなければならないから、装置自体が動作するために、まずバスから当該装置が動作するように許容する過程を遂行する階層が物理層であり、装置自体に対するプログラミング過程を遂行する階層が機能層である。
図6の概念図にはファイル管理装置100内でCPUから下位につながる装置構造が例示的に示されているところ、CPUの下位にACPI(メインボード)があり、その下位にPCIバスがつながっており、PCIバスにはファイル管理者とネットワーク管理者が連結されているが、ファイル管理者から物理的ストレージ、例えば物理HDDに連結される装置スタック間にEdoofile.sysのような装置ドライバを挿入することで、そのドライバEdoofile.sysが、ファイル管理ポリシーに基づいて、ファイル管理装置100における手続であるローカル手続(local procedure)を実行するプロセス(S210)を実行するようにし、ネットワーク管理者から通信部110、例えばNIC装備に連結される装置スタック間にEdoonetworks.sysのような装置ドライバを挿入することで、通信部110を介してサーバ200をもってシステムコールに対応されるサーバ200における手続である遠隔手続(remote procedure)を実行するように支援するプロセス(S220)を実行するようにし得る。ここで本発明の方法を実施するためにドライバEdoofile.sysとドライバEdoonetworks.sys間で情報をやり取りする連係作用はその二つのドライバとの間を連結するエージェント(agent)、例えばEdoo agentによってなされ得る。例えば、前記二つのドライバとの間でやり取りする情報、即ち共有情報は前記感知されたシステムコール、前記システムコールのパラメータ、前記ファイル管理ポリシーが含まれ得るがこれに限定されないところ、その共有情報にはそれぞれのプロセス(S210、S220)が適切に遂行されるために必要な情報、例えばタイミング情報も含まれ得る。
本発明の前述した全ての実施例にかけて、ファイルの内容及びユーザの権限によってファイル名及び保存場所をユーザ集団内で統一して自動で設定し、ファイル名を定められた規則に従って設定及び適用することがあり、ファイル管理装置100におけるファイルアクセス結果をサーバ200にも反映して同期化することができる効果がある。
前記実施例としてここで説明された技術の利点は、ユーザ集団内でファイルの管理を効率的且つ容易に行なうことができ、ユーザ集団内で生成されたファイルと同一の内容のファイルをクラウド環境のサーバにも容易に保管することでファイルの管理を統合的に遂行することができるという点である。
上記実施例の説明に基づいて当該技術分野における通常の技術者は、本発明がソフトウェア及びハードウェアの結合を通じて達成されるか、ハードウェアのみで達成され得るという点を明確に理解することができる。
本発明の技術的解法の対象物または先行技術に寄与する部分は多様なコンピュータ構成要素を介して遂行され得るプログラム命令語の形態で具現されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで判読可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独または組み合わせて含まれ得る。前記コンピュータで判読可能な記録媒体に記録されるプログラム命令語は本発明のために特別に設計されて構成されたものか、コンピュータソフトウェア分野における通常の技術者に公知となって使用可能なものでもあり得る。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピィディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気−光媒体(magneto−optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を保存して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラーによって作られるものと同様の機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールとして作動されるように構成されることがあり、その逆も同様である。前記ハードウェア装置は、プログラム命令語を保存するためのROM/RAMなどのようなメモリと結合され、前記メモリに保存された命令語を実行するように構成されるCPUやGPUのようなプロセッサが含まれることがあり、外部装置と信号をやり取りし得る通信部が含まれ得る。併せて、前記ハードウェア装置は開発者によって作成された命令語を伝達されるためのキーボード、マウス、その他の外部入力装置が含まれ得る。
以上、本発明が具体的な構成要素のような特定の事項と限定された実施例及び図面によって説明されたがこれは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限定されるものではなく、本発明が属する技術分野で通常の知識を有する者であれば、係る記載から多様な修正及び変形が行なわれ得る。
特に、本明細書でオペレーティングシステムに利用される概念に関してマイクロソフト社のウィンドウズのオペレーティングシステムを例示として説明したが、当該技術分野における通常の技術者は本発明におけるユーザモード、カーネルモード、及びシステムコールなどの概念がそのウィンドウズのオペレーティングシステムに限定されないという点、及びウィンドウズのオペレーティングシステムのみに本発明が適用されるものではないという点が充分に理解される。例えば、本発明が適用され得るオペレーティングシステムにはダーウイン(Darwin)、RTXC、リナックス(登録商標)(Linux(登録商標))、ユニックス(UNIX(登録商標))、オーエスエックス(OS X(登録商標))、及びVxWorksのようなエンベデッドオペレーティングシステムも含まれることがある。
従って、本発明の思想は前記説明された実施例に極限されて決定されてはならず、後述する特許請求の範囲だけではなく、この特許請求の範囲と均等または等価的に変形された全てのものは本発明の思想の範疇に属するものである。
100…ファイル管理装置、110…通信部、120…プロセッサ、200…サーバ。

Claims (36)

  1. ファイル管理方法であって、
    (a)ファイル管理装置が、前記ファイル管理装置で実行されるプログラムからファイルに対するアクセスの要求に対応されるシステムコール(system call)を感知する段階;及び
    (b)前記感知されたシステムコール及び前記システムコールのパラメータを参照にして、前記ファイル管理装置が、予め定められたファイル管理ポリシーに基づいて、前記システムコールに対応される手続を実行するプロセス、及び前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行する段階;
    を含み、
    前記ファイル管理ポリシーは、
    前記ファイルの属性に基づいて前記ファイル管理装置が前記感知されたシステムコールのパラメータのうちファイルが保存されているか保存される予定の名前であるファイル名、及び前記ファイルが保存されているか保存される予定の経路(path)の値のうち少なくとも一つを決定するためのローカルファイル名ポリシーを含み、
    前記ファイルの属性は、
    生成日時、修正日時、ファイル類型、ファイル題目、所有者、生成者、アクセス権限、出所情報、バージョン情報、状況情報、キーワード及び副題のうち少なくとも一つを含む方法。
  2. 前記(b)段階は、
    前記感知されたシステムコール及び前記システムコールのパラメータを参照にして、前記ファイル管理装置が、前記ファイル管理ポリシーに基づいて、(b1)前記ファイル管理装置における手続であるローカル手続(local procedure)を実行するプロセス、及び(b2)サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続(remote procedure)を実行するように支援するプロセスのうち少なくとも一つを遂行することを特徴とする請求項1に記載の方法。
  3. 前記(b)段階は、
    (ba1)前記ファイル管理装置が、前記感知されたシステムコールのパラメータのうち少なくとも一部を前記ファイル管理ポリシーに従って変更する段階;及び
    (ba2)前記ファイル管理装置が、(i)前記変更されたパラメータを参照にして、前記システムコールに対応される手続を実行するプロセス、及び(ii)前記感知されたシステムコール、前記システムコールの変更される前のパラメータ、及び前記変更されたパラメータのうち少なくとも一つを参照にして、サーバをもって前記予め定められたファイル管理ポリシーに従って前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行する段階;
    を含むことを特徴とする請求項1に記載の方法。
  4. 前記(b)段階は、
    (bb1)前記システムコールのパラメータを変更せずに、前記ファイル管理装置が、前記システムコールに対応されるように予め定義された手続(procedure)を実行する段階;及び
    (bb2)前記ファイル管理装置が、(i)前記ファイルに前記予め定められたファイル管理ポリシーを適用するプロセス、及び(ii)前記感知されたシステムコール、前記システムコールのパラメータのうち少なくとも一つを参照にして、サーバをもって前記予め定められたファイル管理ポリシーに従って前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行する段階;
    を含むことを特徴とする請求項1に記載の方法。
  5. 前記ファイル管理ポリシーは前記ファイル管理装置から前記サーバへのファイル伝送ポリシーをさらに含み、
    前記(b)段階は、
    前記ファイルに対するアクセスが所定のアクセス条件を満たすことが感知されると、前記ファイル管理装置が、前記ローカルファイル名ポリシー及び前記所定のアクセス条件に対して定められた前記ファイル伝送ポリシーに基づいて、(i)前記ファイル管理装置における手続であるローカル手続を実行するプロセス、及び(ii)前記サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続を実行するように支援するプロセスのうち少なくとも一つを遂行することを特徴とする請求項2に記載の方法。
  6. 前記所定のアクセス条件は前記ファイルに対するアクセスが特定経路に前記ファイルを生成、コピーまたは移動させるアクセスに該当すると満たされる条件であることを特徴とする請求項5に記載の方法。
  7. 前記所定のアクセス条件は前記ファイルに対するアクセスが特定経路に前記ファイルを生成、コピーまたは移動させるアクセスに該当し、前記ファイルが特定ファイル類型に該当すると満たされる条件であることを特徴とする請求項5に記載の方法。
  8. 前記所定のアクセス条件は前記ファイルに対するアクセスが特定プログラムによって発生し、前記ファイルが特定ファイル類型に該当すると満たされる条件であることを特徴とする請求項5に記載の方法。
  9. 前記ファイル伝送ポリシーのうちファイル伝送モードがコピー方式に該当すると、
    前記(b)段階は前記(b1)プロセス及び前記(b2)プロセスの二つの全てが遂行されることを特徴とするが、
    前記(b1)プロセスは、
    前記システムコールに対応される前記ファイル管理装置における手続を遂行することを特徴とし、
    前記(b2)プロセスは、
    前記システムコール、前記システムコールの変更される前のパラメータ、前記ファイルの記録される属性、前記ファイル管理ポリシーのうち少なくとも一部の情報を前記サーバに伝送して前記サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続を実行するように支援することを特徴とする請求項2に記載の方法。
  10. 前記ファイル伝送ポリシーのうちファイル伝送モードがトレースレス方式に該当すると、
    前記(b)段階は前記(b2)プロセスが遂行され、前記(b2)プロセスの結果を参照にして前記(b1)プロセスが遂行されることを特徴とするが、
    前記(b2)プロセスは、
    前記システムコールに対応される前記ファイル管理装置における手続を遂行せずに、前記システムコール、前記システムコールの変更される前のパラメータ、前記ファイルの記録される属性、前記ファイル管理ポリシーのうち少なくとも一部の情報を前記サーバに伝送して前記サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続を実行するように支援することを特徴とし、
    前記(b1)プロセスは、
    前記サーバから前記遠隔手続の実行の結果を獲得して前記システムコールに対する結果値(return value)として戻してフォルダの仮想化を遂行することを特徴とする請求項2に記載の方法。
  11. 前記ファイル伝送ポリシーのうちファイル伝送モードがトレース方式に該当すると、
    前記(b)段階は前記(b2)プロセスが遂行され、前記(b2)プロセスの結果を参照にして前記(b1)プロセスが遂行されることを特徴とするが、
    前記(b2)プロセスは、
    前記システムコールに対応される前記ファイル管理装置における手続を遂行せずに、前記システムコール、前記システムコールの変更される前のパラメータ、前記ファイルの記録される属性、前記ファイル管理ポリシーのうち少なくとも一部の情報を前記サーバに伝送して前記サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続を実行するように支援することを特徴とし、
    前記(b1)プロセスは、
    前記サーバから前記遠隔手続の実行の結果を獲得して前記システムコールに対する結果値(return value)として戻すプロセス及び前記アクセスが前記ファイルを生成、コピーまたは移動させるアクセスに該当すると、前記(b2)プロセスで前記サーバに保存されたファイルを追って前記ファイル管理装置が参照するための保存位置を記録するプロセスを含むことを特徴とする請求項2に記載の方法。
  12. 前記ファイルのファイル題目、副題、ファイル類型、生成日時及び生成者のうち少なくとも一つが前記感知されたシステムコール及び前記システムコールのパラメータを参照にして前記ファイル管理装置によって設定され、
    前記ファイルのバージョン情報が前記ファイルの生成者及び前記ファイルに対するアクセスの要求を発生させた者である前記ファイルのユーザに関する情報を参照にして前記ファイル管理装置によって設定され、
    前記キーワードが前記ファイルの保存される内容に基づいて前記ファイル管理装置によって設定されることを特徴とする請求項1に記載の方法。
  13. 前記ローカルファイル名ポリシーは、
    前記ファイルのファイル名がそれぞれ既設定された区切り文字で区切りされ、既設定された順序で配列される項目である生成日時、修正日時、ファイル類型、ファイル名、所有者、生成者、アクセス権限、出所情報、バージョン情報、状況情報、キーワード及び副題のうち少なくとも一つの項目で構成される文字列であり、前記文字列を構成する項目のそれぞれに前記区切り文字が含まれないように指定することを特徴とする請求項1に記載の方法。
  14. 前記(b)段階は、
    前記ファイルに対するアクセスが前記ファイルの生成、コピーまたは移動に該当し、前記ファイルのファイル名が前記ローカルファイル名ポリシーに符合しなければ、前記ファイル管理装置が、前記ローカルファイル名ポリシーに符合する前記ファイルの新たなファイル名を生成し、前記ファイルが前記ファイル管理装置で前記新たなファイル名で記録されるように前記システムコールに対応される手続を実行するプロセス、及び前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行することを特徴とする請求項1に記載の方法。
  15. 前記ファイル管理方法はマイクロソフトウィンドウズ(Microsoft(登録商標) Windows(登録商標))のオペレーティングシステム上で遂行され、
    前記(b1)プロセスは、
    前記オペレーティングシステムのファイル管理者とストレージ装置ドライバを含む装置スタックにおいて、前記ファイル管理者と前記ストレージ装置ドライバとの間に挿入される第1装置ドライバによって遂行され、
    前記(b2)プロセスは、
    前記オペレーティングシステムのネットワーク管理者と通信部装置ドライバを含む装置スタックにおいて、前記ネットワーク管理者と前記通信部装置ドライバとの間に挿入される第2装置ドライバによって遂行されることを特徴とする請求項2に記載の方法。
  16. 所定のエージェントが前記第1装置ドライバ及び前記第2装置ドライバとの間の通信を支援することを特徴とする請求項15に記載の方法。
  17. 前記所定のエージェントが、前記システムコールに対応される前記サーバにおける手続に関する情報を前記第2装置ドライバに伝達することを特徴とする請求項16に記載の方法。
  18. 前記所定のエージェントが、前記システムコールに対応される前記サーバにおける手続の遂行結果に関する情報を前記第1装置ドライバに伝達することを特徴とする請求項17に記載の方法。
  19. ファイル管理装置であって、
    通信部及びプロセッサを含み、
    前記プロセッサは、
    (i)前記ファイル管理装置で実行されるプログラムからファイルに対するアクセスの要求に対応されるシステムコール(system call)を感知して、
    (ii)前記感知されたシステムコール及び前記システムコールのパラメータを参照にして、予め定められたファイル管理ポリシーに基づいて、前記システムコールに対応される手続を実行するプロセス、及び前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行し、
    前記ファイル管理ポリシーは、
    前記ファイルの属性に基づいて前記ファイル管理装置が前記感知されたシステムコールのパラメータのうちファイルが保存されているか保存される予定の名前であるファイル名、及び前記ファイルが保存されているか保存される予定の経路(path)の値のうち少なくとも一つを決定するためのローカルファイル名ポリシーを含み、
    前記ファイルの属性は、
    生成日時、修正日時、ファイル類型、ファイル題目、所有者、生成者、アクセス権限、出所情報、バージョン情報、状況情報、キーワード及び副題のうち少なくとも一つを含む装置。
  20. 前記プロセッサは、
    前記感知されたシステムコール及び前記システムコールのパラメータを参照にして、前記ファイル管理ポリシーに基づいて、(ii−1)前記ファイル管理装置における手続であるローカル手続(local procedure)を実行するプロセス、及び(ii−2)サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続(remote procedure)を実行するように支援するプロセスのうち少なくとも一つを遂行することを特徴とする請求項19に記載の装置。
  21. 前記プロセッサは、
    前記感知されたシステムコールのパラメータのうち少なくとも一部を前記ファイル管理ポリシーに従って変更し、
    前記変更されたパラメータを参照にして、前記システムコールに対応される手続を実行するプロセス、及び前記感知されたシステムコール、前記システムコールの変更される前のパラメータ、及び前記変更されたパラメータのうち少なくとも一つを参照にして、サーバをもって前記予め定められたファイル管理ポリシーに従って前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行することを特徴とする請求項19に記載の装置。
  22. 前記プロセッサは、
    前記システムコールのパラメータを変更せずに、前記システムコールに対応されるように予め定義された手続(procedure)を実行し、
    前記ファイルに前記予め定められたファイル管理ポリシーを適用するプロセス、及び前記感知されたシステムコール、前記システムコールのパラメータのうち少なくとも一つを参照にして、サーバをもって前記予め定められたファイル管理ポリシーに従って前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行することを特徴とする請求項19に記載の装置。
  23. 前記ファイル管理ポリシーは前記ファイル管理装置から前記サーバへのファイル伝送ポリシーをさらに含み、
    前記プロセッサは、
    前記ファイルに対するアクセスが所定のアクセス条件を満たすことが感知されると、前記ローカルファイル名ポリシー及び前記所定のアクセス条件に対して定められた前記ファイル伝送ポリシーに基づいて、前記ファイル管理装置における手続であるローカル手続を実行するプロセス、及び前記サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続を実行するように支援するプロセスのうち少なくとも一つを遂行することを特徴とする請求項20に記載の装置。
  24. 前記所定のアクセス条件は前記ファイルに対するアクセスが特定経路に前記ファイルを生成、コピーまたは移動させるアクセスに該当すると満たされる条件であることを特徴とする請求項23に記載の装置。
  25. 前記所定のアクセス条件は前記ファイルに対するアクセスが特定経路に前記ファイルを生成、コピーまたは移動させるアクセスに該当し、前記ファイルが特定ファイル類型に該当すると満たされる条件であることを特徴とする請求項23に記載の装置。
  26. 前記所定のアクセス条件は前記ファイルに対するアクセスが特定プログラムによって発生し、前記ファイルが特定ファイル類型に該当すると満たされる条件であることを特徴とする請求項23に記載の装置。
  27. 前記プロセッサは、
    前記ファイル伝送ポリシーのうちファイル伝送モードがコピー方式に該当すると、前記(ii−1)プロセス及び前記(ii−2)プロセスの二つの全てを遂行することを特徴とするが、
    前記(ii−1)プロセスは、
    前記システムコールに対応される前記ファイル管理装置における手続を遂行することを特徴とし、
    前記(ii−2)プロセスは、
    前記システムコール、前記システムコールの変更される前のパラメータ、前記ファイルの記録される属性、前記ファイル管理ポリシーのうち少なくとも一部の情報を前記サーバに伝送して前記サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続を実行するように支援することを特徴とする請求項20に記載の装置。
  28. 前記プロセッサは、
    前記ファイル伝送ポリシーのうちファイル伝送モードがトレースレス方式に該当すると、
    前記(ii−2)プロセスを遂行し、前記(ii−2)プロセスの結果を参照にして前記(ii−1)プロセスを遂行することを特徴とするが、
    前記(ii−2)プロセスは、
    前記システムコールに対応される前記ファイル管理装置における手続を遂行せずに、前記システムコール、前記システムコールの変更される前のパラメータ、前記ファイルの記録される属性、前記ファイル管理ポリシーのうち少なくとも一部の情報を前記サーバに伝送して前記サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続を実行するように支援することを特徴とし、
    前記(ii−1)プロセスは、
    前記サーバから前記遠隔手続の実行の結果を獲得して前記システムコールに対する結果値(return value)として戻してフォルダの仮想化を遂行することを特徴とする請求項20に記載の装置。
  29. 前記プロセッサは、
    前記ファイル伝送ポリシーのうちファイル伝送モードがトレース方式に該当すると、
    前記(ii−2)プロセスを遂行し、前記(ii−2)プロセスの結果を参照にして前記(ii−1)プロセスを遂行することを特徴とするが、
    前記(ii−2)プロセスは、
    前記システムコールに対応される前記ファイル管理装置における手続を遂行せずに、前記システムコール、前記システムコールの変更される前のパラメータ、前記ファイルの記録される属性、前記ファイル管理ポリシーのうち少なくとも一部の情報を前記サーバに伝送して前記サーバをもって前記システムコールに対応される前記サーバにおける手続である遠隔手続を実行するように支援することを特徴とし、
    前記(ii−1)プロセスは、
    前記サーバから前記遠隔手続の実行の結果を獲得して前記システムコールに対する結果値(return value)として戻すプロセス及び
    前記アクセスが前記ファイルを生成、コピーまたは移動させるアクセスに該当すると、前記(ii−2)プロセスで前記サーバに保存されたファイルを追って前記ファイル管理装置が参照するための保存位置を記録するプロセスを含むことを特徴とする請求項20に記載の装置。
  30. 前記プロセッサは、
    前記ファイルのファイル題目、副題、ファイル類型、生成日時及び生成者のうち少なくとも一つを、前記感知されたシステムコール及び前記システムコールのパラメータを参照にして設定し、
    前記ファイルのバージョン情報を、前記ファイルの生成者及び前記ファイルに対するアクセスの要求を発生させた者である前記ファイルのユーザに関する情報を参照にして設定し、
    前記キーワードを前記ファイルの保存される内容に基づいて設定することを特徴とする請求項19に記載の装置。
  31. 前記ローカルファイル名ポリシーは、
    前記ファイルのファイル名がそれぞれ既設定された区切り文字で区切りされ、既設定された順序で配列される項目である生成日時、修正日時、ファイル類型、ファイル名、所有者、生成者、アクセス権限、出所情報、バージョン情報、状況情報、キーワード及び副題のうち少なくとも一つの項目で構成される文字列であり、前記文字列を構成する項目のそれぞれに前記区切り文字が含まれないように指定することを特徴とする請求項19に記載の装置。
  32. 前記プロセッサは、
    前記ファイルに対するアクセスが前記ファイルの生成、コピーまたは移動に該当し、前記ファイルのファイル名が前記ローカルファイル名ポリシーに符合しなければ、前記ローカルファイル名ポリシーに符合する前記ファイルの新たなファイル名を生成し、前記ファイルが前記ファイル管理装置で前記新たなファイル名で記録されるように前記システムコールに対応される手続を実行するプロセス、及び前記システムコールに対応される手続を実行するように支援するプロセスのうち少なくとも一つを遂行することを特徴とする請求項19に記載の装置。
  33. 前記ファイル管理装置はマイクロソフトウィンドウズ(Microsoft(登録商標) Windows(登録商標))のオペレーティングシステム上で作動し、
    前記プロセッサは、
    前記オペレーティングシステムのファイル管理者とストレージ装置ドライバを含む装置スタックにおいて、前記ファイル管理者と前記ストレージ装置ドライバとの間に挿入される第1装置ドライバとして前記(ii−1)プロセスを遂行し、
    前記オペレーティングシステムのネットワーク管理者と通信部装置ドライバを含む装置スタックにおいて、前記ネットワーク管理者と前記通信部装置ドライバとの間に挿入される第2装置ドライバとして前記(ii−2)プロセスを遂行することを特徴とする請求項20に記載の装置。
  34. 前記プロセッサは、
    所定のエージェントとして前記第1装置ドライバ及び前記第2装置ドライバとの間の通信を支援することを特徴とする請求項33に記載の装置。
  35. 前記プロセッサは、
    前記システムコールに対応される前記サーバにおける手続に関する情報を前記所定のエージェントとして前記第2装置ドライバに伝達することを特徴とする請求項34に記載の装置。
  36. 前記プロセッサは、
    前記システムコールに対応される前記サーバにおける手続の遂行結果に関する情報を前記所定のエージェントとして前記第1装置ドライバに伝達することを特徴とする請求項35に記載の装置。
JP2018558266A 2016-06-10 2017-06-09 ファイル管理方法及びこれを利用したファイル管理装置{method for managing files and apparatus using the same} Active JP6654255B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2016-0072754 2016-06-10
KR1020160072754A KR101806499B1 (ko) 2016-06-10 2016-06-10 파일 관리 방법 및 이를 이용한 파일 관리 장치
PCT/KR2017/006051 WO2017213473A1 (en) 2016-06-10 2017-06-09 Method for managing files and apparatus using the same

Publications (2)

Publication Number Publication Date
JP2019511796A true JP2019511796A (ja) 2019-04-25
JP6654255B2 JP6654255B2 (ja) 2020-02-26

Family

ID=60578038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018558266A Active JP6654255B2 (ja) 2016-06-10 2017-06-09 ファイル管理方法及びこれを利用したファイル管理装置{method for managing files and apparatus using the same}

Country Status (4)

Country Link
US (1) US10417179B2 (ja)
JP (1) JP6654255B2 (ja)
KR (1) KR101806499B1 (ja)
WO (1) WO2017213473A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110021291B (zh) * 2018-12-26 2021-01-29 创新先进技术有限公司 一种语音合成文件的调用方法及装置
CN109889588B (zh) * 2019-02-13 2021-10-29 中国银行股份有限公司 文件获取方法、装置、计算机设备和存储介质
CN110008175A (zh) * 2019-04-11 2019-07-12 苏州浪潮智能科技有限公司 一种分布式对象存储快照方法、系统、设备及计算机介质
CN111045984B (zh) * 2019-11-27 2023-09-15 云南电网有限责任公司电力科学研究院 一种电网实验室文件管理系统及方法
CN112181481A (zh) * 2020-09-29 2021-01-05 北京达佳互联信息技术有限公司 版本管理系统的权限更新方法和装置
KR20230043431A (ko) * 2021-09-24 2023-03-31 주식회사 신화소프트랩 문서의 속성을 표시하는 문서 코드 생성 방법, 이 방법을 수행하는 프로그램 및 이 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR102463120B1 (ko) * 2022-01-16 2022-11-08 이태영 문서 다운로드시 사용자 맞춤형 파일명 생성 기능을 제공하는 특허 문서 검색 서버 및 이를 이용한 특허 문서 검색 방법
CN116701304B (zh) * 2023-07-06 2023-11-03 北京应天海乐科技发展有限公司 用于自助设备的文件管理方法、装置、设备及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2027934C (en) * 1989-12-22 1994-06-21 Cherie C. Barnes Accelerated deadlock detection in congested data transactions
US9361243B2 (en) * 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US6766314B2 (en) * 2001-04-05 2004-07-20 International Business Machines Corporation Method for attachment and recognition of external authorization policy on file system resources
FI116547B (fi) 2003-09-04 2005-12-15 Nokia Corp Menetelmä ja laitteisto matkaviestimeen tallennettavien kuvien nimeämiseksi
JP4491273B2 (ja) * 2004-05-10 2010-06-30 株式会社日立製作所 ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法
US7685589B2 (en) * 2004-10-14 2010-03-23 Microsoft Corporation File loading synchronization
US20080077633A1 (en) * 2006-09-25 2008-03-27 International Business Machines Corporation Method for policy-based data placement when restoring files from off-line storage
US7822728B1 (en) * 2006-11-08 2010-10-26 Emc Corporation Metadata pipelining and optimization in a file server
US7974950B2 (en) * 2007-06-05 2011-07-05 International Business Machines Corporation Applying a policy criteria to files in a backup image
US20100306175A1 (en) * 2009-01-28 2010-12-02 Digitiliti, Inc. File policy enforcement
JP4538838B1 (ja) 2009-08-18 2010-09-08 システムインテリジェント株式会社 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
JP2012190311A (ja) 2011-03-11 2012-10-04 Kenji Furusato ファイル管理装置、ファイル管理方法及びプログラム
KR20120116295A (ko) * 2011-04-12 2012-10-22 (주)나무소프트 문서 명칭 관리 장치 및 방법
RU2526282C2 (ru) * 2012-09-21 2014-08-20 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов
KR101709117B1 (ko) * 2012-12-14 2017-02-23 한국전자통신연구원 그래픽 분할 실행을 위한 가상화 방법 및 그 장치
KR102058635B1 (ko) 2012-12-24 2019-12-24 삼성전자주식회사 파일 이름 제어 방법 및 그 전자 장치
KR101525984B1 (ko) * 2014-09-02 2015-06-08 주식회사 유플렉스소프트 파일 이름을 규칙에 따라 설정하는 문서 관리 장치 및 방법
US9959280B1 (en) * 2014-09-30 2018-05-01 EMC IP Holding Company LLC Garbage collection of data tiered to cloud storage
US9503542B1 (en) * 2014-09-30 2016-11-22 Emc Corporation Writing back data to files tiered in cloud storage
KR20150073136A (ko) * 2015-03-12 2015-06-30 주식회사 퓨쳐텍 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법

Also Published As

Publication number Publication date
JP6654255B2 (ja) 2020-02-26
KR101806499B1 (ko) 2017-12-07
WO2017213473A1 (en) 2017-12-14
US20190073371A1 (en) 2019-03-07
US10417179B2 (en) 2019-09-17

Similar Documents

Publication Publication Date Title
JP6654255B2 (ja) ファイル管理方法及びこれを利用したファイル管理装置{method for managing files and apparatus using the same}
AU2018395920B2 (en) Updating a local tree for a client synchronization service
US7188127B2 (en) Method, system, and program for processing a file request
CN101329636B (zh) 虚拟化窗口信息的方法和设备
CN101535968B (zh) 合并的文件系统目录中的虚拟删除
US9767301B2 (en) Context aware data protection
EP3665588B1 (en) Workflow functions of content management system enforced by client device
US6772159B1 (en) System and method for disconnected database access by heterogeneous clients
US7613726B1 (en) Framework for defining and implementing behaviors across and within content object types
JP2007503658A (ja) 共有読み出し専用ファイルシステムにおけるウイルス検出及び警報
JPH11327919A (ja) オブジェクト指向割込みシステム用の方法およびデバイス
JP2008033483A (ja) 計算機システム、計算機および計算機動作環境の移動方法
MX2011005927A (es) Almacenamiento y manejo en capas multiples de componentes de software.
EP3340099B1 (en) Program operation monitoring control device, distributed object generation and management device, recording medium, and program operation monitoring system
US20230401241A1 (en) System for lightweight objects
JP2012530297A (ja) ソフトウェアコンポーネント状態に対するアクセスコントロール
US7962922B2 (en) Delivering callbacks into secure application areas
CN101777002B (zh) 一种基于虚拟化的软件运行方法
US11698795B2 (en) Unified way to track user configuration on a live system
US11424982B2 (en) Remediation of a system to new desired state using configuration dependency graph
US11886889B2 (en) Managing configurations of system services running in a cluster of hosts by managing lifecycle of virtualization software
CN101702128A (zh) 用于隔离对软件应用程序的执行的方法和设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181015

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181105

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200129

R150 Certificate of patent or registration of utility model

Ref document number: 6654255

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250