Exposing server functions to browser code

US9946581B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9946581-B2
Application numberUS-97193410-A
CountryUS
Kind codeB2
Filing dateDec 17, 2010
Priority dateDec 17, 2010
Publication dateApr 17, 2018
Grant dateApr 17, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The exposing of a server function to a browser. From the browser's perspective, the browser submits a request for a web page to a web server, the web page being one of multiple web pages in a web application offered by the web server. The web server responds to the request by, for at least one of the server functions, formulating a corresponding script language function that defines a matching name and parameter set of the server side function. The script language function has a body that, when executed, serializes at least the name and parameter set of the server side function. The web server then provides the web page code and the corresponding script language function to the browser. The browser may then calls the server side function via the script language function.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product comprising one or more computer storage devices having thereon computer-executable instructions that are structured such that, when executed by one or more processors of a web server, cause the web server to perform a method for the web server to expose a server side function to a browser, the method comprising: receiving a request for a web page in a web application, the web application comprising at least one server side function; in response to the request for the web page, for the at least one server side function of the web application, a constructor at the server determining a name, order, and type for each parameter the server side function expects, the constructor generating a corresponding script language function for execution in a receiving browser, the script language function defining a corresponding name and parameter set of the server side function such that each parameter of the script language function maps to a corresponding parameter of the server side function, the script language function having a body that, when executed, serializes the full name and full parameter set of the server side function and communicates a function call to the server so that the server side function is called at the server; marking the generated corresponding script language function to be cached by the receiving browser to enable the generated script language function to be callable from another web page in the web application; and responding to the web page request with the requested web page and the generated corresponding script language function. 2. The computer program product in accordance with claim 1 , wherein the computer-executable instructions are further structured such that, when executed by the one or more processors, the web server is further caused to perform the following for the at least one server side function: an act of receiving a request to call the server side function, the request to call being generated as a result of a browser executing the body of the corresponding script language function, the request to call including the name and parameter set of the server side function; an act of using the request to formulate a parameter list; and an act of executing the server side function using the parameter list. 3. The computer program product in accordance with claim 2 , wherein the request to call is honored across multiple web pages of a plurality of web pages in the web application. 4. The computer program product in accordance with claim 2 , wherein the request to call is honored across all of a plurality of web pages in the web application. 5. The computer program product in accordance with claim 2 , wherein the body of the corresponding script language function also serializes a protection token of the server side function, wherein the computer-executable instructions are further structured such that, when executed by the one or more processors, the web server is further caused to perform the following: an act of validating the protection token. 6. The computer program product in accordance with claim 2 , wherein the computer-executable instructions are further structured such that, when executed by the one or more processors, the web server is further caused to perform the following: an act of returning results of the execution of the parameter list. 7. The computer program product in accordance with claim 1 , wherein the script language function is a first script language function, and the server side function is a first server side function, wherein the computer-executable instructions are further structured such that, when executed by the one or more processors, the web server is further caused to perform the following in response to the request for the web page: an act of formulating a corresponding second script language function that defines a matching name and parameter set of a second server side function, the second script language function having a body that, when executed, serializes at least the name and parameter set of the second server side function; and an act of responding to the web page request also with the second script language function. 8. The computer program product in accordance with claim 7 , wherein the computer-executable instructions are further structured such that, when executed by the one or more processors, the web server is further caused to perform the following in response to receiving a request to call the second server side function, the request to call the second server side function being generated as a result of the browser executing the body of the second script language function, the request to call the second server side function including the name and parameter set of the second server side function: an act of using the request to call the second server side function to formulate a parameter list for the second server side function; and an act of executing the second server side function using the parameter list for the second server side function. 9. The computer program product in accordance with claim 1 , wherein the body includes a function call to a library function that, when executed, serializes at least the name and parameter set of the server side function. 10. The computer program product in accordance with claim 1 , wherein the body of the corresponding script language function also serializes at protection token of the server side function. 11. A method for a browser to execute a server function, the method performed by executing computer executable instructions on one or more computer processors, the method comprising: submitting a request to a server for a web page in a web application; receiving a response to the request, the response including the requested web page and a script language function for execution in the browser, the script language function received from the server defining a corresponding name and full parameter set of a server side function such that each parameter of the script language function maps to a corresponding parameter of the server side function, the script language function having a body that, when executed, serializes the full name and full parameter set of the server side function and communicates a function call including the full name and full parameter set of the server side function to the server to cause the server side function to be called at the server; and caching the received script language function such that the script language function can be called in the browser to invoke the server side function. 12. The method in accordance with claim 11 , further comprising: an act of executing the script language function. 13. The method in accordance with claim 12 , further comprising: an act of providing a parameter set to the executing script language function, thereby causing the name and parameter set of the server side function to be serialized in the form of a request to call the server side function. 14. The method in accordance with claim 13 , further comprising: an act of receiving results of the execution of the server side function that was executed in response to the request to call the server side function. 15. The method in accordance with claim 11 , wherein the request to call is honored within part of the web application. 16. The method in accordance with claim 11 , wherein the request to call is honored within all of the web application. 17. The method in accordance with claim 11 , wherein the body of the corresponding script language function also serialize

Assignees

Inventors

Classifications

  • G06F9/54Primary

    Interprogram communication · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9946581B2 cover?
The exposing of a server function to a browser. From the browser's perspective, the browser submits a request for a web page to a web server, the web page being one of multiple web pages in a web application offered by the web server. The web server responds to the request by, for at least one of the server functions, formulating a corresponding script language function that defines a matching …
Who is the assignee on this patent?
Ahuja Vikas, Blomquist Brian Charles, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/54. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 17 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).