Patent ID: 9733966
Date: 2017-08-15
CPC Classifications: G06F

Claim:
1. A computer system for real-time data retrieval, the computer system comprising: a non-Portable Operating System Interface (non-POSIX) storage database, wherein the non-POSIX storage database stores non-POSIX backup data for one or more Portable Operating System Interface (POSIX) data sources; a server computer operatively connected to a computing network, a hypervisor, and the non-POSIX storage database, the server computer comprising at least one processor configured to: receive, from a computer system operatively connected to the computing network, an indication of a particular data source of the one or more POSIX data sources to be restored from the non-POSIX backup data; in response to receiving the indication of the particular data source to be restored from the non-POSIX backup data, retrieve an index corresponding to the non-POSIX backup data for the particular data source; fetch at least a portion of the non-POSIX backup data from the non-POSIX storage database corresponding to the non-POSIX backup data for the particular data source based on the index; assemble the at least a portion of the non-POSIX backup data corresponding to the non-POSIX backup data for the particular data source as a virtual volume; present the virtual volume to the hypervisor for creation of a virtual machine resembling the particular data source and accessible by the computer system; fetch any unfetched portions of the non-POSIX backup data from the non-POSIX storage database based on the index: associate the unfetched portions of the non-POSIX backup data with the virtual volume; receive a request from the computing system to fetch a particular data item of the non-POSIX backup data from the non-POSIX storage database; in response to receiving the request to fetch the particular data item: pause the fetching of the unfetched portions of the non-POSIX backup data from the non-POSIX storage database; locate the particular data item based on the index; and in response to locating the particular data item based on the index: fetch the non-POSIX data corresponding to the particular data item from the non-POSIX storage database; associate the particular data item with the virtual volume; and locate other data items related to the particular data item; in response to locating the other data items: fetch the non-POSIX data corresponding to the other data items from the non-POSIX storage database; and associate the other data items with the virtual volume; upon determining that the other data items related to the particular data item have been associated with the virtual volume, resume the fetching of the unfetched portions of the non-POSIX backup data and associating of the unfetched portions of the non-POSIX backup data with the virtual volume; and upon determining that all portions of the non-POSIX backup data have been associated with the virtual volume, merge the copy of the particular data item with the particular data item on the virtual volume.