Abstract:
Disclosed herein are methods and structures for a computer cache that includes its own garbage collection component that reclaims space occupied by free objects in the cache such that the cache avoids retaining deleted objects thereby increasing cache hit ratios and further permits short-lived dirty objects to be deleted without requiring them to be written back to an underlying store.
Abstract:
A method supports data communication in a mobile application by specifying in the mobile application a program intent and one or more course or fine-grained properties of data objects in terms of tolerance to delay and loss; selecting a transfer policy for a set of data objects based on the application intent; receiving and coalescing intents of one or more applications for object data for the one or more applications; crafting an aggregate transfer policy, and communicating data from one or more applications as an aggregate based on the aggregate transfer policy to programmatically incorporate and benefit from tolerance to delay in the transfer of data.
Abstract:
Disclosed herein are methods and structures for networks of mobile computers which efficiently synchronizes table data across the mobile computers while exhibiting great tolerance for temporary disconnects.
Abstract:
Disclosed are methods and structures that facilitate the synchronization of mobile devices and apps with cloud storage systems. Our disclosure, Simba, provides a unified synchronization mechanism for object and table data in the context of mobile clients. Advantageously, Simba provides application developers a single, API where object data is logically embedded with the table data. On the mobile device, Simba uses a specialized data layout to efficiently store both table data and object data. SQL-like queries are used to store and retrieve all data via a table abstraction. Simba also provides efficient synchronization by splitting object data into chunks which can be synchronized independently. Therefore, if only a small part of an object changes, the full object need not be synced. Advantageously only the changed chunks need be synched.
Abstract:
A method supports data communication in a mobile application by specifying in the mobile application a program intent and one or more course or fine-grained properties of data objects in terms of tolerance to delay and loss; selecting a transfer policy for a set of data objects based on the application intent; receiving and coalescing intents of one or more applications for object data for the one or more applications; crafting an aggregate transfer policy, and communicating data from one or more applications as an aggregate based on the aggregate transfer policy to programmatically incorporate and benefit from tolerance to delay in the transfer of data.
Abstract:
Caching systems and methods for managing a cache are disclosed. One method includes determining whether a cache eviction condition is satisfied. In response to determining that the cache eviction condition is satisfied, at least one Bloom filter registering keys denoting objects in the cache is referenced to identify a particular object in the cache to evict. Further, the identified object is evicted from the cache. In accordance with an alternative scheme, a bit array is employed to store recency information in a memory element that is configured to store metadata for data objects stored in a separate cache memory element. This separate cache memory element stores keys denoting the data objects in the cache and further includes bit offset information for each of the keys denoting different slots in the bit array to enable access to the recency information.