Data rendering optimization

US9946768B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9946768-B2
Application numberUS-93822910-A
CountryUS
Kind codeB2
Filing dateNov 2, 2010
Priority dateNov 2, 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.

Optimizing data rendering includes, in one embodiment, using templates to express a data request as a set of queries where each query in the set is prioritized based on, among other things, context factors such as capabilities of the requesting device, network factors, and user context. After generating the set of queries, each query in the set of queries is then executed to progressively populate the template with the requested data. As the queries are executing, the templates are progressively rendered.

First claim

Opening claim text (preview).

What is claimed is: 1. A data rendering system, comprising: one or more one or more computer-readable storage devices; one or more processors communicatively coupled to the one or more computer-readable storage devices; a request analysis module stored in the one or more computer-readable storage devices and executable by the one or more processors to receive a data request from an application of a client device, the data request including an object identifier identifying an object of a database, a template identifying properties of the object, and a context factor; a query module stored in the one or more computer-readable storage devices and executable by the one or more processors to formulate queries operable to populate the template with values corresponding to at least one of the properties identified in the template, the formulated queries executed according to a prioritization based at least in part on the context factor, wherein the values associated with the data request are fetched and rendered in an order that varies in response to different context factors such that: values are fetched and rendered in a first order for a first data request from a first client device associated with a first context factor; and values are fetched and rendered in a second order, different than the first order, for a second data request from a second client device associated with a second context factor that is different than the first context factor, wherein the second data request and the first data request correspond to a same object of the database; a fetch module to fetch the values from a content server for each query in the set of queries; and a template population module to populate the template with the values fetched from the content server for each query in the set of queries. 2. The system of claim 1 , wherein the query module is further configured to: further prioritize the formulated queries based at least in part on an additional context factor. 3. The system of claim 1 , wherein the template dictates the prioritization of the formulated queries. 4. The system of claim 1 , wherein the template population module is configured to progressively populate the template with the fetched values by populating a first portion of the template with a first portion of the fetched values, communicate at least the populated first portion of the template to the client device for rendering, populate a second portion of the template with a second portion of the fetched values, and communicate at least the populated second portion of the template to the client device for rendering. 5. The system of claim 1 , wherein the system includes the application stored in the one or more computer-readable storage devices. 6. A method, comprising: under control of one or more processors configured with executable instructions: receiving a data request from an application of a client device, the data request including an object identifier identifying an object of a database and a template identifying properties for the object; receiving a prioritization factor; formulating a set of queries operable to populate the template with values corresponding to at least one of the properties identified in the template, the set of queries executed according to a prioritization based at least in part on the prioritization factor, such that: a first sequence of queries is formulated for a first data request that is received from a first client device based at least in part on the first client device being associated with a first prioritization factor; and a second sequence of queries, that is different than the first sequence of queries, is formulated for a second data request that is received from a second client device based at least in part on the second client device being associated with a second prioritization factor that is different than the first prioritization factor, wherein the first data request and the second data request correspond to a same object of the database; executing the set of queries to progressively populate the template with the values; and communicating the template to the client device. 7. The method of claim 6 , wherein the executing the set of queries includes, for each query in the set of queries: making a fetch call against a content server to fetch values for at least one of the properties identified in the template; and populating the template with the values fetched. 8. The method of claim 6 , wherein the template is part of a collection of templates created at design time or downloaded from a server by the application after design time. 9. The method of claim 6 , wherein individual queries of the set of queries comprise a call to a content server. 10. The method of claim 6 , wherein at least one query of the set of queries comprises a batch call to fetch values corresponding to at least one of the properties identified in the template for two or more objects identified in the object identifier. 11. The method of claim 6 , further comprising: receiving an update request from the application of the client device, the update request including a rendered template and a target template, the rendered template having a subset of properties listed in the target template; comparing the rendered template with the target template to determine new properties as being properties that are unique to the target template; fetching new values for at least one of the new properties; populating the target template with the new values; and communicating the target template to the client device. 12. The method of claim 6 , further comprising: receiving an update request from the application of the client device, the update request including a rendered template and a target template, the target template having a subset of properties listed in the rendered template; comparing the rendered template with the target template to determine excess properties as being properties that are unique to the rendered template; removing at least one of the excess properties from the rendered template; and communicating the rendered template to the client device. 13. The method of claim 6 , further comprising: further prioritizing the set of queries based on an additional prioritization factor.

Assignees

Inventors

Classifications

  • Query execution · CPC title

  • G06F16/248Primary

    Presentation of query results · CPC title

  • Browsing; Visualisation therefor (for navigating the web G06F16/954; browsing optimisation for the web G06F16/957) · CPC title

  • G06F16/26Primary

    Visual data mining; Browsing structured data · CPC title

  • Templates · 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 US9946768B2 cover?
Optimizing data rendering includes, in one embodiment, using templates to express a data request as a set of queries where each query in the set is prioritized based on, among other things, context factors such as capabilities of the requesting device, network factors, and user context. After generating the set of queries, each query in the set of queries is then executed to progressively popul…
Who is the assignee on this patent?
Giambalvo Daniel, Kawell Leonard M, Sullivan Timothy R, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F16/248. 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).