(57)【要約】  クラウドファイル処理のための装置および方法が開示される。典型的な方法は、クライアントがクラウドサーバから読み出そうとするターゲットファイルが複数のデータパケットに分割される場合、ターゲットファイル内のクライアントによって読み出される第１のデータパケットの位置を読出し位置として取得することを含んでよい。また方法は、ターゲットファイル内の読出し位置にない第２のデータパケットの状態を周辺状態として取得することも含んでよい。周辺状態は、読出し完了状態または未読状態である。読出し位置および周辺状態がプリセット条件を満たす場合、方法は更に、クライアントによってクラウドサーバへデータプリフェッチ要求を送信することを含んでよい。データプリフェッチ要求は、クラウドサーバから、ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットを読み出すことを要求するために用いられる。【選択図】図１
2018532202.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットを含むクラウドファイルを処理するための方法であって、
クライアントがクラウドサーバから読み出そうとするターゲットファイルが複数のデータパケットに分割される場合、
前記ターゲットファイル内の前記クライアントによって読み出される第１のデータパケットの位置を読出し位置として取得することと、
前記ターゲットファイル内の前記読出し位置にない第２のデータパケットの状態を周辺状態として取得することであって、前記周辺状態は読出し完了状態または未読状態であることと、
前記読出し位置および前記周辺状態がプリセット条件を満たす場合、前記クライアントによって、前記クラウドサーバへデータプリフェッチ要求を送信することと
を備え、前記データプリフェッチ要求は、前記クラウドサーバから、前記ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットを読み出すことを要求するために用いられる、方法。
【請求項２】
前記ターゲットファイルは、複数の等しいサイズのデータパケットに分割される、請求項１に記載の方法。
【請求項３】
前記クライアントが前記クラウドサーバから前記ターゲットファイルを読み出す前に、データパケットの情報データベースを確立することであって、前記情報データベースは、前記ターゲットファイルの前記データパケットの状態情報およびプリセット順序でソートされている前記ターゲットファイルの前記データパケットの位置情報を含むことを更に備え、
前記第１のデータパケットの前記位置を取得することは、前記情報データベース内の前記第１のデータパケットの前記位置情報に従って前記第１のデータパケットの前記位置を取得することを含み、前記第２のデータパケットの前記状態を取得することは、前記情報データベース内の前記第２のデータパケットの前記状態情報に従って前記第２のデータパケットの前記状態を取得することを含む、請求項１〜請求項２のいずれか１項に記載の方法。
【請求項４】
前記プリセット条件は、
前記読出し位置が前記ターゲットファイルの最初の位置であること、および
前記データパケット全ての前記周辺状態が未読状態であること
を含む、請求項１〜請求項３のいずれか１項に記載の方法。
【請求項５】
前記クライアントによって前記クラウドサーバから毎回読み出される前記ターゲットファイル内のデータパケットの量を読出し量として取得することと、
前記プリセット量を、前記読出し量の２倍の値に設定することと
を更に備える、請求項４に記載の方法。
【請求項６】
前記プリセット条件は、
前記読出し位置が前記ターゲットファイルの最初の位置ではないこと、および
前記読出し位置より前にある全てのデータパケットの前記周辺状態が読出し完了状態であること
を含む、請求項１〜請求項３のいずれか１項に記載の方法。
【請求項７】
過去のデータプリフェッチ要求においてプリフェッチされたデータパケットの量の２倍が前記プリセット量として用いられる、請求項６に記載の方法。
【請求項８】
前記プリセット条件は、
前記読出し位置が前記ターゲットファイルの最初の位置ではないこと、および
前記読出し位置より前にあるデータパケットの一部の前記周辺状態が読出し完了状態であること
を含む、請求項１〜請求項３のいずれか１項に記載の方法。
【請求項９】
前記読出し位置より前にあり、かつ前記周辺状態が読出し完了状態であるデータパケットの量が、前記プリセット量として用いられる、請求項８に記載の方法。
【請求項１０】
前記クライアントによる前記クラウドサーバへの前記データプリフェッチ要求の送信後に、前記プリフェッチされたデータパケットを前記クラウドサーバから読み出すように前記クライアントを制御することと、
前記プリフェッチされたデータパケットを前記クライアントにローカルにキャッシュすることと
を更に備える、請求項１〜請求項９のいずれか１項に記載の方法。
【請求項１１】
前記プリフェッチされたデータパケットを前記クライアントにローカルにキャッシュすることは、
前記プリフェッチされたデータパケットのアクセス順序に従って、前記プリフェッチされたデータパケットをソートすることと、
前記ソートされプリフェッチされたデータパケットを前記クライアントにローカルにキャッシュすることと
を含む、請求項１０に記載の方法。
【請求項１２】
クラウドファイルを処理するための装置であって、
クライアントがクラウドサーバから読み出そうとするターゲットファイルが複数のデータパケットに分割される場合、
前記ターゲットファイル内の前記クライアントによって読み出される第１のデータパケットの位置を読出し位置として取得することと、
前記ターゲットファイル内の前記読出し位置にない第２のデータパケットの状態を周辺状態として取得することであって、前記周辺状態は読出し完了状態または未読状態であることと
を含む動作を実行するように構成された取得モジュールと、
前記読出し位置および前記周辺状態がプリセット条件を満たす場合、前記クライアントによって、前記クラウドサーバへデータプリフェッチ要求を送信することであって、
前記データプリフェッチ要求は、前記クラウドサーバから、前記ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットを読み出すことを要求するために用いられること
を含む動作を実行するように構成された送信モジュールと
を備える装置。
【請求項１３】
前記ターゲットファイルは、複数の等しいサイズのデータパケットに分割される、請求項１２に記載の装置。
【請求項１４】
データパケットの情報データベースを確立することであって、前記情報データベースは、前記ターゲットファイルの前記データパケットの状態情報およびプリセット順序でソートされている前記ターゲットファイルの前記データパケットの位置情報を含むこと
を含む動作を実行するように構成されたデータベース確立モジュールを更に備え、
前記第１のデータパケットの前記位置を取得する前記動作は、前記情報データベース内の前記第１のデータパケットの前記位置情報に従って前記第１のデータパケットの前記位置を取得することを含み、前記第２のデータパケットの前記状態を取得する前記動作は、前記情報データベース内の前記第２のデータパケットの前記状態情報に従って前記第２のデータパケットの前記状態を取得することを含む、請求項１２〜請求項１３のいずれか１項に記載の装置。
【請求項１５】
前記プリセット条件は、
前記読出し位置が前記ターゲットファイルの最初の位置であること、および
前記データパケット全ての前記周辺状態が未読状態であること
を含む、請求項１２〜請求項１４のいずれか１項に記載の装置。
【請求項１６】
前記送信モジュールの前記動作は、
前記クライアントによって前記クラウドサーバから毎回読み出される前記ターゲットファイル内のデータパケットの量を読出し量として取得することと、
前記プリセット量を、前記読出し量の２倍の値に設定することと
を更に含む、請求項１５に記載の装置。
【請求項１７】
前記プリセット条件は、
前記読出し位置が前記ターゲットファイルの最初の位置ではないこと、および
前記読出し位置より前にある全てのデータパケットの前記周辺状態が読出し完了状態であること
を含む、請求項１２〜請求項１４のいずれか１項に記載の装置。
【請求項１８】
過去のデータプリフェッチ要求においてプリフェッチされたデータパケットの量の２倍が前記プリセット量として用いられる、請求項１７に記載の装置。
【請求項１９】
前記プリセット条件は、
前記読出し位置が前記ターゲットファイルの最初の位置ではないこと、および
前記読出し位置より前にあるデータパケットの一部の前記周辺状態が読出し完了状態であること
を含む、請求項１２〜請求項１４のいずれか１項に記載の装置。
【請求項２０】
前記読出し位置より前にあり、かつ前記周辺状態が読出し完了状態であるデータパケットの量が、前記プリセット量として用いられる、請求項１９に記載の装置。
【請求項２１】
前記クライアントによる前記クラウドサーバへの前記データプリフェッチ要求の送信後に、前記プリフェッチされたデータパケットを前記クラウドサーバから読み出すように前記クライアントを制御することと、
前記プリフェッチされたデータパケットを前記クライアントにローカルにキャッシュすることと
を含む動作を実行するように構成されたデータキャッシングモジュールを更に備える、請求項１２〜請求項２０のいずれか１項に記載の装置。
【請求項２２】
前記プリフェッチされたデータパケットをキャッシュする前記動作は、
前記プリフェッチされたデータパケットのアクセス順序に従って、前記プリフェッチされたデータパケットをソートすることと、
前記ソートされプリフェッチされたデータパケットを前記クライアントにローカルにキャッシュすることと
を含む、請求項２１に記載の装置。
【請求項２３】
命令のセットを格納する非一時的コンピュータ可読記憶媒体であって、前記命令のセットは、装置に、ターゲットを含むクラウドファイルを処理するための方法を実行させるために、前記装置の少なくとも１つのプロセッサによって実行可能であり、前記方法は、
クライアントがクラウドサーバから読み出そうとするターゲットファイルが複数のデータパケットに分割される場合、
前記ターゲットファイル内の前記クライアントによって読み出される第１のデータパケットの位置を読出し位置として取得することと、
前記ターゲットファイル内の前記読出し位置にない第２のデータパケットの状態を周辺状態として取得することであって、前記周辺状態は読出し完了状態または未読状態であることと、
前記読出し位置および前記周辺状態がプリセット条件を満たす場合、前記クライアントによって、前記クラウドサーバへデータプリフェッチ要求を送信することと
を備え、
前記データプリフェッチ要求は、前記クラウドサーバから、前記ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットを読み出すことを要求するために用いられる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［0001］  本出願は、参照によってその内容全体が本願に組み込まれる、２０１５年１０月３０日に出願された中国特許出願第２０１５１０７２８０３０．９号に対する優先権の利益を主張するものである。
【０００２】
［0002］  本開示は、データ処理技術の分野に関し、特に、クラウドファイル処理方法および装置に関する。
【背景技術】
【０００３】
［0003］  クラウドストレージは、アプリケーションプログラムを通してネットワーク内の様々な種類の多数のストレージデバイスを集結し、外部データストレージおよび遠隔アクセスサービスを一体的に提供するために、たとえばクラスタアプリケーション、グリッド技術、または分散ファイルシステムなどの機能を用いる先端技術である。クラウドストレージには、幅広いアプリケーションが見込まれる。
【０００４】
［0004］  既存の技術において、一般的なクラウドシステムは、クライアント、多数のストレージデバイスを管理するクラウドサーバ、およびクライアントとクラウドサーバとを接続するネットワークを含んでよい。一般的なクラウドシステムを使用するユーザは、クライアントを用いて以下のステップを実行することによって、クラウドサーバから所望のデータを取得してよい。
Ｓ１：クライアントが、ネットワークを介して、クラウドサーバ内にあるターゲットファイルを読み出す。
Ｓ２：クライアントが、クラウドサーバから読み出されたターゲットファイルの関連データを、ユーザが参照するためにリアルタイムでローカルにキャッシュする。
【０００５】
［0005］  既存の技術において、クライアントは、ネットワークを介してクラウドサーバからデータを読み出すことによって、ユーザが参照するためのターゲットファイルの関連データをキャッシュする。データ伝送中に伝送に影響を及ぼす何らかの問題（たとえばネットワーク遅延）が発生した場合、クライアントによってクラウドサーバから読み出すデータの効率が低下し、ユーザは時間内に所望のデータを受信できないことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
［0006］  本開示の目的は、クライアントが、ユーザが参照するためのターゲットファイルの関連データを時間内に提供することができるような、クラウドファイル処理方法および装置を提供することである。
【課題を解決するための手段】
【０００７】
［0007］  １つの態様において、上述した技術的問題を解決するために、本開示はクラウドファイル処理方法を提供する。方法は、クライアントがクラウドサーバから読み出そうとするターゲットファイルが複数のデータパケットに分割される場合、ターゲットファイル内のクライアントによって読み出される第１のデータパケットの位置を読出し位置として取得することを含んでよい。また方法は、ターゲットファイル内の読出し位置にない第２のデータパケットの状態を周辺状態として取得することも含んでよい。周辺状態は、読出し完了状態または未読状態である。読出し位置および周辺状態がプリセット条件を満たす場合、方法は更に、クライアントによってクラウドサーバへデータプリフェッチ要求を送信することを含んでよい。データプリフェッチ要求は、クラウドサーバから、ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットを読み出すことを要求するために用いられる。
【０００８】
［0008］  他の態様において、本開示は、クラウドファイル処理のための装置に向けられる。装置は、クライアントがクラウドサーバから読み出そうとするターゲットファイルが複数のデータパケットに分割される場合、ターゲットファイル内のクライアントによって読み出される第１のデータパケットの位置を読出し位置として取得することを含む動作を実行するための取得モジュールを含んでよい。取得モジュールの動作は、ターゲットファイル内の読出し位置にない第２のデータパケットの状態を周辺状態として取得することも含んでよい。周辺状態は、読出し完了状態または未読状態である。また装置は、読出し位置および周辺状態がプリセット条件を満たす場合、クライアントによってクラウドサーバへデータプリフェッチ要求を送信することを含む動作を実行するための送信モジュールも含んでよい。データプリフェッチ要求は、クラウドサーバから、ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットを読み出すことを要求するために用いられる。
【０００９】
［0009］  上記の技術的解決策に示すように、本開示の実施形態において提供されるクラウドファイル処理方法および装置は、クライアントによってクラウドサーバ内のターゲットファイルに実行される読出し動作がプリセット条件を満たす場合、クラウドサーバからプリセット量のデータパケットをプリフェッチする。クライアントは、クライアントとクラウドサーバとの間のネットワーク伝送が遅延した場合でも、ユーザが参照するためにプリフェッチされたデータパケットにアクセスすることができる。その結果クライアントは、クライアントとクラウドサーバとの間のネットワーク伝送が遅延した場合でも、ユーザが参照するために時間内にターゲットファイルの関連データを提供することができる。
【００１０】
［0010］  本開示の追加の目的および利点が以下の詳細な説明において部分的に記載され、説明から部分的に明らかになり、または本開示の実施によって習得され得る。本開示の目的および利点は、添付の特許請求の範囲において具体的に示される要素および組み合わせによって、実現および達成される。
【００１１】
［0011］  上記概要および以下の詳細な説明は典型的および説明的なものにすぎず、特許請求対象となる本発明を限定するものではないことを理解すべきである。
【００１２】
［0012］  既存の技術および本開示の実施形態における技術的解決策を説明するために、以下でいくつかの図面が簡単に提示される。これらの図面は、本開示の何らかの実施形態を示す。当業者は、創造的努力なしにこれらの図面から他の図面を導き出すことができる。
【図面の簡単な説明】
【００１３】
【図１】［0013］本開示の実施形態におけるクラウドシステムの概略アーキテクチャ図である。
【図２】［0014］本開示の実施形態におけるクラウドファイル処理方法のフローチャートである。
【図３】［0015］本開示の他の実施形態におけるクラウドファイル処理方法のフローチャートである。
【図４】［0016］本開示の他の実施形態におけるクラウドファイル処理方法のフローチャートである。
【図５】［0017］本開示の実施形態におけるクラウドファイル処理装置のモジュール図である。
【発明を実施するための形態】
【００１４】
［0018］  既存のクラウドファイル処理方法および装置は、特定のネットワーク遅延が発生すると、不確実なデータ伝送に苛まれる。本開示は、上記問題を解決するためのクラウドファイル処理方法および装置を提供する。
【００１５】
［0019］  当業者がより良く理解し易いように、本開示の技術的解決策は、図面を参照していくつかの実施形態によって明確かつ完全に説明される。これらの実施形態は、本開示の実施形態の全てではなく一部にすぎない。本開示の実施形態に基づいて創造的努力を伴わずに当業者によって得られる他の実施形態は全て、本開示の保護範囲内に収まるものとする。
【００１６】
［0020］  図１は、典型的なクラウドシステムの概略アーキテクチャ図を示す。図１に示すように、クラウドシステムは、１または複数のクラウドサーバ１２、１または複数のクライアント１３、およびクラウドサーバ１２とクライアント１３とを接続するネットワーク１１を含む。クラウドサーバ１２は、単一サーバ、または複数のサーバから成るサーバクラスタであってよい。クライアント１３は、パーソナルコンピュータ、ノートブックコンピュータ、無線電話、パーソナルデジタルアシスタント（ＰＤＡ）、スマートウォッチ、または他の任意の形式のコンピュータまたは通信装置であってよい。
【００１７】
［0021］  サーバおよびクライアントの各々は、たとえばバス、処理装置、記憶装置、１または複数の入力／出力装置、および通信インタフェースなどの基本的アーキテクチャ部品を含む。バスは、サーバおよびクライアントの構成要素間の通信を実行するための１または複数のワイヤを含んでよい。処理装置は、命令を実行しプロセスまたはスレッドを処理するために用いられる様々な種類のプロセッサまたはマイクロプロセッサを含んでよい。記憶装置は、動的情報を記憶するために用いられるメモリを含んでよい。たとえばメモリは、ランダムアクセスメモリ（ＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、読取専用メモリ（ＲＯＭ）、磁気または光記録媒体、またはマスメモリを含んでよい。入力装置は、キーボード、マウス、スタイラス、タッチスクリーン、音声認識装置、バイオアッセイ装置などであってよい。出力装置は、情報を出力するために用いられるディスプレイ、プリンタ、スピーカなどであってよい。通信インタフェースは、サーバまたはクライアントが他のシステムまたは装置と通信することを可能にするために用いられる。通信インタフェースは、クライアントおよびサーバが互いに通信し得るように、有線接続、無線接続、または光接続によってネットワークに接続され得る。各ネットワーク１１は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、イントラネット、インターネット、携帯電話ネットワーク、仮想プライベートネットワーク（ＶＰＮ）、セルラネットワークまたは他のモバイル通信ネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ、またはこれらの任意の組み合わせを含んでよい。サーバおよびクライアントの各々は、システムリソースを管理し他のプログラムの実行を制御するために用いられるオペレーティングシステムソフトウェア、および特定の機能を実装するために用いられるアプリケーションソフトウェアまたはプログラム命令を含む。
【００１８】
［0022］  図２は、本開示の実施形態におけるクラウドファイル処理方法のフローチャートである。クラウドファイル処理方法を実行するエンティティは、クラウドサーバ１２、クライアント１３、またはクライアント１３におけるアプリケーションプログラムであってよい。
【００１９】
［0023］  いくつかの実施形態において、クラウドファイル処理方法は、ステップＳ２０およびＳ４０を含んでよい。
【００２０】
［0024］  Ｓ２０：クライアントがクラウドサーバから読み出そうとするターゲットファイルがいくつかのデータパケットに分割される場合、クライアントは、ターゲットファイル内のクライアントによって読み出されるデータパケットの位置を読出し位置として取得し、ターゲットファイル内の読出し位置にないデータパケットの状態を周辺状態として取得し、周辺状態は、読出し完了状態および未読状態を含む。
【００２１】
［0025］  クラウドサーバ１２は、ユーザが参照または使用するための多数のファイルを格納する。本明細書で用いられる場合、ターゲットファイルは、クライアントによって読み出されるか、または所望される、特定のファイルを指す。たとえば、クライアント１３が、クラウドサーバ１２にあるビデオファイルを読み出す必要がある場合、ターゲットファイルはビデオファイルである。
【００２２】
［0026］  クラウドサーバ１２内のファイルは、複数のデータパケットに分割され得る。いくつかの実施形態において、クラウドサーバ１２内のファイルの種類にかかわらず、ターゲットファイルは、ファイルのサイズに基づいて分割され得る。たとえばターゲットファイルは、同じまたは同様のサイズのデータパケットに分割され得る。その場合、ターゲットファイル内のデータパケットの位置は確定的であってよい。ターゲットファイル内のデータパケットの位置は、データパケットが格納された場所を指すメモリアドレスまたはインジケータ、あるいはデータパケットにアクセスするようにクライアントに指示することができる他の形式のインジケータであってよい。
【００２３】
［0027］  たとえば、ターゲットファイルが１００ＭＢのビデオファイルである場合、ターゲットファイルは、各々が１ＭＢのサイズを有する１００のデータパケットに分割され得る。この場合、ビデオファイル内の各データパケットの位置は確定的であってよい。たとえば、ビデオファイル内の第１の１ＭＢデータパケットがビデオファイルの最初の位置にある場合、他のデータパケットの位置もそれに従って推測され得る。
【００２４】
［0028］  クラウドサーバ１２からターゲットファイルを読み出す場合、クライアント１３は、ネットワーク１１の帯域幅に従ってターゲットファイルのデータパケットを読み出す。
【００２５】
［0029］  クライアント１３によって毎回読み出されるターゲットファイルの量は、読出し量と称され得る。たとえば読出し量は、クライアント１３が毎回２データパケットをクラウドサーバ１２から読み出すことができる場合、毎回２データパケットとして決定され得る。読出し量は、ネットワーク帯域幅およびユーザ嗜好を含むがこれらに限定されない１または複数の要因に従って調整され得る。
【００２６】
［0030］  クライアント１３がクラウドサーバ１２からデータパケットを読み出す時、ターゲットファイル内の読出しデータパケットの位置が取得され、その位置は読出し位置として用いられる。
【００２７】
［0031］  クライアント１３がクラウドサーバ１２から複数のデータパケットを一度に読み出す場合、これらのデータパケットは全体としてグループ化されてよく、これらのデータパケットの位置の１つが読出し位置として選択され得る。
【００２８】
［0032］  読出し位置は、ターゲットファイルの読出しにおけるクライアント１３の進捗を反映する。たとえば、クライアント１３が最初にターゲットファイルを読み出す時、読出し位置はターゲットファイルの最初の位置にあってよい。
【００２９】
［0033］  読出し位置が決定された後、ターゲットファイル内の読出し位置にないデータパケットの状態が取得され、その状態は周辺状態として用いられる。
【００３０】
［0034］  ターゲットファイル内の読出し位置にないデータパケットの周辺状態は、読出し完了状態または未読状態であってよい。読出し完了状態は、クライアント１３がクラウドサーバ１２からデータパケットを読み出したことを示し、未読状態は、クライアント１３がクラウドサーバ１２からデータパケットを未だ読み出していないことを示す。
【００３１】
［0035］  いくつかの実施形態において、周辺状態は、ターゲットファイルに関するクライアント１３の読出し履歴を反映してよい。たとえば、読出し位置にない全てのデータパケットの周辺状態が未読状態である場合、それらは、ターゲットファイルが初めて読み出されることを示す。
【００３２】
［0036］  Ｓ４０：クライアント１３は、読出し位置および周辺状態がプリセット条件を満たす場合、クラウドサーバ１２へデータプリフェッチ要求を送信し、データプリフェッチ要求は、クラウドサーバから、ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットを読み出すことを要求するために用いられる。
【００３３】
［0037］  いくつかの実施形態において、プリセット条件は、読出し位置がターゲットファイルの最初の位置であるというインジケーション、および全てのデータパケットの周辺状態が未読状態であるというインジケーションを含んでよい。
【００３４】
［0038］  ターゲットファイルの読出し位置および関連データパケットの周辺状態が上記のプリセット条件を満たす場合、これは、クライアント１３がターゲットファイルを初めて読み出すこと、ターゲットファイルの始まりからターゲットファイルを読み出すこと、およびいくつかの実施形態においてターゲットファイルを順番に読み出すことを示してよい。
【００３５】
［0039］  データプリフェッチ要求は、クラウドサーバ１２から、ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットを読み出すことを要求するために用いられる。読出し位置および周辺状態の両方が上記のプリセット条件を満たす場合、クライアント１３は、データプリフェッチ要求をクラウドサーバへ送信してよい。
【００３６】
［0040］  プリセット量は、たとえば所定の静的値、またはデータパケットの周辺状態に従って調整される動的値であってよい。
【００３７】
［0041］  いくつかの実施形態において、読出し位置および周辺状態の両方がプリセット条件を満たす場合、毎回クライアント１３によってクライアントサーバ１２から読み出される読出しデータパケット量が取得されてよく、プリセット量は、読出しデータパケット量の２倍の値として計算され得る。
【００３８】
［0042］  いくつかの実施形態において、プリセット量は、読出しデータパケット量の３倍または他の倍数として計算されてもよい。
【００３９】
［0043］  いくつかの実施形態において、プリセット条件は、読出し位置がターゲットファイルの最初の位置ではないというインジケーション、および読出し値より前にある全てのデータパケットの周辺状態が読出し完了状態であるというインジケーションを含むように設定され得る。
【００４０】
［0044］  ターゲットファイルの読出し位置および関連データパケットの周辺状態が上記のプリセット条件を満たす場合、これは、クライアント１３が過去にターゲットファイルを読み出したことを示す。１つの実施形態において、クライアント１３は、データパケットの順序に従ってターゲットファイルを順次読み出し、周辺状態が未読状態であるデータパケットのみを読み出す。この場合、読出し位置より後にある全てのデータパケットの周辺状態が未読状態であり、読出し位置より前にある全てのデータパケットの周辺状態が読出し完了状態である場合、読出し位置は、クライアントによってターゲットファイルに実行された過去の読出し動作の終了位置を示し得る。クライアント１３は継続的にターゲットファイルを読み出すと考えられる。
【００４１】
［0045］  いくつかの実施形態において、読出し位置および周辺状態の両方が上記のプリセット条件を満たす場合、クライアント１３は、データプリフェッチ要求をクラウドサーバへ送信してよく、データプリフェッチ要求は、クラウドサーバ１２からの、ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットの読出しを要求するためにも用いられる。
【００４２】
［0046］  過去のデータプリフェッチ要求においてプリフェッチされたデータパケットの数の２倍の値がプリセット量として計算され得る。
【００４３】
［0047］  いくつかの実施形態において、プリセット条件は、読出し位置がターゲットファイルの最初の位置ではないというインジケーション、および読出し位置より前にあるデータパケットのいくつかの周辺状態が読出し完了状態であるというインジケーションを含むように設定され得る。
【００４４】
［0048］  いくつかの実施形態において、ターゲットファイルは、たとえばオーディオデータストリームおよびビデオデータストリームを含む動画ファイルなどのマルチストリームファイルであってよい。マルチストリーム形式のターゲットファイルは、次のようにデータパケットに分割され得る。オーディオデータストリームがいくつかのオーディオデータパケットに分割され、ビデオデータストリームがいくつかのビデオデータパケットに分割され、一方の種類の複数のデータパケットが他方の種類の複数のデータパケットの直後に配置され得る。ターゲット動画ファイルを読み出す場合、クライアントは、いくつかのオーディオデータパケットを読み出し、続いていくつかのビデオデータパケットを読み出し、その後、いくつかの追加のオーディオデータパケットの読出しを再び始めてよい。読出しは、そのような交互の方式で実行されてよく、それによってクライアントは、ユーザが参照するためのオーディオデータパケットおよび対応するビデオデータパケットを同時に提供することができる。
【００４５】
［0049］  読出し位置および周辺状態の両方が上記のプリセット条件を満たす場合、これは、クライアント１３がマルチストリーム形式のファイルを読出し中であり、クライアント１３が、一方の種類のデータパケットの読出しを完了し、他方の種類のデータパケットを初めて読出し中であることを示す。クライアント１３は、マルチストリームの順序でターゲットファイルを読み出すと考えられる。
【００４６】
［0050］  読出し位置より前にあり、かつ周辺状態が読出し完了状態であるデータパケットの数は、プリセット量として用いられ得る。
【００４７】
［0051］  本開示の実施形態によって提供されるクラウドファイル処理方法および装置において、様々なプリセット条件を規定することによって、クライアント１３がターゲットファイルを読み出す３つのモード、順次読出し、継続方式の読出し、およびマルチストリーム順次読出しが規定される。これらの読出しモードにおいて、データパケットのプリセット量は、クライアントによってクラウドサーバからプリフェッチされる。クライアントは、クライアントとクラウドサーバとの間のネットワーク伝送が遅延した場合でも、ユーザのためにプリフェッチされたデータパケットにアクセスすることができる。その結果、クライアントは、ユーザが参照するために時間内にターゲットファイルの関連データを提供することができる。クライアントは、上述した３つの読出しモードではない場合、リソースの浪費を低減するために、クラウドサーバへデータプリフェッチ要求を送信しなくてよい。
【００４８】
［0052］  これら３つの読出しモードにおいて、ユーザはターゲットファイル内のより多くのデータパケットのコンテンツを読み出すことを意図するので、特定の数のデータパケットがクラウドサーバ１０からプリフェッチされる。クライアントが実際にターゲットファイルのより多くのデータパケットを提供する必要がある場合、クライアントは、ユーザが参照するために、プリフェッチされたデータパケットを提供するだけでよい。また、異なる読出しモードにおいて異なるプリセット量が設定され得る。ターゲットファイルを読み出そうとするユーザの意図に従って、プリフェッチされたデータパケットの量を調整することによって、ユーザ体験が向上し得る。
【００４９】
［0053］  図３は、本開示の他の典型的な実施形態を示す。この実施形態は、上述した実施形態とは異なるクラウドファイル処理方法を提供する。たとえば図３の方法は、ステップＳ２０の前に以下のステップを更に含んでよい。
【００５０】
［0054］  Ｓ１０：データパケットの情報データベースを確立し、データパケットの情報データベースは、ターゲットファイル内のデータパケットの状態情報およびプリセット順序でソートされているターゲットファイル内のデータパケットの位置情報を含む。
【００５１】
［0055］  クラウドサーバ１２内のターゲットファイルがいくつかのデータパケットに分割された後、各データパケットの状態情報および位置情報はターゲットファイルに関連付けられ、データパケットの情報データベースに共に格納される。
【００５２】
［0056］  ステップＳ２０を実行する後続プロセスにおいて、所望のデータパケットの位置および状態は、ターゲットファイルのデータパケットの情報データベースに問い合わせることによって迅速に取得され得る。
【００５３】
［0057］  いくつかの実施形態において、各ターゲットファイルについてデータパケットの独立情報データベースが確立され得る。データパケットの情報データベースは、問い合わせにおけるデータパケットの位置および状態を迅速に取得するために、基数木によって実装されてよく、データパケットは基数木の枝に配置される。
【００５４】
［0058］  また、データパケットの情報データベースは、これらのデータパケットの状態情報に従って更新される。クラウドファイル処理方法が進行すると、情報データベース内のデータパケットの状態情報は、データパケットの状態情報が変更する度に更新される。たとえば、１つのデータパケットの読出し後、そのデータパケットの状態情報は、未読状態から読出し完了状態へ更新される。
【００５５】
［0059］  図４は、本開示の他の実施形態を示す。この実施形態は、上述した実施形態とは異なるクラウドファイル処理方法を提供する。たとえば図４の方法は、ステップ４０の後に、以下のステップＳ５０を更に含んでよい。
【００５６】
［0060］  Ｓ５０：プリフェッチされたデータパケットをクラウドサーバ１２から読み出すようにクライアント１３を制御し、プリフェッチされたデータパケットをクライアントにローカルにキャッシュする。
【００５７】
［0061］  いくつかの実施形態において、クライアント１３がクラウドサーバ１２から読み出すデータパケットおよびクライアント１３がクラウドサーバ１２からプリフェッチするデータパケットは、異なるダウンロードプロセスにおいて個々に処理および格納され、両者は互いに干渉しない。
【００５８】
［0062］  クライアント１３は、プリフェッチされたデータパケットを、これらのデータパケットのアクセス順序に基づいてソートしてよい。たとえば、ローカルデータパケットは、先の時点でアクセスされたデータパケットがデータパケットキューの最後に配置され、後の時点でアクセスされたデータパケットがデータパケットキューの最初に配置され得るデータパケットキューを形成してよい。
【００５９】
［0063］  いくつかの実施形態において、データパケットのアクセスがプリセット時点よりも前である場合、データパケットは、ローカル記憶領域を節約するためにローカルに消去され得る。
【００６０】
［0064］  図５は、本開示の実施形態におけるクラウドファイル処理装置のモジュール図である。装置は上述した処理方法に基づくので、装置の特定の詳細に関して上述した方法が参照され得る。
【００６１】
［0065］  いくつかの実施形態において、クラウドファイル処理装置は、以下を含んでよい。
【００６２】
［0066］  取得モジュール２０：クライアントがクラウドサーバから読み出そうとするターゲットファイルがいくつかのデータパケットに分割される場合、ターゲットファイル内のクライアントによって読み出されるデータパケットの位置を読出し位置として取得し、ターゲットファイル内の読出し位置にないデータパケットの状態を周辺状態として取得する。周辺状態は、読出し完了状態および未読状態を含む。
【００６３】
［0067］  送信モジュール４０：読出し位置および周辺状態がプリセット条件を満たす場合、クラウドサーバへデータプリフェッチ要求を送信し、データプリフェッチ要求は、クラウドサーバから、ターゲットファイル内の周辺状態が未読状態であるプリセット量のデータパケットを読み出すことを要求するために用いられる。
【００６４】
［0068］  本開示の目的のために、これらのモジュール（および任意の対応するサブモジュール）の各々は、他の構成部品（たとえば集積回路の一部）とともに使用するために設計されたパッケージ機能ハードウェアユニット、および／または関連する機能のうち特定の機能を実行する（コンピュータ可読媒体に格納された）プログラムの一部であってよい。たとえば、開示される「モジュール」がソフトウェアにおいて実装される場合、それらは、システムと関連するメモリに格納され得る。プロセッサ、Ｉ／Ｏデバイス、およびメモリデバイスは、モジュールの動作を実装し容易にするためのプロセスを実行するために用いられ得る。したがってモジュールは、単独で、またはこの実施形態または他の実施形態に開示される他のモジュールとの様々な組み合わせで、１または複数のプロセッサによって実行可能なコード命令を含んでよい。開示される「モジュール」がハードウェアにおいて実装される場合、それらは、開示される実施形態と一致する機能を実行するために他のモジュールとインタラクトするように機械コード、アセンブリコードなどによって構成された組込みシステムまたは他の専用ハードウェアを備えてよい。
【００６５】
［0069］  いくつかの実施形態において、ターゲットファイルは、同じサイズを有するいくつかのデータパケットに分割される。
【００６６】
［0070］  いくつかの実施形態において、装置は、
ターゲットファイル内のデータパケットの状態情報およびプリセット順序でソートされているターゲットファイル内のデータパケットの位置情報を含み得る、データパケットの情報データベースを確立するように特に構成されたデータベース確立モジュール
を更に含んでよく、
取得モジュール２０は、
データパケットの情報データベース内の位置情報に従って、ターゲットファイル内のクライアントによって読み出されるデータパケットの位置を取得し、
データパケットの情報データベース内の状態情報に従って、ターゲットファイル内の読出し位置にないデータパケットの状態を取得する
ように特に構成され得る。
【００６７】
［0071］  いくつかの実施形態において、プリセット条件は、
読出し位置がターゲットファイルの最初の位置であるいうインジケーション、および
全てのデータパケットの周辺状態が未読状態であるというインジケーションを含んでよい。
【００６８】
［0072］  いくつかの実施形態において、クライアントによってクラウドサーバから毎回読み出されるターゲットファイル内のデータパケットの量は、読出し量として用いられてよく、読出し量の２倍の値がプリセット量として計算され得る。
【００６９】
［0073］  いくつかの実施形態において、プリセット条件は、
読出し位置がターゲットファイルの最初の位置ではないというインジケーション、および
読出し位置より前にある全てのデータパケットの周辺状態が読出し完了状態であるというインジケーションを含んでよい。
【００７０】
［0074］  いくつかの実施形態において、過去のデータプリフェッチ要求においてプリフェッチされたデータパケットの量の２倍の値がプリセット量として計算され得る。
【００７１】
［0075］  いくつかの実施形態において、プリセット条件は、
読出し位置がターゲットファイルの最初の位置ではないというインジケーションと、
読出し位置より前にあるデータパケットのいくつかの周辺状態が読出し完了状態であるというインジケーションを含んでよい。
【００７２】
［0076］  いくつかの実施形態において、読出し位置より前にあり、かつ周辺状態が読出し完了状態であるデータパケットの量は、プリセット量として用いられ得る。
【００７３】
［0077］  いくつかの実施形態において、方法は、
プリフェッチされたデータパケットをクラウドサーバから読み出すようにクライアントを制御し、
プリフェッチされたデータパケットをローカルにキャッシュする
ように構成されたデータキャッシングモジュールを更に含んでよい。
【００７４】
［0078］  いくつかの実施形態において、データキャッシングモジュールは、
プリフェッチされたデータパケットのアクセス順序に従って、プリフェッチされたデータパケットをソートするように特に構成され得る。
【００７５】
［0079］  本開示の実施形態によって提供されるクラウドファイル処理装置において、クラウドサーバ内のターゲットファイルに対してクライアントによって実行される読出し動作がプリセット条件を満たす場合、プリセット量のデータパケットがクラウドサーバからプリフェッチされ得る。クライアントは、これらのプリフェッチされたデータパケットにアクセスし、クライアントとクラウドサーバとの間のネットワーク伝送が遅延した場合でも、それらをユーザに提供することができる。その結果、クライアントは、ユーザが参照するためのターゲットファイルの関連データを提供することができる。
【００７６】
［0080］  本発明は、本発明の実施形態の方法およびデバイス（システム）を参照して説明された。フローチャートおよび／またはブロック図内の各プロセスおよび／またはブロック、およびフローチャートおよび／またはブロック図内のプロセスおよび／またはブロックの組み合わせは、情報検知デバイスとともにコンピュータプログラム命令を用いることによって実装され得ることを理解すべきである。これらのコンピュータプログラム命令は、コンピュータ、特定用途向けコンピュータ、組込みプロセッサまたは機械を生成するための他のプログラマブルデータ処理デバイスのプロセッサに提供されてよく、それによって、コンピュータまたは他のプログラマブルデータ処理デバイスのプロセッサによって実行される命令は、情報検知デバイスと連携して、フローチャート内の１または複数のプロセスおよび／またはブロック図内の１または複数のブロックに記載された機能を実装するための装置を生成する。
【００７７】
［0081］  コンピュータプログラム命令は、コンピュータまたは他のプログラマブルデータ処理デバイスに特定の方法で作動するようにガイドすることができるコンピュータ可読メモリ内に格納されてもよく、コンピュータ可読メモリ内に格納された命令は指示装置を含む製品を生成し、指示装置は、フローチャート内の１または複数のプロセスおよび／またはブロック図内の１または複数のブロックに記載された機能を実行する。
【００７８】
［0082］  これらのコンピュータプログラム命令は、コンピュータまたは他のプログラマブルデータ処理デバイスにロードされてもよく、それによって一連の動作ステップがコンピュータまたは他のプログラマブルデバイスにおいて実行されコンピュータ実行処理を生成し、その結果、コンピュータまたは他のプログラマブルデバイスにおいて実行される命令は、フローチャート内の１または複数のプロセスおよび／またはブロック図内の１または複数のブロックに記載された機能を実行するためのステップを提供する。
【００７９】
［0083］  典型的な構成において、コンピューティングデバイスは、１または複数の中央処理ユニット（ＣＰＵ）、入力／出力インタフェース、ネットワークインタフェース、およびメモリを含む。
【００８０】
［0084］  メモリは、たとえば非永久メモリ、ランダムアクセスメモリ（ＲＡＭ）および／またはコンピュータ可読媒体の中の不揮発性メモリ、たとえば読取専用メモリ（ＲＯＭ）またはフラッシュランダムアクセスメモリ（ｆｌａｓｈＲＡＭ）などの形式を含んでよい。メモリは、コンピュータ可読媒体の一例である。
【００８１】
［0085］  コンピュータ可読媒体は、永久および非永久、可動および固定の媒体を含み、任意の方法または技術を用いて情報記憶を実行することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであってよい。コンピュータの記憶媒体の例はたとえば、コンピュータデバイスにアクセス可能な情報を格納するために用いられ得る、たとえば位相変化ランダムアクセスメモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他の種類のランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読取専用メモリ（ＣＤ‐ＲＯＭ）、デジタルバーサタイルディスク（ＤＶＤ）または他の光記憶装置、１または複数のレジスタ、１または複数のキャッシュ、カセットテープ、磁気テープディスク記憶装置または他の磁気記憶デバイス、または他の非伝送媒体などの非一時的コンピュータ可読媒体を含むがこれらに限定されない。本明細書における定義によると、コンピュータ可読媒体は、たとえば変調データ信号および搬送波などの一時的コンピュータ可読媒体を含まない。
【００８２】
［0086］  また留意すべきであるように、「含む」、「備える」、またはこれらの他の任意の変化形は、非排他的な包括にわたることが意図されており、一連の要素を含むプロセス、方法、製品、またはデバイスは、これらの要素のみを含むのではなく明記されない他の要素も含み、またはプロセス、方法、製品、またはデバイスに固有の要素を更に含む。更なる制限を伴わずに「・・・を含む」という語句によって修飾される要素は、その要素を含むプロセス、方法、製品、またはデバイスが他の同一の要素を更に含むことを排除するものではない。
【００８３】
［0087］  上記説明は本開示の単なる実施形態にすぎず、本開示を限定することが意図されるものではない。当業者にとって、本開示は様々な変更および変形例を有し得る。本開示の主旨および原理から逸脱することなくなされるあらゆる変更、等価的置換、および改善は、本開示の特許請求の範囲に収まるものとする。
【００８４】
［0088］  本開示および例は単なる典型例と見なされ、開示される実施形態の適正な範囲および主旨は以下の特許請求の範囲によって示されることが意図される。
【図１】
2018532202.tif 000003
【図２】
2018532202.tif 000004
【図３】
2018532202.tif 000005
【図４】
2018532202.tif 000006
【図５】
2018532202.tif 000007
【国際調査報告】
2018532202.tif 000008
2018532202.tif 000009