IP Library Granted Patent US 10,210,260
Granted Patent B2
US 10,210,260 · App. 13/173,313 · Granted Feb 19, 2019

Templates for displaying data

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,210,260
App. No.
13/173,313
Granted
Feb 19, 2019
Kind
B2
Abstract

A client device presents a resource to a user. In order to present the resource, the client device generates and renders one or more presentation strings. The client device generates a presentation string by identifying a template module that corresponds to an content resource object in a dataset downloaded by the client device. The client device then performs a template execution operation on the content resource object. The template module corresponding to the content resource object specifies the template execution operation.

Claims (78)

1. A method comprising:

presenting, by a client device, a first resource to a user, wherein presenting the first resource comprises:

in response to a request for the first resource, receiving:

base resource data, the base resource data comprising a content generation script and a first dataset, the first dataset comprising at least a given content resource object, the content resource object having a content resource object type; and

a first template module, the first template module corresponding to the content resource object type; and

in response to executing the content generation script, causing the first template module to perform a template execution operation on the given content resource object, the template execution operation generating a first presentation string for the given content resource object based on the corresponding content resource object type, wherein the presentation string is a string of characters used to create one or more onscreen features for the first resource, wherein the presentation string generates one or more onscreen fields, the one or more onscreen fields chosen from: a search string field and a filled template field.

2. The method of claim 1 , wherein the first template module comprises computer-executable instructions, execution of the computer-executable instructions in the first template module by the client device causing the client device to perform the template execution operation specified by the first template module.

3. The method of claim 1 ,

wherein the given content resource object belongs to a given content resource object type; and

wherein presenting the first resource further comprises:

downloading a first schema to the client device, the first schema specifying allowable contents for the first dataset, the first schema mapping the given content resource object type to the first template module; and

determining, based on the first schema mapping the given content resource object type to the first template module, that the first template module corresponds to the given content resource object.

4. The method of claim 3 , further comprising:

presenting a second resource, wherein presenting the second resource comprises:

downloading a second dataset, the second dataset comprising at least a second content resource object, the second content resource object belonging to the given content resource object type;

downloading a second schema, the second schema specifying allowable contents for the second dataset, the second schema mapping the given content resource object type to a second template module;

determining, based on the second schema mapping the given content resource object type to the second template module, that the second template module corresponds to the second content resource object;

downloading the second template module to the client device, the second template module specifying a second template execution operation; and

generating a second presentation string by performing the second template execution operation on the second content resource object.

5. The method of claim 3 , further comprising:

presenting a second resource, wherein presenting the second resource comprises:

downloading a second dataset, the second dataset comprising a second content resource object, the second content resource object belonging to the given content resource object type;

downloading a second schema, the second schema specifying allowable content resource object types for the second dataset, the allowable content resource object types for the second dataset being different than the allowable content resource object types for the first dataset, the second schema mapping the given content resource object type to the first template module;

determining, based on the second schema mapping the given content resource object type to the first template module, that the second template module corresponds to the second content resource object; and

generating a second presentation string by performing the template execution operation on the second content resource object.

6. The method of claim 1 ,

wherein the given content resource object contains a child content resource object; and

wherein the method further comprises:

determining that a second template module corresponds to the child content resource object; and

downloading the second template module to the client device; and

wherein generating the first presentation string for the given content resource object comprises:

generating a presentation string for the child content resource object by performing a second template execution operation on the child content resource object, the second template execution operation specified by the second template module; and

including the presentation string for the child content resource object into the first presentation string.

7. The method of claim 6 , wherein generating the first presentation string for the given content resource object further comprises: including a pre-determined string into the first presentation string for the given content resource object.

8. The method of claim 6 , wherein the first presentation string for the given content resource object conforms to a Hypertext Markup Language (HTML).

9. The method of claim 1 , further comprising:

storing the first template module in a cache at the client device; and

presenting a second resource, wherein presenting the second resource comprises:

downloading a second dataset, the second dataset including at least a second content resource object;

determining that the first template module corresponds to the second content resource object;

retrieving the first template module from the cache; and

generating a presentation string for the second content resource object by performing a the template execution operation of the first template module on the given content resource object.

