JP2016509317A - Predictive storage service - Google Patents

Predictive storage service Download PDF

Info

Publication number
JP2016509317A
JP2016509317A JP2015559283A JP2015559283A JP2016509317A JP 2016509317 A JP2016509317 A JP 2016509317A JP 2015559283 A JP2015559283 A JP 2015559283A JP 2015559283 A JP2015559283 A JP 2015559283A JP 2016509317 A JP2016509317 A JP 2016509317A
Authority
JP
Japan
Prior art keywords
file
data
storage service
data files
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015559283A
Other languages
Japanese (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2016509317A publication Critical patent/JP2016509317A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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

Abstract

予測ストレージアプリケーションは、ファイルを別のコンピューティングシステムで使用可能にする予測ストレージサービスに送るべきコンピューティングシステムからのファイルを選択的に決定する。予測ストレージアプリケーションは、ファイルの使用を示すイベントを受信することができる。予測ストレージアプリケーションは、ファイルが十分な重要度を有していると判断し、それを予測ストレージサービスに送ることができる。開示の他の態様は、詳細な説明、図面、及び特許請求の範囲に記載されている。The predictive storage application selectively determines files from a computing system that should be sent to a predictive storage service that makes the file available to another computing system. The predictive storage application can receive an event indicating the use of a file. The predictive storage application can determine that the file has sufficient importance and send it to the predictive storage service. Other aspects of the disclosure are set forth in the detailed description, drawings, and claims.

Description

文書は、ワークフローの重要な一部となっており、これらは、追跡、報告、教育や支払い機能など様々な機能を果たす。例えば、子供と教師が配布資料やレポートに取り組んでいる。別の例では、整備士が修理中に部品、労働及び完了を追跡する。これらの文書を使用すると、ワークフローの状態が文書に反映され得るため、ワークフローが継続することを可能にする。   Documents are an important part of the workflow, and they perform various functions such as tracking, reporting, education and payment functions. For example, children and teachers are working on handouts and reports. In another example, a mechanic tracks parts, labor, and completion during repair. Using these documents allows the workflow to continue because the state of the workflow can be reflected in the document.

文書やコンテンツが構築されると、人々はますます検討し、様々なデバイス上にコンテンツを編集する。例えば、自身のスマートフォン上のスプレッドシートを検討することができるように、主要なビジネス指標を伴う最新のスプレッドシートを幹部は自分自身へ電子メールする。別の例では、弁護士の秘書はUSBドライブ上にファイルを置き、旅行中にノートパソコンで確認できるよう、弁護士に与える。更に別の例では、アーティストはリモートサーバへ変更を同期させる予め確認されたフォルダに資産や取り組み中の作業を保存する。   As documents and content are built, people increasingly consider and edit content on various devices. For example, executives email themselves to the latest spreadsheet with key business indicators so they can review the spreadsheet on their smartphone. In another example, the attorney's secretary places the file on a USB drive and gives the attorney so that it can be viewed on a laptop while traveling. In yet another example, an artist saves assets and work in progress in a pre-confirmed folder that synchronizes changes to a remote server.

本発明による様々な実施形態が図面を参照して説明されるが、図において、
少なくとも1つの実施形態による予測ストレージサービスの説明に役立つ実例を示す図である。 少なくとも1つの実施形態によるファイル構造を使用して予測ストレージサービスの説明に役立つ実例を示す図である。 少なくとも一実施形態による予測ストレージサービスにファイルを同期させるために使用することができるプロセスの説明に役立つ実例を示す図である。 少なくとも一実施形態による予測ストレージサービスで選択するファイルを決定するために使用されるプロセスの説明に役立つ実例を示す図である。 少なくとも一実施形態による予測ストレージサービスで選択するファイルを決定するために使用されるプロセスの説明に役立つ実例を示す図である。 少なくとも一実施形態による予測ストレージサービスでファイルを同期させるために使用することができるプロセスの説明に役立つ実例を示す図である。 少なくとも一実施形態による予測ストレージサービスにファイルを格納するために使用され得るプロセスの説明に役立つ実例を示す図である。 少なくとも一実施形態によるデータセンタ組織の説明に役立つ実例を示す図である。 種々の実施形態が実装される環境を説明する。
Various embodiments according to the invention will now be described with reference to the drawings, in which:
FIG. 6 illustrates an example that helps explain a predictive storage service according to at least one embodiment. FIG. 5 illustrates an example that helps explain a predictive storage service using a file structure according to at least one embodiment. FIG. 6 illustrates an example that helps illustrate a process that can be used to synchronize files to a predictive storage service according to at least one embodiment. FIG. 6 illustrates an example that helps illustrate a process used to determine files to select in a predictive storage service according to at least one embodiment. FIG. 6 illustrates an example that helps illustrate a process used to determine files to select in a predictive storage service according to at least one embodiment. FIG. 6 illustrates an example that helps illustrate a process that can be used to synchronize files with a predictive storage service according to at least one embodiment. FIG. 6 illustrates an example that helps illustrate a process that may be used to store a file in a predictive storage service according to at least one embodiment. FIG. 5 is an illustration useful for explaining a data center organization according to at least one embodiment. An environment in which various embodiments are implemented is described.

以下の記述では、様々な実施形態を説明する。説明の目的のために、特定の構成及び詳細が実施形態の完全な理解を提供するために記載されている。しかし、実施形態は特定の詳細なしに実施できることも当業者には明らかであろう。また、記述されている実施形態を不明瞭にしないために、周知の特徴は省略または簡略化してもよい。   In the following description, various embodiments will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the embodiments. However, it will be apparent to one skilled in the art that the embodiments may be practiced without the specific details. In other instances, well-known features may be omitted or simplified in order not to obscure the described embodiments.

ここに記載され推奨される技術は、別の場所で使用するために利用可能なファイルを作成するファイル構造からストレージサービスに送信するファイルを選択的に決定することを含んでいる。例えば、ユーザは、デスクトップコンピュータやモバイルデバイスなどのコンピューティングシステムをアカウントに登録してもよい。ユーザは、デスクトップコンピュータ及び/またはモバイルデバイスに、これらの登録されたコンピューティングシステム上でアクティビティを監視する予測ストレージアプリケーションをインストールさせることができる。   The techniques described and recommended include selectively determining which files to send to the storage service from a file structure that creates files available for use elsewhere. For example, a user may register a computing system such as a desktop computer or mobile device with an account. A user can cause a desktop computer and / or mobile device to install a predictive storage application that monitors activity on these registered computing systems.

説明に役立つ実施例として、予測ストレージアプリケーションは、ユーザがラップトップコンピュータ上でダウンロードし、PDFファイルを開いたことを判断することができる。PDFファイルがラップトップコンピュータ上で開いている間は、予測ストレージアプリケーションは、ユーザがワードプロセッシング文書も開いたという通知を受け取ることができる。そして、予測ストレージアプリケーションは、ウィンドウフォーカスがラップトップコンピュータ上でPDFとワードプロセッシング文書との間で複数回シフトするイベントを受け取る場合がある。ワードプロセッシング文書のためのイベントを保存すると、ユーザがファイルと対話し、PDFとワードプロセッシング文書が予測ストレージサービスに送信されるようになるという事実に少なくとも部分的に基づいて十分な重要性をPDFとワードプロセッシング文書が持っていることを予測ストレージアプリケーションが決定してもよい。一度予測ストレージサービスに入ると、PDFやワードプロセッシング文書は存続し、或いは登録携帯電話に送信することができる。ラップトップコンピュータ上でのPDFまたはワードプロセッシング文書のいずれかに行った任意の更なる変更も、予測ストレージアプリケーション及び/または携帯電話に同期させることができる。ユーザがラップトップコンピュータをシャットダウンすると、ユーザは携帯電話上でPDFを検討し、ワードプロセッシング文書の編集を続けることができる。   As an illustrative example, the predictive storage application may determine that a user has downloaded and opened a PDF file on a laptop computer. While the PDF file is open on the laptop computer, the predictive storage application can receive notification that the user has also opened the word processing document. The predictive storage application may then receive an event where the window focus shifts multiple times between the PDF and the word processing document on the laptop computer. Saving an event for a word processing document is of sufficient importance based at least in part on the fact that the user interacts with the file and the PDF and the word processing document are sent to the predictive storage service. The predictive storage application may determine that the word processing document has. Once in the predictive storage service, PDFs and word processing documents can persist or be sent to registered mobile phones. Any further changes made to either the PDF or word processing document on the laptop computer can also be synchronized to the predictive storage application and / or the mobile phone. When the user shuts down the laptop computer, the user can review the PDF on the mobile phone and continue editing the word processing document.

予測ストレージアプリケーションは、コンピューティングシステムのファイル構造を監視することができる。一実施形態では、サービスとして提供する仮想デスクトップには、ファイルシステムを監視する予測ストレージアプリケーションが含まれている。ファイルシステムは、ボリューム、オブジェクト記憶装置または他のデータコンテナに基づいてもよい。監視情報は、イベント、通知、ポーリングまたは他のプッシュ或いはプルベースの情報またはそれらの組合せを介して決定することができる。監視情報は、アプリケーション、オペレーティングシステム、ハイパーバイザー、プラグイン及び/またはそれらの組合せの監視情報の他のソースから受信することができる。例えば、アプリケーションは、一連のファイルタイプからのファイルが開かれ、閉じられ、作成され、修正され、及び/または破壊されたときに、通知を受信することをオペレーションシステムに登録することができる。別の実施例では、アプリケーションは、プラグインをワードプロセッサに含ませることができ、ファイルが開かれ、閉じられ、保存され、自動保存され及び/または保存オファーが拒否されると、アプリケーションに通知する。更に別の実施例では、アプリケーションは、ファイル構造に格納されている修正された、開いた、作成または他の日付及び情報に対する最近の変更のために、ボリューム内のファイル構造を定期的にスキャンすることができる。スキャンの間、他のファイルのメタデータは、著者、タイトル、主題、タグ、カテゴリ、最後に保存したユーザ名、リビジョン番号、バージョン番号、アプリケーション名、作成日、最後に保存した日付、最後に印刷した日付、最後にアクセスした日付、持ち込まれた日付、取得した日付、著作権、寸法、幅、高さ、解像度、圧縮、カメラ、ISO速度、シリアル番号、ファイル構造パス、ページ、単語、文字、線、段落及び/またはサイズのようなものを収集することが可能である。   The predictive storage application can monitor the file structure of the computing system. In one embodiment, the virtual desktop provided as a service includes a predictive storage application that monitors the file system. The file system may be based on volumes, object storage devices or other data containers. The monitoring information can be determined via events, notifications, polling or other push or pull based information or combinations thereof. The monitoring information can be received from other sources of monitoring information for applications, operating systems, hypervisors, plug-ins and / or combinations thereof. For example, an application can register with the operating system to receive notifications when files from a set of file types are opened, closed, created, modified, and / or destroyed. In another embodiment, the application can include the plug-in in the word processor, notifying the application when the file is opened, closed, saved, auto-saved, and / or saved offer is rejected. In yet another embodiment, the application periodically scans the file structure in the volume for recent changes to modified, open, created or other dates and information stored in the file structure. be able to. During scanning, the metadata of other files is printed by author, title, subject, tag, category, last saved user name, revision number, version number, application name, creation date, last saved date, last printed Date, last accessed date, date brought in, date acquired, copyright, dimensions, width, height, resolution, compression, camera, ISO speed, serial number, file structure path, page, word, character, Things like lines, paragraphs and / or sizes can be collected.

予測ストレージアプリケーションは、定量化されたデータの推論アルゴリズムに少なくとも部分的に基づいて、どのファイルをアップロードするかを決定することができる。アルゴリズムは、ファイルをアップロードすることの重要性を決定するために、経験則のような重要度の指標を使用することが可能である。どのファイルをアップロードするのが重要であるかを決定することによって、アップロード帯域幅及びストレージリソースをより効率的に使用することができるようになる。例えば、ファイル構造の全体(またはその一部)をアップロードする代わりに、特定されたファイルだけがアップロードされる。この選択的なアップロードは、ユーザがフォルダ内のすべてのものを強制的に保存する代わりに、予測ストレージアプリケーションを、測定された重要性を持つファイルの同期に集中させることが可能となる。また、この選択的なアップロードは、当座のまたは管理のファイルとして有用ではないかもしれないドキュメントのアップロードを避けることができる。ファイル構造内のファイルの構造及び/またはファイルについて収集された情報を使用して、予測ストレージアプリケーションは、重要度の指標に基づいて、ストレージサービスにどのファイルをアップロードするかを決定することができる。例えば、重要度の指標は、ユーザが時間をかけてファイルと相互作用した回数であってもよい。アルゴリズムは、重要度の指標に応じてファイルを評価するために使用することができる。アプリケーションは、ファイルの上位Xパーセント(ここでXは構成可能な変数である)をサービスにアップロードするように構成することができる。別の構成では、アルゴリズムは、その全体的な評価を調整するために、ファイルをランク付けし、各ファイルの格付けを重み付けすることができる。ファイルの重要度の格付けを計算する重要度の指標を決定するために、監視プログラムは、例えば、ドキュメントタイプ、ファイルオープニングリーセンシー、ファイルが開いていた時間の長さ、それが開かれたときから閉じられたときまでのファイル全体のサイズの変化、キーワードや著者情報を使用することができる。マシンログインとマッチングする著者によって最近開かれた、ワードプロセッシングタイプを有するファイルは、より高い重要度格付けを受けることができる。アップロードスケジュールも、決定した重要度によって優先順位付けすることができる。別の実施例では、決定された重要度は、コンピューティングシステムにインストールされたアプリケーションに少なくとも部分的に基づいてもよい。一実施形態では、ファイルは、もしアイコンがファイルのファイルタイプに関連付けられている場合、インストールされたアプリケーションとの関係を有するように決定されてもよい。例えば、「txt」ファイル拡張子は、すべての「txt」拡張子ファイルのためにアイコンを提供するワードプロセッシングプログラムに起因して、アイコンとの関連を有していてもよい。コンピューティングシステムがインストールされたワードプロセッサを有しているが、しかしスプレッドシートを持っていない場合は、ワードプロセッシングに関連するファイルは重要度の高い格付けを得るが、スプレッドシートに関連するファイルは重要性の格付けが低下する可能性がある。   The predictive storage application may determine which files to upload based at least in part on a quantified data inference algorithm. The algorithm can use a measure of importance, such as a rule of thumb, to determine the importance of uploading the file. By determining which files are important to upload, upload bandwidth and storage resources can be used more efficiently. For example, instead of uploading the entire file structure (or part of it), only the identified file is uploaded. This selective upload allows the predictive storage application to focus on synchronizing files of measured importance instead of forcing the user to save everything in the folder. This selective upload can also avoid uploading documents that may not be useful as a temporary or administrative file. Using the structure of the file within the file structure and / or information gathered about the file, the predictive storage application can determine which files to upload to the storage service based on the importance measure. For example, the importance index may be the number of times the user interacted with the file over time. The algorithm can be used to evaluate files according to importance indicators. The application can be configured to upload the top X percent of the file (where X is a configurable variable) to the service. In another configuration, the algorithm can rank the files and weight the rating of each file to adjust its overall rating. To determine the importance index that calculates the file's importance rating, the monitoring program can close the document type, file opening recency, the length of time the file was open, and when it was opened, for example. Changes in the overall file size, keywords and author information can be used until Files with the word processing type recently opened by authors that match machine logins can receive a higher importance rating. Upload schedules can also be prioritized according to the determined importance. In another example, the determined importance may be based at least in part on an application installed on the computing system. In one embodiment, a file may be determined to have a relationship with an installed application if an icon is associated with the file type of the file. For example, a “txt” file extension may have an association with an icon due to a word processing program that provides icons for all “txt” extension files. If the computing system has a word processor installed but does not have a spreadsheet, the files related to word processing will get a high rating, but the files related to the spreadsheet will be important The rating may be reduced.

一実施形態では、予測ストレージサービスがファイルを格納している。予測ストレージサービスは、登録されたコンピューティングシステム上の予測ストレージアプリケーションとの通信を介してのように、登録コンピューティングシステムからファイルを受信することができる。登録されたコンピューティングシステムは、顧客のアカウントに関連付けられたコンピューティングシステムであってもよい。一実施形態では、クライアントは、顧客のアカウントに関連するファイルを受信するために、予測ストレージサービスに登録してもよい。例えば、顧客は、コンピューティングシステムにソフトウェアクライアントをインストールすることができる。インストールの一部として、ソフトウェアクライアントは、ユーザ名とパスワード或いはキーなどのアカウント情報を要求し、予測ストレージサービスに登録してもよい。その後、予測ストレージサービスは、将来の接続でソフトウェアクライアントを識別するために使用することができるソフトウェアクライアントに識別子またはキーを提供することができる。別の実施形態では、予測ストレージサービスは、仮想デスクトップサービスと連携させることができる。仮想デスクトップサービスの顧客は、サービスのプロバイダにアカウントを作成することができる。ソフトウェアクライアントを備えたオペレーティングシステムを含む仮想マシンは、仮想デスクトップサービスによってプロビジョニングすることができ、オペレーティングシステムによって作成されたグラフィカルユーザインターフェイスをクライアントデバイスにストリーミングすることができる。この構成では、ソフトウェアクライアントは、予測ストレージサービスと通信することを可能にするためのアカウント情報を事前にプロビジョニングすることができる。   In one embodiment, the predictive storage service stores the file. The predictive storage service can receive files from a registered computing system, such as via communication with a predictive storage application on the registered computing system. The registered computing system may be a computing system associated with a customer account. In one embodiment, the client may register with the predictive storage service to receive files associated with the customer's account. For example, a customer can install a software client on a computing system. As part of the installation, the software client may request account information such as a username and password or key and register it with the predictive storage service. The predictive storage service can then provide an identifier or key to the software client that can be used to identify the software client in future connections. In another embodiment, the predictive storage service can be coordinated with a virtual desktop service. Virtual desktop service customers can create accounts with service providers. A virtual machine that includes an operating system with a software client can be provisioned by a virtual desktop service and a graphical user interface created by the operating system can be streamed to a client device. In this configuration, the software client can pre-provision account information to allow communication with the predictive storage service.

予測ストレージサービスは、その後にファイルを格納してもよい。一実施形態では、予測ストレージサービスは、ファイルに関連する他のサービスを提供してもよい。例えば、ストレージサービスは、ファイル及び/またはファイル内の情報を見付けるため検索が実行され得るように、ファイルにインデックスを付けてもよい。検索は、検索した情報の前と後の双方で、コンテンツを有するファイルからスニペットを返還することがある。別の実施形態では、予測ストレージサービスは、暗号化したファイルを受信して保存する。ファイルは送信装置によって暗号化されているので、予測ストレージサービスはファイルを保存し、ファイルを復号化することができる他の登録コンピューティングシステムにファイルを中継して送ることができる。侵入工作のリスクは、ストレージサービスがデータへのアクセスを持っておらず、唯一、暗号化されたペイロードを格納するだけという事実によって軽減することができる。別の実施形態では、暗号化されたペイロードが格納されている場合にハイブリッドアプローチが採られるが、予測ストレージサービスも暗号化キーを有している。別のハイブリッドアプローチでは、暗号化されたペイロードは、暗号化されたペイロードにインデックスと共に格納される。   The predictive storage service may then store the file. In one embodiment, the predictive storage service may provide other services related to the file. For example, the storage service may index the file so that a search can be performed to find the file and / or information within the file. A search may return a snippet from a file with content both before and after the searched information. In another embodiment, the predictive storage service receives and stores the encrypted file. Because the file is encrypted by the sending device, the predictive storage service can store the file and relay it to other registered computing systems that can decrypt the file. The risk of intrusion can be mitigated by the fact that storage services do not have access to data and only store encrypted payloads. In another embodiment, a hybrid approach is taken when an encrypted payload is stored, but the predictive storage service also has an encryption key. In another hybrid approach, the encrypted payload is stored with an index in the encrypted payload.

いくつかの実施形態では、格納されたファイルは、予測ファイルサービスから削除されてもよい。削除は、現在における決定された重要性、使用、空間及び/または時間に基づいてもよい。例えば、ファイルは、時間切れモデルに排除してもよい。保存されたファイルが一定の時間に亘って登録されたコンピューティングシステム上でアクセスされていない場合、ファイルは、予測ストレージサービスから削除されてもよい。別の実施例では、ファイルは、最低使用頻度(LRU)モデルに追いやってもよい。予測ストレージサービスは、ファイルがストレージから削除されなければならないと判断した場合、予測ストレージサービスは、それがアクセスされて以来、最も長い時間が経過している削除すべきファイルを選択することができる。他の実施形態では、予測ストレージサービスは、予測ストレージサービスに保存されたファイルのために、登録されたデバイスから重要度の格付け及び/または重要度の指標を受信したり要求したりすることができる。これらの格付けは、重要度の格付けを有し、閾値をパスしないファイルや、重要度の格付け分布の統計的解析からの低い外れ値のファイルのようなものがもしあるならば、どのファイルをストレージサービスから削除するかを判断することができる。   In some embodiments, the stored file may be deleted from the predictive file service. Deletion may be based on current determined importance, usage, space and / or time. For example, the file may be excluded in a time-out model. If the saved file has not been accessed on the registered computing system for a certain amount of time, the file may be deleted from the predictive storage service. In another embodiment, the file may be driven to a least recently used (LRU) model. If the predictive storage service determines that a file must be deleted from storage, the predictive storage service can select the file to delete that has been the longest time since it was accessed. In other embodiments, the predictive storage service may receive and request importance ratings and / or importance indicators from registered devices for files stored in the predictive storage service. . These ratings have a rating of importance and if there is something like a file that does not pass the threshold, or a low outlier file from a statistical analysis of the importance rating distribution, which file should be stored You can decide whether to delete from the service.

いくつかの実施形態では、予測ストレージサービスは、登録されたデバイスにファイルを中継する。予測ストレージサービスは、ファイルを配布するための媒介として作用してもよい。一実施形態では、登録されたデバイスがファイルを受信しながら、予測ストレージサービスは一時的にファイルを格納することができる。一実施形態では、デバイスが互いにファイルを送信し、予測ストレージサービスがファイルを格納しないように、予測ストレージサービスはピア接続を容易にする。   In some embodiments, the predictive storage service relays files to registered devices. The predictive storage service may act as an intermediary for distributing files. In one embodiment, the predictive storage service can temporarily store the file while the registered device receives the file. In one embodiment, the predictive storage service facilitates peer connections so that devices send files to each other and the predictive storage service does not store files.

次に図1を検討するが、少なくとも1つの実施形態による予測ストレージサービス100の例示的な実施例が示されている。図示された実施形態では、第1のコンピューティングシステム上でアクセスされたファイル102は、ユーザによる更なるアクセスのために予測ストレージサービス100によって促進されるよう第2のコンピューティングシステムに転送される。予測ストレージサービス100は、どのファイルを転送するかを決定するために重要度の指標を用いることができる。例えば、ユーザは、デスクトップコンピュータ104上でアクセスされる、ワードプロセッシングファイルのようなファイル102にアクセスする。デスクトップコンピュータ104上の予測ストレージアプリケーションレジデントは、ファイルへの最近のアクセスが重要度の指標であり得るため、アクセスされたファイル102はユーザにとって重要であると判断する。いくつかの実施形態では、重要度は、いくつかの測定値を用いたアルゴリズムまたはヒューリスティックによって計算される一連の重要度インジケータから算出されたものである。測定は上述のように監視情報、及び/またはファイルのメタデータを含んでもよい。ファイル102は、十分に高く決定された重要度を有しているので、予測ストレージサービス110に接触してよいことになる。いくつかの実施形態では、ファイルをインターネット108経由で予測ストレージサービス110に送信してもよい。1つまたは複数のサーバ112を使用して、予測ストレージサービス110はファイル102を格納することができる。いくつかの実施形態では、予測ストレージサービス110は次にモバイルデバイス106との接触を試み、プッシュ通知や他のプッシュ技法を介するなどして、ファイル102をモバイルデバイスに送信することが可能である。他の実施形態では、モバイルデバイス106は予測ストレージサービス110と接触することができ、ファイル102を受け取るために予測ストレージサービス110からの更新を要求してもよい。モバイルデバイス106からの更新のためのこの要求は、モバイルデバイス106上で予測ストレージアプリケーションの立ち上げ、モバイルデバイス106からの定期的なポーリング要求、モバイルデバイス106上のイベント、或いは他のプル技法によるものである。   Turning now to FIG. 1, an illustrative example of a predictive storage service 100 in accordance with at least one embodiment is shown. In the illustrated embodiment, the file 102 accessed on the first computing system is transferred to the second computing system to be facilitated by the predictive storage service 100 for further access by the user. The predictive storage service 100 can use the importance index to determine which files to transfer. For example, the user accesses a file 102, such as a word processing file, accessed on the desktop computer 104. The predictive storage application resident on the desktop computer 104 determines that the accessed file 102 is important to the user because recent access to the file can be an indicator of importance. In some embodiments, the importance is calculated from a series of importance indicators calculated by an algorithm or heuristic using several measurements. The measurements may include monitoring information and / or file metadata as described above. Since the file 102 has an importance determined high enough, the predictive storage service 110 may be contacted. In some embodiments, the file may be sent to the predictive storage service 110 via the Internet 108. Using one or more servers 112, the predictive storage service 110 can store the file 102. In some embodiments, the predictive storage service 110 may then attempt to contact the mobile device 106 and send the file 102 to the mobile device, such as via push notifications or other push techniques. In other embodiments, the mobile device 106 can contact the predictive storage service 110 and may request an update from the predictive storage service 110 to receive the file 102. This request for updates from the mobile device 106 is due to launching a predictive storage application on the mobile device 106, periodic polling requests from the mobile device 106, events on the mobile device 106, or other pull techniques. It is.

他の実施形態では、予測ストレージサービス110は、ファイル102をモバイルデバイス106に直接送信するように準備してもよい。一実施形態では、登録されたデバイスは、予測ストレージサービス110と接触したままであってもよい。例えば、重要なファイルが他のコンピュータシステムと共有されるべきと判断されたとき、デスクトップシステム104は予測ストレージサービス110に接触して、モバイルデバイス106のような他のコンピューティングシステムのために接触情報を取り出すことができる。構成に応じて、デスクトップシステム104は直接モバイルデバイス106に接続することができ、モバイルデバイス106は直接デスクトップシステム104に接続することができ、予測ストレージサービス110は、デスクトップシステム104とモバイルデバイス106との間のプロキシまたは他の接続が開設されるように機能してもよい。接続を利用して、デスクトップシステム104はファイル102をモバイルデバイス106に送信することができる。   In other embodiments, the predictive storage service 110 may prepare to send the file 102 directly to the mobile device 106. In one embodiment, the registered device may remain in contact with the predictive storage service 110. For example, when it is determined that an important file should be shared with other computer systems, the desktop system 104 contacts the predictive storage service 110 to provide contact information for other computing systems such as the mobile device 106. Can be taken out. Depending on the configuration, the desktop system 104 can connect directly to the mobile device 106, the mobile device 106 can connect directly to the desktop system 104, and the predictive storage service 110 can connect the desktop system 104 to the mobile device 106. A proxy or other connection between them may be opened. Using the connection, the desktop system 104 can send the file 102 to the mobile device 106.

デスクトップ及び/またはモバイルデバイス106は、予測ストレージサービス110に登録することが可能である。一実施形態では、顧客は予測ストレージサービス110でアカウントを作成する。次に、顧客は、デスクトップコンピュータ104やモバイルデバイス106のようなコンピューティングシステムの各々にアプリケーションをインストールすることができる。アプリケーションは、コンピューティングシステムを予測ストレージサービス110に登録して、顧客のアカウントとコンピューティングシステムを関連付けることができる。   The desktop and / or mobile device 106 can register with the predictive storage service 110. In one embodiment, the customer creates an account with the predictive storage service 110. The customer can then install the application on each of the computing systems, such as desktop computer 104 and mobile device 106. The application can register the computing system with the predictive storage service 110 and associate the customer's account with the computing system.

別の実施形態では、予測ストレージサービス110は、仮想デスクトップサービス114と連携して動作することも可能である。例えば、仮想デスクトップサービス114を操作するサービスプロバイダは、ユーザのためにオペレーティングシステムを備える仮想マシンを起動することができる。オペレーティングシステムのためのユーザインターフェイス118は、ユーザによって操作されるコンピューティングシステムにストリーミングすることができる。仮想デスクトップサービス114は1つまたは複数の物理マシン116を備えていてもよく、仮想マシンでプログラムを実行すると共にオペレーティングシステムのためのユーザインターフェイス118をクライアントにストリーミングする1つまたは複数の仮想マシンを物理マシンが提供する。ユーザインターフェイス118からの入力は、デスクトップサービス114にストリーミングすることができる。例えば、仮想マシンは、オペレーティングシステムのグラフィカルユーザインターフェイスを遠隔のラップトップにエクスポートすることができ、遠隔のラップトップからキーボードやマウスの入力を受け取ることができる。データセンタ内での仮想マシンの構成の一例を、図8に見ることができる。仮想デスクトップサービス114は、ユーザインターフェイス118で使用可能なファイル102を作成するために、ネットワーまたはインターネットを介して、予測ストレージサービス110と通信することができる。一実施形態では、仮想デスクトップ環境は、ファイル102にアクセス及び/またはファイル102を修正する仮想マシンでプログラムを実行することができる。仮想デスクトップサービス114のディスプレイは、クライアントコンピューティングリソース上に表示するためにエクスポートされてもよく、一方、ファイル102の処理とデスクトップ環境プログラムの実行は、デスクトップサービス114内で行われる。マウス、タッチ及び/またはキーボードのような入力は、ユーザインターフェイス118から仮想デスクトップサービス114に伝えられてもよい。   In another embodiment, the predictive storage service 110 may operate in conjunction with the virtual desktop service 114. For example, a service provider operating the virtual desktop service 114 can start a virtual machine with an operating system for the user. The user interface 118 for the operating system can be streamed to a computing system operated by the user. The virtual desktop service 114 may comprise one or more physical machines 116 that physically execute one or more virtual machines that execute programs on the virtual machine and stream a user interface 118 for the operating system to the client. Provided by the machine. Input from the user interface 118 can be streamed to the desktop service 114. For example, the virtual machine can export the operating system graphical user interface to a remote laptop and receive keyboard and mouse input from the remote laptop. An example of the configuration of the virtual machine in the data center can be seen in FIG. The virtual desktop service 114 can communicate with the predictive storage service 110 over a network or the Internet to create a file 102 that can be used in the user interface 118. In one embodiment, the virtual desktop environment may execute the program on a virtual machine that accesses and / or modifies the file 102. The display of the virtual desktop service 114 may be exported for display on the client computing resource, while processing of the file 102 and execution of the desktop environment program occurs within the desktop service 114. Input such as a mouse, touch and / or keyboard may be communicated from the user interface 118 to the virtual desktop service 114.

いくつかの実施形態では、予測ストレージサービス110は、Webインターフェイスを介してファイル102へのアクセスを提供する。一実施形態では、Webインターフェイスは、重要なファイルをダウンロードするためのダウンロード機能が含まれている。別の実施形態では、Webインターフェイスは、Webインターフェイスを介してファイルを編集する編集機能を備えている。例えば、ワードプロセッシング文書は、Webインターフェイスを介して利用できるワードプロセッシングWebアプリケーションに起因したWebインターフェイスを介して編集することができる。スプレッドシートファイルタイプのためのスプレッドシートWebアプリケーションまたはオーディオファイルタイプのためのオーディオプレーヤーのように、他のファイルタイプ及びアプリケーションもまた、利用できるようにすることが可能である。いくつかの実施形態において、使いやすさを促進する目的で、あるファイル形式から別の種類のファイル形式に変換するための変換器も使用することができる。例えば、オーディオファイルは、あまりサポートされていないファイルタイプからより広く一般的なファイルタイプまたはクライアントブラウザによってサポートされているファイルタイプに変換することができる。   In some embodiments, the predictive storage service 110 provides access to the file 102 via a web interface. In one embodiment, the web interface includes a download function for downloading important files. In another embodiment, the web interface includes an editing function for editing a file via the web interface. For example, a word processing document can be edited via a web interface resulting from a word processing web application available via the web interface. Other file types and applications can also be made available, such as a spreadsheet web application for spreadsheet file types or an audio player for audio file types. In some embodiments, a converter for converting from one file format to another file format may also be used to facilitate ease of use. For example, an audio file can be converted from a less supported file type to a more general file type or a file type supported by a client browser.

次に図2を検討するが、図にはファイル構造206を使用する少なくとも1つの実施形態に従った予測ストレージサービスの例示的な実施例が示されている。ファイル構造206は、監視情報及びファイルメタデータを介して識別され得る重要なファイル212のために監視されることが可能である。他のファイル210は、あまり重要でないと見なされてもよい。例えば、コンピューティングシステム202上の予測ストレージアプリケーションは、コンピューティングシステム202に接続された記憶装置204を監視することができる。図示の実施形態では、記憶装置204は、階層的な性質を有するファイル構造206を備えている。フォルダ208は、他のフォルダ208及び/またはファイル210及び/または212を包含していてもよい。予測ストレージアプリケーションは、ファイルイベントが通知されるように随時ファイル構造206を登録及び/またはスキャンすることができる。   Considering now FIG. 2, which illustrates an exemplary example of a predictive storage service in accordance with at least one embodiment using a file structure 206. The file structure 206 can be monitored for important files 212 that can be identified via monitoring information and file metadata. Other files 210 may be considered less important. For example, a predictive storage application on computing system 202 can monitor storage device 204 connected to computing system 202. In the illustrated embodiment, the storage device 204 includes a file structure 206 having a hierarchical nature. The folder 208 may include other folders 208 and / or files 210 and / or 212. The predictive storage application can register and / or scan the file structure 206 at any time to be notified of file events.

例えば、予測ストレージアプリケーションは、バックグラウンドサービスとして動作するコンピューティングシステム202にインストールすることができる。予測ストレージアプリケーションは、上述のように情報やファイルメタデータを監視するため、ハードドライブなどの記憶装置204を監視することができる。予測ストレージアプリケーションは、スキャン及び/またはファイルのイベントから調製した重要度の指標に基づいた特定のファイルのために重要度の格付けを決定することができる。重要度の格付けを用いて、一連214の重要なファイル212が確定され、予測ストレージサービスに送信される。一実施例では、24時間が経過すると1ポイントがマイナスされる、5ポイントから始まって減少する重要度指標スコアが与えられる。編集可能なファイルには2ポイントが与えられる一方で、テキストを含んだ文書に対しては1ポイントが与えられている。6ポイントまたはそれ以上の重要度スコアを有するファイルは重要であると判断され、5ポイントまたはそれ以下のスコアでは予測ストレージサービスに送信されない場合がある。   For example, the predictive storage application can be installed on a computing system 202 that operates as a background service. The predictive storage application can monitor storage devices 204 such as hard drives to monitor information and file metadata as described above. The predictive storage application can determine the importance rating for a particular file based on importance indicators prepared from scan and / or file events. Using the importance rating, a series 214 of important files 212 is determined and sent to the predictive storage service. In one embodiment, an importance index score is given that starts at 5 points and decreases with 1 point being deducted after 24 hours. An editable file is given 2 points, while a document containing text is given 1 point. Files with an importance score of 6 points or higher are considered important and may not be sent to the predictive storage service with a score of 5 points or lower.

いくつかの実施形態では、ファイルが暗号化される。一実施形態では、ファイルは、TLS/SSLを介して送信される。他の実施形態では、ファイルは、暗号化されたファイルとして保存するためにコンピューティングシステム202を離れる前に暗号化される。ファイルを暗号化することにより、予測ストレージアプリケーションは、傍受及び/または機密情報の漏洩の危険性を低減することができる。   In some embodiments, the file is encrypted. In one embodiment, the file is transmitted via TLS / SSL. In other embodiments, the file is encrypted prior to leaving computing system 202 for storage as an encrypted file. By encrypting the file, the predictive storage application can reduce the risk of interception and / or leakage of sensitive information.

予測ストレージアプリケーションは、ファイル、ファイルタイプ、フォルダ、監視情報及びファイルメタデータを含むように及び/または排除するために、ユーザ及び/または管理者によって構成してもよい。一実施形態では、管理者は、一連のビジネスコンピューティングシステムのために予測ストレージアプリケーションを構成することができる。重要なファイルは、少なくとも他のチームメンバーに関係すると判断された最新の情報をチームメンバーが閲覧することができるように、チームメンバーのコンピューティングシステムに送信されてもよい。   The predictive storage application may be configured by a user and / or administrator to include and / or exclude files, file types, folders, monitoring information and file metadata. In one embodiment, an administrator can configure a predictive storage application for a set of business computing systems. The critical file may be sent to the team member's computing system so that the team member can view at least the latest information determined to be relevant to the other team members.

次に図3を検討するが、この図には少なくとも一実施形態に従ってファイルを予測ストレージサービスと同期させるために使用され得るプロセス300の例示的な実施例が示されている。プロセス300は、デスクトップコンピュータシステム104、モバイルデバイス106、ファイル102、予測ストレージサービス110、インターネット108及びサーバ112のような図1に見られる1つまたは複数のコンピューティングリソースを使用することによって達成することができる。予測ストレージアプリケーションは、コンピューティングシステムにインストール302してもよい。コンピューティングシステムは、予測ストレージサービスに登録304することもできる。例えば、インストールの一部として、ソフトウェアクライアントは、予測ストレージサービスに接触して、クライアントが顧客のアカウントに関連付けられていることを識別するために使用することができるユーザ名とパスワードまたはデジタルキーなどの資格証明書を提供することができる。ソフトウェアクライアントは、予測ストレージサービスによって、クライアントの識別に使用するキーのような一連の資格情報を与えられてもよい。他の実施形態では、MACアドレス、システムに関する1つまたは複数の識別情報或いはその他の識別情報のハッシュは、予測ストレージサービスに登録し、クライアントを識別するために使用することができる。オペレーティングシステムに適したアプリケーションをインストールすること及び予測ストレージサービスにデバイスを登録することによって、他のシステムを追加することができる。予測ストレージアプリケーション(複数可)は、ファイルの潜在的な重要度を示すものとして判断される測定及び/またはイベントのためにファイル308を監視することができる。いくつかの実施形態では、イベントは、ファイルとのユーザ相互作用を測定するために使用することができる。もし重要度の高いファイル310が発見されない場合、そして新規なシステムを登録する必要がない場合、ファイルは監視308し続けてもよい。潜在的に重要なファイルが検出310された場合、ファイルの重要度を計算312することができる。例えば、ワードプロセッシングファイルが保存されたイベントを予測ストレージアプリケーションが受け取った場合、予測ストレージアプリケーションが反応し、ファイルの重要度の格付けを判断することができる。もし格付けがファイルは十分に重要であると示した場合314は、ファイルは予測ストレージサービスに送られ316、他の登録されたデバイスに送信することができる。次いで、プロセスはブロック308から始まる繰り返しをしてもよい。しかし、ファイルが十分に重要でない314場合は、プロセスはブロック308から始まる繰り返しをしてもよい。事後を含む、種々の時点で他のデバイスを追加してもよいことに留意すべきである。   Considering now FIG. 3, which illustrates an exemplary example of a process 300 that may be used to synchronize files with a predictive storage service in accordance with at least one embodiment. Process 300 is accomplished by using one or more computing resources found in FIG. 1, such as desktop computer system 104, mobile device 106, file 102, predictive storage service 110, Internet 108 and server 112. Can do. The predictive storage application may be installed 302 on the computing system. The computing system can also register 304 with the predictive storage service. For example, as part of an installation, a software client can contact a predictive storage service and use it to identify that the client is associated with a customer account, such as a username and password or digital key Credentials can be provided. A software client may be given a set of credentials, such as a key used to identify the client, by the predictive storage service. In other embodiments, the MAC address, one or more identification information about the system, or a hash of other identification information can be registered with the predictive storage service and used to identify the client. Other systems can be added by installing the appropriate application for the operating system and registering the device with the predictive storage service. The predictive storage application (s) can monitor the file 308 for measurements and / or events that are determined to indicate the potential importance of the file. In some embodiments, events can be used to measure user interaction with a file. If a high importance file 310 is not found, and no new system needs to be registered, the file may continue to be monitored 308. If a potentially important file is detected 310, the importance of the file can be calculated 312. For example, if the predictive storage application receives an event in which a word processing file is stored, the predictive storage application can react and determine the rating of the importance of the file. If the rating indicates that the file is sufficiently important 314, the file is sent to the predictive storage service 316 and can be sent to other registered devices. The process may then repeat starting at block 308. However, if the file is not sufficiently important 314, the process may repeat starting at block 308. It should be noted that other devices may be added at various times, including after the fact.

プロセス300(または本明細書に記載の任意の他のプロセス、またはその変形及び/またはそれらの組合せ)のいくつか或いは全部は、実行可能な命令で構成された1つまたは複数のコンピュータシステムの制御下で実行されてもよいし、ハードウェアまたはそれらの組合せにより、1つまたは複数のプロセッサ上で一括して実行するコード(例えば、実行可能な命令、1つまたは複数のコンピュータプログラム、或いは1つまたは複数のアプリケーション)として実施することができる。コードは、例えば、1つまたは複数のプロセッサによって実行可能な複数の命令からなるコンピュータプログラムの形で、コンピュータ読み取り可能な記憶媒体に格納してもよい。コンピュータ可読記憶媒体は、非一時的なものであってもよい。   Some or all of process 300 (or any other process described herein, or variations and / or combinations thereof) may control one or more computer systems comprised of executable instructions. Code that may be executed in bulk on one or more processors (eg, executable instructions, one or more computer programs, or one, by hardware or a combination thereof) Or a plurality of applications). The code may be stored on a computer-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions that can be executed by one or more processors. The computer readable storage medium may be non-transitory.

