JP7117062B2 - ファイルシステムのコンテンツに基づくセキュリティ - Google Patents

ファイルシステムのコンテンツに基づくセキュリティ Download PDF

Info

Publication number
JP7117062B2
JP7117062B2 JP2020520113A JP2020520113A JP7117062B2 JP 7117062 B2 JP7117062 B2 JP 7117062B2 JP 2020520113 A JP2020520113 A JP 2020520113A JP 2020520113 A JP2020520113 A JP 2020520113A JP 7117062 B2 JP7117062 B2 JP 7117062B2
Authority
JP
Japan
Prior art keywords
file system
processor
command
filesystem
expression
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.)
Active
Application number
JP2020520113A
Other languages
English (en)
Other versions
JP2020537246A (ja
Inventor
マニ、アンバザガン
パティル、サンディープ、ラメッシュ
エダ、サシカンス
ディクシス、ディリープ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020537246A publication Critical patent/JP2020537246A/ja
Application granted granted Critical
Publication of JP7117062B2 publication Critical patent/JP7117062B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G06F16/1787Details of non-transparently synchronising 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ファイルシステムに関し、より詳細には、ファイル同期セキュリティを補強するためにファイルを利用することに関する。
ファイル同期は、様々な地理的な位置の至るどころで、ファイルへのアクセスを提供するために営利企業において使用され得る。ファイル同期は、複数のデバイス上のファイルへのアクセスを、または、多数のクライアントを介してのファイルへのアクセスを、エンドユーザに提供するために、プライベートな設定において使用され得る。ファイル同期は、重要な患者情報の記録およびバックアップを提供するために医療目的で使用され得る。ファイル同期は、1つの位置が竜巻、地震、洪水、または、他の自然災害に遭った場合に、複数の位置にわたってデータを維持するために、災害復興の局面において使用され得る。
本発明の複数の態様によれば、方法、システム、および、コンピュータ・プログラム製品が提供される。ファイルシステム・コマンドは、第2のプロセッサによる同期のために、第1のプロセッサによって送信される。ファイルシステム・コマンドは、第1のファイルシステムの第1のオブジェクトと同期する第2のファイルシステムの第2のオブジェクトを対象とする。第2のプロセッサによる認証のために、第1のプロセッサによって第2のファイルシステムへエクスプレッションが送信される。このエクスプレッションは、第2のファイルシステムの第4のオブジェクトと同期する第1のファイルシステムの第3のオブジェクトに基づいて生成される。
また、本開示の複数の実施形態によれば、複数の態様は、階層型ファイルシステムを含み得る。この階層型ファイルシステムは、第1のメモリ、第1のストレージ・デバイス、および、第1のプロセッサを備える。第1のストレージ・デバイスは、1つまたは複数の第1のファイルシステム・オブジェクトからなる第1のファイルシステムを収容する。第1のプロセッサは、第1のメモリおよび第1のストレージ・デバイスと通信可能に結合される。第1のプロセッサは、第1のファイルシステム・コマンドを受信する。第1のプロセッサは、第1のファイルシステム・コマンドが第2のファイルシステムの第2のオブジェクトと同期する第1のファイルシステムの第1のオブジェクトを対象とすることを、検出する。第1のプロセッサは、この検出に基づいて1つまたは複数の認証クレデンシャルを読み出す。第1のプロセッサは、第1のファイルシステム・コマンドが削除コマンドであることを、識別する。第1のプロセッサは、この識別に基づいて、第1のファイルシステムに関連した言語エクスプレッションを生成する。第1のファイルシステムは、この言語エクスプレッションを第2のファイルシステムに提供する。第1のファイルシステムは、認証クレデンシャルを第2のファイルシステムに提供する。第1のファイルシステムは、第2の削除コマンドを第2のファイルシステムに提供する。
上記の概要は、本開示の記述された実施形態の各々または全ての具現化を記述することを意図しない。
本出願に含まれる図面は、本明細書に組み込まれ、本明細書の一部をなす。それらは、本開示の実施形態を例示し、本明細書の記述と共に、本開示の原則を説明するために役立つ。図面は、特定の実施形態を例示するのみで、本開示を制限するものではない。
複数の実施形態と一致するファイル同期を利用するコンピューティング・システムの1つの例を示す図である。 複数の実施形態と一致する、同期したコンテンツに基づいてファイルシステムを同期させる方法のフロー図である。 複数の実施形態と一致する、同期したコンテンツに基づいて、同期したファイルシステムにおける削除を実行する方法のフロー図である。 本開示の複数の実施形態に従って用いられ得るコンピュータ・システムの1つの例の代表的な重要コンポーネントを示す図である。 本発明の1つの実施形態によるクラウド・コンピューティング環境を示す図である。 本発明の1つの実施形態による複数の抽象化モデル層を示す図である。
本発明は様々な変更および代替形態を受け入れることができるが、それらの詳細は例として図面に示されており、詳しく記述されるであろう。しかしながら、本発明を、本明細書に記述されている特定の実施形態に限定する意図ではないことは理解されるべきである。逆に、本発明の技術範囲内の全ての変更、均等物、および、代替を含むことを意図している。
本開示の複数の態様は、ファイルシステムに関し、特に、ファイル同期セキュリティを補強するためにファイルを利用することに関する。本開示は、必ずしもそのような用途に限定されるというわけではなく、本開示の様々な態様は、この文脈を用いる様々な例についての説明によって理解されるであろう。
ファイルシステム(ファイルシステムとも称する)は、現代社会においてコンピューティングの重要な部分である。ファイルシステムは、1つのコンピュータ・システムに関する情報およびデータが長期間記憶される場所である。コンピュータ・システム上のファイルは、コンピューティングのあらゆる面での使用において重要であり得る。ある場合には、個人は、友人や家族の写真をファイルシステムに記憶する。他の場合には、長年の、科学研究または興味深い進歩および発見が、コンピュータ・システムの様々なファイルおよびフォルダに記憶される。更に他の場合には、例えば、報酬目的で労力をかけてきた、様々なマーケティング文書、著述文書、または、イメージ文書のような、現代の仕事の成果がファイルシステムに記憶される。
インターネットが至る所にあるようになるにつれて、ファイルシステムは、常に繋がるライフスタイルをサポートするべく成長してきた。ユーザは、彼らが使用するデバイス、および、それらのデバイスに記憶されたコンテンツが多くの場所において利用できることを期待する。コンピュータのハードウェアおよびソフトウェア製品は、これらの使用事例に適応するように様々な接続されたサービスを創造してきた。幾つかの状況において、コンピューティング・デバイスは、クラウドでホストされた複数のファイルのシームレスな統合を提供する。クラウドでホストされたファイルは、リモート・サーバに記憶されたファイルの直接の閲覧およびアクセスを許容するポータルまたはクラウド・インタフェースの形であり得る。クラウドでホストされたファイルは、幾つかのファイルがローカルに記憶され、他が遠隔で記憶される階層化された構成(例えば、クラウド階層化(cloud tiering)、または、階層としてのクラウド(cloud-as-tier))の形で相互に作用され得る。ネットワーク・アクセス可能なデバイスが、データのサブセットだけをローカルに記憶し得ると共に、遠隔に記憶されているデータの他のサブセットを閲覧し、これらにアクセスするためのシームレスな備えをし得るので、階層化は、デバイス記憶容量に対して、より大きな柔軟性を提供する。
ファイルシステムの他の利点は、データ冗長度(すなわち、データ・バックアップまたはファイルシステム・バックアップ)の形にある。ファイルシステム・バックアップは、コンピュータのユーザに、データ喪失に対する強化された防護を提供する。幾つかの場合には、コンピュータのユーザは、コンピュータの損傷を受けたコンポーネントの障害の発生以前の状態から情報を復元することが可能となるようにバックアップを活用し得る。クラウド・ベースのファイルシステムは、ネットワークまたはインターネットを通してファイルシステム・バックアップを遠隔で提供するために活用され得る。幾つかの場合には、コンピュータのユーザは、クラウド・ベースのファイルシステムを利用するバックアップによって恩恵を受けることができ、ユーザのデータが安全にバックアップされ得るという保証が増した状況で、ユーザは、例えば、海上の船のような危険な環境へコンピューティング・デバイスを持って行くことができる。
クラウド・ベースのファイルシステムおよびバックアップは、ファイル同期を利用する。ファイル同期において、データの整合性は、機能しているシステムにとって重要である。複数の特定の状況では、ファイル同期は、複数のファイルシステムを管理することのため、多くの技術的問題に悩まされる。ファイル同期は、部分的にはトランザクションによって(すなわち、当該ファイルシステムのコピーを維持する1つのデバイス上のデータへの更新を受信することによって)動作する。幾つかの場合には、これらの更新は、クラウド・ベースのファイルシステムのユーザから指示され得る。幾つかの場合には、上記の更新は、クラウド・ベースのファイルシステムの一部を形成する複数のデバイスのうちの1つから指示され得る。ファイル同期システムは、複数のトランザクションがデータの整合性を維持することを確実にすることを試みる。幾つかの場合には、受信した更新の幾つかは、それらが適切な更新であることを検証されることを必要とする。幾つかの場合には、問題は、トランザクションを妨害する不正な第三者から生じる可能性がある。第三者は偽のコマンドを送信することを試みる可能性があり、従って、各ファイル同期コマンドの正当性が確認されることが必要な場合がある。
コンテンツベース・セキュリティ・ファクタ(CSF)は、ファイル同期システムに技術的な改良を提供し得る。CSFは、ファイル同期システムによって同期させられたコンテンツが、主認証ファクタまたは副認証ファクタとして用いられ得るようにし得る。CSFは、ファイルシステムによって同期させられたコンテンツに基づいて生成されたエクスプレッションを利用し得る。CSFは、例えば、クラウド・ベースのファイルシステムのような、双方向ファイル同期システムを改善し得る。CSFは、例えば、ファイル・バックアップのような、一方向のファイル同期システムを改善し得る。CSFは、追加のセキュリティ・ファクタを提供してセキュリティを強化することによって、ファイル同期の動作を改善し得る。
CSFの追加のセキュリティによって、既存のファイル同期システムの特定のトランザクションが自動化され得る。例えば、これらの自動化されたトランザクションは、複数のファイルシステムのうちの1つによって発行された、複数の同期コマンドの結果としての、第2のファイルシステムとの同期が保たれている第1のファイルシステムへのコンテンツ更新を含み得る。1つのinotify機構(例えば、ライト・ウェイト・イベント)を使用することは、1つのファイル同期システムにおける1つのファイルシステムに対する複数のコマンドのモニタリングを可能にし得る。このinotify機構は、1つのファイル同期システムにおいて1つのファイルシステムを他のファイルシステムと同期させるための、削除コマンドの生成および伝送を、1つのシステムが自動化することができる。幾つかの場合には、削除コマンドは非可逆効果を有し得るので、幾らかのファイルシステム管理者は、リモート・ファイルシステムへ送信された削除コマンド・トランザクションを自動化することを嫌う。CSFにより提供される強化されたセキュリティは、ファイルシステムのセキュリティおよび整合性を維持すると共に、削除コマンド(または、他の任意のトランザクション)の自動化を可能にし得る。
CSFは、まさに同期させられたコンテンツを利用して動作し得る。CSFは、互換性によって、より高いパフォーマンスを提供し得る。例えば、同期しているファイルシステムの各々は、フォーマットまたは規則に関係なく、コンテンツを同期する。本開示の全体にわたって、複数の実施形態は、同期したコンテンツを記述するために様々な用語を利用し得る。例として、以下の開示では、コンテンツを同期させることに関する議論において互換可能に使用され得る様々な用語および名称について述べる場合がある。例えば、それらの用語が例示目的で利用されること、および、当該分野における他の用語が本開示の実施形態を伝達するために利用され得ることが理解されるべきである。インターネット・サービス・プロバイダ(ISP)は、様々なファイルシステムの同期を容易にするコンピューティング・サービス(例えば、プロセッサ、メモリ、API、ネットワーク等)のうちの1つまたは複数を提供し得る。特定のISPは、同期したファイルのための(例えば、オブジェクトまたはブロブのような)様々な用語を使用する場合がある。様々な用語が、同期したフォルダ(例えば、ディレクトリ、コンテナ、バケット等)のために使用され得る。(例えば、ドメインまたはボールトのような)様々な用語が、ファイルシステムのユーザと関係付けられたアカウントのために使用され得る。(例えば、タグまたはxattrのような)様々な用語が、同期したメタデータのために使用され得る。「メタデータ」は、複数のタイプのメタデータ(例えば、ユーザ・メタデータ、システム・メタデータ)の何れかのことを意味する場合がある。ユーザ・メタデータは、例えば、英単語、句、および、文、あるいは、その組合せを使用してフォルダを記述する記述メタデータ・フィールド(description metadata field)のような、ユーザが特別に作るメタデータであり得る。システム・メタデータは、作成日、最終更新時のタイムスタンプ等のような、システムが作るメタデータであり得る。
第1の例において、ローカル・コンピュータは、1つまたは複数のディレクトリ(フォルダとも称する)内に1つまたは複数のファイルを収容し得るローカル・ファイルシステムをホストし得る。ファイルまたはフォルダのサブセットは、1つまたは複数のアカウントに結び付けられ得、メタデータまたはxattrは、これらのファイルまたはフォルダあるいはその両方の属性を記載し得る。ローカル・コンピュータは、遠隔地でホストされるインターネット・サービス・プロバイダ(ISP)によって、同期させられ、そして、このインターネット・サービス・プロバイダ(ISP)と協力し得る。ISPは、ファイル毎に、そのファイルと同期した状態が維持されるオブジェクトを有し得る。ISPは、ディレクトリ毎に、同期したコンテナを有し得る。ISPはタグを利用して、各オブジェクトおよびコンテナの様々な属性を記載し得る。ISPは、アカウントに対応する一連のボールトを維持し得る。
図1は、複数の実施形態と一致するファイル同期を利用するコンピューティング・システムの1つの例100を示す。コンピューティング・システム100は、1つまたは複数のクライアント・デバイス110-1、110-2、110-3、および、110-4(集合的には、110)を含み得る。コンピューティング・システム100は、第1のファイル同期ノード120(ローカル・ノードとも称する)および第2のファイル同期ノード130(リモート・ノードとも称する)を含むこともできる。コンピューティング・システム100は、クライアント・デバイス110-1および110-2をノード120に通信可能に結合するローカル・ネットワーク140を含むこともできる。コンピューティング・システム100は、リモート・ネットワーク150および第2のノード130を含むこともできる。更なるネットワーク(図示せず)は、ローカル・ネットワーク140およびリモート・ネットワーク150(例えば、WAN、インターネット等)を通信可能に結合し得る。
クライアント・デバイス110は、1つまたは複数のコンピュータおよびパーソナル・デジタル・アシスタンス(personal digital assistance、例えば、スマートフォン、タブレット、ポータブル・コンピュータ等)を含み得る。各クライアント・デバイス110は、プロセッサおよびメモリを含み得る。図4は、あるクライアント・デバイス110と一致するコンピュータの1つの例を記述し得る。各クライアント・デバイス110は、ファイル同期ノード120および130へ命令を送信することによって、または、ファイル同期ノード120および130から命令を送信することによって動作し得る。各クライアント・デバイス110は、ファイル同期ノード120および130からコンテンツを送受信することによって、動作することもできる。例えば、クライアント・デバイス110-2は、ネットワーク140を通してローカル・ファイル同期ノード120へコマンドを送信し得る。第2の例において、クライアント・デバイス110-3は、リモート・ファイル同期ノード130からネットワーク150を通してコンテンツの更新を受信し得る。幾つかの実施形態では、クライアント・デバイスは更なるネットワークを利用して、コマンドを発することができる。例えば、クライアント・デバイス110-2は広域ネットワーク(WAN)を利用して、第2のファイル同期ノード130へコマンドを発することができる。
第1のファイル同期ノード120は、第1のサーバ122および第1のデータストア124を含み得る。第1のサーバ122は、第1のファイルシステムを維持するように構成される1つまたは複数のコンピューティング・デバイスおよびソフトウェア・サービスでもよい。第1のサーバ122は、クライアント・デバイス110-1および110-2からの1つまたは複数の要求に基づいて動作し得る。第1のサーバ122は、ネットワーク140、ネットワーク150、または、インターネットを通してクライアント・デバイス110と通信し得る。第1のサーバ122は、追加のファイルシステム(例えば、第2のファイル同期ノード130)と同期する第1のファイルシステムをホストし得る。
第1のデータストア124は、データを記憶するように構成される1つまたは複数のコンピュータおよびストレージ・デバイスでもよい。例えば、第1のデータストア124は、サーバ筐体内のプラッタまたはディスク型のハードドライブ、または、サーバ内に位置するソリッドステート・ハードドライブでもよい。第1のデータストア124は、ファイルおよびフォルダを記憶して、系統化するように設計された1つまたは複数のファイルシステム(例えば、NTFS、FAT32、ZFS等)を含み得る。第1のデータストア124は、複数の値を記憶する1つまたは複数のデータベースを含み得る。幾つかの実施形態では、記憶した値は、ファイルシステムに関連があり得る。第1のデータストア124は、第1のオブジェクト126-1、126-2~126-N(集合的には、126)の集合を含み得る。第1のオブジェクト126の集合は、ファイルシステムのローカル・ファイルおよびフォルダでもよい。幾つかの実施形態では、第1のファイル同期ノード120のファイルおよびフォルダの全ては、第2のファイル同期ノード130によって記憶され得る。例えば、第1のファイル同期ノード120はメインフレーム・サーバのファイルシステムでもよく、第1のデータストア124のデータのリモート・バックアップは第2のファイル同期ノード130によってミラー化され得る。引き続き、上記の例において、第1のデータストア124でデータ喪失があった場合、第2のファイル同期ノード130は、メインフレーム・サーバ用のデータを作り直すために利用され得る。
幾つかの実施形態では、ファイルシステムのファイルおよびフォルダの1つのサブセットだけが第1のファイル同期ノード124によって記憶され得る。例えば、階層化ベースのクラウド・サービスにおいて、一部のファイルおよびフォルダがデータストア124に保たれ得る。ローカルにデータストア124に記憶されるファイルの部分は、ファイル126-1~126-4,000で表され得る。データストア124がハード・ドライブ領域不足に陥り始めると、第1のサーバ122は、1つまたは複数のファイルがリモート同期ノード130に記憶される必要があると判断し得る。第1のサーバ122は、ファイル126-4,001~126-32,547が第2の同期ノード130によって記憶されるように指示し得る。第1のサーバ122は、第2の同期ノード130に同期するファイルを記述する1つまたは複数のスタブを作成し得る。第1のサーバ122は、第2の同期ノード130に記憶されるファイルに関する情報を、スタブ(例えば、ファイル・ブラウザでファイルおよびフォルダの表示の速度を上げることができるメタデータ)に直接記憶し得る。第1のサーバ122は、第2の同期ノード130に記憶されるファイルに関する情報を、間接的にスタブに記憶し得る。スタブは、これもまたデータストア124に記憶されるデータベースを指し示すことができ、第2の同期ノードに記憶されるファイルに関する情報は、スタブ内のリンクによってデータベースへ読み出され得る。
リモート・ファイル同期ノード130は、第2のサーバ132および第2のデータストア134を含み得る。第2のサーバ132は、第2のファイルシステムを維持するように構成される1つまたは複数のコンピューティング・デバイスおよびソフトウェア・サービスでもよい。第2のサーバ122は、クライアント・デバイス110からの1つまたは複数の要求に基づいて動作し得る。第2のサーバ132は、ネットワーク150、ネットワーク140、または、インターネットを通してクライアント・デバイス110と通信し得る。第2のサーバ132は、複数の追加のファイルシステム(例えば、第1のファイル同期ノード120)と同期する第2のファイルシステムをホストし得る。第2のサーバ132は、第1のサーバ122とは地理的に異なる位置に存在し得、第1のファイル同期ノード120と異なるエンティティによって動作され得る。幾つかの実施形態では、第2のサーバ132は、特定のセキュリティ対策を利用して第2のデータストア134を保護し得る。例えば、ISPは、リモート・ファイル同期ノード130をホストし得、ユーザ名またはパスワードあるいはその両方を利用して、第1のサーバ132およびリモート・ファイル同期ノードへのアクセスを認証し得る。
第2のデータストア134は、データを記憶するように構成される1つまたは複数のコンピュータおよびストレージ・デバイスでもよい。例えば、第2のデータストア134は、サーバ筐体内のプラッタまたはディスク型のハード・ドライブ、または、サーバ内に位置するソリッド・ステート・ドライブでもよい。幾つかの実施形態では、第2のデータストア134は、複数のデータ記憶ハードウェア(例えば、テープ、回転プラッタ・ドライブ、ソリッド・ステート・ドライブ、RAMベースのディスク、積層可能クロス・グリッド型不揮発性メモリ(stackable cross-gridded non-volatile memory)等)を含み得る。第2のデータストア134は、ファイルおよびフォルダを記憶して、系統化するように設計された1つまたは複数のファイルシステム(例えば、NTFS、FAT32、ZFS等)を含み得る。第2のデータストア134は、特定の性能特性(例えば、容量またはアクセス・レイテンシ)に重点を置く1つまたは複数のデータベースまたはファイルシステムを含み得るか、または、そのようなデータベースまたはファイルシステムを利用するように構成され得る。第2のデータストア134は、第2のオブジェクト136-1、136-2~136-N(集合的には、136)の集合を含み得る。幾つかの実施形態では、第2のデータストア134は、冗長性を増加させるに十分なストレージを提供し得る。例えば、第2のデータストア134は複数のハード・ドライブを有し得、第2のサーバ132は、これら複数のハード・ドライブのうちの複数のハード・ドライブに、第2のオブジェクト136の集合のコピーを作成し得る。
第2のオブジェクト136の集合は、第1のオブジェクト126の集合の直接のコピーでもよく、または、第1のオブジェクト126の集合に、直接関係するものでもよい。例えば、第2のデータストア134はデータストア124のバックアップでもよく、各オブジェクト136はオブジェクト126に直接対応するものでもよい。幾つかの実施形態では、第2のオブジェクトの集合136は第1のデータストア124の直接のコピーでではない場合があり、第2のデータストア134は異なるフォーマットでデータを記憶し得る。例えば、第2のデータストア134は、一連のブロブ136でもよく、各ブロブは第1のデータストア124の1つのファイルまたはフォルダに対応するものでもよい。第2の例においては、第2のデータストア134は、一連のオブジェクトおよびコンテナ136を有し得る。幾つかの実施形態では、データストア134の1つまたは複数の属性は、強化したセキュリティを提供するように難読化され得る。例えば、第2の組のオブジェクト136は、アカウントまたは所有者とは無関係に連番で名づけられ得る。引き続き、この例において、データ・オブジェクト136-107は、「43513209DFC2398」という連番化された名称を有して、第1のアカウントに関係付けられてもよい。更に上記の例において、第2のデータ・オブジェクト136-108は、「43513209DFC2399」という連番化された名称を有して、第2のアカウントに関係付けられてもよい。
コンピューティング・システム100は、データ・オブジェクト126および136を安全にするために様々なセキュリティ対策を提供し得る。クライアント・デバイス110は、ローカル・ファイル同期ノード120およびリモート・ファイル同期ノード130を利用して、データ・オブジェクト126および136にアクセスし得る。幾つかの実施形態では、コンピューティング・システム100は、ユーザ名およびパスワードのような認証ファクタを利用し得る。例えば、クライアント・デバイス110-3は、ローカルに複数のファイルおよびフォルダを含むことができ、階層化されたファイルをコンピューティング・システム100に対して表す複数のファイル・スタブを含むこともできる。クライアント・デバイス110-3は、スタブの1つの例に関係付けられたフォルダを要求し得、更に、オブジェクト136-1に関係付けられ得る。ネットワーク150を通しての同期によって実フォルダへのアクセスができるようにするために、サーバ132は、クライアント・デバイス110-3からのユーザ名およびパスワードの受信のみに基づいて、オブジェクト136-1に関して応答し得る。
幾つかの実施形態では、コンピューティング・システム100は、データ・オブジェクト126または136へのアクセスを安全にするために、コンテンツベース・セキュリティ・ファクタ(CSF)を利用し得る。ここで、CSFの複数の実施形態と一致する第1の例を説明する。クライアント・デバイス110-1はネットワーク140に接続され、第1のサーバ122を通して第1のデータストア124に接続し得る。ユーザは、クライアント・デバイス110-1のオペレーティング・システムによって実行されるファイル・ブラウザを使用し得る。このファイル・ブラウザは、クライアント・デバイス110-1と第1のサーバ122との間の一連の要求によって、第1のデータストア124上でホストされるファイルシステムをマウントすることができる。ユーザがクライアント・デバイス110-1からのファイルを見て、更新すると、第1のデータストア124に記憶されるファイルおよびフォルダは第1のサーバ122によって更新され得る。
引き続き、上記第1の例において、第1の同期ノード120は、第2の同期ノード130との階層化同期(tiering synchronization)を実行し得る。第1の同期ノード120の第1のサーバ122は、1つまたは複数のファイルおよびフォルダ126が第2の同期ノード130に対して階層化されるべきであると判断し得る。この判断は、スタブであるファイル126-8に基づくことができる。第1のサーバ122は、170において同期動作を実行し得る。上記判断および動作170は、デーモンまたはシステム・レベル・フレームワーク(例えば、inotify、ライト・ウェイト・イベント・ポリシー等)として自動化され得る。動作170は、ファイル126-8への更新を第2のサーバ132へ送信し得る。動作170は、このファイル126-8への更新を、オブジェクト136-8へ変換することを含むことができる。オブジェクト136-8は、ファイル・スタブ126-8への、そして、データストア124に記憶される関連したデータベースへのアクセス無しでは読み込み不可であるフォーマットで記載され得る。動作170は、CSFを第2のサーバ132へ送信することもできる。CSFは、同期属性、つまり第1のファイル同期ノード120と第2のファイル同期ノード130の間で同期される属性、を記述するエクスプレッションであり得る。同期属性は、以下の何れかを含み得る:ファイル、フォルダ、ファイルのメタデータ、フォルダのメタデータ、ファイルに関連したアカウント情報、フォルダに関連したアカウント情報等。同期属性は、更に、以下の何れかを含み得る:ファイルまたはフォルダのサイズ、ファイルまたはフォルダの数、ファイル間またはフォルダ間の関係(例えば、フォルダ『Program Files』内に12個のファイルがあり、ファイルXがフォルダYにおいて2番目に大きいファイルであること等)。
引き続き、第1の例において、動作170において、第1のサーバ122は、フォルダ126-137,023、ならびに、ファイル126-138,110、126-138,111、および、126-138,112(フォルダ126-137,023内に位置する3つのファイル)に関してデータストア124の属性を選択する。それらが、データストア124に記憶されて、対応するコンテナ136-140,111、ならびに、オブジェクト136-140,112、136-140,113、および、136-140,114と同期するスタブであるので、第1のサーバ122は、フォルダ126-137,023、ならびに、ファイル126-138,110、126-138,111、および、126-138,112を選択する。動作170において、第1のサーバ122は、以下のエクスプレッションを生成し得る:「ファイル126-138,111は、ファイル126-138,110および126-138,112より後に最終変更をされた」。
引き続き、第1の例において、動作170において、第1のサーバ122は、CSFを第2のファイル同期ノード130へ送信し得る。幾つかの実施形態では、動作170には、オプションの動作160を伴うことができる。オプションの動作160は、認証のためにCSFを要求する第2のサーバ132によるプロンプトでもよい。オプションの動作160は、受領確認および第2のサーバ132による同期の実行でもよい。オプションの動作160は、170において受信されたCSFによる成功した認証の確認でもよい。幾つかの実施形態では、CSFは副認証ファクタでもよく、動作170の実行は、第1の認証ファクタ(例えば、ユーザ名およびパスワード)およびCSF(例えば、ファイルシステムの同期したコンテンツのエクスプレッション)の送信を含み得る。動作170の実行は、ファイルシステムAPI(例えば、get(), put(), update(), delete())の形であり得る。幾つかの実施形態では、動作170の実行は、例えば、REST動作(例えば、create, update, read, delete)のような、サーバクライアント・モデル・プロトコルの形であり得る。
引き続き、第1の例において、送信された同期更新およびCSFによる認証を受信すると、170において、第2のサーバ132は、同期を実行し得る。より詳細には、第2のサーバ132は、受信した同期更新を、受信した順序で処理されるべき複数の更新コマンドのキャッシュ内に記憶し得る。第2のサーバ132は、受信したCSFのエクスプレッションをコンテナ136-140,111、ならびに、オブジェクト136-140,112、136-140,113、および、136-140,114と比較することによって、受信したCSFのエクスプレッションを認証し得る。オブジェクト136-140,113がオブジェクト136-140,112および136-140,114より後に最終変更をされた場合、170において受信した同期コマンドは認証され得る。170において受信した同期コマンドが認証される場合、オブジェクト136-8は更新され得る。CSFの利用によれば、他のセキュリティ方法と比較して、ファイル同期のパフォーマンスを高めることができる。例えば、第1のデータストア124と第2のデータストア134との間で同期するコンテンツを利用すると、(しばしばストレージをたくさん使う)追加の専用の認証クレデンシャルに対する依存を無くするので、メモリ利用量を減らすことができる。他の例では、第1のデータストア124と第2のデータストア134との間で同期するコンテンツを利用することによって、(しばしば数学的に膨大な)追加の専用の認証クレデンシャルが生成される必要がないので、オーバーヘッドの処理を減らすことができる。
CSFの複数の実施形態と一致する第2の例は、以下に記述される。ファイル同期動作は、第2のファイル同期ノード130からの更新に基づいて開始され得る。同期動作の前に、クライアント・デバイス110-4によって削除コマンドが発され、第2のデータストア134のオブジェクト136-137,189を対象とし得る。オブジェクト136-137,189は、オブジェクト識別子「AD23420381DJL17-38322A」を有し得る。第2のサーバ132は、データストア134からCSFエクスプレッションを生成し得る。CSFエクスプレッションは、オブジェクト136-137,189を所有する当事者と同じ当事者によって所有されるコンテンツから作られたものでもよい。幾つかの実施形態では、CSFエクスプレッションは、オブジェクト136-137,189を所有する当事者以外のエンティティによって所有されるコンテンツでもよい。上記コマンドおよび上記CSFを受信すると、第1のサーバ122は、オブジェクト126-137,189を更新し得る。オブジェクト126-137,189は、第1のユーザに属するファイルでもよい。
引き続き、第2の例において、第2のファイル同期ノード130から第1のファイル同期ノード120に送信されたコマンドのフォーマットは、以下の通りでもよい。「"curl -X DELETE -H "Content-Length: 256" -h "X-Token: abc123pqrs" -H "X-OBJ-UUID: AD23420381DJL17-38322A"」。CSFエクスプレッションは、「JK12425261DIL17-2243K2は、43,781,235バイトであるか?」であり、質問の形であり得る。コンピュータ・システム100は複数のエクスプレッションを交替させて、同じエクスプレッションを繰り返すことを防ぐことができる。幾つかの実施形態では、コンピュータ・システム100は、それらを最近使用されたものリストに入れることによって、CSFエクスプレッションの再使用を防止し得る。ファイル同期ノード120および130は、エクスプレッションがこのリストに載っていないことを確実にすることによって、CSFを生成し得る。幾つかの実施形態では、上記のリストは、(例えば、30日毎に上記のリストの最も古いエントリを取り除くこと、1週間より古い全てのエントリを毎日削除すること等によって)周期的に選別され得る。
幾つかの実施形態では、コンピュータ・システム100は、CSFを利用しない他のファイル同期ノードと比較して、向上した性能を提供し得る。第三者は、ファイル同期ノード120と130との間で送信されるコマンドを傍受して、見ることができるであろう。例えば、削除コマンドがインターネットを通して送信されるとき、悪意のある者が第2のファイル同期ノード130から第1のファイル同期ノード120へ送信される削除コマンドをモニタすることもあり得る。この悪意のある者は、削除コマンドのX-OBJ-UUIDを調整することによって、削除コマンドを変更することができる(例えば、前の例から、「AD23420381DJL17-38322A」は、他のファイルと関係付けられているかもしれない「AD23420381DJL17-38322B」に変えられ得たであろう)。しかしながら、同期したコンテンツに関するエクスプレッションを提供することが可能でないであろうから、この悪意のある者は、ファイル同期ノード120および130のどちらか一方を信じさせることはできず、削除コマンドを完成することはできないであろう。同期するファイルシステム・コンテンツが常に変化するので、コンピュータ・システム100は固定されたキーより向上したセキュリティを提供し得る。悪意のある者が1つのCSFエクスプレッションへのアクセスを取得し得た場合であっても、コンテンツが変化したか、または、CSFエクスプレッションが再利用されないので、無意味となるであろう。
図2は、同期したコンテンツに基づいてファイルシステムを同期させるための複数の実施形態と一致する方法200のフロー図である。方法200は、ファイル同期システムにおけるファイルシステム・サーバまたはデータ・サーバによって実行され得る。方法200は、本願明細書において開示されるより多いかまたは少ない動作を含み得る。幾らかの動作は、連続的に、または、周期的に実行され得る。動作210は、例えば、毎秒、3秒毎、または、16ミリ秒毎に実行され得る。方法200の幾らかの動作は、組み合わされるか、または分離され得る。複数の特定のファイル同期システムでは複数のサーバを含み得るので、方法200の幾らかの動作は第1のサーバによって実行され得、他の動作は第2のサーバによって実行され得る。幾つかの実施形態では、方法200は、ファイル同期システムの複数のサーバによって並行して実行され得る。
開始205の後、210において1つまたは複数のファイル同期要求が受信され得る。これらのファイル同期要求は、ファイル同期システム内の1つのファイルシステム上の1つまたは複数の値を更新するためのコマンドを含み得る。例えば、ネットワーク共有を通して接続するクライアント・デバイスは、1つまたは複数の値を更新し得る。幾つかの実施形態では、ファイル同期要求は、直接に、または、ローカル動作の一部として為され得る。例えば、デスクトップ・コンピュータのユーザは、デスクトップ・コンピュータに通信可能に結合され、物理的にデスクトップ・コンピュータ内に位置するハード・ドライブ上の1つまたは複数のファイルをローカルに更新し得る。更新されたローカル・ファイルは、ファイル同期システムの一部であるハード・ドライブのファイルシステムであってもよい。デスクトップ・コンピュータ上で実行するデーモンまたはジョブは、ローカルデータを更新した後に、210において上記ファイル同期要求を生成し得る。幾つかの実施形態では、ファイル同期要求は、間接的に為され得るか、または、リモート・ノードから開始された動作から為され得る。例えば、ファイル同期システムのリモート・ノード上で更新が実行された後、ローカル・ドライブ上で同期を実行するための要求が受信され得る。
215において、その同期がローカルに開始された同期である場合、220において同期更新はファイル同期システム内の他のノードへ送信され得る。例えば、第2のファイル同期サーバは、220において、第2のファイル同期サーバのユーザによって更新された第1のテキスト・ファイルを更新するためのコマンドを第1のファイル同期サーバへ送ることができる。220において、複数の同期更新が送信され得る。例えば、あるファイル同期システムは、互いに同期した状態に保たれる7つのファイルシステムを含み得る。引き続き、上記の例において、第5のファイル同期サーバは、第5のファイルシステム・オブジェクトを更新し得たであろう。更に上記の例において、220において、6つのファイルシステム同期更新が、ファイル同期サーバ1、2、3、4、6、および、7へ送信され得る。
230において、コンテンツベース・セキュリティ・ファクタ(CSF)のためにエクスプレッションが生成され得る。230において生成されたエクスプレッションは、220において送信された同期更新の認証のために利用され得る。230において生成されたエクスプレッションは、同期したファイルシステム内の1つまたは複数のコンテンツを記述し得る。例えば、作動中のサーバおよびバックアップ・サーバを含むファイル・サーバ・バックアップにおいて、作動中のサーバ内にある1つのコンテンツはバックアップ・サーバにバックアップされ得、任意のコンテンツは230においてエクスプレッションを生成するために利用され得る。230において生成されたエクスプレッションは、例えば、ファイルおよびフォルダのような、ファイルシステムの任意の直接的なコンテンツにも基づくものでもよい。230において生成されたエクスプレッションはファイルシステムの任意の間接的なコンテンツ(例えば、ファイルまたはフォルダのメタデータ、あるいは、ファイルまたはフォルダに関係するアカウント情報に含まれるコンテンツ)に基づくものでもよい。230において生成されたエクスプレッションは、複数のコンテンツ・アイテム(例えば、一連のファイルまたはフォルダ、あるいは、それらの関係)に基づくものでもよい。例えば、同期したファイルシステム内の3つのファイルの最も最近更新されたメタデータの記述。
230において生成されたエクスプレッションは、所定のテンプレートに基づくものでもよい。所定のテンプレートは、全てのファイル同期ノードの間で同期され得る。幾つかの実施形態では、所定のテンプレートは、本開示と一致するCSFベースのファイル同期システムのユーザによって生成され得る。例えば、一連のテンプレートが表1に開示されている。
Figure 0007117062000001
表1によれば、CSFにより読み出され得る様々な値は、以下のように表され得る:アカウント、ドメイン、および、ボールトのための<ACCT>、メタデータ、タグ、または、xattr情報のための<META>、フォルダ、ディレクトリ、コンテナ、または、バケットのための<CONT>、オブジェクト、ブロブ、または、ファイルのための<OBJ>。利用される幾つかの値は、<VAL>によって表され得る。上記の値は、必要に応じて、切り下げ、または、切り上げて生成され得る。表現は、適切にCSFを生成するために適切なコンテンツベース情報を選択するように方法200によって利用され得る。幾つかの実施形態では、CSFは自然言語の要素だけを含み得る。例えば、「'Jennifer" is the owner of object 'summer job.csv'.」(「『ジェニファー』は、オブジェクト『summer job.csv』の所有者である。」)。幾つかの実施形態では、CSFはタグを含むこともできる。例えば、「<ACCT>Jennifer</ACCT> is the owner of object <OBJ>summer job.csv</OBJ>.」(「<ACCT>ジェニファー</ACCT>は、オブジェクト<OBJ>summer job.csv</OBJ>の所有者である。」)。
幾つかの実施形態では、CSFエクスプレッションを補充するために利用される追加の認証キーが存在し得る。例えば、ファイル同期ノードの間で同期するファイルまたはフォルダが未だ多くない場合がある。バックアップが実行され始めたばかりであるために、未だそれほど同期情報がない場合がある。第1のファイルシステムがかなり空いており、他のファイル同期ノードに対するファイルの階層化も多くないために、同期情報が未だそれほどない場合がある。ファイル同期システムの初期セットアップの間に、追加の認証キーは、事前に生成され得、ファイル同期システムのノードの間で共有され得る。230においてエクスプレッションを生成することは、同期したコンテンツに基づいてエクスプレッションを生成する代わりに、事前生成された1つのキーを選択することを含み得る。同期システムが上記ノードの間で同期した一定数のコンテンツ・アイテムに達すると、事前生成されたキーは記憶空間を節約するために取り除かれ得る。幾つかの実施形態では、事前生成されたキーは、100個のオブジェクトが同期すると取り除かれ得る。幾つかの実施形態では、事前生成されたキーは、12,000個のオブジェクトが同期すると取り除かれ得る。
幾つかの実施形態では、230においてエクスプレッション生成のために使用されるコンテンツの選択は、ファイル同期システムの1つまたは複数のファクタに基づいてもよい。例えば、エクスプレッションのコンテンツが同一であることを確実にするために、エクスプレッションは、最近同期していないコンテンツに基づくものでもよい。引き続き、上記の例において、同期したコンテンツの1つまたは複数のアイテムがこの24時間以内に更新された場合、それは選択されなくてもよい。エクスプレッションが230において生成された後、エクスプレッションは240においてリモート・ファイル同期ノードへ送信され得る。エクスプレッションは、240において複数のリモート・ファイル同期ノードへ送信され得る。240においてエクスプレッションを送信した後、方法200は、295において終了することができる。
もし、215において上記の同期がローカルに開始された同期でない(例えば、遠隔開始の同期)ならば、250において、受信したCSFベースのエクスプレッションが評価され得る。エクスプレッションは、250において、同期したファイルシステムのノードで共有される1つまたは複数のテンプレートに基づいて評価され得る。250において、エクスプレッションは、自然言語処理エンジンに基づいて評価され得る。実施形態において、事前生成されたキーが依然利用される場合、250におけるエクスプレッションの評価は、同期した、事前生成されたキーに基づいてもよい。幾つかの実施形態では、ファイルシステムは、250におけるエクスプレッションの評価の実行を確実にするために、同期しているコンテンツの1つまたは複数のアイテムをキャッシュし得る。第1の例においては、第1のオブジェクトは、先の同期動作に基づいて更新され得、更新される前のオブジェクトの状態は更新キャッシュに置かれるであろう。更新キャッシュは更新を一定期間記憶し得る。幾つかの実施形態では、この期間によって、正当なトランザクションのみの成功した認証と、キーの組の変化の現実(すなわち、同期したファイルシステムの同期したコンテンツ)とのバランスをとることができる。第1の例においては、キャッシュは、250における30分古いトランザクションについての正当なエクスプレッションの評価のために利用され得る。第2の例においては、キャッシュは、250における45秒古いトランザクションについての正当なエクスプレッションの評価のために利用され得る。
エクスプレッションが255において正当なエクスプレッションとして評価する場合、260において同期動作が実行され得る。260における同期動作の実行は、受領側ファイル同期ノードに含まれるローカル・ファイルシステムまたはデータベースへ1つまたは複数の値を書き込むことを含み得る。例えば、ディスク・コントローラに、ハード・ディスクの1つまたは複数のプラッタ上の磁気ビットを反転させる。255においてエクスプレッションが正当と評価するかどうか判断した後に(または同期動作260を実行した後に)、方法200は、295において終了することができる。
第1の例においては、230においてエクスプレッションを生成することは、第1のファイルシステムから1つまたは複数のコンテンツ・アイテムの中から「Henry Pictures」という名の第1のフォルダを選択することを含む場合がある。第1のフォルダは、第1の属性を含む1つまたは複数の属性を含み得る。第1の属性は、31個のファイルおよびフォルダが第1のフォルダの中にあることを示す。1つのフォルダ内のコンテンツ・アイテムの数を示すテンプレート・エントリが、コンテンツ・テーブルから選択される。230においてエクスプレッションを生成した結果は第1のエクスプレッションになる。第1のエクスプレッションには、「『31個の』アイテムがフォルダ『Henry Pictures』に位置する?」と記載される。エクスプレッションは、第2のファイルシステムによる検査および比較により真であると解決したエクスプレッションであり得る。
第2の例においては、250においてエクスプレッションを評価することは、第2のファイルシステムのコンテンツを、受信したエクスプレッション(例えば、先行する段落における第1の例において生成されたエクスプレッション)と比較することを含み得る。このエクスプレッションには、「『31個の』アイテムがフォルダ『Henry Pictures』に位置する?」と記載されている。このエクスプレッションは、第1のアイテム『31』、および、第2のアイテム『Henry Pictures』、ならびに、ボディ「_個のアイテムが、フォルダ_に位置する?」を含み得る。このエクスプレッションは、210において、ファイル同期要求の一部として受信され得る。この評価は、第2のファイルシステムから1つまたは複数のコンテンツ・アイテムを読み出すことを含み得る。このエクスプレッションは、自然言語処理を使用して解析され、第1のアイテムおよび第2のアイテムを比較可能な要素に変える。この評価は、第2のファイルシステムから全てのフォルダを読み出して、「Henry Pictures」に対する一致が見つかるまで各フォルダにわたって繰り返すことを含み得る。第2のファイルシステムにおいて一致するフォルダを発見すると、一致するフォルダの属性および一致するフォルダに関連したメタデータの属性の走査によって、エクスプレッションを真であると(すなわち、現在、31のアイテムがフォルダHenry Picturesにあると)評価することができる。
図3は、同期したコンテンツに基づいて、同期したファイルシステムにおいて削除を実行するための実施形態と一致する方法300のフロー図である。方法300は、ファイル同期システムのファイルシステム・サーバまたはデータ・サーバによって実行され得る。方法300は、本願明細書において開示されるより多いかまたは少ない動作を含み得る。幾らかの動作は、連続的に、または、周期的に実行され得る。動作310は、例えば、毎秒、3秒毎、または、16ミリ秒毎に実行され得る。方法300の幾らかの動作は、組み合わされるか、または分離され得る。特定のファイル同期システムが複数のサーバを含み得るので、方法300の幾らかの動作は第1のサーバによって実行され得、他の動作は第2のサーバによって実行され得る。幾つかの実施形態では、方法300は、ファイル同期システムの複数のサーバによって並行して実行され得る。説明のために、方法300は、1つのローカル・ファイルシステムと1つのリモート・ファイルシステムとの間で記述されるであろうし、2つのファイルシステムが共に同期される。
310において、1つまたは複数のファイルシステム・コマンドが受信され得る。ファイルシステム・コマンドは、コンピュータ(例えば、コンピュータのファイルシステム上のフォルダに新しい画像ファイルを作成するユーザ)のユーザから、310において受信され得る。ファイルシステム・コマンドは、自動化されたデーモンまたはジョブに基づいて310において受信され得る。幾つかの実施形態では、ファイルシステム・コマンドは、inotifyフレームワークに基づいて受信され得る。幾つかの実施形態では、ファイルシステム・コマンドは、LWEフレームワークに基づいて受信され得る。ファイルシステム・コマンドは、API(例えば、get(), put(), delete(), post())の形であり得る。幾つかの実施形態では、ファイルシステム・コマンドは、RESTプロトコル(例えば、create(), update(), read(), delete())の形であり得る。ファイルシステム・コマンドは、他の同期しているファイルシステムと同期しているローカル・ファイルシステム上の第1のコンテンツ・アイテムを対象とし得る。
320において、ファイルシステム・コマンドのタイプが判断され得る。320において、ファイルシステム・コマンドのタイプは、コマンドを伝えるために用いられるプロトコルのタイプに基づいて判断され得る。例えば、受信したコマンドをCURDモデルと比較することにより、320において受信したコマンドがRESTコマンドであると判断する。330においてファイルシステム・コマンドが削除でない場合、方法300は395において終了することができる。330においてファイルシステム・コマンドが削除コマンドであると判断される場合、削除されるべきコンテンツ・アイテムは同期していることが、340において確認される。同期しているアイテムは、1つまたは複数の追加のファイルシステムと同期している1つのファイルシステムのコンテンツの1つまたは複数のアイテム(例えば、ファイルシステム・バックアップによってバックアップされるファイル、階層型ファイルシステムに対して階層化されたファイル、クラウド・ベースのファイル記憶サービスにおけるクラウド同期ファイル等)である。340において、上記コマンドによって識別されたアイテムの検査を実行することにより、アイテムが同期していることが確認され得る。第1の例においては、このアイテムは、クラウド・ベースの階層型システムのリモート・アイテム(例えば、オブジェクト、コンテナ、メタデータ、ドメイン等)であり得る。引き続き、第1の例において、上記階層化されたアイテムは、階層化されたストレージに関係付けられたローカル・ストレージ・デバイスへのアクセス(例えば、ローカル・アイテムを指し示す連番化された名称)によって区別可能である階層型記憶フォーマットであり得る。第2の例においては、上記アイテムは、階層化された同等物を有するローカル・アイテムでもよい。引き続き、第2の例において、上記アイテムは、縮小されたサイズを有し対応する階層化されたアイテムへのポインタのみを含む、スタブまたはショートフォーム・オブジェクト(short-form object)のフォーマットであってもよい。引き続き、第2の例において、スタブは、直接的(例えば、対応する階層化されたアイテムへのポインタ)でも、間接的(例えば、階層化されたアイテムに関する情報を含むデータベースを指し示すもの)でもよい。スタブは、例えば、そのスタブまたはそのスタブのポインタにおいて表される、対応する同期したコンテンツの最終変更日、のような追加情報を含み得る。コマンドは、ローカル・ファイルシステムに記憶されるアイテムを対象とし得る。
340において1つのアイテムが同期していることが確認される場合、342において第1の認証ファクタが第2のファイルシステムへ送信され得る。第1の認証ファクタは、主認証ファクタでもよい。幾つかの実施形態では、主認証ファクタは、同期したファイルシステム内の1つまたは複数のデバイスへアクセスするために、それら1つまたは複数のデバイスによって利用されるファクタであり得る。第1の認証ファクタは、例えば、パスワードまたはパスフレーズのような、単一の情報でもよい。第1の認証ファクタは、例えば、ユーザ名およびパスワードのような、複数の情報でもよい。第1の認証ファクタは、ローカル・ファイルシステムとは別に記憶され得る(例えば、RSAキー・フォブに記憶され得る、または、認証データベースに記憶され得る、または、安全なネットワーク上だけでアクセスできるキー・サーバに記憶され得る等)。幾つかの実施形態では、第1の認証ファクタは、342において、第1の伝送チャネル(例えば、第1のネットワーク、ワイヤレス・ネットワーク、LAN、Bluetooth(登録商標)パーソナル・エリア・ネットワーク等)を通して送信され得る。342において、第1の認証ファクタは、リモート・ファイルシステムを動作するサーバへ送信され得る。
342において第1の認証ファクタを送信した後に、344においてコンテンツベース副認証ファクタ(CSF)が送信され得る。CSFは、342において第1の認証ファクタを受信した受領側同期サーバからの要求に応答して344において送信され得る。344におけるCSFの送信は、第2の伝送チャネル(例えば、第2のネットワーク、第2のワイヤレス・ネットワーク、別のLAN、別のパーソナル・エリア・ネットワーク等)を通してであってよい。
344においてCSFを送信することの一部として、CSFは、ローカル・ファイルシステムに含まれる同期コンテンツに基づいて生成され得る。幾つかの実施形態では、CSFは、344におけるCSFの送信とは別の動作として生成され得る。上記ファイルシステムの上記コンテンツは、任意の属性、ディスクリプタ、特性、値、あるいは、ファイル、フォルダ、メタデータ、または、アカウントに関係するか、または、これらの何れかを記述する、他の任意の情報であり得る。CSFを生成するために用いるコンテンツは、削除コマンドが対象とされたアカウントに関係するものであってもよい。幾つかの実施形態では、CSFを生成するために用いるコンテンツは、他のアカウント(例えば、これもまたローカル・ファイルシステムとリモート・ファイルシステムとの間において同期している第2のユーザのアカウント)に関係するものであってもよい。CSFを生成するために用いるコンテンツは、第1の認証ファクタとは別(例えば、パスワードでない、ユーザ名でない、生成されたRSAキーでない等)であり得る。CSFは、質問文または宣言文のようなエクスプレッション(言語エクスプレッションとも称する)でもよい。生成されたCSFは、344において、リモート・ファイルシステムを動作するサーバへ送信され得る。
342において第1の認証ファクタを、または、344において第2の認証ファクタ(すなわち、CSF)を送信した後に、346において、削除コマンドはリモート・ファイルシステムへ送信され得る。削除コマンドは、342における第1の認証ファクタの一部として346において送信されてもよい。幾つかの実施形態では、第1の認証ファクタ、第2の認証ファクタ、または、削除コマンド、あるいはその組合せは、共に送信され得る。例えば、346において削除コマンドを送信すること、および、344においてCSFを送信することは、同時に起こってもよい。幾つかの実施形態では、第1の認証ファクタ、第2の認証ファクタ、または、削除コマンド、あるいはその組合せは、単一の送信として、342、344、および、346において送信され得る。
確認応答(acknowledgement、確認(confirmation)とも称する)は、348において受信され得る。確認応答は、342において送信された第1の認証ファクタが受信されたことの確認を受信することに応答して、348において受信され得る。確認応答は、344で送信されたCSFが受信されたことの確認を受信することに応答して、348において受信され得る。確認応答は、346で送信された削除コマンドが受信されたことの確認を受信することに応答して、348において受信され得る。確認応答は、リモート・ファイルシステムと関連して1つまたは複数のサーバまたはコンピュータによって生成され得る。確認応答は、第1の伝送チャネル、第2の伝送チャネル、または、追加の伝送チャネルを通して受信され得る。幾つかの実施形態では、348において受信される確認応答は、342における第1の認証ファクタまたは344におけるCSFが346において送信された削除コマンドを認証しないことを示すことができる。
350において、削除コマンドは、ローカル・ファイルシステム上で実行され得る。342、344、または、346において様々なコンポーネントをリモート・ファイルシステムへ送信した後に、あるいは、348の確認応答の後に、削除コマンドは350において実行され得る。削除コマンドが同期したコンテンツを対象としないと340において判断されるならは、削除コマンドは350において実行され得る。350において削除コマンドがローカル・ファイルシステム上で実行された後、395において方法300は終了することができる。
図4は、本開示の実施形態に従って用いられ得るコンピュータ・システムの1つの例401の代表的な重要コンポーネントを示す。個々のコンポーネントは、複雑さ、数、タイプ、または、構成、あるいはその組合せにおいて異なる場合があると認識される。開示される特定の例は、例示のみを目的とし、必ずしもそのような変形に限られるというわけではない。コンピュータ・システム401は、プロセッサ410、メモリ420、入出力インタフェース(本願明細書においては、I/OまたはI/Oインタフェース)430、および、メインバス440を含み得る。メインバス440は、コンピュータ・システム401の他のコンポーネントに対して通信経路を提供することができる。幾つかの実施形態では、メインバス440は、特別なデジタル・シグナル・プロセッサ(図示せず)のような他のコンポーネントに接続し得る。
コンピュータ・システム401のプロセッサ410は、1つまたは複数のコア412A、412B、412C、412D(集合的には、412)を含んで構成され得る。プロセッサ410は、更に、コア412のために命令およびデータの一時ストレージを提供する、1つまたは複数のメモリ・バッファまたはキャッシュ(図示せず)を含み得る。コア412は、キャッシュから、または、メモリ420から与えられる入力に対して命令を実行して、結果をキャッシュまたはメモリに出力することができる。コア412は、本開示の実施形態と一致する1つまたは複数の方法を実行するように構成された1つまたは複数の回路を含んで構成され得る。幾つかの実施形態では、コンピュータ・システム401は、複数のプロセッサ410を含み得る。幾つかの実施形態では、コンピュータ・システム401は、単一のコア412を有する単一のプロセッサ410でもよい。
コンピュータ・システム401のメモリ420は、メモリ・コントローラ422を含み得る。幾つかの実施形態では、メモリ420は、データおよびプログラムを記憶するために、ランダムアクセス半導体メモリ、ストレージ・デバイス、または、記憶媒体(揮発性または不揮発性の何れか)を含み得る。幾つかの実施形態では、メモリは、複数のモジュールの形(例えば、デュアル・インライン・メモリ・モジュール)であり得る。メモリ・コントローラ422はプロセッサ410と通信することができ、メモリ420内の情報の記憶および検索を容易にする。メモリ・コントローラ422はI/Oインタフェース430と通信することができ、メモリ420における入力または出力の記憶および検索を容易にする。
I/Oインタフェース430は、I/Oバス450、端末インタフェース452、ストレージ・インタフェース454、I/Oデバイス・インタフェース456、および、ネットワーク・インタフェース458を含み得る。I/Oインタフェース430は、メインバス440をI/Oバス450に接続し得る。I/Oインタフェース430は、プロセッサ410およびメモリ420からI/Oバス450の様々なインタフェースへ命令およびデータを導くことができる。I/Oインタフェース430は、I/Oバス450の様々なインタフェースからプロセッサ410およびメモリ420へ命令およびデータを導くこともできる。これらの様々なインタフェースは、端末インタフェース452、ストレージ・インタフェース454、I/Oデバイス・インタフェース456、および、ネットワーク・インタフェース458を含み得る。幾つかの実施形態では、上記様々なインタフェースは、上述したインタフェースのサブセットを含む場合がある(例えば、産業上の応用における組込み型コンピュータ・システムは、端末インタフェース452およびストレージ・インタフェース454を含まない場合がある)。
コンピュータ・システム401の全体にわたる複数の論理モジュールは、ハイパーバイザまたはオペレーティング・システム(図示せず)に対して、1つまたは複数のコンポーネントへの変更および障害についての情報を通信することができる。複数の論理モジュールは、メモリ420、プロセッサ410、および、I/Oインタフェース430を含むがこれらに限らない。ハイパーバイザまたはオペレーティング・システムは、コンピュータ・システム401において利用可能な様々なリソースを割り当てることができ、メモリ420におけるデータの位置、および、様々なコア412に割り当てられるプロセスの位置を追跡することができる。複数の要素を組み合わせるかまたは再編成する実施形態において、上記論理モジュールの態様および能力は組み合わされるまたは再分配され得る。これらの変形は、当業者にとって明らかである。
本開示はクラウド・コンピューティングに関する詳細な記述を含むが、本願明細書において詳述される教示の実施がクラウド・コンピューティング環境に限られないことは理解すべきである。むしろ、本発明の実施形態は、現在知られているかまたは後に開発される他のタイプの任意のコンピューティング環境に関連しても実施され得る。
クラウド・コンピューティングは、サービスのプロバイダとの対話および管理作業を最小にしつつ迅速に配給且つリリースされ得る構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、および、サービス)の共用プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配給のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および、少なくとも4つの展開モデルを含み得る。
特性は、以下の通りである。
オンデマンドのセルフサービス:クラウドの消費者は、サービスのプロバイダとの人間の対話を必要とせずに自動的に必要に応じて、例えば、サーバ時間およびネットワーク・ストレージのようなコンピューティング能力を一方的に設定し得る。
広いネットワーク・アクセス:能力はネットワークを通じて利用可能で、種々のシン(thin)またはシック(thick)クライアントのプラットフォーム(例えば、携帯電話、ラップトップ、および、PDA)による使用を促進する標準メカニズムを通してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースは、需要に従って動的に割り当てられ再割り当てされる様々な物理的および仮想的なリソースを、マルチテナント・モデルを用いて、複数の消費者に提供するためにプールされる。消費者が、一般に、提供されたリソースの正確な位置について制御または知識を有することなく、より高い抽象化のレベルにおける位置(例えば、国、州、または、データ・センター)を特定することが可能であり得るという点で、位置独立の意味がある。
迅速な弾力性:能力は、迅速に、そして、弾性力をもって、そして、場合によっては自動的に、配給されて、急速にスケールアウトすること、および、迅速にリリースされて急速にスケールインすることができる。消費者にとっては、配給に利用できる能力はしばしば無制限であるように見え、何時でも任意の量が購入可能である。
計測サービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域、および、アクティブなユーザ・アカウント)に相応しい、ある程度の抽象化レベルで計測能力を活用することによってリソースの使用を自動制御し最適化する。リソースの使用状況は、モニタされ、制御され、報告され得、利用されたサービスのプロバイダおよび消費者の両方に透明性を提供する。
サービス・モデルは、以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者へ提供される能力は、クラウド基盤上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)のようなシン・クライアント・インタフェースを通して様々なクライアント・デバイスからアクセス可能である。限られたユーザに特有のアプリケーションの構成設定という例外があり得るが、消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または、個々のアプリケーション機能さえも含む、基礎となるクラウド基盤を管理も制御もしない。
サービス(PaaS)としてのプラットフォーム:消費者へ供給される能力は、プロバイダによってサポートされるプログラミング言語およびツールを用いて作成された、消費者により作られまたは消費者により獲得されたアプリケーションをクラウド基盤上へ展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、または、ストレージを含む、基礎となるクラウド基盤を管理も制御もしないが、展開されたアプリケーション、そして、おそらくは、環境設定をホストするアプリケーションを制御する。
サービス(IaaS)としての基盤:消費者へ供給される能力は、処理、ストレージ、ネットワーク、および、他の基本的なコンピューティング・リソースを配給することである。ここで、消費者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアを展開し実行することができる。消費者は、基礎となるクラウド基盤を管理も制御もしないが、オペレーティング・システム、ストレージ、および、展開されたアプリケーションを制御し、そして、おそらくは、選択されたネットワーキング・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御する。
展開モデルは、以下の通りである。
プライベート・クラウド:クラウド基盤は、単に1つの組織のためにだけ動作される。それは、組織または第三者によって管理され得、構内または構外に存在し得る。
共同体クラウド:クラウド基盤は、幾つかの組織によって共有され、懸念(例えば、任務、セキュリティ要求、ポリシー、および、コンプライアンス上の問題)を共有した特定の共同体をサポートする。それが、それらの組織または第三者によって管理され得、構内または構外に存在し得る。
公的なクラウド:クラウド基盤は、一般市民または大きい産業グループに対して利用可能にされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド基盤は、それぞれ固有のエンティティのままであるが、データおよびアプリケーションのポータビリティを有効にする標準化された技術またはプロプライエタリの技術(例えば、クラウドの間のロード・バランシングのためのクラウド・バースティング)によって結び付けられた2つ以上のクラウド(プライベート、共同体、または、公的)の混合形態である。
クラウド・コンピューティング環境は、無国籍、低結合、モジュラー性、および、意味的な相互運用性に焦点を合わせて方向付けられたサービスである。クラウド・コンピューティングの核心は、相互接続したノードのネットワークを含む基盤である。
ここで図5を参照する。例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、例えば、パーソナル・デジタル・アシスタント(PDA)またはセルラ電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または、自動車コンピュータ・システム54N、あるいはその組合せのような、クラウド利用者により用いられるローカル・コンピューティング・デバイスが通信し得る1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信し得る。それらは、例えば、前述のような、プライベート・クラウド、共同体クラウド、公的なクラウド、もしくは、ハイブリッド・クラウドまたはその組合せのように、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る(図示せず)。これによって、クラウド消費者がローカル・コンピューティング・デバイス上のリソースを維持する必要はないようなサービスとして、基盤、プラットフォーム、または、ソフトウェア、あるいはその組合せをクラウド・コンピューティング環境50が提供し得るようになる。図5に示されるコンピューティング・デバイス54A~54Nのタイプが例示のみであることが意図されていることと、コンピューティング・ノード10およびクラウド・コンピューティング環境50が任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続、あるいはその両方を通って(例えば、ウェブ・ブラウザを用いて)、任意のタイプのコンピュータ化されたデバイスと通信し得ることとは理解されるであろう。
次に図6を参照する。クラウド・コンピューティング環境50(図5)により提供される一組の機能抽象化層が示される。図1、図2、および、図3に示されるコンポーネント、層、および、機能が例示のみであることを意図するものであり、それらによって本発明の実施形態が制限されないことが事前に理解されるべきである。図示されているように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの複数の例は、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、および、ネットワークおよびネットワーキング・コンポーネント66を含む。幾つかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化層70は、そこから以下の例の仮想エンティティが設けられ得る、1つの抽象化層を提供する。仮想サーバ71、仮想ストレージ72、仮想ネットワーク73(仮想プライベート・ネットワークを含む)、仮想アプリケーションおよびオペレーティング・システム74、および、仮想クライアント75。
1つの例において、管理層80が以下に記述する機能を提供し得る。リソース配給81は、コンピューティング・リソース、および、クラウド・コンピューティング環境の中でタスクを実行するために利用される他のリソースの動的な獲得を行う。測定およびプライシング82は、リソースがクラウド・コンピューティング環境の中で利用されるとき、費用追跡を実行し、そして、これらのリソースの消費に対する課金および請求書発行を行う。1つの例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、データおよび他のリソースの保護と共に、クラウド消費者およびタスクのためにアイデンティティ検証を行う。ユーザ・ポータル83は、消費者およびシステム管理者が、クラウド・コンピューティング環境へアクセスできるようにする。サービス・レベル管理84は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング・リソースの割振りおよび管理を行う。サービス品質保証契約(SLA:Service Level Agreement)計画および遂行85は、それに対する将来の要求がSLAに従って予想されるクラウド・コンピューティング・リソースのための事前の合意および獲得を行う。
ワークロード層90は、クラウド・コンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロードおよび機能の例は、以下のものを含む。マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室の教育配信93、データ解析処理94、トランザクション処理95、および、セキュリティおよび認証96。
本発明は、任意の考えられる技術的な詳細さの集積化レベルにおける、システム、方法、または、コンピュータ・プログラム製品、あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を、その上に有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持し記憶し得る有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、これらに限定されないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学的ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または、前述の任意の適当な組合せであり得る。コンピュータ可読記憶媒体のより多くの具体例の網羅的でないリストは、以下のものを含む。ポータブル・コンピュータ・ディスケット、ハード・ドライブ、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラム可能読取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブルコンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・ヴァーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、機械的に符号化されたデバイス(例えば、その上に記録された命令を有する穿孔カードまたは溝内の隆起構造)、および、前述の任意の適当な組合せ。(本明細書で用いられる)コンピュータ可読記憶媒体は、一過性の信号それ自体であるものとして解釈されるべきではない。一過性の信号とは、例えば、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体を通って伝播する電磁波(例えば、光ファイバーケーブルを通過する光パルス)、または、ワイヤを通って伝導する電気信号である。
本願明細書において記述されているコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、ネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは、ワイヤレス・ネットワーク、またはその組合せ)を経由して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線通信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、または、エッジサーバ、あるいはその組合せを含み得る。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、それぞれのコンピューティング/処理デバイスの中のコンピュータ可読記憶媒体に記憶するために、これらのコンピュータ可読プログラム命令を転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の設定データ、または、Smalltalk、C++、等のようなオブジェクト指向プログラミング言語、および、「C」プログラミング言語または類似のプログラミング言語のような手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記された、ソース・コードもしくはオブジェクトコードの何れかであり得る。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上で、それぞれ部分的にユーザのコンピュータ上およびリモート・コンピュータ上で、あるいは、全体的にリモート・コンピュータまたはサーバ上で実行し得る。後者の状況において、リモート・コンピュータは、(ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む)任意のタイプのネットワーク経由でユーザのコンピュータに接続され得る、あるいは、この接続は、(例えば、インターネット・サービス・プロバイダを用いインターネットを通して)外部コンピュータに為され得る。幾つかの実施形態では、本発明の複数の態様を実行するために、例えば、プログラマブル・ロジック回路、フィールドプログラマブル・ゲートアレイ(FPGA)、または、プログラマブル・ロジック・アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人化することによって、コンピュータ可読プログラム命令を実行し得る。
本願明細書において、本発明の複数の態様は、本発明の複数の実施形態に従って、方法、装置(システム)、および、コンピュータ・プログラム製品のフローチャート図示、または、ブロック図、あるいはその両方を参照して記述されている。フローチャート図示またはブロック図あるいはその両方の各ブロック、および、フローチャート図示またはブロック図あるいはその両方のブロックの組合せが、コンピュータ可読プログラム命令によって実装され得ることが理解されるであろう。
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または、他のプログラマブル・データ処理装置のプロセッサに提供され得、コンピュータまたは他のプログラマブル・データ処理装置プロセッサによって実行される命令がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定されている機能/動作を実現するための手段を作るようにして、マシンを形成することができる。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、または、他のデバイス、あるいはその組合せに対して、その中に記憶される命令を有するコンピュータ可読記憶媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定されている機能/動作の複数の態様を実施する命令を含む製品を構成するような、特定の仕方で機能するように指示し得るコンピュータ可読記憶媒体に記憶され得る。
上記のコンピュータ可読プログラム命令は、また、コンピュータ、他のプログラマブル・データ処理デバイス、または、他のデバイス上へロードされ、このコンピュータ、他のプログラマブル装置、または、他のデバイス上で実行されるべき一連の動作ステップに、このコンピュータ、他のプログラマブル装置、または、他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定されている機能/動作を実施するように、コンピュータ実施プロセスを生じさせることができる。
図面のフローチャートおよびブロック図は、本発明の様々な実施形態に従う、システム、方法、および、コンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および、動作を例示する。この点に関しては、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む、1つのモジュール、1つのセグメント、または、複数の命令の1つの部分を示すことができる。幾らかの代替の実施において、複数のブロックに記載された複数の機能は、図面に記載された順序とは異なる順序で起こる場合がある。例えば、連続して示される2ブロックは、関係する機能によっては、実際には、実質的に並行して、または、時々は逆順で実行され得る。ブロック図またはフローチャート図示あるいはその両方の各ブロック、および、ブロック図またはフローチャート図示あるいはその両方における複数のブロックの組合せは、指定された機能または動作を実行するかまたは専用ハードウェアおよびコンピュータ命令の組合せを実施専用ハードウェア・ベースのシステムによって実現され得る点にも留意される。
本開示の様々な実施形態の記述は、例示目的で提示されたが、網羅的であることも開示された実施形態に限られることも意図されるものではない。記述されている実施形態の範囲を逸脱しない範囲で多くの変更および変形が当業者にとって明らかであろう。本願明細書において用いられる用語は、実施形態の原理、実際的応用、または、市場で見つかる技術を越える技術的な進歩を説明するため、あるいは、他の当業者が本願明細書において開示された実施形態を理解できるようにするために選ばれたものである。

