IP Library Granted Patent US 10,445,159
Granted Patent B2
US 10,445,159 · App. 15/253,405 · Granted Oct 15, 2019

Exposure of remotely invokable method through a webpage to an application outside web browser

Inventor: Andrzej Turski (Redmond, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F9/548G06F9/54G06F9/547G06F16/955G06F16/957G06F2209/541
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 10,445,159
App. No.
15/253,405
Granted
Oct 15, 2019
Kind
B2
Abstract

Web browsing environments are commonly used to facilitate user interaction with data over the Internet. A web browser is a tool used to view and interact with a webpage. A webpage may interface with a web service to provide remote functionality that the webpage does not locally provide. An effective method for specifying and consuming remote functionality that an application invokes outside of the web browser is disclosed herein. A webpage exposes remote functionality (e.g., web service) that a web browser and/or browser extensions may discover through browsing the webpage. A browser extension associated with an application determines whether the application is compatible with the remote functionality. Once a compatible application is determined, it may be executed so as to connect to and invoke the remote functionality outside of the web browser. The application may provide a more robust experience with the remote functionality compared to the web browsing environment.

Claims (74)

1. A method comprising:

receiving, at a web browser, a webpage specifying a invokable method configured to execute outside the webpage provided by the web browser;

receiving a request to invoke the invokable method;

determining an application compatible with the invokable method;

upon determining the compatible application, invoking the application to invoke the method; and

providing a result from the invoked method in the webpage provided by the web browser, the result of the invoked method associated with the functionality of the invoked method executed outside the webpage provided by the web browser.

2. The method of claim 1 , wherein the result comprises a control, an image, a text file, a data stream, a set of executable instructions, or a user interface.

3. The method of claim 1 , the specifying comprising at least one of:

specifying a web service comprising the invokable method;

specifying a webpage address comprising the invokable method;

specifying a server comprising the invokable method;

specifying a security parameter for invoking the invokable method;

specifying a configuration parameter for invoking the invokable method;

specifying a data type provided by the invokable method;

specifying the invokable method within HTML;

specifying the invokable method within a programming language file; or

specifying the invokable method within an XML file.

4. The method of claim 3 , the specifying the invokable method within HTML comprising:

specifying within an HTML header tag.

5. The method of claim 3 , the specifying the invokable method within HTML comprising:

specifying within an HTML body tag.

6. The method of claim 1 , comprising:

specifying an extension associated with a functionality of the invokable method.

7. The method of claim 6 , wherein the web browser does not natively provide the functionality.

8. A system, comprising:

one or more processing units; and

memory comprising instructions that when executed by at least one of the one or more processing units perform operations comprising:

receiving, at a web browser, a webpage specifying a invokable method configured to execute outside the webpage provided by the web browser;

receiving a request to invoke the invokable method;

determining an application compatible with the invokable method;

invoking the invokable method through the compatible application; and

providing a result from the invoked method in the webpage provided by the web browser, wherein a browser extension is utilized to invoke the functionality associated with the invokable method.

9. The system of claim 8 , wherein the result is provided by an application that executes in a desktop environment.

10. The system of claim 8 , the specifying comprising at least one of:

specifying a web service comprising the invokable method;

specifying a webpage address comprising the invokable method;

specifying a server comprising the invokable method;

specifying a security parameter for invoking the invokable method;

specifying a configuration parameter for invoking the invokable method;

specifying a data type provided by the invokable method;

specifying the invokable method within HTML;

specifying the invokable method within a programming language file; or

specifying the invokable method within an XML file.

11. The system of claim 10 , the specifying the invokable method within HTML comprising one or more of:

specifying within an HTML header tag; or

specifying within an HTML body tag.

12. The system of claim 8 , the operations comprising:

specifying a compatible applications list corresponding to the invokable method.

13. The system of claim 8 , the operations comprising:

specifying an extension associated with a functionality of the invokable method.

14. The system of claim 13 , wherein the web browser does not natively provide the functionality of the invokable method.

15. A computer-readable storage medium comprising instructions that when executed perform a method comprising:

receiving, at a web browser, a webpage specifying a invokable method configured to execute outside the webpage provided by the web browser;

receiving a request via the webpage to invoke the invokable method;

determining an application compatible with the invokable method;

upon determining the compatible application, invoking the application to invoke the method; and

providing a result from the invoked method, which was invoked through the compatible application, in the webpage provided by the web browser, the result of the invoked method associated with the functionality of the invoked method executed outside the webpage provided by the web browser.

16. The computer-readable storage medium of claim 15 , the method comprising:

providing a browser extension to execute the compatible application to invoke the invokable method.

17. The computer-readable storage medium of claim 15 , the specifying comprising at least one of:

specifying a web service comprising the invokable method; specifying a webpage address comprising the invokable method;

specifying a server comprising the invokable method;

specifying a security parameter for invoking the invokable method;

specifying a configuration parameter for invoking the invokable method;

specifying a data type provided by the invokable method;

specifying the invokable method within HTML;

specifying the invokable method within a programming language file; or

specifying the invokable method within an XML file.

18. The computer-readable storage medium of claim 17 , the specifying the invokable method within HTML comprising:

specifying within an HTML header tag.

19. The computer-readable storage medium of claim 17 , the specifying the invokable method within HTML comprising:

specifying within an HTML body tag.

20. The computer-readable storage medium of claim 15 , the method comprising:

specifying an extension associated with a functionality of the invokable method.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044850/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043838/0117 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: TURSKI, ANDRZEJ
To: MICROSOFT CORPORATION
Reel/Frame 039616/0129 →
Continuity (4)
Continuation 14457017 · Aug 11, 2014
Continuation 13669141 · Nov 5, 2012
Division 12199814 · Aug 28, 2008
Related Publication 20160371131A1 · Dec 22, 2016