throbber
US 6,944,817 B1
`(10) Patent No:
`a2) United States Patent
`Danneels
`(45) Date of Patent:
`Sep. 13, 2005
`
`
`US006944817B1
`
`(54) METHOD AND APPARATUS FOR LOCAL
`GENERATION OF WEB PAGES
`Inventor: Gunner D. Danneels, Beaverton, OR
`(US)
`
`(75)
`
`:
`(73) Assignee:
`
`(*) Notice:
`
`,
`Intel Corporation, Santa Clara, CA
`(US)
`Subject to anydisclaimer, the term of this
`patentis extended or adjusted under 35
`US.C. 154(b) by 203 d
`—
`y
`ays:
`
`(21) Appl. No.: 09/589,535
`(22)
`Filed:
`Jun. 7, 2000
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 08/828,580, filed on Mar.
`31, 1997.
`Int. C1.)eee G06F 17/00; GO6F 17/30
`(ST)
`
`. 715/513; 715/500.1; 707/1;
`(52) U.S. Cl.
`...
`707/10
`(58) Field of Search oo... cee 707/500, 501,
`707/513, 526, 530, 1-6, 100; 709/200,
`201-203, 219, 225-227, 310-312
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`4,885,775 A
`12/1989 Lucas
`etal.
`5,530,852 A
`6/1996 Meske, Jr.
`..... 709/219
`5,727,156 A *
`3/1998 Herr-Hoyman et al.
`oieoe ‘
`Dyi908 “creneonctal seretesessess-corsa
`
`........ 507/501.
`5.987480 A * 11/1999 Donohueet al.
`6,012,070 A *
`1/2000 Cheng etal. ou. 707/505
`6,141,666 A * 10/2000 Tobin oo eee 707/513
`
`6,304,893 BL * 10/2001 Gish voeccccecseseseceeees 707/10
`OTHER PUBLICATIONS
`Laura Lemay, “Chapter 17, Basic Forms”, teach yourself
`WebPublishing with HTML 3.2 in a week, Sams.net Pub-
`lishing, Third Edition, 1996, pp. 463-488.
`Laura Temay, “Chapter 18, Beginning CGIScripting”, teach
`yourself WebPublishing with HTML 3.2 in a week, Sams.net
`Publishing, Third Edition, 1996, pp. 489-517.
`User Guide vol. I, Template Language Extension”, Inter-
`shop Communications, Chapter 4, 1997-1998, pp. 4449.
`User Guide vol. II, “Templates”, Intershop Communica-
`tions, Chapter 5, 1997-1998, pp. 62-169.
`*
`cited by
`i
`cited
`by examiner
`Primary Examiner—Alford W. Kindred
`(74) Attorney, Agent, or Firm—Blakely, Sokoloff, Taylor &
`Zalman LLP
`
`ABSTRACT
`(57)
`A method and apparatus for performing dynamic modifica-
`tion of templates based ona local user profile is provided. A
`documentis received from a server by a client. The docu-
`ment includes one or more placeholders. The placeholders
`mayheset off by escape sequences, for example. The client
`parses the documentto locate the one or more placeholders.
`The client substitutes for the one or more placeholders data
`that is based upon local content stored on the client. The
`local content may bestored in a local userprofile in the form
`of a database ora registry file, for example. The document
`maybe in the form of a generic Hypertext Markup Language
`(IITML)
`template.
`If this is the case,
`the substitution
`includes translating the generic HTML template into an
`HTMLdocumentby replacing the one or more placeholders
`Wilh HTMLexpressions.
`
`9 Claims, 5 Drawing Sheets
`
`CLIENT 308
`
`SERVER 310
`
`
`
`od
`~~ %PLACEHOLDER1%
`
`__[WPLACEHOLDERZ6 ~~~
`322
`
`HTMLTEMPLATE 320
`
`
`
`
`
`Ll
`
`
`
`TAILORED OUTPUT
`325
`
`Zynga Ex. 1008,p. 1
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1008, p. 1
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Sep. 13, 2005
`
`Sheet 1 of 5
`
`US 6,944,817 B1
`
`INTERNET 130
`
`SERVER110
`
`
`CLIENT 105
`
`BROWSER
`
`TAILORED OUTPUT
`170
`
`
`
`FIG. 1
`(PRIOR ART)
`
`Zynga Ex. 1008, p. 2
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1008, p. 2
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Sep. 13, 2005
`
`Sheet 2 of 5
`
`US 6,944,817 B1
`
`AYXOWAW
`
`sng
`
`LO
`
`AINOGV3Y
`
`
`YOSSA00Nd
`
`C0e
`
`Zynga Ex. 1008, p. 3
`Zynga v.
`IGT
`IPR2022-00199
`
`Zynga Ex. 1008, p. 3
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Sep. 13, 2005
`
`Sheet 3 of 5
`
`US 6,944,817 B1
`
`CLIENT 305
`
`BROWSER
`330
`
`
`
`
`HELPER
`FILTER
`340
`
`| HTTP
`
`LOCAL
`USER
`PROFILE
`350
`
`321
`
`
`
`~~— %PLACEHOLDER1%
`~~
`
`%PLACEHOLDER2% ~~~
`
`
`
`322
`
`HTML TEMPLATE 320
`
`
`
`
`
`
`
`TAILORED QUTFUT
`325
`
`FIG. 3
`
`Zynga Ex. 1008, p. 4
`Zyngav. IGT
`IPR2022-00199
`
`Zynga Ex. 1008, p. 4
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Sep. 13, 2005
`
`Sheet 4 of 5
`
`US 6,944,817 B1
`
`CLIENT 105
`
`SERVER 110
`
`REQUEST
`
`410
`
`
`HTML FORM
`
`
`STOCK QUOTES
`
`NUMBER PURCHASE
`TICKER
`SHARES
`PRICE
`
`
`CJ LIC4
`
`[C1 CI C4
`
`
`
`
`HTML FORM SUBMISSION
`
`420
`
`PORTFOLIO VALUE
`
`
`HTML DOCUMENT
`
`STOCKCURRENT NUMBER CURRENTPURCHASE (GAIN!
`SHARES VALUE=PRICE
`
`
`
`CLIENT 305
`
`REQUEST
`
`FIG. 4A
`(PRIOR ART)
`
`SERVER 310
`
`w STOCKGUOTES
`HTML FORM
`
`
`[__] C_]
`TicxeR
`
`
`
`
` HTML FORM SUBMISSION
`
`
`
` PORTFOLIO VALUE
`HTML TEMPLATE
`
`
`SHARES VALUE 189)
`STOCKCURRENTNUMBERCURRENThia (GAl
`
`INFORMATION
`460
`
`FIG. 4B
`
`Zynga Ex. 1008, p. 5
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1008, p. 5
` Zynga v. IGT
` IPR2022-00199
`
`

`

`U.S. Patent
`
`Sep. 13, 2005
`
`Sheet 5 of 5
`
`US 6,944,817 B1
`
`
`
`DISPLAY ATEMPLATE
`ONACLIENT
`
`
`REQUESTA
`DOCUMENT FROMA
`SERVER
`
` 510
`
`
`
`
`
`
`RECEIVEA GENERIC
`TEMPLATE FROM
`THE SERVER
`
`920
`
`530
`
`DISPLAY THE
`oO
`
`RESULTING
`DOCUMENT
`
`FIG. 5
`
`Zynga Ex. 1008, p. 6
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1008, p. 6
` Zynga v. IGT
` IPR2022-00199
`
`

`

`US 6,944,817 B1
`
`1
`METHOD AND APPARATUS FOR LOCAL
`GENERATION OF WEB PAGES
`
`RELATED APPLICATIONS
`
`The present application is a continuation application of
`application No. 08/828,580 filed Mar. 31, 1997, entitled
`“METHOD AND APPARATUS FOR LOCAL GENERA-
`TION OF WEB PAGES”,and assignedto the assignee of the
`present invention.
`FIELD OF THE INVENTION
`
`The invention relates generally to the communication of
`documents from servers to clients. More specifically,
`the
`invention relates to a method and apparatus for local trans-
`lation of templates transmitted by a server.
`BACKGROUND OF THE INVENTION
`
`The architecture of the World Wide Web (the Web)
`follows a conventional client-server model. The terms “cli-
`ent” and “server” are used to refer to a computer’s general
`role as a requester ofdata (the client) or providerof data (the
`server). Web clients and Web servers communicate using a
`protocol such as Hypertext Transfer Protocol (HTTP). In the
`Web environment, Web browsers reside on clients and Web
`documents (pages)
`reside on servers. The client-server
`model is used to communicate information between clients
`
`and servers. Web servers are coupled to the Internet and
`respond to document requests from Web clients. When a
`user selects a document by submitting its Uniform Resource
`Locator (URL), a Web browser, such as Netscape Navigator
`opens a connection to a server andinitiates a request(e.g.,
`an IITTP get) for the document. The server delivers the
`requested document, typically in the form of a static text
`document coded in a standard markup language such as
`Hypertext Markup Language (HTML). The document is
`static in the sense that it exists in a constant state and each
`user that requests the document will see more or less the
`same content
`(subject
`to differences in browser
`functionality).
`Currently, when an HTML documentneeds to be dynami-
`cally modified for a particular user,
`the Web server will
`solicit required data from the user by way of an HTML form.
`Uponreceipt of the required data, the Web server performs
`the customization of the requested HTML document. HTML
`files are typically dynamically generated/modified by pro-
`grams residing on Webservers called CGI scripts. Common
`GatewayInterface (CGI)is a simple protocolthatfacilitates
`communication of information entered into HTML formsto
`
`CGIscripts. CGI scripts are commonly usedto access legacy
`information systems such as existing documents or data-
`bases. For example, a CGI script might query a database
`using the information from an HTMLform and output the
`results of the query to the clicnt. In other instances, CGI
`scripts may simply insert the information provided in the
`HTMLformdirectly into a requested HTML document.
`This conventional method of customizing HTML docu-
`ments for a particular useris illustrated by FIG. 1. In FIG.
`1, a client 105 is coupled to a server 110 throughthe Internet
`130. The client communicates with the server 110 via a
`browser 125 executing on the client 105. The server 110
`includes an HTTP interface 115 for recognizing and pro-
`cessing HTTP requests and a Common Gateway Interface
`(CGD) script 120 for processing information from HTML
`form 149.
`
`10
`
`15
`
`20
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`ment representing HTML form 149. The browser 125
`receives the encoded HTML document and renders HTML
`form 149 on the display (not shown). The HTMI. form 149
`includes two text entry fields 146 and 147 and a submit
`button 148. After the local user has completed HTML form
`149 and selected the submit button 148, the values entered
`into text fields 146 and 147 are transmitted by the browser
`125 to the server 110. Upon receiving the values for text
`fields 146 and 147, the server 110 executes CGI script 120
`which dynamically gencratcs output, typically representing
`an HTML document, based upon the values received. The
`output of CGIscript 120 is received by the browser 125 and
`displayed in the form of a tailored output 170. In this
`manner, the server 110 tailors a documentfor a particular
`user.
`
`The current use of HTML forms and CGIscriptsto tailor
`HTMLdocumentsis inefficient and undesirable under many
`circumstances. or example, to accommodate the current
`method of tailoring HTML documents,
`large amounts of
`data must sometimes be transmitted from the client to the
`server. Often the very same information is required to
`customize various pages of the Web, thus requiring the user
`to continually retype such information. Also, it should be
`appreciated that Web servers are optimized for transferring
`files rather than running CGI scripts. Moreover, a user may
`not want to transmit certain private information such as the
`user’s name, social security number, account numbers, and
`other sensitive information over the Internet.
`
`is desirable to provide a
`it
`In light of the foregoing,
`mechanism that allows the client to dynamically modify the
`content of an HTML document locally based upon infor-
`mation stored on the client system. It is further desirable to
`provide a mechanism for incorporating private information
`into an HTML documentreceived from a remote server
`
`the user having to risk transmitting the private
`without
`information through the Internet to the remote server.
`
`SUMMARYOF THE INVENTION
`
`A method and apparatus are described for performing,
`dynamic modification of templates based on a local user
`profile. A documentis received from a server by a client. The
`document includes one or more placeholders. The client
`parses the documentto locate the one or more placeholders.
`The client substitutes for the one or more placeholders data
`that is based upon local content stored on the client.
`According to another aspect of the present invention, the
`documentis a generic Hypertext Markup Language (HTML)
`template. The substitution includes translating the generic
`HTMLtemplate into an HTML documentby replacing the
`one or more placeholders with HTML expressions.
`One advantage of using templatcs is the load on the
`server’s central processing unit can be reduced by allowing
`clients to perform some of the dynamic modification cur-
`rently performed by servers.
`Other features and advantages of the present invention
`will be apparent from the accompanying drawings and from
`the detailed description which follows.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention is illustrated by way of example,
`and not by way of limitation, in the figures of the accom-
`panying drawings and in which like reference numerals refer
`to similar elements and in which:
`
`In this example, when the client 105 sends a request for
`a document, the server transmits an encoded HTML docu-
`
`FIG. 1 illustrates a prior mechanism for tailoring Web
`pages for a particular user.
`
`Zynga Ex. 1008,p. 7
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1008, p. 7
` Zynga v. IGT
` IPR2022-00199
`
`

