IP Library Patent Application 11503460
Patent Application
App. No. 11/503,460

Host computer I/O filter re-directing potentially conflicting I/O commands from instantiations of legacy application

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 None
App. No.
11/503,460
Abstract

A host computing device has multiple instantiated copies of a legacy application. Each copy may issue a data request to access data at an absolute location common to all of the copies. To respond to the data request from a particular copy, it is determined that the absolute location of the data request has a redirection device specifying an alternate location, and the data request is dishonored. A unique location is determined from the alternate location and a unique ID of the particular copy of the legacy application, and the data request is re-issued to access the data at the unique location. Data requests from different copies of the legacy application are thus directed to different unique locations.

Claims (44)

1 . A method with regard to a host computing device having a plurality of instantiated copies of a legacy application thereon, each copy of the legacy application being in a differing workspace and having a unique ID associated therewith, each copy of the legacy application at least potentially issuing a data request to open a file at an absolute location of the host common to all of the copies of the legacy application at the host, the method for responding to the data request from a particular copy of the legacy application having a particular unique ID and comprising:

determining that the absolute location of the data request has a redirection device corresponding thereto, the redirection device specifying an alternate location of the host that is to be employed instead of the absolute location;

dishonoring the data request based on the redirection device;

determining a unique location of the host based on the alternate location of the redirection device and the particular unique ID of the particular copy of the legacy application; and

re-issuing the data request to open the file at the unique location of the host,

whereby for each different instantiated copy of the legacy application at the host, data requests therefrom are not directed to the same absolute location but instead to the unique location that corresponds to the copy.

2 . The method of claim 1 comprising:

generating a first I/O request corresponding to the data request at an I/O manager, the first I/O request including an identification of the file and the absolute location thereof from the data request;

receiving the generated first I/O request at a file system and determining at the file system that the absolute location of the received first I/O request has a redirection device corresponding thereto, the redirection device specifying an alternate location of the host that is to be employed instead of the absolute location;

dishonoring the received first I/O request at the file system based on the redirection device corresponding to the absolute location of the received first I/O request, and returning a redirection response including the alternate location of the redirection device;

receiving the returned redirection response at a fanning filter, identifying at the fanning filter the alternate location in the received redirection response, and also identifying the particular unique ID of the particular copy of the legacy application that issued the data request;

determining at the fanning filter a unique location of the host based on the identified alternate location and the identified unique ID, and passing the determined unique location to the I/O manager as a request to ignore the first I/O request and instead generate a second I/O request based on the first I/O request; and

generating at the I/O manager the second I/O request to include the identification of the file and the unique location;

whereby for each different instantiated copy of the legacy application at the host, data requests therefrom are not directed to the same absolute location but instead to the unique location that corresponds to the copy.

3 . The method of claim 2 comprising determining at the fanning filter the unique location as a branch of the identified alternate location, the branch having the identified unique ID as the name thereof.

4 . The method of claim 2 further comprising receiving the generated second I/O request at the file system and determining at the file system that the unique location of the received second I/O request does not have any redirection device corresponding thereto, and based thereon honoring the received second I/O request at the file system by opening the file at the unique location of the host as specified in the second I/O request and returning a handle to the opened file at the unique location to the particular copy of the legacy application.

5 . The method of claim 4 further comprising the particular copy of the application employing the handle to access the file at the unique location.

6 . The method of claim 1 comprising determining the unique location as a branch of the identified alternate location, the branch having the identified unique ID as the name thereof.

7 . The method of claim 1 further comprising receiving the re-issued data request and determining that the unique location of the re-issued data request does not have any redirection device corresponding thereto, and based thereon honoring the re-issued data request by opening the file at the unique location of the host as specified in the re-issued data request and returning a handle to the opened file at the unique location to the particular copy of the legacy application.

8 . The method of claim 7 further comprising the particular copy of the application employing the handle to access the file at the unique location.

9 . The method of claim 1 comprising altering the requested location of the file from the absolute location to the unique location without notifying the particular copy of the legacy application of such alteration.