Claims (20)

  1. コンピュータの情報処理による方法であって、
    第2のファイルシステム第2のオブジェクトを対象としたファイルシステム・コマンドを、第1のプロセッサによって、そして、第2のプロセッサによる同期動作のために前記第2のファイルシステムへ送信することであって、前記第2のオブジェクトは、第1のファイルシステムの第1のオブジェクトと同期しており、前記ファイルシステム・コマンドは、前記第1のオブジェクトを対象とするコマンドに応答したものである、該送信することと、
    エクスプレッションを、前記第1のプロセッサによって、そして、前記第2のプロセッサによる前記ファイルシステム・コマンドの認証のために、前記第2のファイルシステムへ送信することであって、前記エクスプレッションは、前記第1のファイルシステムの第3のオブジェクトに基づいて生成されて、前記第3のオブジェクトまたは前記第3のオブジェクトに関する属性を記述し、前記第3のオブジェクトは、前記第2のファイルシステムの第4のオブジェクトと同期する、該送信することと
    を含む方法。
  2. 前記第3のオブジェクトの、前記第2のファイルシステムの前記第4のオブジェクトとの前記同期は、前記第3のオブジェクトの更新を受信することに基づき、前記第4のオブジェクトの更新を受信すると前記第4のオブジェクトは前記第1のファイルシステムの前記第3のオブジェクトと同期する、請求項1に記載の方法。
  3. 前記エクスプレッションが副認証ファクタであり、前記方法は、
    前記第1のプロセッサによって、そして、前記第2のプロセッサによる認証のために、主認証ファクタを送信すること
    を更に含む、請求項1に記載の方法。
  4. 前記第1のファイルシステムの前記第3のオブジェクトがパスワードでない、請求項1に記載の方法。
  5. コンピュータの情報処理による方法であって、
    第2のファイルシステムの第2のオブジェクトを対象としたファイルシステム・コマンドを、第1のプロセッサによって、そして、第2のプロセッサによる同期動作のために前記第2のファイルシステムへ送信することであって、前記第2のオブジェクトは、第1のファイルシステムの第1のオブジェクトと同期しており、前記ファイルシステム・コマンドは、前記第1のオブジェクトを対象とするコマンドに応答したものである、該送信することと、
    エクスプレッションを、前記第1のプロセッサによって、そして、前記第2のプロセッサによる前記ファイルシステム・コマンドの認証のために、前記第2のファイルシステムへ送信することであって、前記エクスプレッションは、前記第1のファイルシステムの第3のオブジェクトに基づいて生成され、前記第3のオブジェクトは、前記第2のファイルシステムの第4のオブジェクトと同期する、該送信することと
    を含み、前記第1のファイルシステムの前記第3のオブジェクトが前記第1のファイルシステムの第1のフォルダ内のファイルの数を記述する属性である方法。
  6. コンピュータの情報処理による方法であって、
    第2のファイルシステムの第2のオブジェクトを対象としたファイルシステム・コマンドを、第1のプロセッサによって、そして、第2のプロセッサによる同期動作のために前記第2のファイルシステムへ送信することであって、前記第2のオブジェクトは、第1のファイルシステムの第1のオブジェクトと同期しており、前記ファイルシステム・コマンドは、前記第1のオブジェクトを対象とするコマンドに応答したものである、該送信することと、
    エクスプレッションを、前記第1のプロセッサによって、そして、前記第2のプロセッサによる前記ファイルシステム・コマンドの認証のために、前記第2のファイルシステムへ送信することであって、前記エクスプレッションは、前記第1のファイルシステムの第3のオブジェクトに基づいて生成され、前記第3のオブジェクトは、前記第2のファイルシステムの第4のオブジェクトと同期する、該送信することと
    を含み、前記第1のファイルシステムの前記第3のオブジェクトがメタデータ値である方法。
  7. コンピュータの情報処理による方法であって、
    第2のファイルシステムの第2のオブジェクトを対象としたファイルシステム・コマンドを、第1のプロセッサによって、そして、第2のプロセッサによる同期動作のために前記第2のファイルシステムへ送信することであって、前記第2のオブジェクトは、第1のファイルシステムの第1のオブジェクトと同期しており、前記ファイルシステム・コマンドは、前記第1のオブジェクトを対象とするコマンドに応答したものである、該送信することと、
    エクスプレッションを、前記第1のプロセッサによって、そして、前記第2のプロセッサによる前記ファイルシステム・コマンドの認証のために、前記第2のファイルシステムへ送信することであって、前記エクスプレッションは、前記第1のファイルシステムの第3のオブジェクトに基づいて生成され、前記第3のオブジェクトは、前記第2のファイルシステムの第4のオブジェクトと同期する、該送信することと
    を含み、前記方法は、
    前記第1のファイルシステムにおいて、前記第1のオブジェクトではない、前記第3のオブジェクトを検索することと、
    前記第3のオブジェクトが前記第2のファイルシステムの前記第4のオブジェクトと同期することを検出することと、
    前記第3のオブジェクトの属性を判断することと、
    前記属性および前記第3のオブジェクトに関係する質問であって、前記第2のファイルシステムによる分析に基づいて真であると解決される質問を生成することと
    を更に含む方法。
  8. 階層型ファイルシステムであって、
    第1のメモリと、
    1つまたは複数の第1のファイルシステム・オブジェクトからなる第1のファイルシステムを収容する第1のストレージ・デバイスと、
    前記第1のメモリおよび前記第1のストレージ・デバイスに通信可能に結合された第1のプロセッサと
    を備え、
    前記第1のプロセッサは、
    第1のファイルシステム・コマンドを受信することと、
    前記第1のファイルシステム・コマンドが、第2のファイルシステムの第2のオブジェクトと同期する前記第1のファイルシステムの第1のオブジェクトを対象とすることを検出することと、
    前記検出に基づいて、1つまたは複数の認証クレデンシャルを読み出すことと、
    前記第1のファイルシステム・コマンドが削除コマンドであることを識別することと、
    前記識別に基づいて、前記第1のファイルシステムに関係する言語エクスプレッションを生成することと、
    前記言語エクスプレッション、前記認証クレデンシャル、および、前記第2のファイルシステムに対する第2の削除コマンドを前記第2のファイルシステムに与えることと
    を実行するように構成される、階層型ファイルシステム。
  9. 前記階層型ファイルシステムが、
    第2のメモリと、
    前記第1のファイルシステムと同期する1つまたは複数の第2のファイルシステム・オブジェクトからなる第2のファイルシステムを収容する第2のストレージ・デバイスと、
    前記第2のメモリおよび前記第2のストレージ・デバイスに通信可能に結合された第2のプロセッサと、
    を更に備え、
    前記第2のプロセッサは、
    前記与えられた第2の削除コマンドを受信することと、
    前記受信した第2の削除コマンドに基づいて、前記認証クレデンシャルに基づく前記第2の削除コマンドの正当性を確認することと、
    前記言語エクスプレッションを前記第2のファイルシステムと比較することと、
    前記比較に基づいて、前記第2の削除コマンドを検証することと、
    前記正当性を確認され検証された削除コマンドに基づいて、前記1つまたは複数の第2のファイルシステム・オブジェクトのうちの前記第2のオブジェクトを削除することと
    を実行するように構成される、請求項8に記載の階層型ファイルシステム。
  10. システムであって、
    メモリと、
    前記メモリに通信可能に結合されたプロセッサと
    を備え、
    前記プロセッサは、
    第2のファイルシステム第2のオブジェクトを対象としたファイルシステム・コマンドを、第1のプロセッサによって、そして、第2のプロセッサによる同期動作のために前記第2のファイルシステムへ送信することであって、前記第2のオブジェクトは、第1のファイルシステムの第1のオブジェクトと同期しており、前記ファイルシステム・コマンドは、前記第1のオブジェクトを対象とするコマンドに応答したものである、該送信することと、
    エクスプレッションを、前記第1のプロセッサによって、そして、前記第2のプロセッサによる前記ファイルシステム・コマンドの認証のために、前記第2のファイルシステムへ送信することであって、前記エクスプレッションは、前記第1のファイルシステムの第3のオブジェクトに基づいて生成されて、前記第3のオブジェクトまたは前記第3のオブジェクトに関する属性を記述し、前記第3のオブジェクトは、前記第2のファイルシステムの第4のオブジェクトと同期する、該送信することと
    を含む方法を実行するように構成される、システム。
  11. 前記第3のオブジェクトの、前記第2のファイルシステムの前記第4のオブジェクトとの前記同期は、前記第3のオブジェクトの更新を受信することに基づき、前記第4のオブジェクトの更新を受信すると前記第4のオブジェクトは前記第1のファイルシステムの前記第3のオブジェクトと同期する、請求項10に記載のシステム。
  12. 前記エクスプレッションが副認証ファクタであり、前記方法は、
    前記第1のプロセッサによって、そして、前記第2のプロセッサによる認証のために、主認証ファクタを送信すること
    を更に含む、請求項10に記載のシステム。
  13. 前記第1のファイルシステムの前記第3のオブジェクトがパスワードでない、請求項10に記載のシステム。
  14. システムであって、
    メモリと、
    前記メモリに通信可能に結合されたプロセッサと
    を備え、
    前記プロセッサは、
    第2のファイルシステムの第2のオブジェクトを対象としたファイルシステム・コマンドを、第1のプロセッサによって、そして、第2のプロセッサによる同期動作のために前記第2のファイルシステムへ送信することであって、前記第2のオブジェクトは、第1のファイルシステムの第1のオブジェクトと同期しており、前記ファイルシステム・コマンドは、前記第1のオブジェクトを対象とするコマンドに応答したものである、該送信することと、
    エクスプレッションを、前記第1のプロセッサによって、そして、前記第2のプロセッサによる認証のために、前記第2のファイルシステムへ送信することであって、前記エクスプレッションは、前記第1のファイルシステムの第3のオブジェクトに基づいて生成され、前記第3のオブジェクトは、前記第2のファイルシステムの第4のオブジェクトと同期する、該送信することと
    を含む方法を実行するように構成され、
    前記第1のファイルシステムの前記第3のオブジェクトが前記第1のファイルシステムの第1のフォルダ内のファイルの数を記述する属性であるシステム。
  15. それによって具体化されるプログラム命令を有するコンピュータ可読記憶媒体を含むコンピュータ・プログラムであって、
    コンピュータによって実行可能な前記プログラム命令は、前記コンピュータに、
    第2のファイルシステム第2のオブジェクトを対象としたファイルシステム・コマンドを、第1のプロセッサによって、そして、第2のプロセッサによる同期動作のために前記第2のファイルシステムへ送信することであって、前記第2のオブジェクトは、第1のファイルシステムの第1のオブジェクトと同期しており、前記ファイルシステム・コマンドは、前記第1のオブジェクトを対象とするコマンドに応答したものである、該送信することと、
    エクスプレッションを、前記第1のプロセッサによって、そして、前記第2のプロセッサによる前記ファイルシステム・コマンドの認証のために、前記第2のファイルシステムへ送信することであって、前記エクスプレッションは、前記第1のファイルシステムの第3のオブジェクトに基づいて生成されて、前記第3のオブジェクトまたは前記第3のオブジェクトに関する属性を記述し、前記第3のオブジェクトは、前記第2のファイルシステムの第4のオブジェクトと同期する、該送信することと
    を実行させる、コンピュータ・プログラム。
  16. 前記第3のオブジェクトの、前記第2のファイルシステムの前記第4のオブジェクトとの前記同期は、前記第3のオブジェクトの更新を受信することに基づき、前記第4のオブジェクトの更新を受信すると前記第4のオブジェクトは前記第1のファイルシステムの前記第3のオブジェクトと同期する、請求項15に記載のコンピュータ・プログラム。
  17. 前記エクスプレッションが副認証ファクタであり、前記プログラム命令が、前記コンピュータに
    前記第1のプロセッサによって、そして、前記第2のプロセッサによる認証のために、主認証ファクタを送信すること
    を更に実行させるように、前記コンピュータによって実行可能である、請求項15に記載のコンピュータ・プログラム。
  18. 前記第1のファイルシステムの前記第3のオブジェクトがパスワードでない、請求項15に記載のコンピュータ・プログラム。
  19. それによって具体化されるプログラム命令を有するコンピュータ可読記憶媒体を含むコンピュータ・プログラムであって、
    コンピュータによって実行可能な前記プログラム命令は、前記コンピュータに、
    第2のファイルシステムの第2のオブジェクトを対象としたファイルシステム・コマンドを、第1のプロセッサによって、そして、第2のプロセッサによる同期動作のために前記第2のファイルシステムへ送信することであって、前記第2のオブジェクトは、第1のファイルシステムの第1のオブジェクトと同期しており、前記ファイルシステム・コマンドは、前記第1のオブジェクトを対象とするコマンドに応答したものである、該送信することと、
    エクスプレッションを、前記第1のプロセッサによって、そして、前記第2のプロセッサによる認証のために、前記第2のファイルシステムへ送信することであって、前記エクスプレッションは、前記第1のファイルシステムの第3のオブジェクトに基づいて生成され、前記第3のオブジェクトは、前記第2のファイルシステムの第4のオブジェクトと同期する、該送信することと
    を実行させ、前記第1のファイルシステムの前記第3のオブジェクトが前記第1のファイルシステムの第1のフォルダ内のファイルの数を記述する属性であるコンピュータ・プログラム。
  20. それによって具体化されるプログラム命令を有するコンピュータ可読記憶媒体を含むコンピュータ・プログラムであって、
    コンピュータによって実行可能な前記プログラム命令は、前記コンピュータに、
    第2のファイルシステムの第2のオブジェクトを対象としたファイルシステム・コマンドを、第1のプロセッサによって、そして、第2のプロセッサによる同期動作のために前記第2のファイルシステムへ送信することであって、前記第2のオブジェクトは、第1のファイルシステムの第1のオブジェクトと同期しており、前記ファイルシステム・コマンドは、前記第1のオブジェクトを対象とするコマンドに応答したものである、該送信することと、
    エクスプレッションを、前記第1のプロセッサによって、そして、前記第2のプロセッサによる認証のために、前記第2のファイルシステムへ送信することであって、前記エクスプレッションは、前記第1のファイルシステムの第3のオブジェクトに基づいて生成され、前記第3のオブジェクトは、前記第2のファイルシステムの第4のオブジェクトと同期する、該送信することと
    を実行させ、前記第1のファイルシステムの前記第3のオブジェクトがメタデータ値であるコンピュータ・プログラム。
