`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
`
`1..
`
`222
`
`332
`
`Internet!
`Application
`Gateway
`
`342
`Software
`Applicanon
`
`.
`
`'
`
`1
`.1
`g
`
`DAS D
`
`CPU 1]
`
`140
`, \
`
`I 1 1 , , 1 1 1 1 1 1 . _ _ _ _ _ 1 1 1 1 1 1 , _ _ _ _ _ 1 1 1 1,
`
`Plaid Technologies Inc.
`Exhibit 1005
`
`
`
`Ex 1005-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 1005-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 1005-3
`
`
`
`U.S. Patent
`
`EPA
`
`99916:
`
`Sheet 3 of 22
`
`5,892,905
`
`§.:uEoo
`
`E998
`
`m:m>>tom.
`
`:o=mo__aa<
`
`._mSaEoo
`
`E9m>w
`
`>wEmE_
`
`:o=mo__aq<
`
`>w32m0
`
`Eimwnm>>
`
`
`
`EBm>mBSQEOQ
`
`
`
`.m>._mmnw>>
`
`:o=mo__aa<
`
`Ew__O
`
`co:Em«__o>>
`
`.wm.so.mnm>>
`
`Ex 1005-4
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`22f04teehS
`
`5,892,905
`
`3_>__.o<
`
`mEm.moE
`
`m_®UO_>_mmmnfimn
`
`92I{m2;o:
`
`2_m_>_;o:
`
`«®C._®«C_
`
`>m>>2mo
`
`6__>E
`
`gmflagas
`
`mwo4o
`
`zmao
`
`ozmm
`
`pomzzooma
`
`m>momm
`
`N3
`
`84.MW?
`
`
`
`E9w>m.m5QEoo
`
`
`
`E993.m5aEoo
`
`Eimwpm>>
`
`
`
`Ew..m>m.9:aEoo
`
`Samwnm>>
`
`:o:mo__aa<
`
`Em__O
`
`co:Emv_..o>>
`
`8%
`
`.wm>>o_m_
`
`Ex 1005-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 1005-6
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 6 of 22
`
`5,892,905
`
`>w_<mm__._mum:
`
`Nn_n_<_\n_n_<
`
`mE<>>h_om
`
`_.zoP<o_._&<
`
`mE<>>Eom
`
`NZO_._.<O_._n_n_<
`
`><>>mF<o
`
`
`
`o_mqEooNmm
`
`
`
` >._mE__Em:2>m¢_ncmotmms
`
`m>mEmmawe
`
`mcmzéom
`
`:o:mo__aam
`
`co:mo_Eo£:m
`
`9%
`
`Homtoo238:00So
`
`co_..mo__uQm
`
`
`
`mm_>mmmmm_>>
`
`ZO_._.<o_._n_n_<
`
`mmm
`
`w..mu_Em£:<
`
`UcmQtwm:
`
`Eozamma
`
`Emmowe
`
`8..Hmmavm.
`
`
`
`otwwbdmmoom
`
`9.>mv_Ucm
`
`>m>>2mO
`
`So
`
`.95m:
`
`ucmEoswmmd
`
`_m.m>>oEE0:>3
`
`Ex 1005-7
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 7 of 22
`
`5,892,905
`
`m_.r<._n=>_m_._.
`
`>m_<mm:
`
`N9m_qEm._.r9m_aEmH
`
`29m_QEm._.
`
`”m_nm:m>_”.__>_._._._N9m_QEm._.
`
`”m_nm.:m.>m”m_nm_._m>w”.__>_._._._
`
`”.__>:.I
`
`m_m<>>Eom
`
`ZO:.<O_._n_n_<
`
`m>wEmmNNN
`
`
`
`Emuu.Emm:c9
`
`>m>>m.m02EmuE32
`
`ZO_._.<o_._n_n_<
`
`><>>m:<o
`
`:80.§
`
`
`
`.__>:._._um_.__om%
`
`e_E%_mfi»Em_aE9
`
`
`
`umumw:mw_nm:m>
`
`
`
`
`
` EmuummsvmmownAm.m_qE9
`.2
`
`EmzéomEoc
`
`co:wo__aQ<
`
`emaem.Eafi
`
`um.>wEw.ES,
`
`_om_E53:0em»a2%
`
`nw>>29m_QE9
`
`._m>.wm
`
`
`
`mm_>«_m_mmm_>>
`
`20_._.<o_._n_n_<
`
`
`
`#5mmmm,om.\.
`
`howmmfium
`
`>m>>2mO99m_QEmz
`
`8____5330«E
`
`mm9m_qE9
`
`
`
`9.wmmd.__>:._._
`
`
`
`_mm>>o.m_nm>>
`
`
`
`FDn_Z_.m.:
`
`
`
`m:_&_omam._m_3
`
`.=>:._._
`
`H._.Dn_._.DO
`
`”.__>:.I
`
`W.__>:._._
`
`
`
`“Ema_mmm_
`
`
`
`MEMO_mmm_
`
`.r__>:.I
`
`Ex 1005-8
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 8 of 22
`
`5,892,905
`
`m_w_<>>._.n_Om
`
`ZO_._.<0_._n_n_<
`
`
`
`umzwmscmzczotmm
`
`__E:5_8fiEc
`
`
`
`__E:cozocé
`
`E0::5555:3
`
`
`
` _um.__:_um._2Em__onw>>
`
`
`
`._O..—fimzcfincmm
`
`vcmwu:u:_
`
`
`
`Sméwumw2mosocSmccoomfi
`
`Emtso.2maflm
`
`bumm:9E29
`
`xmm._.
`
`
`
`Emmyuwucmqmzm
`
`SQEm>_mom_
`
`mE:mmm
`
`
`
`
`
` mzmzfiom9Egg._m>__mugmm.
`
`co=mo__nEm
`
`><>>m:.<O
`
`nm>>9.Sn_:_L2.
`
`
`
`fimzumzS930
`
`.mm>>9_m
`
`
`
`oczucmmEm__o
`
`
`
`82,E_Emu_
`
`“om:_U§%_
`
`mzmzéom
`
`-22cozmofiam
`
`
`
`umucmamsmtmfi
`
`>m>>9m09.39.;
`
`
`
`_o>._mmnm>>E0:
`
`Ex 1005-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 1005-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 1005-11
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 11 of 22
`
`5,892,905
`
`<html>
`<tit|e>Cars Around the Wor|d<tit|el>
`<FORM ACTION="/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:
`
`<INPUT TYPE="text" NAME="membno" SlZE=4>
`<INPUT TYPE="te>d" NAME="|name" S|ZE=15>
`First:
`<INPUT TYPE="text" NAME="fname" S|ZE=15>
`MI:
`<INPUT TYPE="text“ NAME="mi" S|ZE=1>
`
`<HR>
`
`<P>Origin City: <INPUT TYPE="text" NAME="origcity" S|ZE=15>
`State:
`<INPUT TYPE="text" NAME="origstate" S|ZE=2>
`<P>Stait 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=“cartype" VALUE=3> Full Size
`<INPUT TYPE="radio" NAME="cartype" VALUE=4> Luxury
`
`<HR>
`<P><IN PUT TYPE="submit" VALUE=“Submit">
`<P><IN PUT TYPE="hidden" NAME="wf-cgi-submit" VALUE="2">
`<P><|N PUT TYPE="hidden" NAME="wf-api-proc-template" VALUE="www_Reservation Request“>
`<INPUT TYPE="hidden" NAME="wf-fmig-key" VALUE="webfmcust“>
`<INPUT TYPE="hidden" NAME="wf-cgi-htmi" VALUE="/exrn/smp/exmp5srk.htm">
`</form>
`</htmi>
`
`membno=123484name=Doe&fname=John&mi=E&origcity=Nevade&origstate=lA&staridate=09%2F23%
`2F96&days=4&cartype=2&wf-cgi-submit=2&wf-api-proc-temp|ate=www_Reservation_Request&wf-fm ig-
`key=webfmcust&wf-cgi-html=%2Fexm%2Fsmp%2Fexmp5srk.htm
`
`Ex 1005-12
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 12 of 22
`
`5,892,905
`
`<html>
`<t'rt|e>Cars Around the Wor|d<titIe/>
`<FORM ACTION="/cgi-prot/exmp5cgi.exe" METHOD="POST">
`<H3><CENTER>Customer's Reservation Number</CENTER></H3>
`<HR>
`
`<p> <! - - "wf-act—outmsg" - ->
`<HR>
`<p><INPUT TYPE="submit" VALUE="OK">
`<p><INPUT TYPE="hidden" NAME="wf-cgi—subm i1" VALUE=“13">
`</form>
`</html>
`
`FIG. 13
`
`<htm|>
`<tit|e>Cars Around the Wor|d<tit|e/>
`<body>
`<FORM ACTlON="/cgi-protlexm p5cgi.exe" METHOD="POST">
`<H3><CENTER>Customer‘s Reservation Number</CENTER></H3>
`<HR>
`
`<p> Your reservation number is 4411. </p>
`<HR>
`<p><INPUT TYPE=“submit" VALUE="OK">
`<p><INPUT TYPE="hidden“ NAME="wf-cgi-submit" VALUE="13">
`<INPUT TYPE="hidden" NAME="wf-fmig-handle“ VALUE="007777775F5265736572766174696F">
`<INPUT TYPE="hidden" NAME="wf—fmig-key" VALUE="webfmcust“>
`</form>
`</html>
`
`FIG. 14
`
`wf-cgi-submi1=13&wf—fmig-handIe=00?777775F5265736572766174696F8wf-fmig-key=webfmcust 7
`
`FIG. 15
`
`Ex 1005-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 1005-14
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 14 of 22
`
`5,892,905
`
`<htmI>
`
`<FORM ACT!ON="/cgi-prot/exmp5cgiexe" 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
`<1 - - "wf-cgi-rbegin" - - >
`<tr>
`
`<td ALIGN=CENTER VALIGN=MIDDLE><lNPUT 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 AL|GN=CENTER><! - - "wf-api-item-starttime" - - >
`<td ALIGN=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>
`<tr>
`<td>
`
`<|NPUT TYPE="radio“ NAME="wf-cgi-submit" VALUE="3" CH ECKED>
`Start work item
`<tr>
`<td>
`
`Ex 1005-15
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 15 of 22
`
`5,892,905
`
`<INPUT TYPE="radio" NAME="wf-cgi-submit" VALUE="O">
`Refresh list
`</TABLE>
`<! - - Start Submit Button & hidden variables - - - - - - - - - - - - - - - >
`<hr>
`<INPUT TYPE="submit" VALUE="Perform Action">
`<INPUT TYPE="hidden" NAME="wf—cgi-html" VALUE="/exm/htmI/exmp5ewi.htm">
`<! - — End Submit Button & hidden variables - — — — — — — — — — — — — — — >
`<hr>
`<aref="/exn/html/exmp5ehp.htm">
`<img src="/exm/icons/exmp5efm.gif" AL|GN=MlDDLE HSPACE=5>
`Return to home page
`</a>
`
`<aref="/exn/html/exmp5d20.htm“>
`<img src="/exm/iconslexmpfieoh.gif" ALlGN=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 1005-16
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 16 of 22
`
`5,892,905
`
`<htm|>
`<FONT S|ZE=3>
`
`<FORM ACTION="/cgi-prot/exmp5cgi.exe" METHOD="POST">
`<HEAD>
`<titIe>FIowMark - Work ltems</titIe>
`</H EAD>
`<BODY>
`
`<img src="/exm/icons/exmp5eww.gif" a|t=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>www__Schedu|e_Reservation
`<td>www__Reservation Request_85
`<td>ScheduIe_Reservation
`<td ALlGN=CENTER>O9—O3-1996 O2:55:11PM
`<td ALIGN=CENTER>4004128
`<td>
`
`<tr>
`
`<td>AL|GN=CENTER VALIGN=MlDDLE><|NPUT TYPE="radio"
`NAM E="wf—api-item"
`VALU E="7777775F5363686564756C655F52657365727661 74696F6E007777775F52657365727661
`74696F6E5F526571756573745F383500454D4147454E5400776562616765BE7400776562666D616
`7656E74">
`<td> NOWRAP>ScheduIe car
`<td>Ready
`<td>wvvw_ScheduIe_Reservation
`<td>www_Reservation Request_84
`<td>ScheduIe_Reservation
`<td AL|GN=CENTER>O9-O3-1996 O1:48:48PM
`<td ALlGN=CENTER>4004128
`<td >
`
`<td>AL|GN=CENTER VAL|GN=M|DDLE><|NPUT TYPE="radio"
`
`Ex 1005-17
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 17 of 22
`
`5,892,905
`
`NAME="wf-api-item"
`VALUE="7777775F5363688564756C655F5265736572766174696F6EOO7777775F5265736572766
`174696F6E5F526571756573745F383500454D4147454E54007765626‘l67656E7400776582666D6
`167656E74">
`<td> NOWRAP>Schedule car.
`
`<td>Ready
`<td>www_Schedu|e_Reservation
`<td>www_Reser\/ation Request_86
`<td>Schedu|e_Reservation
`<td AL|GN=CENTER>09-03-1996 03:01 :1 5PM
`<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>
`<tr>
`<td>
`
`<|NPUT TYPE="radio" NAM E="wf-cgi-submit" VALU E="3" CHECKED>
`Start work item
`<tr>
`<td>
`
`<|NPUT TYPE="radio" NAME="wf-cgi-submit" VALUE="O">
`Refresh list
`</TABLE>
`<! - - Start Submit Button & hidden variables - - - - - - - - - - - - - - - >
`<hr>
`<lNPUT TYPE="submit“ VALUE="Perform Action">
`<lNPUT TYPE="hidden“ NAME="wf-cgi-html" VALUE="/exm/html/exmp5ewi.htm">
`<l — - End Submit Button 8. hidden variables - - - — - - - - - - - - - - - >
`<hr>
`
`<ahref="/exn/htm|/exmp5ehp.htm">
`<img src="/exm/icons/exmp5efm.gif" AL|GN=M|DDLE HSPACE=5>
`Return to home page
`</a>
`<ahref="/exn/html/exmp5d20.htm">
`<img src=“/exm/icons/exmp5eoh.gif" ALlGN=MlDDLE HSPACE=5>
`Help
`</a>
`<hr>
`
`FIG. 19b
`
`Ex 1005-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 Server
`<td>Date & Time
`<tr>
`<td>FMAGENT
`<td>\/\NV\NDB
`<td>VWVWSRV
`<td>O8;27;33 09/05/96
`</tabIe>
`<INPUT TYPE="hidden" NAME="wf-fmig-key" VAULE="webfmagent">
`</FORM>
`</BODY>
`</HTML>
`
`Ex 1005-19
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 19 of 22
`
`5,892,905
`
`wf-api-item="7777775F5363686564756C655F5265736572766174696F6EO07777775F52657365
`72766174696F6E5F526571756573745F383500454D4147454-E54007765626167656E7400776562
`666D6167656E74"&wf-cgi--submit=3&wf-cgi-html=%2Fexm%2Fhtml%2Fexmp5ewi.htm&wf-fmig-
`key=webfmagent
`
`Ex 1005-20
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 20 of 22
`
`5,892,905
`
`<HTML>
`<FORM ACT|ON="/cgi-prot/exmp5cgi.exe" METHOD="POST">
`<HEAD>
`<T|TLE>Customer |nformation</T|TLE>
`<B>Customer Reservation |nformation</B>
`<table border=1>
`<tr><td>Name</td><td>Member Number</td><td>Resv Number<ltd>
`<tr><td ><! - — "wf-act-name" - — ></td>
`<td align=right>"wf-act-membno"</td>
`<td align=right>"wf-act-resvno"</td>
`</tab|e>
`<p><! - - "wf-act-outmsg" - - >
`<HR>
`<B>Move An Available Ca</B>
`<P><INPUT TYPE="radio" NAME=cars CHECKED> <! — - “wf—act-car1" - — >
`<P><INPUT TYPE="radio" NAME=cars > <! - - "wf-act—car2" - - >
`<P><INPUT TYPE="radio" NAME=cars > <! - - "wf-act-car3" - - >
`<P><INPUT TYPE=“radio" NAME=cars > <! - - "wf-act-car4" - - >
`<HR>
`<|NPUT TYPE="submi1" NAME="move" VALUE="Move Car">
`<|NPUT TYPE="submit" NAME="cancel" VALUE="Cancel">
`<|NPUT TYPE="hidden" NAME="wf-cgi-submit" VALUE="13">
`</FORM>
`</HTML>
`
`Ex 1005-21
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 21 of 22
`
`5,892,905
`
`<HTML>
`<FORM ACT|ON="/cgi-pro!/exmp5cgi.exe" METHOD="POST">
`<HEAD>
`<TlTLE>Customer Information</TlTLE>
`<B>Customer Reservation lnformation</B>
`<table border=1>
`<tr><td>Name</td><ld>Member Number</td><td>Resv Number</td>
`<tr><td >John E. Doe</td>
`<td align=right>1234</td>
`<td align=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, lA</b>
`<HR>
`<B>Move An Available Ca</B>
`<P><lNPUT TYPE="radio" NAME=cars CHECKED> XYD123
`<P><|NPUT TYPE="radio" NAME=cars >Chevy Camaro Z28
`<P><|NPUT TYPE=“radio" NAME=oars >Chevrolet Lumina
`<P><lNPUT TYPE="radio" NAME=cars >O|dmobi|e Cutlass Supreme
`<HR>
`<lNPUT TYPE="submit“ NAME="move" VALUE="Move Car">
`<lNPUT TYPE="submit" NAME="cancel" VALUE="Cancel">
`<lNPUT TYPE="hidden" NAME="wf—cgi-submit" VALUE="13">
`<lNPUT TYPE="hidden" NAME="wf—fmig-handle"
`VALUE="7777775F4361725F556E617661696C61626C65007777775F5265736572766174696F6E5F
`526571756573745F3837">
`<lNPUT TYPE="hidden" NAME=“wf-fmig—key" VALUE="webfmagent">
`</FORM>
`</HTML>
`
`FIG. 22
`
`Ex 1005-22
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 22 of 22
`
`5,892,905
`
`
`
`new:m_n_<>>>>>>Sm:m_n_<>>>>>>
`
`
`
`
`
`
`
`mzmommvcmw
`
`vcmw:30
`
`
`
`mwo_o..om_.Eoom_n_
`
`$20
`
`wM3lmm_¢|§>|29
`
`m>_ooow_
`
`320
`
`:80
`
`E8
`
`mm..U_n_
`
`
`
`
`
`Uwwflm_n_<>>>>>>
`
`m>w_omw_
`
`cmqo
`
`Eom
`
`m>_m.omm_
`
`mwo_o
`
`Ex 1005-23
`
`
`
`7
`7
`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
`
`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 WWW 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. Amore
`eflicient 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
`di erent 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 di erent 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
`l1ave access to the software application.
`
`Ex 1005-24
`
`
`
`7
`7
`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 di er 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 elficiently
`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 W 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 WW W 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 dilferent 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
`
`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, nori-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-iniplernent,
`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 ir1 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 workflow
`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 ernbodiment of the present invention;
`FIG. 14 is an example of the HTML code of FIG. 10 after
`processing by a CGI in accordance with a preferred embodi-
`ment of the present invention;
`FIG. 15 is an example of web browser formatted data in
`accordance with a preferred embodiment of the present
`invention;
`
`Ex 1005-25
`
`
`
`7
`7
`5 892 905
`
`5
`FIG. 16 is an example of HTML code used to generate a
`web page for a car rental reservation agent in accordance
`with a preferred embodiment of the present invention;
`FIG. 17 is an example of web server generated data in
`accordance with a preferred embodiment of the present
`invention;
`FIGS. 18a and 18b provide an example of HTML code
`used to generate a car rental agent work list in accordance
`with a preferred embodiment of the present invention;
`FIGS. 19a, 19b, and 19c provide an example of HTML
`code of FIG. 15 after processing by a CGI in accordance
`with a preferred embodiment of the present invention;
`FIG. 20 is an exampl