(57)【要約】  従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする方法及びデバイス。一実装形態において、方法は、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得することと、クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連するかどうかを判定することと、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連すると判定することに応じて、従来のファイルアクセス要求を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つクラウドストレージサービスシステムへのアクセスを開始することと、クラウドストレージサービスシステムによって返される結果データを受信し、結果データを従来のファイル形式に変換し、且つ結果データをクライアントアプリケーションに返すこととを含み得る。
2019507409.tif 000002
【特許請求の範囲】
【請求項１】
従来のファイルシステムインターフェースを使用することによってクラウドストレージサービスにアクセスする方法であって、
クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得することと、
クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連するかどうかを判定することと、
前記従来のファイルアクセス要求がクラウドストレージサービスシステムに関連すると判定することに応じて、前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つ前記クラウドストレージサービスシステムへのアクセスを開始することと、
前記クラウドストレージサービスシステムによって返される結果データを受信し、前記結果データを従来のファイル形式に変換し、且つ前記結果データを前記クライアントアプリケーションに返すことと
を含む方法。
【請求項２】
クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得することは、
ＡＰＩフックプログラムを使用することにより、前記クライアントアプリケーションによって送信される前記従来のファイルアクセス要求を取得すること、又は
オペレーティングシステムを使用することにより、前記クライアントアプリケーションによって送信される前記従来のファイルアクセス要求を取得すること
を更に含む、請求項１に記載の方法。
【請求項３】
クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連するかどうかを判定することは、
前記従来のファイルアクセス要求から、アクセスされるディスクのディスク番号を抽出することと、
前記ディスク番号が、ディスク番号と前記クラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定することと、
前記ディスク番号が前記事前記憶マッピング表に存在すると判定することに応じて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連すると判定することと
を更に含む、請求項１又は２に記載の方法。
【請求項４】
クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連するかどうかを判定することは、
前記従来のファイルアクセス要求から、アクセスされるファイルのファイル経路プレフィックスを抽出することと、
前記ファイル経路プレフィックスが、ファイル経路プレフィックスと前記クラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定することと、
前記ファイル経路プレフィックスが前記事前記憶マッピング表に存在すると判定することに応じて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連すると判定することと
を更に含む、請求項１又は２に記載の方法。
【請求項５】
クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連するかどうかを判定することは、
前記従来のファイルアクセス要求から、アクセスされるディスクのディスク番号を抽出することと、
前記ディスク番号が、マウントされたディスク番号と前記クラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定することであって、マウントされたディスク番号は、前記クラウドストレージサービスシステムのファイルがマウントされているディスクを示す番号である、判定することと、
前記ディスク番号が前記事前記憶マッピング表に存在すると判定することに応じて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連すると判定することと
を更に含む、請求項１又は２に記載の方法。
【請求項６】
前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つ前記クラウドストレージサービスシステムへのアクセスを開始することは、
オペレーティングシステムに組み込まれるファイル共有システムクライアントを使用することにより、前記従来のファイルアクセス要求を、ファイル共有システムによって認識できる要求に変換し、且つ前記要求をファイル共有システムサーバに送信することと、
前記ファイル共有システムサーバによって受信される前記要求を、前記クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つ前記アクセス要求を前記クラウドストレージサービスシステムの前記クライアントに送信することと、
前記クラウドストレージサービスシステムの前記クライアントを使用することにより、前記アクセス要求をＨＴＴＰアクセス要求に変換し、且つ前記ＨＴＴＰアクセス要求を前記クラウドストレージサービスシステムのサーバに送信することと
を更に含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記ファイル共有システムは、ネットワークファイルシステム（ＮＦＳ）、ユーザ空間ファイルシステム（ＦＵＳＥ）、又はSambaである、請求項６に記載の方法。
【請求項８】
前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つ前記クラウドストレージサービスシステムへのアクセスを開始することは、
前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つ前記アクセス要求を前記クラウドストレージサービスシステムの前記クライアントに送信することと、
前記クラウドストレージサービスシステムの前記クライアントを使用することにより、前記アクセス要求をＨＴＴＰアクセス要求に変換し、且つ前記ＨＴＴＰアクセス要求を前記クラウドストレージサービスシステムのサーバに送信することと
を更に含む、請求項１〜５のいずれか一項に記載の方法。
【請求項９】
前記クラウドストレージサービスシステムは、前記クラウドストレージサービスを支援する分散ファイルシステム又はオブジェクトストレージシステムである、請求項１に記載の方法。
【請求項１０】
従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする装置であって、
クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得するために使用される取得ユニットと、
クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連するかどうかを判定し、且つ前記従来のファイルアクセス要求がクラウドストレージサービスシステムに関連すると判定することに応じて、変換ユニットを実行するために使用される判定ユニットと、
前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つ前記クラウドストレージサービスシステムへのアクセスを開始するために使用される前記変換ユニットと、
前記クラウドストレージサービスシステムによって返される結果データを受信し、前記結果データを従来のファイル形式に変換し、且つ前記結果データを前記クライアントアプリケーションに返すために使用されるフィードバックユニットと
を含む装置。
【請求項１１】
前記取得ユニットは、
ＡＰＩフックプログラムを使用することにより、前記クライアントアプリケーションによって送信される前記従来のファイルアクセス要求を取得すること、又は
オペレーティングシステムを使用することにより、前記クライアントアプリケーションによって送信される前記従来のファイルアクセス要求を取得すること
を行うために更に使用される、請求項１０に記載の装置。
【請求項１２】
前記判定ユニットは、
前記従来のファイルアクセス要求から、アクセスされるディスクのディスク番号を抽出するために使用される第１の抽出サブユニットと、
前記ディスク番号が、ディスク番号と前記クラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定し、且つ前記ディスク番号が前記事前記憶マッピング表に存在すると判定することに応じて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連すると判定するために使用される第１の判定サブユニットと
を含む、請求項１０又は１１に記載の装置。
【請求項１３】
前記判定ユニットは、
前記従来のファイルアクセス要求から、アクセスされるファイルのファイル経路プレフィックスを抽出するために使用される第２の抽出サブユニットと、
前記ファイル経路プレフィックスが、ファイル経路プレフィックスと前記クラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定し、且つ前記ファイル経路プレフィックスが前記事前記憶マッピング表に存在すると判定することに応じて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連すると判定するために使用される第２の判定サブユニットと
を含む、請求項１０又は１１に記載の装置。
【請求項１４】
前記判定ユニットは、
前記従来のファイルアクセス要求から、アクセスされるディスクのディスク番号を抽出するために使用される第３の抽出サブユニットと、
前記ディスク番号が、マウントされたディスク番号と前記クラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定することであって、マウントされたディスク番号は、前記クラウドストレージサービスシステムのファイルがマウントされているディスクを示す番号である、判定することと、前記ディスク番号が前記事前記憶マッピング表に存在すると判定することに応じて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連すると判定することとを行うために使用される第３の判定サブユニットと
を含む、請求項１０又は１１に記載の装置。
【請求項１５】
前記変換ユニットは、
オペレーティングシステムに組み込まれるファイル共有システムクライアントを使用することにより、前記従来のファイルアクセス要求を、ファイル共有システムによって認識できる要求に変換し、且つ前記要求をファイル共有システムサーバに送信するために使用される第１の変換サブユニットと、
前記ファイル共有システムサーバによって受信される前記要求を、前記クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つ前記アクセス要求を前記クラウドストレージサービスシステムの前記クライアントに送信するために使用される第２の変換サブユニットと、
前記クラウドストレージサービスシステムの前記クライアントを使用することにより、前記アクセス要求をＨＴＴＰアクセス要求に変換し、且つ前記ＨＴＴＰアクセス要求を前記クラウドストレージサービスシステムのサーバに送信するために使用される第３の変換サブユニットと
を含む、請求項１０〜１４のいずれか一項に記載の装置。
【請求項１６】
前記変換ユニットは、
前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つ前記アクセス要求を前記クラウドストレージサービスシステムの前記クライアントに送信するために使用される第４の変換サブユニットと、
前記クラウドストレージサービスシステムの前記クライアントを使用することにより、前記アクセス要求をＨＴＴＰアクセス要求に変換し、且つ前記ＨＴＴＰアクセス要求を前記クラウドストレージサービスシステムのサーバに送信するために使用される第５の変換サブユニットと
を含む、請求項１０〜１４のいずれか一項に記載の装置。
【請求項１７】
従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする方法をサーバに実行させるために、前記サーバの少なくとも１つのプロセッサによって実行可能である命令のセットを記憶する非一時的コンピュータ可読媒体であって、前記方法は、
クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得することと、
クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、前記従来のファイルアクセス要求が前記クラウドストレージサービスシステムに関連するかどうかを判定し、前記従来のファイルアクセス要求がクラウドストレージサービスに関連すると判定することに応じて、前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つ前記クラウドストレージサービスシステムへのアクセスを開始することと、
前記クラウドストレージサービスシステムによって返される結果データを受信し、前記結果データを従来のファイル形式に変換し、且つ前記結果データを前記クライアントアプリケーションに返すことと
を含む、非一時的コンピュータ可読媒体。
【請求項１８】
クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得することは、
ＡＰＩフックプログラムを使用することにより、前記クライアントアプリケーションによって送信される前記従来のファイルアクセス要求を取得すること、又は
オペレーティングシステムを使用することにより、前記クライアントアプリケーションによって送信される前記従来のファイルアクセス要求を取得すること
を更に含む、請求項１７に記載の媒体。
【請求項１９】
前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つ前記クラウドストレージサービスシステムへのアクセスを開始することは、
オペレーティングシステムに組み込まれるファイル共有システムクライアントを使用することにより、前記従来のファイルアクセス要求を、ファイル共有システムによって認識できる要求に変換し、且つ前記要求をファイル共有システムサーバに送信することと、
前記ファイル共有システムサーバによって受信される前記要求を、前記クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つ前記アクセス要求を前記クラウドストレージサービスシステムの前記クライアントに送信することと、
前記クラウドストレージサービスシステムの前記クライアントを使用することにより、前記アクセス要求をＨＴＴＰアクセス要求に変換し、且つ前記ＨＴＴＰアクセス要求を前記クラウドストレージサービスシステムのサーバに送信することと
を更に含む、請求項１７又は１８に記載の媒体。
【請求項２０】
前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つ前記クラウドストレージサービスシステムへのアクセスを開始することは、
前記従来のファイルアクセス要求を、前記クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つ前記アクセス要求を前記クラウドストレージサービスシステムの前記クライアントに送信することと、
前記クラウドストレージサービスシステムの前記クライアントを使用することにより、前記アクセス要求をＨＴＴＰアクセス要求に変換し、且つ前記ＨＴＴＰアクセス要求を前記クラウドストレージサービスシステムのサーバに送信することと
を更に含む、請求項１７又は１８に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１５年１２月３０日に中華人民共和国の知識産権局に提出された中国特許出願公開第２０１５１１０２５３１１．４号の優先権及び利益を主張し、この全内容が参照により本明細書に組み込まれる。
【０００２】
技術分野
本開示は、コンピュータ技術の分野に関し、より詳細には、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする方法及び装置に関する。
【背景技術】
【０００３】
背景
コンピュータは、ファイルシステムを使用することによってデータを管理及び記憶する。情報爆発の時代において、人々が取得可能なデータ量は、指数関数的に増加する。ハードディスクの数を増加することにより、従来のファイルシステムの記憶容量が簡単に拡張される。これは、記憶容量のサイズ及び増加率、データバックアップ、並びにデータ機密保護などの多くの側面でデータ及びファイル記憶及び管理の現在の要求を満たすのに十分でない。従って、クラウドストレージサービスを支援する分散ファイルシステム及び／又はオブジェクトストレージシステムは、両方のタイプのシステムとして実行可能な選択肢となり、ファイルシステムのデータ記憶及び管理における問題の幾つかに効果的に対処することができる。
【０００４】
例えば、分散ファイルシステムは、特定の場所に固定されたファイルシステムを、複数の場所及び複数のファイルシステムの任意の組み合わせまで拡張することができ、ファイルシステムネットワークの非常に多くのノードを含むことができる。各ノードを異なる場所に分散させることができ、通信及びデータ伝送を、ネットワークを介してノード間で実行し得る。分散ファイルシステムを使用する人は、データを記憶するノード又はデータを取得するノードを知る必要がなく、あたかも人がローカルファイルシステムを使用しているかのように分散ファイルシステムでデータを簡単に管理及び記憶することができる。
【０００５】
オブジェクトストレージシステムは、クラウドストレージと呼ばれる場合もあるオブジェクト／ファイル指向インターネット大容量ストレージシステムであり得る。分散ファイルシステムと同様に、記憶ノードの数を増加することにより、オブジェクトストレージシステムの容量を拡張することもできる。更に、ユーザは、あたかもユーザがローカルファイルシステムを使用しているかのようにオブジェクトストレージシステムでデータを簡単に管理及び記憶することができる。
【０００６】
従来のファイルシステムと比較して、分散ファイルシステム及びオブジェクトストレージシステムは、大容量並列データアクセスができると共に、無制限の容量拡張及び高データ信頼性という利点を有する。しかし、分散ファイルシステム及びオブジェクトストレージシステムの両方を使用することは、一般的に、特定のアクセスインターフェース又はアプリケーションプログラミングインターフェース（ＡＰＩ）を必要とする。その結果、既存のソフトウェアのインターフェースを変更しない場合、ソフトウェアは、分散ファイルシステム及び／又はオブジェクトストレージシステムに直接アクセスすることができない。
【発明の概要】
【課題を解決するための手段】
【０００７】
概要
上述の技術的な課題を解決するために、本開示の実施形態は、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする方法及び装置を提供する。
【０００８】
幾つかの実施形態において、本開示は、従来のファイルシステムインターフェースを使用することによってクラウドストレージサービスにアクセスする方法を提供する。方法は、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得することと、クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連するかどうかを判定することと、従来のファイルアクセス要求がクラウドストレージサービスに関連すると判定することに応じて、従来のファイルアクセス要求を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つクラウドストレージサービスシステムへのアクセスを開始することと、クラウドストレージサービスシステムによって返される結果データを受信し、結果データを従来のファイル形式に変換し、且つ結果データをクライアントアプリケーションに返すこととを含み得る。
【０００９】
幾つかの実施形態において、本開示は、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする装置を提供する。装置は、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得する取得ユニットと、クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連するかどうかを判定し、且つ従来のファイルアクセス要求がクラウドストレージサービスシステムに関連すると判定することに応じて、変換ユニットを実行する判定ユニットと、従来のファイルアクセス要求を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つクラウドストレージサービスシステムへのアクセスを開始する変換ユニットと、クラウドストレージサービスシステムによって返される結果データを受信し、結果データを従来のファイル形式に変換し、且つ結果データをクライアントアプリケーションに返すフィードバックユニットとを含み得る。
【００１０】
幾つかの実施形態において、本開示は、ターゲットネットワークプラットフォームに基づいてプログラムをアップロードする方法をサーバに実行させるために、サーバの少なくとも１つのプロセッサによって実行可能である命令のセットを記憶する非一時的コンピュータ可読媒体を提供する。方法は、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得するステップと、クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連するかどうかを判定し、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連すると判定することに応じて、従来のファイルアクセス要求を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つクラウドストレージサービスシステムへのアクセスを開始するステップと、クラウドストレージサービスシステムによって返される結果データを受信し、結果データを従来のファイル形式に変換し、且つ結果データをクライアントアプリケーションに返すステップとを含み得る。
【００１１】
本開示によって提供される技術的解決策によれば、従来のソフトウェアに修正を必ずしも加える必要がなく、従来のオペレーティングシステムによって提供されるインターフェースを使用することにより、従来のソフトウェアは、従来のファイルアクセス要求を依然として開始し得る。例えば、まず、従来のファイルアクセス要求を取得し得る。次に、クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連するかどうかを判定する。従来のファイルアクセス要求がクラウドストレージサービスシステムに関連すると判定することに応じて、従来のファイルアクセス要求を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つクラウドストレージサービスシステムへのアクセスを開始する。更に、クラウドストレージサービスシステムによって返される結果データを受信し、結果データを従来のファイル形式に変換し、且つ結果データをクライアントアプリケーションに返す。このようにして、本開示によれば、従来のソフトウェアのインターフェースを変更することなく、従来のファイルアクセス要求を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換することにより、従来のソフトウェアの実行ロジックを変更し、その結果、クラウドストレージサービスシステムが要求に応答できるようにし、これにより、クラウドストレージサービスシステムにアクセスする従来のソフトウェアのための便利な方法を提供する。
【００１２】
開示の実施形態の追加の特徴及び利点は、下記の説明で部分的に記載され、説明から部分的に明白であり、又は開示の実施形態の実施によって知り得る。開示の実施形態の特徴及び利点は、添付の特許請求の範囲で特に指摘される要素及び組み合わせによって実現及び達成される。
【００１３】
上述の概要及び下記の詳細な説明の両方は、単に例及び説明であり、特許請求される開示の実施形態の限定ではないものとする。
【００１４】
添付図面は、本明細書の一部を構成する。図面は、本開示の幾つかの実施形態を例示し、説明と一緒に、添付の特許請求の範囲に記載のような開示の実施形態の原理を説明するのに役立つ。
【００１５】
添付図面は、本明細書の一部を構成する。図面は、本開示の幾つかの実施形態を例示し、説明と一緒に、開示の原理を説明するのに役立つ。
【図面の簡単な説明】
【００１６】
【図１】従来のアプリケーションプログラムによって従来のファイルシステムにアクセスする例示的な方法を示す概略図である。
【図２】分散ソフトウェアによって分散ファイルシステムにアクセスする例示的な方法を示す概略図である。
【図３】本開示の実施形態と一致する、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする例示的な方法のフローチャートである。
【図４】本開示の実施形態と一致する、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする例示的な方法を示す概略図である。
【図５】本開示の実施形態と一致する、図４の方法の例示的な実施を示す概略図である。
【図６】本開示の実施形態と一致する、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする例示的な装置を示す概略ブロック図である。
【発明を実施するための形態】
【００１７】
詳細な説明
ここで、添付図面で例示される例、本開示の実施形態及び態様について詳細に説明する。可能な場合、同じ又は同様の部品を参照するために図面全体にわたって同じ参照符号を使用する。
【００１８】
従来のアプリケーションプログラムなどの従来のソフトウェアは、ファイルシステムＡＰＩを使用することにより、ローカルディスク上のファイルにアクセスする。図１は、本明細書で従来のアプリケーションと呼ばれる従来のアプリケーションプログラムによって従来のファイルシステムにアクセスする例示的な方法を示す概略図である。例えば、Linux（登録商標）システムにおいて、従来のアプリケーションは、一般的に、libc（例えば、全てのＣプログラムによって使用可能な標準関数のライブラリ）に依存しており、read()、write()、seek()又はreaddir()などの演算を用いて、ポジックス（ＰＯＳＩＸ）によって定義されるファイルアクセスインターフェースを使用することにより、従来のファイルアクセス要求をオペレーティングシステムに提示する。オペレーティングシステムは、対応するファイルシステムモジュールを使用することにより、ローカルディスク又はネットワークディスクに記憶されたデータにアクセスし、及び／又はそのデータを使用する。図１に示すように、オペレーティングシステムは、２つのモード（プログラム入力／出力（ＰＩＯ）及び／又は直接メモリアクセス（ＤＭＡ））でデータアクセスを実行し得る。図１は、例としてLinuxシステムを用いたデータアクセスを示す。Windows（登録商標）システムでは、従来のアプリケーションは、Win32APIを直接使用することにより、ローカルディスク上のデータにアクセスする。従来のアプリケーションによってファイルにアクセスする場合、LinuxシステムとWindows（商標）システムとの間の差は、異なる関数を呼び出すことである。しかし、ファイルにアクセスする原理は一般的に同じである。
【００１９】
後に開発されたソフトウェア、例えば、クラウドストレージシステムに直接アクセスすることができる、オブジェクトストレージサービス（ＯＳＳ）アプリケーションなどの分散ソフトウェアの場合、ソフトウェアを開発段階でソフトウェア開発キット（ＳＤＫ）に連結する。その結果、ＳＤＫを使用することにより、クラウドストレージシステムに直接アクセスすることができる。図２は、分散ソフトウェアによって分散ファイルシステムにアクセスする例示的な方法を示す概略図である。図２に示すように、分散ソフトウェア、例えばＯＳＳアプリケーションは、開発段階でコーディングを介してＳＤＫに連結される。その結果、使用中、分散ファイルシステム（例えば、クラウドストレージシステム）及びＳＤＫを介して遠隔手続き呼び出し（ＲＰＣ）プロトコルを使用することにより、ネットワーク（例えば、ＯＳＳ）を介してデータにアクセスすることができる。
【００２０】
従って、従来のソフトウェアがクラウドストレージシステムに直接アクセスすることを可能にするために、従来のソフトウェアのプログラムコードをまず修正して、ソフトウェアをクラウドストレージサービスシステムのＳＤＫに連結する。しかし、従来のソフトウェアのコードを修正するプロセスは、新しいソフトウェアを開発するプロセスよりも複雑であるため、プログラマは、従来のソフトウェアのコードを修正するよりも新しいソフトウェアを開発することを好み、その結果、その従来のソフトウェアは、現在、クラウドストレージサービスシステムに直接アクセスすることができない。
【００２１】
従って、本開示は、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする方法及び装置を提供する。本開示によって提供される技術的解決策によれば、従来のソフトウェアに修正を加えず、従来のオペレーティングシステムによって提供されるインターフェースを使用することにより、従来のソフトウェアが従来のファイルアクセス要求を依然として開始する場合、従来のファイルアクセス要求の形式を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、これにより、クラウドストレージサービスシステムへのアクセスを実施する。このようにして、従来のソフトウェアのインターフェースを変更することなくアクセス要求の形式を変換することにより、従来のソフトウェアの実行ロジックを変更し、これにより、クラウドストレージサービスシステムにアクセスする従来のソフトウェアのための便利な方法を提供する。
【００２２】
本開示の技術的解決策及び利点を、本開示の実施形態の添付図面を参照して後述する。開示の実施形態の追加の特徴及び利点は、下記の説明で部分的に記載され、説明から部分的に明白であり、又は開示の実施形態の実施によって知り得る。開示の実施形態の特徴及び利点は、添付の特許請求の範囲で特に指摘される要素及び組み合わせによって実現及び達成される。上述の概要及び下記の詳細な説明の両方は、単に例及び説明であり、開示の実施形態の限定ではないものとする。
【００２３】
本明細書に記載のように、本開示の実施形態は、Linuxシステムだけでなく、Windows（商標）システムにも適用することができ、又は本開示と一致する実装形態の同じ又は同様の原理を有する任意の他の適切なオペレーティングシステムにも適用することができる。簡単にするために、下記では、本開示の実施形態のアプリケーションのための限定されない例として、Linuxシステムを使用する。
【００２４】
図３は、本開示の実施形態と一致する、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする例示的な方法のフローチャートである。図３に示すように、方法は、ステップ１０１〜１０４を含み得る。
【００２５】
ステップ１０１：クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得する。
【００２６】
本明細書で使用されるように、クライアントアプリケーションは、クライアントにインストールされた従来のアプリケーションを意味する。従来のアプリケーションは、クラウドストレージサービスシステムのＳＤＫに連結されず、クラウドストレージサービスシステムに直接アクセスできず、従来のファイルアクセス要求を使用することによってローカルディスク又はネットワークディスクに単にアクセスできるアプリケーションを意味する従来のソフトウェアと理解され得る。例えば、Linuxシステムにおいて、従来のアプリケーションによって送信される従来のファイルアクセス要求を、libcによってシステム呼び出しに変換してから、オペレーティングシステムに提示する。システム呼び出しをカーネルに捕捉した後、オペレーティングシステムは、アクセス要求に従ってディスクに直接アクセスする。
【００２７】
クラウドストレージサービスシステムへの従来のアプリケーションのアクセスを実施するために、オペレーティングシステムが従来のファイルアクセス要求に従ってアクセスを実行する前に、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得する。
【００２８】
幾つかの実施形態において、ＡＰＩフックプログラムを使用することにより、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得し得る。ＡＰＩフックプログラムは、ハンガー又はフックと理解され得る。フックをＡＰＩに置いて、ＡＰＩ呼び出しを取り込むことによって従来のファイルアクセス要求を阻止する。本開示の実施形態において、ＡＰＩフックは、システム呼び出しを介してシステムにマウントされたメッセージ処理プログラムと理解され得る。フックに関連付けられた特定のメッセージが送信される場合、宛先ウィンドウにメッセージが到達する前に、フックはメッセージを取り込む。これは、メッセージを制御するフック機能と理解され得る。このような場合、フック機能は、メッセージを変更するためにメッセージを処理することができ、又はメッセージに関するいかなる処理も実行することなくメッセージを伝送し続け得、又はメッセージの伝送を強制終了し得る。本開示の実施形態において、ＡＰＩフック技術を使用することにより、従来のファイルアクセス要求を取り込む。
【００２９】
幾つかの実施形態において、代わりに、オペレーティングシステムにより、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得し得る。例えば、クライアントアプリケーションは、そのオウンコードを実行している場合にユーザ実行状態（ユーザモード）であり得、システム呼び出しを実行してシステム呼び出しをカーネルコードに捕捉される場合にカーネル実行状態（カーネルモード）であり得る。アプリケーションは、通常、最初にユーザモードで実行し、アプリケーションがシステム資源を使用する必要がある場合、システム呼び出しを介してカーネルモードに切り換える。従って、クライアントアプリケーションが従来のファイルアクセス要求を送信する場合、その要求を、システム呼び出しを介してカーネルモードに捕捉することができる。このような場合、オペレーティングシステムは、従来のファイルアクセス要求を見つけ、従来のファイルアクセス要求を取得する。
【００３０】
ステップ１０１を実行した後、ステップ１０２を実行する。
【００３１】
ステップ１０２：クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連するかどうかを判定する。
【００３２】
クライアントディスク上のファイルにアクセスするために、従来のファイルアクセス要求を使用する。従来のファイルアクセス要求の受信時、オペレーティングシステムは、クライアントディスク上のファイルに直接アクセスする。しかし、本開示の実施形態では、アクセス動作を直接実行しない。代わりに、まずクラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、従来のファイルアクセス要求がクラウドストレージサービスシステムにアクセスするために使用されるかどうかを判定する。イエスの場合、ステップ１０３を実行し、それ以外であれば従来の方法でディスク上のファイルにアクセスする。
【００３３】
幾つかの実施形態において、ステップ１０２は、後に詳細に説明及び例示される幾つかの実施モードを有し得る。
【００３４】
ステップ１０２の第１の実施モードは、例えばＳ１１〜Ｓ１２を含む。
【００３５】
Ｓ１１：従来のファイルアクセス要求から、アクセスされるディスクのディスク番号を抽出する。
【００３６】
Ｓ１２：ディスク番号が、ディスク番号とクラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定する。イエスの場合、従来のファイルアクセス要求がクラウドストレージサービスシステムへのアクセスに関連すると確定する。
【００３７】
幾つかの実施形態において、ディスク番号とクラウドストレージサービスシステムとの間の関係の事前記憶マッピング表は、１つのグループのディスク番号とクラウドストレージサービスシステムとの間の一対一の対応関係を含み得、又は複数のグループのディスク番号とクラウドストレージサービスシステムとの間の一対一の対応関係を含み得る。
【００３８】
ステップ１０２の第２の実施モードは、例えばＳ２１〜Ｓ２２を含む。
【００３９】
Ｓ２１：従来のファイルアクセス要求から、アクセスされるファイルのファイル経路プレフィックスを抽出する。
【００４０】
Ｓ２２：ファイル経路プレフィックスが、ファイル経路プレフィックスとクラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定する。イエスの場合、従来のファイルアクセス要求がクラウドストレージサービスシステムへのアクセスに関連すると判定する。
【００４１】
この実施モードにおいて、事前にマウント処理を実行して、クラウドストレージサービスシステムのファイルをクライアントの特定のファイルフォルダにマウントする。その間に、ファイル経路プレフィックスとクラウドストレージサービスシステムとの間の関係のマッピング表を設定して記憶する。マッピング表は、ファイルフォルダ経路とクラウドストレージサービスシステムとの間のマッピング関係を記憶する。幾つかの実施形態において、クラウドストレージサービスシステムの１つ又は複数のファイルをクライアントの同じ又は異なるファイルフォルダにマウントし得る。
【００４２】
このモードの例示的な実施処理は、限定されない例として後に説明及び例示される。
【００４３】
例えば、クライアントのローカルディスク上に２つのファイルフォルダ（C:\LocalStorage及びC:\NetworkStorage）がある。クラウドストレージサービスシステムのファイルを、ファイルフォルダC:\NetworkStorageに事前にマウントし得る。マウント処理を完了すると、例えば下記に従って、ファイル経路プレフィックスとクラウドストレージサービスシステムとの間の関係のマッピング表を更に設定して記憶する。
［C:\NetworkStorage=>oss:\\bucket\folder1］
【００４４】
この場合、ユーザは、C:\LocalStorage\xxxにアクセスすると、ローカルディスクの内容を参照し、C:\NetworkStorage\yyyにアクセスすると、遠隔クラウドストレージサービスシステムのファイルを参照する。
【００４５】
ユーザがC:\NetworkStorage\yyyにアクセスすると、ファイル経路プレフィックスと正確に一致するプレフィックスがマッピング表に存在するかどうかを判定する。イエスの場合、対応する位置を使用して、クラウドストレージoss:\\bucket\folder1\yyyにアクセスし、それ以外であれば処理を実行しない。
【００４６】
更に、ステップ１０２は、代わりに第３のモードに従って実施し得る。
【００４７】
ステップ１０２の第３の実施モードは、例えばＳ３１〜Ｓ３２を含む。
【００４８】
Ｓ３１：従来のファイルアクセス要求から、アクセスされるディスクのディスク番号を抽出する。
【００４９】
Ｓ３２：ディスク番号と、マウントされたディスクのディスク番号の事前記憶リストとに基づいて、アクセスされるディスクがマウントされたディスクであるかどうかを判定する。マウントされたディスクは、ファイル共有システムプロトコルを介してクラウドストレージサービスシステムがマウントされているディスクである。イエスの場合、従来のファイルアクセス要求がクラウドストレージサービスシステムにアクセスするために使用されると判定する。
【００５０】
このモードにおいて、事前にマウント処理を実行して、クラウドストレージサービスシステムのファイルをディスクにマウントする。例えば、ファイルをローカルディスク又はネットワークディスクにマウントし得る。その後、マウントされたディスクへのユーザのアクセスは、クラウドストレージサービスシステムへのアクセスである。
【００５１】
幾つかの実施形態において、マウント処理により、クラウドストレージサービスシステムの１つ又は複数のファイルを１つのディスクにマウントし得、又はクラウドストレージサービスシステムの異なるファイルを異なるディスクにマウントし得る。この場合、クライアントアプリケーションを用いたユーザによるこれらのマウントされたディスクへの従来のファイルアクセス要求の開始を、クラウドストレージサービスシステムへのアクセス要求の開始に変換する。
【００５２】
このモードの例示的な実施処理は、限定されない例として後に説明及び例示される。
【００５３】
例えば、クライアントのローカルディスクは、３つのディスク（ディスクＣ、ディスクＤ及びディスクＦ）を含む。クラウドストレージサービスシステムのファイル１を事前にディスクＣにマウントし得、ファイル２を事前にディスクＤにマウントし得、マウントされたディスク番号とクラウドストレージサービスシステムとの間の関係のマッピング表を記憶する。これにより、ユーザは、ディスクＣにアクセスすると、クラウドストレージサービスシステムのファイル１の内容を参照することができ、ディスクＤにアクセスすると、クラウドストレージサービスシステムのファイル２の内容を参照することができ、ディスクＦにアクセスすると、ディスクＦのローカル内容を参照することができる。
【００５４】
本明細書に記載のように、ＡＰＩフックプログラム又はオペレーティングシステムを使用することにより、ステップ１０２を実施し得る。ステップ１０２における判定ステップの結果がイエスである場合、これは、ユーザがクラウドストレージサービスシステムにアクセスする意向であることを意味する。次に、ステップ１０３を実行する。
【００５５】
ステップ１０３：従来のファイルアクセス要求を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つクラウドストレージサービスシステムへのアクセスを開始する。
【００５６】
幾つかの実施形態において、ステップ１０３は、後に詳細に説明及び例示される幾つかの実施モードを有し得る。
【００５７】
ステップ１０３の第１の実施モードは、例えばＳ４１〜Ｓ４３を含む。
【００５８】
Ｓ４１：オペレーティングシステムに組み込まれるファイル共有システムクライアントを使用することにより、従来のファイルアクセス要求を、ファイル共有システムによって認識できる要求に変換し、且つ要求をファイル共有システムサーバに送信する。
【００５９】
Ｓ４２：ファイル共有システムサーバによって受信される要求を、クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つ要求をクラウドストレージサービスシステムのクライアントに送信する。
【００６０】
Ｓ４３：クラウドストレージサービスシステムのクライアントを使用することにより、アクセス要求をＨＴＴＰアクセス要求に変換し、且つＨＴＴＰアクセス要求をクラウドストレージサービスシステムのサーバに送信する。
【００６１】
幾つかの実施形態において、ファイル共有システムは、ネットワークファイルシステム（ＮＦＳ）、ユーザ空間ファイルシステム（ＦＵＳＥ）、又はSambaであり得る。本開示において、ＮＦＳ、ＦＵＳＥ及びSambaは、ファイルシステムドライバ（ＦＳドライバ）の例と理解され得る。幾つかの実施形態において、他の自己定義ファイルドライバを使用することにより、本開示を実施し得る。
【００６２】
ＮＦＳにより、ネットワークにおけるコンピュータは、ＴＣＰ／ＩＰネットワークを介して資源を共有することができる。ＮＦＳクライアントは、ローカルファイルへのアクセスと同様に、遠隔ＮＦＳサーバ上のファイルを透過的に読み書きすることができる。
【００６３】
ＦＵＳＥ（ユーザ空間ファイルシステム）は、幾つかのネットワーク空間をLinuxでローカルファイルシステムにマウントするモジュールである。
【００６４】
Sambaは、Linux及びUNIX（登録商標）システムで実施されるサーバメッセージブロック（ＳＭＢ）プロトコルであり、サーバ及びクライアントプログラムによって形成される。ＳＭＢ（サーバメッセージブロック）は、ローカルエリアネットワークにおけるファイル及びプリンタ共有のための通信プロトコルであり、ローカルエリアネットワークにおける異なるコンピュータに対し、ファイル及びプリンタなどの資源を共有するサービスを提供する。
【００６５】
ＮＦＳ、ＦＵＳＥ及びSambaの通信プロトコルは異なるが、それらは、本開示の実施形態においてクライアントとサーバとの間の通信を介してアクセス要求の転送を同様に実施する。本開示の実施形態において、それらの動作原理は同様である。
【００６６】
ステップ１０３の第２の実施モードは、例えばＳ５１〜Ｓ５２を含む。
【００６７】
Ｓ５１：従来のファイルアクセス要求を、クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つアクセス要求をクラウドストレージサービスシステムのクライアントに送信する。
【００６８】
Ｓ５２：クラウドストレージサービスシステムのクライアントを使用することにより、アクセス要求をＨＴＴＰアクセス要求に変換し、且つＨＴＴＰアクセス要求をクラウドストレージサービスシステムのサーバに送信する。
【００６９】
ステップ１０３を実行した後、ステップ１０４を実行する。
【００７０】
ステップ１０４：クラウドストレージサービスシステムによって返される結果データを受信し、結果データを従来のファイル形式に変換し、且つ結果データをクライアントアプリケーションに返す。
【００７１】
幾つかの実施形態において、クラウドストレージサービスシステムは、分散ストレージシステム又はオブジェクトストレージシステムであり得る。クラウドストレージサービスシステムのタイプにかかわらず、従来のアプリケーションは、本開示の実施形態を用いてクラウドストレージサービスシステムへのアクセスを達成することができる。
【００７２】
幾つかの実施形態において、ステップ１０４は、結果データを、アクセス要求の伝送経路に従ってクライアントアプリケーションにフィードバックする。従って、ステップ１０４の実施処理は、ステップ１０３の要求送信処理に関連する。この結果、ステップ１０４も、ステップ１０３の２つの実施モードに対応する２つの実施モードを有する。
【００７３】
ステップ１０４の第１の実施モードは、例えばＳ６１〜Ｓ６２を含む。
【００７４】
Ｓ６１：クラウドストレージサービスシステムのクライアントを使用することにより、クラウドストレージサービスシステムのサーバによって返される結果データを受信し、ファイル共有システムによって認識できる形式に結果データを変換し、且つ結果データをファイル共有システムサーバに送信する。
【００７５】
Ｓ６２：ファイル共有システムサーバを使用することによってファイル共有システムクライアントに処理結果を送信し、ファイル共有システムクライアントを使用することによって従来のファイル形式に処理結果を変換し、且つ処理結果をクライアントアプリケーションに送信する。
【００７６】
ステップ１０４の第２の実施モードは、例えばＳ７１〜Ｓ７２を含む。
【００７７】
Ｓ７１：クラウドストレージサービスシステムのクライアントを使用することにより、クラウドストレージサービスシステムのサーバによって返される結果データを受信して、結果データを従来のファイル形式に変換する。
【００７８】
Ｓ７２：ＡＰＩフックプログラムを使用することによってクライアントアプリケーションに従来のファイル形式の結果データを送信する。幾つかの実施形態において、上述のファイル共有システムクライアント、ファイル共有システムサーバ、クラウドストレージサービスシステムのクライアント、及びクラウドストレージサービスシステムのサーバは、コンピュータプログラムの形態であり得る。
【００７９】
本開示によって提供される技術的解決策によれば、従来のソフトウェアに修正を加えない場合、従来のソフトウェアは、従来のオペレーティングシステムによって提供されるインターフェースを使用することによって従来のファイルアクセス要求を開始する。まず、ＡＰＩフック技術又はＦＳドライバ技術を使用することによって従来のファイルアクセス要求を取得する。次に、アクセスされるディスクがクラウドストレージサービスシステムに関連するかどうかを判定する。イエスの場合、従来のファイルアクセス要求がクラウドストレージサービスシステムにアクセスするために使用されると判定する。この場合、従来のファイルアクセス要求の形式を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、これにより、クラウドストレージサービスシステムへのアクセスを実施する。このようにして、従来のソフトウェアのインターフェースを変更することなくアクセス要求の形式を変換することにより、従来のソフトウェアの実行ロジックを変更して、クラウドストレージサービスシステムが要求に応答することができるようにし、これにより、クラウドストレージサービスシステムにアクセスする従来のソフトウェアのための便利な方法を提供する。
【００８０】
本開示によって提供される例示的な方法について、図４を参照して後述する。
【００８１】
図４は、本開示の実施形態と一致する、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする例示的な方法を示す概略図である。
【００８２】
図４は、ＮＦＳとオブジェクトストレージサービス（ＯＳＳ）との間のインタラクションを介して、クライアントが、従来のファイルシステムインターフェースに基づいてＯＳＳへの従来のアプリケーションのアクセスを実施する、例示的なアプリケーションシナリオを示す。図４に示すアプリケーションシナリオは、次の通りである。
【００８３】
図４に示すように、ユーザアプリケーション４０１は、クライアントの従来のアプリケーションである。オペレーティングシステム４０２（略してＯＳ）は、クライアントのオペレーティングシステムであり、ＮＦＳクライアントをオペレーティングシステムにインストールする。変換器４０３は、アクセス要求を変換して転送する機能を実行し、ＮＦＳサーバ及びＯＳＳ  ＳＤＫ（ＯＳＳクライアント）を含む。ＯＳＳ４０４（オブジェクトストレージサービス）は、ＯＳＳサーバと理解し得る。ＯＳＳ  ＳＤＫは、ＲＰＣを使用することによってＯＳＳにアクセスする。
【００８４】
図４は例示に過ぎない。幾つかの実施形態において、ＮＦＳサーバ及びＯＳＳ  ＳＤＫは、アプリケーションと同じデバイスで動作するクライアントの処理であり得、又は独立フロントエンドサーバのグループであり得る。
【００８５】
次に、図４に示すシナリオの場合に、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする上述の方法の例示的な実施処理について、図５を参照して説明する。図５に示すように、ユーザアプリケーション４０１、ＯＳ４０２、ＯＳＳ４０４は、既存の構成要素である。幾つかの実施形態において、変換器４０３が追加的に提供される。ＯＳ４０２において、ＶＦＳは、仮想ファイルシステムであり、仮想ファイルシステムスイッチとも呼ばれ、外部へのLinuxファイルシステムのインターフェースである。ファイルシステムを使用するのに必要なプログラムは、この層のインターフェースを通る。
【００８６】
ユーザがユーザアプリケーション４０１を使用することによってファイル読み取り要求を開始する場合、libcによって提供される読み取り方法を通常使用する。この方法は、libcによるオペレーティングシステムのファイルアクセスインターフェースのパッケージである。libcは、この方法をシステム呼び出しに変換し、且つシステム呼び出しをＯＳに提示する。即ち、クライアントアプリケーションが従来のファイルアクセス要求を送信する場合、その要求は、システム呼び出しを介してカーネルモードに捕捉される。この場合、オペレーティングシステムは、従来のファイルアクセス要求を見つけ、従来のファイルアクセス要求を取得する。
【００８７】
ファイル読み取り要求は、マウントされたディスクを読み取る要求であり得る。ＮＦＳプロトコルを使用することにより、マウントされたディスクを事前にマウントする。この場合、ＯＳは、ファイル要求を見つけ、対応するファイルシステムの対応する読み取り方法を呼び出し、その結果、サービスを提供する。アクセスされるディスクを、ＮＦＳプロトコルを用いてマウントするため、この要求をＮＦＳ読み取りＲＰＣ呼び出しに変換し、且つネットワークを介して変換器４０３に伝送する。ＮＦＳサーバは、変換器４０３に構成されており、ＮＦＳクライアントからNFS No.6手続き呼び出し（例えば、ファイル読み取り）を受信した後、対応するパラメータを、例えば、読み取り位置及び読み取り長さが有効であるかどうかについて確認する。例えば、読み取り位置がファイルの終わりを既に超えていると分かった場合、エラーを直接返し、クラウドストレージサービスシステムに要求を開始しない。確認が有効である場合、要求をＯＳＳオブジェクト読み取り要求に変換し、ＯＳＳ  ＳＤＫに送信して、ＯＳＳ  ＳＤＫによって提供されるGetObject()方法を介して送出する。ＯＳＳ  ＳＤＫは、この要求をHTTP GET方法に変換し、且つ最後にHTTP GET方法をＯＳＳサービスクラスタに送信する。
【００８８】
ＯＳＳサービスクラスタは、結果データをＯＳＳ  ＳＤＫにフィードバックし、ＯＳＳ  ＳＤＫは、ＮＦＳによって認識できる形式に結果データを変換し、且つその形式の結果データをＮＦＳサーバに送信する。ＮＦＳサーバは、ネットワークを介して処理結果をＮＦＳクライアントにフィードバックし、ＮＦＳクライアントは、ユーザアプリケーション４０１によって認識できる形式に処理結果を変換し、且つその形式の処理結果をユーザアプリケーションに送信する。
【００８９】
図５は、例としてファイル読み取りアクセス要求を使用することを単に説明している。ユーザがアプリケーションを使用することによってファイル書き込みアクセス要求を開始する場合、処理手続きは、書き込みに関する関数を呼び出す必要があることを除いて、図５に示す処理手続きと同様である。
【００９０】
本開示によって提供される方法の基本的な考え方は、オペレーティングシステムによって支援される枠組みでマウントコマンドを実行して、クラウドストレージサービスシステムに記憶されたファイルをクライアントのローカルディスクにマウントすることであることが分かる。アプリケーションのロジックを修正する必要がなく、代わりにＮＦＳを使用して、アプリケーションからの従来のファイルアクセス要求を制御し、クラウドストレージサービスシステムによって認識できる要求に従来のファイルアクセス要求を変換し、且つ最後にその要求を実行する。図４及び図５に示すように、ＮＦＳを使用することにより、アプリケーションからの従来のファイルアクセス要求の制御を達成する。他の実施形態において、図４及び図５に記載の例示的な方法を実施するために、上述のＦＵＳＥ、Samba及びＡＰＩフック技術を使用し得る。
【００９１】
更に、本開示は、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする例示的な装置を提供する。例示的な装置を使用して、上述の方法を実施し得る。
【００９２】
装置の構造及び動作原理について、図６を参照して以下に説明及び例示する。
【００９３】
図６は、本開示の実施形態と一致する、従来のファイルシステムインターフェースに基づいてクラウドストレージサービスにアクセスする例示的な装置を示す概略ブロック図である。図６に示すように、装置は、取得ユニット６０１と、判定ユニット６０２と、変換ユニット６０３と、フィードバックユニット６０４とを含み得る。これらの各ユニット（及び任意の対応するサブユニット）は、他の構成要素（例えば、集積回路の一部）のために設計されているパッケージ化機能ハードウェア、又は関連機能の特定の機能を実行するプログラム（コンピュータ可読媒体に記憶されている）の一部であり得ることが分かる。
【００９４】
取得ユニット６０１は、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得するように構成されている。
【００９５】
判定ユニット６０２は、クラウドストレージサービスシステムに関連する事前記憶ファイル又はディスク情報に基づいて、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連するかどうかを判定するように構成されており、イエスの場合、変換ユニット６０３を実行する。
【００９６】
変換ユニット６０３は、従来のファイルアクセス要求を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、且つクラウドストレージサービスシステムへのアクセスを開始するように構成されている。
【００９７】
フィードバックユニット６０４は、クラウドストレージサービスシステムによって返される結果データを受信し、結果データを従来のファイル形式に変換し、且つ結果データをクライアントアプリケーションに返すように構成されている。
【００９８】
幾つかの実施形態において、取得ユニット６０１は、ＡＰＩフックプログラムを使用することにより、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得するか、又はオペレーティングシステムを使用することにより、クライアントアプリケーションによって送信される従来のファイルアクセス要求を取得するように構成され得る。
【００９９】
幾つかの実施形態において、判定ユニット６０２は、従来のファイルアクセス要求から、アクセスされるディスクのディスク番号を抽出するように構成されている第１の抽出サブユニットと、ディスク番号が、ディスク番号とクラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定するように構成されている第１の判定サブユニットとを含み、イエスの場合、それは、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連すると判定する。
【０１００】
幾つかの実施形態において、判定ユニット６０２は、従来のファイルアクセス要求から、アクセスされるファイルのファイル経路プレフィックスを抽出するように構成されている第２の抽出サブユニットと、ファイル経路プレフィックスが、ファイル経路プレフィックスとクラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定するように構成されている第２の判定サブユニットとを含み、イエスの場合、それは、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連すると判定する。
【０１０１】
幾つかの実施形態において、判定ユニット６０２は、従来のファイルアクセス要求から、アクセスされるディスクのディスク番号を抽出するように構成されている第３の抽出サブユニットと、ディスク番号が、マウントされたディスク番号とクラウドストレージサービスシステムとの間の関係の事前記憶マッピング表に存在するかどうかを判定することを行うように構成されている第３の判定サブユニットとを含み、マウントされたディスク番号は、クラウドストレージサービスシステムのファイルがマウントされているディスクを示す番号であり、イエスの場合、それは、従来のファイルアクセス要求がクラウドストレージサービスシステムに関連すると判定する。
【０１０２】
幾つかの実施形態において、変換ユニット６０３は、オペレーティングシステムに組み込まれるファイル共有システムクライアントを使用することにより、従来のファイルアクセス要求を、ファイル共有システムによって認識できる要求に変換し、且つ要求をファイル共有システムサーバに送信するように構成されている第１の変換サブユニットと、ファイル共有システムサーバによって受信される要求を、クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つアクセス要求をクラウドストレージサービスシステムのクライアントに送信するように構成されている第２の変換サブユニットと、クラウドストレージサービスシステムのクライアントを使用することにより、アクセス要求をＨＴＴＰアクセス要求に変換し、且つＨＴＴＰアクセス要求をクラウドストレージサービスシステムのサーバに送信するように構成されている第３の変換サブユニットとを含む。
【０１０３】
幾つかの実施形態において、変換ユニットは、従来のファイルアクセス要求を、クラウドストレージサービスシステムのクライアントによって認識できるアクセス要求に変換し、且つアクセス要求をクラウドストレージサービスシステムのクライアントに送信するように構成されている第４の変換サブユニットと、クラウドストレージサービスシステムのクライアントを使用することにより、アクセス要求をＨＴＴＰアクセス要求に変換し、且つＨＴＴＰアクセス要求をクラウドストレージサービスシステムのサーバに送信するように構成されている第５の変換サブユニットとを含む。
【０１０４】
幾つかの実施形態において、ファイル共有システムは、ＮＦＳ、ＦＵＳＥ、又はSambaである。
【０１０５】
幾つかの実施形態において、クラウドストレージサービスシステムは、クラウドストレージサービスを支援する分散ファイルシステム又はオブジェクトストレージシステムである。
【０１０６】
本開示の実施形態と一致して、従来のソフトウェアに修正を加えず、従来のオペレーティングシステムによって提供されるインターフェースを使用することにより、従来のソフトウェアが従来のファイルアクセス要求を開始する場合、まずＡＰＩフック技術又はＦＳドライバ技術を使用することによって従来のファイルアクセス要求を取得する。次に、アクセスされるディスクがクラウドストレージサービスシステムに関連するかどうかを判定する。イエスの場合、従来のファイルアクセス要求がクラウドストレージサービスシステムにアクセスするために使用されると判定することが分かる。この場合、従来のファイルアクセス要求の形式を、クラウドストレージサービスシステムによって認識できるアクセス要求に変換し、これにより、クラウドストレージサービスシステムへのアクセスを実施する。このようにして、従来のソフトウェアのインターフェースを変更することなくアクセス要求の形式を変換することにより、従来のソフトウェアの実行ロジックを変更して、クラウドストレージサービスシステムが要求に応答することができるようにし、これにより、クラウドストレージサービスシステムにアクセスする従来のソフトウェアのための便利な方法を提供する。
【０１０７】
本開示は、コンピュータ可読媒体に記憶され、且つマイクロプロセッサ、プロセッサ、中央処理装置（ＣＰＵ）、図形処理ユニット（ＧＰＵ）などのうちの少なくとも１つを含む計算デバイス又は計算システムによって実行さるコンピュータ実行可能コマンド又は動作（例えば、プログラムモジュール）に一般的に関連して説明され得る。一般的に、プログラムモジュールは、特定のタスクを実行するか、又は一連のステップ若しくは動作を実施するルーチン、手続き、オブジェクト、構成要素、データ構造体、プロセッサ、メモリなどを含み得る。
【０１０８】
本開示は、分散計算環境で実施され得る。これらの分散計算環境において、通信ネットワーク（例えば、インターネット）を介して接続された遠隔処理デバイスにより、タスク又は動作を実行し得る。分散計算環境において、フラッシュディスク又は他の形態のフラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク、光ディスク、キャッシュ、レジスタなどを含む、ローカル又は遠隔非一時的コンピュータ可読記憶媒体にプログラムモジュールを設置し得る。
【０１０９】
更に、メモリ並びに／又は他の有形の及び／若しくは非一時的なコンピュータ可読媒体に記憶されたデータ及び／又は命令に関連付けられるように開示の実施形態の態様を説明しているが、これらのデータ及び／又は命令は、ハードディスク、フロッピーディスク、又はＣＤ−ＲＯＭ、又は他の形態のＲＡＭ又はＲＯＭを含む、多くのタイプの有形のコンピュータ可読記憶媒体（例えば、記憶デバイス）に記憶され、この記憶媒体から実行され得ることが分かる。従って、開示の実施形態は、上述の例に限定されず、代わりに均等物の全範囲を考慮して添付の特許請求の範囲によって規定される。
【０１１０】
本開示の実施形態は、方法、システム、コンピュータプログラム製品などとして具体化され得る。従って、本開示の実施形態は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態、又は記載の専用構成要素を有する専用デバイスが上述の機能を実行することができるソフトウェア及びハードウェアを組み合わせた実施形態の形態を取り得る。更に、本開示の実施形態は、コンピュータ可読プログラムコードを記憶するために使用される１つ又は複数のコンピュータ可読記憶媒体に具体化されたコンピュータプログラム製品の形態を取り得る。
【０１１１】
方法、デバイス（システム）及びコンピュータプログラム製品のフローチャート及び／又はブロック図を参照して本開示の実施形態が説明される。各フローチャート及び／又はブロック図は、コンピュータプログラム命令によって実施され得ることが分かる。これらのコンピュータプログラム命令を、専用コンピュータのプロセッサ、組み込みプロセッサ、又は他のプログラマブルデータ処理デバイス又はシステムに提供して、マシン又はプラットフォームを生成し得る。その結果、コンピュータのプロセッサ又は他のプログラマブルデータ処理デバイスを介して命令を実行する場合、命令は、１つ若しくは複数のフローチャート及び／又は１つ若しくは複数のブロック図に指定された機能及び／又はステップを実施する。
【０１１２】
コンピュータ可読記憶媒体は、プロセッサによって読み取り可能な情報又はデータを記憶する任意のタイプの非一時的メモリを意味し得る。従って、コンピュータ可読記憶媒体は、本明細書に記載の実施形態と一致するステップ又は段階をプロセッサに実行させる命令を含む、１つ又は複数のプロセッサによる実行のための命令を記憶し得る。コンピュータ可読媒体は、不揮発性及び揮発性媒体、取り外し可能及び取り外し不能媒体を含む。任意の方法又は技術を用いて、情報及び／又はデータ記憶を実施することができる。情報及び／又はデータは、コンピュータ可読命令のモジュール、データ構造体、及びプログラム、又は他のタイプのデータであり得る。コンピュータ可読記憶媒体の例は、相変化ランダムアクセスメモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他のタイプのランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ又は他のメモリ技術、キャッシュ、レジスタ、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）又は他の光記憶装置、カセットテープ、テープ若しくはディスク記憶装置、又は他の磁気記憶デバイス、或いはコンピュータデバイスによってアクセス可能な情報を記憶するために使用される任意の他の非一時的媒体を含む（但し、これらに限定されない）。
【０１１３】
「第１」及び「第２」などの関係用語は、エンティティ又は動作を別のエンティティ又は動作と区別するために単に使用され、任意のこのような実際の関係又は順序がこれらのエンティティ又は動作間で存在することを必ず必要とするか又はそれを暗示することに留意すべきである。更に、本明細書及び添付の特許請求の範囲で使用されるように、単数形「１つの（a）」、「１つの（an）」及び「その（the）」、並びに任意の語の任意の単数使用は、明示的及び明白に１つの指示対象に限定されない限り、複数の指示対象を含むことに留意すべきである。本明細書で使用されるように、用語「包含する」、「含む」、及びそれらの文法的変型例は、リストにおける項目の列挙がリスト記載項目に置換又は追加可能な他の同じ項目を除外しないように非限定的であることが意図されている。
【０１１４】
更に、例示的な実施形態が本明細書で説明されているが、範囲は、本開示に基づく均等な要素、修正、省略、組み合わせ（例えば、様々な実施形態にわたる態様）、改造又は変更を有するあらゆる実施形態を含む。特許請求の範囲における要素は、特許請求の範囲で使用される言語に基づいて広く解釈されるべきであり、本明細書に記載の例又はアプリケーションの実行中の例に限定されず、例は排他的でないと解釈されるべきである。更に、再順序付けステップ又は挿入若しくは削除ステップを含む開示方法のステップは、任意の方法で修正することができる。従って、本明細書及び例は単に例と考えられ、その結果、真の範囲及び趣旨を下記の特許請求の範囲及び均等物の全範囲によって示すことが意図されている。
【０１１５】
例示的な実施形態を示すこの説明及び添付図面は、限定としてとられるべきでない。この説明及び請求項の範囲から逸脱することなく、均等物を含めて様々な機械的、組成的、構造的、電気的及び動作的変更形態がなされ得る。場合により、開示を曖昧にしないように、周知の構造及び技法を詳細に示しておらず又は説明していない。２つ又は複数の図面における同様の参照番号は、同じ又は同様の要素を表す。更に、一実施形態を参照して詳細に開示された要素及びそれらの関連する特徴は、実用的である場合には常に、要素及びそれらの関連する特徴を詳細に示しておらず又は説明していない他の実施形態に含まれ得る。例えば、一実施形態を参照して要素を詳細に説明し、第２の実施形態を参照して要素を説明しない場合、それにもかかわらず、要素は、第２の実施形態に含まれるように主張され得る。
【０１１６】
他の実施形態は、本明細書で開示される実施形態の指定及び実施の考察から明白である。本明細書及び例は単に例と考えられ、その結果、開示の実施形態の真の範囲及び趣旨を下記の特許請求の範囲によって示すことが意図されている。
【図１】
2019507409.tif 000003
【図２】
2019507409.tif 000004
【図３】
2019507409.tif 000005
【図４】
2019507409.tif 000006
【図５】
2019507409.tif 000007
【図６】
2019507409.tif 000008
【国際調査報告】
2019507409.tif 000009
2019507409.tif 000010