IP Library Granted Patent US 8,887,039
Granted Patent B2
US 8,887,039 · App. 11/968,624 · Granted Nov 11, 2014

Web page based program versioning

Inventors: Zhenbin Xu (Sammamish, WA); Alex Mogilevsky (Bellevue, WA); Markus W. Mielke (Redmond, WA)
Assignee: Microsoft Corporation
G06F17/30905
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 8,887,039
App. No.
11/968,624
Granted
Nov 11, 2014
Kind
B2
Abstract

An identification of one of multiple types of Web browsers that a Web page supports, as well as an identification of one of multiple versions of that one type of Web browser that the Web page supports, is obtained. The Web page is displayed using the identified version of the identified Web browser type. A request for an identification of the identified version of the identified Web browser type can also be received from a program, such as a Web page script. In response to the request, an identification of the identified version of the identified Web browser type is being used to display the Web page is returned, and instructions of the program are executed based at least in part on the identified version of the identified Web browser type.

Claims (50)

1. A computing device comprising:

one or more processors; and

one or more computer readable memory devices having stored thereon multiple instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

accessing a Web page;

obtaining, using a Web browser selection module, an identification of one type of multiple types of Web browsers that the Web page supports, the identification of the one type of Web browser being obtained from a server separately from the Web page;

after obtaining the identification of the one type of Web browser, obtaining an identification of each version of multiple versions of the identified one type of Web browser that the Web page supports, the multiple versions of the identified one type of Web browser including:

a first subset of the multiple versions of the one type of Web browser identified as being supported by the Web page and obtained from a server separately from the Web page; and

a second subset of the multiple versions of the one type of Web browser identified as being supported by the Web page and obtained from the Web page;

automatically selecting, using a version selection module, one version of the multiple versions of the identified one type of Web browser that the Web page supports, the one version being selected by at least ignoring the first subset and selecting from the second subset based on conflicts between the first subset and the second subset; and

presenting the Web page using the selected one version of the identified one type of Web browser.

2. A computing device as recited in claim 1 , wherein the multiple instructions comprise a Web browser.

3. A computing device as recited in claim 1 , wherein the selected one version of the identified one type of Web browser comprises a different Web browser type than a currently executing web browser type.

4. A computing device as recited in claim 1 , wherein obtaining the identification of the one type of multiple types of Web browsers and to obtaining the identification of each version of the multiple versions is includes:

obtaining identifications of multiple types of Web browsers and corresponding Web browser versions that the Web page supports;

selecting, from all versions of all Web browser types that the Web page supports, one Web browser version of one Web browser type; and

using the selected one Web browser version of the one Web browser type as the selected one version of the identified one type of Web browser.

5. A computing device as recited in claim 1 , wherein the identification of each version of the multiple versions comprises an identification that a most recent version of the identified type of Web browser that is available on the device is the selected one version.

6. A computing device as recited in claim 1 , wherein the operations further comprise generating a compatible collection object having multiple elements, each of the multiple elements identifying a particular type of Web browser and a corresponding particular version of the Web browser that the Web page supports.

7. A computing device as recited in claim 1 , wherein the operations further comprise:

receiving, from a script included in the Web page, a request for an identification of the identified one type of Web browser and the selected one version; and

returning, to the script, the identification of the identified one type of Web browser and the selected one version.

8. A computing device as recited in claim 7 , wherein returning the identification comprises returning both a Web browser type identifier of the one type of Web browser and a version identifier of the selected one version.

9. A computing device as recited in claim 7 , wherein returning the identification comprises returning a true indication if a Web browser type and corresponding version identified in the request is the identified one type of Web browser and the selected one version, and otherwise to return a false indication.

10. A computing device as recited in claim 1 , wherein the operations further comprise, after the identification of the one type and identification of each version of the multiple versions are obtained, beginning execution of the selected one version of the identified one type of Web browser.

11. A method comprising:

identifying which ones of multiple Web browser versions a Web page supports, the multiple Web browser versions being multiple versions of one or more types of Web browsers and including:

a first subset of the multiple Web browser versions identified as being supported by the Web page and obtained from a server separately from the Web page; and

a second subset of the multiple Web browser versions identified as being supported by the web page and obtained from the Web page;

selecting, based at least in part on which ones of the multiple Web browser versions the Web page supports, a version of a Web browser type, the version of the Web browser type being selected by at least ignoring the first subset of Web browser versions and selecting from the second subset of Web browser versions based on conflicts between the first subset and the second subset; and

displaying the Web page using the selected version of the Web browser type, the selected version of the Web browser type being a different Web browser type than a currently executing Web browser type.

12. A method as recited in claim 11 , the identifying comprising accessing one or more meta tags included in the Web page, each meta tag including an identifier of a Web browser type and corresponding version that the Web page supports.

13. A method as recited in claim 11 , the selecting comprising selecting a most recent version of a Web browser type that is both identified in the Web page and that is included as a version of the Web browser on a device implementing the method.

14. A method as recited in claim 11 , further comprising:

receiving, from a program included in the Web page, a request for an identification of the selected version of the Web browser type; and

returning, to the program, the identification of the selected version of the Web browser type.

15. A method as recited in claim 14 , the program comprising a Web page script obtained from a different server than a server from which the Web page is obtained.

16. A computing device comprising:

one or more processors; and

one or more computer readable memory devices having stored thereon a program that, when executed by the one or more processors, causes the one or more processors to perform operations comprising:

identifying which ones of multiple Web browser versions a Web page supports, the multiple Web browser versions being multiple versions of one or more types of Web browsers and including:

a first subset of the multiple Web browser versions identified as being supported by the Web page and obtained from a server separately from the Web page; and

a second subset of the multiple Web browser versions identified as being supported by the web page and obtained from the Web page;

selecting, based at least in part on which ones of the multiple Web browser versions the Web page supports, a version of a Web browser type, the version of the Web browser type being selected by at least ignoring the first subset of Web browser versions and selecting from the second subset of Web browser versions based on conflicts between the first subset and the second subset; and

displaying the Web page using the selected version of the Web browser type, the selected version of the Web browser type being a different Web browser type than a currently executing Web browser type.

17. A computing device as recited in claim 16 , wherein the operations further comprise accessing one or more meta tags included in the Web page, each meta tag including an identifier of a Web browser type and corresponding version that the Web page supports.

18. A computing device as recited in claim 16 , wherein the operations further comprise selecting a most recent version of a Web browser type that is both identified in the Web page and that is included as a version of the Web browser on a device implementing the method.

19. A computing device as recited in claim 16 , wherein the operations further comprise:

receiving, from a program included in the Web page, a request for an identification of the selected version of the Web browser type; and

returning, to the program, the identification of the selected version of the Web browser type.

20. A computing device as recited in claim 19 , wherein the program comprises a Web page script obtained from a different server than a server from which the Web page is obtained.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2008
From: XU, ZHENBIN; MOGILEVSKY, ALEX; MIELKE, MARKUS W
To: MICROSOFT CORPORATION
Reel/Frame 020310/0197 →
Continuity (1)
Related Publication 20090172519A1 · Jul 2, 2009