throbber
a2, United States Patent
`US 6,243,700 B1
`(10) Patent No.:
`Zellweger
`(45) Date of Patent:
`Jun. 5, 2001
`
`
`US006243700B1
`
`(75)
`
`(54) METHOD AND APPARATUS FOR
`GENERATING A HYPERTEXT-BASED
`CONTENT MENU USING AN OPEN
`HIERARCHICAL DATA STRUCTURE
`Inventor: Paul Zellweger, 12 Holworthy P1.,
`.
`Cambridge, MA (US) 02138
`;
`;
`(73) Assignee: Paul Zellweger, Cambridge, MA (US)
`.
`.
`.
`.
`.
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`5,603,025
`2/1997 Tabb and Hermann... 707/2
`
`5,630,125 *
`5/1997 Zellweger... 707/103
`5,712,979
`1/1998 Garberet al. woe 707/501
`
`5,717,860
`2/1998 Garberet al. oe eee 705/14
`
`5,920,696 *
`w. 395/200.48
`7/1999 Brandtet al.
`....
`
`een : a1999 Johnsonet AL arsreereseeesen 395/712
`
`3959,
`/1999 Takeuchi et al.
`oe 345/348
`
`ceecccccsssssssssssssssssessesseseeee 707/4
`5,987,454 * 11/1999 Hobbs.
`
`6,006,252 * 12/1999 Wolfe .......
`.. 709/203
`6,131,098 * 10/2000 Zellweger....
`.. 707/102
`
`....
`« 707/104
`6,131,100 * 10/2000 Zellweger
`6,144,968 * 11/2000 Zellweger seen 707/104
`;
`;
`* cited by examiner
`
`Primary Examiner—Thomas Black
`.
`Assistant Examiner—Charles L. Rones
`(21) Appl. No.: 09/080,100
`(57)
`ABSTRACT
`(22)
`Filed:
`May16, 1998
`A menu authoring system is disclosed that uses an open
`; _Related US. Application Data
`hierarchical data structure to generate source code for hyper-
`Provisional application No. 60/046,920,filed on May 16,
`text list menusthat constitute a content menu on a Website.
`1997.
`The authoring system allows developers to select how and
`(SL) Mts C0 cececeeeccccssesssessseeecceseessneeeseeeeesaee G06F 17/30
`
`(52) US. Ch. ceecccccessssssssssesssenesessas 707/3; 707/4; 707/102;|when these menufiles are generated and the optimum output
`707/104
`file size. The authoring system can generate menufiles at
`(58) Field of Searle o...cccccccccsssssssssscscee 707/4, 103, 203,|Tuntimeorpriorto a generalrelease;it can also generate one
`707/102
`or more list menus to the same hypertext file. This enables
`the Web developer to generate menu files that can be
`optimized for use in a client-server network,or used to track
`end-user navigation.
`
`(60)
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,530,852
`
`6/1996 Meskeet al. ecco 707/501
`
`20 Claims, 15 Drawing Sheets
`
`73
`
`\
`
`HTML Configuration Window nny
`
`Developer:
`Company:
`
`
`Contactst::
`
`
`File Generation: © On Demand Runtime HTML file
`© Compiled HTML Server files
`File Use: © Multiple List File,
`Opimal File Sie:|_|K
`© Track End-User Naviagtion
`
`Exhibit 1037
`Samsung v. DoDots
`IPR2023-00701
`
`
`
`Copyright:
`
`
`|
`Home Page:
`Menu Frame: [SY
`Object Frame: CFT
`
`
`
`
`
`1
`
`Exhibit 1037
`Samsung v. DoDots
`IPR2023-00701
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 1 of 15
`
`US 6,243,700 B1
`
`)e
`
`Fig.1
`
`10
`
`12
`
`14
`
`Ss {L
`
`2
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 2 of 15
`
`US 6,243,700 B1
`
`22
`
`
`
`Information
`Object
`
`Fig. 2
`
`3
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 3 of 15
`
`US 6,243,700 B1
`
`Fig.3
`
`©\
`
`27
`
`4
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 4 of 15
`
`US 6,243,700 B1
`
`PriorArt
`
`Fig.4
`
`a a
`
`_®
`
`_-w*
`
`_»%
`
`
`
`
`8
`
`»°
`
`“7
`
`Nn
`.
`
`+
`
`38
`
`<w
`
`n
`
`2°
`iD
`
`Qo
`+
`
`neaeeBpoACc
`
`22
`
`&
`
`3a
`
`oD
`S
`om
`5
`nN
`
`o
`oO
`
`29
`
`37
`
`Pointer
`Child
`
`5
`
`

`

`U.S. Patent
`
`Jun. 5, 2001
`
`Sheet 5 of 15
`
`US 6,243,700 B1
`
`
`ies|oe|polo|z{o[mw]o|te[ex]mim|oe|oto|efofefv[iefelrmeum|e|po}ote}oo[wefa|tefi]season|oe
`iototHo
`
`oletc{a[rom]a]ce[is]ewes|or|poteftefaofo[ow|ce[ool
`
`
`PoloINN|a|oF|roorJESNEYUYO\AJOZIEMYOS
`pofolce{ofe|a|we[oo]
`
`¢“3Iy
`
`6
`
`
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 6 of 15
`
`US 6,243,700 B1
`
`
`
`
`
`Fig. 6
`
`7
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 7 of 15
`
`US 6,243,700 B1
`
`© Track End-User Naviagtion
`
`Dever
`company:[
`Contact:[>
`I
`Home Page: [—
`Meru Frames [—
`Object Frame: [TO
`
`File Use: © Multiple List File,
`Opimai File Size:{|___|k
`
`Fig. 7
`
`HTML Configuration Window
`
`File Generation. © On Demand Runtime HTMLfile
`
`© Compiled HTML Server files
`
`8
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 8 of 15
`
`US 6,243,700 B1
`
`74
`
`x
`
`75
`
`75
`
`75
`
`76
`
`“eeOeOeA,aN
`
`“
`
`“
`
`<!-- Generated by ArborWay, Inc. -->
`<!-- Cambridge, MA 02138 (617) 864-1040 --!>
`<!-- File: FO.LHTM Created: May-13-1997 12:03 --!>
`<!-- Author: Anna Zellweger --!>
`<!-- Copyright 1998 by ArborWay Inc.
`
`<HTML><HEAD>
`<TITLE>Content Menu</TITLE>
`</HEAD>
`<BODY>
`<NAME=F0></A>
`<CENTER><B><FONT SIZE=+1>Content Menu</B></FONT><FONT SIZE=-1><BR>
`<A HREF="FO.HTM" TARGET=MENU WIN>[C]</A>
`<A HREF="FO.HTM" TARGET=MENUWIN>[Previous Menu]</A>
`<A HREF="INDEX.HTM" TARGET="_top">[H]</A></CENTER><BR></FONT><UL>
`<LI><A HREF="#F31" TARGET=MENUWIN>Anthor</A><BR>
`<LI><A HREF="#F32" TARGET=MENUWIN>Language</A><BR>
`<LI><A HREF="#F33" TARGET=MENUWIN>Subject</A><BR>
`<LI><A HREF="#F34" TARGET=MENUWIN?PTitle</A><BR>
`</UL>
`
`<NAME=F31></A>
`<CENTER><B><FONT SIZE=+1>Author</B></FONT><FONT SIZE=-1><BR>
`<A HREF="FO.HTM" TARGET=MENUWIN>[C]</A>
`<A HREF="FO.HTM" TARGET=MENUWIN>[Previous Menu]</A>
`<A HREF="INDEX.HTM" TARGET="_top">[{H]</A></CENTER><BR></FONT><UL>
`<LI><A HREF="B.HTM" TARGET=OBJWIN>Liscombe, R.N.</A><BR>
`<LI><A. HREF="D.HTM" TARGET=OBJWIN>Meyer, Peter</A><BR>
`<LI><A HREF="A.HTM" TARGET=OBJWIN>Tumer, W.J.</A><BR>
`<LI><A HREF="C.HTM" TARGET=OBJWIN>West, T.W.</A><BR>
`</UL>
`
`<NAME=F32></A>
`<CENTER><B><FONT SIZE=+1>Language</B></FONT><FONT SIZE=-1><BR>
`<A HREF="F0O.HTM" TARGET=MENUWIN>{[C]</A>
`<A HREF="FO.HTM" TARGET=MENUWIN>{Previous Menu]</A>
`<A HREF="INDEX.HTM" TARGET="_top">[H]</A></CENTER><BR></FONT><UL>
`<LI><A HREF="#F39" TARGET=OBJWIN>English</A><BR>
`<LI><A HREF="#F40" TARGET=OBJWIN>Germain</A><BR>
`</UL>
`
`</BODY>
`</HTML>
`
`Fig. 8a
`
`9
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 9 of 15
`
`US 6,243,700 B1
`
`ris)
`
`\
`
`170 <NAME=F0></A>
`78~" <CENTER><B><FONT SIZE=+1>Content Menu</B></FONT><FONT SIZE=-1><BR>
`
`79+ <A HREF="FO.HTM" TARGET=MENUWIN>[C]</A>
`
`<A HREF="F0O.HTM" TARGET=MENUWIN>|[Previous Menu]</A>
`<A HREF="INDEX.HTM" TARGET="_top">[H]</A></CENTER><BR></FONT><UL>
`*(<LI><A HREF="#F31" TARGET-MENUWIN>Author</A><BR>
`\{<L><A HREF="#F32" TARGET=MENUWIN>Language</A><BR>
`“{<LI><A HREF="#F33" TARGET=MENUWIN>Subject</A><BR>
`\{<LI><A HREF="#F34" TARGET=MENUWIN>Title</A><BR>
`</UL>
`
`Fig. 8b
`
`80
`
`\ of
`
`<LI><A HREF="#F31" TARGET=MENUWIN>Author</A><BR>
`[re \ ne
`\
`\
`
`81
`
`81
`
`81
`
`Fig. 8c
`
`10
`
`10
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 10 of 15
`
`US 6,243,700 B1
`
`Multiple
`Lists
`
`
`
`
`file_size = header_size
`|
`
`
`
`
`
`HTML
`Server Files
`
`85
`
`86
`
`Fig, 9a
`
`11
`
`11
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 11 of 15
`
`US 6,243,700 B1
`
`
`
`
`
`NOT EQ
`tmp.level
`
` node.level
`
`Fig. 9b
`
`12
`
`12
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 12 of 15
`
`US 6,243,700 B1
`
`100
`
`nodefle = node.id, node.index = 0
`
`106
`
`
`
`
`
`
`
`
`node.sibling
`NOT
`NULL
`
`13
`
`13
`
`

`

`118 node.mem
`
`NOT NULL
`
`
`zero
`
`
`
`
`dest.file
`EQ
`current
`
`
`
`node.sibling
`
`
`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 13 of 15
`
`US 6,243,700 B1
`
`EQ
`
`
`
`node file
`NOT
`current
`
`
`
`
`Fig. 9d
`
`14
`
`14
`
`

`

`
`
`
`
`
`
`
`node.sibling
`NOT
`NULL
`
`
`
`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 14 of 15
`
`US 6,243,700 B1
`
`120
`
`node.child
`NOT
`NULL
`
`Fig. 10
`
`15
`
`15
`
`

`

`U.S. Patent
`
`Jun.5, 2001
`
`Sheet 15 of 15
`
`US 6,243,700 B1
`
`
`
`138
`
`16
`
`16
`
`

`

`US 6,243,700 B1
`
`1
`METHOD AND APPARATUS FOR
`GENERATING A HYPERTEXT-BASED
`CONTENT MENU USING AN OPEN
`HIERARCHICAL DATA STRUCTURE
`
`CROSS REFERENCES TO RELATED
`APPLICATION
`
`This application is based on Provisional Application No.
`60/046,920 entitled “Method and Apparatus for Generating
`Nested HTMLLink MenuFiles Using An Open Hierarchical
`Data Structure”, filed May 16, 1997.
`
`FIELD OF INVENTION
`
`The present invention relates to computer software used
`to organize informatin on a Website, and in particular, it
`relates to an end-user access method, identified as a content
`menu,that is generated by an authoring system that produces
`linked hypertext list menu files by merging hypertext pro-
`gram code like HTML with menu data managed by an open
`hierarchical data structure.
`
`BACKGROUND
`
`The conventional use of hypertext links in Website design
`makes information-rich sites unnecessarily deep. This forces
`end-users to navigate in a trial and error fashion to locate
`relevant information. More direct access methods, such as a
`table of contents or a search engine, exist but these prior art
`methods present
`their own set of limitations. Tables of
`contents can only provide very broad overviewsof sites
`because they cannot handle the detail, and search engines
`have a “black box” approach that hides content from end-
`users and requires them to know what they should ask for.
`On a corporate Intranet network with content on multiple
`servers, the scope and supply detailed information is sig-
`nificantly greater and makes end-user access on this type of
`Web site even more challenging. End-user services, like a
`directory assistance, site map, or site index, attemptto scale
`themselvesto the level of detail but, once again, limitations
`with the underlying technology limit their effectiveness.
`For instance, these access services are either built and
`maintained by hand, or they are based on hierarchical
`structures that have mutually exclusive paths. While these
`structures are well suited to handle details, they are inad-
`equate because they cannot cross reference. At the same
`time,
`the more flexible hand-coded access methods that
`easily represent cross links run into major problems when
`the links and references get too numerous or complex.
`Tabb et. al. (Feb. 11, 1997 US. Pat. No. 5,603,025)
`disclose the means to produce cross-indexed hypertext docu-
`ments that enable end-users to drill-down to investigate
`details. Meskeet. al. (Jun. 25, 1996) also disclose the means
`to generate links that cross reference a set of information
`files. Both of these disclosures use HTMLlinks to produce
`and maintain a set of linked files that enable end-users to
`access detailed information. However, since both of these
`methods depend solely upon their own documentfile struc-
`tures they cannot be used in a more general way as end-user
`access tools.
`
`Zellweger (May 13, 1997 U.S. Pat. No. 5,630,125) dis-
`closes the means to employ an open hierarchical data
`structure to organize and managedetailed information about
`a collection of information. When used with the disclosed
`
`authoring system, the structure generates a content menu
`that supports an extensive set of cross references. Advances
`brought about by the interactive authoring make it fairly
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`easy to build and maintain the complete network of menu
`paths, and end-users find it easy to navigate its nested list
`menus and find what they need.
`The Zellweger disclosure addresses both stand-alone and
`client-server environments but is does not disclose how to
`
`generate menu files for a content menu that can overcome
`performanceissues related to client-server networkslike the
`World Wide Web. The authoring system in the prior art
`generated a single menufile that contained all the nested lists
`in a content menu. In a stand-alone desktop setting, the
`invention optimizes response time by fetching data for each
`list menu from its own storage device. Yet, in a client-server
`setting, the overhead associated with requesting and trans-
`mitting data for each menulist from a remote source on a
`network, makesthislist-by-list retrieval method extremely
`inefficient, particularly when the succession involves a
`series of short list menus.
`
`The present disclosure shows how to overcome this
`problem by generating a series of hypertext menu files that
`consolidate a series of short, nested list menus into a single
`file that downloads to the client computer. As the end-user
`navigates down a content menuthe present disclosure also
`shows howto link one of these menu files to another and
`
`how to regulate the overall size of these files. These teach-
`ings enable menu developers to benchmark different sets of
`menufiles in orderto identify an optimal downloadfile size.
`When a content menu has been optimized for a client-
`server network, as disclosed by this invention, there are a
`number of unintended benefits. First,
`the content menu
`provides an alternative way to access Web pagesthat has a
`direct impact on Web sit design. Until now developers had
`to use “link pages” to furnish page access that produces
`artificially deep Web site layouts. Second, the menu orga-
`nizes details on a group of closely related information so
`end-users can easily compare one unit to another using a
`single list menu. This allows end-users to pinpoint target
`information on a Website, and thereby avoid unnecessary
`trial and error navigation. Third, information providers get
`much more information about an end-user’s navigating path
`compared to Web page tracking methods disclosed by
`Graberet. al. (Jan. 27, 1998, U.S. Pat. No. 5,712,979) and
`Graber et. al. (May 10, 1998 U.S. Pat. No. 5,517,860)
`because the provider has overall control of the entire menu
`path.
`
`OBJECTS AND ADVANTAGES
`
`It is a general object of the present invention to provide a
`method and apparatus for an authoring system meansthat
`can be used to generate and maintain hypertextfiles that can
`serve as a content menu on a Website.
`
`One object of the present invention is to provide the
`software means for building and maintaining a series of
`nested link menus derived from an open hierarchical data
`structure implemented in a hypertext language, like HTML,
`that is recognized by browsersoftware on a client computer.
`Another object of the present invention is to enable Web
`site developers to select how and when hypertext files are
`generated so they can configure a content menu application
`that performs well on a client server network.
`One object of the present invention is to provide the
`meansto specify the size of an output hypertext file so the
`authoring system can generate one or more nested lists to the
`samefile, instead of using the prior method of onelist per
`file, and thereby reduce overall networktraffic.
`Another object of the present invention is to enable Web
`site developers to select when hypertext files are generated
`17
`
`17
`
`

`

`US 6,243,700 B1
`
`3
`so they can configure a content menu application that uses
`dynamic menu data.
`One object of the present invention is to provide the
`means to enable end-users to navigate through a succession
`of hypertext list menus to locate detailed information and
`thereby avoid unnecessary trial and error navigation on a
`Website.
`
`Another object of the present invention is to provide the
`software means to enable information providers to track
`end-user navigation of a content menu.
`
`SUMMARYOF THE INVENTION
`
`invention are attained by
`The objects of the present
`providing the methods and apparatus of a menu authoring
`system that generates nested list menus in tow or more
`hypertext files that serve as a content menu on a Website.
`The authoring system merges menu data stored in an open
`hierarchical data structure with elements of a hypertext
`language to produce hypertextfiles that contain one or more
`nested list menus per file. Web site developers use the
`authoring system to create menu paths to individual pages,
`and end-users navigate these paths to locate relevant infor-
`mation. The authoring system in the present
`invention
`supports special settings associated with the output hyper-
`text files that enable the menu developer to specify how and
`when these files are generated to improve sever response,
`reduce networktraffic, or track end-user navigation.
`
`BRIEF DESCRIPTION OF THE FIGURES
`
`FIG. 1 depicts the client server apparatus of the network
`in the present invention.
`FIG. 2 depicts the user interface of the content menuin the
`present invention.
`FIG. 3 depicts the relationship of the authoring system,
`the hypertextfiles it generates, and the browser softwarethat
`reads thesefiles.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`FIG. 4 (prior art) depicts the open hierarchical data
`structure employed by the authoring system to store and
`retrieve menu data used for the content menu.
`
`40
`
`FIG. 5 depicts a databasestructure used to represent nodes
`in the open hierarchical data structure.
`FIG. 6 depicts the record structure of an alternative
`storage format for nodes in an open hierarchical data struc-
`ture.
`
`FIG. 7 depicts the user interface of the authoring system
`used to configure the output hypertext files that contain the
`list menus.
`
`FIGS. 8a through 8c depict the components of a hypertext
`file and the list menus generated by the present invention.
`FIGS. 9a through 9d depict the flow charts of an embodi-
`ment of the program logic of software in the present inven-
`tion used to generate compiled hypertextfiles that are stored
`on a server computer.
`FIG. 10 depicts the flow chart of the program logic used
`to generate an HTMLlist menufile at runtime.
`FIG. 11 depicts the flow chart of the server CGI script
`used to generate a runtime hypertextfile that tracks end-user
`navigation on a content menu.
`DETAILED DESCRIPTION
`
`The client server apparatus of the present invention is
`depicted in FIG. 1. The server computer 15 contains an
`operating system, a database management system, and com-
`munications software, as well as the hypertext files gener-
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`ated by the present invention. The client computer 12 hasits
`own operating system and communication software and is
`linked electronically to the server computer 15. The client
`computer 12 includes end-user input devices like keyboard
`14 and output devices like a display monitor 10. Browser
`software, like Netscape, is installed on the client computer
`12 and requests hypertextfiles stored on server computer 15
`to generate a user interface on the display monitor 10. The
`server computer 15 downloadsthe file over the network to
`fulfill this request.
`FIG. 2 depicts the user interface 22 on the monitor
`apparatus 10 of the client computer 12. In the preferred
`embodimentof the present invention the user interface 22
`includes a list frame 24 and an object frame 25. The list
`frame 24 displays the HTMLlist menusthat constitute the
`content menu generated by the present invention. Each list
`menu includes one or more list items that link to another
`
`HTMLlist menu or to an information object. End-users
`navigate these nested list menus to reach information on a
`Web pagethat is displayed in the object frame 25. Alterna-
`tive embodiments of the present invention use one or more
`frames to display content
`list menus and information
`objects.
`Eachlist menu includesa title and navigation commands.
`The list title corresponds to the list item selected in the last
`list menu. The navigation commands, found directly under
`the title, and at the end of a long scrollinglist, include links
`to the Web site home page, top of the content menu, and a
`prior list. Depending on when the hypertext files were
`generated, the prior list either links to the last menu visited
`in aruntimefile, or to a primary parentlist in a compiled file.
`FIG. 3 depicts the three major components of the present
`invention. These include the authoring system 26, the hyper-
`text files 27 that the authoring system 26 produces, and a
`commercially available browser 28. The authoring system
`26 includes the interactive software tools and utilities used
`
`to build and maintain menu data in an open hierarchical data
`structure. The authoring system 26, in the present invention,
`allows a menu developer to select when a hypertextfile 27
`is generated, at runtime when the client browser software
`requests it, or as part of a general distribution release.
`In a general distribution release, the authoring system 26
`generates or compiles one or more hypertext files that
`represent all
`the lists in a structure 29 in FIG. 4. The
`complete set of compiled files are stored on the server
`computer 15 and represent static menu values that do not
`change over time, that is from onerelease to the next. The
`alternative file output, a runtime HTMLfile, represents
`dynamic menu values that change whenever changes are
`made to the open hierarchical structure or its data.
`The present
`invention uses an open hierarchical data
`structure, a prior art, to manage the network of hypertext
`links that constitute a content menu. Thisstructure, depicted
`in FIG. 4 as 29, enables one or more paths to the same Web
`page object, and thereby represents multiple ways of looking
`up the same piece of information.
`Generational terms, such as parent and child, are used to
`describe how structural elements relate to one another. For
`example, the flow in this structure goes from the root node
`30 to a leaf node, lets say 52, so a parent node represents a
`predecessor, and a child node represents a successor. In
`structure 29, a parent node can only have one child but a
`child can have more than one parent. Each node in structure
`29 corresponds to an item in a list menu. Arcs or pointers
`show how each item relates to another. Sibling pointers
`connect a item to a list, and child pointers link an item in one
`list to another or to a Web page at the end of a path.
`18
`
`18
`
`

`

`US 6,243,700 B1
`
`5
`The preferred embodiment of the present invention rep-
`resents nodes in structure 29 in a database structure 60
`
`in structure 60
`depicted in FIG. 5. Each row element
`represents node information associated with a node in the
`open hierarchical data structure 29. This includes a unique id
`number in columnfield 61, a topic representing a list item
`in 62, a code in 63 used to analyze a selection made in an
`end-user’s navigation path, and the numberof child nodes in
`the nextlist in 69. Mem 67 stores the amountof file memory
`required for the current node’s successor list. Each list is
`ordered bythe sibling 66, and child 65 stores the node id of
`the first item in a successorlist. Parent 64 stores the node id
`
`of the primary parent of the current list; all other parent
`nodes are considered step parents.
`An alternative embodimentof the present invention stores
`node information in a second in a predeterminedfile format.
`Node records are ordered by lists and their respective
`generations. FIG. 6 depicts the record structure for this file
`format. Somefields, like node 61, topic 62, sibling 66, mem
`67, level 68, and kids 69, directly correspond to database
`structure 60. In addition, the record structure also includes
`address information fields on the file location of the parent
`list in 71 and the successorlist in 72. These fields enable the
`alternative file format to serve as a more efficientretrieval
`
`home page URL,and howto configure the default menu and
`object frames.
`Next, developers use radio buttons to indicate when the
`hypertext files 27 are generated, at runtime or compiled prior
`to distribution, and how they will be used, for multiple lists
`or for tracking end-user navigation. When the multiple list
`option is selected, the developer can also specify an optimal
`hypertext file size generated by the authoring system 26.
`This setting enables the system to output one or more
`smaller nested menulists to the samefile and thereby reduce
`networktraffic on the server and improve response time on
`client computer 12.
`FIGS. 8a through 8c show the components of the HTML
`hypertext file 27 generated by the authoring system 26. FIG.
`8a depicts the major source code components of a hypertext
`HTMLfile 27. This includes file header block 74 andfile
`
`trailer HTML tags 76, and one or more list menus 75.
`Detailed information supplied by the developer in the
`HTMLconfiguration window 73 is used to produce com-
`mentlines in the file header and produce navigation links
`used in the list menu.
`
`In the present invention, each hypertextfile contains one
`or more list menus 75. FIG. 8b depicts the significant parts
`of the list menu 75. Each list menu 75 includes an anchor
`line 77 for the list menu,a list title line 78, and navigation
`links 79 to the top of the content menu, to the home page,
`and to a prior list menu. Next comes one or more list item
`lines 80. This is all followed by line 81 that
`includes
`hypertext tags that mark the end of a list block.
`Eachlist item 890,illustrated in FIG. 8c, consists of fixed
`length segments 80 of hypertext and variable length seg-
`ments. The link field 82 and the item string 62 represent
`
`method on a server, compared to a database management
`system that requires significantly more i/o overheadto locate
`target data records.
`The HTMLConfiguration Window 73 in the authoring
`system 26, depicted in FIG. 7, enables content menu devel-
`30
`opers to configure output hypertext files 27. This includes
`Next, the main routine 83 calls routine 100 to assignafile
`text fields that enable developers to include header infor-
`numberto each nodein the structure. Routine 100, depicted
`mation such as the developer’s name, company, phone
`in FIG. 9c, uses a FIFO queue to visit each nodein structure
`number, and copyright
`information, and so on.
`It also
`29. If he children’s list menu memory requirementsare less
`includestext fields to collect information on the Web site’s
`than te optimum file_size set by the developer in window
`73, routine 100 drops into loop 104 to push each child node
`on the FIFO queueandsetfile field 70. Whenthelast sibling
`node is reached the routine popsthe first node off the FIFO
`queue. If the queue returns a node, loop 102 is activated and
`the new nodesize is checked. When the cumulative memory
`size is greater than file__size then control flows through loop
`106 where size is set to zero and file_numberis set to the
`current node 61. Once again, control flows through loop 104
`until the queue is empty.
`At 86, in the main program driver, the authoring system
`26 calls routine 110, depicted in FIG. 9d,
`to generate the
`compiled hypertext files 27 stored on the server computer
`15. First, routine 110 sets current (file) variable, creates a
`newfile, outputs source code 74 corresponding to the HTML
`file header. Next, starting at 112 and with loop 116 routine
`110 outputs hypertext source code for each list menu asso-
`ciated with the currentfile variable. Routine 110 uses a FIFO
`queue to progress down each successive generation oflists.
`When a node’s file 70 differs from current, routine 110
`generates source code 76 that correspondsto trailer code,
`closes the open file, and creates a new file and opensit via
`loop 117. Otherwise, loop 118 is taken and routine 110 adds
`another list menu to the currentfile.
`
`6
`variable length fields. The authoring system 26 uses the node
`61 to generate and manage links that connect to anchors in
`the current file and to other URLs.
`
`FIGS. 9a through 9d depict flow charts of the software
`meansof the present invention used to set menu generation
`variables, and output complied hypertext files 27. FIG. 9a
`depicts the main program driver entered at 83. First, the
`routine checksif the multiple lists radio button was selected
`by the developer. If it was not selected the routine sets
`file_size to the computed header_size, and returns control
`at 88 to the next event. Otherwise, the authoring system 26
`computes the amount of memory required for each list by
`calling ComputeListSize 90 at 84. Next, it calls AssignFiles
`100 at 85 to assign file locations to each node in structure 29.
`And finally,
`if the developer selected Compiled HTML
`Server Files routine 83 calls GenerateHTMLFiles at 86 and
`returns event control at 88.
`
`The ComputeListSize routine 90 depicted in FIG. 9b.
`Routine 90 uses a FILO (First In, Last Out) stack to visit
`each nodein structure 29 to compute memory requirements
`for each list. In loop 92, routine 90 progresses down the
`structure and pushes each node on the stack. When the end
`of a path is reached, routine 90 initializes list_size and
`iterates through eachlist item by popping nodesoff the FIFO
`(First In, First Out) stack in loop 94. When a parent node is
`reached, routine 90 sets its mem 67to list_size. If the parent
`node is a root node then program control returns to the
`calling routine at 98, otherwise it flows to loop 96 to set
`more node mem 67 values.
`
`10
`
`15
`
`20
`
`25
`
`45
`
`50
`
`55
`
`At 112 the routine generates hypertext source code for a
`list header that includes an anchorline 77,a list title line 78,
`and navigation commands 79. The argument for the NAME
`tag on anchorline 77 is derived by concatenating “F” with
`the current nodeid. Thelisttitle line 77 is generated by using
`the topic 62, and previous menu from the node’s parent
`value in 64.
`
`60
`
`65
`
`Next, loop 116 generates one or morelist items for each
`node linked by sibling value in 66. If the node’s mem field
`19
`
`19
`
`

`

`US 6,243,700 B1
`
`7
`67 is zero then routine 110 generates a list item 80 at 113 that
`hasa link to an information object URL by concatenating the
`child field 65 with “.HTM”, ic. “A-HTM”. Otherwise, the
`routine checks the node’s file field 70. If this value corre-
`sponds to current the routine generates a list item 80 with a
`link to a location at the current file at 113 by concatenating
`“#F” with the child value in 65. Otherwise,
`the routine
`generatesa list item 80 at 115 by concatenating “F” with the
`file field 70 with “HTM#F”along with the child field 65,1.e.
`“F44.HTM#F130.
`
`FIG. 10 depicts the flow chart of the program logic used
`to generate a hypertext list menu file on demand at runtime
`on a server. The calling routine, a Common GatewayInter-
`face (CGI) scriptfile depicted in FIG. 11, passes the node id
`of the selected list item. Loop 122 generates one or morelist
`menus accordingto file_size set by the developer and how
`the developer intendsto usethefile. If the file is intended to
`track end-user navigation or the optimum file size was not
`set, only one list menuis generated perfile.
`Loop 124 is responsible for generating source code for
`eachlist item. Here subroutines 125, 126, and 127first check
`if end-user tracking wasset. If tracking was not set these
`subroutines call their respective counterparts 113, 114, or
`115. Otherwise these subroutines generate a URLthatrefers
`to a CGI script on the server computer 15 that includes node
`61 and time stamp parameter,
`HREF=“http://arborway.com/cgi-bin/selected.pl?node=
`24+time=150530. Alternative ways to pass node and
`time stamp parameters to a CGI script on a server
`exists, and subroutines 125, 126, and 127 can be
`modified to accommodate these alternatives.
`
`And now FIG. 11 depicts the program logic of the CGI
`script file on server computer 15 used to track end-user
`navigation. On entry, routine 130 gets client identification
`information at 131 from the environmentvariables or from
`
`arguments passed to the CGI script. Next, at 132 routine 130
`gets the node and time stamp arguments. The routine cal-
`culates lapse_time at 134 by subtracting the time stamp
`from the current time on the server computer 15. At 135 the
`client identification information, selected node, and lapse
`time are addedto a databasethat stores a record for eachlist
`item selected in a content menu. The set of records are used
`
`in conjunction with end-user tags in field 63 to analyze
`navigation paths. At 135 routine 130 calls generateOnde-
`mand routine 120 with the node 61 as parameter to generate
`a list menu, and then redirects the server to send new file to
`the client computer 12.
`
`CONCLUSION
`
`This concludes the description of an embodiment of the
`invention. The foregoing description of the embodiment of
`the invention has been presented for the purpose of illus-
`tration and description.It is not intended to be exhaustive or
`limit
`the invention to the precise form disclosed. Many
`modifications and variations are possible in light of the
`above teaching. The scope of the present invention is not
`intendedto be limited by this detailed description, but rather
`by the claims appended hereto.
`Whatis claimedis:
`
`1. A menu authoring system on a computer processor
`consisting of,
`an interactive software means to build and maintain a
`
`collection of menu data using an open hierarchical data
`structure to organize said collection of menu data into
`a plurality of lists and a plurality of paths to said
`plurality of lists;
`
`10
`
`15
`
`20
`
`30
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`a software means to merge a subset of said collection of
`menu data with hypertext source code in order to
`generate a block of source code that can produce a
`subset of list menus in a content menu on an end-user
`client computer that correspond to a subset of said
`plurality of lists and said plurality of paths in said open
`hierarchical data structure;
`a software meansto assign hypertext links in said block
`of source code to locations within the same said block
`of source code that links a list item in one list menu to
`anotherlist menu located within the same said block of
`source code;
`a software meansto generate a hypertextfile that includes
`said block of source code that produces said subset of
`list menus on said end-user client computer in a client
`server network;
`a software meansto generate a plurality of said hypertext
`file where each said hypertextfile represents a sub

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