(PICTURE)(PICTURE) (PICTURE)Europäis hes Patentamt
(1 9) (PICTURE) European Patent Offi_e
(PICTURE) Offi_e euroPéen des brevets (1 1 ) E _ O _4_ 84O B_
(1 2) EUROPEAN PATENT _PECl FICATlON
(45) Date of pUbliCation and mention (51 ) _nt C_.7_. _O6F _ _J3O
of the grant of the patent_.
3O.O8.2OOO Bulletin 2OOOl35
(21 ) Application number_. 961 O8974.5
(PICTURE)(22) Date of filing_. O5.O6.1996
(54) A method for fulfilling requests of a web browser
Verfahren, um Anträge eines Netzbrowsers auszuführen
(PICTURE)(PICTURE)
Procédé pour accomplir des requêtes d'un browser de réseau
__
O
_
OO
h
_h Note.. w._th._n n._ne months from the pub_._Cat._on of the ment._on of the grant of the European patent, any person may g._ve
o nOtiCe tO the EUrOpean Patent OffiCe Of OppOSitiOn tO the EUrOpean patent granted. NOtiCe Of OppOSitiOn Shall be filed in
ii a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art.
w (PICTURE)99(1 ) European Patent Convention). Printed by Jouve, 75OO1 PARIS (FR)
EP O 747 84O B1
Des_ription
Copyright Authorization
5 [OOO1] 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 objectionto the facsimile reproduction by any one of
the patent disclosure, as it appears in the Patent and Trademark Office patent files or records of any country, but
otherwise reserves all rights whatsoever.
1O Fl ELD OF THE l NVENTlON
[OOO2] 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.
15 RELATE D APPLl CATlONS
[OOO3] This application entitled ''A Web Browser System'', is related to other United States of America Patent appli-
cations filed concurrently herewith, and specifically to the applications entitled ''Computer Network for WWW Server
2O Data Access over lnternet'', EP-A-O 747 845_, and ''A Service Agent for Fulfilling requests of a Web Browser'', US-A-5
752 246, filed June 7, 1 995; and ''A Sub-Agent Service Agent for Fulfilling Requests of a Web Browser'', EP-A-O 747
841 ; and ''A Method for Fulfilling Requests of a Web Browser'' E P-A-O 747 843; and ''A Method for Distributed Task
Fulfillment of Web Browser Requests'', EP-A-O 747 844.
[OOO4] These applications have a common assignee; International Business Machines Corporation, Armonk, New
25 york.
G LOSSARY OF TE RMS
[OOO5] While dictionay meanings are also implied by certain terms used here, the following glossay of some terms
3O may be useful.
World Wide Web (WWW) The Internet's application that lets people seeking information on the Inter-
net switch from server to server and database to database by clinking on
highlighted words or phrases of interest. An Internet WWW server supports
35 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.
4O Gopher A menu-based search scheme, which as developed at the University of Min-
nesota, 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
45 data streams -- Frame Relay, HDLC (High Data Link Control) CBO (Contin-
uous bit Operations, ATM (Asynchronous Transfer Mode), or TCP/l P.
Application Processing Agent A data processing agent running in a server data processing system which
performs tasks based on received requests from a client in a distributed
5O environment. ln 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 HTTPD
via a network. In our preferred embodiment an application processing agent
employs executable object programs as command file objects, which in the
55 preferred embodiment are capsule objects.
APl (Application Programming Interface) A functional interface supplied by the operating system or by a seperately
licensed program that allows an application program written in a high-level
2
EP O 747 84O B1
Ianguage to use specific data or functions of the operating system or the
licensed program. (IBM Dictionary of Computing, International Edition,
1 994) An APl is the set of programming language constructs or statements
that can be coded in an application program to obtain the specific functions
5 and services provided by an underlying operating system or service pro-
gram.
Client A client is a computer serviced by the server which provides commands to
the server.
1O Data Interpretation System (DIS). IBM'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
15 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 l BM's
DIS. Other object environments are IBM's SOM and DSOM, and Microsoft's
COM environment.
2O Internet The connection system that links computers worldwide in a web.
Server A machine 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
25 se_er.
Slip or PPP connection. Serial-line Internet protocol and point-to-point protocol, respectively, for pro-
viding a full access connection for a computer to the Internet.
3O TCP/IP Transmission control protocol/lnternet protocol. A packet switching scheme
the Internet uses to chop, route, and reconstruct the data it handles, from
e-mail to video.
InterNetwork Routing (l NR) The link between systems which routes data from one physical unit to an-
35 other according to the applicable protocol. The protocol will employ a URL
address for Internet locations.
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
4O others. They can be accessed with a Hyperlink.
Web browser An program running on a computer that acts as an Internet tour guide, com-
plete with pictorial desktops, directories and search tools used when a user
''surfs'' the Internet. In this application the Web browser is a client service
45 which communicates with the World Wide Web.
HTTPD An IBM OS/2 Web Server or other server having Hypertext Markup Lan-
guage and Common Gateway Interface. In our preferred embodiment, the
HTTPD incorporates our control program agent and is supported by an ac-
5O cess agent which provides the hardware connections to machines on the
intranet and access to the Internet, such as TCP/l P couplings.
HTTP Hypertext transfer protocol Hypertext transfer protocol. At the beginning of a URL ''http_.'' indicates the
file contains hyperlinks.
55 Hyperlink A network address embedded in a word, phrase, icon or picture that is ac-
tivated when you select the highlighted tidbit. Information about that item is
currently retrieved to the client supporting a Web browser.
3
EP O 747 84O B1
HyperText Markup Language (HTML) HTML is the language used by Web servers to create and connect docu-
ments that are viewed by Web clients. HTML uses Hypertext documents.
Other uses of Hypertext documents are described in U.S. Patents
5,2O4,947, granted April 2O, 1 993 to Bernstein et al.; 5,297,249, granted
5 March 22, 1 994 to Bernstein et al.; 5,355,472, granted October 11 , 1 994 to
Lewis; all of which are assigned to International Business Machines Corpo-
ration, and which are referenced herein.
BACKGROUND OF THE l NVENTlONS
1O [OOO6] The Internet is not a single network, it has no owner or controller, but is an unruly network of networks, a
confederation of many different 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 ofthe agreed connection tothe Internet. The composite
15 network 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 office or from home, eveything looks local, but the access
to the network does cost time and line charges.
[OOO7] Until recently, ''cruising or surfing'' the Internet was a disorienting, even infuriating experience, something like
2O trying to navigate without cha_s. The World Wide Web, a sub-network of the lnternet, 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 ''hyperlink''. In
order to explore the WWW today, the user loads a special navigation program, called a ''Web browser'' onto his com-
puter. While there are several versions of Web browsers, l BM's example is the new WebExplorer which offers users
25 of l BM's OS/2 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 l BM for OS/2 Warp called the IBM Internet Connection, lets users
Iog onto the Internet.
[OOO8] To this point the World Wide Web (Web) provided by Internet has been used in industry predominately as a
means of communication, advertisement, and placement of orders. As background for our invention there now exists
3O a number of Internet browsers. Common examples are NetScape, Mosaic and l BM'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 server's resources. An example
of such a request might be something called GSQL (get SQL) which was a NCSA language and CGl server program
developed to getting textual results for a client caller. Developed by Jason Ng at the University of Illinois, this document
35 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 difficulties which are overcome by our described system.
[OOO9] 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 environment. This function shipping concept in a distributed
4O environment was first illustrated by CICS as a result of the invention described in U.S. Patent 4,274, 1 39 to Hodgkinson
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.
[OO1 O] Now, ''surfing'' the Internet with the WWW is still a time consuming affair, and the information received is not
45 generally useful in the form presented. Even with 1 4,4OO baud connection to the lnternet 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 in-
formation which is resident in many different databases on many different servers, not only within a homogeneous
5O network but also via the lnternet and heterogeneous network systems.
[OO11] 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 difficult it still is to navigate through arcane rules without knowing where to go and even if you
55 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 difficulties are solved by our invention. 4
EP O 747 84O B1
SUMMARY OF THE INVENTlONS
[OO12] In accordance with our invention as defined in the appended claims needless user intervention is eliminated
or greatly reduced with a Web server supporting an HTTPD which is provided with the capabilities of ourcontrol program
5 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.
[OO13] In accordance with our invention, we have created a way to allow Web users to request information that is
1O 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 information 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 different databases, want that data processed and formatted, and presented in a form the user desires,
15 such as a graphical format. Our solution permits users to access information from various sources and obtain infor-
mation at a desired location as a result of a single request which is responded to by an organization of facilities and
command file sub-agent decision support capsule objects by our command program agent. Users of the information
can be internal to a company, or external. The result can be furnished 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
2O managed by the web support services we provide, and in a form consistent with the request, but without requiring a
consistent interface solution.
[OO14] In order to create a way for Web users to request information generation we provide a web server with a
control program agent which is linked to a decision support tool of a data interpretation system server, the application
processing agent, and then have that server retrieve, process, and format information which is presented to the user
25 on the Web by the Web server. ln our preferred embodiment, we have provided a link between a Hype_ext 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 information,
such as colored pie charts, line graphs, bar graphs, and other forms of generated information. Since the Web server
3O is capable of presenting the results in desired formats, the full capabilities of a DIS report are utilized.
[OO15] 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
35 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.
4O [OO16] 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 meaningful information, and presenting that information to
the Web client in a text or graphics display as a location specified by the request.
[OO17] Our invention of providing a web server with a control program agent allows organization of decision support
45 functions to be executed by application processing agent servers located throughout the lnternet to gather and supply
information 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 particular expertise in a given area as well as enabling use of
standard routines commonly needed.
5O [OO18] These improvements are accomplished by providing for Web clients to request information from an application
processing agent in which the application processing agent server performs tasks based on received requests from a
client in a distributed environment by a web server supported 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 application processing agent server which forms part of a network coupled
55 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 per-
forming similar functions, and provided in a form accessible to our control program agent which presents the output
5
EP O 747 84O B1
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 l BM's Hypertext Markup Language (HTML), the Common Gateway Interface (CGl), 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
5 Data Interpretation System publication ''Developing Applications with OpenDIS Access Service, Version 2.O, available
from IBM, First Edition (September 1 994) Part Number 31 5-OOO2-O1 which is incorporated herein by reference.
[OO19] Our improvements relating to our control program agent is in accordance with our preferred embodiment is
normally installed on an l BM HTTPD which is an l BM OS/2 Web Server or other server having Hypertext Markup
Language and Common Gateway Interface. In our preferred embodiment, the HTTPD incorporates our control program
1O 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/l P couplings. The hardware for the Web server is thus a workstation, such as
l BM's PS/2 model 8O with OS/2. However, the HTTPD can be installed in PCs and upwardly also in machines which
range across l BM's line of computers from powerful personal computers to mainframe systems which support MVS,
l BM's operating system which enables multiple kinds of operating systems, including ''UNIX'' to co-exist on a single
15 platform. As a result of our invention Web clients can request DlS repo_s to be generated by the application processing
agent specifying 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
2O the functions which can be created by a DlS capsule can be utilized by a user of our invention.
[OO2O] 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 orderto move to another HTMLdocument
25 or invoke a program on the se_er. An example of a Web client would be a machine used by a person using l BM's Web
Explorer product. In using our invention a user may click on the hypertext in a document to reference a function which
will be provided by an application processing agent server. 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
3O executes a program when it is referred to by a Web client via a control program agent resident, preferably, in a Web
SerVer.
[OO21] 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 implementation 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
35 use of the Common Gateway Interface (CGl). 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 CGl to invoke programs that we have
developed that will interface with the DIS product. CGl is an example of a software gateway from a Web server to
programs outside the Web server application.
[OO22] The control program agent that is called in this instance by the Web server through the CGl interface, passes
4O 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
basically 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
45 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 generated during execution of a capsule are stored in a file on the application processing server.
[OO23] After DIS creates a file that contains the formatted report results, our control program agents program dy-
namically creates HTMLtags to present the formatted report backtothe Web client on the Internet. Our control program
5O agents using the CGl inte_ace can create HTML commands dynamically. ln this way a program can present information
on a Web browser for the Web client.
[OO24] 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.
[OO25] Alternative means of presenting the data are shown by alternative routing. The user requesting the report
55 may wish to have the repo_ results sent to another location in addition to or instead of displaying the report results to
the Web browser. This information is provided during the request phase. As a result of the alternative report request,
and according to the parameters indicated therein, the report results can be sent by the control program via electronic
mail, i.e. TCP/IP Sendmail facility and Lotus Notes, to one or more locations on the Internet. The report results can be
6
EP O 747 84O B1
sent as a file and as a note. The request can request a voice response, which can be routed to a voice response unit.
Thus, with a call to a translator, the text can be converted to voice, and even translated along the way. The report
results can also be sent to a fax machine, or to a computer that has the capability of receiving fax data.
[OO26] We use these report concepts to present report files created by DIS capsules on the Web client display.
5 [OO27] These and other improvements are set forth in the following detailed description. For a better understanding
of the invention with advantages and features, refer to the description and to the drawings.
BRIEF DESCRIPTlON OF THE DRAWl NGS
1O [OO28] FIGURE 1 shows schematically an overview of the preferred embodiment and particularly shows a typical
distributed computer system which has internal and external networks including the Internet to connect clients to World
Wide Web servers and other servers within the system in which our invention is situate.
[OO29] FIGURE 2 shows a inquiry screen (home page) which is displayed on a client after the client is coupled to its
server (which may be an Internet server) by a Web browser.
15 [OO3O] FIGURE 3 is a next screen which illustrates how a request is made according to a users desires, making a
request in accordance with our invention with an input screen shown.
[OO31] FIGURE 4 is a sample result screen which is returned to the client after the requested service is provided by
the computer system network in accordance with our invention formatted according to the specifications of a DIS
capsule.
2O [OO32] FIGURE 5 is a next screen which illustrates how a request is made according to a users desires, making a
request in accordance with our invention by selection from a menu and through the use of image mapping.
[OO33] FIGURE 6 is an example of a graphical result screen which is returned to the client after the requested service
is provided by the computer system network in accordance with our invention.
[OO34] FIGURE 7 illustrates a flowchart showing data flow between a web server and decision support system tool
25 such as IBM's Data Interpretation System (DIS), and shows the coupling of a Web client to a Web server and the
coupling of a request to execute a DIS capsule and the coupling within the Web server from ODAS to a distributed DIS
LAN with heterogeneous connections to multiple databases.
[OO35] FIGURE 8 illustrates as a flow chart the functions of the control program for the web server.
[OO36] FIGURE 9 illustrates by way of example a DIS capsule that creates a text report file.
3O [OO37] FIGURE 1 O illustrates by way of example a DIS capsule that creates a graphical report file.
[OO38] FIGURE 1 1 illustrates an alternative configuration of the network system as it may be employed for permitting
access to information available through homepages and in data warehouses where access to the homepage or data-
base may or may not be restricted by a firewall.
[OO39] (Note_. For convenience of illustration, in the formal drawings FIGURES may be separated in parts and as a
35 convention we place the top of the FIGURE as the first sheet, with subsequent sheets proceeding down and across
when viewing the FIGURE, in the event that multiple sheets are used.)
[OO4O] Our detailed description explains the preferred embodiments of our invention, together with advantages and
features, by way of example with reference to the following drawings.
4O DETAl LED DESCRl PTlON OF THE lNVENTlON
[OO41] Figure 1 illustrates a information delivery solution of a typical combination of resources including clients and
servers which may be personal computers orworkstations as clients, and workstations to mainframe servers as servers.
The various elements are coupled to one another by various networks, including LANs, WANs, and other networks,
45 which may be internal SNA networks or other like internal networks, and also providing access to the lnternet, which
couples the system to the world via Internet.
The Preferred Embodiment
5O [OO42] Turning now to our invention in greater detail, it will be seen from FIGURE 1 that our preferred embodiment
provides a Web browser 1 O, which is coupled to a Web server 1 1 . Our Internet WWW browser is an intelligent computer
system, such as an IBM PS/2, or other computer, an l BM ThinkPad, an RS/6OOO works as well and connections are
made to the network via OS/2 WARP Connect, an IBM product. The Internet Web browser in the intelligent computer
system which performs the Web browser function has IBM Web Explorer, or NetScape or Mosaic installed thereon.
55 This computer system 1 O is bi-directionally coupled with the OS/2 WARP Connect facility over a line or via a wireless
system to our preferred computer system which we call our Web server. This system is a PS/2 or RS/6OOO or other
similar system which includes our control program agent 73, which will be discussed below. Web server 1 1 , in our
preferred embodiment is coupled again bi-directionally via a line or wireless coupling to a computer system, such as
7
EP O 747 84O B1
a PS/2 or RS/6OOO or other server which supports and performs the server function of ODAS server 1 2, which is
coupled to the distributed DIS network, here shown as LAN 1 3. ODAS 1 2 may be located on the same server as the
Web server 1 1 or be located at a separate service machine, such as an l BM Digital Server. The Web server is logically
coupled to our application processing agent server via a network. We call our application processing agent server a
5 DIS File server 1 4 because is comprises a data interpretation system which supports the decision support functions
we provide which is today most inexpensively provided by an l BM computer system which supports OS/2. In our
preferred embodiment, the intranet network is a LAN. Thus the components of the DIS LAN 1 3 comprise a DIS File
Server 1 4, a general purpose workstation 1 5 which can be used for capsule development, a local database server 1 6,
a Capsule Server 1 7 for storing a plurality of DIS capsules ready for user, a Database Gateway Server 1 8 which
1O performs the gateway functions to access databases which are linked to it, these databases include geographically
distributed databases which can be located, for instance, in Chicago, New York, Dallas, Los Angeles, and each of
which can be a different supported database, such as DB2 database 1 9, ORACLE database 2O, Sybase database 21 ,
Redbrick database 22. In our preferred embodiment all servers are coupled with a conventional LAN or WAN connec-
tion, with a preferred IBM token ring shown. Reference should also be had to our alternative preferred embodiment
15 discussed below with respect to FlGURE 1 1 .
[OO43] Thus, in connection with the preferred embodiment of FIGURE 1 as well as with respect to FIGURE 11 it
would be appreciated from the schematic overview illustrated by FIGURE 1 and FIGURE 11 that our invention may be
employed in a distributed computer system environment which has internal or intranet networks represented in our
preferred embodiment by the DIS Network 1 3 and external networks including the Internet to connect clients to World
2O Wide Web servers and other se_ers within the system in which our invention is situate. Our invention makes use of
the entire network. The Web browser 1 O can make a request to the Web Server 1 1 for a report. The Web server 1 1
with the facilities we provide causes the application processing agent which includes our DIS server 1 4 and its sup-
porting communication server, the database gateway server 1 8, to act as an agent to gather data from one or more of
the multiple databases, including the local database 1 6, DB2 database 1 9, ORACLE database 2O, Sybase database
25 21 , Redbrick database 22. Further details with respect to the use of our invention for database retrieval of information
from multiple databases are provided as to the actions of the application processing agent functions of the database
server(s) 1 8 with reference to FIGURE 7.
[OO44] Thus, returning to our simplified and preferred embodiment, FIGURE 2 shows a inquiry screen (home page)
29 in the form which is displayed on a client after the client is coupled to its server (which may be an Internet Web
3O server 1 1 ) by a Web browser 1 O. The entire screen contains information and a plurality of objects. Once the home
page is displayed, with appropriate descriptive guidance as illustrated by the FIGURE 2, the user can interact, for
example, by clicking on image objects 3O, 31 , 32, 33, 34. As a example should the user want to make a special request
in accordance with our invention, he could click on image 3O. This would take the user to the next screen, illustrated
by FIGURE 3. Alternatively the user could select by clicking on image 31 another menu screen, illustrated by FIGURE
35 5. At this point also, a specialized format could be selected by double clicking first on a format select image illustrated
by image objects representing access to menu screens 32, 33, 34, one or more of which a gopher.
[OO45] The use of selection of icon image object is a function provided by HTML and programmers knowing this
Ianguage can readily create variants to the images and functions we have illustrated. Thus incorporated within the
drawings are to be understood to be the variants that can thus be created using our examples, as well as extensions
4O and combinations thereof.
[OO46] When the user selected image 3O by clicking on the image 3O, FIGURE 3 appears. FIGURE 3 is the next
screen which illustrates how a request is made according to a users desires, making a request in accordance with our
invention with an input screen shown. The content of FIGURE 3 is preformatted 4O except for the user entries which
are to be entered in the data input fields 41 . In this example the input field 41 is a userid. After a user has entered in
45 field 41 an acceptable input, he would then clickon instruction key 42. The instruction key illustrated is submit a request.
At this point the Web server captures the information entered by the user, as described in FIGURE 7. It will be appre-
ciated that the Web server captures the information entered by the user, including specialized input, as well as any
''hidden'' default information, which can include password authorizations, charge account identification, and other in-
formation that can be used by the system in responding to the request. Thus the system can assume that the ''hidden''
5O password is an authorization to pe_orm some function, such as include information from confidential source, or exit
to the Internet. The charge authorization can also be tracked and accumulated by the system as it parses through its
functions to charge back chargeable usages. If a request is for an order of an item, the actual item requested can be
shipped and billed with this information. Since these functions are ''hidden'' they do not appear in the FIGURE but
included with a request. The return of the request is illustrated in FIGURE 4.
55 [OO47] FIGURE 4 is a sample result screen which illustrates how a sample report conforming to the request results
are presented to the client after the requested service is provided by the computer system network in accordance with
our invention formatted according to the specifications of a DIS capsule which is illustrated by example in FIGURE 9.
In this example, the return was a file, whose file name is displayed as P81 484 at 43. Informative text accompanying
8
EP O 747 84O B1
the file is included as illustrated bythe example information 44 The screen providesthe content offile 43 in the requested
form of preformatted text 5O in the form of a display of a text report generated by a DIS capsule stored in the DIS server
1 7. While we show text as the form the report results, the form of the request can be another form of presentation, as
and image, a voice response, or other multimedia presentation.Reports can be returned translated into any desired
5 language based upon the request, as may be provided by DIS capsule calls to a translator. These features are included
in the result 5O report.
[OO48] When the user selected image made by clicking on the image 32 in FIGURE 2, FIGURE 5 appears. FIGURE
5 is a next screen which illustrates how a request is made according to a users desires. A user makes a request, in
this instance for sales results within the organization for YTD Catalog Revenue in accordance with our invention by
1O entering text data intothe data entry areas 41 and 42 of the formatted screen with information as totype of data selected
4OA which will be translated into specific report information created by a DIS capsule.
[OO49] FIGURE 6 is a sample result screen which illustrates how the request results are presented to the client after
the requested service is provided bythe computersystem network in accordance with our invention formatted according
to the specifications of a DIS capsule. In this instance selection of the object 32 links to the the screen of FIGURE 5,
15 which in turn with the DlS capsule created the output shown in FlGURE 6. DlS Capsules will be illustrated by examples
in FIGURE 9 and 1 O. In this example the output of the DIS capsule illustrated in FIGURE 1 O is presented on the screen
shown by FIGURE 6. The screen comprises a file name identifier, descriptive information 61 , and preformatted text 6O
which is the display of the named file P55511 9. This is the display of a graphic report showing what might be deemed
(but is not) Confidential information relating to Catalog Revenue for 1 995 YTD, with revenue given in $M, and breakout
2O as to HDW, SFW, PMV, MN and MNT from selected locations in Chicago, New york, Dallas, and Los Angeles, all of
which are located on different systems, and which, as illustrated in FIGURE 1 , may be on different databases such as
DB2, Oracle, and Sybase relational databases. This report was generated by a DIS capsule which is illustrated in
FIGURE 9. This example illustrates how multiple actions can be taken on information retrieved. In this example data
was translated into image material by calculation and formatting in the form of a graphic pie shaped report. Other image
25 data could also be displayed, as frames of selected images, or a sequence of images in the form of a moving picture
display, which can be outputted from a server as will be described in FIGURE 11 .
[OO5O] FIGURE 7 illustrates a flowchart showing data flow between a web server and decision support system tool
such as l BM's Data Interpretation System (DIS). FIGURE 7 shows the coupling of a Web client 71 (corresponding to
Web browser 1 O in FIGURE 1 ) to a Web server 72 (corresponding to Internet WWW server 11 ) and the coupling of a
3O request to execute a DIS capsule.
[OO51] The Web browser 71 can make a request to the Web Server 72 for a report through the use of HTML. The
HTML document refers to our control program agent 73, which may be implemented with the C language or other
Ianguage which can provide run code for the particular Web server which is employed. We illustrate our preferred
program according to the description provided in FIGURE 8. The Web Server 72 passes request data to and invokes
35 our control program 73 through the use of the CGl in accordance with our invention. The control program uses ODAS
74 in ODAS server 1 2 to set DIS capsule parameters and initiates the execution of a DIS capsule located in this
embodiment in DIS capsule server 1 7 according to our preferred examples illustrated in FIGURES 9 and 1 O.
[OO52] After a DIS capsule completes execution, the file created by the DIS capsule contains the formatted report
results requested by the user. Our control program 73 dynamically creates the HTML statements that present the file
4O to the Web browser 1 O screen. Figure 7 shows the coupling within the Web server from ODAS 74 to a distributed DIS
LAN 75 with heterogeneous connections to multiple databases DB2, Redbrick, Sybase and Oracle. Other sources of
data can be linked to the LAN.
Preferred Embodiment Interface between Server and DIS
45 [OO53] Our preferred control program agent 73 in FIGURES 1 and 11 is illustrated in detail by way of the flowchart
of FIGURE 8. In our preferred embodiment, this program can be written in C or other suitable language but for general
appreciation of the details, we will describe the steps in detail. These steps can be implemented by programmers of
ordinay skill in the art without undue experimentation after understanding the steps described below. The control
5O program agent 73 is located in a Web server and provides an interface and execution functions. Thus in FlGURE 11
the function is provided between the Web Server 1 31 (corresponding to Internet WWW server 11 in FIGURE 1 ) and
DIS which is located in a DIS server 1 33 (corresponding to server 1 4 in FIGURE 1 ) and for presentation of results
according to the instructions of the Web browser 1 3O (corresponding to browser 1 O in FIGURE 1 ) according to the
request command, which in default is a return to the Web browser home page. This interface utilizes in our preferred
55 embodiment the Web Server CGl and the DlS ODAS.
[OO54] Before we proceed to the control program 73, it will be noted that in FIGURE 11 the Web Browser 1 3O will
link to a Web Server 1 31 accessing it on the Internet though a unique l D called the uniform resource locater to access
the node which we call the Web server 1 31 . When that access takes place an HTML document is displayed by the
9
EP O 747 84O B1
Web server 1 31 to the Web browser 1 3O, as shown in FIGURE 2. Now, the user makes his entries as described with
respect to FIGURE 2. Next the HTML document refers to the control program agent 73 and the Web server 1 31 through
the use of the CGl invokes our control program agent 73. The Web server 1 31 retrieves data entered by the user from
the HTML document and passes that data to our control program agent 73 upon invocation.
5 [OO55] The Web Server 1 31 has a gateway interface that allows the server to invoke a control program agent 73
running on it and to pass input parameters to the control program agent 73 (FIGURE 8) that were returned from the
Hypertext document of the Web Browser. It will be appreciated that while weillustrate for our preferred example a single
Web Server 1 31 , the Hypertext document locates the particular Web Server that can support the request made by
checking the details of the ''hidden'' defaults and those functions requested. Thus a menu request for a generalized
1O search throughout the Internet may locate the particular service machine having an application processing agent which
has the information desired. Oncethe control program 73 (FIGURE 8) is invoked, the steps programmedforthe machine
to follow begins with a step 11 O illustrated in FIGURE 8. In reviewing this preferred control program agent it should be
appreciate that steps 1 1 O and step 1 1 1 are steps that are interchangeable in order and which obtain environment
variable data from the HTML document return.
15 [OO56] Thus step 1 1 O obtains a PATH-l NFO environment variable data. PATH-l NFO contains data from the HTML
document that referred the Web Server to our program. Specifically the data contains the name of the DIS capsule to
call, the name of the file containing the HTML statements to use when building the HTML document that displays the
DIS capsule results to the Web browser, and the type of file that the DIS capsule will create. All off this information is
the variable data which is stored in a buffer environment in step 1 1 2, and which is used in subsequent steps.
2O [OO57] Thus also, the control program proceeds with step 11 1 which may follow or precede or proceed in parallel
with step 1 1 O to obtain the QUERY-STRING environment variable data. QUERY-STRl NG contains data from the
HTML document that referred the Web Server to our program. Specifically the data contains values selected by the
user and / or default values selected by the HTML document designer. These values are set in the DIS capsule by our
control program prior to execution of the DIS capsule.This information is used to set variables in the DIS capsule. All
25 off this information is the variable data which is stored in a buffer environment in step 1 1 2, and which is used in sub-
sequent steps.
[OO58] Within the scope ofthe discussion of the control program agent illustrated by FIGURE 8 it should be appreciate
that the steps 1 1 2 through 1 25 include the utilization of an APl set that provides a method of invoking executable
programs located in a service machine which we denote as a sub-agent which executes in step 1 22 object capsules
3O from our sub-agent DIS file server 1 4. This provides functions such as queue and update functions for databases on
multiple platforms and allows the processing of data retrieved from a database to be performed, including executing
calculations, doing formatting, charging of accounts and the storing of results as a file accessible to the control program
agent. During processing our control program agent 73 provides setups for APl calls which occurs in steps WHAT ARE
THESE STEPS. Thus the control program agent will proceed as with an APl set with step 11 3.
35 [OO59] With the variable information now stored in a buffer, in step 1 1 3 the control program retrieves from a store,
all of the DIS capsules that are used and the variable names associated with each DIS capsule and loads into memory
associated with the control program the DIS capsule names available and the variable names associated with each
DIS capsule.
[OO6O] At that point in step 1 1 4 the control program is ready to and does initialize a connection between our control
4O program and the ODAS through the use of an ODAS APl. In other environments another APl performing similar func-
tions could be used.
[OO61] At that point, if required for control bythe decision support system, and as required by DIS, the control program
would log onto the port or desktop for the assigned user. Thus, our control program agent 73 in step 1 1 5 logs onto a
DIS ''desktop'', our DIS file server 1 4.
45 [OO62] Once the DIS capsule information is loaded into control program memoy, the control program can and does
in step 1 1 6 retrieve from its memoy the DIS capsule variable names associated with the DIS capsule name passed
to our control program in the step 1 1 O where PATH-INFO is provided.
[OO63] Next, in step 1 1 7 the control program creates a data array stored in the control program memoy containing
the DIS capsule variable names and the values for them that were passed to our control program in the
5O QUERy-STRlNG step. These two steps 1 1 6 and 1 1 7 should be done in order, even though steps 1 1 O and 1 1 1 can
have an arbitrary order. At this point in step 1 1 7 you are matching the DIS capsule variable names with the data that
was passed to the control program in the QUERY-STING environment variables.
[OO64] Next, in preparation for a report, in step 11 8 the program creates a unique filename which may include data
originated by the HTML document's variables stored in step 11 2 (dotted line) to pass to the DIS capsule as a DIS
55 variable for use in naming the report which will be created by the DlS capsule. As a result, the DlS capsule will create
that file with the unique file name during its process.
[OO65] In anticipation of DIS capsule execution, the values of variables used by the DIS capsule are obtained from
the data array in the control program memory containing the DIS capsule variable names and the values for them that
1 O
EP O 747 84O B1
were passed to our control program in the QUERY-STRING step. This is done in step 11 9 using the ODAS APl to set
the DIS capsule variable values. At this point the capsule server 1 7 for the DIS server 1 33 attached to the Web Server
1 31 via network 1 32 will have a DIS capsule services queue. This queue is the queue of jobs being requested of the
Dis Capsule Server 1 7. For the current job request (other like requests being perhaps still in the queue) we use the
5 ODAS APl to quey the contents of the DIS Capsule Services queue. If the queue size is larger (>t) than a threshold
Ievel, then the process enters a wait state until the queue size is reduced to a tolerable level. The queue test of step
1 2O is a loop test which returns to test the queue size until a test answering ''is the queue of a size that execution can
proceed?'' (
EP O 747 84O B1
or C. These routines become part of the capsule object by the reference, and these routines perform such functions
as account tracking, compression, calculation, handling specific custom outputs such as video, voice, translation, and
enable programmability of the capsule objects. The capsule objects also have standard object capability, and we will
illustrate these by way of the specific examples described.
5 [OO75] It will be seen that the control program 73, described in detail in FIGURE 8 acts in concert with DIS capsule
execution. The DIS capsule is an object program with executable additions which we have created to interact with the
control program. It should be also understood that the DIS capsule object can perform programmable functions on
data which is retrieved from databases. Not only can a DIS capsule get data, it can combine, reformat, and update,
the data retrieved. It can act on the data to create new data and basically act as a dedicated processor processing
1O data gathered or created during a Web browser request to output the end result to the user under programmable
parameters determined by the creator of the DIS capsule, as they may be selected, if desired, by the user as part of
the request. Thus the user entered inputs as part of his request, either free form or by selection of variables in the
menus afforded to the user as illustrated by way of example in FIGURE 5.
[OO76] DIS capsule objects are like some other objects. For instance in Microsoft's products, an example being the
15 Excel (trademark of Microsoft) spreadsheet, one can click on an object portrayed on the screen and link a succession
of objects to perform a specific function, such as take datafrom a spreadsheet and reformat it into avariety of selectable
formats, such as text or graphic illustration. The kind of action to be taken is illustrated by an object on the screen, and
linking of routines is done by a succession of clicks on icons representing the object.
[OO77] In accordance with our preferred embodiment, a DIS capsule is used to invoke system resources. This is
2O done by providing a list of commands, which may be those provided by a DlS processor itself, or written in Vsual Basic
or C by the programmer. The result is a command file, like an exec or command file in OS/2 or like a x. BAT file in DOS.
These capsules perform the specific functions that are requested by the user from his initiation session. The user
further qualifies the execution of the DIS capsule by providing parameters which are used in the invocation.
[OO78] Now the DIS server 1 33 supports DIS, the program processor which supports DIS capsules by processing
25 commands contained in the DlS capsule, either directly, in the case of DlS functions, or by to other system or user
supplied functions. The user supplied functions comprise mainly those DIS functions which are supplied by DIS and
illustrated in the manual ''Developing Applications with OpenDIS Access Service, Version 2.O of the OPEN Access
Service.'' Forthose notfamiliarwith command files, this manual isfully incorporated herein bythis reference as available
at the USPTO. An example of a system supplied function would be the base support for SQL queries of a specific
3O database, which are invoked by the DIS capsule program.
[OO79] In illustrating the specific examples of our invention illustrated in FIGURES 9 and 1 O, both illustrate linked
objects according to a specified flow sequence within a DIS environment. The DIS environment contains numerous
functions, including the Internetwork routing functions which the DIS capsules can invoke. Thus, a DIS object which
queries a database, as illustrated, invokes the Internetwork routing functions to query databases where they are located
35 on the network. If the preferred example of DIS environment is not supplied, a similar environment with program en-
vironment means which supports reaching a destination on the Internet by a link between systems which routes data
from one physical unit to another according to the applicable protocol should be supplied. The protocol will employ a
URL address for Internet locations.
[OO8O] FIGURE 9 illustrates by way of example a DIS capsule that creates a text report file. Referring to FIGURE 9,
4O it will be seen that the capsule, represented by a series of linked objects, is supported by Internetwork processor
support environment means 9O. Within this environment an integrated capsule creates a text report file as a result of
the object 95, make text. This object result file is the file 43 according to FIGURE 3 which is displayed at the browser.
In the illustrated example, the multiple DIS capsule data retrieval command file 91 (a)..91 (n) initiates as a first step
multiple queries to different databases which are specified by the parameters of the request. In this example, multiple
45 queries are initiates as SQL type search requests as multiple steps 91 (a)..91 (n) executed by the DIS capsule server
1 33 with the Database Gateway 1 34 to select data from DB26OOO databases located inside the intranet 1 4O and on
the Internet by Internetwork routing to database gateway 1 34' and its DB26OOO databases by step 91 (a). The data is
stored in a DIS declared buffer. Similarly, in parallel or successively, additional steps 91 (b), 91 (c), 91 (d), and 91 (n)
retrieve data and store in their object buffer data retrieved from Sybase, Oracle, Redbrick, and l BM's Data Warehouse
5O databases. Thus object 91 (a) will query DB26OOO and bring data back to DIS. Object 91 (b) will query Oracle and bring
data back to DIS. Object 91 (c) will quey Sybase and bring data back to DIS. Object 91 (d) (shown as a dot in FIGURE
9) will query Redbrick and bring data back to DIS, and so on. The nth object 91 (n) will query l BM's data warehouse
and bring data back to DIS.ln a subsequent linked processing step 92 data from the database queries in the first step
is joined by joining object command file 92 and stored in a buffer related to this object. Object 92 will joint the data from
55 the n locations searched in step 91 . Thereafter, in a subsequent processing step pe_ormed by calculation object com-
mand file 93 on the joined data in the joined database result buffer of step 92, desired calculations performed in ac-
cordance with the parameters indicated by the request are done on the joined data. Thereafter, in accordance with the
request parameters text is formatted to space delimited text by the format object command file 94. The results are
12
EP O 747 84O B1
stored in a buffer associated with format object command file 94. Thereafter, a make text command file 95 causes the
formatted text to be created as a text file for the WWW server 1 31 to be stored in a file which is accessible to and can
be retrieved and displayed by the control program agent 73, or directly displayed by the control program agent 73 in
the form illustrated in FIGURE 4 at the Web browser 1 3O. It will be noted we have illustrated this process as object
5 capsules in a DIS internetworking environment. These object capsules are a specialized form of a command file, which
can encompass additional commands called by an object.
Preferred Embodiment of graphics DIS capsule
1O [OO81] FIGURE 1 O illustrates by way of example a DIS capsule that creates a graphical report file. For simplicity,
data in this FIGURE is also shown in a DIS environment 9O. Retrieval object command file 1 O1 illustrates a step of
retrieval of data from one or more databases as specified in the parameters of the request, performing these retrieval
steps as did retrieval object command files 91 (a)..91 (n). Thereafter, this data is plotted with the make plot object com-
mand file 1 O2, with the results being stored in a buffer. The final step of creating a result- to-be-presented file, in this
15 instance in the form of a bitmap ready for display to a Web browser 1 3O is created by the make bitmap (BMP) object
command file 1 O3. The example of a preferred bitmap object command which would be employed with todays Internet
environment is a GIF image. Others can be used as well. Again the results are provided to the Web browser 1 3O, by
the action of the program command agent 73 on the Web Server 1 31 , the results being illustrated by the pie-chart of
FIGURE 6 in accordance with the parameters of the request for generating the graphical report illustrated by FIGURE 6.
2O Alternative Preferred Embodiments
[OO82] Figure 1 1 illustrates an alternative configuration of the network system as it may be employed for permitting
access to information available through homepages and in data warehouses where access to the homepage or data-
25 base may or may not be restricted by a firewall. In Figure 1 1 , the web browser(s) 1 3O accesses an associated Web
Server 1 31 , 1 31 ', 1 31 ''either by a coupling or addressing with a uniform resource locator (URL) the Web Server 1 31
which may be selected with a Hyperlink. This can be a direct coupling or an indirect coupling, as via a node locatable
in a common access medium, such as provided by Internet resources accessible via a web browser, e.g. supporting
Web Explorer, or Mosaic, NetScape, node 1 31 located somewhere on the Internet which utilizes our control program
3O agent 73. Now node 1 31 which functions as a Web server is coupled via a token-ring network, SNA network, or other
suitable network 1 32 (one of the any which may be used on the Internet as a transmission medium) with the facilities
provided within what we will call our intranet, those facilities which are ''proprietary'' to the owner and which may be
protected by firewalls at the intranet boundary 1 4O. Now note that our control program 73 is resident within the Web
Server 1 31 and functions as described in FIGURE 8 to couple to a DIS server 1 33 located within the intranet 1 4O,
35 which is preferably located behind a firewall as indicated in FIGURE 11 . This DIS Server 1 33 is in turn coupled to our
Database gateway 1 34. This database gateway is configured as illustrated also in FIGURE 1 for gathering information
from databases coupled to it and located on servers for DB2, Oracle, Sybase, and Redbrick, as well as one for infor-
mation warehouse functions. In our preferred embodiments these database units are l BM mainframe systems, as
available commercially today, but they could be AS4OOs, RISC/6OOO, RISC/6OOO SP or other systems supporting the
4O databases.
[OO83] The DIS Server is a server which supports DIS or similar decision supportfunctions and the functions provided
by our DIS capsules illustrated by FIGURE 9 and 1 O.
[OO84] Now our Web browsers 1 3O can not only access information within the intranet, but can reach outside the
intranet to gather information located elsewhere via the Internet. We will describe two examples of our preferred cou-
45 plings to elements on the Internet. One example couples the database gateway 1 34 to another (a second) database
gateway 1 34' via the Internet and it Internetwork routing (INR) protocol available from l BM as part of its current DIS
product which can make use of UALs. The second database gateway 1 34' is coupled to its own (second) DIS server
1 33'. At this point the Web browser 1 3O can access data not only intranet, but also via the Internet to gather data from
a database supported by DIS server 1 33' located outside the intranet. The Database server 1 34' would be able to
5O gather information from any database coupled to it, as illustrated, assuming access is public oraccessible after process-
ing of a hidden variable access authorization.
[OO85] However,the web browser(s) 1 3O can also access via Web Server 1 31 (with our control program 73 illustrated
in detail in FIGURE 8) another Web server 1 31 ' which implements our control program 73. This Web server, for example,
Web server 1 31 ' can also be coupled via its own (second) network 1 32' (which supports functions equivalent to network
55 1 32 and as illustrated in FIGURES 1 and 1 1 ) to an associated DIS Server 1 33' as illustrated to perform tasks like those
we are describing from a request sent via the second network from its Web server 1 31 '.
[OO86] However, as another alternative example, Web server 1 31 ' with an appropriate APl can access a directly
coupled database available to the server, such as MicroSoft's Access 1 31 a. Thus small databases which have not yet
13
EP O 747 84O B1
invested in being able to gather information from an intranet resource, can use their own direct resources, and also
be interrogated by the Web browser(s) 1 3O, or another web browser 1 36. Remember that browser's 1 3O can also
communicate with the Web server 1 31 ' across the Internet, just as can a Web browser 1 36 located on the intranet 1 4O
inside of the firewall illustrated by the intranet 1 4O dashed line shown in FIGURE 11 . With a browser 1 36 in place at
5 the Web Server 1 31 ' location, that browser 1 36 can make requests, if authorized across the intranet to the Web Server
1 31 which can then utilize the DIS capsules provided by the DIS Server 1 33.
[OO87] Physically, the network 1 32 will have its own access server 1 35 preferably in the form of a TCP/IP server 1 35
to make the physical connection across the Internet. We illustrate in FIGURE 1 1 this other logical layer as located on
the network. This TCP/IP server supports the physical connections which are needed by the other logical higher levels
1O of service supported on the network. The use of an InterNetwork Routing Protocol (l NR) allows the logical coupling
illustrated between a application processing server 1 34 to an external intranet application processing server 1 34'. On
each network there can be one or more web servers. A Hypertext document request asking for a field to be seached,
as by a Hyperlink, could index to a server directly, e.g. a second web server 1 34'' on the same network which would
have its own control program agent function duplicating the control program agent resident in web server 1 34. Thus
15 at the request homepage a menu which say if ''Art&Literature search'', when selected in a Hyperlink setting, would
index to a particular web server and a particular document within that web server's environment. This web server 1 34''
besides being linked to its own application processing server 1 33'' has a direct link, in the environment illustrated, to
an MVS CICS, a transaction processing server for handling transaction processing. Such a solution allows CICS trans-
action processing to utilize the Internet to save transmission costs and still be located beneath a firewall for retention
2O of data integrity. The outputs provided by the web server to the requested destination can be outside of the firewall,
and in the form of results illustrated by the possible examples shown in FIGURES 3, 5 and 8.
[OO88] While we have described our preferred embodiments of our invention, it will be understood that those skilled
in the art, both now and in the future, may make various improvements and enhancements which fall within the scope
of the claims which follow. These claims should be construed to maintain the proper protection for the invention first
25 disclosed.
[OO89] The following features - for themselves or in combination with other features- are also characteristics of the
invention_.
- A result according to the request command is provided during processing by said control program agent, which in
3O default is a return to the Web browser home page.
- If required for control by a decision support system environment for said command file, logging onto a port or
desktop for the assigned user is performed by the control program agent.
35 - While the program agent reads the file identified, it dynamically creates new HTML statements for a report of
results according to a request of the web browser.
- Information is retrieved from the file with new HTML statements so that it can be provided with the results of a
command file report.
4O - Information is retrieved from the file with new HTML statements so that it can be displayed as a header accompa-
nying the report to be displayed, along with the filename.
- If a text file report is created by the DIS capsule, that determines that a text display is to be reported and the control
45 program agent reads the file created by the DlS capsule and dynamically creates HTML statements to display the
data lines to the Web browser.
- If a graphics file is created by the DIS capsule, that determines that a graphics display is to be reported and the
control program dynamically creates the HTML statement to display the graphics file to the Web browser.
5O - The control program agent allows alternative output direction, and upon receipt of output direction and a command
file completion signal, the result is routed to the output destination.
- If selected data according to the request is permitted to the access authorized user at the location inside or outside
55 the lnternet, the data can be included in the results reported by the system to the Web browser.
- The control program agent tests for the kind of report to be created by obtaining information from stored variables,
and identifies output parameters, and branches to the sequence applicable to the kind of report to be created.
14
EP O 747 84O B1
Claims
1 . A service agent for fulfilling requests of a web browser client__ coupled to a network__;
(PICTURE) a control program agent __ tangibly embodying a program of instructions
5 executable by a supporting machine environment for performing method steps for receiving a request initiated at
said web browser client__ and fulfilling the request by a providing a result___, said method steps comprising_.
displaying an HTML document __ to said web browser__;
1O invoking a control program agent __;
receiving data entered by the user from the HTML document __ and passing said user entered data to said
control program agent__ upon invocation as input parameters to said control program agent__ that were
returned from said HTML document __;
15 using an APl set for invoking executable command files (PICTURE) and programs accessible via an
associated command file object. -
2. A service agent according to claim 1 wherein said input parameters contain data from the HTML document _)
2O that referred to said control program agent __
3. A service agent according to claim 1 wherein said step of receiving data entered by the user from the HTML
document __ and passing said user entered data to said control program agent __ upon invocation as input
parameters to said control program agent __ that were returned from said HTML document __ includes an
25 identification_ of a command file(PICTURE) to call, the name of the file containing the HTML statements
to use when building an HTML document __ that reports results __O) requested by the request, and the
type of file that is requested, as well as query data from the HTML document _9) that referred to said control
program agent __.
3O 4. A service agent according to claim 3 wherein said step of passing data from the HTML document__ that referred
to said control program agent __, includes passing _ data which contains values __ selected by the user
and/or default values selected by a HTML document designer set in a command file program prior to its execution,
all of which data is stored_ in a buffer environment, and accessible by said command file program and/or said
control program agent __ and used to to set variables for said command file program.
35 5. A service agent according to claim 1 wherein the method steps further comprise_.
during processing by said control program agent__ providing setups for APl calls which occur.
6. A service agent according to claim 1 wherein the method steps further comprise_.
4O with the variable information now stored in a buffer, retrieving _ with the control program agent __ from a
store command files (PICTURE) and the variable names associated with each command files and loading
into memoy associated with the control program (PICTURE) the command file names available and the variable
names associated with each command file.
45 7. A service agent according to claim 1 wherein the method steps further comprise_. initiating _ with the control
program agent __ a connection between said control program agent__ and an APl.
8. A service agent according to claim 1 wherein the method steps further comprise_. once a command file _
(PICTURE) is loaded into memory for said control program agent__, the control program agent__ retrieves_
5O from its memory the command file variable names associated with a command file name passed to the control
program agent __ once the control program agent __ is invoked.
9. A service agent according to claim 1 wherein the method steps further comprise_. subsequently, creating _ with
said control program agent __ a data array stored in the control program memory containing the command file
55 variable names and the values for them that were passed to the control program agent __ during initial data
retrieval steps in order to match command file variable names with the data that was passed to the control program
agent __ with said environment variables step _
15
EP O 747 84O B1
1 O. A service agent according to claim 1 wherein the method steps further comprise_. subsequently, in preparation for
a report, said program command agent creates _ a unique filename which may include data originated by the
HTML document's variables stored in a previous step (step 1 1 2) to pass to the command file as a command file
variable for use in naming the report which will be created by the command file, which as a result the command
5 file will create that file with the unique file name during its process.
1 1 . A service agent according to claim 1 wherein the method steps further comprise_. subsequently, in anticipation of
command file execution, the values of variables used by the command file(PICTURE) are obtained from the
data array in the control program memory containing the command file variable names and the values for them
1O that were passed to the control program agent__ in the step providing parameters for quey data from the HTML
document __ that referred to said control program agent __ which contains values __ selected by the user
and/or default values selected by a HTML document designer set in a command file program prior to its execution,
doing this using the APl to set _ the command file variable values.
15 1 2. A service agent according to claim 1 wherein the method steps further comprise_. subsequently, using an APl to
query and determine the size of a queue of jobs being requested, and comparing _O) whether the size has
exceeded a predetermined threshold number of jobs being requested, and if so, then entering a wait state loop to
wait and reiteratively comparing whether the size still has exceeded said predetermined threshold number of jobs
being requested until the queue size is reduced to below said threshold level, and then at that point using said APl
2O submit _ a command file (PICTURE) for execution.
1 3. A service agent according to claim 1 wherein the method steps further comprise_. after the APl has submitted said
command file (PICTURE) for execution _ by a sub-agent, said control program agent__ enters a state
of awaiting _ execution of said command file by said sub-agent.
25 1 4. A service agent according to claim 1 wherein the method steps further comprise_. during a said state of awaiting
execution of said command file (PICTURE) processing other requests by the control program agent__ as
a pipe so that the control program agent __ continually advances requests through the system.
3O 1 5. A service agent according to claim 1 wherein the method steps further comprise_. during the state awaiting _)
execution of a command file (PICTURE) using said APl to Iook for a completion signal of execution of said
command file, and when that completion signal is received, said1ontrol program agent __ reads _ the file
identified by the name passed to the control program in the preceding step_ that contains the HTML statements
which are to be presented with the command file report of results.
35 1 6. A service agent according to claim 1 wherein the method steps further comprise_. testing _ with said control
program agent__ for the kind of report to be created by obtaining information from stored variables and identifies
output parameters, and branching to the sequence applicable to the kind of report to be created.
4O 1 7. A service agent according to claim 1 wherein the method steps further comprise_. wherein an output is routed_
to a requestor selected resulting output destination selected from a group of possible output units, comprising fax,
printer, retail and banking installations, or provided as a series of full motion videos or still frames which are trans-
mitted to display devices, including television units under control of of end users with a set-top box cable control.
45 1 8. A service agent according to claim 1 wherein the method steps further comprise_. wherein an output is routed_
to a requestor selected resulting output destination server having a CPU, network l/F bus, disks, modems, and X.
25 data switching providing hardware to route the output to a variety of output devices, including a facsimile, printer,
retail terminal, banking machines, TV or cable customers via the server, with full motion and still video supplied
with MPEG 2 and MPEG 1 protocol images respectively to subscribers.
5O 1 9. A service agent according to claim 1 wherein the method steps further comprise_. coupling the output to an auxiliary
function including back-up storage and accounting processes_ which allow for charging for system utilization
and service charges for services and items requested.
55 2O. A se_ice agent according to claim 1 wherein the method steps further comprise_. __e auxiliary functions make use
of hidden variables associated with the request including authorization charge_ariables, including credit card
numbers and passwords. 1 6
EP O 747 84O B1
21 . A service agent according to claim 1 wherein the method steps further comprise_.(PICTURE)(PICTURE) credit card number
(PICTURE) with a DES or RSA encyption utility, and this along with access authorization variables, allows access
to sensitive databases which reside behind firewalls.
5 Patentansprü_he
1 . Ein Dienstleistungsagent zum Erfüllen von Anforderungen eines Web-Browser-Client (71 ), gekoppelt an ein Netz-
werk (1 3),
1O dadurch gekennzeichnet, daß er umfaßt_. Einen Steuerprogramm-Agenten (73), der im wesentlichen ein Programm
mit Anweisungen verwirklicht, das in einer unterstützenden Maschinenumgebung ausführbar ist, um Verfahrens-
schritte des Empfangens einer Anforderung durchzuführen, die in dem Web-Browser-Client (71 ) anlaufen und die
Anforderung durch Erbringen eines Ergebnisses (5O, 6O) erfüllen, wobei die Verfahrensschritte beinhalten_.
15 Anzeige eines HTML-Dokuments (29) an den Web-Browser (71 );
Aufrufen eines Steuerprogramm-Agenten (73);
Empfangen von Daten, die durch den Anwender aus dem HTML-Dokument (29) eingegeben werden, und
2O Weitergeben der vom Anwender eingegebenen Daten an den Steuerprogramm-Agenten (73) bei Aufruf als
Eingabeparameter an den Steuerprogramm-Agenten (73), die vom HTML-Dokument (29) zurückgegeben wur-
den_,
Benutzen eines APl-Satzes zum Aufrufen ausführbarer Befehlsdateien (91 -95, 1 O1 -1 O3) und Programme, die
25 über ein zugeordnetes Befehlsdateiobjekt zugängig sind.
2. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Eingabeparameter Daten aus dem HTML-Dokument (29)
enthalten, die sich auf den Steuerprogramm-Agenten (73) beziehen.
3O 3. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem der Schritt des Empfangens von Daten, die vom Anwender
aus dem HTML-Dokument (29) eingeben werden, und das Weitergeben dieser vom Anwender eingegebenen
Daten an den Steuerprogramm-Agenten (73) bei Aufruf als Eingabeparameter an den Steuerprogramm-Agenten
(73), die vom HTML-Dokument (29) zurückgegeben wurden, eine Identifikation (1 1 O) einer aufzurufenden Befehls-
datei (91 -95, 1 O1 -1 O3), den Namen der Datei, die die beim Aufbau des HTML-Dokuments (43, 59) zu benutzenden
35 HTML-Anweisungen enthält, das die von der Anforderung angeforderten Ergebnisse (5O, 6O) und den Typ der
angeforderten Datei, sowie als Anfrage Daten von dem HTML-Dokument (29) beinhaltet, die sich auf den Steu-
erprogramm-Agenten (73) beziehen.
4. Ein Dienstleistungsagent gemäß Anspruch 3, in dem der Schritt des Weitergebens der Daten von dem HTML-
4O Dokument (29), die sich auf den Steuerprogramm-Agent (73) beziehen, das Weitergeben (1 1 1 ) von Daten, die
Werte (41 ) enthalten, die vom Anwender ausgewählt wurden, und/oder Vorgabewerte, die von einem HTML-Do-
kumententwicklersatz in einem Befehlsdateiprogramm vor dessen Ausführung beinhaltet, wobei alle diese Daten
in einer Pufferumgebung gespeichert sind (1 1 2) und für das Befehlsdateiprogramm und/oder den Steuerpro-
gramm-Agenten (73) zugängig sind und zum Einstellen von Variablen für das Befehlsdateiprogramm benutzt wer-
45 den.
5. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem der Verfahrensschritt ferner beinhaltet_.
Während der Bearbeitung durch den Steuerprogramm-Agenten (73) das Vorsehen von Einstellungen für auftre-
tende APl-Aufrufe.
5O 6. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem der Verfahrensschritt ferner beinhaltet_.
Mit der jetzt in einem Puffer gespeicherten Variableninformation das Abrufen (1 1 3) von Befehlsdateien (91 -95,
1 O1 -1 O3) mit dem Steuerprogramm-Agenten (73) und der Variablennamen, die jeder Befehlsdatei zugeordnet sind,
von einem Speicher, und Laden der verfügbaren Befehlsdateinamen und der jeder Befehlsdatei zugeordneten
55 Variablennamen in einen Speicher, der dem Steuerprogramm-Agenten (73) zugeordnet ist.
7. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Das Einleiten (1 1 4)
mit dem Steuerprogramm-Agenten (73) einer Verbindung zwischen dem Steuerprogramm-Agenten (73) und einer
1 7
EP O 747 84O B1
APl.
8. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Sobald eine Be-
fehlsdatei (91 -95, 1 O1 -1 O3) in den Speicher für den Steuerprogramm-Agenten (73) geladen ist, ruft der Steuer-
5 programm-Agent (73) aus seinem Speicher die Namen der einem Namen der Befehlsdatei zugeordneten _riablen
der Befehlsdatei ab (1 1 6), der an den Steuerprogramm-Agenten (73) weitergegeben wurde, sobald der Steuer-
programm-Agent (73) aufgerufen wird.
9. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Anschließend Er-
1O stellen (1 1 7), mit dem Steuerprogramm-Agent (73), einer Datenmatrix, die im Steuerprogrammspeicher gespei-
chert ist, der die Steuerdateivariablennamen und die Werte derselben enthält, die an den Steuerprogramm-Agen-
ten (73) in den anfänglichen Datenabrufschritten an den Steuerprogramm-Agenten (73) weitergegeben wurden,
um die Steuerdateivariablennamen den Daten, die an den Steuerprogramm-Agent (73) weitergegeben wurden,
mit dem Umgebungsvariablenschritt (1 1 1 ) anzupassen.
15 1 O. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Anschließend, beim
Abfassen eines Berichts, erstellt (1 1 8) der Programmbefehlsagent einen unverwechselbaren Dateinamen, der
beinhalten kann_. Daten, die von den Variablen des HTML-Dokuments erzeugt werden, die in einem früheren Schritt
(Schritt 1 1 2) abgespeichert wurden, um sie an die Befehlsdatei als Befehlsdateivariable weiterzugeben zur Be-
2O nutzung bei der Benennung des Berichts, der von der Befehlsdatei erzeugt wird, wobei als Ergebnis die Befehls-
datei diese Datei mit dem unverwechselbaren Dateinamen während des Prozesses erzeugen wird.
1 1 . Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Anschließend, als
Vorgriff auf die Ausführung der Befehlsdatei werden die Werte der Variablen, die von der Befehlsdatei (91 -95,
25 1 O1 -1 O3) benutzt werden, von der Datenmatrix im Steuerprogrammspeicher gewonnen, der die Befehlsdateiva-
riablennamen und die Werte für diese enthält, die an den Steuerprogramm-Agenten (73) weitergegeben wurden
im Schritt, der die Parameter für die Abfragedaten vom HTML-Dokument (29) vorsieht, das sich auf den Steuer-
programm-Agenten (73) bezieht, der die vom Anwender gewählten Werte (41 ) und/oder Vorgabewerte enthält,
die von einem HTML-Dokumententwicklersatz in einem Befehlsdateiprogramm vor seiner Ausführung ausgewählt
3O wurden, und dabei die APl zum Einstellen (1 1 9) der Werte der Befehlsdateivariablen benutzt.
1 2. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Anschließend, unter
Verwendung einer APl zum Abfragen und Bestimmen der Größe einer Warteschlange für angeforderte Jobs und
Vergleichen (1 2O), ob die Größe eine vorgegebene Schwellenzahl für angeforderte Jobs überschritten hat, und
35 wenn so, Eintreten in eine Wartezustandsschleife zum Warten und reiterativen Vergleichen, ob die Größe noch
immer die vorgegebene Schwellenzahl für angeforderte Jobs überschreitet, bis die Warteschlangengröße auf unter
dieser Schwellenhöhe reduziert ist, und dann an diesem Punkt Benutzen der APl , um eine Befehlsdatei (91 -95,
1 O1 -1 O3) zur Ausführung vorzulegen.
4O 1 3. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Nachdem die APl
die Befehlsdatei (91 -95, 1 O1 -1 O3) zur Ausführng (1 22) durch einen Unteragenten vorgelegt hat, tritt der Steuer-
programmagent (73) bis zur Ausführung der Befehlsdatei durch den Unteragenten in einen Wartezustand (1 23) ein.
1 4. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Während des War-
45 tezustands der Ausführung der Befehlsdatei (91 -95, 1 O1 -1 O3) Bearbeitung weiterer Anforderungen durch den
Steuerprogramm-Agenten (73) als Pipeline, so daß der Steuerprogramm-Agent (73) kontinuierlich Anforderungen
durch das System schickt.
1 5. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Während des Zu-
5O stands des Wartens (1 23) auf die Ausführung einer Befehlsdatei (91 -95, 1 O1 -1 O3), Benutzten der APl , um ein
Signal des Abschlusses der Ausführung der Befehlsdatei zu suchen, und sobald dieses Abschlußsignal empfangen
wird, liest (1 24) der Steuerprogramm-Agent (73) die Datei, die durch den Namen identifiziert wird, der an das
Steuerprogramm übergeben wird in dem vorhergehenden Schritt (1 1 3), der die HTML-Anweisungen enthält, die
mit dem Ergebnisbericht der Befehlsdatei vorgelegt werden müssen.
55 1 6. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Testen (1 25) mit
dem Steuerprogramm-Agent (73), welche Art des Berichts erzeugt werden soll, durch Einholen von Informationen
aus gespeicherten Variablen, und identifiziert Ausgangsparameter, und Verzweigen zur Sequenz, die auf den zu
1 8
EP O 747 84O B1
erstellenden Bericht anwendbar ist.
1 7. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. In dem eine Ausgabe
zu einer Anforderer-gewählten Ergebnisausgangsbestimmung geführt wird (1 27), ausgewählt aus einer Gruppe
5 möglicher Ausgabeeinheiten, beinhaltend Fax, Drucker, Einzelhandel- und Bankeinrichtungen, oder als eine Reihe
von Vollfilmvideos oder Standbildervorgesehen ist, die an Anzeigevorrichtungen übermittelt werden, einschließlich
Fernseheinheiten unter der Steuerung von Endanwendern mit einer oben geschlossenen Set-top Box-Kabels-
teuerung.
1O 1 8. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. In dem eine Ausgabe
zu einem Anforderer-gewählten Ergebnisausgangsbestimmungs-Server geführt wird (1 27), der eine CPU, Netz-
werk-Zf-Bus, Disketten, Modems und X.25 Datenschaltung-vorsehende Hardware aufweist, um die Ausgabe zu
einer Vielzahl von Ausgabevorrichtungen, einschließlich Fax, Drucker, Einzelhandelsterminal, Bankmaschinen,
TV oder Kabelkunden über den Server, mit Vollfilm- und Standbildvideo, die mit MPEG 2 und MPEG 1 Protokoll-
15 bildern versehen sind, bzw. an Abonnenten zu führen.
1 9. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Koppeln des Aus-
gangs an eine Hilfsfunktion einschließlich Sicherungsspeicherung und Buchführungsvorgänge (1 28), die das Be-
rechnen für Systembenutzung und Dienstleistungsbelastungen für Dienstleistungen und angeforderte Stücke er-
2O möglichen.
2O. Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Die Hilfsfunktionen
benutzen verborgene Variable, die der Anforderung zugeordnet sind, einschließlich Ermächtigungsbelastungsva-
riable, einschließlich Kreditkartennummern und Paßwörter.
25 21 . Ein Dienstleistungsagent gemäß Anspruch 1 , in dem die Verfahrensschritte ferner beinhalten_. Verschlüsseln der
Kreditkartennummer, vorzugsweise mit einem DES oder RSA Verschlüsselungsgerät, und das zusammen mit
Zugriffsermächtigungs-Variablen, die Zugriff auf die Empfindliche Datenbänke gewährt, die hinter ''Firewalls'' lie-
gen.
3O Revendi_ations
1 . Agent de service destiné à satisfaire des requêtes d'un client de navigateur web (71 ) relié à un réseau (1 3),
35 caractérisé en ce qu'il comprend _. un agent de programme de commande (73) réalisant de façon tangible un
programme d'instructions exécutable par un environnement de machine associé pour l'exécution des étapes du
procédé destiné à recevoir une requête déclenchée au niveau dudit client de navigateur web (71 ) et à satisfaire
Ia requête par une fourniture d'un résultat (5O, 6O), lesdites étapes du procédé comprenant _.
4O la présentation d'un document de langage HTML (29) audit navigateur web (71 ),
l'invocation d'un agent de programme de commande (73),
Ia réception de données saisies par l'utilisateur à partir du document en langage HTML (29) et la transmission
45 desdites données saisies par l'utilisateur audit agent de programme de commande (73) lors de l'invocation,
sous forme de paramètres d'entrée, audit agent de programme de commande (73), qui ont été renvoyés depuis
Iedit document en langage HTML (29),
l'utilisation d'un ensemble d'interfaces APl destiné à invoquer des fichiers d'instructions exécutables (91 à 95,
5O 1 O1 à 1 O3) et des programmes accessibles par l'intermédiaire d'un objet de fichier d'instructions associé.
2. Agent de service selon la revendication 1 dans lequel lesdits paramètres d'entrée contiennent des données pro-
venant du document en langage HTML (29) qui faisait référence audit agent de programme de commande (73).
55 3. Agent de service selon la revendication 1 , dans lequel ladite étape de réception des données saisies par l'utilisateur
depuis le document en langage HTML (29), et de transmission desdites données saisies par l'utilisateur audit
agent de programme de commande (73) lors de l'invocation, sous forme de paramètres d'entrée, audit agent de
programme de commande (73), qui ont été renvoyés à partir dudit document en langage HTML (29), comprend
1 9
EP O 747 84O B1
une identification (1 1 O) d'un fichier d'instructions (91 à 95, 1 O1 à 1 O3), à appeler, le nom du fichier contenant les
instructions de langage HTML à utiliser lors de la construction d'un document en langage HTML (43, 59) qui rend
compte des résultats (5O, 6O) demandés par la requête, et le type de fichier qui est demandé, de même que des
données de recherche provenant du document en langage HTML (29) qui faisait référence audit agent de pro-
5 gramme de commande (73).
4. Agent de service selon la revendication 3dans lequel ladite étape de transmission des données depuis le document
en langage HTML (29) qui faisait référence audit agent de programme de commande (73), inclut la transmission
(1 1 1 ) de données qui contiennent des valeurs (41 ) sélectionnées par l'utilisateur eUou des valeurs par défaut
1O sélectionnées par un ensemble de concepteur de document en langage HTML dans un programme de fichier
d'instructions antérieurement à son exécution, la totalité desquelles données étant mémorisée dans un environ-
nement de mémoire tampon, et accessible audit programme de fichier d'instructions et/ou audit agent de program-
me de commande (73) et utilisé pour établir des variables destinées audit programme de fichier d'instructions.
15 5. Agent de se_ice selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _.
durant le traitement par ledit agent de programme de commande (73), la réalisation d'initialisation destinée à des
appels d'interfaces APl qui se produisent.
6. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _.
2O avec les informations de variables mémorisées à présent dans une mémoire tampon, la récupération (11 3) avec
l'agent de programme de commande (73) à partir d'une mémoire de fichiers d'instructions (91 à 95, 1 O1 à 1 O3) et
Ies noms de variables associés à chaque fichier d'instructions et le chargement dans la mémoire associée à l'agent
de programme de commande (73), les noms de fichiers d'instructions disponibles et les noms de variables associés
à chaque fichier d'instructions.
25 7. Agent de service selon la revendication 1 , dans lequel les étapes du procédé comprennent en outre _. Ie déclen-
chement (1 1 4) avec l'agent de programme de commande (73) d'une liaison entre ledit agent de programme de
commande (73) et une interface APl.
3O 8. Agent de service selon la revendication 1 , dans lequel les étapes du procédé comprennent en outre _. une fois
qu'un fichier d'instructions (91 à 95, 1 O1 à 1 O3) est chargé dans la mémoire pour ledit agent de programme de
commande (73), l'agent de programme de commande (73) récupère (11 6) depuis sa mémoire les noms de varia-
bles de fichiers d'instructions associés à un nom de fichier d'instructions transmis à l'agent de programme de
commande (73) une fois que l'agent de programme de commande (73) est invoqué.
35 9. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. ensuite, la
création (1 1 7) avec ledit agent de programme de commande (73), d'un tableau de données mémorisé dans la
mémoire de programme de commande contenant les noms de variables de fichiers d'instructions et les valeurs
de celles-ci qui ont été transmises à l'agent de programme de commande (73) durant des étapes de récupération
4O de données initiales de façon à mettre en correspondance des noms de variables de fichiers d'instructions avec
Ies données qui ont été transmises à l'agent de programme de commande (73) avec lesdites variables d'environ-
nement, à l'étape (11 1 ).
1 O. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. ensuite, dans
45 la préparation d'un compte-rendu, ledit agent d'instructions de programme crée (1 1 8) un nom de fichier unique
qui peut inclure des données provenant des variables du document en langage HTML mémorisées dans une étape
précédente (étape 1 1 2) pour transmettre au fichier d'instructions en tant que variable de fichier d'instructions en
vue d'une utilisation dans l'attribution d'un nom de compte-rendu qui sera créé par le fichier d'instructions, ce qui,
en tant que résultat du fichier d'instructions créera ce fichier avec le nom de fichier unique durant son traitement.
5O 11 . Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. ensuite, par
anticipation de l'exécution du fichier d'instructions, les valeurs de variables utilisées par le fichier d'instructions (91
à 95, 1 O1 à 1 O3) sont obtenues depuis le tableau de données dans la mémoire de programme de commande
contenant les noms de variables du fichier de commande et les valeurs de celles-ci qui ont été transmises à l'agent
55 de programme de commande (73) dans l'étape de fourniture des paramètres destinés aux données de requête
depuis le document en langage HTML (29) qui faisait référence audit agent de programme de commande (73) qui
contient des valeurs (41 ) sélectionnées par l'utilisateur eUou des valeurs par défaut sélectionnées par un ensemble
de concepteur de document en langage HTML dans un programme de fichier d'instructions antérieurement à son
2O
EP O 747 84O B1
exécution, en faisant cela en utilisant l'interface APl pour établir (11 9) les valeurs de variables de fichier d'instruc-
tions.
12. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. enSUite,
5 l'utilisation d'une interface APl pour interroger et déterminer la taille d'une file d'attente de tâches qui sont deman-
dées, et la comparaison (1 2O) indiquant si la taille a dépassé un certain nombre de seuil prédéterminé de tâches
qui sont demandées, et si cela est le cas, entrer alors dans une boucle d'état d'attente pour attendre et comparer
de façon réitérée si la taille a encore dépassé ledit certain nombre de seuil prédéterminé de tâches qui sont de-
mandées jusqu'à ce que la taille de la file d'attente soit réduite au-dessous dudit niveau de seuil, et alors, à ce
1O stade, en utilisant ladite interface APl, la soumission (1 21 ) d'un fichier d'instructions (91 à 95, 1 O3 à 1 O3) en vue
d'une exécution.
13. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. aprèS qUe
l'interface APl a soumis ledit fichier d'instructions (91 à 95, 1 O1 à 1 O3) en vue d'une exécution (1 22) par un sous-
15 agent, ledit agent de programme de commande (73) entre dans un état d'attente (1 23) d'exécution dudit fichier
d'instructions par ledit sous-agent.
14. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. durant un dit
état d'attente d'exécution dudit fichier d'instruction (91 à 95, 1 O1 à 1 O3), le traitement d'autres demandes par l'agent
2O de programme de commande (73) sous forme d'un canal d'exécution de sorte que l'agent de programme de com-
mande (73) avance de façon continue les requêtes à travers le système.
15. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. durant l'état
d'attente (1 23) d'exécution d'un fichier d'instructions (91 à 95, 1 O1 à 1 O3), en utilisant ladite interface APl, la re-
25 cherche d'un signal d'achèvement d'exécution dudit fichier d'instructions, et lorsque ce signal d'achèvement est
reçu, ledit agent de programme de commande (73) lit (1 24) le fichier identifié par le nom transmis au programme
de commande dans l'étape précédente (11 3) qui contient les instructions de langage HTML qui doivent être pré-
sentées avec le compte-rendu de fichier d'instructions des résultats.
3o 16. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. Ie test (1 25)
avec ledit agent de programme de commande (73), du type de compte-rendu devant être créé en obtenant des
informations à partir des variables mémorisées et l'identification des paramètres de sortie, et le branchement vers
Ia séquence applicable au type de compte-rendu devant être créé.
35 17. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. l'étape où
une sortie est acheminée (1 27) vers une destination de sortie résultant d'un demandeur sélectionné, sélectionnée
à partir d'un groupe d'unités de sortie possibles, comprenant fax, imprimante, installation du secteur de la distri-
bution et du secteur bancaire, ou fournie sous forme d'une série de vidéos animées ou d'images fixes qui sont
transmises aux dispositifs de présentation, comprenant des postes de télévision sous la commande d'utilisateurs
4O finaux munis de commande par câble de boîtier décodeur.
18. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. l'étape où
une sortie est acheminée (1 27) vers un serveur de destination de sortie résultant d'un demandeur sélectionné,
comportant une unité centrale, un bus d'interface de réseau, des disques, des modulateurs démodulateurs, et une
45 commutation de données X.25 fournissant le matériel pour acheminer la sortie vers une diversité de dispositifs de
sortie comprenant un fac-similé, une imprimante, un terminal du secteur de la distribution, des machines du secteur
bancaire, des clients de la télévision ou du câble par l'intermédiaire du serveur, la vidéo avec animation totale et
fixe étant fournie, respectivement, avec des images conformes aux protocoles MPEG 2 et MPEG 1 , aux abonnés.
5O 19. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. Ie couplage
de la sortie à une fonction auxiliaire comprenant une mémorisation de sauvegarde et des traitements de compta-
bilité (1 28) qui permettent de facturer les taxes d'utilisation du système et de service pour les services et les
éléments demandés.
55 2O. Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. Ie fait que
Ies fonctions auxiliairesfont usage de variables cachées associées à la demande comprenant des variables d'auto-
risation de facturation, comprenant des numéros de carte de crédit et des mots de passe.
21
EP O 747 84O B1
21 . Agent de service selon la revendication 1 dans lequel les étapes du procédé comprennent en outre _. Ie cryptage
du numéro de carte de crédit, de préférence à l'aide d'un utilitaire de cryptage DES ou RSA, et ceci en même
temps que des variables d'autorisation d'accès, permet l'accès à des bases de données confidentielles qui résident
derrière des coupe-feu.
5
1O
15
2O
25
3O
35
4O
45
5O
55 22
_
EPO74784OB1
' (PICTURE)
O
(PICTURE)
_
_
W_
w__-
___ _
O
_
_U7
__
U7w
_
_
W_
4
_
__
j_
_
___4
M__
U7
_
4
U
__ _
_ _
_ q
ii w_
_
Uw
wX
_ N
_ _
_ (PICTURE)
j
O_
Z
O
__
o_wU
W__
Niij
W__
jj_
NoM
__
W _
__W_u_q__z____z___
_3
EPO74784OB1
' (PICTURE)
o_ (PICTURE)
_O
_~~
o __W
W __3
- -> .
_ M ~w
W j oiN
M
w_ j z_î
io ij
-j-
_M _ _4o
i Wi j_
_ _ _M
-_ _Oz
- M_ i_
_j M __M
ii -_ W>o_
uj _ _4o __
(PICTURE)
O - U_ __
_O _ _ _
_r 4 WW __
O . 3 _ii
r_ i -_
O _ _
oOO =_ _i
_r i-
_ uj . _ î_o
OZ W 4j
rO _ _~
r_ j No
q M O_
oo_ _
_O z oO
_ o z
__ -_ _4
O_ _O q _
_ 4U _ _x
_ _j _ N_
_ O. _t
. __ _N ii
__ - Zw _O
o M_ _3 U_W
-i w i '
W W_ iW W_ (PICTURE)
_ _4ii _O jo=_
_4 ò__ o_ -_i
_ o _ i__
j _u O î
Z __
O W_u j_ WW
î _v 4O _ij
_ oj3 _ (PICTURE)
W j_-_ j W
__ Ui zW jz
WWj ói_ _qO
o i _
_ _CLo Wi _z
iò j-
W gj _ i-__.
_ W U (PICTURE)
O j_ jîu- (PICTURE)
U~ o O4 óU i
W __CL _>u O
3 _ w j__ W~
W Wj Ww_ N
O _ __z
Z j-O 4_ww i
_ i jij o (PICTURE)
., M O_z M->O_ _ (PICTURE)
_ O tiNj Uj
M __4 .- w
_q iu _Mo Çi
jj zMw_
_ o _ _
o Mz> j (PICTURE)
M_ uM MWM_ o
i W_ ij__3 >
_ _w ~N
_i 4 _ w
W_ _j _
3- >jo q
=i IDO> j
24
EPO74784O B1
flLE _E IS P81484. _4_
_CATCH _ oN _e N__. _
q4(YOU _UST _ A DATA J_ERPR_ATlON SySTEM C_SU_EI.
THE OUTPUT IS THE _ TOOL T_SFERRED AS A T_. .
COPYRIGHT lBM 1995
(PICTURE)
CUSTOMERS WHO MIGHT W_ TO KNOW ABOUT THE
DlS _ GAT_AY---THIS DATA IS FROM THE IBM MARK_ P_NING DATA SySTEM--
A DB2 hM DATA_E
-C-U-ST-O-M-E-R--N-AM--E-----S-W--D-E-S-C-R-IP-T-JO-N lNST C_ STATe
AC NIELSEN CO DIS 1._.6 DlS ENTERPRISE SE 95o1 CH_Ry HtLL N_
AC NIELSEN CO DIS 1._.6 DlS ENTERPRlSE SE 95o1 GREEN BAy Wl
AC NlELSEN CO DlS 1._.6 DIS ENTERPRlSE SE 95O1 MINN_oUS MN
AC NIELSEN CO DIS 1._.6 DIS ENTERPRISE SE 95o1 wlLToN CT _ __'!
ADVANTIS DIS 1._.6 DlS E_ERPRISE SE 95O1 SCHAUMBURG lL
ALTA BATES MEDl DIS 1._.6 DIS ENTERPRISE SE 941O BERKELEY CA
ALTA BATES MEDl DIS 1._.6 DIS ENTERPRISE SE 95o_ BERKELEY CA
AMERlCAN PRESID DlS 1._.6 DIS ENTERPRISE SE 95O1 OAK_D CA
ANHEUSER BUSCH DlS 1._.6 DIS ENTERPRISE SE 95Ot ST tOUIS MO
ANHEUSER BUSCH DlS 2.O OPENDlS ACCESS SERV 95O1 ST LoUJS Mo
5O ASH_D OlL lNC DIS 1._.6 DIS ENTERPRlSE SE g5o2 LexlNGToN Ky
ASH_D OlL lNC DJS 2.O OPENDIS ACCESS SERV 95O2 LEXJNGToN Ky
BELLSOUTH CELLU DIS 1._.6 DIS ENTERPRISE SE 95o1 FT _UDERDALE _L
BELLSO_ CELLU DIS 2.O OPENDIS ACCESS SERV 95O1 FT LAUDERDALE FL
BELLSO_ COMMU DIS 1._.6 DIS ENTERPRISE SE 95O1 ATLANTA GA
BELLSOUTH COMMU DlS 1._.6 DIS ENTERPRISE SE 95O1 BIRMING_M AL
BELLSOUTH TELEC DIS 1._.6 DIS ENTERPRISE SE 95O1 ATLANTA GA
BRlO TECHNOLOGY DlS 1._.6 DIS ENTERPRISE SE 95O1 MOUNTAlN Vl_ CA
BRlSTOL MYERS S DIS 1._.6 DIS ENTERPRISE SE 941O P_lNSBORO NJ
BRISTOL MYERS S DlS 2.O OPENDlS ACCESS SERV 95O2 N_ YORK NY
BROAD_AY DEPT S DIS 1._.6 DIS ENTERPRISE SE 941O LOS ANGELES CA
BROOLYN UNlON DIS 1._.6 DlS ENTERPRISE SE 941O BROOKLYN NY
CHESEBROUGH PON DIS 1._.6 DJS ENTERPRlSE SE 95O1 GREENwICH CT
COLGATE-PALMOLt DIS 1._.6 DIS ENTERPRlSE SE 941o JRVJNE CA
COLGATE-PALMOLl DIS 1._.6 DIS ENTERPRISE SE 94tO MoRRlSTowN NJ
COLGATE-PALMOLl DIS 1._.6 DIS ENTERPRISE SE 941o NEW yoRK Ny
_4
EPO74784OB1
_&
(PICTURE) __
(PICTURE)
4
q_
O
_ _
W
_ _
o _
ii W
_
_ _
_i zg
i_
W _
_ j
O
_w O_
_
4_ _
jO
_i ii __
jj W ___
_ __ -
_ iL
__4 -_
w __
i _
_ _
_ _
CL O
4 (PICTURE)
_ W_
_ _
_ -.
W
4 j
__
_
W_ _
j _ CL
u _ 4
w - _
ii _
W W_
j _ _
i- _ __
i (PICTURE) iji
j (PICTURE)
z
O_