プロセスの特定の実施例が示されているが、プロセス操作の一部は直列の代わりに並列に実行されてもよいことに留意すべきである。例えば、サービスへファイルを送信316し、登録されたデバイスに送信する操作は並列に実行することができる。別の実施例では、アプリケーションのインストール302と、コンピューティングシステムの登録304は、別のコンピューティングシステム上で並行して実行することができる。   It should be noted that although specific examples of processes are shown, some of the process operations may be performed in parallel instead of serially. For example, the operation of sending 316 a file to a service and sending it to a registered device can be performed in parallel. In another example, application installation 302 and computing system registration 304 can be performed in parallel on different computing systems.

別の実施例では、第1のデバイスが第1のファイルは重要であると判断し、第2のデバイスが第2のファイルは重要であると判断してもよい。第1のデバイスは、第1のファイルを予測ストレージサービス及び/または第2のデバイスに同期させることができる。そして第2のデバイスは、第2のファイルを予測ストレージサービス及び/または第1のデバイスに同期させることができる。その結果、第1のファイル及び第2のファイルは、予測ストレージサービス及び/または第1と第2のデバイスの双方に格納することが可能となる。   In another example, the first device may determine that the first file is important and the second device may determine that the second file is important. The first device may synchronize the first file with the predictive storage service and / or the second device. The second device can then synchronize the second file with the predictive storage service and / or the first device. As a result, the first file and the second file can be stored in the predictive storage service and / or both the first and second devices.

