IP Library Granted Patent US 7,962,620
Granted Patent B2
US 7,962,620 · App. 12/138,589 · Granted Jun 14, 2011

Processing requests in virtual computing environments

Assignee: Kubisys Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,962,620
App. No.
12/138,589
Granted
Jun 14, 2011
Kind
B2
Abstract

Methods, systems, and apparatus, including computer program products, for processing read and write requests received from a cloned instance of a server application, the cloned instance of the server application having a corresponding instance that is hosted in a production portion of a computing environment.

Claims (50)

1. A method for processing requests in a computing environment that includes a production environment and a test environment, the method comprising:

receiving, by a layer system of the computing environment, a read request from a secondary instance of a server application, the secondary instance of the server application being hosted in the test environment and having a corresponding primary instance that is hosted in the production environment;

examining the received read request to determine whether the received read request is a first instance of a read request received for a particular target resource, and if so, executing a read operation to read data from a segment of a time-fixed data image corresponding to the particular target resource, the time-fixed data image being representative of a time-fixed state of data in the production environment, otherwise, executing a read operation to read data from a storage location associated with the test environment;

receiving a write request from the secondary instance of the server application; and

executing a write operation to write data included in the write request to the storage location associated with the test environment,

wherein the secondary instance of the server application is one of a set of server application instances, each server application instance of the set being a secondary instance of a server application having a corresponding primary instance that is hosted in the production environment.

2. The method of claim 1 , wherein the storage location associated with the test environment is accessible exclusively within the test environment.

3. The method of claim 1 , wherein the storage location associated with the test environment comprises a persistent storage location.

4. The method of claim 1 , wherein the storage location associated with the test environment comprises a write cache operable to store blocks of data.

5. The method of claim 1 , wherein executing the write operation comprises one or more of the following:

causing a block of data in the storage location associated with the test environment to be replaced by a block of data included in the write request;

causing a block of data, or a portion thereof, in the storage location associated with the test environment to be deleted;

causing a block of data included in the write request to be appended to a block of data, or a portion thereof, in the storage location associated with the test environment; and

causing a block of data included in the write request to be stored in the storage location association with the test environment.

6. A method for processing write requests in a computing environment that includes a production environment and a test environment, the method comprising:

receiving, by a layer system of the computing environment, a write request from a secondary instance of a server application, the secondary instance of the server application being hosted in the test environment and having a corresponding primary instance that is hosted in the production environment; and

executing a write operation to write data included in the write request to a storage location associated with the test environment, the executing including one or more of the following:

causing a block of data in the storage location associated with the test environment to be replaced by a block of data included in the write request;

causing a block of data, or a portion thereof, in the storage location associated with the test environment to be deleted;

causing a block of data included in the write request to be appended to a block of data, or a portion thereof, in the storage location associated with the test environment; and

causing a block of data included in the write request to be stored in the storage location association with the test environment.

7. The method of claim 6 , wherein the storage location associated with the test environment is accessible exclusively within the test environment.

8. The method of claim 6 , wherein the storage location associated with the test environment comprises a persistent storage location.

9. The method of claim 6 , wherein the storage location associated with the test environment comprises a write cache operable to store blocks of data.

10. The method of claim 6 , wherein the secondary instance of the server application is one of a set of server application instances, each server application instance of the set being a secondary instance of a server application having a corresponding primary instance that is hosted in the production environment.

11. A non-transitory machine-readable medium that stores executable instructions to cause a machine to:

receive a read request from a secondary instance of a server application, the secondary instance of the server application being hosted in a test environment of a computing environment and having a corresponding primary instance that is hosted in a production environment of the computing environment;

examine the received read request to determine whether the received read request is a first instance of a read request received for a particular target resource, and if so, executing a read operation to read data from a segment of a time fixed data image corresponding to the particular target resource, the time-fixed data image being representative of a time-fixed state of data in the production environment, otherwise, executing a read operation to read data from a storage location associated with test environment;

receive a write request from the secondary instance of the server application; and

execute a write operation to write data included in the write request to the storage location associated with the test environment,

wherein the secondary instance of the server application is one of a set of server application instances, each server application instance of the set being a secondary instance of a server application having a corresponding primary instance that is hosted in the production environment.

12. The machine-readable medium of claim 11 , wherein the storage location associated with the test environment is accessible exclusively within the test environment.

13. The machine-readable medium of claim 11 , wherein the storage location associated with the test environment comprises a persistent storage location.

14. The machine-readable medium of claim 11 , wherein the storage location associated with the test environment comprises a write cache operable to store blocks of data.

15. The machine-readable medium of claim 11 , wherein the instructions to execute a write operation comprises instructions to:

cause a block of data in the storage location associated with the test environment to be replaced by a block of data included in the write request;

cause a block of data, or a portion thereof, in the storage location associated with the test environment to be deleted;

cause a block of data included in the write request to be appended to a block of data, or a portion thereof, in the storage location associated with the test environment;

cause a block of data included in the write request to be stored in the storage location association with the test environment, or some combination thereof.

16. A machine-readable non-transitory medium that stores executable instructions to cause a machine to:

receive a write request from a secondary instance of a server application, the secondary instance of the server application being hosted in a test environment of a computing environment and having a corresponding primary instance that is hosted in a production environment of the computing environment; and

execute a write operation to write data included in the write request to a storage location associated with test environment, including:

causing a block of data in the storage location associated with the test environment to be replaced by a block of data included in the write request;

causing a block of data, or a portion thereof, in the storage location associated with the test environment to be deleted;

causing a block of data included in the write request to be appended to a block of data, or a portion thereof, in the storage location associated with the test environment;

causing a block of data included in the write request to be stored in the storage location association with the test environment, or some combination thereof.

17. The machine-readable medium of claim 16 , wherein the storage location associated with the test environment is accessible exclusively within the test environment.

18. The machine-readable medium of claim 16 , wherein the storage location associated with the test environment comprises a persistent storage location.

19. The machine-readable medium of claim 16 , wherein the storage location associated with the test environment comprises a write cache operable to store blocks of data.

20. The machine-readable medium of claim 16 , wherein the secondary instance of the server application is one of a set of server application instances, each server application instance of the set being a secondary instance of a server application having a corresponding primary instance that is hosted in the production environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2008
From: SAFARI, TIGRAN; ACHARYA, SOUBIR; URANO, SHINICHI
To: KUBISYS INC.
Reel/Frame 021448/0685 →
Continuity (2)
Provisional Application 60999661 · Oct 19, 2007
Related Publication 20090106424A1 · Apr 23, 2009