10. The method of claim 1 , wherein the first template module specifies the template execution operation as a set of JavaScript instructions.

11. The method of claim 1 ,

wherein the method further comprises sending a search request to a server system; and

wherein the first content resource object corresponds to a given resource that satisfies a search string in the search request and the second content resource object corresponds to a title of the given resource.

12. The method of claim 1 , wherein presenting the first resource further comprises:

sending a resource request to a server system; and

receiving base resource data in response to the resource request.

13. The method of claim 1 , wherein presenting the first resource further comprises:

sending a resource request to a server system, the resource request requesting a copy of the first resource; and

receiving base resource data from the server system in response to the resource request, the base resource data comprising the first dataset.

14. A computing device that comprises:

a computer readable memory that stores computer-executable instructions; and

a processing system that reads computer-executable instructions from the computer readable memory and executes the computer-executable instructions, execution of the computer-executable instructions by the processing system causing the computing device to:

receive base resource data the base resource data comprising a content generation script and a dataset, the dataset containing a plurality of content resource objects, the plurality of content comprising a first resource object corresponding to a first content resource object type and a second resource object corresponding to a second content resource object type; and

receive a first template module, the first template module corresponding to the first content resource object type;

receive a second template module, the second template module corresponding to the second content resource object type;

in response to executing the content generation script, cause the first template module to perform a first template execution operation on the first content resource object, and cause the second template module to perform a second template execution operation on the second content resource object, wherein the first template execution operation and second template execution operation generate presentation strings based on the first content resource object type and the second content resource object type, wherein the presentation strings are a string of characters used to create one or more onscreen features for the first resource object and second resource object respectively, wherein the presentation string generates one or more onscreen fields, the one or more onscreen fields including a search string field, a first filled template field and a second filled template field; and

present an interface to a user of the computing device by rendering the presentation strings.

15. The computing device of claim 14 , wherein execution of the computer-executable instructions causes the computing device to:

send a resource request to a server system, the resource request requesting the interface.

16. The computing device of claim 14 , wherein the dataset comprises content resource objects in addition to the plurality of content resource objects.

17. The computing device of claim 14 , wherein execution of the computer-executable instructions by the processing system causes the computing device to:

download a schema to the computing device, the schema specifying allowable content resource object types for the dataset, the schema mapping content resource objects types to template modules;

determine, based on the schema, the template modules corresponding to the plurality of content resource objects; and

download the template modules corresponding to the plurality of content resource objects after determining the template modules corresponding to the plurality of content resource objects.

18. The computing device of claim 14 , wherein the dataset is formatted in XML and the presentation strings are formatted in HTML.

19. The computing device of claim 14 , wherein the interface is a webpage.

20. A computer readable memory encoding computer executable instructions that, when executed by at least one processor, perform a method for displaying data, the method comprising:

sending, by a client device, a resource request to a server system, the resource request requesting a copy of a webpage;

receiving, by the client device, base resource data from the server system in response to the resource request, the base resource data comprising:

a content generation script;

a dataset, the dataset containing a plurality of content resource objects, the plurality of content resource objects belonging to a plurality of content resource object types; and

a schema, the schema specifying allowable content resource object types for the dataset;

based on the schema, mapping the content resource object types to the template modules, the template modules corresponding to the plurality of content resource objects;

for each content resource object in the plurality of content resource objects, generating a presentation string for the content resource object by performing a template execution operation of the template module that corresponds to the content resource object based on the content resource object type, wherein the presentation string is a string of characters used to create one or more onscreen features for the content resource object, wherein the presentation string generates one or more onscreen fields, the one or more onscreen fields including a search string field, a first filled template field and a second filled template field; and

rendering the presentation strings to present the webpage.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2011
From: CAMPBELL, JONATHAN THOMAS; CHEN, ZHENGUANG; JACKSON, ANTHONY LAWRENCE; JIANG, PING; KRISHNAMOORTHY, ARUN; LI, BOXIN; LITTLE, CHARLES REEVES, II; SMITH, CHARLES KELLER; TIMM, BRIAN WILLIAM; VIOLINO, ANDREW JOSEPH; YUCETURK, KEREM
To: MICROSOFT CORPORATION
Reel/Frame 026528/0922 →