コンピューティングシステム上での予測ストレージアプリケーションの責任は、どのファイルを予測ストレージサービスまたは他のデバイス上のようなコンピューティングシステムの外側で使用可能なものにするべきかを確定することである。図4は、少なくとも一実施形態による予測ストレージサービスで選択するファイルを決定するために使用されるプロセス400の例示的な実施例を示している。プロセス400は、デスクトップコンピュータシステム104、モバイルデバイス106、ファイル102、予測ストレージサービス110、インターネット108及びサーバ112のような図1に見られる1つまたは複数の計算リソースを使用することによって達成することができる。予測ストレージアプリケーションは、コンピューティングシステム上に存在する。予測ストレージアプリケーションは、ファイルがコンピューティングシステムの外側で共有されるべきと表示するためにファイル構造を監視402する。ファイルのメタデータのような監視及び/または他の情報に基づくアルゴリズム及び/または経験則を使用して、予測ストレージアプリケーションは、どのファイルを予測ストレージサービスに送信するかを選択的に決定404することができる。例えば、重要度の格付けは、ファイルが最近開かれた、最近保存された、ワードプロセッシング拡張機能を有しているなどの属性によって増加させることができる。重要度の格付けが十分に高い場合、ファイルは、予測ストレージサービスに送信するように選択することができる。選択されると、ファイルは予測ストレージサービス406にアップロードすることができる。例えば、予測ストレージアプリケーションは、TLS/SSLなどのセキュア通信チャネルを使用して予測ストレージサービスへのアプリケーションプログラミングインターフェイス呼び出しを行うことができる。いくつかの実施形態では、ファイルは、予測ストレージサービスに送信する前に、予測ストレージアプリケーションによってコンピューティングシステム上で暗号化することが可能である。   The responsibility of the predictive storage application on the computing system is to determine which files should be usable outside of the computing system, such as on predictive storage services or other devices. FIG. 4 illustrates an exemplary example of a process 400 used to determine a file to select with a predictive storage service according to at least one embodiment. Process 400 may be accomplished by using one or more computational resources found in FIG. 1, such as desktop computer system 104, mobile device 106, file 102, predictive storage service 110, Internet 108, and server 112. it can. A predictive storage application resides on the computing system. The predictive storage application monitors the file structure 402 to indicate that the file should be shared outside the computing system. Using algorithms and / or heuristics based on monitoring and / or other information such as file metadata, the predictive storage application may selectively determine 404 which files to send to the predictive storage service. Can do. For example, the importance rating can be increased by attributes such as the file was recently opened, recently saved, or has a word processing extension. If the importance rating is high enough, the file can be selected to be sent to the predictive storage service. Once selected, the file can be uploaded to the predictive storage service 406. For example, the predictive storage application may make an application programming interface call to the predictive storage service using a secure communication channel such as TLS / SSL. In some embodiments, the file may be encrypted on the computing system by the predictive storage application before being sent to the predictive storage service.

