IP Library Granted Patent US 7,603,669
Granted Patent B2
US 7,603,669 · App. 11/236,313 · Granted Oct 13, 2009

Upgrade and downgrade of data resource components

Assignee: Microsoft Corporation
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,603,669
App. No.
11/236,313
Granted
Oct 13, 2009
Kind
B2
Abstract

Techniques for upgrading and/or downgrading a data resource deployed on a machine from one version to another version are provided. An application component that defines the data resource may provide an up/down tool for use in changing the data resource component from one version to another version. The up/down tool comprises an up/down process and one or more version conversion rules. The up/down process utilizes the provided version conversion rules to determine the ability of the up/down tool to deploy the data resource and to actually deploy the data resource.

Claims (47)

1. A method in a computing system for deploying a target version of a desired data resource on a machine that has currently deployed a current version of the desired data resource, the method comprising:

providing the desired data resource and a first tool, the first tool for deploying a first version of the desired data resource by upgrading from a previous version to the first version or downgrading from the first version to a another version;

invoking the first tool;

under control of the invoked first tool,

determining whether the target version is currently deployed on a machine; and

upon determining that the target version is not currently deployed on the machine,

determining whether the first tool can deploy the target version on the machine based on whether the first tool can upgrade from the current version to the target version or downgrade from the current version to the target version;

upon determining that the first tool can deploy the target version on the machine, deploying the target version on the machine, and persistently saving a copy of the first tool so that the first tool is available to downgrade from the target version to a previous version; and

upon determining that the first tool cannot deploy the target version on the machine, invoking a persistently saved copy of a second tool that was previously used to deploy the current version on the machine, the second tool for deploying a second version by upgrading from a previous version to the second version or downgrading from the second version to a previous version; and

under control of the invoked second tool,

determining whether the second tool can deploy the target version on the machine based on whether the second tool can upgrade from the current version to the target version or downgrade from the current version to the target version; and

upon determining that the second tool can deploy the target version on the machine, deploying the target version of the desired data resource on the machine.

2. The method of claim 1 , wherein the first tool determines whether it can deploy the desired data resource on the machine by checking for the presence of version conversion rules that can be used to deploy the desired data resource on the machine.

3. The method of claim 1 , wherein the first tool uses version conversion rules provided with the first tool to deploy the desired data resource on the machine.

4. The method of claim 1 , wherein deploying the desired data resource on the machine comprises upgrading a previous version of the desired data resource that is currently deployed on the machine.

5. The method of claim 1 , wherein deploying the desired data resource on the machine comprises downgrading a previous version of the desired data resource that is currently deployed on the machine.

6. The method of claim 1 , wherein deploying the desired data resource on the machine comprises installing the desired data resource on the machine.

7. A method in a computing system for deploying a target version of a desired data resource on a machine currently deployed with a current version of the desired data resource, the method comprising:

invoking a first up/down tool to deploy the target version of the desired data resource on the machine, the first up/down tool provided with a data resource component that corresponds to the desired data resource, the first up/down tool for deploying a first version of the desired data resource by providing conversion rules for upgrading from a previous version to the first version and conversion rules for downgrading from the first version to another version;

under control of the invoked first up/down tool,

determining whether the first up/down tool can deploy the target version on the machine based on whether the first up/down tool can upgrade from the current version to the target version or downgrade from the current version to the target version;

upon determining that the first up/down tool is able to deploy to the target version, deploying the target version of the machine and persistently saving the first up/down tool so that the first up/down tool is available to downgrade from the target version to a previous version; and

upon determining that the first up/down tool is unable to deploy the target version on the machine using either its conversion rules for upgrading or its conversion rules for downgrading,

retrieving from the first up/down tool an indication of the version of the desired data resource; and

invoking a second up/down tool to deploy the desired data resource on the machine, wherein the second up/down tool is provided the indication of the target version of the desired data resource, the second up/down tool having been previously used to deploy the current version on the machine, the second up/down tool for deploying a second version by upgrading from a previous version to the second version or downgrading from the second version to a previous version; and

under control of the invoked second up/down tool,

determining whether the second up/down tool can deploy the target version of the desired data resource on the machine based on whether the second up/down tool can upgrade from the current version to the target version or downgrade from the current version to the target version; and

upon determining that the second up/down tool can deploy the target version on the machine, deploying the target version of the desired data resource on the machine.

8. The method of claim 7 , wherein the desired data resource is a database.

9. The method of claim 7 , wherein the desired data resource is a file tree.

10. One or more computer memories collectively containing computer-executable instructions implementing a method for controlling a computing system to deploy a target version of a desired data resource on a machine that has currently deployed a current version of the desired data resource, the method comprising:

providing the desired data resource and a first tool, the first tool for deploying a first version of the desired data resource by upgrading from a previous version to the first version or downgrading from the first version to a another version;

invoking the first tool;

under control of the invoked first tool,

determining whether the target version is currently deployed on a machine; and

upon determining that the target version is not currently deployed on the machine,

determining whether the first tool can deploy the target version on the machine based on whether the first tool can upgrade from the current version to the target version or downgrade from the current version to the target version;

upon determining that the first tool can deploy the target version on the machine, deploying the target version on the machine, and persistently saving a copy of the first tool so that the first tool is available to downgrade from the target version to a previous version; and

upon determining that the first tool cannot deploy the target version on the machine, invoking a persistently saved copy of a second tool that was previously used to deploy the current version on the machine, the second tool for deploying a second version by upgrading from a previous version to the second version or downgrading from the second version to a previous version; and

under control of the invoked second tool,

determining whether the second tool can deploy the target version on the machine based on whether the second tool can upgrade from the current version to the target version or downgrade from the current version to the target version; and

upon determining that the second tool can deploy the target version on the machine, deploying the target version of the desired data resource on the machine.

11. The one or more computer memories of claim 10 , wherein the first tool determines whether it can deploy the desired data resource on the machine by checking for the presence of version conversion rules that can be used to deploy the desired data resource on the machine.

12. The one or more computer memories of claim 10 , wherein the first tool uses version conversion rules provided with the first tool to deploy the desired data resource on the machine.

13. The one or more computer memories of claim 10 , wherein deploying the desired data resource on the machine comprises upgrading a previous version of the desired data resource that is currently deployed on the machine.

14. The one or more computer memories of claim 10 , wherein deploying the desired data resource on the machine comprises downgrading a previous version of the desired data resource that is currently deployed on the machine.

15. The one or more computer memories of claim 10 , wherein deploying the desired data resource on the machine comprises installing the desired data resource on the machine.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2005
From: CURTIS, PAVEL; SCHUMAKER, ROBERT; NICHOLS, DAVID A.; SOMASHEKAR, ESHWAR; SHIEH, GUO-WEI; GOMBER, PUJA
To: MICROSOFT CORPORATION
Reel/Frame 016821/0269 →
Continuity (1)
Related Publication 20070074204A1 · Mar 29, 2007