throbber
Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page
`
`of 11
`
`Providing Data on the Web From Examples to
`Programs
`
`arks
`Varela aroline
`Haves
`Department of Computer Science
`University of Illinois at Urbana-Champaign
`cvareIa@cs uiuc edu hayescs uiuc edu
`
`URL http.//fiaker
`
`ncsa uiuc edu.8080/WWW94-2/paper html
`
`Abstract
`
`The World-Wide Web provides access to
`global information universe using available technology
`ci al 19921 In order to fully realize the benefits of this information system we are
`system Zelig to provide on-the-fly access to databases
`and dynamic information through
`developing
`effective user interfaces IVarela and Ha es 19941
`
`In this paper we have extended Zelig to generate code for performing conversions from fixed data
`formats into hypertext Consequently information providers only need to give examples of their current
`database reports and the desired hypertext to be generated for those particular examples Zelig produces
`the program to extract relevant data from the reports and the schemata to drive the hypertext generation
`the CCSO nameserver software providing data
`process We include as an example an interface to ph/gi
`for academic institutions around the world
`
`Introduction
`
`The World-Wide Web offers easy access to
`universe of information by providing links to
`documents stored on world wide network of machines in
`very simple and understandable fashion
`Much of its success
`is due to the simplicity with which it allows users to pro\ide use and refer to
`information distributed geographically around the globe Another important feature is its compatibility
`with other existing protocols such as gopher ftp netnews and telnet Furthermore it provides users
`with the ability to browse multimedia documents independently of the computer hardware being used
`
`The World-Wide Web is based on the HyperText Transfer Protocol HTTP and the HyperText Markup
`Language HTML HTTP is
`generic object-oriented stateless protocol to transmit information between
`19921 HTML is
`servers and clients
`simple yet powerful platform-independent
`document
`and Connollv 19931
`
`language
`
`When the documents to be published are dynamic like those resulting from queries to databases the
`hypertext needs to be generated For this purpose there are scripts which are programs that perform
`conversions from different data formats into HTML on-the-fly Even tough for fixed data formats these
`scripts may be simple providers need them to be able to publish their data on the Web Furthermore
`even basic changes to the data formats or the generated HTML imply changes
`to these scripts
`
`To overcome these problems Zelig generates scripts that base their HTML generation on schemata
`941 In this research we extended Zelig to additionally produce code for performing
`conversions from fixed data formats into HTML There are two main stages in this conversion process
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 1
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page 2of 11
`
`extracting database record and field infonnation from your traditional database report and instantiating
`particular schema
`that categorized information along with the query information into
`
`Using Zelig to provide access to dynamic information in
`fixed format providers only need to give
`text reports and the desired hypertext to be generated for those particular
`examples of their current
`examples Our system Zelig produces the program to extract relevant data from the reports and the
`schemata to drive the hypertext generation process Thus it becomes easier to provide effective user
`interfaces to dynamic information in the World -Wide Web
`
`In the next section we elaborate more on the server-client model used by the World-Wide Web and the
`the problems faced by providing WWW access to
`we highlight
`functionality of scripts In section
`we explain the architecture of Zelig our system that performs schema-based
`dynamic data In section
`HTML generation In section
`gateway to the CCSO ph/qi
`we demonstrate the ideas presented with
`we give some conclusions and results
`nameserver databases Finally in section
`
`Background
`
`21 The World-Wide Web
`
`Server-Client Model
`
`The World-Wide Web consists of network of computers which can act in two roles as servers
`providing information or as clients requesting for information
`
`Fig 2.1 Server-Client Architecture
`
`and
`
`ailliau 19921
`
`This communication is performed under the stateless HTTP protocol
`stateless protocol connections
`In
`ithout keeping state information The server actions depend on
`are created processed and closed
`predefined methods such as GET POST PUT and DELETE
`
`The resulting information can be served in different
`format types and it
`is the clients responsibility to
`consistent and clear manner The most common format is HTML which contains
`in
`present
`information and its logical structure but leaves out those details particular to specific browser
`
`it
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 2
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page
`
`of 11
`
`implementations
`
`It
`
`it could also provide
`server can provide static documents to the clients but
`is important to note that
`ords the clients can also request
`transparent access to databases or other information sources In other
`for specific queries that should be processed by the server Scripts or gateways take care of this
`processing These are programs that communicate with the WWW server software under
`predefined
`interface The most common currently used interface is the NCSAs Common Gateway Interface CGI
`19931
`
`2.2 Scripts WWW Gateways to Databases
`
`Scripts are CGI compliant programs that act as clients to the applications owning the data and
`produce the corresponding hypertext for the requested infomrntion They communicate with the WWW
`servers through an interface in this case CGI which establishes how to pass the information from the
`WWW client to the script and from the script back to the WWW server and subsequently to the WWW
`
`client
`
`Broy or
`
`WDrkiDn
`
`kcI
`
`NEwork
`
`Fig 2.1 Purpose of script and WWW server
`
`and Cailliau 1992
`
`These scripts are written in any programming language like
`together with the WWW sen er are
`
`or PERL and their main functions
`
`To receive the information from the WWW client under the hypertext transfer protocol HTTP
`To perform query for the database server allowing the WWW server to act as
`To parse the database
`To generate an HTML document and send it to the WWW client
`
`server results
`
`database client
`
`Providing Dynamic Data on the Web
`
`After the short introduction in the previous section to the mechanisms under the Web lets see
`why we
`ant to automate the script creation process
`
`To provide access to many information sources that are currently using non-hypertext formats
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 3
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page 4of 11
`
`There are many fixed data formats for which we would need to create different scripts For
`example phone information bibliographic databases BibTeX papers LaTeX electronic mail
`server administration usage statistics logs UNIX manual pages file directories
`To more easily design hypertext interfaces to databases by making changes at the level of
`schemata as opposed to modifying recompiling and retesting scripts
`To create evolving user interfaces by instantiating schemata to most common accessed fields for
`queries and changing the order or level of the different user interface actions
`To increase the functionality of the data management system For our phone example in section
`we have included sorting records which was not
`in the original ph/qi
`functionality
`To reuse the schemata across different databases
`to provide similar look-and-feels for users
`
`Zelig From Examples to Programs
`
`framework for Zelig Scripts generate HTML reports based on
`Figure 4.1 shows
`general
`instantiating schemata to the query info and the categorized database output The schemata can be taken
`from library or generated from HTML report examples The query info is created by the HTML
`Query Form which is provided by the application designer This information is given to the traditional
`report in ajIxed format This report is parsed and relevant
`database manager system which returns
`information is extracted and categorized The resulting HTML Report can contain links to more
`information on particular records or even additional HTML Query Forms for more database processing
`
`In section 4.1 we see how the HTML instantiation process takes place In section 4.2 we see how to
`extract Query Info from the HTML Query Form how to extract Categorized Output from the traditional
`schema from user-given HTML Examples
`DB Report and how to abstract
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 4
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page
`
`of 11
`
`4.1 Schema-Based HTML Generation
`
`In traditional HTML generation user interfaces are created by scripts directly This implies that
`changes to interfaces have to be performed at the level of the source code of the script We present
`methodology based on schemata to allow designers to debug and maintain the user interfaces without
`directly changing the scripts
`
`In this section we will explain the information that
`is provided by the schemata to the scripts for
`description of ZHTML the language to write these
`document generation Then we will give
`to HTML incorporating directives for database interface generation
`schemata which is an enhancement
`
`4.1.1 Instantiating schemata
`
`The scripts base their hypertext generation not only on the current parsed database query results
`but also on existing ZHTML schemata We can further categorize this information as
`
`Current database transaction results These are the results generated by
`query to
`We will see in section 4.2 how to interact with the database server parse its results and
`standardize the query information to the following taxonomy
`
`database
`
`information For example name number of tables default query
`
`On an application level
`The most general database
`table
`On an object
`level
`specific object of our application For example the table PEOPLE
`The information for
`may have name number of records number of fields default
`field for queries
`On afield level
`The most specific information about
`given record For example field names
`query for
`field values length type and access policy
`field values current
`default
`
`Existing ZHTML schemata These are generated either from HTML report examples given by
`the interface designer or taken from library Some library examples are
`
`ISINDEX-based user interface schema
`This schema is based on the HTML ISiNDEX tag It
`is important to note that there are
`in the Web that use WAIS as the basis for database
`search
`many indexed databases
`Forms-based user interface schema
`This schema makes use of the forms-based WWW browsers to provide more friendly user
`interface with menus and widgets to perform the most common database operations
`Application-specific user interface schema
`This schema is usually an advanced interface tailored to the specific needs of
`user interface It still allows evolution in the sense that certain constmcts dont imply any
`order or level of access in the generated HTML documents
`
`database
`
`4.1.2 ZHTML Language Description
`
`ZHTML schema is an HTML document which has been annotated with comments which are
`used as directives for the script These comments are parsed and executed by the script and the resulting
`text is placed instead of the original comment This is performed at run-time using the current database
`query results Future work includes writing script code generators departing from these schemata
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 5
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page
`
`of 11
`
`The ZHTML comments are similar to HTML constructs They are generally of the form
`
`ZTAG ZHTML body /ZTAG
`
`variable value run an
`There are several Zelig directives with different functionality including print
`function printing its output conditionally include the ZHTML body traverse all the current
`external
`database records invoking Zelig recursively on the ZHTML body and traverse all
`the fields in
`specific
`object
`
`formal Document Type
`Following are the main constructs of this Document Type even though
`Definition like the DTD shown for HTML in
`Connolly 19931 is still
`in progress
`
`ZPRINT variable
`returns the current value of an HTML form variable or an application-level ariable If the
`vanable is oblect-level or field-level
`then it needs to be in the scope of
`ZEOP tag
`ZRUN externalfn
`runs the script function external_fn and returns its output
`ZHTML body /ZIF
`ZIF condexpr
`returns the output from ZfJT1ML body if cond-expr
`is true It returns the null string otherwise
`type ZHTML body /ZFOR
`ZFQR TYPEtraversal
`traverses all the tables records or fields of the current query depending on the traversal
`type
`which can be the value TABLES RECORDS or FIELDS and returns the output
`from ZHTIVfL
`body instantiated to each of the loop elements in the query
`
`4.2 Automating the Database Report Extraction
`
`4.2.1 Database Output Categorization
`
`Well concentrate on database manager systems that produce reports with
`fixed format These
`reports usually contain tabular information where application-level data is in the beginning and end of
`the produced report For example the directory being listed or the university being accessed for phone
`information In the middle we often find repetitive information in
`structured fixed way Its repetitive
`because there is one entry for each record matching the original query These entries are usually
`record separator which allows us to differentiate among records Finally we also have
`separated by
`field separator which allows us to divide record information into yet more specific detail
`
`file listing example the first
`line has application-level
`information the total space occupied by the
`In
`directory Then we see records files that in turn can be divided into fields name size owner date..
`What we do is to guess where these separators lie and confirm them with the user prompting her for
`any unknown information Then we proceed to generate the data structure necessary to instantiate the
`ZHTML file once new queries get requested
`
`4.2.2 Generating the Query Info from the HTML Form
`
`HTML forms contain
`form may contain three variables
`name and
`value pair For example
`directory mask and sort-by which have default values and get instantiated to the user-given values
`when the form is submifted
`
`Note that the query info described above can contain information that will not be processed by the
`DBMS but instead it
`is functionality provided additionally by Zelig such as sorting by
`specific field
`
`http //archive.ncsa
`
`uiuc edu/SDG/IT94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 6
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page
`
`of 11
`
`Here in this subsection we work on generating the database query from the form variable bindings and
`the given query example
`
`In our examples ve mainly have to create
`
`Is directory/mask or
`ph name return fields
`
`4.2.3 Generating Schema from Given Hypertext Example
`
`particular example how we want our hypertext to look like i.e we have
`Once we know for
`HTML files for specific queries we can abstract those ZHTML schemata to be instantiated to other
`queries as well
`
`We do this by querying the user when
`arent sure if the information parsed is relevant needs to be
`categorized to subsequently be used by the schema instantiation algorithm or it
`
`separator
`
`is just
`
`In the following section we show an example illustrating
`instantiations depending on the database query
`
`schema and
`
`couple of its possible
`
`Running Example The CCSO Phone Nameserver Database
`
`The CCSO namesen er software provides
`information from academic institutions
`browsing HTML files in NCSA Mosaic for
`
`sen er-client model for accessing phone directory
`19921 The figures in this section have been created
`1993
`
`The following is an HTML Query Form to access those databases
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 7
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page
`
`of 11
`
`LThMt Of
`
`jb hJh
`
`schema for instantiating the categorized database information once
`The following link contains
`query has been made We will show two different instantiations depending on two different user queries
`for this same schema
`
`The first guer example asks for the names and phone numbers of all UIUC entries with the name
`Hardin sorted ascendently Our schema instantiation for such
`query results in the following
`HTML file which in turn is displayed by the browser as the hypertext shown in the next figure
`
`Each of the records is
`
`previously visited have
`
`hyperlink to more information on that particular person Also links
`different color
`
`Our second query example asks for the same entries but it also queries their address Additionally
`as opposed to ascendent Following the links you can see the HTML
`the sort order is descendent
`file generated and its corresponding
`pertext output
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 8
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page
`
`of 11
`
`Universily of Illinois at UrbanaChampaign
`
`Phone Directory
`
`Browse
`
`Hu1r
`Hrc1ir J.ni
`F1i un Di1d es1e
`Hai ir E1.ar
`ri-
`ffj un .r
`ir T.-ni.--1
`
`2iie
`
`Pd1r
`
`HaJTdln
`
`HjIJi.fl Rc
`Heidin J11m
`ic..a
`
`Pail Cuitir
`r.jl
`
`1.nn
`
`in
`
`217 3324319
`217 3.529344
`217 7E22i16.5
`333i 000
`217
`217 351Ei35
`3330340
`217
`17 .r33.
`217 2443473
`i7 2443241
`217 3330419
`17 77i
`17 3334601
`2171
`.3679762
`217 344416
`
`Conclusions
`
`The success of distributed information system lies heavily on the simplicity for generating
`providing using and referring to information The World-Wide Web is composed by excellent
`protocols tools and languages to perform these actions for static information We have designed an
`extension to this technology
`to easily provide access to dynamic information such as the result of
`queries to existing databases
`
`The functionality for our system Zelig was described in this paper Its main improvements over
`include
`previous technology
`
`providing code generation for converting fixed data formats into hypertext
`
`allowing evolving user interfaces for more effective human -computer interaction
`
`increasing the functionality of applications owning the data by offering additional operations such
`as sorting and
`
`reusing HTML schemata to provide similar look-and-feel
`
`interfaces across different applications
`
`hyperlinked example giving WWW access to the CCSO ph/qi nameserver softv are This
`We provided
`gateway running at NCSA as of September 1994 provides phone directory information for about 250
`academic institutions around the world and receives more than
`thousand queries per day
`
`Ultimately Zelig offers the user an effective way to generate fully customized interfaces to dynamic
`data further closing the gap between information generation provision and use
`
`Acknowledgements
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 9
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page 10 of 11
`
`Thanks to the NCSA Software Development Group for their helpful comments on this paper and
`research and working environment Additional
`thanks to Professor Dershowitz for his
`their excellent
`comments and motivating research
`
`itz 19831
`
`References
`
`FBemers-Lee 19921
`Bemers-Lee I-fvpertext Transfer Protocol Requirements Internet Working Draft CERN Work
`in progress
`http info.cern.ch hypertext WWWProtocols
`
`HTTP.html
`
`IBerners-Lee et al 1992
`Pollermann World-Wide Web The Information
`Cailliau Groff
`Bemers-Lee
`Universe Electronic Networking Research Applications and Policy 21 pp 52-58 Meckler
`Publications Westport CT Spring 1992
`ftp info cern ch pub www doc ENRAP 9202.ps
`
`IBerners-Lee and Cailliau 1992
`Cailliau World-Wide Web Submitted to Computing in High Energy Physics
`Bemers-Lee
`
`1992
`ftp info cern ch pub www doc chep92www.ps
`
`IBerners-Lee and Connolly 1993
`Bemers-Lee
`Representation of Textual
`Connolly Hjpertext Markup Language
`Information and Metainformation for Retrieval and Interchange Internet Working Draft CERN
`Inc Work in progress
`Atrium Technology
`http info cern ch hypertext WWWMarkUp HTML html
`
`19831
`Dershowitz The Evolution of Programs Birkhauser Boston 1983
`
`1992
`Domer The CCSO Nameserver Server-Client Protocol Computing and Communications
`Services Office University of Illinois at Urbana-Champaign July 1992
`
`19931
`Rob McCool National Center for Supercomputing Applications University of Illinois at Urbana-
`Champaign Common Gateway interface Overview Work in progress
`cgi overview.html
`http hoohoo.ncsa.uiuc.edu
`
`FNCSA 1993
`National Center for Supercomputing Applications University of Illinois at Urbana-Champaign
`WWW Browser Work in progress
`NCSA Mosaic
`SDG Software Mosaic Docs help-about.html
`http www.ncsa.uiuc.edu
`
`IVarela 1994
`Varela Zelig Automating Database Provision for the World- Wide Web Ninth International
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 10
`
`

