throbber
United States Patent [19]
`Leaf
`
`USOOS 754772A
`Patent Number:
`[11]
`[45] Date of Patent:
`
`5,754,772
`May 19, 1998
`
`[54] TRANSACTION SERVICE INDEPENDENT
`HTTP SERVER-TO-TRANSACTION
`GATEWAY
`
`[75] Inventor: Shawn T. Leaf, St. Paul, Minn.
`
`[73] Assignee: Unisys Corporation, Blue Bell. Pa.
`
`[21] Appl. No.: 622,099
`[22] Filed:
`Man 26’ 1996
`
`[51] Int. Cl.6 .................................................... .. G06F 15/16
`[52]
`395/200.33; 395/610
`[58] Field of Search ................................... .. 395/604, 610,
`395/762. 335. 200.03, 200.09, 200.12, 200.33,
`200.31. 200.47, 200.97
`
`[56]
`
`References Cited
`
`U'S' PATENT DOCUMENTS
`9/1988 KolJin et a1. .......................... .. 395/604
`4,774,655
`4,881,166 11/1989 Thompson et a1
`395/608
`5,129,032
`7/ 1992 Tir??g 6t 31
`395/600
`5,423,776
`6/1995 Roth?led ------- --
`395/600
`5530352 6/1996 Meske’ Jr" et a1
`395/610
`5,572,643 11/1996 Judson .......... ..
`3951793
`5,596,744
`1/1997 Dao et a1.
`395/610
`5,623,656 4/1997
`.. 395/610
`5,634,053
`5/1997
`
`OTHER PUBLICATIONS
`
`Francis Heylighen, World-Wide Web: a distributed hyper
`media paradigm for global networking. Apr. 18, 1994,
`IEE/INSPEC Database Updates and Additions (1960-95)
`doc. # 1374618; Proceedings. Share Europe Spring Confer
`ence pp. 355-368.. 1994.
`
`Primary Examiner-Lance Leonard Barry, Esq.
`gttgrmey, Agent, or Fzrm—Charles A. Johnson; Mark T.
`
`ABSTRACT
`
`5
`7
`[
`1
`A system which makes prior art On-Line Transaction Pro
`Cessing (OLTP) systems and their associated databases
`accessible using HyperText Transport Protocol (HTTP)
`interfaces. The response time for an on-line user seeking
`HTTP access to the transaction processing system is mini
`mized by pre-establishing a transaction gateway client hav
`ing a static connection to the transaction processing system.
`In addition, the HTTP access to the transaction processing
`system is available for multiple concurrant users. The sys
`tem further provides a gateway that is independent of the
`underlying service provided by the transaction processor,
`whereby the same gateway client is capable of usage with
`di?-erent databases and O Crations ther?on
`P
`‘
`
`36 Claims, 12 Drawing Sheets
`
`BRowsER
`
`9 Q -
`
`BROWSER
`
`16
`
`‘8
`8R1: EATEWE/IIHK‘TITREATJ'
`WEB
`:
`
`NAIIED PIPE
`1IgSTANCES
`
`4o
`
`TRANSACTION
`PRocEssoR
`coouuzcnous
`
`1
`
`54
`
`3
`
`TRANSACTION
`
`DISTRIBUTED
`
`84\1:§A1E!JQ'E[K_"iR§AB_<
`
`\ msn'wces <
`
`I)
`
`SYSTEM
`
`8B\4CEATEWA_YIIFK_TPTREAID:<IGI>
`
`72
`
`<:5:>
`
`74
`
`it
`
`52
`
`10s
`
`ENTERPRISE
`SERVER SYSTEM
`/56
`
`DISTRIBUTED
`
`SYSTEM
`
`CONNECTIONS
`
`Mm
`
`WEB SERVER
`SYSTE"
`
`78
`< HTMLnocuuENT
`
`|
`
`76
`< VIEW BUFFER ]
`
`28
`
`HTIIL - HYPERTEXT MARKUP LANGUAGE ‘
`TXN -TRANSACT1ON
`uRL - UNIFORM REsouRcE LocAToR
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 1
`
`

`

`US. Patent
`
`May 19, 1998
`
`Sheet 1 of 12
`
`5,754,772
`
`mm
`
`mm
`\ 0..
`
`m?
`
`225555 /;3
`
`F EamE
`
`mm>>
`
`mmmBOmm
`
`mm;
`
`mmmBOmm
`
`mm;
`
`5530mm
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 2
`
`

`

`US. Patent
`
`May 19, 1998
`
`Sheet 2 of 12
`
`5,754,772
`
`mm;
`
`mum>>omm
`
`2
`
`mm;
`
`mumz'omm
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 3
`
`

