|
Claims  |
|
|
What is claimed is:
1. A method for distributed task fulfillment of requests of a web browser with a command file agent tangibly embodying a program set of instructions executable by a supporting
machine environment for performing method steps required by a request initiated at said web browser and fulfilling the request by a providing a result, said method steps comprising:
receiving at said command file agent a submit command from a control program agent in preparation for a report and variables associated with said report to pass to said command file agent as a command file variable for use in naming a report file
which will be created by said command file agent will create that said report file with a unique file name during execution of said command file agent,
processing by said command file agent a series of linked objects according to a specified flow sequence within a distributed data environment specified by said command file agent, including executing functions specified in said command file agent
for including data retrieval and processing, and
in the process storing the result of said processing in said report file having said unique file name during execution of said command file agent.
2. A method for distributed task fulfillment of requests of a web browser according to claim 1, further including:
invoking internetwork routing functions by said command file agent after authorization data is received during execution of a request submitted by said control program agent.
3. A method for distributed task fulfillment of requests of a web browser according to claim 1, further including:
receiving prior to creating a report file having said unique filename data originated by an HTML document's variables stored by said control program agent.
4. A method for distributed task fulfillment of requests of a web browser according to claim 1, further including:
invoking internetworking routing functions to query databases where they are located on the network.
5. A method for distributed task fulfillment of requests of a web browser according to claim 1, further including:
invoking internetworking routing functions to query databases where they are located on the network by reaching a destination on the Internet by a link between systems and routing data retrieved from one physical unit to another according to an
applicable protocol.
6. A method for distributed task fulfillment of requests of a web browser according to claim 1, further including:
invoking internetworking routing functions to query databases where they are located on the network by reaching a destination on the Internet by a link between systems and routing data retrieved from one physical unit to another according to an
applicable protocol, employing a URL address for Internet locations.
7. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein said control program acts in concert with said command file agent execution in fulfilling requests and wherein the command file agent agent
is an object program with executable additions which have been created to interact with said control program agent when object icons are identified by a user of a web browser.
8. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein said command file agent performs programmable functions on data which is retrieved from databases.
9. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein said command file agent performs programmable functions on data which is retrieved from databases, and not only does a command file agent get
data, it combines, reformats, and updates, the data retrieved.
10. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein said command file agent performs programmable functions on data which is retrieved from databases functioning as a dedicated processor
processing 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 a command file agent, as may be selected, if desired, by the user as part of the request.
11. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein the user enters inputs as part of his request, either free form or by selection of variables in the menus afforded to the user.
12. A method for distributed task fulfillment of requests of a web browser according to claim 1, further including:
responding to a recorded click on a object icon portrayed on a user screen and linking command files represented by said icon to link said object as one of said series of liked objects to perform an indicated specified flow sequence specified by
one or more icons.
13. A method for distributed task fulfillment of requests of a web browser according to claim 1, further including:
providing functions as by successive execution of a list of commands listed in a command file agent, including any calls to programs written in another language, to perform specific functions that are requested by the user from his initiation
session.
14. A method for distributed task fulfillment of requests of a web browser according to claim 1, further including:
providing functions as by successive execution of a list of commands listed in a command file agent, including any calls to programs written in another language, to perform specific functions that are requested by the user from his initiation
session, and wherein user further qualifies the execution of the command file by providing parameters which are used in the invocation of a command file.
15. A method for distributed task fulfillment of requests of a web browser according to claim 1, further including:
providing functions as by successive execution of a list of commands listed in a command file agent, including any calls to programs for SQL queries of a specific database, which are invoked by the command file.
16. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein a command file agent, represented by a series of linked objects, is supported by an internetwork processor support environment.
17. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein within a decision interpretation system environment an integrated capsule creates a text report file as a result of the a make text object.
18. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein within a decision interpretation system environment an integrated capsule creates a text report file as an object result file, which object
result file is displayed at the browser.
19. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein a multiple data retrieval command file agent (91(a) . . . 91(n)) initiates as a first step multiple queries to different databases which
are specified by the parameters of the request.
20. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein a multiple 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 to initiate multiple queries as SQL search requests with as multiple steps (91(a) . . . 91(n)) executed by a command file agent server with a database gateway to select data from differing base databases
located inside an intranet and on the Internet by internetwork routing to at least one other database gateway and its linked databases, and storing the retrieved date data in a buffer declared by the command file.
21. A method for distributed task fulfillment of requests of a web browser according to claim 1, including performing additional steps (91(b), 91(c), 91(d), and 91(n)) to retrieve data and store in their command file object buffer data retrieved
from other base databases, each returning data back to a command file declared buffer, and in a subsequent linked processing step (92) data from the database queries in the preceding data retrieval steps is joined by joining according to an object
command file and stored in a buffer related to this joining object command file.
22. A method for distributed task fulfillment of requests of a web browser according to claim 1, including in a subsequent processing step performed by calculation object command file agent (93) on joined data in a joined database result buffer
(92) desired calculations are performed on joined data in accordance with the parameters indicated by the request.
23. A method for distributed task fulfillment of requests of a web browser according to claim 1, including in accordance with the request parameters text is formatted to space delimited text by a format object command file agent function (94),
and storing the results in a buffer associated with a format object command file agent (94).
24. A method for distributed task fulfillment of requests of a web browser according to claim 1, wherein a make text command file agent causes the formatted text to be created as a text file for use via a WWW server (131) permitting said text
file to be stored in a file which is accessible to and retrieved and displayed in the form requested an at the location determined by Web browser input parameters to a control program agent.
25. A method for distributed task fulfillment of requests of a web browser according to claim 1, including creating a graphical report file.
26. A method for distributed task fulfillment of requests of a web browser according to claim 1, including creating a graphical report file utilizing a retrieval object command file agent to retrieve data from one or more data bases as specified
in the parameters of the request.
27. A method for distributed task fulfillment of requests of a web browser according to claim 3, including utilizing a plot object command file agent to plot retrieved data with the results being stored in a buffer.
28. A method for distributed task fulfillment of requests of a web browser according to claim 1, including creating a result-to-be-presented file with a bitmap object command file agent a bitmap ready for display in a form and at a location
determined by a request from a Web browser (130). |
|
|
|
|
Claims  |
|
|
Description  |
|
|
COPYRIGHT AUTHORIZATION
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The owner, International Business Machines Corporation, has no objection to the facsimile reproduction by any one of the patent
disclosure, as it appears in the Patent and Trademark Office patent files or records of any country, but otherwise reserves all rights whatsoever.
FIELD OF THE INVENTION
This invention is related to computers and computer systems and particularly to a method and system for use of the World Wide Web and other sources of information and for utilization of existing equipment advantageously for web server data access
over networks and the Internet.
RELATED APPLICATIONS
This application entitled "A Method for Distributed Task Fulfillment of Web Browser Requests", is related to other United States of America Patent applications filed concurrently herewith, and specifically to the applications entitled "Computer
Network for WWW Server Data Access over Internet", U.S. Ser. No. 08/474,571, filed Jun. 7, 1995, pending; and "A Service Agent for Fulfilling requests of a Web Browser", U.S. Ser. No. 08/474,576, filed Jun. 7, 1995, pending; and "A Sub-Agent
Service Agent for Fulfilling Requests of a Web Browser", U.S. Ser. No. 08/474,575, filed Jun. 7, 1995 pending; and "A Web Browser System", U.S. Ser. No. 08/479,481, filed Jun. 7 1995 pending; and "A Method for Fulfilling Requests of a Web Browser"
U.S. Ser. No. 08/474,572, filed Jun. 7, 1995 pending.
These applications have a common assignee, International Business Machines Corporation, Armonk, N.Y.
GLOSSARY OF TERMS
While dictionary meanings are also implied by certain terms used here, the following glossary of some terms may be useful.
World Wide Web (WWW) The Internet's application that lets people seeking information on the Internet switch from server to server and database to database by clinking on highlighted words or phrases of interest. An Internet WWW server supports
clients and provides information.
Home page A multi-media table of contents that guides a web user to stored information about an organization on the Internet.
Gopher A menu-based search scheme, which as developed at the University of Minnesota, lets a user reach a destination on the Internet by selecting items from a series of text menus.
Access Agent A logical component that provides support for different access protocols and data streams--Frame Relay, HDLC (High Data Link Control) CBO (Continuous bit Operations, ATM (Asynchronous Transfer Mode), or TCP/IP.
Application Processing Agent A data processing agent running in a server data processing system which performs tasks based on received requests from a client in a distributed environment. In our preferred embodiment, our application processing
agent for database retrieval is our DIS server, a data interpretation system server and database gateway which is coupled to our web server HTTPD via a network. In our preferred embodiment an application processing agent employs executable object
programs as command file objects, which in the preferred embodiment are capsule objects.
Client A client is a computer serviced by the server which provides commands to the server.
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 object. A capsule object is a specialized form of a command file (which is a list of commands
to be executed, as in an EXEC or *.BAT batch file. The capsule object is created with an object environment, as is supplied by IBM's DIS. Other object environments are IBM's SOM and DSOM, and Microsoft's COM environment.
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 server.
Slip or PPP connection. Serial-line Internet protocol and point-to-point protocol, respectively, for providing a full access connection for a computer to the Internet.
TCP/IP Transmission control protocol/Internet protocol. A packet switching scheme the Internet uses to chop, route, and reconstruct the data it handles, from e-mail to video.
InterNetwork Routing (INR) The link between systems which routes data from one physical unit to another according to the applicable protocol. The protocol will employ a URL address for Internet 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 others. They can be accessed with a Hyperlink.
Web browser An program running on a computer that acts as an Internet tour guide, complete with pictorial desktops, directories and search tools used when a user "surfs" the Internet. In this application the Web browser is a client service which
communicates with the World Wide Web.
HTTPD An IBM OS/2 Web Server or other server having Hypertext Markup Language and Common Gateway Interface. In our preferred embodiment, the HTTPD incorporates our control program agent and is supported by an access agent which provides the
hardware connections to machines on the intranet and access to the Internet, such as TCP/IP couplings.
HTTP Hypertext transfer protocol Hypertext transfer protocol. At the beginning of a URL "http:" indicates the file contains hyperlinks.
Hyperlink A network address embedded in a word, phrase, icon or picture that is activated when you select the highlighted tidbit. Information about that item is currently retrieved to the client supporting a Web browser.
HyperText Markup Language (HTML) HTML is the language used by Web servers to create and connect documents that are viewed by Web clients. HTML uses Hypertext documents. Other uses of Hypertext documents are described in U.S. Pat. Nos.
5,204,947, granted Apr. 20, 1993 to Bernstein et al.; 5,297,249, granted Mar. 22, 1994 to Bernstein et al.; 5,355,472, granted Oct. 11, 1994 to Lewis; all of which are assigned to International Business Machines Corporation, and which are referenced
herein.
BACKGROUND OF THE INVENTION
The Internet is not a single network, it has no owner or controller, but is an unruly network of networks, a 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 pad of the network available from outside a "firewall" surrounding the intranet is part of the agreed connection to the Internet. The composite network represented
by these networks relies on no single transmission medium, bi-directional communication can occur via satellite links, fiberoptic 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, everything looks local, but the access to the network does cost time and line charges.
Until recently, "cruising or surfing" the Internet was a disorienting, even infuriating experience, something like trying to navigate without charts. The World Wide Web, a sub-network of the Internet, introduced about two years ago, made it
easier by letting people jump from one server to another simply by selecting a highlighted word, picture or icon (a program object representation) about which they want more information--a maneuver known as a "hyperlink". In order to explore the WWW
today, the user loads a special navigation program, called a "Web browser" onto his computer. While there are several versions of Web browsers, IBM's example is the new WebExplorer which offers users of IBM's 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 IBM for OS/2 Warp called the IBM Internet Connection, lets users log onto the Internet.
To this point the World Wide Web (Web) provided by Internet has been used in industry predominately as a means of communication, advertisement, and placement of orders. As background for our invention there now exists a number of Internet
browsers. Common examples are NetScape, Mosaic and IBM's Web Explorer. Browsers allow a user of a client to access servers located throughout the world for information which is stored therein and provided to the client by the server by sending files or
data packs to the requesting client from the server's resources. An example of such a request might be something called GSQL (get SQL) which was a NCSA language and CGI server program developed to getting textual results for a client caller. Developed
by Jason Ng at the University of Illinois, this document provided a way to map SQL forms against a database, and return the textual results to the client caller. This system is unlike the present invention, and presents difficulties which are overcome
by our described system.
These servers act as a kind of Application Processing Agent, or (as they may be referred to) an "intelligent agent", by receiving a function request from a client in response to which the server which performs tasks, the function, based on
received requests from a client in a distributed environment. This function shipping concept in a distributed environment was first illustrated by CICS as a result of the invention described in U.S. Pat. No. 4,274,139 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.
Now, "surfing" the Internet with the WWW is still a time consuming affair, and the information received is not generally useful in the form presented. Even with 14,400 baud connection to the Internet much line time is tied up in just keeping
going an access to the Internet, and the users don't generally know where to go. Furthermore the coupling of resources available on a Company's intranet and those available on the Internet has not been resolved. There is a need to reduce gateways, make
better use of existing equipment, and allow greater and more effective usage of information which is resident in many different databases on many different servers, not only within a homogeneous network but also via the Internet and heterogeneous network
systems.
The problems with creating access to the world via the Internet and still to allow internal access to databases has been enormous. However, the need for a system which can be used across machines and operating systems and differing gateways is
strongly felt by users of the Internet today. Anyone who has spent hours at a WWW browser doing simple task knows how difficult it still is to navigate thorough arcane rules without knowing where to go and even if you know what you are doing spending
hours doing routine tasks. Many needs exist. As one important instance, until now we know of no way to access data on multiple databases of different types using a single user request from a client. This and other difficulties are solved by our
invention.
SUMMARY OF THE INVENTION
In accordance with our invention needless user intervention is eliminate or greatly reduced with a Web server supports an HTTPD which is provided with the capabilities of our control program agent which organizes sub-agents supporting command
file objects or capsules to perform tasks in support of a Web browser's request for service as programmable functions receiving parameters as input and providing as their output handled by the control :program agent task completed results for reporting
in accordance with the Web browser request in the form and to the location determined by a request and handling these request without needless user intervention.
In accordance with our invention, we have created a way to allow Web users to request information that is created by a data interpretation system (DIS) and then presented by a web server to the user of the web. Our solution provides a way of
requesting and processing and presenting 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, such as a graphical format. Our solution permits users
to access information from various sources and obtain information at a desired location as a result of a single request which is responded to by an organization of facilities and command 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 managed by the web support services we provide, and in a form consistent with the request, but without requiring a consistent interface solution.
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 on the Web by the Web server. In our preferred embodiment, we have provided a link between a Hypertext Markup Language (HTML) document using a common gateway
interface, and open data interpretation system server (ODAS). As a result, Web clients can request DIS reports to be generated, specify the parameters to be used in generating the reports, and then view the report results on a Web home page. The DIS
capsule can generate graphical information, such as colored pie charts, line graphs, bar graphs, and other forms of generated information. Since the Web server is capably of presenting the results in desired formats, the full capabilities of a DIS
report are utilized.
Our invention provides a method and system for allowing a user of a client to access and assemble information structured and reported to the user in accordance with his desires, selecting information for disparate servers which are located within
a network can be an intranet or internal network, such as a LAN or WAN not normally accessible to the Internet, or coupled to the Internet. In accordance with our invention one can access data on multiple databases of different types using a single user
request from a client. We also allow the facility for providing specialized specific requests to be created for routine use, as well as the facility to formulate generalized or specialized ad hoc requests. In addition, we provide besides query and
update capability, the ability to perform calculations with respect to any retrieved data, to format the information in text or in graphics, and the facility of presenting the results to the client for display or other use.
The improvements which we have made achieve a means for accepting Web client requests for information, obtaining data from one or more databases which may be located on multiple platforms at different physical locations on an Internet or on the
Internet, processing that data into meaningful information, and presenting that information to the Web client in a text or graphics display as a location specified by the request.
Our invention of providing a web server with a control program agent allows organization if decision support functions to be executed by application processing agent servers located throughout the Internet 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.
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 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 pad
of the application processing agent and the decision support function is programmable and generated by a data interpretation system, DIS or other decision support element performing similar functions, and provided in a form accessible to our control
program agent which presents the output generated to be presented to the user on the Web who made the initial request. We have provided, in a preferred embodiment, a link between IBM's Hypertext Markup Language (HTML), the Common Gateway Interface
(CGI), and the Open DIS Access Server (ODAS), all of which may be used on machines which are are commercially available from IBM. In order to write additional functions which develop our invention, the reader is referred to the Medaphor Data
Interpretation System publication "Developing Applications with OpenDIS Access Service, Version 2.0, available from IBM, First Edition (September 1994) Part Number 315-0002-01 which is incorporated herein by reference.
Our improvements relating to our control program agent is in accordance with our preferred embodiment is normally installed on an IBM HTTPD which is an IBM 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 agent and is supported by an access agent which provides the hardware connections to machines on the intranet and access to the Internet, such as TCP/IP couplings. The
hardware for the Web server is thus a workstation, such as IBM's PS/2 model 80 with OS/2. However, the HTTPD can be installed in PCs and upwardly also in machines which range across IBM's line of computers from powerful personal computers to mainframe
systems which support MVS, IBM's operating system which enables multiple kinds of operating systems, including "UNIX" to co-exist on a single platform. As a result of our invention Web clients can request DIS reports to be generated by the application
processing agent 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 the functions which can
be created by a DIS capsule can be utilized by a user of our invention.
According to our improved method, an Internet World Wide Web user connects to a Web server through the use of a Web browser. In accordance with our preferred embodiment, we use HTML as the language used by Web servers to create and connect
documents that are viewed by Web clients. HTML is an example of a hypertext language having the facility of clicking on a highlighted word, string of words, or image in order to move to another HTML document or invoke a program on the server. An
example of a Web client would be a machine used by a person using IBM's Web Explorer product. In using our invention a user 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 executes a program when it is referred to by a Web client via a control program agent resident, preferably, in a Web server.
The Web client selects the information that they wish to view by using the HTML created page, the Web server takes the client request and passes it to a C program 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 use of the Common Gateway Interface (CGI). When a program is referenced by the HTML, any parameters are passed to the program and it is executed. In our
preferred embodiment we have used CGI to invoke programs that we have developed that will interface with the DIS product. CGI is an example of a software gateway from a Web server to programs outside the Web server application.
The control program agent that is called in this instance by the Web server through the CGI interface, passes the Web client request along to a data interpretation system DIS via a Open Dis Access Sewer (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 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.
After DIS creates a file that contains the formatted report results, our control program agents program dynamic | | |