Allocation of computing resources for a computing system hosting multiple applications
AssigneePivotal Software, Inc.
InventorsAndrew Poydence, Adam Hevenor, Brady Love, Johanna Ratliff
Life of this patent
Estimating the term…
Abstract
Logs emitted in a cloud application platform can be cached. Log events emitted by one or more log emitters in the cloud application platform are received. Cache-allocation data that specifies, for each log emitter, a quota for storing log-event data for the log emitter is maintained. For each log emitter of a plurality of log emitters in the cloud application platform, a respective local cache of log events in computer memory is maintained. A global cache for all of the plurality of log emitters in the system is maintained. Each node in the global cache represents a different respective local cache.
Claims20
A system for caching logs emitted in a cloud application platform, the system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
- receiving, by a logging subsystem of the cloud application platform, log events emitted by one or more log emitters in the cloud application platform;
- maintaining, by the cloud application platform, cache-allocation data that specifies, for each log emitter, a quota for storing log-event data for the log emitter;
- maintaining, for each log emitter of a plurality of log emitters in the cloud application platform, a respective local cache of log events in computer memory, wherein each local cache for each log emitter comprises a respective local binary tree that maintains an ordering of the log events for the log emitter according to a date field of each log event;
- maintaining, by the logging subsystem of the cloud application platform, a global cache for all of the plurality of log emitters in the system, wherein the global cache comprises a single global binary tree that maintains an ordering of the plurality of log emitters having local caches in the system according to a respective oldest cached log event associated with each log emitter;
- and
- wherein each node in the global cache represents a different respective local cache.
A method for caching logs emitted in a cloud application platform, the method comprising:
- receiving, by a logging subsystem of the cloud application platform, log events emitted by one or more log emitters in the cloud application platform;
- maintaining, by the cloud application platform, cache-allocation data that specifies, for each log emitter, a quota for storing log-event data for the log emitter;
- maintaining, for each log emitter of a plurality of log emitters in the cloud application platform, a respective local cache of log events in computer memory, wherein each local cache for each log emitter comprises a respective local binary tree that maintains an ordering of the log events for the log emitter according to a date field of each log event;
- maintaining, by the logging subsystem of the cloud application platform, a global cache for all of the plurality of log emitters in the system, wherein the global cache comprises a single global binary tree that maintains an ordering of the plurality of log emitters having local caches in the system according to a respective oldest cached log event associated with each log emitter;
- and
- wherein each node in the global cache represents a different respective local cache.
One or more non-transitory computer storage media encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
- receiving, by a logging subsystem of a cloud application platform, log events emitted by one or more log emitters in the cloud application platform;
- maintaining, by the cloud application platform, cache-allocation data that specifies, for each log emitter, a quota for storing log-event data for the log emitter;
- maintaining, for each log emitter of a plurality of log emitters in the cloud application platform, a respective local cache of log events in computer memory, wherein each local cache for each log emitter comprises a respective local binary tree that maintains an ordering of the log events for the log emitter according to a date field of each log event;
- maintaining, by the logging subsystem of the cloud application platform, a global cache for all of the plurality of log emitters in the system, wherein the global cache comprises a single global binary tree that maintains an ordering of the plurality of log emitters having local caches in the system according to a respective oldest cached log event associated with each log emitter;
- and
- wherein each node in the global cache represents a different respective local cache.
Dependencies are inferred from the claim text.