図5に示した一実施形態では、モニタリングはイベントベースの監視を含んでもよい。プロセス500は、デスクトップコンピュータシステム104、モバイルデバイス106、ファイル102、予測ストレージサービス110、インターネット108及びサーバ112のような図1に示した1つまたは複数の計算リソースを使用することによって達成することができる。予測ストレージアプリケーションは、ファイル操作に関連するファイルの重要度決定をトリガーするファイル操作のイベント通知を受信502することができる。決定がなされる前に、ファイルに関する情報を収集してもよい。図示の実施形態では、他のデバイス間でのファイルの使用は、ファイルを開く、保存する或いは削除することで確定504することができる。ファイルタイプは、判断506することが可能である。いくつかの実施形態では、ワードプロセッシング文書、スプレッドシート、画像及び/または文書のように共用されているファイルは、構成ファイル、バックアップファイル及び/または実行可能ファイルのように、通常使用されていないファイルより高い重要度が与えられてもよい。ファイルに関連するイベントの履歴は確定508することができる。例えば、ファイルが最後の日に複数の保存をして、複数のオープニングイベント及び/または閾値を超えるアクティブなウィンドウの継続時間を持った場合、その後、ファイルの重要度の格付けは増加させることができる。他のアプリケーションと連携してファイルを使用することも決定510される。例えば、ファイルの重要度の格付けは、ファイルが別の重要なファイルと連携して開かれているときに向上させることができる。別の実施例では、既に決定された重要性を有するファイルと審査中のファイルとの間でフォーカスを変更すると、審査中ファイルの重要度格付けを増大させることができる。操作504から510で収集されたこの情報は潜在的な情報収集の実施例であるので、他の考察も用いることができる。収集した情報を用いて、ファイルの重要度格付けを決定することができる512。もし十分に重要であると決定した場合は514、ファイルはサービス516に送信され、その後、プロセスは操作502で繰り返される。もしファイルが十分な重要度を有しない場合514、予測ストレージアプリケーションは戻され、操作502で新しいイベントを待つことになる。   In one embodiment shown in FIG. 5, monitoring may include event-based monitoring. Process 500 may be accomplished by using one or more computational resources shown in FIG. 1, such as desktop computer system 104, mobile device 106, file 102, predictive storage service 110, Internet 108, and server 112. it can. The predictive storage application may receive 502 a file operation event notification that triggers a file importance determination associated with the file operation. Information about the file may be collected before a decision is made. In the illustrated embodiment, use of the file between other devices can be determined 504 by opening, saving, or deleting the file. The file type can be determined 506. In some embodiments, shared files such as word processing documents, spreadsheets, images and / or documents are not normally used files such as configuration files, backup files and / or executable files. A higher importance may be given. A history of events associated with the file can be determined 508. For example, if a file has multiple saves on the last day and has multiple opening events and / or active window durations that exceed a threshold, then the importance rating of the file can be increased. . It is also determined 510 to use the file in conjunction with other applications. For example, the importance rating of a file can be improved when the file is opened in conjunction with another important file. In another embodiment, changing the focus between a file with an already determined importance and a file under review can increase the importance rating of the file under review. Since this information collected in operations 504 to 510 is an example of potential information collection, other considerations can also be used. Using the collected information, the importance rating of the file can be determined 512. If it is determined to be sufficiently important 514, the file is sent to service 516 and the process is then repeated at operation 502. If the file does not have sufficient importance 514, the predictive storage application is returned and will wait for a new event in operation 502.

いくつかの実施形態では、重要度の格付けは、クライアントのニーズに合わせることができる。一実施形態では、予測ストレージシステムはユーザと一体になって使用されてもよい。ユーザは、フォルダ(システムフォルダなど)が含まれるように、または除外するように文書を構成し、USBドライブなどの一時的なボリュームを含めるかどうかを決定することができる。同様に、重要度の格付け計算も構成することができまる。例えば、写真家は文書よりも画像により興味がある可能性があり、一方で弁理士は画像よりも文書や技術的な図面に興味がある可能性がある。予測ストレージアプリケーションは、デフォルトの構成を含んでいてもよい。   In some embodiments, the importance rating can be tailored to the needs of the client. In one embodiment, the predictive storage system may be used with a user. The user can configure the document to include or exclude folders (such as system folders) and decide whether to include temporary volumes such as USB drives. Similarly, importance rating calculations can also be configured. For example, a photographer may be more interested in images than documents, while a patent attorney may be more interested in documents and technical drawings than images. The predictive storage application may include a default configuration.

別の実施形態では、予測ストレージシステムは、企業環境またはチーム環境で管理者と共に使用することができる。予測ストレージサービスにアップロードされたファイルは、ファイルのユーザに与えられたファイルのアクセス権を尊重することできる。例えば、チームには読み取り専用であるが、重要であると判断されたファイルは、読み取り専用状態のままであってもよい。ワードプロセッシング文書を一連の画像に変換するように、ファイルは必要に応じて、文書を受け取るデバイス上で読み取り専用の条件を順守する形式に変換することができる。別の実施例では、アクセス許可は、文書を閲覧/または編集する権限を持っているチームメンバーに重要と見なされるファイルを配布するだけの予測ストレージサービスによって順守され得る。   In another embodiment, the predictive storage system can be used with an administrator in an enterprise or team environment. Files uploaded to the predictive storage service can respect the file access rights given to the user of the file. For example, a file that is read-only to the team but that is determined to be important may remain in a read-only state. To convert a word processing document into a series of images, the file can optionally be converted to a format that complies with read-only conditions on the device receiving the document. In another embodiment, access permissions may be adhered to by a predictive storage service that only distributes files deemed important to team members who have the authority to view / edit documents.

いくつかの実施形態では、予測ストレージサービスは、ファイルのレポジトリとして動作するより、むしろデバイス間でのファイル伝達を促進することができる。図6には、少なくとも一実施形態による予測ストレージサービスでファイルを同期させるために使用することができるプロセス600の例示的な実施例が示されている。プロセス600は、デスクトップコンピュータシステム104、モバイルデバイス106、ファイル102、予測ストレージサービス110、インターネット108及びサーバ112のような図1に示した1つまたは複数の計算リソースを使用することによって達成することができる。予測ストレージサービスは、アカウントを顧客に登録することができる602。クライアントはアカウントを参照し、コンピューティングシステムを登録604することができる。それ以上のコンピューティングシステムが利用可能である場合、登録プロセスは複数のデバイスで複数回実行することができるので、それらもまた登録しても構わない。予測ストレージシステムは、他の登録されているシステムと同期するファイルを受け取る606ことができる。いくつかの実施形態では、登録されたシステム上で動作している予測ストレージアプリケーションからファイルを受け取ることができる。一実施形態では、受信されたファイルが暗号化されている。別の実施形態では、暗号鍵が登録システムに知られているが、予測ストレージサービスには知られていない。   In some embodiments, the predictive storage service can facilitate file transfer between devices rather than acting as a repository of files. FIG. 6 illustrates an exemplary example of a process 600 that can be used to synchronize files with a predictive storage service according to at least one embodiment. Process 600 may be accomplished by using one or more computational resources shown in FIG. 1, such as desktop computer system 104, mobile device 106, file 102, predictive storage service 110, Internet 108, and server 112. it can. The predictive storage service can register 602 an account with the customer. The client can refer to the account and register 604 with the computing system. If more computing systems are available, the registration process can be performed multiple times on multiple devices, so they may also register. The predictive storage system can receive 606 files that are synchronized with other registered systems. In some embodiments, a file can be received from a predictive storage application running on a registered system. In one embodiment, the received file is encrypted. In another embodiment, the encryption key is known to the registration system but not to the predictive storage service.

ファイルを受信606した後、1つ以上の登録されたデバイスまたはシステムはファイルを同期608させることができる。いくつかの実施形態では、予測ストレージサービスは、成功が達成されるまでファイルを同期化しようと試みてもよい。他の登録されたシステムも同期させることができる。すべてのシステムが同期されると、ファイルをサービスから除去する610ことができる。一実施形態では、予測ストレージサービスは実際にはファイルを保存しないが、デバイスとの間で同期が発生するよう動作する。例えば、第1のコンピューティングシステムは、ファイルを同期させる第2のコンピューティングシステムのアドレスを受信することができる。このようにして、予測ストレージシステムは、同期のためのアドレス帳としての役割を果たす。いくつかの実施形態では、登録されたコンピューティングシステムは、ネットワークを変更するか或いはファイアウォールの背後にあるので、コンピューティングシステム上の予測ストレージアプリケーションは、接触した箇所のアドレスを定期的に更新すること可能となる。   After receiving 606 the file, one or more registered devices or systems can synchronize 608 the file. In some embodiments, the predictive storage service may attempt to synchronize files until success is achieved. Other registered systems can also be synchronized. Once all systems are synchronized, the file can be removed 610 from service. In one embodiment, the predictive storage service does not actually store the file, but operates to synchronize with the device. For example, a first computing system can receive an address of a second computing system that synchronizes files. In this way, the predictive storage system serves as an address book for synchronization. In some embodiments, the registered computing system changes the network or is behind a firewall, so the predictive storage application on the computing system periodically updates the address of the contact. It becomes possible.

いくつかの実施形態では、予測ストレージサービスは、登録されたコンピューティングシステムによって検索されるファイルのレポジトリとして機能してもよい。図7には、少なくとも一実施形態による予測ストレージサービスにファイルを格納するために使用され得るプロセス700の例示的な実施例が示されている。プロセス700は、デスクトップコンピュータシステム104、モバイルデバイス106、ファイル102、予測ストレージサービス110、インターネット108及びサーバ112のような図1に見られる1つ以上の計算リソースを使用することによって達成することができる。予測ストレージサービスは、アカウントを顧客に登録702することができる。クライアントはアカウントを参照し、コンピューティングシステムを登録する704ことができる。もし、それ以上のコンピューティングシステムが利用可能である場合、それらもまた、登録してもよい。予測ストレージシステムは、格納するために登録されたコンピューティングシステムからファイルを受信する706ことができる。予測ストレージサービスは、ファイルを同期708させるべき1つまたは複数の登録されたコンピューティングシステムを選択することができ、必要に応じて、成功するまでファイルを同期化しようと試みてもよい。いくつかの実施形態では、複数のデバイスの同期を並行して行うことができる。ファイルがもはや重要でないと判断されるまでは、ファイルを予測ファイルストレージサービスに格納する710ことができる。   In some embodiments, the predictive storage service may function as a repository of files that are searched by registered computing systems. FIG. 7 illustrates an exemplary example of a process 700 that may be used to store a file in a predictive storage service according to at least one embodiment. Process 700 may be accomplished by using one or more computational resources found in FIG. 1, such as desktop computer system 104, mobile device 106, file 102, predictive storage service 110, Internet 108, and server 112. . The predictive storage service can register 702 an account with a customer. The client can refer to the account and register 704 the computing system. If more computing systems are available, they may also register. The predictive storage system can receive 706 a file from a computing system registered for storage. The predictive storage service may select one or more registered computing systems with which to synchronize 708 the file, and may attempt to synchronize the file until successful, if necessary. In some embodiments, multiple devices can be synchronized in parallel. Until it is determined that the file is no longer important, the file can be stored 710 in a predictive file storage service.

いくつかの実施形態では、ファイルは、本実施形態の構成に応じて、予測ストレージサービスから抹消しても構わない。LRUアルゴリズムは、サイズ、ファイルの数、或いはストレージの他の測定値のようなストレージクォータに基づいて、最も古くアクセスされたファイルを抹消する。他の実施形態では、登録されたデバイスは、格納されたファイルの重要度の格付けのために照会することができる。重要度の閾値未満に低下したファイルは、予測ストレージサービスから抹消することができる。一実施形態では、重要度の格付けは、予測ストレージサービスによってアクセスされたことと保持された時間とによって決定することができる。   In some embodiments, the file may be deleted from the predictive storage service depending on the configuration of this embodiment. The LRU algorithm expunges the oldest accessed file based on storage quota, such as size, number of files, or other measure of storage. In other embodiments, registered devices can be queried for a rating of the importance of stored files. Files that fall below the importance threshold can be deleted from the predictive storage service. In one embodiment, the importance rating can be determined by being accessed by the predictive storage service and the time held.

いくつかの実施形態では、ファイルは、発信デバイスを除いて、同期デバイスから除去することができる。例えば、同期化したファイルは、仮フォルダに格納してもよい。ファイルのオリジナルは、コンピューティングシステムのファイル構造に存在していてもよい。デバイス要件に応じて、仮フォルダは、予測ストレージサービスとは異なる時間と方法でファイルを抹消することができる。いくつかの実施形態では、仮フォルダからファイルを抹消することは、デバイス上で動作する予測ストレージアプリケーションの重要度格付け及び/またはコンフィギュレーションに基づいてもよい。他の実施形態では、仮フォルダからのファイルの抹消は、予測ストレージサービスによって制御することができる。   In some embodiments, the file can be removed from the synchronization device except for the originating device. For example, the synchronized file may be stored in a temporary folder. The original of the file may exist in the file structure of the computing system. Depending on the device requirements, the temporary folder can delete files in a different time and manner than the predictive storage service. In some embodiments, erasing the file from the temporary folder may be based on the importance rating and / or configuration of the predictive storage application running on the device. In other embodiments, erasure of files from the temporary folder can be controlled by the predictive storage service.

他の実施形態では、予測ストレージサービスは他のサービスを提供する。例えば、予測ストレージサービスは、受信したファイルにインデックスを付ける検索サービスを提供することが可能である。要求に応じて、インデックスは格納されたファイルの中から検索するために参考にすることができる。別の実施例では、予測ストレージサービスは、ダウンロードやWebアプリケーションを介してのように、ファイルへのアクセスを提供してもよい。例えば、ワードプロセッシングWebアプリケーションは、ファイルへの編集アクセスを提供することができる。   In other embodiments, the predictive storage service provides other services. For example, the predictive storage service can provide a search service that indexes received files. On demand, the index can be consulted to search among stored files. In another embodiment, the predictive storage service may provide access to files, such as via download or web application. For example, a word processing web application can provide edit access to a file.

一実施形態では、予測ストレージサービスは、重要なファイルのバージョンを含むことができる。例えば、ユーザが深夜にモバイルデバイス上でファイルを編集することができる。翌朝、ユーザは深夜に行った変更を後悔することがあり得る。ドロップダウンボックスでは、ユーザはコンピューティングシステムに同期させる先行のバージョンを選択し、この先行バージョンを受信することもできる。ファイルが削除された場合、先行バージョンは、ファイルを復元するために使用することができる。別の実施形態では、バージョンは、アプリケーションの自動保存機能を介して取得することができる。例えば、ユーザは数時間に亘ってファイルに取り組んでもよい。差分ファイルのような自動保存ファイルは、他のコンピューティングシステム上で使用するために予測ストレージサービスにアップロードすることができる。ユーザがコンピューティングシステムをスリープ状態にさせ、その後、第2のコンピューティングシステムに移動したとき、前のコンピューティングシステム上のアプリケーションによってファイルが技術的に保存されなかった場合でも、ユーザは最後の自動保存から編集を続行することができる。一実施形態では、前の自動保存は先行のバージョンとして選択することができる。コンピューティングシステムと自動保存に応じて、予測ストレージサービスは、選択したバージョンの正確な再生を提示するために、オリジナルファイルと自動保存ファイルを使用することが可能である。   In one embodiment, the predictive storage service may include important file versions. For example, a user can edit a file on a mobile device at midnight. The next morning, the user may regret changes made at midnight. In the drop-down box, the user can also select a previous version to synchronize with the computing system and receive this previous version. If the file is deleted, the previous version can be used to restore the file. In another embodiment, the version can be obtained via an application auto-save feature. For example, a user may work on a file for several hours. Autosave files such as difference files can be uploaded to the predictive storage service for use on other computing systems. When the user puts the computing system to sleep and then moves to the second computing system, the user will be given the last automatic even if the file was not technically saved by the application on the previous computing system. You can continue editing from Save. In one embodiment, the previous auto-save can be selected as the previous version. Depending on the computing system and autosave, the predictive storage service can use the original file and autosave file to present an accurate playback of the selected version.

いくつかの実施形態では、予測ストレージサービスは、既存ファイルの新しいコピーを作成するのではなく、予測ストレージサービスによって格納された既存のファイルを更新することを決定する。予測ストレージサービスは、ファイルの内部分析を利用してもよいし、ファイル分析のためのクライアントエージェントに依頼してもよい。1つの内部分析の実施形態では、ローカルコンピューティングデバイスの予測ストレージアプリケーションは、ファイルが十分な重要度格付けを有しており、予測ストレージサービスにファイルをアップロードすることを前もって決定した。その後、予測ストレージアプリケーションは、ファイルが予測ストレージサービスによって格納されたファイルのバージョンと比較して分析する必要があることを決定してもよい。ファイル形式を理解している事実を利用して、ファイルが現在のものか変更されたものか、或いは古いバージョンであるかどうかを決定するために、予測ストレージアプリケーションはファイル内のデータを分析し、解釈することができる。変更された場合、予測ストレージアプリケーションは、予測ストレージサービス内のファイルの更新を準備することができる。アップデートを送信することで全部のファイルは送信する必要がなくなり、帯域幅を節約することとなる。   In some embodiments, the predictive storage service decides to update an existing file stored by the predictive storage service rather than creating a new copy of the existing file. The predictive storage service may use internal analysis of a file or may ask a client agent for file analysis. In one internal analysis embodiment, the predictive storage application of the local computing device has determined in advance that the file has a sufficient importance rating and uploads the file to the predictive storage service. The predictive storage application may then determine that the file needs to be analyzed compared to the version of the file stored by the predictive storage service. Utilizing the fact of understanding the file format, the predictive storage application analyzes the data in the file to determine whether the file is current, modified, or outdated. Can be interpreted. If so, the predictive storage application can prepare to update the files in the predictive storage service. Sending an update eliminates the need to send all the files, saving bandwidth.