`

`US. Patent
`
`May 19, 1998
`
`Sheet 3 of 12
`
`5,754,772
`
`o_
`
`mm;
`
`mmmBOEm
`
`3
`
`mm;
`
`mumgomm
`
`«—
`
`mm;
`
`mmwBomm
`
`ormm;
`
`mmmgomm
`
`mw_mmmm_._.zm
`
`
`
`Empm>mmm>mmm
`
`omhamEkmE
`
`zo_._.o<wz<mh
`
`wzfiwmoomm
`
`Emhm>m
`
`mzozbmzzoo
`
`“Wham—:55
`
`20.5.9325":
`
`Gz_mmmoomm
`
`Emhm>w
`
`zo_._.o<mz<E.
`
`><>>m._.<w
`
`.Fzmfio
`
`mmozfirmz.
`
`zo_._.o<mz<mh
`
`memmmoomn—
`
`szEOmzzoo
`
`ow
`
`maEomE<z
`
`mmozflmz.
`
`or
`
`55memm; onEmz
`
`m0.59m
`
`
`
`
`
`m6<=02<4magma:SEE—mat.—..45...:
`
`zo_h0<wz<E.I25.
`
`
`
`
`
`$0.530.—mOEDOmmmEcon—.2:I
`
`4m:
`
`5396
`
`Petitioner Microsoft Corporation - EX. 1060, p. 4
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 4
`
`
`
`
`

`

`US. Patent
`
`May 19, 1998
`
`Sheet 4 0f 12
`
`5,754,772
`
`10
`
`WEB
`BROWSER
`
`REQUEST
`FOR HTML!
`(URL)
`DOCUMENT
`
`HTML
`DOCUMENT
`
`URL WITH
`TXN INPUT
`
`HTML
`DOCUMENT
`WfI'XN DATA
`
`WEB
`SERVER
`
`URL WITH
`TXN INPUT
`
`HTML
`DOCUMENT
`WITXN DATA
`
`TRANSACTION
`GATEWAY
`CLIENT
`
`6
`
`SERVICE
`REQUEST WI
`VIEW BUFFER
`
`VIEW BUFFER
`WITH TXN
`DATA
`
`DISTRIBUTED
`TRANSACTION
`PROCESSING
`SYSTEM
`
`TXN - TRANSACTION
`URL - UNIFORM RESOURCE LOCATOR
`
`Figure 4
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 5
`
`

`

`U.S. Patent
`
`May 19, 1998
`
`Sheet 5 0f 12
`
`5,754,772
`
`WEB SERVER
`SYSTEM
`INITIALIZATION
`PROCESSING
`
`ESTABLISH VIEW FILE
`ON WEB SERVER
`
`302
`
`/ 304
`
`I
`
`ESTABLISH A WEB-VIEW FILE ON
`THE WEB SERVER TO CREATE A
`NAMED MAPPING BETWEEN THE
`NAMED FIELDS OF THE VIEW
`DEFINITION AND THE VIEW BUFFER
`
`I
`
`ESTABLISH AN HTML TEMPLATE
`FOR THE SERVICE DEFINED BY THE
`VIEW DEFINITION
`
`I
`
`START A PREDETERMINED NUMBER OF
`TRANSACTION GATEWAY CLIENT
`INSTANCES
`
`I
`
`START THE WEB SERVER
`
`/ 334
`
`Figure 5
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 6
`
`

`

`US. Patent
`
`May 19, 1998
`
`Sheet 6 of 12
`
`5,754,772
`
`All
`
`
`
`Al 26
`
`<5. 05
`
`mg
`
`
`
`%\ "mtg 55 £2: Es
`
`59m: Ha is
`
`m 959m
`
`an \ 3m Esau;
`
`
`
`5 GEE N m=<= Hum
`
`
`
`528 . m5: 5mm
`
`m8
`
`\ Hz 55
`
`m
`
`
`
`52% = was‘ 5mm
`
`’\ 528 m 252 SE
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 7
`
`

`

`US. Patent
`
`May 19, 1998
`
`Sheet 7 of 12
`
`5,754,772
`
`HTML TEMPLATE
`
`‘
`
`314
`
`<FORM METHOD=GET ACTION:“IRT68!EMPDBSVC.tx’>
`<INPUT TYPE=HIDDEN NAME=“VIew” VALUE=“EMP_BUF”>
`<TABLE>
`<TR>
`
`.
`< TD ROWSPAN=10>
`<IMG SRC:“I|mages/WebTx5.gif” WIDTTH=67 HEIGHT=318
`VSPACE=0 HSPACE=15>
`<TD>
`
`Employee if
`<TD COLSPAN=2>
`
`<INPUT SIZE=5 MAXLENGTH=4 NAME=NUMBER VALUE=“ ”>
`<TD ALIGN=HIGHT COLSPAN=2>
`(INPUT TYPE=reset VALUE=“CIear Form”>
`
`<TR>
`<TD COLSPAN=5>
`<HR SIZE=2>
`
`<TR>
`
`<TD COLSPAN=5 ALIGN=CENTER>
`
`<B>Employee |niormation<lB>
`
`.
`<TR>
`<TD> Name
`
`
`
`<TD><INPUT SIZE=11 MAXLENGTH=10 NAME=NAME VALUE=“ ”>
`<TD WIDTH=25>
`<TD>Job
`
`<TD><INPUT SIZE=1O MAXLENGTH=9 NAME=JOB VALUE=“ ”>
`<TR>
`<TD>
`
`Operation
`<TD>
`
`<SELECT NAME=COMMAND><OPTION
`SELECTED>Select<0PTION>Update<OPTION>Insert<0PTl0N>Delete<lS
`ELECT>
`<TR>
`<TD>
`
`<|>Status<l|>
`<TD COLSPAN=3>
`
`<INPUT SIZE=27 MAXLENGTH=1 NAME=STATUS VALUE=“ ”>
`<TD ALIGN=RIGHT>
`
`<INPUT TYPE=SUBMIT VALUE=Transmit>
`
`<ITABLE>
`<fFORM>
`
`Figure 7
`
`Petitioner Microsoft Corporation - EX. 1060, p. 8
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 8
`
`

`

`U.S. Patent
`
`May 19, 1998
`
`Sheet 8 0f 12
`
`5,754,772
`
`VIEW DEFINITION
`316
`
`VIEW EMP__BUF
`# type
`cname
`
`fbname
`
`count
`
`Nag
`
`size
`
`null
`
`carray
`carray
`carray
`carray
`carray
`carray
`can'ay
`canay
`carray
`carray
`END
`
`status
`command
`Number
`Name
`Job
`Mgr
`HireDate
`Salary
`Comm
`Dept
`
`STATUS
`COMMAND
`NUMBER
`NAME
`JOB
`MGR
`HIREDATE
`SALARY
`COMM
`DEPT
`
`1
`1
`1
`1
`1
`1
`1
`1
`1
`1
`
`-
`-
`-
`-
`-
`-
`-
`-
`-
`-
`
`40
`7
`5
`11
`10
`5
`10
`6
`6
`5
`
`“ ”
`“ ”
`“ ”
`“ ”
`“ ”
`“ ”
`“ ”
`“ ”
`“ ”
`“ ”
`
`Figure 8
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 9
`
`

`

`US. Patent
`US. Patent
`
`May 19, 1998
`May 19, 1998
`
`Sheet 9 0f 12
`Sheet 9 of 12
`
`5,754,772
`5,754,772
`
`
`
`
`
`
`
`Emfl263352025223.0
`
`23:.meod2,2»sonan
`25.2028“05.25.03”Elam.miauszognéfifiwniwg“cozaumoRum2<zw$2umwmEozfiamdzwugusgto>wmouzflmEEoE>§§cCozumel.
`
`
`3?ch095$23.mm>anm
`
`
`
`cuss—:32.oo>oiEm
`
`E382:Dco_mm_EEoo8m5.2mm!EmEthmQgLommcmfiaEg232
`
`
`
`Ex0“cocoWBNEW
`
`DE82980
`
`m @SDE
`0.9:9...
`
`
`
`mM0:53mEBxummflv
`
`
`
`mCOQ“CmEJOOD
`
`Petitioner Microsoft Corporation - EX. 1060, p. 10
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 10
`
`

`

`US. Patent
`
`May 19,1998
`
`Sheet 10 0f 12
`
`5,7 54,772
`
`WEB SERVER
`PROCESSING
`
`402
`WAIT FOR CONNECTION /
`FROM WEB BROWSER
`
`__________ _ _ INITIATE AS
`
`404
`\
`
`I
`
`A THREAD
`
`I
`ACCEPT CONNECTION AND /
`READ THE URL
`
`406
`
`CASE
`MIME TYPE OR
`PATH PREFIX
`
`410
`
`412
`
`+
`TYPE:
`TRANSACTION
`
`414
`
`GATEWAY
`LINK
`PROCESSING
`
`;
`
`416\ TYPE:
`
`TEXTIHTML, TEXTIPLAIN,
`IMAGEIGIF, IMAGEIJPEG,
`AND OTHER USER DEFINED TYPES
`
`I
`
`41 B
`\ WEB SERVER SEND FILE PROCESSING
`OR
`CUSTOMIZED GATEWAY PROCESSING
`
`I
`
`420
`\ CLOSE
`CONNECTION
`
`END OF
`THREAD
`
`Figure 10
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 11
`
`

`