10 . The method of claim 1 comprising determining that the absolute location of the data request has a redirection device corresponding thereto, the redirection device being selected from a reparse point attached to the absolute location and redirection information corresponding to the absolute location as obtained from a conversion table.

11 . A method with regard to a host computing device having a plurality of instantiated copies of a legacy application thereon, each copy of the legacy application being in a differing workspace and having a unique ID associated therewith, each copy of the legacy application at least potentially issuing a data request to access data at an absolute location of the host common to all of the copies of the legacy application at the host, the method for responding to the data request from a particular copy of the legacy application having a particular unique ID and comprising:

determining that the absolute location of the data request has a redirection device corresponding thereto, the redirection device specifying an alternate location of the host that is to be employed instead of the absolute location;

dishonoring the data request based on the redirection device;

determining a unique location of the host based on the alternate location of the redirection device and the particular unique ID of the particular copy of the legacy application; and

re-issuing the data request to access the data at the unique location of the host,

whereby for each different instantiated copy of the legacy application at the host, data requests therefrom are not directed to the same absolute location but instead to the unique location that corresponds to the copy.

12 . The method of claim 11 comprising:

generating a first I/O request corresponding to the data request at an I/O manager, the first I/O request including an identification of the data and the absolute location thereof from the data request;

receiving the generated first I/O request at a data access system and determining at the data access system that the absolute location of the received first I/O request has a redirection device corresponding thereto, the redirection device specifying an alternate location of the host that is to be employed instead of the absolute location;

dishonoring the received first I/O request at the data access system based on the redirection device corresponding to the absolute location of the received first I/O request, and returning a redirection response including the alternate location of the redirection device;

receiving the returned redirection response at a fanning filter, identifying at the fanning filter the alternate location in the received redirection response, and also identifying the particular unique ID of the particular copy of the legacy application that issued the data request;

determining at the fanning filter a unique location of the host based on the identified alternate location and the identified unique ID, and passing the determined unique location to the I/O manager as a request to ignore the first I/O request and instead generate a second I/O request based on the first I/O request; and

generating at the I/O manager the second I/O request to include the identification of the data and the unique location;

whereby for each different instantiated copy of the legacy application at the host, data requests therefrom are not directed to the same absolute location but instead to the unique location that corresponds to the copy.

13 . The method of claim 12 comprising determining at the fanning filter the unique location as a branch of the identified alternate location, the branch having the identified unique ID as the name thereof.

14 . The method of claim 12 further comprising receiving the generated second I/O request at the data access system and determining at the data access system that the unique location of the received second I/O request does not have any redirection device corresponding thereto, and based thereon honoring the received second I/O request at the data access system by opening access to the data at the unique location of the host as specified in the second I/O request and returning a handle to the data at the unique location to the particular copy of the legacy application.

15 . The method of claim 14 further comprising the particular copy of the application employing the handle to access the data at the unique location.

16 . The method of claim 11 comprising determining the unique location as a branch of the identified alternate location, the branch having the identified unique ID as the name thereof.

17 . The method of claim 11 further comprising receiving the re-issued data request and determining that the unique location of the re-issued data request does not have any redirection device corresponding thereto, and based thereon honoring the re-issued data request by opening access to the data at the unique location of the host as specified in the re-issued data request and returning a handle to the data at the unique location to the particular copy of the legacy application.

18 . The method of claim 17 further comprising the particular copy of the application employing the handle to access the file at the unique location.

19 . The method of claim 11 comprising altering the requested location of the data from the absolute location to the unique location without notifying the particular copy of the legacy application of such alteration.

20 . The method of claim 11 wherein the requested data is in one of a data store and a registry, the method comprising determining that the absolute location of the data request has a redirection device corresponding thereto, the redirection device being redirection information corresponding to the absolute location as obtained from a conversion table.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2006
From: CHRISTIANSEN, NEAL ROBERT; RAMANATHAN, VENKATARAMAN; DOSHI, APURVA ASHWIN
To: MICROSOFT CORPORATION
Reel/Frame 018370/0898 →