# US 2013/0159528 A1 · Failover based application resource acquisition

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159528 A1
- Document ID: US20130159528A1
- Status: Published application
- Kind: A1
- Application number: 13/327,466
- Filed: 2011-12-15
- Published: 2013-06-20
- Earliest claimed: 2011-12-15
- Assignees: Microsoft Corporation
- Inventors: Eric Jewart; Jeremy Dunker
- Web page: https://patentgrep.com/patent/US20130159528A1

## CPC

- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 8/61: Installation
- G06F 9/44521: {Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading}
- G06F 11/203: {using migration}
- G06F 11/2041: {with more than one idle spare processing component}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Providing access to resources to an application. A method includes receiving a request from an application for one or more resources. The method further includes determining that the one or more resources are not available at a primary or local storage. The method further includes identifying one or more alternative locations where the one or more resources are available. Transparently to the application, the one or more resources are provided from one or more of the one or more alternative locations

## Claims

### Claim 1

In a computing environment, a method of providing access to resources to an application, the method comprising:
receiving a request from an application on a local machine for one or more resources;
determining that the one or more resources are not available on the local machine;
identifying one or more alternative locations where the one or more resources are available; and
transparently to the application, providing the one or more resources from one or more of the one or more alternative locations.

### Claim 2 (depends on 1)

The method of claim 1, wherein providing the one or more resources from the one or more alternative locations comprises migrating the one or more resources to the local machine.

### Claim 3 (depends on 1)

The method of claim 1, wherein providing the one or more resources from the one or more alternative locations comprises repairing an installation of the application at the local machine using the one or more resources from the alternative location.

### Claim 4 (depends on 1)

The method of claim 1, wherein providing the one or more resources from the one or more alternative locations comprises building a redistributable package that contains resources to redistribute the application to another destination.

### Claim 5 (depends on 1)

The method of claim 1, further comprising querying one or more of the one or more alternative locations on behalf of the application.

### Claim 6 (depends on 1)

The method of claim 1, wherein identifying one or more alternative locations where the one or more resources are available comprises identifying an optimal alternative location and obtaining the one or more resources from the optimal alternative location.

### Claim 7 (depends on 1)

The method of claim 1, wherein providing the one or more resources from the one or more alternative locations comprises composing resources from multiple alternative locations to satisfy a single request from the application.

### Claim 8 (depends on 1)

The method of claim 1, wherein receiving a request from an application on a local machine for one or more resources comprises intercepting a request from the application's ordinary request mechanisms.

### Claim 9

One or more computer readable media comprising computer executable instructions that when executed by one or more processors causes one or more processors to perform the following:
receiving a request from an application for one or more resources;
determining that the one or more resources are not available at a primary storage;
identifying one or more alternative locations where the one or more resources are available; and
transparently to the application, providing the one or more resources from one or more of the one or more alternative locations.

### Claim 10 (depends on 8)

The computer readable media of claim 8, wherein, providing the one or more resources from the one or more alternative locations comprises migrating the one or more resources to a local machine having the application installed thereon.

### Claim 11 (depends on 8)

The computer readable media of claim 8, wherein, providing the one or more resources from the one or more alternative locations comprises repairing an installation of the application at a local machine having the application installed thereon using the one or more resources from the alternative location.

### Claim 12 (depends on 8)

The computer readable media of claim 8, further comprising querying one or more of the one or more alternative locations on behalf of the application.

### Claim 13 (depends on 8)

The computer readable media of claim 8, wherein identifying one or more alternative locations where the one or more resources are available comprises identifying an optimal alternative location and obtaining the one or more resources from the optimal alternative location.

### Claim 14 (depends on 8)

The computer readable media of claim 8, wherein providing the one or more resources from the one or more alternative locations comprises composing resources from multiple alternative locations to satisfy a single request from the application.

### Claim 15 (depends on 8)

The computer readable media of claim 8, wherein receiving a request from an application for one or more resources comprises intercepting a request from the application's ordinary request mechanisms.

### Claim 16

A computing system for providing access to resources to an application, the computing system comprising:
one or more processors;
one or more computer readable media coupled to the one or more processors, wherein the one or more computer readable media comprise computer executable instructions that when executed by one or more of the one or more processors, cause one or more of the one or more processors to perform the following:
receiving a request from an application on a local machine for one or more resources;
determining that the one or more resources are not available on the local machine;
identifying one or more alternative locations where the one or more resources are available;
retrieving the one or more resources from the one or more alternative locations;
storing the one or more resources on the local machine; and
transparently to the application, providing the one or more resources from one or more of the one or more alternative locations.

### Claim 17 (depends on 15)

The computing system of claim 15, wherein, providing the one or more resources from the one or more alternative locations comprises migrating the one or more resources to the local machine.

### Claim 18 (depends on 15)

The computing system of claim 15, providing the one or more resources from the one or more alternative locations comprises repairing an installation of the application at the local machine using the one or more resources from the alternative location.

### Claim 19 (depends on 15)

The computing system of claim 15, further comprising querying one or more of the one or more alternative locations on behalf of the application.

### Claim 20 (depends on 15)

The computing system of claim 15, wherein identifying one or more alternative locations where the one or more resources are available comprises identifying an optimal alternative location and obtaining the one or more resources from the optimal alternative location.