`US. Patent
`
`May 19, 1998
`
`Sheet 11 0f 12
`
`5,754,772
`
`GATEWAY
`LINK
`PROCESSING
`
`452
`
`454
`
`GET THE IDENTIFICATION
`OF THE NAMED
`PIPE AND OTHER
`CONFIGURABLE INFORMATION
`
`I
`
`DETERMINE WHETHER INPUT
`IS GET OR POST
`
`I
`
`W POST, LOCATE
`POST DATA
`
`456
`
`I
`
`REQUEST CONNECTION
`WITH NAMED PIPE
`
`458
`/
`
`I__
`
`I
`
`460
`
`/
`
`SEND REQUEST ON
`NAMED PIPE
`
`I
`
`462
`READ RESPONSE FROM /
`NAMED PIPE
`
`I
`
`464
`DETERMINE CONTENT /
`TYPE OF RESPONSE
`
`I
`
`PACKAGE RESPONSE ACCORDING
`TO CONTENT TYPE AND SEND TO
`WEB BROWSER
`
`466
`
`468
`
`Figure 11
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 12
`
`

`

`US. Patent
`
`May 19, 1998
`
`Sheet 12 of 12
`
`5,754,772
`
`TRANSACTION
`GATEWAY
`CLIENT PROCESSING
`
`CREATE INSTANCE OF
`NAMED PIPE
`
`502
`/
`
`I
`
`ESTABLISH CONNECTION
`WITH TRANSACTION
`PROCESSOR
`
`504
`/
`
`520
`
`I
`
`ALLOCATE MEMORY FOR
`A VIEW BUFFER
`
`I
`
`EXTRACT FIELD NAMES
`AND VALUES FROM
`THE URL
`
`516
`
`518
`
`I
`
`WRITE THE VALUES TO POSITIONS
`IN THE VIEW BUFFER AS
`INDICATED BY THE
`WEB-VIEW FILE
`
`I
`
`CALL DISTRIBUTED TRANSACTION
`PROCESSING SYSTEM WITH
`SERVICE NAMED IN URL
`
`I
`
`OPEN THE HTML TEMPLATE
`FOR THE NAMED VIEW
`
`I
`
`EXTRACT VALUES FROM THE
`VIEW BUFFER USING THE
`WEB-VIEW FILE
`
`I
`
`524
`
`526
`/
`
`528
`
`/
`
`WRITE VALUES EXTRACTED FROM THE
`VIEW BUFFER TO AN HTML DOCUMENT
`AS INDICATED BY THE HTML TEMPLATE
`
`_'I WAIT FOR CONNECTION
`I
`
`ON INSTANCE OF
`NAMED PIPE
`
`READ MESSAGE FROM
`INSTANCE OF
`NAMED PIPE
`
`I
`
`EXTRACT THE NAMED VIEW
`FROM THE URL
`
`I
`
`OPEN THE WEB-VI EW
`FILE NAMED IN THE URL
`
`I
`
`OPEN THE VIEW FILE
`NAMED IN THE URL
`
`506
`/
`
`508
`/
`
`510
`/
`
`512
`
`514
`
`I
`
`SEND THE HTML DOCUMENT
`ON THE INSTANCE OF THE
`NAMED PIPE
`
`530
`
`Figure 12
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 13
`
`

