Abstract:
A cloud file event server transmits file events necessary to synchronize a file system of a file share client. A tree queue director circuit receives file events and stores each one into a tree data structure which represents the hierarchical paths of files within the file share client. An event normalization circuit sorts the file events stored at each node into sequential order and moots file events which do not have to be performed because a later file event makes them inconsequential. A thread scheduling circuit assigns a resource to perform file events at a first node in a hierarchical path before assigning one or more resources to a second node which is a child of the first node until interrupted by the tree queue director circuit or until all file events in the tree data structure have been performed.
Abstract:
A cloud file event server transmits file events necessary to synchronize a file system of a file share client. A tree queue director circuit receives file events and stores each one into a tree data structure which represents the hierarchical paths of files within the file share client. An event normalization circuit sorts the file events stored at each node into sequential order and moots file events which do not have to be performed because a later file event makes them inconsequential. A thread scheduling circuit assigns a resource to perform file events at a first node in a hierarchical path before assigning one or more resources to a second node which is a child of the first node until interrupted by the tree queue director circuit or until all file events in the tree data structure have been performed.
Abstract:
A new approach is proposed that contemplates systems and methods to support file synchronization between a local host and a cloud storage via one or more local content appliances (CAs), wherein each content appliance is a storage device/host configured to locally maintain documents and files previously downloaded from the cloud storage. First, a client agent at the local host discovers and connects to the CA that manage its files locally. To access a file/document that is not cached on its local host, the client agent requests and receives the file from the CA instead of downloading it directly from the cloud storage. When parts of the file are updated locally by the client, the client agent is configured to transmit the updated file to the CA, wherein the updated file is considered as having been fully committed from the client's perspective. The CA then synchronizes with and uploads the revised file to the cloud storage and/or other CAs in the background.
Abstract:
A new approach is proposed that contemplates systems and methods to support performance tuning of software running on a host/computing device. Specifically, a performance tuner is assigned to and associated with each background process running on the host, wherein the performance tuner is configured to monitor system resource usage by the background process in real time via a plurality of handlers deployed to a plurality of types of system resources of the host. Here, the system resources include but are not limited to CPU, memory/storage, and bandwidth of the network connections of the host. If the system resource usage by the background process is too high (e.g., causing performance degradation of foreground processes viewed/used by a user of the host), the performance tuner is configured to dynamically dispatch the background process—slow it down to scale back its system resource usage.