`
`Second International WWW Conference
`
`Chicago Oct 17-21/94
`
`Page 11 of 11
`
`Symposium on Information Systems Kobe Japan Oct 11-13 1994 Invited talk
`http JIaker ncsa uiuc edu 8080 1T94 html
`
`and Hayes 19941
`Hayes Zelig Schema-Based Generation of Soft WwWDatabase Applications First
`Varela
`International Conference on the World Wide Web Geneva Switzerland May 25-29 1994
`http Jiaker ncsa uluc edu 8080 WWW94 html
`
`Carlos
`
`Varela cvarela@cs.uiuc.edu
`
`Received his B.S in Computer Science
`at the University of Illinois
`at Urbana-Champaign
`where he is currently MS/Ph.D student His research interests include integrating formal methods of
`intelligence in software engineering specially information systems
`
`artificial
`
`Carlos has also been
`research assistant at the National Center for Supercomputing Applications
`NCSA since 1991 At NCSA he has worked in different projects including an alpha shapes visualizer
`NCSA Wal is World-Wide Web browser NCSA Mosaic for XlWindows and World-Wide Web
`server NCSA htlpd for Unix
`
`In the past Carlos has been Math and Computer Science teaching assistant for classes up to
`differential equations and information systems at the Unix ersity of Los Andes Bogota Colombia He
`for Arthur Andersen Co and an Artificial
`has also been
`Intelligence fellow at the
`consultant
`Beckman Institute for the Advancement of Science and Technology
`
`Caroline
`
`Hayes hayes@cs.uiuc.edu
`Received her B.S in Math MS in Knowledge-Based Systems and Ph.D in Robotics all from
`Carnegie Mellon Unix ersit
`
`Currently she is an assistant professor at the Department of Computer Science and at the Beckman
`Institute of the University of Illinois at Urbana-Champaign
`
`Her research interests include artificial
`intelligence specially planning design abstraction and
`systems as well as computer-aided manufacturing and design Professor Hayes is
`knowledge-based
`particularly interested in tools evaluating criticizing and optimizing designs in areas from machined
`parts intersection design roofing design and software design
`
`http //archive.ncsa
`
`uiuc edu/SDG/1T94/Proceedings/DDay/varelalpaper.html
`
`10/1/2002
`
`Petitioner IBM – Ex. 1076, p. 11

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