JP2020520113A 2017-10-12 2018-09-19 ファイルシステムのコンテンツに基づくセキュリティ Active JP7117062B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/730,794 2017-10-12
US15/730,794 US10467424B2 (en) 2017-10-12 2017-10-12 File system content based security
PCT/IB2018/057213 WO2019073324A1 (en) 2017-10-12 2018-09-19 SECURITY BASED ON THE CONTENT OF A FILE SYSTEM

Publications (2)

Publication Number Publication Date
JP2020537246A JP2020537246A (ja) 2020-12-17
JP7117062B2 true JP7117062B2 (ja) 2022-08-12

Family

ID=66097492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020520113A Active JP7117062B2 (ja) 2017-10-12 2018-09-19 ファイルシステムのコンテンツに基づくセキュリティ

Country Status (6)

Country Link
US (1) US10467424B2 (ja)
JP (1) JP7117062B2 (ja)
CN (1) CN111201763B (ja)
DE (1) DE112018004008B4 (ja)
GB (1) GB2580005B (ja)
WO (1) WO2019073324A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180335902A1 (en) * 2017-05-16 2018-11-22 Apple Inc. Techniques for dynamically displaying relevant files for selection
US11308119B2 (en) * 2018-12-03 2022-04-19 International Business Machines Corporation Replicating large statements with low latency
US11070540B1 (en) 2018-12-28 2021-07-20 Juniper Networks, Inc. Dynamic provisioning of user groups within computer networks based on user attributes
US11516220B1 (en) 2018-12-28 2022-11-29 Juniper Networks, Inc. Creating roles and controlling access within a computer network
US11165777B2 (en) 2019-05-30 2021-11-02 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11138328B2 (en) 2019-05-30 2021-10-05 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11153315B2 (en) 2019-05-30 2021-10-19 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
CN111259412B (zh) * 2020-01-09 2023-12-05 远景智能国际私人投资有限公司 权限控制方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130238552A1 (en) 2012-03-12 2013-09-12 Joseph Saib Systems and methods for synchronizing files in a networked communication system
JP2016505964A (ja) 2012-12-19 2016-02-25 ドロップボックス, インコーポレイテッド オンラインストレージシステムでのデータ同期化に関するアプリケーションプログラミングインタフェース

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101585A (en) * 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6430576B1 (en) * 1999-05-10 2002-08-06 Patrick Gates Distributing and synchronizing objects
US6385623B1 (en) * 1999-11-12 2002-05-07 Dell Usa, L.P. System and method for ensuring proper execution of scheduled file updates
US7216289B2 (en) * 2001-03-16 2007-05-08 Microsoft Corporation Method and apparatus for synchronizing multiple versions of digital data
US20090037492A1 (en) * 2007-07-31 2009-02-05 Ahmad Baitalmal Framework for Synchronizing Applications
US20090150569A1 (en) * 2007-12-07 2009-06-11 Avi Kumar Synchronization system and method for mobile devices
US20090248737A1 (en) * 2008-03-27 2009-10-01 Microsoft Corporation Computing environment representation
CN101567858B (zh) 2008-04-21 2011-04-27 联想(北京)有限公司 一种数据同步的方法和系统
WO2009132261A1 (en) * 2008-04-25 2009-10-29 Vmware, Inc. Updating a file using differences and file format therefor
US9069599B2 (en) 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
CN101702732A (zh) 2009-09-23 2010-05-05 中兴通讯股份有限公司 一种文件同步方法及文件同步系统
CN101706802B (zh) 2009-11-24 2013-06-05 成都市华为赛门铁克科技有限公司 一种数据写入、修改及恢复的方法、装置及服务器
US9235593B2 (en) 2010-09-30 2016-01-12 Emc Corporation Transmitting filesystem changes over a network
US9560130B2 (en) * 2010-09-30 2017-01-31 Microsoft Technology Licensing, Llc Presenting availability statuses of synchronized objects
US20130138615A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Synchronizing updates across cluster filesystems
US8539567B1 (en) 2012-09-22 2013-09-17 Nest Labs, Inc. Multi-tiered authentication methods for facilitating communications amongst smart home devices and cloud-based servers
US9424437B1 (en) 2012-10-12 2016-08-23 Egnyte, Inc. Systems and methods for providing file access in a hybrid cloud storage system
US9507795B2 (en) 2013-01-11 2016-11-29 Box, Inc. Functionalities, features, and user interface of a synchronization client to a cloud-based environment
EP3080731B1 (en) 2013-12-13 2022-07-06 Perkinelmer Informatics, Inc. System and method for uploading and management of contract-research-organization data to a sponsor company's electronic laboratory notebook
US9641488B2 (en) * 2014-02-28 2017-05-02 Dropbox, Inc. Advanced security protocol for broadcasting and synchronizing shared folders over local area network
US9792180B2 (en) * 2014-05-01 2017-10-17 Datiphy Inc. Intelligent backup and restore system
US20190109857A1 (en) * 2016-03-24 2019-04-11 Document Dynamics, Llc Securing cloud drives using environment-aware security tokens

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130238552A1 (en) 2012-03-12 2013-09-12 Joseph Saib Systems and methods for synchronizing files in a networked communication system
JP2016505964A (ja) 2012-12-19 2016-02-25 ドロップボックス, インコーポレイテッド オンラインストレージシステムでのデータ同期化に関するアプリケーションプログラミングインタフェース

