← Back to Patent Explorer
US7013351B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Template architecture and rendering engine for web browser access to databases

Assignee: Microsoft Technology Licensing LLC
•
Filing: 2001-01-31
•
Granted: 2006-03-14
•
Expires: 2021-01-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods, systems, computer program products, and data structures for displaying data on a web browser interface where the data in its native format is not displayable on a web browser interface. A network server receives a request for content from a network device where the request includes a request for data that is not displayable on a web browser. The network server identifies a template, which will be used to transform non-displayable data into displayable content. The network server accesses non-displayable data that is stored on a data server and processes the accessed non-displayable data according to the identified template in order to transform it into displayable content. A template may include HTML code as well as customized tags. The customized tags are consumed by a rendering engine, which executes certain functions to modify the data, making it displayable content. Once transformed, displayable content is sent to the network device.

Inventors

  • 👤 Shawn D. Bracewell
  • 👤 Troy Mayhan
  • 👤 Russell L. Simpson
  • 👤 Puhazholi Vetrivel
  • 👤 Ward Beattie

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 09:06
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/90; G06F16/95; G06F16/958; G06F16/972; G06F40/00; G06F40/10; G06F40/166; G06F40/186; H; H04; H04L; H04L67/00; H04L67/01; H04L67/02; H04L67/50; H04L67/75; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 398 words
In a network that includes one or more network devices that have Web browsers implemented thereon, the network devices being network connectable to a network server, the network also including a data server that is in communication with the network server, wherein the network server sends displayable content to the network devices, and wherein the one or more network devices may request data that is stored in the data server even though the data server itself is not configured to present the data as displayable content, a method for rendering data from the data server to create displayable content, comprising: an act of the network server receiving a request for displayable content from a Web browser at a network device; an act of identifying a template for the displayable content based on bandwidth available to send the displayable content to the network device, the template including one or more displayable portions that are natively compatible for viewing with the Web browser, one or more generic representations of template constants that are generic across a plurality of languages, one or more tokens representing non-displayable data that is stored on the data server and is not natively compatible for viewing with the Web browser, one or more functions for converting the non-displayable data into a format that is natively compatible for viewing with the Web browser, and one or more functions for providing the template constant in an appropriate language for the user of the Web browser; an act of retrieving the non-displayable data from the data server, the data server storing the non-displayable data in any of a plurality of non-displayable formats; an act of the network server using the identified template to construct the displayable content by performing the following acts: an act of including displayable portions in the displayable content as specified in the identified template; an act of converting the non-displayable data retrieved from the data server that stores the non-displayable data in any of the plurality of non-Web formats, by using the one or more functions included within the identified template, into a format that is natively compatible for viewing with the Web browser; an act of including the template constant in the appropriate language; and an act of including the converted data in the displayable content as specified in the identified template; and an act of sending the displayable content to the network device.
Claim 2
Dependent Claim 398 words
In a network that includes one or more network devices that have Web browsers implemented thereon, the network devices being network connectable to a network server, the network also including a data server that is in communication with the network server, wherein the network server sends displayable content to the network devices, and wherein the one or more network devices may request data that is stored in the data server even though the data server itself is not configured to present the data as displayable content, a method for rendering data from the data server to create displayable content, comprising: an act of the network server receiving a request for displayable content from a Web browser at a network device; an act of identifying a template for the displayable content based on bandwidth available to send the displayable content to the network device, the template including one or more displayable portions that are natively compatible for viewing with the Web browser, one or more generic representations of template constants that are generic across a plurality of languages, one or more tokens representing non-displayable data that is stored on the data server and is not natively compatible for viewing with the Web browser, one or more functions for converting the non-displayable data into a format that is natively compatible for viewing with the Web browser, and one or more functions for providing the template constant in an appropriate language for the user of the Web browser; an act of retrieving the non-displayable data from the data server, the data server storing the non-displayable data in any of a plurality of non-displayable formats; an act of the network server using the identified template to construct the displayable content by performing the following acts: an act of including displayable portions in the displayable content as specified in the identified template; an act of converting the non-displayable data retrieved from the data server that stores the non-displayable data in any of the plurality of non-Web formats, by using the one or more functions included within the identified template, into a format that is natively compatible for viewing with the Web browser; an act of including the template constant in the appropriate language; and an act of including the converted data in the displayable content as specified in the identified template; and an act of sending the displayable content to the network device.
Claim 3
Dependent Claim 19 words
The method as recited in claim 1 , wherein the displayable content comprises a HyperText Markup Language (HTML) document.
Claim 4
Dependent Claim 15 words
The method as recited in claim 1 , wherein the displayable portions comprise HTML tags.
Claim 5
Dependent Claim 39 words
The method as recited in claim 1 , wherein the request for displayable content comprises information allowing the network server to identify the web browser type that will be used on the network device to display the displayable content.
Claim 6
Dependent Claim 35 words
The method as recited in claim 2 , wherein the request for displayable content comprises information expressly identifying the Web browser type that will be used on the network device to display the displayable content.
Claim 7
Dependent Claim 46 words
The method as recited in claim 1 , wherein the request for displayable content comprises language information identifying the appropriate language to be used in the displayable content, the method further comprising the following: an act of identifying the appropriate language based on the language information.
Claim 8
Dependent Claim 36 words
The method as recited in claim 4 , wherein the language information comprises an express language indication, the method further comprising the following: an act of identifying the appropriate language based on the express language indication.
Claim 9
Dependent Claim 19 words
The method as recited in claim 1 , wherein the network server and the data server are physically integrated.
Claim 10
Dependent Claim 19 words
The method as recited in claim 1 , wherein the network server and the data server are physically separate.
Claim 11
Dependent Claim 39 words
The method as recited in claim 1 , wherein the act of the network server receiving a request for displayable content comprises the following: an act of the network server receiving a request for displayable content via network messaging.
Claim 12
Dependent Claim 46 words
The method as recited in claim 1 , wherein the act of the network server receiving a request for displayable content comprises the following: an act of the network server receiving a request for displayable content via receiving a call to an Application Program Interface (API).
Claim 13
Dependent Claim 18 words
A method in accordance with claim 1 , wherein the plurality of languages includes English, Mandarin, and French.
Claim 14
Dependent Claim 342 words
In a network that includes one or more network devices that have Web browsers implemented thereon, the network devices being network connectable to a network server, the network also including a data server that is in communication with the network server, wherein the network server sends displayable content to the network devices, and wherein the one or more network devices may request data that is stored in the data server even though the data server itself is not configured to present the data as displayable content, a method for rendering data from the data server to create displayable content, comprising: an act of the network server receiving a request for displayable content from a network device; an act of identifying a template for the displayable content based on bandwidth available to send the displayable content to the network device, the template including one or more displayable portions that are natively compatible for viewing with the Web browser, one or more generic representations of template constants that are generic across a plurality of languages, one or more tokens representing non-displayable data that is stored on the data server and is not natively compatible for viewing with the Web browser, and one or more functions for converting the non-displayable data into a format that is natively compatible fore viewing with the Web browser, and one or more functions for providing the template constant in an appropriate language for the user of the Web browser; an act of retrieving the non-displayable data from the data server, the data server storing the non-displayable data in any of a plurality of non-displayable formats; a step for constructing the displayable content so as to represent both the displayable portions and the non-Web data stored in any of the plurality of non-Web formats at the data server by using the one or more functions included within the identified template to convert the non-Web data into a format that is natively compatible for viewing with the Web browser; and an act of sending the displayable content to the network device.
Claim 15
Dependent Claim 342 words
In a network that includes one or more network devices that have Web browsers implemented thereon, the network devices being network connectable to a network server, the network also including a data server that is in communication with the network server, wherein the network server sends displayable content to the network devices, and wherein the one or more network devices may request data that is stored in the data server even though the data server itself is not configured to present the data as displayable content, a method for rendering data from the data server to create displayable content, comprising: an act of the network server receiving a request for displayable content from a network device; an act of identifying a template for the displayable content based on bandwidth available to send the displayable content to the network device, the template including one or more displayable portions that are natively compatible for viewing with the Web browser, one or more generic representations of template constants that are generic across a plurality of languages, one or more tokens representing non-displayable data that is stored on the data server and is not natively compatible for viewing with the Web browser, and one or more functions for converting the non-displayable data into a format that is natively compatible fore viewing with the Web browser, and one or more functions for providing the template constant in an appropriate language for the user of the Web browser; an act of retrieving the non-displayable data from the data server, the data server storing the non-displayable data in any of a plurality of non-displayable formats; a step for constructing the displayable content so as to represent both the displayable portions and the non-Web data stored in any of the plurality of non-Web formats at the data server by using the one or more functions included within the identified template to convert the non-Web data into a format that is natively compatible for viewing with the Web browser; and an act of sending the displayable content to the network device.
Claim 16
Dependent Claim 28 words
The method as recited in claim 10 , wherein the request for displayable content comprises language information that identifies the language to be used in the displayable content.
Claim 17
Dependent Claim 19 words
The method as recited in claim 10 , wherein the displayable content comprises a HyperText Markup Language (HTML) document.
Claim 18
Dependent Claim 15 words
The method as recited in claim 10 , wherein the displayable portions comprise HTML tags.
Claim 19
Dependent Claim 39 words
The method as recited in claim 10 , wherein the request for displayable content comprises information allowing the network server to identify the web browser type that will be used on the network device to display the displayable content.
Claim 20
Dependent Claim 35 words
The method as recited in claim 14 , wherein the request for displayable content comprises information expressly identifying the Web browser type that will be used on the network device to display the displayable content.
Claim 21
Dependent Claim 46 words
The method as recited in claim 10 , wherein the request for displayable content comprises language information identifying the appropriate language to be used in the displayable content, the method further comprising the following: an act of identifying the appropriate language based on the language information.
Claim 22
Dependent Claim 36 words
The method as recited in claim 19 , wherein the language information comprises an express language indication, the method further comprising the following: an act of identifying the appropriate language based on the express language indication.
Claim 23
Dependent Claim 19 words
The method as recited in claim 10 , wherein the network server and the data server are physically integrated.
Claim 24
Dependent Claim 19 words
The method as recited in claim 10 , wherein the network server and the data server are physically separate.
Claim 25
Dependent Claim 39 words
The method as recited in claim 10 , wherein the act of the network server receiving a request for displayable content comprises the following: an act of the network server receiving a request for displayable content via network messaging.
Claim 26
Dependent Claim 46 words
The method as recited in claim 10 , wherein the act of the network server receiving a request for displayable content comprises the following: an act of the network server receiving a request for displayable content via receiving a call to an Application Program Interface (API).
Claim 27
Dependent Claim 422 words
A computer program product for implementing, in a network that includes one or more network devices that have Web browsers implemented thereon, the network devices being network connectable to a network server, the network also including a data server that is in communication with the network server, wherein the network server sends displayable content to the network devices, and wherein the one or more network devices may request data that is stored in the data server even though the data server itself is not configured to present the data as displayable content, a method for rendering data from the data server to create displayable content, the computer program product comprising: a computer-readable medium carrying computer-readable instructions, that when executed at the network server, cause the network server to perform the following: an act of receiving a request for content from a network device from a Web browser at a network device; an act of identifying a template for the requested content based on bandwidth available to send the displayable content to the network device, the template including displayable content that is natively compatible for viewing with the Web browser, one or more generic representations of template constants that are generic across a plurality of languages, one or more tokens representing non-displayable data that is stored on the data server and is not natively compatible for viewing with the Web browser, one or more functions for converting the non-displayable data into a format that is natively compatible for viewing with the Web browser, and one or more functions for providing the template constant in an appropriate language for the user of the Web browser; an act of accessing the non-displayable data from the data server, the data server storing the non-displayable data in any of a plurality of non-displayable formats; an act of following the identified template for the requested content by performing the following acts: an act of including displayable content in the requested content as specified in the identified template; an act of converting the non-displayable data accessed from the data server that stores the non-displayable data in any of the plurality of non-displayable formats with the one or more functions specified by the identified template into a format that is natively compatible for viewing with the Web browser; an act of including the template constant in the appropriate language; and an act of including the converted non-displayable data in the requested content as specified in the identified template; and an act of sending the requested content to the network device.
Claim 28
Dependent Claim 422 words
A computer program product for implementing, in a network that includes one or more network devices that have Web browsers implemented thereon, the network devices being network connectable to a network server, the network also including a data server that is in communication with the network server, wherein the network server sends displayable content to the network devices, and wherein the one or more network devices may request data that is stored in the data server even though the data server itself is not configured to present the data as displayable content, a method for rendering data from the data server to create displayable content, the computer program product comprising: a computer-readable medium carrying computer-readable instructions, that when executed at the network server, cause the network server to perform the following: an act of receiving a request for content from a network device from a Web browser at a network device; an act of identifying a template for the requested content based on bandwidth available to send the displayable content to the network device, the template including displayable content that is natively compatible for viewing with the Web browser, one or more generic representations of template constants that are generic across a plurality of languages, one or more tokens representing non-displayable data that is stored on the data server and is not natively compatible for viewing with the Web browser, one or more functions for converting the non-displayable data into a format that is natively compatible for viewing with the Web browser, and one or more functions for providing the template constant in an appropriate language for the user of the Web browser; an act of accessing the non-displayable data from the data server, the data server storing the non-displayable data in any of a plurality of non-displayable formats; an act of following the identified template for the requested content by performing the following acts: an act of including displayable content in the requested content as specified in the identified template; an act of converting the non-displayable data accessed from the data server that stores the non-displayable data in any of the plurality of non-displayable formats with the one or more functions specified by the identified template into a format that is natively compatible for viewing with the Web browser; an act of including the template constant in the appropriate language; and an act of including the converted non-displayable data in the requested content as specified in the identified template; and an act of sending the requested content to the network device.
Claim 29
Dependent Claim 17 words
The computer program product as recited in claim 25 , wherein the computer-readable instructions are non-displayable data.
Claim 30
Dependent Claim 21 words
The computer program product as recited in claim 19 , wherein the computer-readable instructions are not accessible to the network device.
Claim 31
Dependent Claim 35 words
The computer program product as recited in claim 19 , wherein the request for content includes an indication of the appropriate language to be used when the requested content is sent to the network device.
Claim 32
Dependent Claim 49 words
The computer program product as recited in claim 19 , wherein template identification is performed independently of the appropriate language to be used when requested content is sent to the network device and wherein an identified template may send data to the network device in more then one language.
Claim 33
Dependent Claim 22 words
The computer program product as recited in claim 19 , wherein the network server and the network device are the same device.
Claim 34
Dependent Claim 22 words
The computer program product as recited in claim 19 , wherein the network server and the data server are the same device.
Claim 35
Dependent Claim 19 words
The computer program product as recited in claim 19 , wherein the computer-readable medium is a physical storage device.
Claim 36
Dependent Claim 343 words
A computer-readable medium for use in a network that includes one or more network devices that have Web browsers implemented thereon, the network devices being network connectable to a network server, the network also including a data server that is in communication with the network server, wherein the network server sends displayable content to the network devices, and wherein the one or more network devices may request data that is stored in the data server even though the data server itself is not configured to present the data as displayable content, the computer-readable medium storing data for access by a program module being executed on the network server, the computer-readable medium comprising: a data structure stored on the computer-readable medium, the data structure including compiled template data representing a template for displayable content, the template being identified based on bandwidth available to send the displayable content to a network device, the compiled template data to be used by the program module, data structure comprising: a data dictionary data object that identifies non-displayable data to be accessed from the data server that stores the non-displayable data in any of a plurality of non-displayable formats, wherein the non-displayable data is not natively compatible for viewing with a particular Web browser; a template constant data object that identifies one or more constants associated with the template that are generic across a plurality of languages; a functions data object that identifies one or more functions associated with the template for converting the non-displayable data that is stored in any of the plurality of non-displayable formats at the data server and is not natively compatible for viewing with a particular Web browser into a format that is natively compatible for viewing with the particular Web browser; a token information table data object that identifies locations in the template associated with the data dictionary data object, the template constant data object, and the functions data object; and an HTML data object that identifies content associated with the template that is natively compatible for viewing with the particular Web browser.
Claim 37
Dependent Claim 343 words
A computer-readable medium for use in a network that includes one or more network devices that have Web browsers implemented thereon, the network devices being network connectable to a network server, the network also including a data server that is in communication with the network server, wherein the network server sends displayable content to the network devices, and wherein the one or more network devices may request data that is stored in the data server even though the data server itself is not configured to present the data as displayable content, the computer-readable medium storing data for access by a program module being executed on the network server, the computer-readable medium comprising: a data structure stored on the computer-readable medium, the data structure including compiled template data representing a template for displayable content, the template being identified based on bandwidth available to send the displayable content to a network device, the compiled template data to be used by the program module, data structure comprising: a data dictionary data object that identifies non-displayable data to be accessed from the data server that stores the non-displayable data in any of a plurality of non-displayable formats, wherein the non-displayable data is not natively compatible for viewing with a particular Web browser; a template constant data object that identifies one or more constants associated with the template that are generic across a plurality of languages; a functions data object that identifies one or more functions associated with the template for converting the non-displayable data that is stored in any of the plurality of non-displayable formats at the data server and is not natively compatible for viewing with a particular Web browser into a format that is natively compatible for viewing with the particular Web browser; a token information table data object that identifies locations in the template associated with the data dictionary data object, the template constant data object, and the functions data object; and an HTML data object that identifies content associated with the template that is natively compatible for viewing with the particular Web browser.
Claim 38
Dependent Claim 26 words
A computer readable medium as recited in claim 27 , wherein the functions data object identifies one or more functions that are stored as non-displayable data.
Claim 39
Dependent Claim 30 words
A computer readable medium as recited in claim 27 , wherein the functions data object identifies one or more functions that are inaccessible from the one or more network devices.

References Cited (Backward Citations)

US5706434A Cited
US5987480A Cited
US6539420B1 Cited
US20010034771A1 Cited
US20030191817A1 Cited
US20020035579A1 Cited
US6687736B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2009-03-13 2009-09-12 2010-03-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2013-03-13 2013-09-12 2014-03-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2017-03-13 2017-09-12 2018-03-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag