throbber

`
`T
`
`.
`
`_
`
`,
`
`I
`
`‘_
`
`~.
`,:
`A
`"InIeInationeIISymposjgm.
`'
`.
`'
`A
`m Info—Tech 94. .
`
`
`
`5
`
`
`
`
`
`”It
`October 11-13, 1994
`
`Kobe Chamber of Commerce and Industry
`
`Program & Abstraéfi
`
` Sponsored by
`
`
`
`O
`
`Hyogo Prefectural Government“
`City of Kobe
`Kansai Institute of Information Systems
`
`Suppofied by
`.
`.
`
`Ministry of International Trade & Industry
`
`Petitioner MicroSoft COrporation 4 EX. "1078, p;C6€éi‘r'
`
`Petitioner Microsoft Corporation - Ex. 1078, p. Cover
`
`

`

`international Symposium“lofo-Teoh ’94”; October 11-13, 1984, Kobe. Japan
`“nun—-nuns—unusu-nun—.m..«.-——pu—~g——.———.—~u—_v~.—~..~uu—s~-_—-nn—-
`
`
`
`Zelig: Automating Database Provision for the World—~Wide Web*
`
`Carlos A. Vgrelg *‘i
`Na tionnl Center for Supercomputing Applications
`University of Illinois at Urbaua»Champaign
`cvarcla @ncsa. rziuc. edu
`~
`
`Abstract
`
`The World~Wide Webibriogs a global information universe into existence using available technology
`chrnors~Lee et a1. 1992}. In order to fully realize the benefits of this information system, methodologies
`need to be dovelopod for the creation of scripts that query existing databases and produce effective user
`interfaces, Present practice falls short of this goal in two areas; first, interface changes require direct
`‘
`modification of the scripts, and second. user interfaces are hard, in the sense that they don't adapt to
`database usage.
`
`We presenr Zelig. a schemawbased approach to HTML document generation that addresses both these
`problems. First, Zelig uses ZH‘I‘ML schemata, which are HTML documents commented with directives
`for docurrient generation. And second, Zolig contains an expert module which gives advice regarding the
`underlying data structures and interface design issues. This approach allows an? or evolving database
`applications that keep track of usage and self—adapt to increase database efficiency and to improve
`human~computer interaction As an example, we have used this approncjn to automatically generate four
`different 3751 ms! interfaces to the 0280 phone: nameservcr database software.
`Notes
`
`" This is a reprint with minor modifications of {Yards and Hover 1994] to be presented at Inlo'rech ’94, Japan.
`** This paperls available in hypertext at the WV URL: ltttp://fiakor.ncsa.uluc. edw8080/ITP4szzl
`Underlined items are bypcrllnks. Interface figures are links to the cormpontling programs.
`1. Introduction
`
`In order to fully realize the benefits of the World—Wide Web, we need to be able to effectively
`interchange inlormarioa with existing databases. Common Gateway Interface scripts [McCool
`1993] are programs dovoloped to perform this communication between database servers and WWW
`clients.
`
`‘7
`
`Fig 1. Purpose of a script in a WWW server [Bemers~Lee & Cailliau 1992].
`
`:
`These scripts are written in any programming language (like C, CH or PERL) and their main
`
`13
`
`Petitioner Microsoft Corporation - EX. 1078, p. 1
`
`Petitioner Microsoft Corporation - Ex. 1078, p. 1
`
`

`

`
`
`functions are;
`
`v To receive the infomalion from the WWW client under the hypertext transfer protocol
`(http) [Berncrs~Lee 1993].
`_
`c To perform a query for the database server. allowing the WWW server to act as a database
`client.
`c To parse the database server results.
`c To generate an HTML document [Berncrs~Lee & Connolly 1993} and send it to the VNAV
`client.
`
`We are addressing two difficulties that CGI script developers find very often: how to modify their
`generated user interfaces without changing the source code of the programs, and how to generate
`flexible enough interfaces to meet the needs of very different types of users.
`in order to modify the user interfaces created by C61 scripts. currently developers have to go
`through a difficult two—level process. First, to change the script that generates the hypertext
`documents. Then. to make sure that the generated documents satisfy the original interface
`specifications. Our schema—based HTML generation reduces the complexity of this task by using
`schemata, where changes to the interface can be performed more directly.
`Another problem lies in the generation of soft user interfaces to existing databases. Current WWW
`hypertext interfaces to existing databases [Ng 1993] are hard, in the sense that they do notevolve
`according to usage statistics or particular user data inputs. This issue becomes crucial if we consider
`the difficulty in predicting the usage of a world-wide accessed database both in terms of the way in
`which data is used and the change in demand for items over time. We have followed a
`schema—based approach, inspired by other program synthesis researchers [Dershowitz 1983,
`Bhansali 1991], to overcome this problem.
`The presented approach allows the interface and the database to evolve based on usage statistics and
`expert rules for database design and humanwomputer interaction. Thus, we have identified two
`main components in the problem of generating design evolution decisions for database applications
`at run~tirnez changes in the underlying data structures and in the user interface.
`Following is a guide to the paper: In section 2, we present a methodology for schema selection and
`instantiation based on current database transaction results end ZH‘I‘ML schemata. Section 3 is a
`description of the mm‘n heuristics uscd for modification to underlying data structures and user
`interfaces. Section 4 presents several running examples based on the database software for phone
`directory nameservcrs developed at CCSO {Burner 1992]. Finally, in section 5. we present some
`conclusions.
`
`2. Schema~Besed HTML Generation
`in traditional HTlvfl. 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 a
`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 theinformation that is provided by the schemata to the scripts for
`document generation. Then, we will give a description of ZHTML, the language to write these
`schemata, which is an enhancement to HTML incorporating directives for database interface
`generation.
`The scripts base their hypertext generation notonly on the current parsed database query results, but
`also on existing ZHTML schemata. We can further categorize this information as:
`o Current database transaction results. These are the results generated by a query to a
`database. We assume that the script knows how to interact with the database server, parse its
`results, and standardize the query information to the following taxonomy:
`
`l4
`
`Petitioner Microsoft Corporation - EX. 1078, p. 2
`
`Petitioner Microsoft Corporation - Ex. 1078, p. 2
`
`

`

`l
`
`zraversaLrype (which can vae the, value TABLES, RECORDS. or FIELDS) and returns the
`output from ZETML body instantiated to each of tho loop elements in the, query.
`
`As an example. this is a schema for browsing a phone database. Wc will Show two different
`instantiazions depending on two different user queries:
`
`o 311;; fig; QIIQD' (233mm asks for the names and phone numbers of all entries with the name
`Hardin sorted ascondenrly. Our schema instanfiates such a query to this ETML file, which
`in turns is displayed by the browser as hypertext:
`
`
`
`
`
`0 $2113; 5929116 smog gamma asks for the same entries, but it also queries their address.
`Additionally the order is descendant, as opposed to ascendent. This the generated H11 ML file
`and its corresponding nxmgcxt 011mm.
`
`3. Soft WWW Database Applications
`
`Current WWW hypertext interfaccs to existing databasos are hard, in the sense, that may do not
`evolve according to usage statistics or particular user data inputs. This issue becomes crucial if we
`considcr the; difficulty in prodicling the usage of a world-wide accessed database both in terms of
`the way in which data is used and the change in demand for items over time. We have idemificd
`two main components in the problem of generating design cvoiufion decisions for database
`applications at run—time: changes in the underlying data structures and in the mast mterfacc.
`
`'
`
`‘7
`
`Petitioner Microsoft Corporation - EX. 1078, p. 3
`
`Petitioner Microsoft Corporation - Ex. 1078, p. 3
`
`

`

`Fig 2. Difference between hard and soft (16358115 [Varela & Hayes {9931'
`
`Modifications to the underlying data structures of the dalabase are intended to optimize access time
`and storage space in a global manner {they are directed to the database server, and are invisible to
`the WWW clients.) These modifications include database physical reorganization issues such as
`sorting tables and creating and deleting indexes. Our proposed methodology allows two specific
`dale structure changes {Varcla &. Hayes 1993]:
`
`. simplification of many-twmauy relationships between objects because of large branching
`factors, and
`o creation of new objects versus field replication to improve access time-,5.
`
`The rules for derivingvthe changes in data structures. were written in OPSS. a production system
`developed at CMU [Forgy 1981}.
`
`3.2. User Interfaces
`
` 3.1. Underlying Data Structures
`
`Modifications to the user interface are intended to provide a more effective human—computer
`interaction for database operations. Different users may have very different views of the data,
`individual interfaces need not be the some, instead they should evolve as a result of collected usage
`statistics. This interface evolution includes:
`
`- changing default values to reflect most commonly accessed data,
`a reorganizing the order of user interface actions, to make variables with high variance first.
`These are the vazinbles inthe forms whose value is more often changed from the default
`value.
`«v changing the level of access to certain database operations (like sorting, filtering and
`reporting options) according to their usage. Frequently used operations would be directly
`accessible, while rare operations would go to a second level of access (following a link.)
`This would allow the generation of smaller documents and provide a more friendly
`interface.
`
`4. An Example: The CCSO Phone Namescrver Database
`
`We have automatically generated four different interfaces following our schema—«based approach to
`writing scripts. If you are reading this abstract in a forms—based WWW browser, such as NCSA
`Mosaic [NCSA 1993]. you can follow the links to execute these interfaces.
`
`
`
`*‘
`
`w rs— ed
`
`'
`
`i
`
`using chemxsmonx tag.
`
`18
`
`Petitioner Microsoft Corporation - EX. 1078, p. 4
`
`
`
`l
`
`Petitioner Microsoft Corporation - Ex. 1078, p. 4
`
`

`

`5.
`.1
`e13
`
`iiA r
`
`o On an application level.
`The most general database information. For example: name, number of tables,
`default query tabic.
`o On an object level.
`The information for a specific object of our application. For example the table
`PEOPLE may have: name, number of records. number of fields. default field for
`queries.
`0 On afield level.
`
`The most specific infomation about a query for a given record. For example: field
`names, default field values, current field values, length, typo. and access policy.
`
`. Existing ZHTML schemata. Tnesc are provided by the interface designer, but can be easily
`created by modifying an HTML document with the desired output from the current database
`query. We have created several schemata for the phone database cxample:
`o WAS-based user interface schema.
`This schema is based on the Wide Area Information Servers system [Kahlc &
`Medlar 19911] and uses an m <ISIN'DEX> tag. It is important to note that there
`are many indexed databases in the Web that use this information system as the basis
`for database search.
`0 Forms—based user interface schema.
`
`This schema makes use of the forms~based WWW brewers to provide a more
`friendly userinterface with menus and widgets to perform the most common
`database operations.
`0 Applicatomspccific user interface schema
`This schema is usually an advanced interface tailored to the specific needs ofa
`database user interface. It still allows cyclution, in the sense that certain constructs
`don‘t imply any order or level of access in the generated HTML documents.
`
`A ZHIML 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.
`
`The ZH'I'ML commonts are similar to HTML constructs. They are generally of the form:
`<IZTAG> ZH’I‘ML body <l/ZTAG>
`
`”there are several chig directives with different functionality, including: print a variable value, run
`an external function printing its output, conditionally include the ZH'I'ML body. traverse all the
`current database records invoking chig recursively on the ZHTML body and traverse all the fields
`in a specific object.
`
`Following are the main constructs of this Document Type, even though a formal Document Type
`Definition (like the DTD shown for HTML in [Bowers—Lee & Connolly 1993]) is still in progress:
`. < lZPRIN’I‘ variable>
`
`returns the current value of an HTML form variable, or an application—level variable. If the
`variable is object~ievel orfield—level, then it needs to be in the scope of a ZI-‘OR tag.
`- <1 ZRUN ext emalfifn>
`runs the script function extemaljn and returns its output.
`c < 3 ZIP cond~expr> ZHTML body <! IZIF>
`returns the output from ZHTML body if cond-axpr is true. It returns the null string
`otherwise.
`
`0 < ! ZFOR TYPE: era versa 1_ time) ZHTML body < 3 IZFOR>
`traverses all the tables. records or fields of the current query, depending on the
`
`17
`
`
`
`Petitioner Microsoft Corporation - EX. 1078, p. 5
`
`Petitioner Microsoft Corporation - Ex. 1078, p. 5
`
`

`

`
`.
`.
`Em,
`
`
`imam:
`
`
`
` Q
`
`
`vvv.a,
`w
`
`
`
`
`
`Ef
`
`
`
`E E
`
`E
`
`Fig 3b. A simple user igtedgcc for this database application. It uses a form and is not
`sophisticated in the output handling, yet it is a useful and simpie gateway to phone
`directories.
`
`«DO‘VQflW-kh) ‘0rr>;f~»a
`In
`“
`.542
`IBM»
`
`n1, -*
`-;w
`
`‘1‘». E
`
`'
`o
`., ,
`
`
`“15.5..“ n,
`
`
`
`
`
`
`..‘~..~:
`
`
`
`.
`T
`,
`.
`
`
`:aaawnggi;
`.
`
`
`m s2 3e:
`
`
`
`
`
`"hi“?! ‘
`tat:- v:
`_- £2;
`an. ,
`
`
`
`
`fax.t t
`
`" 232‘ Wm;-
`
`M ~ .. n52
`
`
`Fig 3c. AW using forms, and parsing the database output to allow
`different sorting, filtering and showing options. The usage given to these options is
`fundamental towards the generation of advice regarding both the user interface and the
`underlying data structures. This schema has been written to be used by different database
`
`18
`
`Petitioner Microsoft Corporation - EX. 1078, p. 6
`
`
`
`Petitioner Microsoft Corporation - Ex. 1078, p. 6
`
`

`

`
`
`
`
`"‘nQJuaAuw—acm-
`
`applications. in other words it is domain independent.
`
`'
`
`v
`31118:?
`
`Fig 3d. And finally an advancm Sis-oz interface for this database application. This interface is
`very domain specific. in the sense thatit has been adapted to work mainly for the phone
`database. The idea is to lot the programmer move from the previous application to this one
`by making simple changes to the generated code.
`"
`
`There are some additional CSO nameserver database interfaces found in the WW, for reference
`and comparison:
`
`a g gcgo Pbgnolxgol: by Ed Kubaitis at CCSO. UIUC.
`c
`an for £2.39 PH goon by Jim Browne at NCSA, UIUC.
`- iii HZ gtaff Phone Book by Andi Kaner at E'I‘H Zuerich, Switzerland.
`
`5. Conclusions
`
`The presented methodology offers an evolving solution to database interface design using an expert
`system. This schema—based approach to HTML rum-time document generation, allows us to make
`modifications to WWW database applications easily by changing the schemata instead of directly
`changing the scripts which generate the hypertext documents. This approach also gives the interface
`designers some freedom in the schemata selection method. which proves useful for generating soft
`user interfaces.
`
`7
`
`As a result of having soft database applications, we have improved previous methodologies in two
`ways. On the one hand, there is increased efficiency in the underlying data structures resulting in
`faster access to the data. On the other hand, there is a more effective communication between the
`database and the users, who may have different views of the same information. This is of great
`signfiicnnce because of the greatly varying needs of the different users in the WWW.
`
`While the initial cost of programming parsers for the ZH'IML schemata may be high, the long
`term benefits of the automatic generation of interface design far Guru/eight the initial effort.
`Ultimately. this procedure offers the user a more efficient, fully customized interface, further
`‘\
`closing the gap between information provision and use.
`Admowlcdgcments
`
`19
`
`
`
`Petitioner Microsoft Corporation - EX. 1078, p. 7
`
`Petitioner Microsoft Corporation - Ex. 1078, p. 7
`
`

`

`
`
`Thanks to the NCSA Softvvare Development Group for their support to the first author, comments
`on this paper and excellent research and working environment.
`
`References
`
`erner —
`
`1
`
`2
`
`T. Berners—Lee. Hyperzext Transfer Protocol Requirements. Internet Working Draft. CERN. Work
`In progress.
`http://t'nfo. cem. ch/hypertext/WWW/Prolocals/HTTP.12th
`Berners—Lge et al. 12221
`T. Berners—Lee, R. Cailliau, J. Groff, B. Pollermann. World—Wide Web: The Information
`Universe. Electronic Networking: Research, Applications and Policy, 2(1), pp. 52~58, Meckler
`Publications, Westport CT, Spring 1992.
`‘
`prJ/firifo. cem. ch/pub/www/doc/ENRAPJZOZpS
`lBerners—Lee & Cailligu 122g
`T. Homers—Lee, R. Cailiiau. World—Wide Web. Submitted to Computing in High Energy Physics
`1992.
`
`*‘"
`
`fiprl/irzfo.cern.ch/pub/www/dac/chepQwawps
`(Ecrncrs-Lee & Connolly 12271
`T. Bernese—Lee, D. Connolly. Hypertext Markup Language: A Representation of Textual
`Information and Metaz'ry’ormation for Retrelval and Interchange, Internet Working Draft. CERN,
`Atrium Technology Inc. Work in progress.
`ht!p.’//Enf0.cemch/hypertexz/WWW/Marki/p/HWLhim!
`[Bhansali 1,991]
`‘
`S. Bilansali. Domain—Based Program Synthesis Using Planning and Derivational Analogy. PhD.
`thesis. University of Illinois at Urbana—Champaign. May 1991.
`[Dcrshowitz 1983]
`N. Dershowitz. The Evolution ofPrograms. Birkhauser, Boston, 1983.
`[Dorncr 1992]
`..
`S. Dormer. The CCSO Nameseiver, Server— Client Protocol. Computing and Communications
`Services Office. University of Illinois at Urbana—~Champaign. July 1992.
`[Forgy 1981]
`Porgy, Charles L. OPSS User’s Manual. Department of Computer Science, Carnegie Mellon
`University.
`[Kahle & Medlar 1991]
`B. Kahle and A. Median An Information System for Corporate Users: Wide Area Information
`Servers. ConneXions -— The Interoperability Report, 501), pp 2—9, Interop, Inc., Nov. 1991.
`
`.
`
`Rob McCool. National Center for Supercomputing Applications, University of Illinois at
`Urbana—Champaign. Common Gateway Interface Overview. Work in progress.
`‘ http.‘//Izoohoo.ncsa.uz‘uc.ed11/cngovervfew.html
`..,
`'
`EQSA 12931
`National Center for Supercomputing Applications; University of Illinois at Urbana—Champaign.
`NCSA Mosaic. A WWWBrowsez: Work in progress.
`http:/Avwwncsa. uiuc. edu/SDG/Sofmare/Mosat’c/Docs/heIp—abour. html
`{Ng 1293
`I. Ng. GSQL: A Mosaic—SQ], gateway. National Center for Supercomputing Applications.
`University of Illinois at Urbana—Champaign. Work in progress.
`http://www. ncsa. uz'uc. edit/SDG/People/jason/pub/gsql/bacbirrafili e re. hrml
`{Varela & Hayes 1993]
`C. Varela, C. Hayes. Automating Design ofDatabase Management Systems. Department of
`Computer Science. University of Illinois at Urbana—Champaign. Technical Reportr.
`.
`y arela and Hayes 1224
`*
`C. Varela, C. Hayes. Zelz'g: Schema—Based Generation of Soft WWW Database Applications. First
`International Conference on the World Wide Web, Geneva, Switzerland, May 25—29, 1994. URL:
`http://fiaker.ncsa.uiuc.eclu:8080WV94hnnl
`
`2O
`
`Petitioner Microsoft Corporation - EX. 1078, p. 8
`
`Petitioner Microsoft Corporation - Ex. 1078, p. 8
`
`

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