`

`US 6,944,817 B1
`
`3
`FIG. 2 is an example of a typical computer system upon
`which one embodiment of the present
`invention can be
`implemented.
`FIG. 3 ilustrates a mechanism which provides for local
`generation of Web pages by a client according to one
`embodimentof the present invention.
`FIG. 4Aillustrates information passing that is required for
`the prior Web page tailoring method.
`FIG. 4B illustrates how private information can be
`dynamically added to an HTMLtemplate by a client accord-
`ing to one embodiment of the present invention.
`FIG. 5 is a flow diagram illustrating a method of display-
`ing a template on a client according to one embodiment of
`the present invention.
`DETAILED DESCRIPTION
`
`A method and apparatus for dynamic modification of
`templates based on a local user profile is described. In the
`following description,
`for the purposes of explanation,
`numerous specific details are set forth in order to provide a
`thorough understanding of the present invention.It will be
`apparent, however, to one skilled in the art that the present
`invention may be practiced without some of these specific
`details.
`In other
`instances, well-known structures and
`devices are shown in block diagram form.
`Hardware Overview
`
`Referring to FIG. 2, a computer system is shown as 200.
`The computer system 200 represents an exemplary client
`system upon which one embodimentof the present invention
`can be implemented.
`Computer system 200 comprises a bus or other commu-
`nication means 201 for communicating information, and a
`processing, means 202 coupled with bus 201 for processing
`information. Computer system 200 further comprises a
`random access memory (RAM) or other dynamic storage
`device 204 (referred to as main memory), coupledto bus 201
`for storing information and instructions to be executed by
`processor 202. Main memory 204 also may be used for
`storing temporary variables or other intermediate informa-
`tion during execution of instructions by processor 202.
`Computer system 200 also comprises a read only memory
`(ROM)and/orotherstatic storage device 206 coupled to bus
`201 for storing static information and instructions for pro-
`cessor 202. Data storage device 207 is coupled to bus 201 for
`storing information and instructions.
`A data storage device 207 such as a magnetic disk or
`optical disc and its corresponding drive can be coupled to
`computcr system 200. Computer system 200 can also be
`coupled via bus 201 to a display device 221, such as a
`cathode ray tube (CRT), for displaying information to a
`computer user. An alphanumeric input device 222, including
`alphanumeric and otherkeys,is typically coupled to bus 201
`for communicating information and commandselections to
`processor 202. Another type of user input device is cursor
`control 223, such as a mouse, a trackball, or cursor direction
`keys for communicating direction information and com-
`mandselections to processor 202 and for controlling cursor
`movementon display 221. Alternatively, other input devices
`such as a stylus or pen can be used to interact with the
`display. Another device which mayoptionally be coupled to
`bus 201 is a hard copy device 224 which may be used for
`printing instructions, data or other information on a medium
`such as paper, film, or similar types of media.
`A communication device 225 is also coupled to bus 201
`for accessing a remote server via the Internet, for example.
`
`15
`
`20
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`The communication device 225 may include a conventional
`modem or any of a number of commercially available
`networking, peripheral devices such as those used for cou-
`pling to an Ethernet, token ring, or wide area networks.
`The present invention is related to the use of computer
`system 200 for dynamically modifying a template received
`from a server based upon a user profile stored in main
`memory 204 or on the data storage device 207. In one
`embodiment, as computer system 200 executes a program
`such as a Web browser, the processor 202 accesses data
`stored in a detailed local user profile on data storage device
`207 to facilitate modification of an HTMLtemplate received
`from a Webserver.
`
`Local Generation of Web Pages
`
`FIG. 3 illustrates a mechanism which provides for local
`generation of Web pages by a client according to one
`embodiment of the present invention. In this embodiment,
`whenclient 305 receives a file having a file format of type
`“template,” described below,
`the client translates the file
`using a local user profile 350 to generate a tailored output
`325.
`
`Server 310 is a computer system such as a personal
`computer or a workstation. The server’s geographic prox-
`imity to client 305 is immaterial so long as a means of
`communication is provided between the server 310 and the
`client 305. For example, server 310 may be a remate Web
`server accessible to client 305 via the Internet or server 310
`
`may be a node in a local or wide area network which
`includes client 305. Server 310 stores a generic HTML
`template 320 which is appropriately parameterized so as to
`be applicable to all users. In this example, HTML template
`320 includes two placcholders, placcholder 1 321 and place-
`holder 2 322. After the client 305 replaces placeholders 321
`and 322 with local content,
`the tailored output 325 is
`displayed. While it should be apparent, it is worthy of note
`that in generating an HTML document from an HTML
`template, the client can replace the placeholders with any
`valid HTML expression.
`Similar to server 310, client 305 may also be a general
`purpose computer system or a workstation. Client 305 is
`shown exccuting a browser 330 and a helper filter 340.
`Browser 330 represents a Web browser, such as Netscape or
`Mosaic, that is capable of interfacing with external helper
`applications.
`Whenan application such as a Web browser encounters a
`file format that cannot be read byits built-in capabilities,it
`is commonfor the application to pass the file to an external
`helper application so that
`the file can be processed or
`translated into a form recognizable by the application. While
`Web browsers typically have built-in capability to read
`HTML-formatted documents as well as other graphic file
`formats such as GIF and JPEG,interpretation of other file
`formats sometimes requires external helper applications.
`External helper applications are commonly used for audio
`and video file formats, for example. To accommodate file
`formats that require helper applications, browsers maintain
`a mapping offile formats to helper applications. The map-
`ping may be based upon Multipurpose Internet Mail Exten-
`sions (MIME)types or based uponfile extensions (e.g., a
`“ zip” extension suggests the file is compressed).
`In one embodiment, browser 330 associates the file for-
`mat of template files with an external helper application such
`as helper filter 340. Helper filter 340 is configured to
`translate template files such as HTMT. template 320, into a
`form recognizable by browser 330. This translation and the
`
`Zynga Ex. 1008, p. 8
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1008, p. 8
` Zynga v. IGT
` IPR2022-00199
`
`

`

`US 6,944,817 B1
`
`=>
`
`form of HTML template 320 will be discussed further below.
`Importantly, while in this embodimentthe helper filer 340 is
`shownas separate from the browser 330, it will be appre-
`ciated that the helper filter 340 need not be an external
`application. Thus,in alternative embodiments, the function-
`ality of helperfilter 340 can be incorporated into the browser
`330.
`
`Local user profile 350 is preferably a detailed user profile
`containing all information the user would like an application
`to have access to for template processing. In an example
`discussed below, investment portfolio information is stored
`in a local user profile. The investment portfolio information
`may include shares, purchase prices, ticker symbols, and
`other information relevant to evaluating a portfolio’s per-
`formance. In any event, the local user profile 350 should
`include at least data commonly used for tailoring HTML
`documentsto particular users such as the local user’s name,
`address, age, electronic mail (email) address, and phone
`numbers. In a computer system running Windows 95™, the
`local user profile 350 might be included within the Win-
`dows™registry file. However, the local user profile 350 is
`not limited to such a file. Rather, the local user profile 350
`can be maintained in a local database or any otherfile so
`long as helperfilter 340 is configured appropriately so as to
`find it. In any event, in the simplest case, the helper filter 340
`retrieves information from the local user profile 350 and
`substitutes such information for placeholders embedded in
`template files transmitted by servers such as server 310.
`More complex substitutions will be discussed further below.
`At this point, it is instructive to further describe template >
`files.
`
`20
`
`25
`
`Templates
`
`Templates may bestatic files residing onthe server or they
`may be dynamically generated by CGI scripts. As will be
`illustrated below, one advantage of using templates is the
`load onthe server’s CPU can be reduced by allowing clients
`to perform some of the dynamic modification currently
`performed by servers.
`A template file may be thought of as a generic template
`that is applicable to all users. Templates are generic in the
`sense that they include placcholders identifying locations in
`the file in which information specific to a particular user is
`to be substituted. Templates may additionally contain boil-
`erplate that is appropriate for all users. For example, an
`HTMLtemplate such as HTMLtemplate 320 might contain
`standard encoded HTMLdata relevant to all users and one
`or more placeholders to be replaced by information based on
`local user content. When the HTMLtemplate is received by
`a client such as client 305, the placeholders are used by
`helper filter 340 to retrieve local content from the local user
`profile 350.
`Preferably, the naming convention used for placeholders
`allows data in the local user profile 350 to be uniquely
`identified and retrieved. For example, a placeholder may be
`a logical name which can be used for a database lookup.
`Additionally, to facilitate parsing of placeholders, the place-
`holders canbe set off by an escape sequence suchas the “%”
`symbols as depicted in HIML template 320. It will be
`recognized that numerous other ways of marking placehold-
`ers are possible.
`Further, a hierarchy of placeholders may be established.
`Placeholders can be atoms or operations that operate on
`atomsarbitrarily complex. Some placeholders, set off by a
`first type of escape sequence(e.g., “%”), may be directly
`replaced by local content from a local user profile. However,
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`others, set off by a second type of escape sequence(e.g.,
`“@”), may require further local evaluation before substitu-
`tion is performed. It is appreciated that numerous other ways
`of implementing placeholders are possible.
`Finally, applications running on clicnts need to be able to
`distinguish templates from traditional HTML documents
`and other file formats. Therefore,
`template files can be
`identified by a file extension such as “.tem” and/or by an
`experimental MIME type accompanying the file transfer
`such as “application/x-filter.” In this manner, applications
`receiving templates will recognize them as such and can
`process them accordingly with the assistance of a helper
`application such as helperfilter 340, for example.
`
`Investment Portfolio Evaluation Example
`
`FIG. 4Aillustrates information passing that is required for
`the prior Web page tailoring method. Initially, a request is
`madeby the client 105 for an HTML form from the server
`110. The server 110 transmits HTML form 410to the client.
`
`In this example, HTML form 410 is for the purpose of
`retrieving from the server 110 current share priccs of par-
`ticular stocks in the local user’s portfolio. In order to receive
`an accurate portfolio valuation, the local user is required to
`submit at least the ticker symbols of the stocks owned and
`the corresponding numberof shares for each ticker symbol.
`To get further information such as the net
`increase or
`decrease in value for a particular stock, additional informa-
`tion such as the purchase price, and any commission paid for
`each stock might be required. At any rate, after the necessary
`information is submitted to the server, the server incorpo-
`rates the information into an HTML documentsuch as 420.
`This scenario illustrates some of the disadvantages of server-
`side customization of Web pages. For cxample, the server
`110 must perform all the customization of HTML document
`420 locally using server CPU resources. Also, the client 105
`must potentially transmit a significant amount of informa-
`tion to the server 110 some of which is simply transmitted
`back to the client within HTML document 420. Further, the
`local user may consider some of this information to be
`private.
`
`Investment Portfolio Evaluation Example Without
`Transmission of Private Information
`
`FIG. 4B illustrates how private information can be
`dynamically added to an HTML template by the client
`according, to one embodimentof the present invention.It is
`desirable to offload servers when possible. Therefore,
`generally, when data is locally available on a client or
`readily capable of determination by the client,
`the data
`should not be transmitted to a server simply to have it
`incorporated into an IITML documentbythe server. Rather,
`from the perspective of the server, a more efficient approach
`is to have such data incorporated by the client. Local
`generation of an HTML documentis particularly desirable
`from the user’s perspective when private information is
`involved. For example,
`in the current portfolio valuation
`example, it is acceptable to transmit information such as the
`ticker symbolsthat will be used to access a databaseresiding
`on the server. However, there is no need to transmit private
`information such as the purchase price and numberof shares
`for each stock to the server, and it is inefficient to do so.
`As above, the client 305 initially requests a document
`from the server 310. In response to the client request, server
`310 transmits HTML form 430 to client 305. Again, the
`HTMI. form received is for the purpose of evaluating the
`local user’s stock portfolio. Importantly, however, in this
`
`Zynga Ex. 1008, p. 9
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1008, p. 9
` Zynga v. IGT
` IPR2022-00199
`
`

`

`US 6,944,817 B1
`
`7
`example, the user need not provide what may be considered
`private information to the server 310. After receiving the
`ticker values, the server 310 provides an HTMT. template to
`the client 305 rather than a fully tailored HTML document
`as above. The HTMLtemplate includes placeholders for
`numberof shares(e.g., % #_shares_1%, % #_shares_2%,
`etc.) and placeholders for purchase prices (e.g., %
`purchase_price 1%, % purchase_price_2%, etc.). The
`HTMLtemplate further includes placeholders that will
`require local cvaluation such as the current valuations of
`particular stocks (e.g., @ % #_shares_1%*12.50@). The
`helper filter 340 replaces the placeholders with the appro-
`priate private information 460 from the local user profile
`350, performs any required calculations, and produces
`HTML document 440 for rendering by the browser 330.
`Advantageously, in the manner described above, a local user
`need not risk exposure of private information and server
`CPU resources can be conserved.
`
`Exemplary Method of Displaying a Template
`
`20
`
`8
`of ordinary skill in the art will appreciate that the present
`invention is not limited to any particular form of template.
`For example,
`the method and apparatus of the present
`invention are not limited to HTML templates. Rather, the
`disclosed method and apparatus is useful for incorporating
`local user content into other templates as well. For example,
`the assignees of the present invention anticipate templates
`will be useful in connection with the transmission of bulk
`email to several users. Using templates the email greeting
`mayhave the form, “Dear % uscrname %,” for example. It
`will be evident
`that various further modifications and
`changes may be made without departing from the broader
`spirit and scope of the invention. The specification and
`drawings are, accordingly, to be regarded in an illustrative
`rather than a restrictive sense.
`Whatis claimedis:
`
`1. A method performed by a Web client comprising:
`sending a Transmission Control Protocol/Internet Proto-
`col (TCP/IP) request for a Hypertext Markup Language
`(HTML) document to a remote Web server;
`receiving the requested HTML document using TCP/IP,
`the HTML documentincluding one or more placehold-
`ers;
`
`parsing the received HTML documentfor the one or more
`placeholders;
`creating a customized HTML documentby replacing the
`placcholders in the HTML document using local con-
`tent on the Web client; and
`displaying the customized HTML document using a Web
`browser executing on the Web client.
`2. The method of claim 1, wherein creating the custom-
`ized HTML document comprises, for each of the one or
`more placeholders, replacing the placeholder with local
`content directly if the placcholdcr is of a first type, and
`evaluating the placeholder using local content to determine
`a result and replacing the placeholder with the result if the
`placeholder is of a second type.
`3. The method of claim 1, wherein the local content
`comprises a user profile.
`4. Amachine-readable medium containing data represent-
`ing instructions that, when executed by a processor of a Web
`client, cause the Web client to perform operations compris-
`ing:
`sending a Transmission Control ProtocolMInternet Proto-
`col (TCP/IP) request for a Hypertext Markup Language
`(HTML) document to a remote Web server;
`receiving the requested HTML document using TCP/IP,
`the HTML documentincluding one or more placehold-
`ers;
`
`Zynga Ex. 1008, p. 10
`Zynga v. IGT
`IPR2022-00199
`
`FIG. 5 is a flow diagram illustrating a method of display-
`ing a template on a client according to one embodimentof
`the present invention. At step 510, a client such as client 305
`requests a document from a server such as server 310. In
`response to the request,
`the server transmits a generic
`template such as HTML tcmplate 320 to the clicnt.
`Alternatively,
`the server may send an unsolicited generic
`template. The unsolicited generic template may be an email
`message, for example.
`At step 520, the client receives the generic template from
`the server. If the server also transmitted information iden-
`tifving the file format of the generic template such as a
`MIMEtype,the clicnt can determine the appropriate method
`of processing the template based upon the MIMEtype. For
`example, the application receiving the template may pass the
`template to a helper application such as helper filter 340 if
`the receiving application cannotinterpret the templateitself.
`In any event, the generic template includes one or more
`placeholders, as described above. The placeholders occupy
`positions in the template where substitution of local content
`is required. At step 530, the templateis locally translated by
`the client. This translation includes parsing the template to
`locate placeholders,
`retrieving local
`information corre-
`sponding to each particular placeholder from a storage area
`on the client such as local user profile 350, and substituuing
`the local information for the one or more placeholders in the
`template. In an alternative embodiment, the helperfiler 340
`additionally includes an evaluator. The evaluator is capable
`of performing simple calculations and calculations as com-
`plex as spreadsheet functions. ‘The evaluator is useful for
`parsing the received HTML documentfor the one or more
`processing placeholders that include arithmetic operations
`placeholders;
`involving local content, for example. In this embodiment,
`the translation processing discussed above further includes
`creating a customized HTML documentby replacing the
`evaluation of such placeholdersprior to the substitution step.
`placeholders in the HTML document using local con-
`tent on the Webclient; and
`At step 540,
`the resulting translated document is dis-
`played bythe client. For example, if the resulting translated
`displaying the customized HTML document using a Web
`document is an HTML document, a browser such as browser
`browser executing on the Webclient.
`330 can interpret and render the document onto a local
`5. The machine-readable medium of claim 4, wherein
`display. It should be noted that the output of the helper filter
`creating the customized HTML document comprises, for
`340 is not limited to HTML documents. The helper filter 340
`each of the one or more placeholders, replacing the place-
`may output other recognizable document formats such as
`holder with local content directly if the placeholder is of a
`that of an excel spreadsheet.
`first type, and evalua

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket