IP Library Granted Patent US 12,580,979
Granted Patent B2
US 12,580,979 · App. 18/945,446 · Granted Mar 17, 2026

Bidirectional mapping between applications and network content

Inventors: Zhaowei Charlie Jiang (Palo Alto, CA); Steven William Macbeth (Redmond, WA); Syed Muhammad Mujahid Hasan (Bellevue, WA); Jacob Sabulsky (Bellevue, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L67/02G06F16/84G06F16/9558G06F16/9577H04L67/51
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 12,580,979
App. No.
18/945,446
Granted
Mar 17, 2026
Kind
B2
Abstract

A bidirectional mapping is established between network content and application programs, based on declarations at both the network content and at the application. Additionally, bidirectional mapping can provide for deep links, which can associate specific network content with a specific presentation of data in an application program. The identification format for such deep links can conform to a predetermined standard or it can be custom implemented according to a format declared either as part of the network content or the application program. The bidirectional mapping is then utilized by a lookup service to provide functionality to a third-party entity. The lookup service can identify, to the entity, application programs associated with network content specified by that entity and network content associated with application programs specified by that entity.

Claims (36)

1 . A computing system comprising:

a processor; and

memory storing instructions that, when executed by the processor, cause the processor to perform acts comprising:

causing a search engine results page (SERP) to be displayed by way of a first application, wherein the SERP comprises one or more links to digital content, wherein the one or more links are mapped to one or more applications that differ from the first application;

receiving an indication that a link of the one or more links has been selected, wherein the link is mapped to a plurality of applications;

selecting a second application from among the plurality of applications based upon a mapping ranking; and

causing digital content associated with the link to be displayed by way of the second application.

2 . The computing system of claim 1 , wherein the mapping ranking is based upon an indicia of user interest for the plurality of applications.

3 . The computing system of claim 2 , wherein the indicia of user interest comprises at least an amount of recorded interactions with an application of the plurality of applications.

4 . The computing system of claim 2 , wherein the indicia of user interest comprises a network traffic metric for an application of the plurality of applications.

5 . The computing system of claim 1 , wherein selecting the second application from among the plurality of applications is additionally based upon at least one of: a computing environment in which the second application can execute, a network path to the second application, or a priority of the second application.

6 . The computing system of claim 1 , wherein the mapping ranking is additionally based upon a manifest file.

7 . The computing system of claim 1 , wherein the first application is executed on a first computing device and the second application is executed on a second computing device.

8 . The computing system of claim 7 , wherein the first computing device is a desktop computing device and the second computing device is a mobile computing device.

9 . The computing system of claim 7 , wherein prior to causing the digital content associated with the link to be displayed by way of the second application, causing the second application to be downloaded and installed at the second computing device.

10 . The computing system of claim 1 , wherein the link is a deep link configured to cause the digital content to be displayed according to one or more predetermined presentation parameters.

11 . A computer-implemented method, the method comprising:

causing a search engine results page (SERP) to be displayed by application, wherein the SERP comprises one or more links to digital content, wherein the one or more links are mapped to one or more applications that differ from the first application;

receiving an indication that a link of the one or more links has been selected, wherein the link is mapped to a plurality of applications;

selecting a second application from among the plurality of applications based upon a mapping ranking; and

causing digital content associated with the link to be displayed by the second application.

12 . The method of claim 11 , wherein the mapping ranking is based upon an indicia of user interest for the plurality of applications.

13 . The method of claim 12 , wherein the indicia of user interest is based upon at least one of an amount of recorded interaction or a network traffic metric for an application of the plurality of applications.

14 . The method of claim 11 , wherein selecting the second application from among the plurality of applications is additionally based upon at least one of: a computing environment in which the second application can execute, a network path to the second application, or a priority of the second application.

15 . The method of claim 11 , wherein the first application is executed on a first computing device and the second application is executed on a second computing device.

16 . The method of claim 15 , wherein prior to causing the digital content associated with the link to be displayed by way of the second application, determining if the second application is installed at the second computing device.

17 . The method of claim 16 , wherein subsequent to determining that the second application is not installed at the second computing device, causing the second application to be downloaded and installed at the second computing device.

18 . A server computing device comprising:

a processor, and

memory storing instructions that, when executed by the processor, cause the processor to perform acts comprising:

causing a search engine results page (SERP) to be displayed by way of a first application executing at a first client computing device, wherein the SERP comprises one or more links to digital content, wherein the one or more links are mapped to one or more applications that differ from the first application;

receiving an indication that a link of the one or more links has been selected, wherein the link is mapped to a plurality of applications;

selecting a second application from among the plurality of applications based upon a mapping ranking; and

causing digital content associated with the link to be displayed by way of the second application.

19 . The server computing device of claim 18 , wherein the second application is executed at the first client computing device.

20 . The server computing device of claim 19 , wherein the second application is executed at a second client computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2024
From: JIANG, ZHAOWEI CHARLIE; MACBETH, STEVEN WILLIAM; HASAN, SYED MUHAMMAD MUJAHID; SABULSKY, JACOB
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 069256/0437 →
Continuity (4)
Continuation 18105785 · Feb 3, 2023
Continuation 15018833 · Feb 8, 2016
Continuation 13470236 · May 11, 2012
Related Publication 20250071167A1 · Feb 27, 2025
References Cited (51)
US 7797450B2 · Xie et al. · 2010 [cited by applicant]
US 8689235B2 · Cookson · 2014 [cited by applicant]
US 8990697B2 · Patel et al. · 2015 [cited by applicant]
US 9195479B2 · Queru et al. · 2015 [cited by applicant]
US 9256697B2 · Jiang · 2016 [cited by examiner]
US 11606412B2 · Jiang et al. · 2023 [cited by applicant]
US 20020078095A1 · Culham · 2002 [cited by applicant]
US 20020083183A1 · Pujare · 2002 [cited by examiner]
US 20020091763A1 · Shah · 2002 [cited by examiner]
US 20020157089A1 · Patel · 2002 [cited by examiner]
US 20030004882A1 · Holler · 2003 [cited by examiner]
US 20040006653A1 · Kamen · 2004 [cited by examiner]
US 20070106455A1 · Fuchs · 2007 [cited by examiner]
US 20080134049A1 · Gupta et al. · 2008 [cited by applicant]
US 20080168038A1 · Fuchs · 2008 [cited by examiner]
US 20080244509A1 · Buchs et al. · 2008 [cited by applicant]
US 20090070388A1 · Kolke et al. · 2009 [cited by applicant]
US 20090282345A1 · Smith et al. · 2009 [cited by applicant]
US 20100083124A1 · Druzgalski · 2010 [cited by examiner]
US 20100250599A1 · Schmidt · 2010 [cited by examiner]
US 20100257192A1 · Fuchs · 2010 [cited by examiner]
US 20110276523A1 · Brdiczka · 2011 [cited by examiner]
US 20120011167A1 · Schmidt · 2012 [cited by applicant]
US 20120079562A1 · Anttila · 2012 [cited by examiner]
US 20120209826A1 · Belimpasakis · 2012 [cited by examiner]
US 20160234285A1 · Jiang · 2016 [cited by examiner]
US 20160234330A1 · Popowitz · 2016 [cited by examiner]
“How to Put the Link on Market App from a Web Page”, Retrieved at «http://bees4honey.com/blog/tutorial/how-to-put-the-link-on-market-app-from-a-web-page/», Retrieved Date: Feb. 23, 2012, pp. 7. [cited by applicant]
“Make your website an iPhone web application”, Retrieved at «http://www.luscarpa.com/development/make-your-website-an-iphone-web-application/», Feb. 23, 2010, pp. 16. [cited by applicant]
“Link to App Store From Your Site”, Retrieved at «http://shaunmackey.com/articles/mobile/link-to-app-store-from-your-site/», Nov. 12, 2010, p. 1. [cited by applicant]
“Office Action for U.S. Appl. No. 13/470,236”, Mailed Date: Dec. 3, 2014, 4 pages. [cited by applicant]
“Response to the Office Action for U.S. Appl. No. 13/470,236”, Filed Date: Mar. 3, 2015, 10 pages. [cited by applicant]
“Final Office Action for U.S. Appl. No. 13/470,236”, Mailed Date: Apr. 22, 2015, 5 pages. [cited by applicant]
“Response to the Final Office Action for U.S. Appl. No. 13/470,236”, Filed Date: Sep. 17, 2015, 11 pages. [cited by applicant]
“Notice of Allowance and Fees Due for U.S. Appl. No. 13/470,236”, Mailed Date: Oct. 2, 2015, 7 pages. [cited by applicant]
“Notice of Allowability for U.S. Appl. No. 13/470,236”, Mailed Date: Oct. 29, 2015, 4 pages. [cited by applicant]
“Preliminary Amendment for U.S. Appl. No. 15/018,833”, Filed Date: Apr. 26, 2016, 8 pages. [cited by applicant]
“Office Action for U.S. Appl. No. 15/018,833”, Mailed Date: Oct. 5, 2018, 16 pages. [cited by applicant]
“Response to the Office Action for U.S. Appl. No. 15/018,833”, Filed Date: Jan. 7, 2019, 9 pages. [cited by applicant]
“Final Office Action for U.S. Appl. No. 15/018,833”, Mailed Date: Mar. 18, 2019, 17 pages. [cited by applicant]
“Notice of Appeal for U.S. Appl. No. 15/018,833”, Filed Date: Jun. 18, 2019, 2 pages. [cited by applicant]
“Pre-Appeal Brief Conference Request for U.S. Appl. No. 15/018,833”, Filed Date: Jun. 18, 2019, 7 pages. [cited by applicant]
“Pre-Appeal Brief Conference Decision for U.S. Appl. No. 15/018,833”, Mailed Date: Jul. 22, 2019, 2 pages. [cited by applicant]
“Appeal Brief for U.S. Appl. No. 15/018,833”, Filed Date: Sep. 23, 2019, 32 pages. [cited by applicant]
“Examiner's Answer to Appeal Brief for U.S. Appl. No. 15/018,833”, Mailed Date: Dec. 9, 2019, 8 pages. [cited by applicant]
“Patent Board Decision for U.S. Appl. No. 15/018,833”, Mailed Date: Jan. 3, 2022, 14 pages. [cited by applicant]
“Amendment Filed with RCE for U.S. Appl. No. 15/018,833”, Filed Date: Mar. 2, 2022, 13 pages. [cited by applicant]
“Notice of Allowance and Fees Due for U.S. Appl. No. 15/018,833”, Mailed Date: Nov. 9, 2022, 10 pages. [cited by applicant]
“Non-Final Office Action for U.S. Appl. No. 18/105,785”, Mailed Date: Sep. 11, 2023, 9 pages. [cited by applicant]
“Response to the Office Action for U.S. Appl. No. 18/105,785”, Filed Date: Mar. 11, 2024, 10 pages. [cited by applicant]
“Notice of Allowance and Fees Due for U.S. Appl. No. 18/105,785”, Mailed Date: Jul. 9, 2024, 9 pages. [cited by applicant]