`

`5,754,772
`
`1
`TRANSACTION SERVICE INDEPENDENT
`HTTP SERVER-TO-TRANSACTION
`GATEWAY
`
`BACKGROUND
`
`2
`A disadvantage with the CGI program approach described
`above is that the application developer must be acquainted
`with the HTML, the CGI, and the database engine. In
`addition, a different CGI program may be required for each
`di?erent database, thus adding to the cost of creating and
`maintaining the database access for the Web Browser.
`Businesses are faced with the challenge of adapting their
`present usage of yesterday’s technology to new opportuni
`ties that are made available with the World Wide Web. Most
`business application software and underlying databases are
`not equipped to handle interaction with Web Browsers. It
`would therefore be desirable to have a ?exible and e?icient
`means for allowing interoperability between business appli
`cation software and the World Wide Web.
`
`15
`
`SUMMARY OF THE INVENTION
`
`The present invention makes prior art on-line transaction
`processing (OLTP) systems and their associated databases
`accessible using Hyper’I‘ext Transport Protocol (HTTP)
`interfaces. The response time for an on-line user seeking
`HTTP access to the transaction processing system is mini
`mized by pre-establishing a transaction gateway client hav
`ing a static connection to the transaction processing system.
`In addition, the HTTP access to the transaction processing
`system is available for multiple concurrent users. The inven
`tion further provides a gateway that is independent of the
`underlying service provided by the transaction processing
`system, whereby the same gateway client is capable of usage
`with different databases and operations thereon.
`An on-line transaction processing system is made acces
`sible to Web Browsers by establishing a predetermined
`plurality of transaction gateway clients to receive HTTP
`requests that are received by a Web Server from the Web
`Browsers. Concurrent processing of multiple transaction
`requests from the Web Browsers is performed by the plu
`rality of transaction gateway clients. Each transaction gate
`way client pre-establishes a static connection with the
`on-line transaction processing system. The pre-established
`connection allows requests from the Web Browsers to be
`quickly routed to the transaction processing system. Time is
`saved by elimination of the traditional steps of connecting
`with and then disconnecting from the transaction processing
`system for each request from a browser program. The
`gateway client translates between H‘ITP formatted requests
`from the Web Browsers and the request format expected by
`the on-line transaction processing system.
`The invention handles multiple concurrent requests from
`the Web Browsers and makes the requests available for
`concurrent processing by the on-line transaction processing
`system. A predetermined number of instances of the trans
`action gateway client are established to be available for
`performing the necessary translations. Each of the instances
`of the transaction gateway client establishes a static con
`nection with the on-line transaction processing system as
`described above. As requests are received by the Web Server
`from the Web Browsers, the requests are routed to an
`available one of the instances of the transaction gateway
`client. Each instance of the transaction gateway client is
`capable of processing one request at a time.
`The transaction gateway client of the present invention is
`independent of the underlying service initiated by the
`on-line transaction processing system. For example, the
`transaction gateway client may be utilized with different
`databasemanagers (the database manager being the service),
`so long as the on-line transaction processing system is
`capable of utilizing the services provided by the different
`
`1. Field of the Invention
`This invention generally relates to gateway processors for
`providing access to database management systems by
`browser programs, and more particularly to a generalized
`gateway processor for making various transaction databases
`accessible by browser programs.
`2. Description of the Related Art
`The methods by which companies conduct business with
`their customers are undergoing fundamental changes, due in
`large part to World Wide Web technology. In addition, the
`same technology that makes a company accessible to the
`world, may be used on internal company networks for
`conducting operational and administrative tasks.
`One of the technologies underlying the World Wide Web
`is the Web Browser. Web Browsers are quickly becoming a
`de facto user interface standard because of their ability to
`interpret and display information having standard formats
`(e.g., HyperText Markup Language (HTML), standard text,
`GIF, etc.). Client software programs, popularly referred to as
`Web Browsers (e.g.. Mosaic, Lynx, etc.), execute on client
`systems and issue requests to server systems. The server
`systems typically execute HyperText Transport Protocol
`(HTTP) server programs which process requests from the
`Web Browsers and deliver data to them. The system that
`executes a HTTP server program and returns data to the Web
`Browser will hereinafter be referred to as a Web Server
`System. An HTTP server program itself will be referred to
`as Web Server.
`-
`A Web Server System has access to on-line documents
`that contain data written in HyperText Markup Language
`(HTML). The HTML documents contain display
`parameters, capable of interpretation by a Web Browser, and
`references to other HTML documents and Web Servers
`(Source: World Wide Web: Beneath the Surf from UCL
`Press, by Mark Handley and Jon Crowcroft, on-line at
`http://www.cs.ucl.ac.uk/sta?’ljon/book/bookhtml).
`As Web Browsers are making their mark as a “standar ”
`user interface, many businesses have a wealth of information
`that is managed by prior art database management systems
`such as DMS, RDMS, DB2, Oracle, Ingres, Sybase,
`Informix, and many others. In addition, many of the data
`base management systems are available as resources in a
`larger transaction processing system.
`One key to the future success of a business may lie in its
`ability to capitalize on the growing prevalence of Web
`Browsers in combination with selectively providing access
`to the data that is stored in its databases. Common Gateway
`Interface programs are used to provide Web Browser access
`to such databases.
`The Common Gateway Interface (CGI) is a standard for
`interfacing external applications, such as Web Browsers, to
`obtain information from information servers, such as Web
`Servers. The CGI allows programs (CGI programs) to be
`referenced by a Web Browser and executed on the Web
`Server system. For example, to make a UNIX database
`accessible via the World Wide Web, a CGI program is
`executed on the Web Server system to transmit information
`to the database engine, receive the results from the database
`engine, and format the data in an HTML document which is
`returned to the Web Browser.
`
`25
`
`35
`
`45
`
`50
`
`55
`
`65
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 14
`
`

`

`5,754,772
`
`3
`database managers. Multiple styles of transaction gateway
`clients may be established, however, to interface with dif
`ferent styles of on-line transaction processing systems and to
`accommodate di?erences in data format requirements.
`The independence of the transaction gateway client from
`the underlying service is accomplished with each HTTP
`request from a Web Browser program specifying a requested
`service and a respective predetermined mapping ?le for each
`available service. A predetermined HyperText Markup Lan
`guage (HTML) template ?le is also established for each
`desired service. Each of the predetermined mapping ?les
`sets forth the format and content of the data buifer that is
`used for communicating between the transaction gateway
`client and the on-line transaction processing system for the
`particular service. A mapping ?le directs the transaction
`gateway client where to write data to and read data from the
`data buffer for predetermined ?elds of the database. The
`HTML template ?le is used in creating an HTML document
`that is returned to a Web Browser. The transaction gateway
`client reads data values from a data buffer returned from the
`transaction processing system (as speci?ed by the mapping
`?le), the data values are written to appropriate locations in
`the HTML document as directed by information contained in
`the HTML template ?le.
`Still other objects and advantages of the present invention
`will become readily apparent to those sldlled in the art from
`the following detailed description, wherein only the pre
`ferred embodiment of the invention is shown, simply by way
`of illustration of the best mode contemplated for carrying
`out the invention. As will be realized. the invention is
`capable of other and different embodiments, and its several
`details are capable of modi?cations in various obvious
`respects. all without departing from the invention.
`Accordingly, the drawings and description are to be regarded
`as illustrative in nature, and not as restrictive.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a functional block diagram of a computing
`environment in which a transaction system and a Web Server
`interoperate in a single system;
`FIG. 2 is a functional block diagram of an exemplary
`computing environment in which the present invention
`could be used;
`FIG. 3 is a functional block diagram of the software
`components that make a transaction database accessible to
`one or more Web Browsers;
`FIG. 4 is a data?ow diagram showing the ?ow of data
`between the components of the exemplary system;
`FIG. 5 is a ?owchart of the steps for initializing an
`environment on a Web Server System to provide Web
`Browser access to a transaction database;
`FIG. 6 shows the relationship between the Web-View File
`and the View Buffer;
`FIG. 7 illustrates a portion of the HTML Template created
`for the View De?nition of FIG. 8;
`FIG. 8 illustrates a sample View De?nition;
`FIG. 9 is a sample screen display of the image produced
`by a Web Browser from an HTML document based on the
`HTML Template;
`FIG. 10 is a ?owchart of the general processing of the
`Web Server;
`FIG. 11 is a ?owchart of the processing performed by a
`Gateway Link thread; and
`FIG. 12 is a ?owchart of the processing performed by
`each of the instances of the Transaction Gateway Client.
`
`55
`
`65
`
`1O
`
`15
`
`20
`
`25
`
`35
`
`4
`DETAILED DESCRIPTION
`FIGS. 1 and 2 are functional block diagrams of exemplary
`computing environments in which the present invention
`could be used to make a transaction processing system
`interoperable with the World Wide Web. FIG. 1 is a func
`tional block diagram of an environment in which the trans
`action system and the Web Server operate in a single system,
`and FIG. 2 shows an environment in which the Web Server
`System acts as a front-end for the Enterprise Server System.
`FIG. 1 is a functional block diagram of a computing
`environment in which a transaction system and a Web Server
`interoperate in a single system. A plurality of micro
`computers, designated as Web Browser 10, 12, 14, and 16,
`are coupled to a Web Server 18 Via Network 20. The
`Network may be an internal local area network or the
`Internet.
`Each of the Web Browsers 10-16 is comprised of soft
`ware for browsing the World Wide Web, such as Mosaic,
`Netscape Navigator, etc.. and a suitable micro-computer or
`computer workstation along with operating system software.
`The Web Server may be off-the-shelf software such as the
`Microsoft Internet Information Server and Netscape Com
`merce Server.
`The typical operating mode for the Web Server 18 is to
`receive requests from the Web Browsers 10-16 and return
`the requested data ?'om the Pre-formatted Data element 22.
`The Pre-formatted Data consists of HTML documents.
`The Server System 24 may be any data processing system
`that is suitable for transaction processing applications, such
`as the 2200 Series, A-Series, and UNIX based data process
`ing systems from Unisys Corporation. The exemplary Trans
`action Processing System 26 is intended to encompass
`transaction manager software, such as Open/OLTP Transac
`tion Manager software from Unisys, user implemented
`Open/OLTP services (application programs), and Open/
`OLTP resource managers (such as a database management
`system). The Open/OLTP transaction model is described in
`the X/Open Guide, Distributed Transaction Processing Ref
`erence Model as published by the X/Open Company Ltd.,
`UK. The present invention would be applicable to other
`non-standard or proprietary transaction based systems, as
`well as to other data servers in general.
`The Transaction Processing System 26 serves data from
`the Database 28 to the Transaction Clients 30, 32, 34, and
`45
`' 36. The Transaction Clients 30-36 are coupled to the Trans
`action Processing System via Line 38, of which the under
`lying technology is driven by the application of the Trans
`action Processing System 26.
`The Transaction Gateway Client 40 allows the Web
`Server 18 to interoperate with the Transaction Processing
`System 26. Speci?cally, a predetermined Open/OLTP
`service, as de?ned by an application programmer, is refer
`enced in an HTML document in the Pre-formatted Data
`element 22. When a Web Browser 10, 12, 14, or 16 selects
`the service, the request is routed to the Web Server 18. which
`in turn routes the request to the Transaction Gateway Client.
`The Transaction Gateway Client determines the requested
`service and forwards the necessary information to the Trans
`action Processing System 26. The Transaction Processing
`System processes the request against the Database 28
`according to the speci?ed request (e.g., select, update,
`delete). The Transaction Processing System returns data
`and/or status information to the Transaction Gateway Client,
`which in turn formats the data into an HTML document that
`is forwarded to the Web Server. The Web Server sends the
`HTML document to the requesting Web Browser.
`
`50
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 15
`
`

`

`5
`FIG. 2 is a functional block diagram of an exemplary
`computing environment in which the present invention
`could be used. The environment of FIG. 2 ditfers from that
`of FIG. 1 in that the Web Server 18 and the Database 28
`reside on separate data processing systems. The Web Server
`18 resides on a Web Server System 50, and the Database 28
`resides on an Enterprise Server System 52.
`The Web Server System 50 may be any class machine that
`is capable of running a Web Server 18 along with a Dis
`tributed Transaction Processor 54. In the exemplary Web
`Server System, the Distributed Transaction Processing Sys
`tem 54 is similar to the Transaction Processing System 26 of
`FIG. 1 in that both are Open/OLTP compatible. The Trans
`action Processing System 54 of FIG. 2 is designated as
`Distributed to make clear that a transaction is formatted on
`the Web Server System 50 and forwarded to the Enterprise
`Server System for processing. A suitable Distributed Trans
`action Processing System 54 for the Web Server System is
`the Transactional Desktop software product from Unisys.
`The Transactional Desktop software is Open/OLTP
`compliant, but does not have the required components for
`processing service requests. However, the Transactional
`Desktop software is capable of initiating service requests.
`The exemplary Enterprise Server System is a 2200 Series
`data processing system from Unisys and also includes a
`Distributed Transaction Processing System 56. The Distrib
`uted Transaction Processing System 56 is intended to
`encompass the same functionality as the Transaction Pro
`cessing System 26. However, it is designated as Distributed
`to be compatible with the Distributed Transaction Process
`ing System 54. The Distributed Transaction Processing
`System 54 and the Distributed Transaction Processing Sys
`tem 56 are coupled via Network 58. Preferably, the network
`interface for Network 58 is separate from the network
`interface for Network 20.
`' The environment of FIG. 2 may be preferable to the
`environment of FIG. 1 in that the Web Server System 50
`maybe used prevent request from the Web Browsers 10-16
`from entering Network 58. The Windows NT operating
`system is con?gurable to prevent routing of data packets
`between two network interfaces. In this fashion, the only
`tra?ic that is allowed on Network 58 in response to requests
`on Network 20 is in the form of Open/OLTP service calls
`which are referenced by HTML documents.
`FIG. 3 is a functional block diagram of the software
`components that make a transaction database accessible to
`one or more Web Browsers. Before discussing the various
`software components, it may be useful to illustrate a high
`level data ?ow between the components.
`The data flow is illustrated by the labeled directional
`arrows 72. 74, 76. and 78. The Web Server 18 receives
`Uniform Resource Locator (URL) character strings from the
`Web Browsers 10. 12. 14. and 16. URL character strings are
`passed to the Transaction Gateway Client instances 40,
`which in turn translate the URL character strings into View
`Buffers. View Buffers are passed to the Distributed Trans
`action Processing System 54 as shown by Line 74, and in
`turn passed on to the Distributed Transaction Processing
`System 56. Note that a View Bohfer is a data structure that
`is understood by the Open/OLTP style Distributed Transac
`tion Processing Systems 54 and 56. The invention would be
`equally applicable to transaction and/or database systems
`which expect different data structures. The Distributed
`Transaction Processing System 56 returns View Buffers to
`the Distributed Transaction Processing System 54, which in
`turn returns View Buffers to the Transaction Gateway Client
`
`50
`
`55
`
`65
`
`5,754,772
`
`5
`
`10
`
`15
`
`25
`
`35
`
`45
`
`6
`instances 40. The Transaction Gateway Client instances
`transform the View Buffers into Hyper’l‘ext Markup Lan
`guage documents which are returned to the Web Server 18
`as shown by Line 78. The Web Server returns the HTML
`documents to the respective Web Browsers.
`In terms of the software components that make a trans
`action database Web Browser e?iciently accessible, two
`main components provide the accessibility. The ?rst com
`ponent is the Gateway Link Thread 82 and the second is the
`Transaction Gateway Client 40.
`Web Servers such as the Netscape Commerce Server
`support multiple threads. That is, a single Web Server
`process is multiplexed between the threads. In the exem
`plary embodiment, the Web Server software (i.e., Netscape
`Commerce Server) is con?gured with a Dynamic Link
`Library function designated as the Gateway Link. Each of
`the Gateway Link threads 82, 84, and 86 correspond to a
`URL received from a respective one of the Web Browsers
`10-16. The basic function of a Gateway Link is to establish
`a connection with an available Transaction Gateway Client
`instance 40, forward a URL to the Transaction Gateway
`Client instance, receive an HTML document from the Trans
`action Gateway Client instance, and return the HTML
`document to the respective Web Browser. The Gateway Link
`threads are designated with dashed lines to indicate that their
`existence is dynamic.
`The second main software component is the Transaction
`Gateway Client 40. The main function of the Transaction
`Gateway Client is to transform a request which is in the form
`of a URL from a Web Browser 10-16 into a format which
`is understandable by the Distributed Transaction Processing
`Systems 54 and 56, and transform the data returned from the
`Distributed Transaction Processing Systems 54 and 56 into
`a HTML document that is returned to a Gateway Link.
`In the exemplary embodiment, a predetermined number
`of Transaction Gateway Client instances are started and
`available to process requests from the Web Browsers 10-16.
`Each of the Transaction Gateway Client instances processes
`one request at a time. An equally suitable approach would be
`to have one Transaction Gateway Process instance with a
`multi-thread capability.
`Each of the Transaction Gateway Client instances creates
`an instance of a Named Pipe. The instances of the Named
`Pipe are collectively referenced as 102. An instance of the
`Named Pipe is used for communicating between one of the
`Gateway Link threads 82-86 and an available one -of the
`Transaction Gateway Client instances.
`In addition to instances of the Named Pipe 102 , each
`instance of the Transaction Gateway Client 40 establishes a
`connection with the Distributed Transaction Processing Sys
`tem 54. This connection is established prior to a Transaction
`Gateway Client receiving a request from a Web Browser and
`maintained for the life of the processor instance so that time
`is not wasted in connecting and disconnecting every time a
`request appears. In the exemplary system the connection is
`made with the tpinit program call to the Distributed Trans
`action Processing System 54. In this manner, each of the
`Transaction Gateway Client instances has a preestablished
`and continuous connection with the Distributed Transaction
`Processing System 54. The connections between the Trans
`action Processing System Gateway instances and the Dis
`tributed Transaction Processing System are collectively ref
`erenced as 104.
`Connections between the Distributed Transaction Pro
`cessing Systems 54 and 56 are established as requests are
`forwarded from the Transaction Gateway Client instances.
`
`Petitioner Microsoft Corporation - Ex. 1060, p. 16
`
`

`

`7
`The connections are collectively referenced as Lines 106.
`The connections are designated with dashed lines to indicate
`that the connections are dynamically established and undone
`(as compared to the static connections between the Trans
`action Gateway Client instances 40 and the Distributed
`Transaction Processor 54).
`FIG. 4 is a data?ow diagram showing the ?ow of data
`between the components of the exemplary system. Initially,
`the Web Browser 10 makes a request for an HTML docu
`ment to the Web Server 18 in the form a URL character
`string as shown by Line 1. The Web Server then returns a
`predetermined HTML document to the Web Browser as
`shown by Line 2. The data ?ow of Lines 1 and 2 is intended
`to illustrate the initial steps for initiating a transaction from
`a Web Browser.
`Line 3 shows the URL forwarded from the Web Browser
`10 to the Web Server 18 in response to an action initiated by
`the user of the Web Browser. The Web Server. in turn,
`receives the URL and passes it along to the Transaction
`Gateway Client 40 as shown by Line 4. The Transaction
`Gateway Client 40 transforms the input URL into a View
`Bu?er. which at Line 5. is passed to the Distributed Trans
`action Processing System 54.
`The Distributed Transaction Processing System 54 for—
`wards the View Buffer to the appropriate resource manager
`(not shown) and recei

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