クライアントエージェントの実施形態では、ローカルコンピューティングデバイス上の予測ストレージアプリケーションは、ファイルが十分な重要度の格付け有していると判断し、クライアントエージェントからの一意識別子と共にファイルを予測ストレージサービスに前もってアップロードしている。その後、予測ストレージアプリケーションは、予測ストレージサービスによって格納されたファイルのバージョンと比較してファイルを分析する必要があることを決定してもよい。この決定は、ローカル保存イベントまたは予測ストレージサービスでのファイルのアップロードイベントのような周期的スキャンまたはイベントに基づいてもよい。予測ストレージアプリケーションは、ファイルの分析を実行しているクライアントエージェントから一意識別子を受け取ることができる。一意識別子は、予測ストレージサービスが、ファイルが新しいバージョンか、現在のバージョンか、或いはファイルの古いバージョンであるかどうかを決定することを可能にするために、予測ストレージサービスに送信することが可能である。新しいバージョンである場合には、予測ストレージアプリケーションは、ファイルを予測ストレージサービスにアップロードすることができる。古いバージョンである場合は、予測ストレージサービスは、ファイルの現在のバージョンを要求することができる。   In the client agent embodiment, the predictive storage application on the local computing device determines that the file has a sufficient importance rating and uploads the file in advance to the predictive storage service with a unique identifier from the client agent. ing. The predictive storage application may then determine that the file needs to be analyzed compared to the version of the file stored by the predictive storage service. This determination may be based on periodic scans or events such as local save events or file upload events at the predictive storage service. The predictive storage application can receive a unique identifier from a client agent performing file analysis. The unique identifier can be sent to the predictive storage service to allow the predictive storage service to determine whether the file is a new version, a current version, or an old version of the file. is there. If so, the predictive storage application can upload the file to the predictive storage service. If it is an older version, the predictive storage service can request the current version of the file.

ファイルの更新されたバージョンは、予測ファイルサービスによって保存することができる。いくつかの実施形態では、ファイルの更新バージョンが他のバージョン及び/またはバージョンの分岐でツリー構造に格納される。他の実施形態では、新しいバージョンが古いバージョンを上書きする。ファイルのバージョンも一意識別子のメタデータを含むことができる。一意識別子メタデータは、ファイルのバージョンが、予測ファイルサービスによって格納されたバージョンと比較して、古いか新しいか或いは最新のものであるか否かについての情報を提供してもよい。例えば、一意識別子は、自動でインクリメントされた値、タイムスタンプ及び変更制作者識別子を含むことが可能である。この実施例では、最新バージョンは、自動インクリメント値によって決定してもよい。一意識別子が同じである場合、ファイルは最新のものと見倣すことが可能である。しかし、自動インクリメント値が同じであっても、他のフィールドが一致しない場合には、矛盾する編集が存在する可能性がある。   The updated version of the file can be saved by a predictive file service. In some embodiments, updated versions of files are stored in a tree structure with other versions and / or branching versions. In other embodiments, the new version overwrites the old version. The version of the file can also include unique identifier metadata. The unique identifier metadata may provide information about whether the version of the file is old, new or up to date compared to the version stored by the predictive file service. For example, the unique identifier may include an automatically incremented value, a time stamp, and a change creator identifier. In this embodiment, the latest version may be determined by the auto increment value. If the unique identifiers are the same, the file can be considered the latest. However, even if the auto-increment values are the same, there may be conflicting edits if the other fields do not match.

図8は、予測ストレージサービス及び/またはストリーミングデスクトップサービスをサポートするために使用することができるデータセンタ環境800の態様を示している。データセンタ800は、共有コンピューティングリソース及び/または共有インフラストラクチャのコレクションを含むことができる。例えば、図5に示すように、データセンタ800は、仮想マシンスロット804、物理ホスト802、電源806、ルータ808、分離領域810及び地理的な場所812を含んでいる。物理ホスト802は複数の仮想マシンスロット804によって共有されてもよく、各スロット804は、ゲストオペレーティングシステムを含む仮想マシンをホストするために使用することが可能である。複数の物理ホスト804は、サーバラックに設けられた電源806のように、電源806を共有することができる。ルータ808は、いくつかの電源装置806に亘って複数の物理ホスト804をルートネットワークトラフィックに提供することが可能である。隔離区域810は、多数のルータ808を提供することできると共に、隔離区域810は、バックアップ発電機のような冗長性によって提供されているコンピューティングリソースのグループである。複数の隔離領域810は、データセンタ800のような地理的位置812に存在していてもよい。1つまたは複数のプロビジョニングサーバ814は、ユーザデータを分析するための命令で構成されたメモリとプロセッサを含むことができ、決定した役割及び/または共有するリソース/計算のインフラストラクチャを使用して利用可能な実装リソースを格付けすることができる。プロビジョニングサーバ814はまた、コンピューティングリソースのプロビジョニング及びプロビジョニング解除のためのワークフローも管理すると同時に、コンピューティングリソースの健康状態及び/または故障を検出することができる。   FIG. 8 illustrates aspects of a data center environment 800 that can be used to support predictive storage services and / or streaming desktop services. Data center 800 may include a collection of shared computing resources and / or shared infrastructure. For example, as shown in FIG. 5, the data center 800 includes a virtual machine slot 804, a physical host 802, a power source 806, a router 808, a separation area 810, and a geographical location 812. The physical host 802 may be shared by multiple virtual machine slots 804, and each slot 804 can be used to host a virtual machine that includes a guest operating system. A plurality of physical hosts 804 can share a power source 806 like a power source 806 provided in a server rack. The router 808 can provide multiple physical hosts 804 to route network traffic across several power supplies 806. The isolated area 810 can provide a number of routers 808, and the isolated area 810 is a group of computing resources provided by redundancy, such as a backup generator. A plurality of isolated areas 810 may exist at a geographical location 812 such as the data center 800. One or more provisioning servers 814 may include a memory and processor configured with instructions for analyzing user data and utilized using a determined role and / or shared resource / computing infrastructure. Possible implementation resources can be rated. The provisioning server 814 can also manage the workflow for provisioning and deprovisioning of computing resources while simultaneously detecting the health status and / or failure of the computing resources.

一実施形態では、ストリーミングデスクトップが、使用可能なスロット804における仮想マシンとしてインスタンス化することができる。プロビジョニングプロセスの一部として、スロット804はまた、予測ストレージサービス及び/または予測ストレージサービスのアカウントにリンクすることができる。予測ストレージサービスに格納されたファイルは、ブロックストレージ、オブジェクトストレージ、及び/または他の高または低レイテンシのデータストアなど、他のストレージサービスに加えて或いは代わりに、ストリーミングデスクトップサービスで利用可能にすることができる。オペレーティングシステムの表示出力は、物理ホスト804及びルータ808を介して外部のコンピューティングシステムにルーティングされてもよい。入力は、ホスト802にルーティングされ、仮想マシンの内部にルーティングされ、オペレーティングシステムに提供することができる。   In one embodiment, the streaming desktop can be instantiated as a virtual machine in an available slot 804. As part of the provisioning process, slot 804 may also be linked to a predictive storage service and / or a predictive storage service account. Make files stored in the predictive storage service available to streaming desktop services in addition to or instead of other storage services such as block storage, object storage, and / or other high or low latency data stores Can do. The operating system display output may be routed to an external computing system via physical host 804 and router 808. Input can be routed to the host 802, routed inside the virtual machine, and provided to the operating system.

本発明の実施形態は、以下の文節を考慮して説明することができる。
1.データを提供するためのコンピュータ実行方法であって、
実行可能な命令で構成された1つまたは複数のコンピュータシステムの制御下で、
サービスプロバイダの顧客のためのマルチテナント環境内のオペレーティングシステムを含む仮想マシンをサービスプロバイダによって実行し、
オペレーティングシステムのファイル構造内のデータファイルへのアクセスのためのオペレーティングシステムを監視し、
ファイル構造内のデータファイルの少なくとも一部のために重要度指標を決定し、各重要度指標はファイル構造内のそれぞれのデータファイルへの最近のアクセスに少なくとも部分的に基づいており、そして
アップロードされたデータファイルが他のコンピューティングデバイスへ配布するためにサーバにキャッシュされているように、重要度指標に少なくとも部分的に基づいて、ファイル構造からデータファイルの少なくとも一部をストレージサービスにアップロードすることからなる方法。
2.重要度指標がブルームフィルタに少なくとも部分的に基づいている、文節1に記載のコンピュータ実行方法。
3.更に、アップロードされたデータファイルの複数のバージョンを第2のコンピューティングシステム上で利用できるようにさせることを含む、文節1に記載のコンピュータ実行方法。
4.更に、アップロードされたデータファイルのうちの1つまたは複数の重要度指標の第2の決定に少なくとも部分的に基づいて、サーバ上のアップロードされたデータファイルのうちの1つまたは複数を除去するようにさせることを含む、文節1の記載のコンピュータ実行方法。
5.更に、アップロードされたデータファイルを、サーバにキャッシュされるべきアップロードされたデータファイルでサポートするように補足データファイルを促すことを含む、文節1に記載のコンピュータ実行方法。
6.更に
アップロードされたデータファイルへ1つまたは複数の変更のために仮想マシンを監視し、
データファイルの新しいバージョンを形成するため、第1のコンピューティングシステムからデータファイルへの1つまたは複数の前記変更をアップロードすることからなる、文節1に記載の実行方法。
7.データ記憶のためのコンピュータ実行方法であって、
実行可能な命令で構成された1つまたは複数のコンピュータシステムの制御下で、
第1のコンピューティングシステムのデータファイルを監視し、
少なくとも定量化データ推論アルゴリズムに部分的に基づいて1つまたは複数のデータファイルの重要度を決定し、
一連のデータファイルの決定された重要性に少なくとも部分的に基づいて、ストレージサービスに送るべき1つまたは複数のデータファイルから一連のデータファイルを選択的に決定し、そして
他のコンピューティングデバイス上での一連のデータファイルの可用性のために、一連のデータファイルをアップロードさせるようにすることからなる実行方法。
8.更に、1つまたは複数のデータファイルの重要度を決定することは、データファイルを記述するメタデータに少なくとも部分的に基づいて重要度の格付けを計算することを含む、文節7に記載のコンピュータ実行方法。
9.メタデータは、文書の種類、文書のアクセス履歴、文書の編集履歴、キーワード、または制作者の情報を含む、文節8に記載のコンピュータ実行方法。
10.更に、1つまたは複数のデータファイルの重要度を決定することは、第1のコンピューティングシステムにインストールされた1つまたは複数のアプリケーションとの関係に少なくとも部分的に基づいて重要度格付けを計算することを含む、文節7に記載のコンピュータ実行方法。
11.定量データ推論アルゴリズムは、1つ以上のデータファイルからの1つのデータファイルとのユーザの相互作用に少なくとも部分的に基づいている、文節7に記載のコンピュータ実行方法。
12.更に、第2のコンピューティングデバイスへの一連のデータファイルの送信を可能にするために、ストレージサービスのアカウントに登録された第2のコンピューティングデバイスのアドレスを受信することを含む、文節7に記載のコンピュータ実行方法。
13.更に、一連のデータファイルがストレージサービスによって格納されるようにすることを含む、文節7に記載のコンピュータ実行方法。
14.更に、一連のデータファイルの検索を可能にするために、一連のデータファイルを索引付けることを含む、文節13に記載のコンピュータ実行方法。
15.一連のデータファイルをアップロードされるようにすることは、一連のデータファイルがストレージサービスに暗号化された形式で格納されるように、一連のデータファイルを暗号化することを更に含む、文節13に記載のコンピュータ実行方法。
16.更に、ファイルイベントまたはファイル属性に少なくとも部分的に基づいて、一連のデータファイルから少なくとも1つのファイルの重要度格付けを決定することを含む、文節7に記載のコンピュータ実行方法。
17.データ記憶のためのコンピュータシステムであって、
1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに少なくとも、
データファイルの決定された重要度に基づいて、ストレージサービスに送信するデータ構造内の一連のデータファイルを選択的に決定するように構成された第1のコンピューティングシステムのアプリケーションと、
ストレージサービスからデータファイルを受信するように構成された第2のコンピューティングシステムのアプリケーションと、及び
第1のコンピューティングシステムと第2のコンピューティングシステムとの間でのデータファイルの同期を管理するように構成されるストレージサービスと、
を実行させる実行可能な命令を含む1つまたは複数のプロセッサとメモリを有する1つまたは複数のコンピューティングリソースからなるコンピュータシステム。
18.第2のコンピューティングシステムは、携帯電話である、文節17記載のコンピュータシステム。
19.第1のコンピューティングシステムは更に、ファイル構造を収容するボリュームを備え、データ構造はファイル構造である、文節17に記載のコンピュータシステム。
20.ストレージサービスは更に、一連のデータファイルを格納するための記憶装置を備える、文節17に記載のコンピュータシステム。
21.ストレージサービスは更に、記憶装置によって格納される一連のデータファイルからの少なくとも1つのデータファイルのためにエディタを提供するWebアプリケーションを含む、文節20に記載のコンピュータシステム。
22.更に、記憶装置に格納された一連のファイルに索引を付け、検索インターフェイスを提供する検索サービスを含む、文節20に記載のコンピュータシステム。
23.1つまたは複数のプロセッサによって実行されたとき、コンピュータシステムに少なくとも、
第1のコンピューティングシステムのデータファイルの重要度を決定させ、
一連のデータファイルの決定された重要度に少なくとも部分的に基づいて、ストレージサービスに送信する一連のデータファイルを第1のコンピューティングシステムから選択的に決定させ、そして
第1のコンピューティングシステムと第2のコンピューティングシステムを関連付け、第2のコンピューティングシステムにアップロードされたファイルを送信するように構成されたシステムへ一連のデータファイルをアップロードさせる、
実行可能な命令を集合的に格納してある1つまたは複数のコンピュータ可読記憶媒体。
24.命令は更に、実行されたとき、コンピュータシステムに少なくとも一時的に一連のファイルを格納させる命令を含み、そして
一連のデータファイルをアップロードすることは、一連のデータファイルを第2のコンピューティングシステムへ配布することを含む、文節23に記載のコンピュータ可読記憶媒体。
25.命令は更に、実行されたとき、第2のコンピューティングシステムのユーザに付与されたアクセス権に少なくとも部分的に基づいて、コンピュータシステムに一連のファイルを一連のファイルの部分集合へ少なくとも限定させる命令を含む、文節23に記載のコンピュータ可読記憶媒体
26.決定された重要度は、一連のデータファイル内の各データファイルへのアクセスのリーセンシーに少なくとも部分的に基づいている、文節23に記載のコンピュータ可読記憶媒体。
27.決定された重要度が第1のコンピューティングシステムにインストールされた一連のアプリケーションに少なくとも部分的に基づいている、文節23に記載のコンピュータ可読記憶媒体。
28.一連の前記データファイルは、第2のコンピューティングシステムに送るべきと決定されたデータファイルのリストであり、及び
一連のデータファイルをアップロードすることは、第1のコンピューティングシステムによって第2のコンピューティングシステムへの一連のファイルの直接通信を容易にするために第2のコンピューティングシステムのアドレスを受信することを含む、文節23に記載のコンピュータ可読記憶媒体。
29.一連のデータファイルは、部分集合の外側にあるフォルダ内の一連のデータファイルからの少なくとも1つのファイルと共に、フォルダ内の一連のデータファイルの部分集合を含む、文節23に記載のコンピュータ可読記憶媒体。
Embodiments of the present invention can be described in view of the following clauses.
1. A computer-implemented method for providing data, comprising:
Under the control of one or more computer systems comprised of executable instructions,
A virtual machine containing an operating system in a multi-tenant environment for service provider customers is run by the service provider,
Monitors the operating system for access to data files within the operating system file structure
Determine importance indicators for at least some of the data files in the file structure, each importance indicator being based at least in part on recent access to the respective data file in the file structure and uploaded Upload at least a portion of the data file from the file structure to the storage service based at least in part on the importance indicator so that the data file is cached on the server for distribution to other computing devices A method consisting of:
2. The computer-implemented method of clause 1, wherein the importance index is based at least in part on a Bloom filter.
3. The computer-implemented method of clause 1, further comprising making multiple versions of the uploaded data file available on the second computing system.
4). Further, to remove one or more of the uploaded data files on the server based at least in part on the second determination of the one or more importance indicators of the uploaded data files. The computer-implemented method according to clause 1, further comprising:
5. The computer-implemented method of clause 1, further comprising prompting the supplemental data file to support the uploaded data file with the uploaded data file to be cached on the server.
6). In addition, monitor the virtual machine for one or more changes to the uploaded data file,
The method of clause 1, comprising uploading one or more of the changes from the first computing system to the data file to form a new version of the data file.
7). A computer-implemented method for data storage comprising:
Under the control of one or more computer systems comprised of executable instructions,
Monitor the data file of the first computing system;
Determine the importance of one or more data files based at least in part on a quantified data inference algorithm;
Selectively determine a set of data files from one or more data files to be sent to the storage service based at least in part on the determined importance of the set of data files; and on other computing devices An execution method consisting of having a series of data files uploaded for the availability of a series of data files.
8). The computer-implemented method of clause 7, wherein determining the importance of the one or more data files includes calculating an importance rating based at least in part on the metadata describing the data file. Method.
9. The computer-implemented method according to clause 8, wherein the metadata includes a document type, a document access history, a document editing history, a keyword, or creator information.
10. Further, determining the importance of the one or more data files calculates an importance rating based at least in part on the relationship with the one or more applications installed on the first computing system. The computer-implemented method of clause 7 including the above.
11. 8. The computer-implemented method of clause 7, wherein the quantitative data inference algorithm is based at least in part on user interaction with one data file from one or more data files.
12 The clause 7, further comprising receiving an address of a second computing device registered with a storage service account to enable transmission of a series of data files to the second computing device. Computer execution method.
13. The computer-implemented method of clause 7, further comprising causing the series of data files to be stored by the storage service.
14 The computer-implemented method of clause 13, further comprising indexing the series of data files to allow retrieval of the series of data files.
15. Allowing the series of data files to be uploaded further includes clause 13 to encrypt the series of data files such that the series of data files are stored in an encrypted form in the storage service. The computer execution method as described.
16. The computer-implemented method of clause 7, further comprising determining an importance rating of the at least one file from the series of data files based at least in part on the file event or file attribute.
17. A computer system for data storage,
When executed by one or more processors, at least one or more processors,
A first computing system application configured to selectively determine a set of data files in a data structure to send to the storage service based on the determined importance of the data files;
An application of a second computing system configured to receive a data file from a storage service, and managing synchronization of the data file between the first computing system and the second computing system; A storage service configured with
A computer system comprised of one or more computing resources having one or more processors and memory that contain executable instructions to execute.
18. The computer system according to clause 17, wherein the second computing system is a mobile phone.
19. The computer system according to clause 17, wherein the first computing system further comprises a volume that accommodates the file structure, and wherein the data structure is a file structure.
20. The computer system of clause 17, wherein the storage service further comprises a storage device for storing a series of data files.
21. The computer system of clause 20, wherein the storage service further includes a web application that provides an editor for at least one data file from the series of data files stored by the storage device.
22. 21. The computer system of clause 20, further comprising a search service that indexes a series of files stored in a storage device and provides a search interface.
23. When executed by one or more processors, the computer system at least
Determine the importance of the data file of the first computing system;
Based at least in part on the determined importance of the series of data files, the series of data files to be sent to the storage service is selectively determined from the first computing system, and the first computing system and the first computing file Associating two computing systems and uploading a series of data files to a system configured to send the uploaded files to a second computing system;
One or more computer-readable storage media that collectively store executable instructions.
24. The instructions further include instructions that, when executed, cause the computer system to store the series of files at least temporarily, and uploading the series of data files distributes the series of data files to the second computing system. The computer-readable storage medium according to clause 23, comprising:
25. The instructions further comprise instructions that, when executed, cause the computer system to at least limit the series of files to a series of file subsets based at least in part on the access rights granted to the user of the second computing system. 26. The computer-readable storage medium according to clause 23, comprising: 24. The computer readable storage medium of clause 23, wherein the determined importance is based at least in part on a recency of access to each data file in the series of data files.
27. 24. The computer readable storage medium of clause 23, wherein the determined importance is based at least in part on a set of applications installed on the first computing system.
28. A series of said data files is a list of data files determined to be sent to a second computing system; and
Uploading the series of data files includes receiving an address of the second computing system to facilitate direct communication of the series of files to the second computing system by the first computing system. 24. The computer readable storage medium according to clause 23, comprising:
29. 24. The computer readable storage medium of clause 23, wherein the series of data files includes a subset of the series of data files in the folder along with at least one file from the series of data files in the folder that is outside the subset.

