`
`[191
`
`[11] Patent Number:
`5,701,451
`[45] Date of Patent: Dec. 23, 1997
`Rogers et al.
`
`
`
`US00570l451A
`
`METHOD FOR FULFILLING REQUESTS OF
`A WEB BROWSER
`
`OTHER PUBLICATIONS
`
`[54]
`
`[75]
`
`Inventors: Richard Michael Rogers. Beacon.
`N.Y.; Konrad Charles Lagarde.
`Milford. Conn.
`
`[73]
`
`Assignee:
`
`International Business Machines
`Corporation. Annonk. N.Y.
`
`[211
`
`[22]
`
`[51]
`[52]
`
`[53]
`
`[5 6]
`
`Appl. No.2 474,577
`
`Filed:
`
`Jun. 7, 1995
`
`Int. Cl.‘ ...................................................... G06F 17/30
`U.S. Cl.
`............... 395/600; 395/200.03; 395/200.09;
`395/700
`
`Field of Search ......................... 395/200.03. 200.09.
`395/600. 650. 700. 145. 154. 155. 161
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`[57]
`
`ABSTRACT
`
`.................. 395/676
`395/600
`395/500
`395/700
`395/600
`395/600
`395/600
`395/155
`340/825
`395/600
`395/157
`.. 370/94.1
`395/163
`395/600
`395/156
`395/154
`395/200.01
`395/200
`395/600
`395/700
`............................. 395/650
`
`
`
`6/1981 Hodglcinson et a1.
`4,274,139
`8/1984 Wang ...................
`4,468,728
`8/1986 Amezcua et al.
`4,604,710
`4,714,989 12/1987 Billings ............
`4,714,995
`12/1987 Matema et al.
`.
`4,774,655
`9/1988 Kollin et al.
`5,093,911
`3/1992 Parks et al.
`5,179,652
`1/1993 Rozmanith et al.
`5,181,017
`1/1993 Frey, Jr. et al.
`5,187,787
`2/1993 Skeen et al.
`5,204,947
`4/1993 Bernstein et a1.
`5,224,098
`6/1993 Bird et a1.
`........
`5,241,625
`8/1993 Epard et al.
`.
`5,278,978
`1/1994 Demers et al.
`5,297,249
`3/1994 Bernstein
`5,307,456
`4/1994 MacKay
`.
`5,329,519
`7/1994 Pagéet al.
`5,347,632
`9/1994 Filepp et al
`5,355,472
`10/1994 Lewis ...........
`5,404,534
`4/1995 Foss et al.
`5,455,948
`10/1995 Poole et al.
`
`.
`
`1ml
`,
`srr
`CAPSULE
`VARIABiES
`
`Obraczka et al. “Internet Resource Discovery Services”.
`Computer; Sep. 1993 pp. 8-22.
`Vaughn—Nichols. S.. Tidrow. R et al.. Inside the World Wide
`Web, New Riders Publishing. Indianapolis. IN. 1995.
`Krol. E.. The Whole Internet, O‘Reilly & Associates. Inc..
`Sebastopol. CA. Second Edition 1994.
`“Internet—World Wide Web”. 1996 vol. 1. compiled by
`Lynn L. Augsprunger. published 1996. International Busi-
`ness Machines Corporating. Annonk. NY. 1996.
`“Internet-—World Wide Web”. 1996 vol. 2. compiled by
`Lynn L. Augspurger. published 1996. International Business
`Machines Corporation. Armonk. NY. 1996.
`“Internet——Wor1d Wide Web". 1996 vol. 3. compiled by
`Lynn L. Augspurger. published 1996. International Business
`Machines Corporation. Armonk. NY. 1996.
`
`(List continued on next page.)
`
`Primary Examz'ner—'I’homas G. Black
`Assistant Examiner—I0hn C. Loomis
`Attomey, Agent, or Firm-—Lynn L. Augspurger
`
`A World Wide Web browser makes requests to web servers
`on a network which receive and fulfill requests as an agent
`of the browser client. organizing distributed sub-agents as
`distributed integration solution (DIS) servers on an intranet
`network supporting the web server which also has an access
`agent servers accessible over the Internet. DIS servers
`execute selected capsule objects which perform program-
`mable functions upon a received command from a web
`server control program agent for retrieving, from a database
`gateway coupled to a plurality of database resources upon a
`single request made from a Hypertext document. requested
`information from multiple data bases located at difierent
`types of databases geograhically dispersed. performing
`calculations. formatting. and other services prior to reporting
`to the web browser or to other locations. in a selected format.
`as in a display. fax. printer. and to customer installations or
`to TV video subscribers. with account tracking.
`
`34 Claims, 9 Drawing Sheets
`
`
`
`r'iw\ 1
`
`
`7”
` Hi
`Cllf. VDGDN
`Tl:J.L15
`REERI
`PATH.
`LECREATE
`mu ARRAY
`
`‘
`
`LL13
`FILEMME
`
`PLAID 1017
`
`‘ cu r‘-,
`
`.
`
`L22
`SYSl£ki ADMIWSTRITN
`‘IVBE0 EEPJJXR
`
`
`ms
`
`
`
`5,701,451
`Page 2 .:
`
`OTHER PUBLICATIONS
`
`“Internet—World Wide Web”. 1996 vol. 4. compiled by
`Lynn L. Augspurger. published 1996. International Business
`Machines Corporation. Armonk. NY. 1996.
`
`“Internet—Wor1d Wide Web”. 1996 vol. 5. compiled by
`Lynn L. Augspurger. published 1996. International Business
`Machines Corporation. Armonk. NY. 1996.
`
`“Internet——World Wide Web”. 1996 vol. 6. compiled by
`Lynn L. Augspurger. published 1996. International Business
`Machines Corporation. Armonk. NY. 1996.
`“Developing Applications with OpenDIS Access Service”.
`Metaphor Data Interpretation System Release 2.0. Metaphor
`Inc.. 1st Edition. Sep. 1994.
`“Exploring the Internet with Mosaic" by B. K. Duval and L.
`Main. Library Software Review. vol. 13 No. 4. Winter 1994.
`pp. 269-279.
`
`
`
`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 1 of 9
`
`5,701,451
`
`
`
`B~m:o_I2:memzpmmaim2.5;GE53%ma<P586.2;=2.zo_§dm~59ozgéE30%asMI»53%
`
`S m
`
`.o_.._
`
`
`
`SEgamEmaz<>_j3m3maxozfiéé
`
`
`
`U.S. Patent
`
`Q
`
`7
`
`9
`
`5,701,451
`
`
`
`mmflfixmS.mauw.E.§§&e:55.
`
`
`
`
`
`mm,82meme:3W?E.._m_E5358ME.
`
`
`
`mSiam810$j<.32$2.zo:§o%oo:m_EQEEOQQEaiodaoE92:m_moim_E.
`
`
`
`
`
`
`@»§@v£...
`
`mm\\\
`
`
`
`JomofimzozNW5.2£003;
`
`
`
`.m.::m_m_.:m_9+::.><>>:o_IEnsmzo_§éEz_m1»0»%sTzoM2:29:m>_._902:28N52,.
`
`
`
`
`
`
`
`B;was3%;E:zomoiM20:ZOEGDB519:
`
`
`
`
`
`pmSEOo_Ez8Ez_E:2,~59azo3;mmdb?mzo_m»9§atozzsodo...92C9850212:5.:2o02583%:Emmzaam%o%Eoésmmzo_:§Ez_m>_5<E§oz_z_Emogo::_mE5M392:mgm_><:.23:9,moiQ5oz_m$8<E
`
`
`
`
`
`
`DEEDS
`
`aodmzofidm~50»ea:
`
`
`
`
`
`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 3 of 9
`
`5,701,451
`
`FILE NAME IS P81484. “‘43
`
`CATCH IT ON THE NET!
`
`44 YOU JUST RAN A DATA INTERPRETATION SYSTEM CAPSULE!
`THE OUTPUT IS THE TEXT TOOL TRANSFERRED AS A TEXT.
`COPYRIGHT IBM 1995
`
`CUSTOMERS WHO MIGHT WANT TO KNOW ABOUT THE
`DIS WWW GATEWAY-—-THIS DATA IS FROM THE IBM MARKET PLANNING DATA SYSTEM——
`A DB2 MVS DATABASE
`
`CUSTOMER NAME
`
`SW DESCRIPTION
`
`AC NIELSEN CO A
`AC NIELSEN CO
`AC NIELSEN CO
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`DIS 1.3.6 DIS ENTERPRISE SE
`DIS 1.3.6 DIS ENTERPRISE SE
`
`AC NIELSEN CO
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`ADVANTIS
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`ALTA BATES MEDI
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`ALTA BATES MEDI
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`AMERICAN PRESID
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`ANHEUSER BUSCH
`
`ANHEUSER BUSCH
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`DIS 2.0 OPENDIS ACCESS SERV
`
`50 ASHLAND OIL INC
`ASHLAND OIL INC
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`DIS 2.0 OPENDIS ACCESS SERV
`
`INST
`
`9501
`
`9501
`9501
`
`9501
`
`9501
`
`9410
`
`9503
`
`9501
`
`9501
`
`9501
`
`9502
`
`9502
`
`CITY STATE
`
`CHERRY HILL NJ
`
`GREEN BAY WI
`MINNEAPOLIS MN
`
`WILTON CT
`
`SCHAUMBURG IL
`
`BERKELEY CA
`
`BERKELEY CA
`
`OAKLAND CA
`
`ST LOUIS MO
`
`ST LOUIS MO
`
`LEXINGTON KY
`
`LEXINGTON KY
`
`BELLSOUTH CELLU
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`BELLSOUTH CELLU
`
`DIS 2.0 OPENDIS ACCESS SERV
`
`BELLSOUTH COMMU
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`BELLSOUTH COMMU
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`BELLSOUTH TELEC
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`BRIO TECHNOLOGY
`BRISTOL MYERS S
`BRISTOL MYERS S
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`DIS 2.0 OPENDIS ACCESS SERV
`
`BROADWAY DEPT S
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`BROOLYN UNION
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`CHESEBROUGH PON
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`COLGATE—PALMOLI
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`COLGATE—PALMOLI
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`COLGATE—PALMOLI
`
`DIS 1.3.6 DIS ENTERPRISE SE
`
`9501
`
`9501
`
`9501
`
`9501
`
`9501
`
`9501
`
`9410
`
`9502
`
`9410
`
`9410
`
`9501
`
`9410
`
`9410
`
`9410
`
`FT LAUDERDALE FL
`
`FT LAUDERDALE FL
`
`ATLANTA GA
`
`BIRMINGHAM AL
`
`ATLANTA GA
`
`MOUNTAIN VIEW CA
`
`PLAINSBOR0 NJ
`NEW YORK NY
`
`LOS ANGELES CA
`
`BROOKLYN NY
`
`GREENWICH CT
`
`IRVINE CA
`
`MORRISTOWN NJ
`
`NEW YORK NY
`
`FIG.4
`
`
`
`U.S. Patent
`
`CD
`
`3,
`
`9
`
`9
`
`5,701,451
`
`m$11$.33m.eéz5:
`
`wE2M5zo:I85
`
`
`
`9.»memzammm:<m33EE5335ms<msavaQ;:2.zo_5Em~59,ozgszE<9.
`
`23%ME2.:Bmdm
`
`3:
`
`
`
`SSW50:Emaz§3a:mazmamoséa
`
`f.oMSN.3Q:mEm
`
`
`..25:10%:Q;32wM335”.25
`
`«H.._<:zHS_.._zoo2m.
`
`82_$_EQEEQQ
`
`>5
`
`3No,302ENNon.
`..._no.5Em
`
`om,N?IE:oo
`
`
`
`
`
`7.%,_E<9B%Emz§585.:E:m_5&8MEgames.555zo:EE§z_E3<zé52:95
`
`
`
`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 5 of 9
`
`5,701,451
`
`71
`
`WEB CUENT
`of; WEB
`EXPLORER)
`
`(HTML REFERENCE
`WEB
`TO c PROGRAM)
`SERVER
`
`72
`
`
`
`
`(DYNAMw HTML TO PRESENT CONTQELPROGRAM
`ms REPORT HLE)
`PROGRAM
`73
`
`AGENT
`
`(
`
`REQUEST To EXECUTE
`ms CAPSULE)
`
`ODAS
`
`7
`
`4
`
`75
`
`DIS LAN
`
`ORACLE
`
`RED-
`BRICK
`
`
`
`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 6 of 9
`
`5,701,45 1
`
`1.1.9
`SET
`CAPSULE
`VARIABLES
`
`
`
` F"'If\l'--(flF’T"ICZI""lC:C)
`
`1
`
`1
`
`IG.8
`
`HTML
`
`_.L
`11
`11
`PATH QUERY
`INFO STRING
`
`1 1
`L,
`STORE
`
`VARIABLES
`
`1
`
`L»!
`
`DIS CAPSULE
`NAMES
`
`|_.->-
`1
`INITIATE
`ODAS API
`
`DIS LOGON
`
`REATJTFILE
`CREATE
`
`RETRIEVE
`PATH__lNFO
`
`117
`
`CREATE
`DATA ARRAY
`
`1
`oo
`FILENAME
`
`BI—DIRECTIONAL
`INFORMATION
`
`END USERS
`s ADMINISTRATOR
`VIDEO SERVER
`
`
`
`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 7 of 9
`
`5,701,451
`
`DIS
`
`RNTERNEIWORKING
`
`ENVIRONMENT
`
`90
`
`
`
`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 8 of 9
`
`5,701,451
`
`RNTERNEWVORKING
`
`ENVIRONMENT
`
`90
`
`E|G.1O
`
`E Q
`
`UERY
`DB26000
`
`
`
`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 9 of 9
`
`5,701,451
`
`
`
`\\-\28022222
`
`
`
`1.|1\|ulullnf
`
`022
`,22202
`022202022x222,
`x.22
`
`020;.02
`
`222,222
`
`
`
`22220222202022
`
`20_§22022_22.
`
`\\m_S<2o/,2022022
`2222022fiammu22220
`
`2222.2220
`
`:0mm>mm_m,,fi._2<Ez_22222220
`2_\20E..222,
`.____._E2202__E2202
`
`
`22200222.:QSE28,fi----0:202
`
`
`E2202302.50222028222292%.
`
`N850,220
`
`2220A2228
`
`222,220,,2<2E<0
`
`2220022.2220022
`SE28‘SE28
`
`222220
`
`222,
`
`
`
`220202222022022:2222,
`
`
`
`
`
`
`1
`
`2
`
`5.701.451
`
`METHOD FOR FULFILLING REQUESTS OF
`A WEB BROWSER
`
`COPYRIGHT AUTHORIZATION
`
`A portion of the disclosure of this patent document
`contains material which is subject to copyright protection.
`The owner. International Business Machines Corporation.
`has no objection to the facsimile reproduction by any one of
`the patent disclosure. as it appears in the Patent and Trade-
`mark Oflice patent files or records of any country. but
`otherwise reserves all rights whatsoever.
`
`FIELD OF THE INVENTION
`
`This invention is related to computers and computer
`systems and particularly to a method and system for use of
`the World Wide Web and other sources of information and
`for utilization of existing equipment advantageously for web
`server data access over networks and the Internet.
`
`RELATED APPLICATIONS
`
`This application entitled “A Method for Fulfilling
`Requests of a Web Browser” is related to other United States
`of America Patent applications filed concurrently herewith.
`and specifically to the applications entitled “Computer Net-
`work for WW Server Data Access over Internet”. U.S. Ser.
`No. 08/474.571. filed Jun. 7. 1995; and “A Service Agent for
`Fulfilling requests of a Web Browser”. U.S. Ser. No. 08/474.
`576. filed Jun. 7. 1995; and “A Sub-Agent Service Agent for
`Fulfilling Requests of a Web Browser”. U.S. Ser. No.
`08/474,575. filed Jun. 7. 1995; and “A Web Browser
`System”. U.S. Ser. No. 08/479.481. filed Jun. 7. 1995; and
`“A Method for Distributed Task Fulfillment of Web Browser
`Requests”. U.S. Ser. No. 08/474.572. filed Jun. 7. 1995.
`These applications have a common assignee. International
`Business Machines Corporation. Armonk. N.Y.
`
`GLOSSARY OF TERMS
`
`While dictionary meanings are also implied by certain
`terms used here. the following glossary of some terms may
`be useful.
`
`World Wide Web (W)
`The Internet’s application that lets people seeking infor-
`mation on the Internet switch from server to server and
`database to database by clinking on highlighted words or
`phrases of interest. An Internet WWW server supports
`clients and provides information.
`Home page
`A multi-media table of contents that guides a web user to
`stored information about an organization on the Internet.
`Gopher
`A menu-based search scheme. which as developed at the
`University of Minnesota. lets a user reach a destination on
`the Internet by selecting items from a series of text menus.
`Access Agent
`A logical component that provides support for different
`access protocols and data strearns—Frarne Relay. HDLC
`(High Data Link Control) CBO (Continuous bit Operations.
`ATM (Asynchronous Transfer Mode). or TCP/IP.
`Application Processing Agent
`A data processing agent running in a server data process-
`ing system which performs tasks based on received requests
`from a client in a distributed environment. In our preferred
`embodiment. our application processing agent for database
`retrieval
`is our DIS server. a data interpretation system
`
`server and database gateway which is coupled to our web
`server HTI'PD via a network. In our preferred embodiment
`an application processing agent employs executable object
`programs as command file objects. which in the preferred
`5 embodiment are capsule objects.
`Client
`
`10
`
`is a computer serviced by the server which
`A client
`provides commands to the server.
`Data Interpretation System (DIS).
`lBM’s object oriented decision support tool.
`Capsule
`A DIS capsule is a program created by a DIS programmer
`and executed in the DIS environment. A DIS capsule is a
`preferred example of a capsule object. A capsule object is a
`specialized form of a command file (which is a list of
`commands to be executed. as in an EXEC or *.BAT batch
`file. The capsule object
`is created with an object
`environment. as is supplied by IBM’s DIS. Other object
`environments are lBM’s SOM and DSOM. and Microsoft’s
`20 COM environment.
`Internet
`
`15
`
`25
`
`30
`
`40
`
`45
`
`50
`
`55
`
`The connection system that links computers worldwide in
`a web.
`Server
`
`Amachine which supports one or more clients and is part
`of the web. Any computer that performs a task at
`the
`command of another computer is a server.
`Slip or PPP connection.
`Serial-line Internet protocol and point-to-point protocol.
`respectively. for providing a full access connection for a
`computer to the Internet.
`TCP/IP
`
`Transmission control protocol/Internet protocol. A packet
`switching scheme the Internet uses to chop. route. and
`reconstruct the data it handles. from e-mail to video.
`InterNetwork Routing (INR)
`The link between systems which routes data from one
`physical unit to another according to the applicable protocol.
`The protocol will employ a URL address for Internet loca-
`tions.
`URL
`Universal resource locater. a Web document version of an
`e-mail address. URLs are very cumbersome if they belong
`to documents buried deep within others. They can be
`accessed with a Hypelink.
`Web browser
`
`An program running on a computer that acts as an Internet
`tour guide. complete with pictorial desktops. directories and
`search tools used when a user “surfs” the Internet. In this
`application the Web browser is a client service which
`communicates with the World Wide Web.
`HTTPD
`
`An IBM OS/2 Web Server or other server having Hyper-
`text Markup Language and Common Gateway Interface. In
`our preferred embodiment.
`the HTTPD incorporates our
`control program agent and is supported by an access agent
`which provides the hardware connections to machines on the
`intranet and access to the Internet. such as TCP/IP couplings.
`HTTP Hypertext transfer protocol
`Hypertext transfer protocol. At the beginning of a URL
`“http:" indicates the file contains hypedinks.
`Hyperlink
`A network address embedded in a word. phrase, icon or
`picture that is activated when you select the highlighted
`tidbit. Information about that item is currently retrieved to
`the client supporting a Web browser.
`
`
`
`3
`
`5,701,451
`
`4
`
`Hyper’l‘ext Markup Language (HTML)
`HTML is the langrage used by Web servers to create and
`connect documents that are viewed by Web clients. HTML
`uses Hypertext documents. Other uses of Hypertext docu-
`ments are described in U.S. Pat. No. 5.204.947. granted Apr.
`20. 1993 to Bernstein et al.; U.S. Pat. No. 5.297.249. granted
`Mar. 22. 1994 to Bernstein et al.; US. Pat. No. 5.355.472.
`granted Oct. 11. 1994 to Lewis; all of which are assigned to
`International Business Machines Corporation. and which are
`referenced herein.
`
`BACKGROUND OF THE INVENTION
`
`The Internet is not a single network. it has no owner or
`controller. but is an unruly network of networks. a confed-
`eration of many dilferent nets. public and private. big and
`small. that have agreed to connect to one another. An intranet
`is a network which is restricted and while it may follow the
`Internet protocol. none or only part of the network available
`from outside a “firewall” surrounding the intranet is part of
`the agreed connection to the Internet. The composite net-
`work represented by these networks relies on no single
`transmission medium. bi-directional communication can
`occur via satellite links. fiber-optic trunk lines. phone lines.
`cable TV wires and local radio links. When your client
`computer logs onto the Internet at a university. a corporate
`oflice or from home. everything looks local. but the access
`to the network does cost
`time and line charges. Until
`recently. “cruising or surfing" the Internet was a
`disorienting. even infuriating experience. something like
`trying to navigate without charts. The World Wide Web. a
`sub-network of the Internet. introduced about two years ago.
`made it easier by letting people jump from one server to
`another simply by selecting a highlighted word. picture or
`icon (a program object representation) about which they
`want more information—a maneuver known as a “hyper-
`link”. In order to explore the WWW today. the user loads a
`special navigation program. called a “Web browser” onto his
`computer. While there are several versions of Web browsers.
`IBM's example is the new WebExplorer which offers users
`of IBM’s OSIZ Warp system software a consistent. easy to
`use desktop of pictorial icons and pull down menus. As part
`of a group of integrated applications available from IBM for
`OS/2 Warp called the IBM Internet Connection. lets users
`log onto the Internet.
`To this point the World Wide Web (Web) provided by
`Internet has been used in industry predominately as a means
`of communication. advedisement. and placement of orders.
`As background for our invention there now exists a number
`of Internet browsers. Common examples are Netscape.
`Mosaic and IBM’s Web Explorer. Browsers allow a user of
`a client to access servers located throughout the world for
`information which is stored therein and provided to the
`client by the server by sending files or data packs to the
`requesting client from the serveds resources. An example of
`such a request might be something called GSQL (get SQL)
`which was a NCSA language and CGI server program
`developed to getting textual results for a client caller.
`Developed by Jason Ng at the University of lllinois. this
`document provided a way to map SQL forms against a
`database. and return the textual results to the client caller.
`This system is unlike the present invention. and presents
`difliculties which are overcome by our described system.
`These servers act as a kind of Application Processing
`Agent. or (as they may be referred to) an “intelligent agent”.
`by receiving a function request from a client in response to
`which the server which performs tasks. the function. based
`on received requests from a client in a distributed environ-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`ment. This function shipping concept in a distributed envi-
`ronment was first illustrated by CICS as a result of the
`invention described in U.S. Pat. No. 4.274.139 to Hodgkin-
`son et al. This kind of function. illustrated by CICS and its
`improvements. has been widely used in what is now known
`as transaction processing. However. servers today. while
`performing many functions. do not permit the functions
`which we have developed to be performed as we will
`describe.
`
`Now. “surfing" the Internet with theW is still a time
`consuming affair. and the information received is not gen-
`erally useful in the form presented. Even with 14.400 baud
`connection to the Internet much line time is tied up in just
`keeping going an access to the Internet. and the users don't
`generally know where to go. Furthermore the coupling of
`resources available on a company’s intranet and those
`available on the Internet has not been resolved. There is a
`need to reduce gateways. make better use of existing
`equipment. and allow greater and more effective usage of
`information which is resident in many different databases on
`many different servers. not only within a homogeneous
`network but also via the Internet and heterogeneous network
`systems.
`The problems with creating access to the world via the
`Internet and still to allow internal access to databases has
`been enormous. However. the need for a system which can
`be used across machines and operating systems and differing
`gateways is strongly felt by users of the Internet today.
`Anyone who has spent hours at a WWW browser doing
`simple task knows how diflicult it still is to navigate thor-
`ough arcane rules without knowing where to go and even if
`you know what you are doing spending hours doing routine
`tasks. Many needs exist. As one important instance. until
`now we know of no way to access data on multiple databases
`of different types using a single user request from a client.
`This and other difliculties are solved by our invention.
`
`SUMMARY OF THE INVENTION
`
`In accordance with our invention needless user interven-
`tion is eliminate or greatly reduced with a Web server
`supports an HTFPD which is provided with the capabilities
`of our control program agent which organizes sub-agents
`supporting command file objects or capsules to perform
`tasks in support of a Web browser’s request for service as
`programmable functions receiving parameters as input and
`providing as their output handled by the control program
`agent task completed results for reporting in accordance
`with the Web browser request in the form and to the location
`determined by a request and handling these request without
`needless user intervention.
`In accordance with our invention. we have created a way
`to allow Web users to request information that is created by
`a data interpretation system (DIS) and then presented by a
`web server to the user of the web. Our solution provides a
`way of requesting and processing and presenting inforrna-
`tion on the Web. In the process. data is retrieved from
`multiple sources which may be located remotely and
`accessed via an intranet routing and via the Web Internet and
`processed by our decision support capsules. Now companies
`and universities. and other users that want to access data
`located on dilferent databases. want that data processed and
`formatted. and presented in a form the user desires. such as
`a graphical format. Our solution permits users to access
`information from various sources and obtain information at
`a desired location as a result of a single request which is
`responded to by an organization of facilities and command
`
`
`
`5
`
`5,701,451
`
`6
`
`file sub-agent decision support capsule objects by our com-
`mand program agent. Users of the information can be
`internal to a company. or external. The result can be fur-
`nished to a user at a location which is internal or external to
`the company. and as specified at a specified location with a
`form and format desired. This allows a report to be managed
`by the web support services we provide. and in a form
`consistent with the request. but without requiring a consis-
`tent interface solution.
`
`In order to create a way for Web users to request infor-
`mation generation we provide a web sewer with a control
`program agent which is linked to a decision support tool of
`a data interpretation system server. the application process-
`ing agent. and then have that server retrieve. process. and
`format information which is presented to the user on the Web
`by the Web server. In our preferred embodiment. we have
`provided a link between a Hypertext Markup Language
`(HTML) document using a common gateway interface. and
`open data interpretation system server (ODAS). As a result.
`Web clients can request DIS reports to be generated. specify
`the parameters to be used in generating the reports. and then
`view the report results on a Web home page. The DIS
`capsule can generate graphical infomiation. such as colored
`pie charts.
`line graphs. bar graphs. and other forms of
`generated information. Since the Web server is capably of
`presenting the results in desired formats. the full capabflities
`of a DIS report are utilized.
`
`Our invention provides a method and system for allowing
`a user of a client
`to access and assemble information
`structured and reported to the user in accordance with his
`desires. selecting information for disparate servers which are
`located within a network can be an intranet or internal
`network. such as a LAN or WAN not normally accessible to
`the Internet. or coupled to the Internet. In accordance with
`our invention one can access data on multiple databases of
`different types using a single user request from a client. We
`also allow the facility for providing specialized specific
`requests to be created for routine use. as well as the facility
`to formulate generalized or specialized ad hoc requests. In
`addition. we provide besides query and update capability,
`the ability to perform calculations with respect
`to any
`retrieved data.
`to format
`the information in text or in
`graphics. and the facility of presenting the results to the
`client for display or other use.
`The improvements which we have made achieve a means
`for accepting Web client requests for information. obtaining
`data from one or more databases which may be located on
`multiple platforms at different physical
`locations on an
`Internet or on the Internet. processing that data into mean-
`ingful information. and presenting that information to the
`Web client in a text or graphics display at a location specified
`by the request.
`Our invention of providing a web server with a control
`program agent allows organization of decision support func-
`tions to be executed by application processing agent servers
`located throughout the Internet to gather and supply infor-
`mation not presently available with any existing resources
`without the need of endless intervention on the part of a
`requesting user of the WWW; further enabling an ordinary
`user to take advantage of expertise which is provided by
`programmable sub-agents developed by those with particu-
`lar expertise in a given area as well as enabling use of
`standard routines commonly needed.
`
`These improvements are accomplished by providing for
`Web clients to request information from an application
`processing agent in which the application processing agent
`
`45
`
`50
`
`S5
`
`65
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`server performs tasks based on received requests from a
`client in a distributed environment by a web server sup-
`ported by an access agent link and control program agent
`which in turn causes a decision support function to be
`executed by the application processing agent server. This is
`performed within the distributed environment by the appli-
`cation processing agent server which forms part of a net-
`work coupled to and under control of the control program
`agent. According to our invention the decision support
`function is provided by a data interpretation system which
`functions as part of the application processing agent and the
`decision support function is programmable and generated by
`a data interpretation system. DIS or other decision support
`element performing similar functions. and provided in a
`form accessible to our control program agent which presents
`the output generated to be presented to the user on the Web
`who made the initial request. We have provided.
`in a
`preferred embodiment. a link between IBM’s Hypertext
`Markup Language (HTML). the Common Gateway Inter-
`face (CGI). and the Open DIS Access Server (ODAS). all of
`which may be used on machines which are are commercially
`available from IBM. In order to write additional functions
`which develop our invention. the reader is referred to the
`Medaphor Data Interpretation System publication “Devel-
`oping Applications with OpenDIS Access Service. Version
`2.0. available from IBM. First Edition (September 1994)
`Part Number 315-0002-01 which is incorporated herein by
`reference.
`
`Our improvements relating to our control program agent
`is in accordance with our preferred embodiment is normally
`installed on an IBM HITPD which is an IBM OS/2 Web
`Server or other server having Hypedext Markup Language
`and Common Gateway Interface.
`In our preferred
`embodiment. the H'I'I‘PD incorporates our control program
`agent and is supported by an access agent which provides the
`hardware connections to machines on the intranet and access
`to the Internet. such as TCP/IP couplings. The hardware for
`the Web server is thus a workstation. such as IBM’s PS/2
`model 80 with OS/2. However. the H'I"I‘PD can be installed
`in PCs and upwardly also in machines which range across
`IBM’s line of computers from powerful personal computers
`to mainframe systems which support MVS. IBM’s operating
`system which enables multiple lands of operating systems.
`including “UNIX” to co-exist on a single platform. As a
`result of our invention Web clients can request DIS reports
`to be generated by the application processing agent speci-
`fying the parameters to be used in generating the reports, and
`then as a result of the request receive a result which is
`presented. as a visual display or otherwise. on a Web page
`for use by the requesting user. Our machine implementation
`allows a user having DIS access to generate graphical
`information such as colored pie charts. line graphs. bar
`graphs. etc. Since Web browsers such as IBM ’s Web
`Explorer are capable of displaying these formats. all the
`functions which can be created by a DIS capsule can be
`utilized by a user of our invention.
`According to our improved method. an Internet World
`Wide Web user connects to a Web server through the use of
`a Web browser.
`In accordance with our preferred
`embodiment. we use HTML as the language used by Web
`servers to create and connect documents that are viewed by
`Web clients. HTML is an example of a hypertext language
`having the facility of clicking on a highlighted word. string
`of words. or image in order to move to another HTML
`document or invoke a program on the server. An example of
`a Web client would be a machine used by a person using
`IBM’s Web Explorer product. In using our invention a user
`
`
`
`5,701,451
`
`7
`
`may click on the hypertext in a document to reference a
`function which will be provided by an application process-
`ing agent sewer. The user is able to connect to another
`document
`that may be on another Web server. HTML
`commands are used to reference other documents. HTML is
`used to reference programs available on a server. and pass
`parameters to those programs. The application processing
`agent server executes a program when it is referred to by a
`Web client via a control program agent resident. preferably.
`in a Web server.
`
`The Web client selects the information that they wish to
`view by using the HTML created page. the Web server takes
`the client request and passes it to a C program implemen-
`tation of our control program agent. Web servers. such as
`HTTPD for OS/2. with our control program agent are able
`to provide access to executable programs through the use of
`the Common Gateway Interface (CGI). When a program is
`referenced by the HTML. any parameters are passed to the
`program and it is executed. In our preferred embodiment we
`have used CGI to invoke programs that we have developed
`that will interface with the DIS product. CGI is an example
`of a software gateway from a Web server to programs
`outside the Web server application.
`The control program agent that is called in this instance by
`the Web server through the CGI interface. passes the Web
`client request along to a data interpretation system DIS via
`a Open Dis Access Server (ODAS). ODAS is a feature of a
`data interpretation system DIS that allows programs to
`initiate DIS functions. such as invoking DIS capsules. Our
`control program agents interface with DIS through ODAS to
`submit DIS capsules for execution. DIS capsules are basi-
`cally programs that DIS application programmers create
`with the DIS programming language. In accordance with our
`invention. we have written capsules which are executed as
`a DIS capsule on a server to gather data from one or more
`databases. process that data. and create a report in one of
`many formats. which we will describe by way of example.
`After the DIS capsule completes executing. in accordance
`with our preferred embodiment. the results that are gener-
`ated during execution of a capsule are stored in a file on the
`application processing server.
`After DIS creates a file that contains the formatted report
`results. our control program agents program dynamically
`creates HTML tags to present the formatted report back to
`the Web client on the Internet. Our control program agents
`using the CGI interface can create HTML commands
`dynamically. In this way a program can present information
`on a Web browser for the Web client.
`
`After the DIS capsule has created the file containing the
`report request results. the control program creates HTML
`statements dynamically that display the report results to the
`Web browser.
`
`Alternative means of presenting the data are shown by
`alternative routing. The user re