`(10) Patent No.:
`az United States Patent
`US 6,216,121 B1
` Klassen (45) Date of Patent: Apr. 10, 2001
`
`
`
`(54) WEB PAGE GENERATION WITH
`SUBTEMPLATES DISPLAYING
`INFORMATION FROM AN ELECTRONIC
`POST OFFICE SYSTEM
`
`*
`
`5/2000 Thurlowet al. eee 345/347
`5/2000 Liet ab cece ceeees 709/223
`
`6,057,841 *
`6,067,568 *
`cited b
`cited
`
`.
`by examiner
`
`(75)
`
`Inventor: Christopher Laith Klassen, San Jose,
`CA (US)
`
`(73) Assignee:
`
`International Business Machines
`Corporation, Armonk, NY (US)
`
`Primary Examiner—Hosain T. Alam
`Assistant Examiner—Ella Colbert
`(74) Attorney, Agent, or Firm—Kudirka & Jobse, LLP
`(57)
`ABSTRACT
`
`(*) Notice:
`
`Subject to any disclaimer,the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(56)
`
`References Cited
`
`Disclosed is a system for generating units of information
`from a database maintained in a server. The units of infor-
`mation may be messages and the databasc may be a post
`office system. The server receives a request for units of
`information transmitted from a client computer over a
`network. The server then processes the request for informa-
`(21) Appl. No.: 08/999,026
`tion and generates a template. This template includes code in
`:
`a first computer languape that does hot allow branching,
`(22)
`Filed:
`Dec.29, 1997
`
`(SL) Wnt CU. iecccccssssecsssssesseesassesesuestvsatsesn GO6F 17/30—such as the HyperText Markup Language (HTML),database
`(52) US. CL...
`7107/1; 707/10; 707/501;
`access commands to access the requested units of informa-
`
`709/206; 709/218; 345/356
`OO
`tion in the database, and a subtemplate commandto generate
`(58) Field of Search 0.ceesscceeeeene 707/513, 501,
`contents of a subtemplate file into the template. ‘The sub-
`707/1, 10; 709/206, 218, 204, 203: 705/26;
`template commandis written in a second computer language
`345/356
`providing branching, such as C++, Java, Perl, etc. The
`subtemplate file called by the subtemplate command
`includes code in the first computer language. The server
`processes the template to generate a processed template. In
`U.S, PATENT DOCUMENTS
`processing the template, the server processes the subtem-
`5,727,175 *
`3/1998 Maloneet ale csccossssseseseesen 345/356
`plate commands in the template and generates the contents
`6/1998 Gish css.
`5,768,510 *
`709/203
`of the subtemplate file into the template. The server further
`
`
`5,790,793 *
`8/1998 Higley...
`. 709/218
`processes the contents of the subtemplate file generated into
`
`395/200.33
`5,835,712 * 11/1998 DuFresne
`the template. The server also processes database access
`
`5,850,519 * 12/1998 Vazana ......
`. 709/206
`commandsin the template to access the requested units of
`4/1999 Blinn et alo woe 705/26
`5,897,622 *
`information from the database andinserts the accessed units
`5,903,901 *
`5/1999 Kawakura coveteceeseseaneceseeseeners 707/501
`of information into the template. After processing the
`a,909 white “ a ”
`oe template, the server transmits the processed template to the
`ere :
`
`9/1999 Zerber secu
`“709/202
`5,951,636 *
`Client computer.
`
`
`4/1999 Donohueet al.
`5,987,480 *
`7O7/SO1
`5,987,504 * 11/1999 Togacece 709/206
`20
`
`18 Claims, 9 Drawing Sheets
`
`
`Client Computer 342
`Client Computer 3¢b
`Client Compute: 34c
`
`
`
`
`
`C
`
`\
`
`)4
`
`
`Nail Server 36
`
`
`
`
`
`
`~Browser38
`WebBrowser38
`WebBrowser38
`
`
`Network32
`
`
`
`
`
`
`
`
`
`
`
`
`
`Zynga Ex. 1017, p. 1
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 1
` Zynga v. IGT
` IPR2022-00199
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 1 of 9
`
`US 6,216,121 B1
`
`FIG. 1
`
`
`4
`
`
`UL
`
`Post Office
`System
`
`FIG. 2
`
`
`POP3 Protocol
`18
`
`
`Server
`16
`
`
`
`Zynga Ex. 1017, p. 2
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 2
` Zynga v. IGT
` IPR2022-00199
`
`
`
`U.S. Patent
`
`Apr. 10, 2001
`
`Sheet 2 of 9
`
`US 6,216,121 Bl
`
`Client Computer 34a
`
`
`
`Web Browser38
`
`FIG. 3
`
`
`
`Client Computer 34b
`
`Client Computer 34c¢
`
`Web Browser 38
`
`Web Browser38
`
`Network 32
`
`Mail Server 36
`
`HTTP
`Server
`40
`
`Program
`42
`
`ae
`Post
`Office
`System
`44
`
`
`
`Zynga Ex. 1017, p. 3
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 3
` Zynga v. IGT
` IPR2022-00199
`
`
`
`U.S. Patent
`
`oS
`
`So
`
`aN
`
`js
`
`=po=AN=oO=N\O
`
`er=v=A7
`
`2%-aB—:Sroa—=sa—t
`
`
`aoeBe
`
`Zynga Ex. 1017, p. 4
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 4
` Zynga v. IGT
` IPR2022-00199
`
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 4 of 9
`
`US 6,216,121 B1
`
`sieeehorten!
`
`starts
`
`sareress
`aremsanneieainrnect eckrrenenhes
`ee
`terete
`cateetite
`fecuisneun mri
`
`Sener ener
`stavegatataretane
`sree
`ae
`eatenetaitetSota
`reatearmreentctn’
`i
`eure eRe
`
`sirens
`mimes
`
`Setar
`
`cee gee ee
`
`Zynga Ex. 1017, p. 5
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 5
` Zynga v. IGT
` IPR2022-00199
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 5 of 9
`
`US 6,216,121 B1
`
`FRS. 8
`
`Zynga Ex. 1017, p. 6
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 6
` Zynga v. IGT
` IPR2022-00199
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 6 of 9
`
`US 6,216,121 B1
`
`
`
`Zynga Ex. 1017, p. 7
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 7
` Zynga v. IGT
` IPR2022-00199
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 7 of 9
`
`US 6,216,121 B1
`
`FIG. 8a
`
`</HTML>
`
`
`76
`
`FIG. 8b
`
`</TR>
`
`<TR BGCOLOR="<!!-MSGBACKCOLOR>">
`
`</TD>
`<TD NOWRAP>
`<FONT SIZE="<!!-MSGSMALLFONTSIZE>" COLOR="<!!-TEXTCOLOR>">
`I!-MSGDATE>
`<|— Date received —->
`</FONT>
`</TD>
`<TD NOWRAP>
`<FONT SIZE="<!!|-MSGSMALLFONTSIZE>" COLOR="<!!|-TEXTCOLOR>">
`N-SIZE>
`:
`<!-— Message size -->
`</FONT>
`</TD>
`<TD NOWRAP>
`<FONT SIZE="<!!|-MSGFONTSIZE>" COLOR="<!!-TEXTCOLOR>">
`<B>
`I!-AUTHOR=20> <!-- Author -->
`</B>
`</FONT>
`</TD>
`
`Zynga Ex. 1017, p. 8
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 8
` Zynga v. IGT
` IPR2022-00199
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 8 of 9
`
`US 6,216,121 B1
`
`FIG. 8c
`
`<HTML>
`
`<TR BGCOLOR="<!!-MSGBACKCOLOR>">
`
`</TD>
`<TD NOWRAP>
`<FONTSIZE="<!!-MSGSMALLFONTSIZE>" COLOR="<!!-TEXTCOLOR>">
`10/9/97
`<!-— Date received -->
`</FONT>
`</TD>
`<TD NOWRAP>
`<FONT SIZE="<!!-MSGSMALLFONTSIZE>" COLOR="<!!-TEXTCOLOR>">
`1000
`<!- Message size -->
`</FONT>
`</TD>
`<TD NOWRAP>
`<FONT SIZE="<!!|-MSGFONTSIZE>" COLOR="<!!-TEXTCOLOR>">
`
`Sally Smith
`
`
`
`<TR BGCOLOR="<!!-MSGBACKCOLOR>">
`
`</TD>
`<TD NOWRAP>
`<FONT SIZE="<!!|-MSGSMALLFONTSIZE>" COLOR="<!!-TEXTCOLOR>">
`10/2/97
`<!-- Date received -->
`</FONT>
`</TD>
`<TD NOWRAP>
`<FONTSIZE="<!I-MSGSMALLFONTSIZE>" COLOR="<!!-TEXTCOLOR>">
`
`<!-- Messagesize -->
`</FONT>
`</TD>
`<TD NOWRAP>
`<FONTSIZE="<!!|-MSGFONTSIZE>" COLOR="<!!-TEXTCOLOR=">
`<B>
`
`Zynga Ex. 1017, p. 9
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 9
` Zynga v. IGT
` IPR2022-00199
`
`
`
`U.S. Patent
`
`Apr. 10, 2001
`
`Sheet 9 of 9
`
`US 6,216,121 B1
`
`FIG. 9
`
`104
`
`100
`
`402
`
`
`Wait for
`
`client computer to
`generate a URL command
`
`to access information
`
`
`in mail box.
`
`
`
`HTTP server 40
`processes URL and
`passes requestto
`mai! program.
`
`Mail program
`generates HTML
`template to
`display user
`requested
`
`information.
`
`406
`
`Go fofirst
`tine in the
`template.
`
`108
`
`
`116 120
`
`
`
`\s
`
`Does
`
`
`Process other
`there a
`command
`
`
`
`
`mailbox specific
`
`call out one or more
`mail Box
`command
`
`
`
`subtem
`related
`command,
`
`in the
`
`
`plates?
`line?
`
`
`
`
`
`
`insert subtempiates
`Accessinformation
`
`
`
`into template, replacing
`
`
`from postoffice system
`command.
`
`
`and in template replace
`
`
`command with accessed
`
`information.
`
`
` Goto first line where
`subtemplate inserted to
`
`processinserted sub-
`
`template(s) on fine-by-
`
`line basis.
`
`Are
`
`
`there
`
` Go to next line
`furtherlines
`
`in template.
`in the tem-
`
`
`Pass processed template
`
`to HTTP server, which
`then passes template
`to web browser
`over network.
`
`=
`
`oO
`
`Display template
`in web browser.
`
`Zynga Ex. 1017, p. 10
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 10
` Zynga v. IGT
` IPR2022-00199
`
`
`
`US 6,216,121 B1
`
`1
`WEB PAGE GENERATION WITH
`SUBTEMPLATES DISPLAYING
`INFORMATION FROM AN ELECTRONIC
`POST OFFICE SYSTEM
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`
`The present invention relates to a method for accessing
`information from an electronic post office system and, in
`preferred embodiments, using HyperText Markup Language
`(HTML)templates to generate and display postoffice infor-
`mation.
`
`2. Description of the Related Art
`An electronic post office system maintained within a
`networkfile server allows multiple computerusers linked to
`the network file server to transmit electronic messages to
`each other. A message is the basic unit of exchange in the
`post office system. A message can include file attachments
`such as text, graphics, sounds, binaryfiles, electronic forms,
`fax pages or any other data objects. The post office is the
`central repository for all messages and is typically imple-
`mented in a database system in the networkfile server. The
`post office has a mail directory, whichlists all the people,
`post offices and gateways for message exchange. Each user
`maintains an individual mailbox within the post office
`system, which might
`include a folder for
`incoming
`messages, drafts of text messages not yet sent, a log of sent
`messages, trash folders for deleted messages, and folders for
`saved messages. Each user in the post office system has an
`assigned name whichis used to identify and route mail to the
`user.
`
`FIG. 1 illustrates how client computers 2a, 2b access a
`post office system 4 within a server computer 6 via a
`network connection 8 (e.g., LAN, WAN, etc.). FIG. 2
`illustrates how a computer 10 at a remote location can
`connect to a post office system 20 via a TCP/IP connection
`12 and the Internet 14. The post office system 20 is included
`in a server 16 which runs a mail protocol 18. A mail protocol
`is used to regulate communication between the client com-
`puter and the post office system. Protocols which regulate
`the flow of messagesto a post office system via the Internet
`include the Post Office Protocol version 3 (POP3),
`the
`Internet Message Access Protocol version 4 (IMAP4),
`Lightweight Directory Access Protocol (LDAP), the propri-
`etary Lotus cc:Mail Router protocol. etc. Both the client and
`post office system must use compatible protocols. For
`instance, software programs such as Netscape Navigator,
`Eudora Pro, and Microsoft Internet Explorer include the
`POP3 protocol, thereby allowing a client computer running
`these programs to access a post office system compatible
`with POP3.
`
`In prior art electronic post office systems, client comput-
`ers at remote location must include software compatible
`with the protocol and the post office system in order to
`communicate with the post office. If a user at a remote
`location did not have such special purpose software, then the
`user would not be able to access the post office. Moreover,
`in prior art post office systems, post office system software
`cannot be easily edited to change the presentation of mail
`box information. Most network administrators would not be
`able to readily edit the files provided with proprictary post
`office system software to alter how mail box information is
`displayed or create new display formats. Such difficulties
`inhibit network administrators from tailoring the presenta-
`tion of post office information to the organizational needs.
`Many computer application have user interfaces gener-
`ated with templates coded in the Hyper'lext Markup Lan-
`
`20
`
`30
`
`40
`
`50
`
`60
`
`2
`guage (HTML). HTMLis not a computationally complete
`language as HTML does not
`include any method for
`branching, such as loops and conditional statements. This
`limitation in the IITML language further inhibits network
`administrators from tailoring user interfaces generated with
`HTMLcode to the organizational needs.
`SUMMARYOFTHE INVENTION
`
`To overcome the limitations in the prior art described
`above, preferred embodiments of the present invention dis-
`close a system for generating units of information from a
`database maintained in a server. The server receives a
`
`request for units of information transmitted from a clicnt
`computer over a network. The server then processes the
`request for
`information and generates a template. This
`template includes codein a first computer language that does
`not allow branching, database access commands to access
`the requested units of information in the database, and a
`subtemplate commandto generate contents of a subtemplate
`file into the template. The subtemplate commandis written
`in a second computer language providing branching. The
`subtemplate file called by the subtemplate command
`includes code in the first computer language. The server
`processes the template to generate a processed template. In
`processing the template, the server processes the subtem-
`plate commandsin the template and generates the contents
`of the subtemplate file into the template. The server further
`processes the contents of the subtemplate file generated into
`the template. The server also processes database access
`commands in the template to access the requested units of
`information from the database andinserts the accessed units
`of information into the template. After processing the
`template, the server transmits the processed template to the
`client computer.
`In further embodiments, the first computer language is the
`HTMLlanguage.
`In still further embodiments, the database is an electronic
`postoffice system and a mail program processes the template
`to generate the processed template. The mail program
`includes a mail protocol program. Further,
`the requested
`units of information are messages maintained in the elec-
`tronic post office system.
`It is an object of the present invention to provide a system
`for accessing a post office system which takes advantage of
`generally available sofiware, such as HTML, web browsers,
`instead of relying on proprietary postoffice system software
`to connect users with a post office system.
`It is still a further object that templates including code in
`a computer language that does not allow branching, such as
`the HTMLlanguage, include subtemplate commands which
`call subtemplate files. When these commandsare processed,
`the contents of the subtemplate are generated into the
`template.
`It is a further object, that these subtemplates be used in an
`electronic post office system to display requested message
`informationto a user.In this way, a system administrator can
`edit
`the template to modify the display of information
`accessed from a database, such as a post office system, by
`modifying a subtemplate called within the template. The
`system administrator necd only edit the subcomponent sub-
`template without altering other sections of the overall tem-
`plate.
`It is yet a further object that the commands calling the
`subtemplates be written in a second computer language
`which includes branching, such as Perl, C++, Java™, and
`generate the subtemplates into the template for a series of
`
`Zynga Ex. 1017, p. 11
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 11
` Zynga v. IGT
` IPR2022-00199
`
`
`
`US 6,216,121 B1
`
`3
`iterations. Java is a product of Sun Microsystems,Inc. In this
`way, branching is provided to templates utilizing HTML
`code, thereby making the HTML language computationally
`complete.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Referring now to the drawings in which like reference
`numbers represent corresponding parts throughout:
`FIG. 1 is a block diagram thatillustrates the relationship
`between a client computer and a post office system linked
`via a network, which is knownin the prior art;
`FIG. 2 is a block diagram thatillustrates the relationship
`between a client computer and a post office system linked
`via the Internet, which is known in the priorart;
`FIG.3 is a block diagram that illustrates the relationship
`between a client computer and a post office system in
`accordance with preferred embodiments of the present
`invention;
`FIGS. 4-7 illustrate snapshots of HTML web pages
`displayed in accordance with preferred embodiments of the
`present invention;
`FIG. 8a shows a portion of a mail box HTML page in
`accordance with preferred embodiments of the present
`invention;
`FIG. 8b showsa portion of a subtemplate HTML page in
`accordance with preferred embodiments of the present
`invention;
`FIG. 8c shows pseudo code for a portion of a subtemplate
`command whichgenerates the subtemplate into the template
`from which the subtemplate command wascalled.
`FIG. 8d showsa portion of the mail box HTMLpage with
`the subtemplate HTML page generated therein in accor-
`dance with preferred embodiments of the present invention;
`FIG.9 is a flowchart that illustrates logic of how a mail
`box template is generated in accordance with preferred
`embodiments of the prescnt invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`In the following description, reference is made to the
`accompanying drawings which form a part hereof, and
`whichis shown, by wayofillustration, several embodiments
`of the present invention. It is understood that other embodi-
`ments maybe utilized and structural changes may be made
`without departing from the scope of the present invention.
`Iardware and Software Environment
`
`FIG. 3 schematically illustrates the environment of the
`preferred embodiment of the present invention, and more
`particularly, illustrates a typical distributed computer system
`30 using the Internet or other network 32 to connect a
`plurality of client computers 34a, b, c to a mail server 36. A
`typical combination of resources may include clients com-
`puters 34a, b, c that are personal computers, laptops, palm-
`tops or workstations, and a mail server 36 that is a personal
`computer, workstation, minicomputer or mainframe. The
`mail server 36 may be implemented in one or more com-
`puters. The network 32 may comprise networks such as
`LANs, WANs, SNAnetworks, and the Internet.
`In preferred embodiments, the client computers 34a, b, c
`include a Hyper Text Markup T.anguage (HTMI.) web
`browser 38 (e.g.,
`IBM’s Web Explorer™, Netscape’s
`Navigator™, Sun Microsystem’s HotJava Browser™,
`Microsoft’s Internet Explorer™, etc.). ‘The mail server 36
`
`20
`
`30
`
`40
`
`50
`
`60
`
`4
`includes a Hyper Text Transport Protocol (HTTP) server
`program 40 and a mail program 42. The mail program 42
`provides access to a post office system 44, including all the
`post offices that users of the system may access. In further
`embodiments, the post office system 44 may be comprised
`of multiple post offices and include a message routing
`configuration to control the transfer of messages between
`post offices within the system. For instance, the post office
`system 44 may have a hub-spoke configuration in which
`messages are routed through a central hub post office, a
`direct connection configuration in which post offices
`exchange messages directly with one another or some com-
`bination of the two interconnected in a large and complex
`post office system.
`Thus,
`the present invention may be implemented as a
`method, apparatus,or article of manufacture using standard
`programming and/or engineering techniques to produce
`software, firmware, hardware, or any combination thereof.
`The term “article of manufacture” as used herein is intended
`to encompass any device, carrier, or media that provides
`access to instructions and/or data useful in performing the
`same or similar functionality.
`Those skilled in the art will recognize that the exemplary
`environment illustrated in FIG. 3 is not intended to limit the
`present
`invention.
`Indeed,
`those skilled in the art will
`recognize that other alternative hardware environments may
`be used without departing from the scope of the present
`invention. For instance,
`in alternative embodiments,
`the
`HTTPserver 40, mail program 42, and postoffice system 44
`or any combination thereof may be installed on a single
`computer server or over several servers distributed over a
`network.
`
`Accessing a Mail System With a Web Browser
`In the preferred embodiment, the directory for the mail
`program 42 is located in a directory relative to where the
`HTTPserver program 40 is located. In this way, the web
`browser 38 in the client computer 34a, b, c transmits a URL
`command to call the mail program 42 to access the post
`office system 44. ‘lo access the post office system 44, a
`hypertext link would be added to an initial web page the
`HTTPserver 40 presents to the client computer 34a, b, ¢
`whenthe client computer 34a, b, c first accesses a host of the
`mail server 36 over the network 32. For instance, if the URL
`for
`the host of
`the post office system 44 is
`“www.hostname.com,” then the following HTML command
`(1) would be added to the web pageinitially transferred to
`the client computer 34a,
`b,
`c when accessing
`hitp:\\www.hostname.com.
`(1) <HREF=“http://www.hostname.com[:port ]/ecmail/
`cgipipe.exe?welcome”>
`Click here to access the mail system</A>
`In the above command(1) structure, the program “cgip-
`ipe.exe” is a Common GatewayInterface (CGI) application
`that carries data between the HTTP server 40 and the mail
`program 42. In preferred embodiments, the client computer
`34a, b, c formats commands as CGI commands which are
`submittcd as URLs or formsto the mail program 42 via the
`IITTP server 40. The mail program 42 then generates an
`HTMLweb page based on the received commands which
`the mail program 42 transfers back to the client computer
`34a, b, c via the HTTP server 40 for display on the web
`browser 38. In the above example, the mail program 42 is
`located in a directory identified as ccmail, which is a
`subdirectory of the directory including the HTTP server 40.
`FIG. 4 illustrates an HTML web page 50 transferred to the
`client computer 34a, b, c web browser 38 whena userat the
`
`Zynga Ex. 1017, p. 12
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 12
` Zynga v. IGT
` IPR2022-00199
`
`
`
`US 6,216,121 B1
`
`5
`client computer 34a, b, c accesses www.hostname.com. This
`web page 50 includes a hypertext link 52 generated by the
`above command(1). FIG.5 illustrates a log-in web page 54
`transferred to the web browser 38 in response to the user
`selecting the hypertext link 52. 'IG. 6 illustrates a web page
`58 transferred to the web browser 38 after the user logs-in
`at
`the log-in web page 54. The web page 58 presents
`different mail box options to the user, such as “Mailbox” to
`enter the user’s mail box, “Compose” to create a message,
`and “Address Book” to review and edit entries in the user’s
`
`address book. FIG. 7 illustrates a main mail box page 60
`generated by the mail program 42 whenthe userselects the
`Mailbox icon displayed in the web page 58. The mail box
`page 60 includes two frames 62 and 64. Frame 64 is
`comprised of two sides 64a and 64b. Side 646 displays
`hypertext links to an inbox, draft messages, sent mail, trash,
`folders and bulletin boards. Side 64b of frame 64 provides
`hypertext links to messages in the selected inbox.
`Preferred embodiments of the web pages 50, 54, 58, 60
`assembled by the mail program 42 are comprised of HTML
`code, mail box commands, subtemplate commands, and
`subtemplates. The mail box specific commands are direc-
`tives to the mail program 42 to replace the string of
`characters in the command with mail-specific data obtained
`from the post office system 44.
`FIG. 8a shows portions of HTML code for the mailbox
`template 70 used to generate the mail box web page 60
`shown in FIG. 7. The template 70 includes the LISTMSGS
`subtemplate command72 to call out the subtemplate Mail-
`boxMsgs.HTMfor the first five messages in the mailbox.
`FIG. 8b showsportions of the HTML code for the subtem-
`plate 76 MailboxMsgs.HTM which generates the display of
`each message up to a specified number. The subtemplate 76
`includes a MSGDATEmail box command78 to generate the
`date of a message in the mailbox, a SIZE mail box command
`80 to generate the size of a message, and an AUTHOR 82
`mail box command to generate the name of the author of the
`message. The mail program 42 executes the subtemplate
`command LISTMSGS72 and generates the subtemplate 76
`in the Mailbox template 70 for each message to be dis-
`played. When a system administrator wants to modify the
`display of messages in the inbox, the system administrator
`need only modify the subtemplate MailboxMsgs.htm 76 as
`a separate module and not other commands within the
`Mailbox template 70. This system of using subtemplates
`allows a system administrator to readily control the display
`of specific subcomponents, such as messages, by editing the
`HTMLcode in the subtemplate displaying specific informa-
`tion within the larger parent template.
`As discussed, the subtemplate command LISTMSGS 72
`calls out the subtemplate MailboxMses.HTM for a number
`of iterations. For each iteration, the subtemplate command
`72 generates the contents of the called subtemplate into the
`mailbox template 79. For instance, if there were five mes-
`sages in the mailbox, the subtemplate command 72 would
`call out the subtemplate 76 for each of the five messages and
`generates the subtemplate 76 five times in the template 70.
`FIG. 8c illustrates pscudo code for the subtemplate com-
`mand LISTMSGS 72. The subtemplate command LIST-
`MSGS72 includes a loop 74, utilizing a command such as
`the C++ while or dowhile command to generate the sub-
`template 76 while a condition is present. For the subtemplate
`command LISTMSGS 72, the while loop iterates for the
`maximum number of messages per page. Thus, the subtem-
`plate 76 is generatedfor the first message and all subsequent
`messages up until the maximum number of messages that
`can be displayed in the frame portion 646 has been reached.
`
`20
`
`30
`
`6
`With reference to FIG. 8c, for the first iteration the message
`identification code (MsgID) is set
`to the first message
`(MeFirst). Within the loop 74, after each iteration,
`the
`MsgID is set
`to the next message ID, obtained bythe
`MeNext ( ) function. MeNext( ) takes as a parameter a
`MsgID and returns the identification code for the following
`message. The variable MsgCountis incremented each time
`the subtemplate 76 is generated into the template. The
`subtemplate MailboxMsgsis generated into the template 70
`from which the subtemplate command 72 was called until
`the MsgCountvariable reachesthe total number of messages
`that can be displayed in the frame portion 64b. The sub-
`template command may be written in any complete pro-
`gramming language including branching, such as Java, C++,
`Fortran, Perl, etc.
`After generating the subtemplate 76 into the template 70,
`the mail program 42 proceeds to process the mail box
`specific commands in the template 70,
`including those
`commands 78, 80, and 82 added when the subtemplate was
`generated into the template. Mail box commandsare used to
`obtain information from the mailbox. The mail program 42
`replaces the mail box commands with the requested infor-
`mation from the post office system 44. FIG. 8d shows a
`portion of a mail box template 86 that results from the mail
`5 program 42 processing the template 70 and subtemplate
`commands 78, 80, 82 generated therein. The portion of the
`template 86 shows the subtemplate 76 inserted twice at 90
`and 94 for two messages. The subtemplates 76 for the other
`three of the five messages are not shown. When processing
`the mail box commands 78, 80, 82 within the generated
`subtemplates 76 (FIG. 8b), with reference to FIG. 8d, the
`mail program 42 substitutes dates at 90a and 94a for the
`command MSGDATE78, message sizes 90b and 946 for the
`command SIZE, and author names 90c and 94c for the
`command AUTHOR.
`Other subtemplate commandsin addition to LISTMSGS
`72 include directives to the mail program 42 to replace the
`arguments in the command with subtemplates. For instance,
`the command <!!-ATTACHLIST> receives as an argument
`a subtemplate which the mail program calls out for each
`attached file in a message. The subtemplate command <«!!-
`SelectedMsglist> receives as an argument a subtemplate
`SelectedMsgs.htm which is generated in the main template
`for cach message the uscr sclected. The subtemplate com-
`mand <!!-DIRLIST> receives as an argument a subtemplate
`whichit calls out for each entry in the current address book.
`Each subtemplate command would include unique functions
`and commandsto carry oul operations specific to the pur-
`poses of the subtemplate. Further mail box specific com-
`mands and subtemplate commandsare described in Lotus
`Development Corporation’s 1997 publication entitled “Cus-
`tomizing Lotus cc:Mail Release 8 for the World Wide Web,”
`whichis incorporated herein byreferencein its entirety. Kor
`instance, some mail box specific commands can direct the
`mail program 42 to insert HTML code into the parent
`template to set the coloring, fonts, and layout of the display
`and other mail box commands can be used to access mail
`
`40
`
`50
`
`60
`
`box information from the post office system 44 and insert
`such information into the template. Still other mail box
`commands can generate a boolean response depending on
`data in the post office system or on the presence of infor-
`mation in the template.
`
`Logic for Generating Templates
`
`FIG. 9 illustrates preferred logic for the processing of a
`request from the client computers 34a, b, ¢ for mail box
`information. ‘his logic is described with respect to the mail
`
`Zynga Ex. 1017, p. 13
`Zynga v. IGT
`IPR2022-00199
`
`Zynga Ex. 1017, p. 13
` Zynga v. IGT
` IPR2022-00199
`
`
`
`US 6,216,121 B1
`
`20
`
`30
`
`8
`7
`inbox, e.g., if there are five messages specified, then the
`program 42, template 70, subtemplate 76, subtemplate com-
`mand 72, processed template 86, and other elements dis-
`subtemplate would be generated in the templatefive separate
`cussed above. However, this logic would also apply to mail
`times. Control transfers to block 122 which represents the
`programs, templates, subtemplates, subtemplate commands,
`mail program 42 executing the subtemplate command 72
`processed templates, and other elements other than those
`and replacing the subtemplate command with the contents of
`specifically discussed.
`the generated subtemplates 76. Control transfers to block
`The logic begins at block 100 which represents a user at
`124 which represents the mail program 42 going to the first
`the client computer 34a, b, c selecting a hypertextlink in the
`line where the contents of the subtemplate 76 is generated
`web browser 38 to access information from the post office
`into the template. From there, control transfers back to block
`system 44. Control transfers to block 102 which represents
`108 to process the contents of the generated subtemplate 76.
`the HTTP server 40 processing the URL command and
`Asubtemplate command mayinclude nested subtemplate
`passing the request to the mail program 42. As discussed, the
`commandswithin its code. When the mail box program 42
`IITTPserver 40 transfers the request to the mail program 42
`is processing a parent template and executes a subtemplate
`via the cgipipe.exe application.
`command including nested subtemplate commands, the mail
`Control transfers to block 104 which represents the mail
`box program 42 generates the nested subtemplate commands
`program 42 generating an HTMI. template, such as the
`into the parent template from which the subtemplate com-
`template 70 in FIG. 8a, including HTMLcode, mail box
`mand was called. The mail box program 42 would then
`commands, and subtemplate commandsto generate the user
`proceed to block 124 to the first
`line of the generated
`interface displaying the requested mail box information. In
`subtemplate and process the contents of the generated sub-
`preferred embodiments,
`the HTML template 70 and other
`template. When the mail program 42 reaches the nested
`templates, such as the subtemplates, used by the mail
`subtemplate command generated into the parent template,
`program 42 are stored inalocation relative to the location
`the mail box program 42 would execute the nested subtem-
`of the mail program 42 and HTTPserver 40. Control then
`plate commandto generate further subtemplate files into the
`transfers to block 106 which represents the mail program 42
`parent template. After processing the nested subtemplate
`going to the first line in the HTML template 70 to process
`command and generating the nested subtemplate files, the
`the template on a line-by-line basis. Control transfers to
`mail box program 42 would proceed to block 124to the first
`block 108 which is a decision block representing the mail
`line of the contents of the generated nested subtemplate file
`program 42 determining whetherthe line in the template 70
`to process the contents of the nested subtemplate files before
`includes a mail box specific command 78, 80, 82 or a
`processing the contents of the generated sublemplate file
`subtemplate command 72, and