図9は、様々な実施形態に従った態様を実装するための例示的環境900の態様を示す。認識されるように、Webベースの環境が説明の目的のために使用されているが、様々な実施形態を実現するためには、適宜、異なる環境を使用することができる。環境は、電子クライアントデバイス902を含み、電子クライアントデバイス902は、適切なネットワーク904経由でリクエスト、メッセージまたは情報を送信して受け取り、情報をデバイスのユーザに返して伝達するよう動作可能な任意の適切な装置を含み得る。このようなクライアントデバイスの例として、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージング装置、ラップトップコンピュータ、セットトップボックス、パーソナルデータアシスタント、電子ブックリーダーなどが挙げられる。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、または任意の他のそのようなネットワークまたはそれらの組合せを含む任意の適切なネットワークを含んでいてもよい。このようなシステムに使用されるコンポーネントは、選択したネットワーク及び/または環境のタイプに少なくとも部分的に依存することが可能である。そのようなネットワークを介して通信するためのプロトコル及びコンポーネントは周知であり、本明細書では詳細には論じない。ネットワークを介した通信は、有線または無線接続、或いはこれらの組合せで有効にすることができる。この実施例では、当業者には明らかであるように、他のネットワークのためには類似の目的を果たす代替的なデバイスを使用できるが、要求を受信しそれに応答してコンテンツを提供するためのWebサーバ906を環境が備えているので、ネットワークはインターネットを含む。   FIG. 9 illustrates aspects of an example environment 900 for implementing aspects in accordance with various embodiments. As will be appreciated, a web-based environment is used for illustrative purposes, but different environments can be used as appropriate to implement various embodiments. The environment includes an electronic client device 902, which is operable to send and receive requests, messages or information via an appropriate network 904 and be operable to communicate the information back to the user of the device. Devices may be included. Examples of such client devices include personal computers, cell phones, handheld messaging devices, laptop computers, set-top boxes, personal data assistants, electronic book readers, and the like. The network may include any suitable network including an intranet, the Internet, a cellular network, a local area network, or any other such network or combination thereof. The components used in such a system can depend at least in part on the type of network and / or environment selected. Protocols and components for communicating over such networks are well known and will not be discussed in detail herein. Communication over the network can be enabled with a wired or wireless connection, or a combination thereof. In this embodiment, as would be apparent to one skilled in the art, alternative devices that serve similar purposes can be used for other networks, but for receiving content and providing content in response thereto. Since the environment includes a Web server 906, the network includes the Internet.

例示的な環境は、少なくとも1つのアプリケーションサーバ908とデータストア910を含んでいる。いくつものアプリケーションサーバ、レイヤー、または他のエレメント、プロセスまたはコンポーネントが存在し、それが連鎖され或いは別の方法で構成され、適切なデータストアからデータを取得するなどのタスクを実行するために相互作用することが可能なことは理解されるべきである。本明細書で使用する用語「データストア」は、データを格納し、アクセスしてデータ検索することが可能な任意の機器または機器の組合せを指し、データサーバ、データベース、データ記憶装置及び任意の標準の、分布された或いはクラスタ化された環境のデータ記憶媒体の任意の組合せ及び任意の数を含む。アプリケーションサーバは、アプリケーションのためのデータアクセス、ビジネスロジックの大部分を処理するクライアントデバイスのために1つ以上のアプリケーションの態様を実行するのに必要に応じて、データストアと統合するための任意の適切なハードウェア及びソフトウェアを含むことができる。アプリケーションサーバは、データストアと協働してアクセス制御サービスを提供し、ユーザに転送されるテキスト、グラフィックス、オーディオ及び/またはビデオなどのコンテンツを生成することができ、この実施例では、これらはハイパーテキストマークアップ言語(「HTML」)、拡張マークアップ言語(「XML」)、または別の適切な構造化言語の形態でWebサーバによりユーザに提供することができる。すべての要求と応答、並びにクライアントデバイス902とアプリケーションサーバ908との間のコンテンツの配信操作は、Webサーバによって処理することが可能である。本明細書で述べられた構造化されたコードは、他の箇所で説明するように、任意の適切なデバイスまたはホストマシン上で実行することができるので、Web及びアプリケーションサーバが必要とされず、これらは単に例示的コンポーネントであることが理解されるべきである。   An exemplary environment includes at least one application server 908 and a data store 910. There are a number of application servers, layers, or other elements, processes or components that are chained or otherwise configured to interact to perform tasks such as retrieving data from the appropriate data store It should be understood that it is possible to do. As used herein, the term “data store” refers to any device or combination of devices that can store, access, and retrieve data, including data servers, databases, data storage devices, and any standard. Any combination and any number of data storage media in a distributed or clustered environment. An application server is optional for integrating with a data store as needed to perform one or more aspects of the application for data access for the application, client devices that handle most of the business logic. Appropriate hardware and software can be included. The application server can collaborate with the data store to provide access control services and generate content such as text, graphics, audio and / or video that is transferred to the user, in this example they are It can be provided to the user by the web server in the form of a hypertext markup language (“HTML”), an extended markup language (“XML”), or another suitable structured language. All requests and responses, as well as content distribution operations between the client device 902 and the application server 908, can be processed by the web server. The structured code described herein can be executed on any suitable device or host machine, as described elsewhere, so no web and application servers are required, It should be understood that these are merely exemplary components.

データストア910は、特定の態様に関連するデータを格納するためのいくつかの別個のデータテーブル、データベースまたは他のデータ記憶機構及び媒体を含むことができる。例えば、図示したデータストアは、生産データ912とユーザ情報916を記憶するための機構を含み、これらは生産側へコンテンツを提供するために使用することができる。データストアはまた、ログデータ914を格納するための機構を含むように示されており、報告、分析、または他のそのような目的のために使用すること可能である。例えば、ページ画像情報のため及び適切な情報にアクセスするため、データストアに格納する必要があるかもしれない多くの他の態様であってもよいし、これらは上述の列記されたメカニズムのいずれかに、データストア910内の適切な或いは追加の機構として格納することが可能であることは理解されるべきである。データストア910は、アプリケーションサーバ908からの命令を受信するために、それに関連するロジックを介して動作可能であり、それに応答してデータを取得し、アップデートし、或いは別の方法で処理する。一実施例では、ユーザは、アイテムのある型に関して検索要求を送信するかもしれない。この場合、データストアはユーザの身元を確認するためにユーザ情報にアクセスする可能性があり、そのタイプのアイテムについての情報を取得するために、カタログ詳細情報にアクセスすることができる。その後、情報は、例えば、ユーザがユーザデバイス902上でブラウザを介して見ることができるWebページ上の結果リストの中で、ユーザに返すことができる。関心のある特定のアイテムの情報は、専用ページまたはブラウザのウィンドウを開いて見ることができる。   Data store 910 may include a number of separate data tables, databases or other data storage mechanisms and media for storing data related to a particular aspect. For example, the illustrated data store includes a mechanism for storing production data 912 and user information 916, which can be used to provide content to the production side. The data store is also shown to include a mechanism for storing log data 914 and can be used for reporting, analysis, or other such purposes. For example, there may be many other aspects that may need to be stored in the data store for page image information and to access the appropriate information, and these are any of the mechanisms listed above. It should be understood that the data store 910 can be stored as a suitable or additional mechanism. The data store 910 is operable via logic associated therewith to receive instructions from the application server 908, in response to obtaining, updating, or otherwise processing data. In one embodiment, the user may send a search request for a certain type of item. In this case, the data store may access user information to verify the user's identity, and may access catalog detail information to obtain information about that type of item. The information can then be returned to the user, for example, in a results list on a web page that the user can view on the user device 902 via a browser. Information about a particular item of interest can be viewed by opening a dedicated page or browser window.

各サーバには、典型的には、そのサーバの全般的な管理及び動作のための実行可能なプログラム命令を提供するオペレーティングシステムが含まれ、サーバのプロセッサによって実行されたとき、サーバにその意図された機能を実行させる命令を格納したコンピュータ可読記憶媒体(例えば、ハードディスク、ランダムアクセスメモリ、読み出し専用メモリ等の)が典型的には含まれることになろう。サーバのオペレーティングシステムと一般的な機能性のための適切な実装は知られているかまたは市販され、特に本明細書の開示に照らして、当該技術分野において通常の技術を有する者によって容易に実装されている。   Each server typically includes an operating system that provides executable program instructions for the overall management and operation of the server, and when executed by the server's processor, is intended for the server. A computer-readable storage medium (eg, hard disk, random access memory, read-only memory, etc.) that stores instructions that cause a particular function to be executed will typically be included. Appropriate implementations for server operating systems and general functionality are known or commercially available, particularly easily implemented by those having ordinary skill in the art, especially in light of the disclosure herein. ing.

一実施形態における環境は、1つまたは複数のコンピュータネットワークまたは直接接続を使用し、通信リンクを介して相互に接続されているいくつかのコンピュータシステム及びコンポーネントを利用する分散コンピューティング環境である。しかしながら、このようなシステムは、図9に示されるものよりも少ない或いは多数のコンポーネントを有するシステムで等しく良好に動作することが可能であることが当業者によって理解されるであろう。それ故に、図9におけるシステム900の図解は、実際には例示的なものであって、本発明の範囲を限定するものではないと解釈されるべきである。   The environment in one embodiment is a distributed computing environment that utilizes several computer systems and components that are connected to each other via a communication link using one or more computer networks or direct connections. However, it will be appreciated by those skilled in the art that such a system can work equally well with a system having fewer or more components than that shown in FIG. Therefore, the illustration of system 900 in FIG. 9 should be construed as illustrative in nature and not as limiting the scope of the invention.

