`Brandt et al.
`
`US005892905A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,892,905
`Apr. 6, 1999
`
`[54] COMPUTER APPARATUS AND METHOD
`FOR PROVIDING A COMMON USER
`INTERFACE FOR SOFTWARE
`APPLICATIONS ACCESSED VIA THE
`WORLD'WIDE WEB
`
`5,572,643 11/1996 Judson ............................. .. 395/20048
`5,701,451 12/1997 Rogers et a1- -
`5,706,427
`1/1998 Tabuki ............................. .. 395/187.01
`Primary Examiner_Ly Hua
`Attorney, Agent, or Firm—Derek P. Martin
`
`[75] Inventors: Marcia Lynn Brandt; Kenneth Edgar
`Brown, both of Rochester; Pernell
`,
`James Dykes, Byron; Erik Duane
`,
`,
`,
`Llndberg; Dlane Elaine Olson, both of
`.
`Rochester, all of M1nn.; J e?'rey
`.
`Edward Selden, Jacksonville Beach,
`,
`Fla.; Devon Danlel Snyder; James
`0 , W It b th f R h t
`M.
`run a s’ O 0
`0C es er’
`Inn‘
`[73] Assignee: International Business Machines
`C or oration Armonk N Y
`p
`’
`’
`'
`'
`
`_
`[21] Appl' NO" 780’015
`[22]
`Filed;
`Dec_ 23, 1996
`
`6
`
`ABSTRACT
`[57]
`-
`-
`-
`-
`-
`-
`The present invention provides the capability to easily
`-
`-
`-
`access many different appl1cat1on programs over the W WW
`-
`-
`-
`-
`v1a a common user mterface. By providing standard
`-
`tt
`1,
`procedures, routmes, tools, and software hooks for access
`-
`-
`-
`mg software applications over the WWW, software devel
`-
`-
`-
`-
`opers can concentrate on the funct1onal1ty of the appl1cat1on
`program and easily use HTML to provide a GUI interface for
`the.apphcanon program‘ HTML 15 a Weu'known language
`WhlCh can be used by almost any computer system on the
`market today. In addition, since HTML is a fairly well
`controlled and standardized language, new software appli
`cation features can be added as they are developed and
`supported by HTML. In addition, since HTML is a widely
`adopted, non-proprietary technology, the present invention
`
`
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. [52] US. Cl. ............. .. 395/187.01; 395/186; 395/200.32;
`
`
`
`a small software developers. Further, the present invention
`
`395/20059
`[58] Field of Search ............................. .. 395/186, 187.01,
`395/200.32, 200.59
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4/1994 136116116 ................................. .. 395/186
`5,305,456
`5,361,359 11/1994 Tajallietal. .......................... .. 395/186
`5,553,239
`9/1996 Heath 6161. ..................... .. 395/1s7.01
`
`also allows software developers to adopt a standard access
`protocol, which allows them to provide support for any
`computer system which is capable of utilizing a HTML
`cognizant browser. Finally, by providing easy-to-implement,
`standardized solutions to the issues of user interface,
`authentication/security, and web transaction support, the
`common user interface of the present invention overcomes
`the limitations existing in previous solutions.
`
`32 Claims, 22 Drawing Sheets
`
`CPU 1]
`
`140
`, \
`
`1..
`
`222
`
`332
`
`Internet!
`Application
`Gateway
`
`342
`Software
`Applicanon
`
`.
`
`'
`
`1
`.1
`g
`
`DAS D
`
`I 1 1 , , 1 1 1 1 1 1 . _ _ _ _ _ 1 1 1 1 1 1 , _ _ _ _ _ 1 1 1 1,
`
`Plaid Technologies Inc.
`Exhibit 1009
`
`Ex. 1009 Page 1
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 1 0f 22
`
`5,892,905
`
`100
`
`MEMORY
`
`a n
`
`V UOY e naW
`
`Software
`Application
`
`TERMINAL l/F
`
`AUX. STORAGE l/F
`
`WORKSTATION
`
`Ex. 1009 Page 2
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 2 0f 22
`
`5,892,905
`
`210
`/
`
`Client Workstation
`
`212
`\
`
`Web
`
`Browser
`
`200
`/
`
`220
`/
`
`Web Server
`Computer System
`
`222
`Web Server /
`
`’ Application
`
`>
`
`\
`
`21 6
`
`FIG. 2
`
`Ex. 1009 Page 3
`
`
`
`U.S. Patent
`
`6r.
`
`M
`
`220.103a
`
`5,892,905
`
`com
`
`ovaommomm
`
`
`
`
`
`m.>w>>2m0_anS:o:m.o__aa<
`
`8_.$__&<:o=mo._<Emztow\_.ms_.2.__.m>._mm
`
`
`1,_mSaEoo._m..3Qc._OO§,.amnm>>
`
`
`
`nw>>%Em..m>wE$m>wE995BSQEOQ
`
`SN
`
`E020
`
`co:m.mx_o>>
`
`nm>>
`
`$m>>Em
`
`m.0_u_
`
`Ex. 1009 Page 4
`
`Ex. 1009 Page 4
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 4 of 22
`
`5,892,905
`
`9%
`
`2%
`
`
`
`Em..m>m._m5aEoo
`
`Nvm
`
`Sewmv
`
`
`
`E995ESQEOO52mmpw>>
`Em_.m>m_m5aEoo/
`
`
`ONNOS.
`
`m_‘N
`
`own
`
`:o=mo__&<
`
`
`
`._mZmwnm>>O—.N
`
`b_>=o<
`
`mEm._moi
`
`mmmooi
`
`m_muo_>_
`
`x._m_>_>>o_n_
`
`wtm_>_>>o_n_
`
`mmmnNED
`
`m_n_<
`
`nil
`
`>m>>w..mo
`
`G__>_“_v
`
`gmflagas
`
`mwo4o
`
`zmao
`
`ozmm
`
`pomzzooeo
`
`mzmomm
`
`2_m_>_;o_u_
`
`
`
`859:........................--
`
`Nrm
`
`Em__0
`
`co_§mx._o>>
`
`8;
`
`.om>>o_m
`
`V.®_u_
`
`Ex. 1009 Page 5
`
`Ex. 1009 Page 5
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 5 0f 22
`
`5,892,905
`
`500 x
`
`>
`r
`
`y
`f 510
`| INPUT FROM BROWSER |
`
`520
`
`SECURITY
`CHECKING
`REQUIRED?
`
`530
`
`TEMPLATE
`SPECIFIED?
`
`f 522
`PERFORM SECURITY
`CHECK
`I
`
`K 532
`
`PERFORM TEMPLATE
`FUNCTIONS
`|
`
`540
`
`DISCONNECT
`OR RESU1\/[E
`NEEDED?
`
`N0
`
`r 542
`
`ISSUE DISCONNECT API
`OR RESUME PREVIOUSLY
`SUSPENDED PROCESS
`1
`
`y
`PERFORM TRANSACTION
`CORRESPONDING TO BROWSER INPUT
`1
`K- 560
`OUTPUT TO BROWSER
`
`f- 550
`
`ADDITIONAL
`BROWSER
`INPUT?
`
`570
`
`580
`
`FIG. 5
`
`Ex. 1009 Page 6
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 6 of 22
`
`5,892,905
`
`>m_<mm__._Em:
`
`Nn_n_<_\n_n_<
`
`><>>m+<o
`
`
`
`owe«mm
`
`
`
`mm>mmmm_m_>>
`
`ZO_._.<o_._n_n_<
`
`mmo
`
`9>3ucmotmmzvcmatom:
`
`93500Rem..mo_Ew£:<
`
`
`
`
`
`>._mE__Em:v._o>>mmma
`
`mE<>>Eom
`
`NZO_._.<o_._n_n_<
`
`
`
` Bmtoo9Bmccooemm
`
`co=mo__aam
`
`
`_zo:<o:n_n_<c.o:m.o__&m2>e._Em
`
`
`m_m<>>._.n_Ommk_m>>:omotmmzwmmoom>._o.£mo:vm:_mm>>o5E0...ox
`
`
`:o_..m“_m_##_%.nw_._..:m>m>>2mO
`
`m>wEmm_mamUcmmmmoucmEoéwwmq9am:
`
`So
`
`©.O_n_
`
`Ex. 1009 Page 7
`
`Ex. 1009 Page 7
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 7 of 22
`
`5,892,905
`
`a_Em_o_nfiAm;m_aEm..
`
`
`
`uoummcww_nm:m>
`
`_,m_nm:m>_%W.__>:._._
`
`>m>>mmN9m_QEm_.9m_qE9_82m:m_wE®mz
`
`
`
`.r__>FIEmufimzomm.mm\.
`
`mm<>>Eom
`
`ZO_._.<O_:_n_n_<
`
`963mmRn
`
`
`
`“Emuuflmmscmc
`
`>m>>m:m02EmuE39
`
`Emaee_Eafi
`
`
`
`uw>mEm.£_>>
`
`A98
`
`_om_ES330SK
`
`nw>>29m_QE9
`
`
`
`_wm>>o.mnm>>
`
`N3
`
`N.®_u_
`
`.m_nm.__m>m:o:mo__aq<mm9m_aE9
`
`.”.__>:._._Bmama.__>:._._
`
`
`
`”o3m_._m>mm._m>>:omE0:8::S330.mmn
`
`ZO_._.<o_._n_n_<
`
`#583RN
`
`“.0wmwfium
`
`2m.m_qEm._.
`
`
`
`
`
`.mm_>mm_mmm_>>
`
`0:
`
`
`
`m_.r<._n=>_m_._.Nmm
`
`>m<mm_._
`
`_‘9m_qEmH
`
`N9m_QEm._.
`
`ZO_._.<O_._n_n_<
`
`><>>m._.<O
`
`:30.§
`
`
`
`.__>:._._8_.._oo%
`
`NNN
`
`KN8
`
`FDn_Z_QC.
`
`
`
`m:_&_umam._m3
`
`.=>:._._
`
`”._.Dn_._.DO
`
`”.__>:.I
`
`W.__>:._._
`
`
`
`“Ema_mmm
`
`
`
`Mmfio_mmw_
`
`._.__>_._._._
`
`Ex. 1009 Page 8
`
`Ex. 1009 Page 8
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 8 of 22
`
`5,892,905
`
`
`
`V69uwucmamsw
`
`SQEm>_oom_
`
`mccsmmm
`
`mmm
`
`co_..mo__nEm
`
`m .
`
`.U_.._
`
`Nvm
`
`Ex. 1009 Page 9
`
`
`
`
`
`.5“.fimzcm.ucmm
`
`
`
`$m>>m.mO9mono:Umccoomfi
`
`E950.299m
`
`>93.2c._2m:
`
`Ucmwu:ac_
`
`xmmé
`
`
`
`mcicmmEm__o
`
`
`
`82,E_Emu_
`
`Hom:_Uu3qc_
`
`mzmzéom
`
`-92co:mo__aqm
`
`
`
`vmucmqmzmtmfi
`
`
`
`
`
` m._m>>tom2Sn_c__m>__m6v_mE
`
`Em
`
`>m>>9mO95%.
`
`
`
`_m>._mmnm>>Soc
`
`m_m_<>>Eom
`
`ZO_._.<O_._n_n_<
`
`Nvm
`
`
`
`vmfimzcm.ccotmm
`
`Ec:5_uofi_c__
`
`
`
`__E:cosocé
`
`
`
`E0...:5555:2
`
`
`
`w_Em__onm>>
`
`_um:_:_um_
`
`><>>m._.<O
`
`Nmm
`
`
`
`nm>>9S9:.2
`
`
`
`_.mm:_o959:0
`
`.mm>>9_m_
`
`mmm
`
`Ex. 1009 Page 9
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 9 0f 22
`
`5,892,905
`
`900
`
`APP2
`
`User ID
`
`User Name Password
`
`Database
`server
`
`Database
`
`User a
`
`Joe Brown
`
`Secret
`
`CorpServer
`
`Corplnfo
`
`User b
`
`User 0
`
`User x
`
`FIG. 9
`
`Ex. 1009 Page 10
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 10 0f 22
`
`5,892,905
`
`ONNK -
`[UL
`
`BEE
`
`_/
`
`
`
`Egg 2%: SEE:
`
`
`
`HUB m?mm
`
`OFNK.
`
`Ex. 1009 Page 11
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 11 of 22
`
`5,892,905
`
`<html>
`<tit|e>Cars Around the Wor|d<tit|e/>
`
`<FORM ACTlON="/cgi-prot/exmp5cgi.exe" METHOD="POST">
`<H3>Rental Reservation</H3>
`<HR>
`
`Enter the following information and then press submit:
`<HR>
`
`<p>Member number:
`<p>Name:
`Last:
`
`<HR>
`
`<INPUT TYPE="text“ NAME="membno" SlZE=4>
`<INPUT TYPE="text" NAME="|name“ S|ZE=15>
`First:
`<INPUT TYPE="text" NAME="fname" S|ZE=15>
`MI:
`<INPUT TYPE="text“ NAME="mi" S|ZE=1>
`
`<P>Origin City: <INPUT TYPE="text" NAME="origc'rty" S|ZE=15>
`State:
`<INPUT TYPE="text" NAME="origstate" S|ZE=2>
`<P>Start Date (MM/DD.YY): <INPUT TYPE="text" NAME="startdate" S|ZE=8>
`Number of days <INPUT TYPE="text" NAME=“days" SlZE=3>
`<P>SeIect Car Preference:
`
`<INPUT TYPE="radio" NAME="cartype" VALUE=1> Compact
`<INPUT TYPE="radio" NAME="cartype" CHECKED VALUE=2> Mid Size
`<INPUT TYPE="radio" NAME="canype" VALUE=3> Full Size
`<INPUT TYPE="radio" NAME="cartype" VALUE=4> Luxury
`
`<HR>
`<P><INPUT TYPE="submit“ VALUE="Submit“>
`<P><INPUT TYPE="hidden" NAME="wf-cgi-submit" VALUE="2">
`<P><INPUT TYPE="hidden" NAME="wf-api-proc-temp|ate" VALUE="www_Reservation Request“>
`<lNPUT TYPE="hidden" NAME="wf-fmig-key" VALUE="webfmcust">
`<INPUT TYPE="hidden" NAME="wf-cgi-html" VALUE="/exrn/smp/exmp5srk.htm">
`</form>
`</htmi>
`
`FIG. 11
`
`membno=1234&|name=Doe&fname=John&mi=E&origcity=Nevade&origstate=lA&startdate=09%2F23%
`2F96&days=4&cartype=2&wf-cgi-submit=2&wf-api-proc-temp|ate=wvvw_Reservation_Request&wf-fm ig-
`key=webfmcust&wf-cgi~html=%2Fexm%2Fsmp%2Fexmp5srk.htm
`
`
`
`FIG. 12
`
`Ex.1009 Page12
`
`Ex. 1009 Page 12
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 12 of 22
`
`5,892,905
`
`<html>
`<titIe>Cars Around the WorId<titIe/>
`
`<FORM ACTION="/cgi-prot/exmp5cgi.exe" METHOD="POST“>
`<H3><CENTER>Customer's Reservation Number</CENTER></H3>
`<HR>
`
`<p> <! - - "wf-act-outmsg" - ->
`<HR>
`
`<p><|NPUT TYPE="submit" VALUE="OK">
`<p><|NPUT TYPE="hidden" NAME="wf-cgi-submit" VALUE="13">
`</form>
`</html>
`
`
`
`FIG. 13
`
`<htm|>
`<titIe>Cars Around the Wor|d<tit|e/>
`<body>
`<FORM ACTlON="/cgi-prot/exm p5cgi.exe" METHOD="POST">
`<H3><CENTER>Customer's Reservation Number</CENTER></H3>
`<HR>
`
`<p> Your reservation number is 4411. </p>
`<HR>
`
`</html>
`
`<p><|NPUT TYPE="submit" VALUE="OK">
`<p><lNPUT TYPE="hidden" NAME="wf-cgi-submit" VALUE="13">
`<|NPUT TYPE="hidden" NAME="wf-fmig-handle" VALUE="0O7777775F5265736572766174696F">
`<|NPUT TYPE="hidden" NAME="wf—fmig-key" VALUE="webfmcust“>
`</form>
`
`FIG. 14
`
`
`
`wf-cgi-submit=13&wf—fmig-handIe=007777775F5265736572766174696F8wf-fmig-key=webfmcust
`
`
`
`FIG. 15
`
`Ex. 1009 Page 13
`
`Ex. 1009 Page 13
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 13 0f 22
`
`5,892,905
`
`<FORM ACTlON="/cgi-prot/exmp5cgiexe" METHOD="POST">
`<HEAD>
`<tit|e>|BM Internet Connection for FlowMark home page<ltitle>
`</HEAD>
`<BODY>
`
`IBM Internet Connection for FlowMark home page
`
`Enter key, select next screen, then press the submit button.
`
`<strong>
`Key:
`<lstrong>
`<|NPUT TYPE="text" NAME="wf-fmig-key“ S|ZE=64>
`
`<|NPUT TYPE="radio" NAME="wf-cgi-html" VALUE="/exm/html/exmp5ewi.htm" CHECKED>
`<|MG SRC=“/exm/icons/exmp5ewi.git“ AL|GN=M|DDLE HSPACE=5>Work with Work Items
`<br>
`<|NPUT TYPE="radio" NAME="wf-cgi-htm|“ VALUE="/exm/html/exmp5epi.htm“>
`<|MG SRC="/exm/icons/exmp5epi.gif" ALIGN=MIDDLE HSPACE=5>Work with Process instances
`<br>
`<INPUT TYPE=“radio" NAME="wf-cgi-html“ VALUE="/exm/html/exmp5ept.htm">
`<|MG SRC=“/exm/icons/exmp5ept.gif" ALIGN=M|DDLE HSPACE=5>Work with Process Templates
`
`<! - - Start Submit Button & hidden variables - - - - - - - - - - - - - - - >
`
`<hr>
`<|NPUT TYPE="Submit" VALUE="Submit">
`<lNPUT TYPE="hidden" NAME="wf-cgi-submit" VALUE="0">
`
`<! - - End Submit Button & hidden variables - - - - - - - - - - - - - - - >
`
`<br>
`<b>
`
`<a href=http://www.ibm.c0m/">|BM home page<la>> |
`<a href=http://www.software.ibm.com/ad/?owmark/exmnOmst.htm">FlowMark home page</a>
`
`FIG. 16
`
`FIG. 17
`
`Ex. 1009 Page 14
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 14 of 22
`
`5,892,905
`
`<htmI>
`
`<FORM ACTION="/cgi-prot/exmp5cgi.exe" METHOD="POST">
`<HEAD>
`<tit|e>F|owMark - Work Items,/titi|e>
`</HEAD>
`<BODY>
`
`<img src="/exm/icons/exmp5eww.gif" a|t=Work with Work ltems>
`<h4>Select a work item:</h4>
`<TABLE BORDER=1>
`<tr>
`
`<th COLSPAN=2>Description
`<th>Status
`
`<th>Activity name
`<th>Process
`
`<th>Program
`<th>Received<br>date & time
`
`<th>Priority
`<th>Category
`<! - - "wf-cgi—rbegin" - - >
`<tr>
`
`<td AL|GN=CENTER VAL|GN=M|DDLE><|NPUT TYPE="radio"
`
`NAME="wf—api-item" VALUE="wf-api-item-id">
`<td> NOWRAP><! - — "wf-api—item—descrip" — — >
`<td><! — — "wf—api—item—state" — — >
`<td><! - - "wf-api-item—name" — — >
`<td><! — — "wf—api—item—procinst" - — >
`<td><! — - "wf-api—item—imp|" — — >
`<td ALiGN=CENTER><! - - "wf-api-item-starttime" - - >
`<td ALlGN=CENTER><! — — "wf—api—item—priority“ - — >
`<td><! - - "wf—api-item-category" — — >
`<! — - "wf-cgi—rend" — — >
`</TABLE>
`
`<hr>
`
`<h4>Next, select which action you want to perform and
`<br>
`
`press the button below.
`</h4>
`
`<TABLE BORDER=0>
`
`<|NPUT TYPE="radio" NAME="wf-cgi-submit" VALUE="3" CHECKED>
`Start work item
`<tr>
`<td>
`
`FIG. 18a
`
`Ex. 1009 Page 15
`
`Ex. 1009 Page 15
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 15 of 22
`
`5,892,905
`
`<|NPUT TYPE="radio" NAME="wf-cgi-submit" VALUE="0">
`Refresh list
`</TABLE>
`<! — — Start Submit Button & hidden variables — — — — — — — - — - — - - - - >
`<hr>
`<|NPUT TYPE="submit" VALUE="Perform Action">
`
`<lNPUT TYPE="hidden" NAME="wf-cgi-htm|" VALUE="/exm/html/exmp5ewi.htm">
`<! - — End Submit Button & hidden variables - - - - - - - - - - - - - - - >
`<hr>
`
`<aref="/exn/htmI/exmp5ehp.htm">
`<img src="/exm/icons/exmp5efm.gif' AL|GN=MIDDLE HSPACE=5>
`Return to home page
`</a>
`
`<aref="/exn/html/exmp5d20.htm“>
`<img src="/exm/icons/exmp5eoh.gif" AL|GN=M|DDLE HSPACE=5>
`Help
`</a>
`<hr>
`<TABLE BORDER=1>
`<tr>
`<td>FiowMark User
`<td>F|owMark Database
`<td>F|owMark Server
`<td>Date & Time
`<tr>
`
`<td><! — - "wf—api—fmuser" — — >
`<td><! - - "wf-api-fmdb" - - >
`<td><! — - "wf-api—fmserver" — — >
`<td><! - - "wf-api-datetime" - - >
`</tab|e>
`</FORM>
`</BODY>
`</HTML>
`
`FIG. 18b
`
`Ex. 1009 Page 16
`
`Ex. 1009 Page 16
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 16 of 22
`
`5,892,905
`
`<htm|>
`<FONT S|ZE=3>
`
`<FORM ACT|ON="/cgi-prot/exmp5cgi.exe" METHOD="POST">
`<HEAD>
`<title>FIowMark - Work |tems</tit|e>
`</HEAD>
`<BODY>
`
`<img src=“/exm/icons/exmp5eww.gif' aIt=Work with Work |tems>
`<h4>Se|ect a work item:</h4>
`<TABLE BORDER=1>
`<tr>
`
`<th COLSPAN=2>Description
`<th>Status
`
`<th>Activity name
`<th>Process
`
`<th>Program
`<th>Received<br>date & time
`
`<th>Priority
`<th>Category
`<! — - "wf—cgi—rbegin" - - >
`<tr>
`
`<td AL|GN=CENTER VALIGN=M|DDLE><|NPUT TYPE="radio"
`NAM E="wf-api—item"
`VALUE="7777775F5363686564756C655F5265736572766174696F6E007777775F52657365727661
`74696F6E5F526571756573745F383500454D4147454E54007765626167656E7400776562666D616
`7656E74">
`<td> NOWRAP>Schedule car
`
`<td>Ready
`<td>vvww_Schedu|e_Reservation
`<td>www__Reservation Request_85
`<td>Schedu|e_Reservation
`<td AL|GN=CENTER>O9—03-1996 02:55:11PM
`<td ALIGN=CENTER>4004128
`<td>
`
`<tr>
`
`<td>AL|GN=CENTER VAL|GN=M|DDLE><|NPUT TYPE="radio"
`NAME="wf—api-item"
`VALUE="7777775F5363686564756C655F5265736572766174696F6EOO7777775F52657365727661
`74696F6E5F526571756573745F383500454D4147454E54007765626167656E7400776562666D616
`7656E74">
`<td> NOWRAP>Schedu|e car
`
`<td>Ready
`<td>www_Schedu|e_Reservation
`<td>www_Reservation Request_84
`<td>Schedu|e_Reservation
`<td AL|GN=CENTER>09-O3-1996 O1:48:48PM
`<td ALIGN=CENTER>4004128
`<td>
`
`<td>AL|GN=CENTER VAL|GN=M|DDLE><|NPUT TYPE="radio"
`
`FIG. 19a
`
`Ex. 1009 Page 17
`
`Ex. 1009 Page 17
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 17 of 22
`
`5,892,905
`
`NAME="wf-api-item"
`VALUE="7777775F5363686564756C655F5265736572766174696F6EOO7777775F5265736572766
`174696F6E5F526571756573745F383500454D4147454E54007765626167656E7400776562666D6
`167656E74">
`<td> NOWRAP>Schedule car.
`
`<td>Ready
`<td>wvvw_Schedule_Reservation
`<td>wvvw_Reservation Request_86
`<td>Schedu|e_Reservation
`<td AL|GN=CENTER>09-03-1996 O3:01:15PM
`<td AL|GN=CENTER>4004128
`<td>
`
`<! - - "wf—cgi—rend" - — >
`</TABLE>
`<hr>
`
`<h4>Next, select which action you want to perform and
`<br>
`
`press the button below.
`</h4>
`<TABLE BORDER=O>
`
`<|NPUT TYPE="radio" NAME="wf-cgi-submit" VALUE="3" CHECKED>
`Start work item
`
`<lNPUT TYPE="radio" NAME="wf—cgi—submit" VALUE="0">
`Refresh list
`</TABLE>
`<! — — Start Submit Button & hidden variables - — — — - - - - - - - - - - - >
`<hr>
`<lNPUT TYPE="submit“ VALUE="Perform Action“>
`
`<|NPUT TYPE="hidden" NAME="wf-cgi-html" VALUE="/exm/html/exmp5ewi.htm">
`<l — - End Submit Button & hidden variables — - - - - - - - - - - - - - - >
`<hr>
`
`<ahref="/exn/html/exmp5ehp.htm">
`<img src="/exm/icons/exmp5efm.gif" AL|GN=MlDDLE HSPACE=5>
`Return to home page
`</a>
`
`<ahref="/exn/html/exmp5d20.htm">
`<img src=“/exm/icons/exmp5eoh.gif“ AL|GN=M|DDLE HSPACE=5>
`Help
`</a>
`<hr>
`
`FIG. 19b
`
`Ex. 1009 Page 18
`
`Ex. 1009 Page 18
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 18 of 22
`
`5,892,905
`
`<TABLE BORDER=1>
`<tr>
`<td>F|owMark User
`<td>FlowMark Database
`<td>FlowMark Sewer
`<td>Date & Time
`<tr>
`<td>FMAGENT
`<td>\/WV\NDB
`<td>V\NV\NSRV
`<td>O8:27:33 O9/05/96
`</tabIe>
`
`</HTML>
`
`<|NPUT TYPE="hidden" NAME="wf-fmig—key" VAULE="webfmagent">
`</FORM>
`</BODY>
`
`FIG. 19c
`
`Ex. 1009 Page 19
`
`Ex. 1009 Page 19
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 19 of 22
`
`5,892,905
`
`
`wf-api-item="7777775F5363686564756C655F5265736572766174696F6E0O7777775F52657365
`72766174696F6E5F526571756573745F383500454D4147454E54007765626167656E7400776562
`666D6167656E74"&wf—cgi--submit=3&wf-cgi-html=%2Fexm%2Fhtml%2Fexmp5ewi.htm&wf—fmig-
`key=webfmagent
`
`
`
`
`
`FIG. 20
`
`Ex. 1009 Page 20
`
`Ex. 1009 Page 20
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 20 of 22
`
`5,892,905
`
`<HTML>
`
`<FORM ACT|ON="/cgi-prof/exmp5cgi.exe" METHOD="POST">
`<HEAD>
`<TlTLE>Customer |nformation</TITLE>
`<B>Customer Reservation |nformation</B>
`<table border=1>
`<tr><td>Name</td><td>Member Number</td><td>Resv Number</td>
`<tr><td ><! - — "wf-act-name" - - ></td>
`
`<td align=right>"wf-act-membno"</td>
`<td align=right>"wf-act-resvno"</td>
`</tabIe>
`
`<p><! - - "wf-act-outmsg" - - >
`<HR>
`<B>Move An Available Ca</B>
`<P><|NPUT TYPE="radio" NAME=cars CHECKED> <! - - "wf-act-car1" - - >
`<P><lNPUT TYPE=“radio" NAME=cars > <! - - "wf-act-car2" - - >
`<P><|NPUT TYPE="radio" NAME=cars > <! - - "wf-act-car3" - - >
`<P><|NPUT TYPE=“radio" NAME=cars > <! - - "wf-act-car4" - - >
`<HR>
`<|NPUT TYPE="submi1" NAME="move" VALUE="Move Car">
`<|NPUT TYPE="submit" NAME="cancel" VALUE="CanceI">
`<|NPUT TYPE="hidden" NAME="wf-cgi-submit" VALUE="13">
`</FORM>
`</HTML>
`
`FIG. 21
`
`Ex.1009 Page21
`
`Ex. 1009 Page 21
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 21 of 22
`
`5,892,905
`
`<HTML>
`
`<FORM ACTION="/cgi-prot/exmp5cgi.exe" METHOD="POST">
`<HEAD>
`<T|TLE>Customer |nformation</T|TLE>
`<B>Customer Reservation lnformation</B>
`<table border=1>
`<tr><td>Name</td><td>Member Number</td><td>Resv Number</td>
`<tr><td >John E. Doe</td>
`
`<td aiign=right>1234</td>
`<td aIign=right>4412</td>
`</table>
`
`Pontiac Grand Am
`
`<p>Reservation Date: <B>09/24/96</B> Days Requested:
`<B>4</B><P>Car Type Requested: <B>Luxery</B><P>Origin: <B>Nevada, iA</b>
`<HR>
`<B>Move An Available Ca</B>
`<P><|NPUT TYPE="radio" NAME=cars CHECKED> XYD123
`<P><|NPUT TYPE="radio" NAME=cars >Chevy Camaro Z28
`<P><|NPUT TYPE="radio" NAME=cars >ChevroIet Lumina
`<P><iNPUT TYPE="radio" NAME=cars >O|dmobi|e Cutlass Supreme
`<HR>
`<INPUT TYPE="submit" NAME="move" VALUE=“Move Car">
`<INPUT TYPE="submit“ NAME="cance|" VALUE="Cance|">
`<INPUT TYPE="hidden" NAME="wf-cgi-submit" VALUE="13">
`<INPUT TYPE="hidden" NAME="wf—fmig-handle"
`VALUE="7777775F4361725F556E617661696061626C65007777775F5265736572766174696F6E5F
`526571756573745F3837">
`<INPUT TYPE="hidden" NAME="wf-fmig-key" VALUE="webfmagent">
`</FORM>
`</HTML>
`
`FIG. 22
`
`Ex. 1009 Page 22
`
`Ex. 1009 Page 22
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 22 of 22
`
`5,892,905
`
`
`
`UmmDm_n_<>>>>>>
`
`
`
`U®mDm_n_<>>>>>>
`
`mzmomm
`
`mwo_o
`
`Emm
`
`.bmccoom_o
`
`mmo_o
`
`:30
`
`.88
`
`
`
`Umw3m_n_<>>>>\</
`
`m>_ooom
`
`$20
`
`:30
`
`E8
`
`mm.0_u_
`
`
`
`_umwDm_n_<>>>>§
`
`m>m_om.w_
`
`:30
`
`Emm
`
`mzmomm
`
`mmo_o
`
`Ex. 1009 Page 23
`
`Ex. 1009 Page 23
`
`
`
`
`5,892,905
`
`1
`COMPUTER APPARATUS AND METHOD
`FOR PROVIDING A COMMON USER
`INTERFACE FOR SOFTWARE
`APPLICATIONS ACCESSED VIA THE
`WORLD-WIDE WEB
`
`RELATED APPLICATION
`
`This application is related to the following U.S. patent
`applications: “Computer Apparatus and Method for Com-
`municating Between Software Applications and Computers
`on the World-Wide Web Using Universal Variable
`Handling”, Ser. No. 08/780,014, filed Dec. 23, 1996, “Com-
`puter Apparatus and Method for Providing Security Check-
`ing for Software Applications Accessed via the World-Wide
`Web”, Ser. No. 08/772,737, filed Dec. 23, 1996; “Computer
`Apparatus and Method Including a Disconnect Mechanism
`for Communicating Between Software Applications and
`Computers on the World-Wide Web”, Ser. No. 08/772,738,
`filed Dec. 23, 1996; and “Computer Apparatus and Method
`for Communicating Between Software Applications and
`Computers on the World-Wide Web”, Ser. No. 08/780,013,
`filed Dec. 23, 1996.
`
`BACKGROUND OF THE INVENTION
`
`1. Technical Field
`
`This invention generally relates to interactions on the
`world-wide web, and more specifically relates to an appa-
`ratus and method for providing access to software applica-
`tions via the world-wide web.
`
`2. Background Art
`The development of the EDVAC computer system of
`1948 is often cited as the beginning of the computer era.
`Since that
`time, computer systems have evolved into
`extremely sophisticated devices, and computer systems may
`be found in many different settings. Computer systems
`typically include a combination of hardware (e.g.,
`semiconductors, circuit boards, etc.) and software (e.g.,
`computer programs). As advances in semiconductor pro-
`cessing and computer architecture push the performance of
`the computer hardware higher, more sophisticated computer
`software has evolved to take advantage of the higher per-
`formance of the hardware, resulting in computer systems
`today that are much more powerful than those that existed
`just a few years ago.
`Computer systems typically include operating system
`software that control the basic function of the computer, and
`one or more software applications that run under the control
`of the operating system to perform desired tasks. For
`example, a typical IBM Personal Computer may run the
`OS/2 operating system, and under the control of the OS/2
`operating system, a user may execute an application
`program, such as a word processor. As the capabilities of
`computer systems have increased, the software applications
`designed for high performance computer systems have
`become extremely powerful.
`Other changes in technology have also profoundly
`affected how we use computers. For example, the wide-
`spread proliferation of computers prompted the develop-
`ment of computer networks that allow computers to com-
`municate with each other. With the introduction of the
`
`personal computer (PC), computing became accessible to
`large numbers of people. Networks for personal computers
`were developed to allow individual users to communicate
`with each other. In this manner, a large number of people
`within a company could communicate simultaneously over
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`a network with a software application running on a single
`computer system.
`One significant computer network that has recently
`become very popular is the Internet. The Internet grew out
`of the modern proliferation of computers and networks, and
`has evolved into a sophisticated worldwide network of
`computer systems linked together by web pages that collec-
`tively make up the “world-wide web”, or WWW. A user at
`an individual PC (i.e., workstation) that wishes to access the
`WWW typically does so using a software application known
`as a web browser. Aweb browser makes a connection via the
`
`WWW to other computers known as web servers, and
`receives information from the web servers that is displayed
`on the user’s workstation. Information displayed to the user
`is typically organized into pages that are constructed using
`a specialized language called Hypertext Markup Language
`(HTML). Web browsers that use HTML are now available
`for almost every computer system on the market, making the
`WWW accessible to practically anyone who has access to a
`computer and a modem. Although the W is becoming
`increasingly popular, the rapid growth and expansion of
`computer users accessing theW has brought along with
`it concomitant problems. Some of these problems are iden-
`tified below.
`
`With the growing popularity of the Internet and the
`WWW, businesses have recognized that the Internet pro-
`vides a new way to boost both sales and efficiency. If a user
`with a web browser can interact directly with a company’s
`software application, a given transaction will be simplified.
`For example, let’s evaluate how a person typically reserves
`a rental car. The person calls the rental car agency, and then
`gives his or her information (i.e., name, address, credit card
`number, etc.) to the rental car agent over the phone. The
`agent must enter the information into the car rental software
`application to initialize the process to reserve a car. A more
`efficient car reservation system for web users would allow
`the user to interact directly with the car rental software
`application. This would eliminate many of the tasks that the
`car rental agent now performs. However, devising a car
`rental software application that is capable of interacting
`directly with web users would require creating custom
`interface software. Likewise, a custom user interface must
`be created for each different software application that is to
`be accessed via the WWW. The preferred interface would be
`a graphical user interface (GUI). The process of generating
`a custom GUI for a software application is time consuming
`and expensive, and typically results in a proprietary user
`interface that cannot be used for communicating with other
`software applications. This means that a company has a
`significant disincentive that would prevent them from pro-
`viding access to their software applications via the WWW.
`In addition, many computer users have adopted very
`different forms of hardware/software computer platforms.
`For example, while the IBM-compatible personal computer
`is the most common type of computer system available
`today, other vendors have developed very different product
`lines with significant numbers of computer systems pres-
`ently installed and in use. These disparate hardware systems
`typically utilize completely different operating systems. The
`existence of these various different hardware and software
`
`systems will typically require a completely new program-
`ming and development effort
`to “port” or translate the
`custom GUI for a given software application to each differ-
`ent hardware platform. Many companies will only support
`the most popular hardware/software combinations, thereby
`limiting market share and reducing the number of users who
`have access to the software application.
`
`Ex. 1009 Page 24
`
`Ex. 1009 Page 24
`
`
`
`5,892,905
`
`3
`The problem of multiple unrelated user interfaces high-
`lights yet another problem that may also prevent the rapid
`adoption of software applications via the WWW. Assuming
`a company has absorbed the cost of developing a custom
`GUI for a given software application, the GUI developed by
`one company will most likely differ significantly from the
`GUI developed by another company for their respective
`software applications. Typically, each software vendor will
`create a custom GUI for each specific software application
`so that whenever a user accesses the software application via
`the WWW, the user can access the specific features of the
`software application. However, since every product has
`different features and every vendor has differing standards
`for application/user interaction, the result is often a vastly
`different user interface for each and every software appli-
`cation that the user encounters. The user is often forced to
`
`“re-learn” basic skills for interacting with each and every
`software application they wish to access.
`The current situation for accessing software over the
`WWW is somewhat analogous to the early days of the
`personal computer. In the early 1980s, the IBM personal
`computer (PC) was introduced and was quickly adopted as
`the industry standard hardware platform. However, even
`though the hardware platform was relatively standard, each
`independent software vendor created significantly different
`user interfaces for their respective application programs.
`This,
`in turn, proved to be an impediment
`to the rapid
`adoption of new application programs by the users of
`personal computers. Because users were unable to efficiently
`use new software applications without extensive training,
`many new software applications were not adopted.
`Today, however, new standards have been developed and
`adopted for personal computer software applications which
`dramatically reduce the amount of re-learning that must take
`place for new software applications. State-of-the-art GUI
`operating systems such as IBM’s OS2 have standardized
`many common user actions and provided independent soft-
`ware developers and vendors with the “hooks” or program-
`ming tools necessary to access most standard user interface
`components and features, thereby dramatically reducing the
`learning curve for end-users. Unfortunately, this standard-
`ization effort has not yet penetrated the W In fact, the
`ready availability of the WWW as a delivery system for
`software applications has exacerbated the rapid proliferation
`of the disparate software now available over the W. In
`addition, some of the most powerful software applications
`available have non-intuitive, non-graphical user interfaces.
`The process of re-learning a new interface for each new
`application tends to be tedious, time-consuming and non-
`productive. Therefore, even though many software applica-
`tions may be accessible over the WWW today, learning how
`to access these various programs can be time-consuming,
`frustrating, and intimidating for the end-user.
`DISCLOSURE OF INVENTION
`
`Recognizing both the importance of providing access to
`software applications over the WW, and the current limi-
`tations of existing solutions, the present invention provides
`the capability to easily access many different application
`programs over the WWW via a standardized GUI. By
`providing standard procedures, routines, tools, and software
`“hooks” for accessing software applications over the WWW,
`software developers can concentrate on the functionality of
`the application program and easily use HTML to provide a
`GUI interface for the application program.
`As mentioned above, HTML is a well-known language
`which can be used by almost any computer system on the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`today. In addition, since HTML is a fairly well
`market
`controlled and standardized language, new software appli-
`cation features can be added as they are developed and
`supported by HTML. In addition, since HTML is a widely
`adopted, non-proprietary technology, the present invention
`can provide open access to a large market for even very
`small software developers. Further, the present invention
`also allows software developers to adopt a standard access
`protocol, which allows them to provide support for any
`computer system which is capable of utilizing a HTML
`cognizant browser. Finally, by providing easy-to-implement,
`standardized solutions to the issues of user interface,
`authentication/security, and web transaction support,
`the
`common user interface of the present invention overcomes
`the limitations existing in previous solutions.
`The foregoing and other features and advantages of the
`invention will be apparent from the following more particu-
`lar description of preferred embodiments of the invention, as
`illustrated in the accompanying drawings.
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`The preferred embodiments of the present invention will
`hereinafter be described in conjunction with the appended
`drawings, where like designations denote like elements, and:
`FIG. 1 is a block diagram of a preferred embodiment of
`the present invention;
`FIG. 2 is a block diagram of a transaction between a client
`workstation and a web server;
`FIG. 3 is a block diagram of a system according to a
`preferred embodiment of the present invention that allows
`access to a software application over the World-Wide Web
`from a standard web browser;
`FIG. 4 is a more detailed block diagram of the system of
`FIG. 3, further adapted to access FlowMark workfiow
`application software over the World-Wide Web;
`FIG. 5 is a flow diagram of a method in accordance with
`a preferred embodiment of the present invention that illus-
`trates some of the features of the common user interface;
`FIG. 6 is a process flow diagram of the security checking
`feature of FIG. 5;
`FIG. 7 is a process flow diagram of the template/HTML
`variable feature of FIG. 5;
`FIG. 8 is a process flow diagram of the resume/disconnect
`API features of FIG. 5;
`FIG. 9 is a tabular representation of a portion of a user
`library;
`FIG. 10 is a block diagram of a preferred embodiment of
`the present invention when expanded to a multi-user envi-
`ronment;
`FIG. 11 is an example of HTML code used to generate a
`car rental reservation form in accordance with a preferred
`embodiment of the present invention;
`FIG. 12 is an example of a data stream generated by a user
`request from a web browser in accordance with a preferred
`embodiment of the present invention;
`FIG. 13 is an example of HTML code used to generate a
`reservation confirmation template in accordance with a
`preferred embodiment of the present invention;
`FIG. 14 is an example of the HTML code of FIG. 10