Also Published As

Publication number Publication date
CN111201763A (zh) 2020-05-26
JP2020537246A (ja) 2020-12-17
GB2580005B (en) 2020-12-16
US10467424B2 (en) 2019-11-05
DE112018004008B4 (de) 2021-04-29
GB2580005A (en) 2020-07-08
US20190114440A1 (en) 2019-04-18
WO2019073324A1 (en) 2019-04-18
CN111201763B (zh) 2022-06-24
DE112018004008T5 (de) 2020-04-23
GB202006207D0 (en) 2020-06-10

Similar Documents

Publication Publication Date Title
JP7117062B2 (ja) ファイルシステムのコンテンツに基づくセキュリティ
US10791025B2 (en) Migration of an existing computing system to new hardware
US11537556B2 (en) Optimized content object storage service for large scale content
US10168927B2 (en) Data mirroring for network attached storage
US8838529B2 (en) Applying replication rules to determine whether to replicate objects
US9607004B2 (en) Storage device data migration
US20180225181A1 (en) Avoiding inode number conflict during metadata restoration
US11074227B2 (en) ID management for a network attached storage system
US10929246B2 (en) Backup capability for object store used as primary storage
US20160283743A1 (en) Managing digital photograph metadata anonymization
US20210109663A1 (en) Point-in-time backups via a storage controller to an object storage cloud
CN106301886A (zh) 一种用户操作审计方法及装置
US11392617B2 (en) Recovering from a failure of an asynchronous replication node
US10878014B2 (en) Protocol based user data management
US10949393B2 (en) Object deletion in distributed computing environments
US10970253B2 (en) Fast data deduplication in distributed data protection environment
US10678813B2 (en) Scaling quorum based replication systems
US20220004651A1 (en) Management of computing secrets
CN115485677A (zh) 在分布式数据存储环境中的安全数据复制
US10713218B2 (en) System and method to optimally apply local retention in a remote repository
Gunawardhana Cloud-based Archival Storage Technology: Importance from End User-view
Shevel et al. Geographically distributed software defined storage (the proposal)
US20160179880A1 (en) System and method for determining whether files are appropriate for addition into a collection

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200420

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20200417

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20200220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220314

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

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: 20220719

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20220720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220728

R150 Certificate of patent or registration of utility model

Ref document number: 7117062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150