種々の実施形態は、更に、多種多様な動作環境に実装することができ、いくつかの場合では、多数のアプリケーションのうちのいずれかを操作するために使用することができる1つまたは複数のユーザコンピュータ、コンピューティングデバイスまたは処理装置を含むことができる。ユーザまたはクライアントデバイスは、標準的なオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータなど数々の汎用パーソナルコンピュータ、並びにモバイルソフトウェアを実行して多数のネットワークキング及びメッセージングプロトコルをサポートすることができる携帯電話、携帯無線や携帯デバイスのいずれかを含むことが可能である。このようなシステムはまた、商業的に入手可能な様々なオペレーティングシステムと、開発及びデータベース管理などの目的のための他の公知のアプリケーションのいずれかを実行する数々のワークステーションを含むことができる。これらのデバイスは、ネットワークを介して通信することができるダミー端子、シンクライアント、ゲームシステムや他の装置等の他の電子デバイスを含むことができる。   Various embodiments can also be implemented in a wide variety of operating environments, and in some cases, one or more users that can be used to operate any of a number of applications. A computer, computing device or processing unit may be included. Users or client devices can be a number of general purpose personal computers, such as desktop or laptop computers running standard operating systems, as well as mobile phones, mobile phones that can run mobile software to support a number of networking and messaging protocols. It can include either wireless or portable devices. Such a system can also include a number of workstations running any of a variety of commercially available operating systems and other known applications for purposes such as development and database management. These devices can include other electronic devices such as dummy terminals, thin clients, game systems and other devices that can communicate over a network.

殆どの実施形態は、伝送制御プロトコル/インターネットプロトコル(「TCP/IP」)、オープンシステムインターコネクション(「OSI」)、ファイル転送プロトコル(「FTP」)、ユニバーサルプラグアンドプレイ(「UpnP」)、ネットワークファイルシステム(「NFS」)、共通インターネットファイルシステム(「CIFS」)及びAppleTalkのような商業的に利用可能な種々のプロトコルで任意のものを使用して通信をサポートするための、当業者によく知られているであろう少なくとも一つのネットワークを活用する。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆切り替え電話網、赤外線ネットワーク、無線ネットワーク、及びこれらの任意の組合せとなり得る。   Most embodiments include: Transmission Control Protocol / Internet Protocol (“TCP / IP”), Open System Interconnection (“OSI”), File Transfer Protocol (“FTP”), Universal Plug and Play (“UpnP”), Network Well known to those skilled in the art to support communications using any of a variety of commercially available protocols such as File System (“NFS”), Common Internet File System (“CIFS”), and AppleTalk. Utilize at least one network that would be known. The network can be, for example, a local area network, a wide area network, a virtual private network, the Internet, an intranet, an extranet, a public switched telephone network, an infrared network, a wireless network, and any combination thereof.

Webサーバを利用する実施形態では、Webサーバは、ハイパーテキスト転送プロトコル(「HTTP」)サーバ、FTPサーバ、コモン・ゲートウェイ・インターフェイス(Common Gateway Interface)「CGI」)サーバ、データサーバ、Javaサーバ及びビジネスアプリケーションサーバなどを含む種々豊富なサーバまたはミッドティアアプリケーションのうち任意のものを実行することができる。これらのサーバ(複数可)は、ユーザデバイスからの要求に応答して、1つまたは複数のWebアプリケーションを実行することでプログラムまたはスクリプトを実行することが可能であり、Webアプリケーションは、Java(登録商標)、C、C#またはC++、或いはPerl、PythonまたはTCL、並びにそれらの組合せなどのような任意のプログラミング言語で書かれた1つまたは複数のスクリプトまたはプログラムとして実装することができる。同様にして、サーバ(複数可)もOracle(登録商標)、マイクロソフト(登録商標)、Sybase(登録商標)及びIBM(登録商標)から市販されているものを含むデータベース・サーバを備えることが可能であるががこれらに限定されない。   In embodiments utilizing a Web server, the Web server may be a hypertext transfer protocol (“HTTP”) server, an FTP server, a common gateway interface (CGI) server, a data server, a Java server, and a business. Any of a wide variety of server or mid-tier applications including application servers can be executed. These server (s) can execute a program or script in response to a request from a user device by executing one or more Web applications. Trademark), C, C # or C ++, or Perl, Python or TCL, and combinations thereof, etc., can be implemented as one or more scripts or programs written in any programming language. Similarly, the server (s) may comprise a database server including those commercially available from Oracle®, Microsoft®, Sybase®, and IBM®. Although it is, it is not limited to these.

上述のように、環境は、多様なデータストアと他のメモリや記憶媒体を含むことができる。これらは、ネットワーク経由でコンピュータのいずれかから或いはすべてから1つまたは複数のコンピュータかリモートに対する(及び/または内部に備えられた)ローカル記憶媒体上のように、様々な場所に存在してもよい。特定の実施形態では、情報は、当業者によく知られているストレージエリアネットワーク(「SAN」)内に常駐することが可能である。同様に、コンピュータ、サーバまたは他のネットワークデバイスに起因する機能を実行するための任意の必要なファイルは、必要に応じてローカル及び/またはリモートに格納されてもよい。システムがコンピュータ化したデバイスを含む場合、そのような各デバイスは、例えば、少なくとも1つの中央処理装置(「CPU」)、少なくとも1つの入力装置(例えば、マウス、キーボード、コントローラ、タッチスクリーンまたはキーパッド)、及び少なくとも1つの出力装置(例えば、表示装置、プリンタまたはスピーカ)を含む要素とバスを介して電気的に結合することができるハードウェア要素を含んでもよい。同様に、このようなシステムはまた、ディスクドライブ、光学記憶装置、及びランダムアクセスメモリ(「RAM」)または読み出し専用メモリ(「ROM」)のような固体記憶装置のような1つまたは複数の記憶装置を含むか、またはメモリカード、フラッシュカードなどのようなリムーバブルメディアデバイスを含んでもよい。   As described above, the environment can include a variety of data stores and other memories and storage media. These may reside in various locations, such as on a local storage medium (and / or provided internally) to one or more computers or remote from any or all of the computers over a network. . In certain embodiments, the information may reside in a storage area network (“SAN”) that is well known to those skilled in the art. Similarly, any necessary files for performing functions attributable to a computer, server or other network device may be stored locally and / or remotely as desired. Where the system includes computerized devices, each such device can be, for example, at least one central processing unit (“CPU”), at least one input device (eg, mouse, keyboard, controller, touch screen or keypad). ), And hardware elements that can be electrically coupled via a bus to elements including at least one output device (eg, display device, printer or speaker). Similarly, such systems also include one or more storage such as disk drives, optical storage devices, and solid state storage devices such as random access memory (“RAM”) or read only memory (“ROM”). The device may include a removable media device such as a memory card, flash card, or the like.

このような装置は、上述したようにコンピュータ可読記憶媒体読取装置、通信装置(例えば、モデム、ネットワークカード(無線または有線の)、赤外線通信装置など)及び作業メモリを備えることが可能である。コンピュータ可読記憶媒体読取装置は、遠隔の、ローカルの、固定及び/または取り外し可能な記憶装置を意味するコンピュータ読み取り可能な記憶媒体、並びに一時的に及び/またはより永続的にコンピュータ読み取り可能な情報を収容し、格納し、送信し及び検索するための記憶媒体に接続され、或いはこれらの媒体を受け取るように構成することができる。また、システム及び様々なデバイスは、典型的には、クライアントアプリケーションやWebブラウザなどのオペレーティングシステム及びアプリケーションプログラムを含む少なくとも1つの作業メモリ装置内に位置する多数のソフトウェアアプリケーション、モジュール、サービスまたは他のエレメントを含むことになろう。代替的な実施形態として、上述のものから多数の変形を有し得ることが理解されるべきである。例えば、カスタマイズされたハードウェアも使用され得るし、及び/または特定のエレメントがハードウェア、ソフトウェア(例えば、アプレットのようなポータブルソフトウェアを含む)、或いは両方に実装されるかもしれない。更に、ネットワーク入力/出力装置などの他のコンピューティングデバイスへの接続を使用することができる。   Such a device may comprise a computer readable storage medium reader, a communication device (eg, a modem, a network card (wireless or wired), an infrared communication device, etc.) and a working memory as described above. A computer readable storage medium reader is a computer readable storage medium that means a remote, local, fixed and / or removable storage device, as well as temporarily and / or more permanently computer readable information. It can be connected to storage media for receiving, storing, transmitting and retrieving, or can be configured to receive these media. Also, the system and various devices typically include a number of software applications, modules, services or other elements located within at least one working memory device that includes an operating system and application programs such as client applications and web browsers. Will be included. It should be understood that alternative embodiments may have numerous variations from those described above. For example, customized hardware may be used and / or certain elements may be implemented in hardware, software (eg, including portable software such as applets), or both. In addition, connections to other computing devices such as network input / output devices can be used.

