STREAMING CONTENT AND PLACEHOLDERS
First Claim
1. A method implemented at least in part by a computer, the method comprising:
- receiving an indication of a file system object of a local file system of a client, the file system object represented by a placeholder, the placeholder being stored on the local file system, the client structured to obtain metadata of the file system object from the placeholder, the client structured to synchronize the local file system with a remote storage system, the metadata sufficient to allow the client, while offline with respect to the remote storage system, to obtain namespace information about the file system object from the placeholder, the placeholder including data that identifies the remote storage system from which data of the file system object is obtainable;
receiving a request to access content of the file system object;
determining, based on the placeholder, whether the content resides on the local file system;
if the content resides on the local file system, determining whether the content is up-to-date and, if so, providing the content from the local file system;
if the content does not reside on the local file system, determining whether an application to which the content is to be provided is structured to access the content via streaming or whether the application to which content is to be provided is not structured to access the content via streaming;
if the application to which the content is to be provided is structured to access the content via streaming, performing actions, comprising;
obtaining at least a portion of the file system object from the remote storage system,updating the placeholder to indicate that the content is available from the local file system, andproviding the content to the application.
3 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the subject matter described herein relate to file system placeholders. In aspects, placeholders may be used by a client to represent remote file system objects. The placeholders may include metadata and may also include none, some, or all of the content of the represented remote file system objects. In response to a request to access content of a file system object represented by a placeholder, a client may obtain needed data from a remote storage system and stream or not stream the data to the requesting application based on whether the requesting application is capable of streaming the data.
133 Citations
20 Claims
-
1. A method implemented at least in part by a computer, the method comprising:
-
receiving an indication of a file system object of a local file system of a client, the file system object represented by a placeholder, the placeholder being stored on the local file system, the client structured to obtain metadata of the file system object from the placeholder, the client structured to synchronize the local file system with a remote storage system, the metadata sufficient to allow the client, while offline with respect to the remote storage system, to obtain namespace information about the file system object from the placeholder, the placeholder including data that identifies the remote storage system from which data of the file system object is obtainable; receiving a request to access content of the file system object; determining, based on the placeholder, whether the content resides on the local file system; if the content resides on the local file system, determining whether the content is up-to-date and, if so, providing the content from the local file system; if the content does not reside on the local file system, determining whether an application to which the content is to be provided is structured to access the content via streaming or whether the application to which content is to be provided is not structured to access the content via streaming; if the application to which the content is to be provided is structured to access the content via streaming, performing actions, comprising; obtaining at least a portion of the file system object from the remote storage system, updating the placeholder to indicate that the content is available from the local file system, and providing the content to the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a computing environment, a system, comprising:
-
a store having computer storage elements that persist file system metadata for local file system objects of a local file system and that persist placeholders for remote file system objects of a remote storage system, the placeholders including metadata of the remote file system objects without requiring that the remote file system objects exist in the store; a placeholder manager structured to create, populate, and maintain the placeholders to ensure that placeholders exists for remote file system objects in a namespace at least if the remote file system objects do not completely exist on the store; and a streaming manager, hosted on a client, the streaming manager structured to perform actions, comprising; receiving a request to access content of a file system object; determining, based on a placeholder, whether the content resides on the local file system; if the content resides on the local file system, determining whether the content is up-to-date and, if so, providing the content from the local file system; if the content does not reside on the local file system, determining whether an application to which the content is to be provided is structured to access the content via streaming or whether the application to which content is to be provided is not structured to access the content via streaming; if the application to which the content is to be provided is structured to access the content via streaming, performing actions, comprising; obtaining at least a portion of the file system object from the remote storage system, updating the placeholder to indicate that the content is available from the local file system, and providing the content to the application. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer storage medium having computer-executable instructions, which when executed perform actions, comprising:
-
receiving a request for data of a file system object indicated by a client, the client having a client file system, the client file system having file system objects in which all content is located on the client file system and file system objects in which less than all content is located on the client file system, the client having placeholders that represent at least the file system objects in which less than all content is located on the client file system, the file system object being represented by a placeholder stored on the client file system, the placeholder identifying a remote storage system from which the data of the file system object is obtainable, the client structured to stream content of the file system object from the remote storage system to an application hosted on the client if the application is structured to access the content via streaming and to ensure that all content of the file system object is available on the client file system if the application is not structured to access the content via streaming; and providing the data of the file system object from the remote storage system. - View Dependent Claims (20)
-
Specification