×

Systems and methods for accelerating access to data by pre-warming the cache for virtual machines

  • US 10,037,276 B1
  • Filed: 11/04/2015
  • Issued: 07/31/2018
  • Est. Priority Date: 11/04/2015
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for accelerating access to data, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

  • spawning, at a data-management system for a first application-testing virtual machine, a first virtual disk from a dataset managed by the data-management system;

    monitoring, at a data-caching system that serves the first virtual disk to the first application-testing virtual machine during an initialization phase of the first application-testing virtual machine, read requests of the first application-testing virtual machine for the first virtual disk;

    identifying, at the data-caching system during the initialization phase, an initialization pattern of the read requests of the first application-testing virtual machine;

    transferring, from the data-caching system, the initialization pattern of the read requests of the first application-testing virtual machine to the data-management system;

    storing, at the data-management system, the initialization pattern of the read requests of the first application-testing virtual machine in association with the dataset;

    detecting, at the data-caching system, an event that indicates an end of the initialization phase and a beginning of an application-testing phase of the first application-testing virtual machine, wherein the first application-testing virtual machine performs application testing during the application-testing phase;

    monitoring, at the data-caching system during the application-testing phase, additional read requests of the first application-testing virtual machine for the first virtual disk;

    identifying, at the data-caching system during the application-testing phase, an application-testing pattern of the additional read requests of the first application-testing virtual machine;

    transferring, from the data-caching system, the application-testing pattern of the additional read requests of the first application-testing virtual machine to the data-management system;

    storing, at the data-management system, the application-testing pattern of the additional read requests of the first application-testing virtual machine in association with the dataset;

    receiving, at the data-caching system, a request by a second application-testing virtual machine to access a second virtual disk comprising the dataset;

    spawning, at the data-management system for the second application-testing virtual machine, the second virtual disk from the dataset, wherein the data-caching system serves the second virtual disk to the second application-testing virtual machine and maintains a cache of the second virtual disk for the second application-testing virtual machine;

    requesting, at the data-caching system from the data-management system in response to receiving the request, a pattern of read requests associated with the second virtual disk;

    determining, at the data-management system, that the application-testing pattern of the additional read requests of the first application-testing virtual machine is a pattern of read requests associated with the second virtual disk;

    transmitting, from the data-management system to the data-caching system, the application-testing pattern of the additional read requests of the first application-testing virtual machine;

    monitoring, at the data-caching system, read requests of the second application-testing virtual machine for the second virtual disk;

    determining, at the data-caching system, that a pattern of the read requests of the second application-testing virtual machine resembles the application-testing pattern of the additional read requests of the first application-testing virtual machine; and

    using, at the data-caching system in response to determining that the pattern of the read requests of the second application-testing virtual machine resembles the application-testing pattern of the additional read requests of the first application-testing virtual machine, a portion of the dataset accessed by the additional read requests of the first application-testing virtual machine to pre-warm the cache of the second virtual disk.

View all claims
  • 7 Assignments
Timeline View
Assignment View
    ×
    ×