コードまたはコードの一部を収容するための記憶媒体とコンピュータ可読媒体は、RAM、ROM、電気的消去可能プログラマブル読み取り専用メモリ(「EEPROM」)、フラッシュまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ(「CD-ROM」)、デジタル多用途ディスク(DVD)または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望する情報を格納するために使用することができシステムのデバイスによってアクセスすることができる他の任意の媒体を含むコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータのような情報の記憶及び/または伝送のために、任意の方法または技術で実装される、揮発性及び不揮発性、リムーバブル及び非リムーバブルなどの記憶媒体及び通信媒体を含む、当技術分野では公知で使用されている適切な任意の媒体を含むことになるが、これらに限定されるものではない。本明細書で提供される開示及び教示に基づき、当業者は、様々な実施形態を実施する他の手段及び/または方法を認識するであろう。   Storage media and computer readable media for containing code or portions of code may include RAM, ROM, electrically erasable programmable read only memory (“EEPROM”), flash or other memory technology, compact disk read only memory ( "CD-ROM"), digital versatile disk (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage, or may be used to store desired information Any method or technique for storage and / or transmission of information such as computer readable instructions, data structures, program modules or other data, including any other medium that can be accessed by the devices of the system Implemented, volatile and non-volatile, It will include any suitable medium known and used in the art, including but not limited to storage media and communication media such as removable and non-removable. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will recognize other means and / or methods for implementing various embodiments.

従って、明細書及び図面は、限定的な意味ではなく例示と見なされるべきである。しかしながら、様々な修正及び変更を特許請求の範囲に記載された本発明のより広い主旨及び範囲から逸脱することなく行うことができることは明らかであろう。   The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. However, it will be apparent that various modifications and changes can be made without departing from the broader spirit and scope of the invention as set forth in the claims.

他の変形例は、本発明の主旨の範囲内である。このように、開示された技術は様々な修正及び代替構成が可能でありながら、例示した特定の実施形態は、図面に示して詳細に上述されている。しかし、本発明を特定の形態または開示された形態に限定する意図がなく、逆に、その意図するところは、添付の特許請求の範囲に定義されるように、本発明の主旨及び範囲内に入るすべての修正、代替構成及び均等物を包含するものであることは理解されるべきである。   Other variations are within the scope of the present invention. Thus, while the disclosed technology is susceptible to various modifications and alternative constructions, the specific embodiments illustrated are shown in the drawings and have been described above in detail. However, it is not intended to limit the invention to the particular form or form disclosed, but on the contrary, the intention is within the spirit and scope of the invention as defined in the appended claims. It should be understood that all modifications, alternative constructions and equivalents that come in are included.

開示された実施形態を説明する文脈(特に以下の特許請求の範囲の文脈において)における「a」及び「an」並びに「the」なる用語の使用、及び類似の指示物は、本明細書で特に明記しない限り或いは文脈に明らかに矛盾しない限り、単数及び複数の両方をカバーすると解釈されるべきである。「備える」、「有する」、「含む」及び「収容する」という用語は、特に断りのない限り制限のない用語(すなわち、「含むが、これらに限定されない」を意味する)として解釈されるべきである。「接続される」という用語は、結合されるようなものの介在があっても、部分的にまたは完全にそのものの内に収容され、そのものに取り付けられ、或いは一緒に接続されたものと解釈されるべきである。本明細書における値の範囲の列挙は、本明細書で他に示されない限り、範囲内に入るそれぞれ別個の値に個々に言及する省略表現方法としての役目を果たすように単に意図され、それぞれ別個の値は、それが個々に本明細書に記載されているかのように本明細書に組み込まれるものである。本明細書に示され、またはそうでなければ文脈により明らかに矛盾しない限り、本明細書に記載のすべての方法は、任意の適切な順序で行うことができる。任意の及びすべての実施例、または本明細書での例示的な文言(例えば、「のような」)の使用は、単に本発明の実施形態をよりよく解明するように意図され、別に特許請求がない限り、本発明の範囲を限定するものではない。明細書中の用語は、本発明の実施に不可欠として、特許請求しない任意の要素を示すものと解釈されるべきではない。   The use of the terms “a” and “an” and “the” in the context of describing the disclosed embodiments (particularly in the context of the following claims), and similar indicators, are specifically described herein. It should be interpreted as covering both the singular and the plural unless explicitly stated otherwise or inconsistent with the context. The terms “comprising”, “having”, “including” and “accommodating” are to be interpreted as unrestricted terms (ie, including but not limited to) unless otherwise specified. It is. The term “connected” is to be interpreted as being partly or completely contained within, attached to, or connected together, even with the presence of something to be joined. Should. The recitation of value ranges herein is merely intended to serve as a shorthand notation for individually referring to each distinct value falling within the range, unless otherwise indicated herein. The values of are those incorporated herein as if they were individually described herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language herein (eg, “like”) is intended only to better elucidate embodiments of the present invention, and is claimed separately. Unless otherwise, the scope of the present invention is not limited. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.

本開示の好ましい実施形態は、発明を実施するために発明者に知られている最良の形態を含んで本明細書中に記載されている。これらの好ましい実施形態の変形は、前述の説明を読むことにより当業者にとって明らかになるであろう。本発明者らは、当業者が適宜このような変形を採用することを期待し、そして本発明者らは、本発明が本明細書に具体的に記載した以外の方法で実施されることを意図している。従って、本発明は、適用法によって許容されるように、添付の特許請求の範囲に記載の主題のすべての修正及び均等物を含んでいる。また、本明細書に示されていないか、そうでなければ文脈に明らかに矛盾しない限り、すべての可能な変形における上述した要素の任意の組合せが本発明に包含される。   Preferred embodiments of this disclosure are described herein, including the best mode known to the inventors for carrying out the invention. Variations of these preferred embodiments will become apparent to those skilled in the art upon reading the foregoing description. We expect that those skilled in the art will adopt such modifications as appropriate, and that we will implement the invention in a manner other than that specifically described herein. Intended. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Also, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.

各文献が個々にかつ具体的に参照により本明細書に組み込まれるべきであると示され、全体がここに記載されたかのように、刊行物、特許出願及び特許を含む本明細書で引用したすべての参考文献は、参照により同程度までここに組み込まれる。   All references cited in this specification, including publications, patent applications and patents, are indicated as if each reference were individually and specifically to be incorporated herein by reference and as if fully set forth herein. Are incorporated herein by reference to the same extent.

Claims (15)

データ記憶装置のためのコンピュータ実行方法であって、
実行可能な命令で構成された1つまたは複数のコンピュータシステムの制御下で、
第1のコンピューティングシステムのデータファイルを監視するステップと、
定量化データ推論アルゴリズムに少なくとも部分的に基づいて1つまたは複数のデータファイルの重要度を決定するステップと、
前記データファイルのセットの決定された重要性に少なくとも部分的に基づいて前記1つまたは複数のデータファイルからの前記データファイルのセットをストレージサービスに送ることを選択的に決定するステップと
他のコンピューティングデバイス上での前記データファイルのセットの可用性のために前記データファイルのセットをアップロードさせるステップと
を備えたことを特徴とするコンピュータ実行方法。
A computer-implemented method for a data storage device, comprising:
Under the control of one or more computer systems comprised of executable instructions,
Monitoring a data file of the first computing system;
Determining the importance of one or more data files based at least in part on a quantified data inference algorithm;
Selectively determining to send the set of data files from the one or more data files to a storage service based at least in part on the determined importance of the set of data files; Uploading the set of data files for availability of the set of data files on a storage device.
1つまたは複数のデータファイルの重要度を決定するステップは、前記データファイルを記述したメタデータに少なくとも部分的に基づいて重要度格付けを計算するステップを更に含むことを特徴とする請求項1に記載のコンピュータ実行方法。   The method of claim 1, wherein determining the importance of one or more data files further comprises calculating an importance rating based at least in part on metadata describing the data file. The computer execution method as described. 前記メタデータは、文書の種類、文書へのアクセス履歴、文書の編集履歴、キーワード、または制作者の情報を含むことを特徴とする請求項2に記載のコンピュータ実行方法。   The computer-implemented method according to claim 2, wherein the metadata includes a document type, a document access history, a document editing history, a keyword, or creator information. 1つまたは複数のデータファイルの重要度を決定するステップは、前記第1のコンピューティングシステムにインストールされた1つまたは複数のアプリケーションとの関係に少なくとも部分的に基づいて、重要度格付けを計算するステップを更に含むことを特徴とする請求項1に記載のコンピュータ実行方法。   The step of determining the importance of the one or more data files calculates an importance rating based at least in part on the relationship with the one or more applications installed on the first computing system. The computer-implemented method of claim 1, further comprising a step. 前記定量化データ推論アルゴリズムは、1つまたは複数の前記データファイルからの1つのデータファイルとのユーザインターフェイスに少なくとも部分的に基づいていることを特徴とする請求項1に記載のコンピュータ実行方法。   The computer-implemented method of claim 1, wherein the quantified data inference algorithm is based at least in part on a user interface with a data file from one or more of the data files. 前記第2のコンピューティングデバイスへの前記データファイルのセットの送信を可能にするために、前記ストレージサービスのアカウントに登録された第2のコンピューティングデバイスのアドレスを受信するステップを更に備えたことを特徴とする請求項1に記載のコンピュータ実行方法。   Further comprising receiving an address of a second computing device registered with the storage service account to enable transmission of the set of data files to the second computing device. The computer-implemented method according to claim 1, wherein: 前記データファイルのセットを前記ストレージサービスによって格納させるステップを更に備えたことを特徴とする請求項1に記載のコンピュータ実行方法。   The computer-implemented method of claim 1, further comprising the step of storing the set of data files by the storage service. 前記データファイルのセットの検索を可能にするために、前記データファイルのセットを索引付けするステップを更に備えたことを特徴とする請求項1に記載のコンピュータ実行方法。   The computer-implemented method of claim 1, further comprising the step of indexing the set of data files to enable retrieval of the set of data files. 前記データファイルのセットをアップロードさせるステップは、前記データファイルのセットが前記ストレージサービスに暗号化された形式で格納されるように、前記データファイルのセットを暗号化するステップを含むことを特徴とする請求項1に記載のコンピュータ実行方法。   The step of uploading the set of data files includes the step of encrypting the set of data files such that the set of data files is stored in an encrypted form in the storage service. The computer-implemented method according to claim 1. ファイルイベントまたはファイル属性に少なくとも部分的に基づいて、前記データファイルのセットから少なくとも1つのファイルの重要度の格付けを決定するステップを更に備えたことを特徴とする請求項1に記載のコンピュータ実行方法。   The computer-implemented method of claim 1, further comprising determining an importance rating of at least one file from the set of data files based at least in part on file events or file attributes. . データ記憶のためのコンピュータシステムであって、
1つまたは複数のプロセッサによって実行されると、1つまたは複数の前記プロセッサに少なくとも、
データファイルの決定された重要度に基づいて、ストレージサービスに送信するデータ構造内のデータファイルのセットを選択的に決定するように構成された第1のコンピューティングシステムのアプリケーションと、
前記ストレージサービスから前記データファイルを受信するように構成された第2のコンピューティングシステムのアプリケーションと、
前記第1のコンピューティングシステムと前記第2のコンピューティングシステムとの間での前記データファイルの同期を管理するように構成される前記ストレージサービスと
を実行させる実行可能な命令を含む1つまたは複数のプロセッサとメモリを有する1つまたは複数のコンピューティングリソースを備えたコンピュータシステム。
A computer system for data storage,
When executed by one or more processors, at least one of the processors is
A first computing system application configured to selectively determine a set of data files in a data structure to send to the storage service based on the determined importance of the data files;
An application of a second computing system configured to receive the data file from the storage service;
One or more comprising executable instructions for executing the storage service configured to manage synchronization of the data file between the first computing system and the second computing system A computer system comprising one or more computing resources having a plurality of processors and memory.
前記第1のコンピューティングシステムは、更に、ファイル構造を収容するボリュームを備え、前記データ構造はファイル構造であることを特徴とする請求項11に記載のコンピュータシステム。   The computer system according to claim 11, wherein the first computing system further includes a volume for storing a file structure, and the data structure is a file structure. 前記ストレージサービスは、更に、前記データファイルのセットを格納する記憶装置を備えることを特徴とする請求項11のコンピュータシステム。   12. The computer system according to claim 11, wherein the storage service further comprises a storage device for storing the set of data files. 前記ストレージサービスは、更に、前記ストレージによって格納される前記データファイルのセットからの少なくとも1つのデータファイルのためのエディタを提供するWebアプリケーションを含むことを特徴とする請求項13に記載のコンピュータシステム。   The computer system of claim 13, wherein the storage service further includes a web application that provides an editor for at least one data file from the set of data files stored by the storage. 更に、前記ストレージによって格納される前記ファイルのセットを索引付けする検索サービスを含み、検索インターフェイスを提供することを特徴とする請求項13に記載のコンピュータシステム。   14. The computer system of claim 13, further comprising a search service that indexes the set of files stored by the storage and provides a search interface.
JP2015559283A 2013-02-25 2014-02-25 Predictive storage service Pending JP2016509317A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/776,498 US10318492B2 (en) 2013-02-25 2013-02-25 Predictive storage service
US13/776,498 2013-02-25
PCT/US2014/018416 WO2014131041A1 (en) 2013-02-25 2014-02-25 Predictive storage service

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017120081A Division JP6482602B2 (en) 2013-02-25 2017-06-20 Predictive storage service

Publications (1)

Publication Number Publication Date
JP2016509317A true JP2016509317A (en) 2016-03-24

Family

ID=51389245

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015559283A Pending JP2016509317A (en) 2013-02-25 2014-02-25 Predictive storage service
JP2017120081A Active JP6482602B2 (en) 2013-02-25 2017-06-20 Predictive storage service

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017120081A Active JP6482602B2 (en) 2013-02-25 2017-06-20 Predictive storage service

Country Status (9)

Country Link
US (1) US10318492B2 (en)
EP (1) EP2959411A4 (en)
JP (2) JP2016509317A (en)
KR (2) KR101699654B1 (en)
CN (2) CN115344548B (en)
AU (2) AU2014218538B2 (en)
CA (1) CA2901677C (en)
SG (2) SG11201506528UA (en)
WO (1) WO2014131041A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104053019A (en) * 2013-03-12 2014-09-17 中兴通讯股份有限公司 Video playing and processing method and device based on virtual desktop
CN105210032B (en) * 2013-03-14 2021-06-25 黑莓有限公司 Registration and interaction of applications
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US10270871B2 (en) 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
US10091287B2 (en) 2014-04-08 2018-10-02 Dropbox, Inc. Determining presence in an application accessing shared and synchronized content
US10171579B2 (en) 2014-04-08 2019-01-01 Dropbox, Inc. Managing presence among devices accessing shared and synchronized content
US9998555B2 (en) 2014-04-08 2018-06-12 Dropbox, Inc. Displaying presence in an application accessing shared and synchronized content
US20160094649A1 (en) * 2014-09-30 2016-03-31 Code 42 Software, Inc. Node-to-node data distribution
WO2016053130A1 (en) * 2014-10-01 2016-04-07 Obschestvo S Ogranichennoy Otvetstvennostyu "Slickjump" Method for rendering relevant context-based information
US9846528B2 (en) 2015-03-02 2017-12-19 Dropbox, Inc. Native application collaboration
US10248933B2 (en) 2015-12-29 2019-04-02 Dropbox, Inc. Content item activity feed for presenting events associated with content items
US10620811B2 (en) 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
US10382502B2 (en) 2016-04-04 2019-08-13 Dropbox, Inc. Change comments for synchronized content items
US20180074812A1 (en) * 2016-09-09 2018-03-15 Takuji Kawaguchi Information terminal, information processing system, method, and recording medium
CN110008050B (en) * 2019-04-11 2023-06-30 北京百度网讯科技有限公司 Method and device for processing information

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007087349A (en) * 2005-09-20 2007-04-05 Mitsuhiro Ishizaka Information sharing system
JP2008301248A (en) * 2007-05-31 2008-12-11 Victor Co Of Japan Ltd Recording and playback apparatus
US20090150569A1 (en) * 2007-12-07 2009-06-11 Avi Kumar Synchronization system and method for mobile devices
US20090254572A1 (en) * 2007-01-05 2009-10-08 Redlich Ron M Digital information infrastructure and method
US20110173299A1 (en) * 2009-07-19 2011-07-14 Simon Samuel Lightstone Website-based network file explorer
US20130212067A1 (en) * 2012-02-15 2013-08-15 Citrix Systems, Inc. Selective synchronization of remotely stored content

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301579B1 (en) 1998-10-20 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for visualizing a data structure
US6571245B2 (en) * 1998-12-07 2003-05-27 Magically, Inc. Virtual desktop in a computer network
US6834120B1 (en) 2000-11-15 2004-12-21 Sri International Method and system for estimating the accuracy of inference algorithms using the self-consistency methodology
US7233933B2 (en) * 2001-06-28 2007-06-19 Microsoft Corporation Methods and architecture for cross-device activity monitoring, reasoning, and visualization for providing status and forecasts of a users' presence and availability
US20060206447A1 (en) 2005-03-10 2006-09-14 Kabushiki Kaisha Toshiba Document managing apparatus
US20070276723A1 (en) 2006-04-28 2007-11-29 Gideon Samid BiPSA: an inferential methodology and a computational tool
US7509855B2 (en) 2007-07-25 2009-03-31 The Lubrizol Corporation Sensor manifolds
FR2924839B1 (en) * 2007-12-06 2010-03-19 Agematis METHOD FOR AUTOMATICALLY SAVING DIGITAL DATA PRESERVED IN MEMORY IN A COMPUTER INSTALLATION, COMPUTER-READABLE DATA MEDIUM, COMPUTER-BASED INSTALLATION AND SYSTEM FOR IMPLEMENTING SAID METHOD
US20090171960A1 (en) * 2008-01-02 2009-07-02 Ziv Katzir Method and system for context-aware data prioritization
US8649276B2 (en) * 2008-07-31 2014-02-11 Microsoft Corporation Content transfer
US10447804B2 (en) * 2008-10-28 2019-10-15 Hewlett-Packard Development Company, L.P. File type association in a remote computing session
US8195617B2 (en) * 2008-12-30 2012-06-05 International Business Machines Corporation Managing data across a plurality of data storage devices based upon collaboration relevance
US8219526B2 (en) * 2009-06-05 2012-07-10 Microsoft Corporation Synchronizing file partitions utilizing a server storage model
US8849955B2 (en) * 2009-06-30 2014-09-30 Commvault Systems, Inc. Cloud storage and networking agents, including agents for utilizing multiple, different cloud storage sites
US8280899B2 (en) 2009-10-14 2012-10-02 Microsoft Corporation Abstracting events for data mining
US20110107042A1 (en) * 2009-11-03 2011-05-05 Andrew Herron Formatting data storage according to data classification
US8315502B2 (en) 2009-12-08 2012-11-20 Echostar Technologies L.L.C. Systems and methods for selective archival of media content
US9386098B2 (en) * 2010-06-11 2016-07-05 Fidelithon Systems, Llc Smartphone management system and method
CN102447723B (en) 2010-10-12 2015-09-09 运软网络科技(上海)有限公司 Client-side virtualization framework
US20120143806A1 (en) 2010-12-06 2012-06-07 Microsoft Corporation Electronic Communications Triage
TW201227395A (en) * 2010-12-22 2012-07-01 Hon Hai Prec Ind Co Ltd Cloud data security controlling system and method
US8825572B2 (en) 2011-02-01 2014-09-02 Microsoft Corporation Program synthesis with existentially and universally quantified belief propagation using probabilistic inference
JP5664441B2 (en) 2011-04-27 2015-02-04 日本電気株式会社 Resource management system, data update method and program
EP2710510A4 (en) * 2011-05-14 2015-05-06 Bitcasa Inc Cloud file system with server-side deduplication of user-agnostic encrypted files
CN102855236B (en) * 2011-06-27 2015-04-29 北京东方通科技股份有限公司 File transmitting system and file transmitting method
US10474691B2 (en) * 2012-05-25 2019-11-12 Dell Products, Lp Micro-staging device and method for micro-staging
CN102857570A (en) 2012-09-13 2013-01-02 清华大学 Cloud synchronized method of files and cloud storage server
US9489440B2 (en) * 2012-12-13 2016-11-08 Microsoft Technology Licensing Llc Opportunistic, priority-based object synchronization
US9185742B2 (en) * 2012-12-13 2015-11-10 Google Technology Holdings LLC System and methods for a cloud based wireless personal area network service enabling context activity handoffs between devices
US9678978B2 (en) * 2012-12-31 2017-06-13 Carbonite, Inc. Systems and methods for automatic synchronization of recently modified data
US10120891B2 (en) * 2013-02-11 2018-11-06 International Business Machines Corporation Data placement optimization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007087349A (en) * 2005-09-20 2007-04-05 Mitsuhiro Ishizaka Information sharing system
US20090254572A1 (en) * 2007-01-05 2009-10-08 Redlich Ron M Digital information infrastructure and method
JP2008301248A (en) * 2007-05-31 2008-12-11 Victor Co Of Japan Ltd Recording and playback apparatus
US20090150569A1 (en) * 2007-12-07 2009-06-11 Avi Kumar Synchronization system and method for mobile devices
US20110173299A1 (en) * 2009-07-19 2011-07-14 Simon Samuel Lightstone Website-based network file explorer
US20130212067A1 (en) * 2012-02-15 2013-08-15 Citrix Systems, Inc. Selective synchronization of remotely stored content

Also Published As

Publication number Publication date
WO2014131041A1 (en) 2014-08-28
AU2014218538A1 (en) 2015-09-03
KR20150119105A (en) 2015-10-23
AU2016222323B2 (en) 2017-10-12
EP2959411A1 (en) 2015-12-30
KR101699654B1 (en) 2017-01-24
CN105009121B (en) 2022-08-16
CA2901677A1 (en) 2014-08-28
US10318492B2 (en) 2019-06-11
AU2016222323A1 (en) 2016-09-15
CN115344548A (en) 2022-11-15
CA2901677C (en) 2019-07-16
AU2014218538B2 (en) 2016-06-23
SG11201506528UA (en) 2015-09-29
KR101800592B1 (en) 2017-11-22
SG10201609089SA (en) 2016-12-29
US20140244580A1 (en) 2014-08-28
JP2017201546A (en) 2017-11-09
CN105009121A (en) 2015-10-28
CN115344548B (en) 2024-03-15
JP6482602B2 (en) 2019-03-13
EP2959411A4 (en) 2016-08-03
KR20170010098A (en) 2017-01-25

Similar Documents

Publication Publication Date Title
JP6482602B2 (en) Predictive storage service
US9992200B2 (en) System and method for secure content sharing and synchronization
JP6621543B2 (en) Automatic update of hybrid applications
US20240036695A1 (en) System and methods for configuring event-based automation in cloud-based collaboration platforms
US8447801B1 (en) Content sharing with limited cloud storage
JP6797290B2 (en) Content management capabilities for messaging services
US9904435B2 (en) System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US20130111336A1 (en) Platform and application independent system and method for networked file access and editing
US9811590B1 (en) Managing cached data in a network environment
JP2016535381A (en) File level commenting
JP2017528795A (en) Generating unregistered user accounts for sharing content items
US10021050B2 (en) Secure conversation and document binder
US9590999B2 (en) Preview serving from an external preview service

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20161110

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170321