A method for fulfilling requests of a web browser
21 claims: 1 independent, 20 dependent
- 1Verfahren zur Ausführung von Anforderungen eines Web- Browser-Client, enthaltend die folgenden Schritte:Anzeigen eines HTML-Dokuments an den Web-Browser (10);Aufrufen eines Steuerprogramm-Agenten;Empfangen von Daten, die vom Anwender aus dem HTML-Dokument eingegeben wurden, und Leiten der vom Anwender eingegebenen Daten an den Steuerprogrammagenten bei Aufrufen als Eingabe-Prameter;Anwenden eines Anwendungsprogrammierschnittstellen-(API) Satzes zum Aufrufen ausführbarer Befehlsdateien und Programme, die über ein zugeordnetes Befehlsdateiobjekt zugängig sind.
- 2Ein Verfahren zur Ausführung von Anforderungen gemäß Anspruch 1, in dem die Eingabeparameter Daten aus dem HTML- Dokument enthalten, die auf den Steuerprogrammagenten Bezug haben.
- 3Ein Verfahren zur Ausführung von Anforderungen gemäß Anspruch 1, in dem der Schritt des Empfangens von Daten, die vom Anwender aus dem HTML-Dokument eingegeben wurden, und Weiterleiten der vom Anwender eingegebenen Daten an den Steuerprogrammagenten bei Aufruf als Eingabeparameter an den Steuerprogramm-Agenten, die vom HTML-Dokument zurückgegeben wurden, beinhaltet eine Identifizierung einer Befehlsdatei zum Aufrufen, den Namen der Datei enthaltend die HTML-Anweisungen, die beim Aufbau eines HTML-Dokuments anzuwenden sind, das von der Anforderung angeforderte Ergebnisse berichtet, und den angeforderten Dateityp, sowie die Fragedaten aus dem HTML-Dokument, die sich auf den Steuerprogrammagenten bezogen.
- 4Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem der Schritt der Weiterleitung von Daten aus dem HTML-Dokument, das sich auf den Steuerprogrammagenten bezog, beinhaltet das Weiterleiten von Daten, die vom Anwender ausgewählte Werte und/oder von einem HTML-Dokument-Formgestalter ausgewählte Vorgabewerte enthalten, die in ein Befehlsdateiprogramm vor dessen Ausführung gesetzt werden, wobei alle Daten in einer Pufferumgebung gespeichert sind und durch das Befehlsdateiprogramm und/oder den Steuerprogramm-Agenten zugreifbar sind und benutzt werden, um Variable für das Befehlsdateiprogramm festzusetzen.
- 5Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Während der Verarbeitung durch den Steuerprogramm-Agenten das Vorsehen von Setups für vorkommende API-Aufrufe.
- 6Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Mit den Variableninformationen, die jetzt in einem Puffer gespeichert sind, von einem Speicher mit dem Steuerprogrammagenten das Abrufen von Befehlsdateien und die jeder Befehlsdatei zugeordneten Variablen-Namen, und das Laden der verfügbaren Befehlsdateinamen und die jeder Befehlsdatei zugeordneten Variablennamen in einen dem Steuerprogramm zugeordneten Speicher.
- 7Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Initialisieren mit dem Steuerprogramm-Agenten einer Verbindung zwischen dem Steuerprogramm-Agenten und einer API.
- 8Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Sobald eine Befehlsdatei in den Speicher für den Steuerprogramm-Agenten geladen ist, ruft der Steuerprogramm-Agent von seinem Speicher die Befehlsvariablennamen ab, die dem Befehlsdateinamen zugeordnet sind, der beim Aufruf des Steuerprogramm-Agenten auf den Steuerprogramm-Agenten übergegangen ist.
- 9Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Anschließend Erzeugen, mit dem Steuerprogrammagenten, einer Datenmatrix, die in dem Steuerprogrammspeicher abgespeichert wird, der die Steuerdatei-Variablennamen und die Werte für diese enthält, die während der erstanfänglichen Datenabrufschritte auf den Steuerprogramm- Agenten übergegangen waren, um die Steuerdatei- Variablennamen den Daten anzupassen, die als Variableninformationsdatenwerte auf den Steuerprogramm- Agenten übergegangen waren.
- 10Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Anschließend, als Vorbereitung für einen Bericht, erstellt der erstellende Programmbefehls-Agent einen unverwechselbaren Dateinamen, der von den Variablen des HTML-Dokuments ausgehende Daten beinhalten kann, die in einem früheren Schritt (Schritt 112) gespeichert wurden, und der an die Befehlsdatei als eine Befehlsdateivariable weitergegeben wird zum Verwenden beim Benamen des Berichts, der von der Befehlsdatei erstellt wird, wobei als Ergebnis die Befehlsdatei diese Datei mit dem unverwechselbaren Dateinamen während ihrer Bearbeitung erstellen wird.
- 11Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Anschließend werden, im Vorgriff auf die Ausführung der Befehlsdatei, die Werte der von der Befehlsdatei benutzten Variablen aus der Datenmatrix im Steuerprogrammspeicher erhalten, der die Befehlsdateinamen und die Werte für dieselben enthält, die an den Steuerprogramm-Agenten in dem Schritt gegeben wurden, der die Parameter für die Abfragedaten aus dem HTML-Dokument liefert, das sich auf den Steuerprogramm-Agenten bezieht, der die vom Anwender gewählten und/oder die vorgegebenen Daten enthält, die von einem HTML-Dokument-Formgestalter in ein Befehlsdateiprogramm vor dessen Ausführung gesetzt werden, und dabei die API benutzt, um die Befehlsdateivariablenwerte zu setzen.
- 12Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Anschließend, unter Benutzung einer API, Abfragen und Bestimmen der Größe einer Warteschlange für angeforderte Jobs, und Vergleichen, ob deren Größe eine gegebene Schwellenzahl angeforderter Jobs überschritten hat, und wenn so, Eintreten in eine Wartezustandsschleife zum Warten und wiederholten Vergleichen, ob die Größe noch immer die vorgegebene Schwellenzahl der angeforderten Jobs überschreitet, bis die Warteschlangengröße auf unterhalb dieser Schwellenwerthöhe gefallen ist, und dann, an diesem Punkt, Benutzen der API zum Vorlegen einer Befehlsdatei zur Ausführung.
- 13Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Nachdem die API die Befehlsdatei zur Ausführung durch einen Unteragenten vorgelegt hat, tritt der Steuerprogramm-Agent in einen Wartezustand in Erwartung der Ausführung der Befehlsdatei durch den Unteragenten ein.
- 14Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Während des Wartezustands auf die Ausführung der Befehlsdatei, Bearbeitung anderer Anforderungen durch den Steuerprogramm-Agenten als Fließbandverarbeitung, so dass der Steuerprogramm-Agent kontinuierlich Anforderungen durch das System schiebt.
- 15Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Während des Wartezustands auf die Ausführung der Befehlsdatei, Benutzen der API, um nach einem Abschlusssignal für die Abarbeitung der Befehlsdatei zu suchen, und wenn dieses Abschlusssignal empfangen wird, liest der Steuerprogramm-Agent die Datei, die durch den Namen identifiziert wird, der dem Steuerprogramm im vorhergehenden Schritt übergeben würde, der die HTML- Anweisungen enthält, die mit dem Ergebnisbericht der Befehlsdatei übergeben werden sollen.
- 16Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Mit dem Steuerprogramm-Agenten Prüfen, welche Art Bericht erstellt werden muss, durch Einholen der Informationen von den gespeicherten Variablen und Identifizieren der Ausgabeparameter und Verzweigen zu der Sequenz, die auf die zu erstellende Berichtsart anwendbar ist.
- 17Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Wo ein Ausgang zu einem von einem Anforderer gewählten Ergebnisausgang geführt werden kann, der aus einer Gruppe möglicher Ausgangseinheiten gewählt wird, enthaltend Fax, Drucker, Einzelverkaufs- oder Bankeinrichtung, oder vorgesehen ist als eine Reihe von Vollkino-Videos oder Standbildern, die auf Anzeigevorrichtungen, einschließlich Fernseheinheiten übertragen werden unter der Steuerung seitens der Endanwender mit einer Set-top Box Kabelsteuerung.
- 18Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Wo ein Ausgang geführt wird zu einem von einem Anforderer gewählten Ausgangszielort-Server mit einer CPU, einem Netzwerk-Zf-Bus, Disks, Modems, und X.25 Datenschalter, die Hardware vorsieht zum Führen des Ausgangs zu einer Vielzahl von Ausgangsvorrichtungen, einschließlich Fax, Drucker, Einzelhandel-Terminal, Bankmaschine, TV oder Kabel-Kunden über den Server, mit Vollfilm- und Standbild-Video, die mit MPEG 2 und MPEG 1 Protokollbildern an Abonnenten geliefert werden.
- 19Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Koppeln des Ausgangs an eine Hilfsfunktion, einschließlich Back-up-Speicherung und Abrechnungsprozesse, die die Belastung für Systemnutzung und Service-Berechnungen für angeforderte Dienstleistungen und Gegenstände ermöglichen.
- 20Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Hilfsfunktionen, die verborgene Variable benutzen, die Anforderungen einschließlich Berechtigungsbelastungs- Variablen, einschließlich Kreditkartennummern und Passwörtern zugeordnet sind.
- 21Ein Verfahren zum Ausführen von Anforderungen gemäß Anspruch 1, in dem die Schritte ferner enthalten:Kreditkartennummer, vorzugsweise verschlüsselt mit einer DES- oder RSA-Verschlüsselungsvorrichtung, und das zusammen mit Zugriffsberechtigungs-Variablen den Zugriff auf empfindliche Datenbanken ermöglicht, die hinter Firewalls resident sind.
Independent claims21
138 paragraphs in 10 sections, as filed
Copyright permission
Part of the disclosure of the present patent document contains material that is protected by copyright. The owner, International Business Machines Corporation, has no objection to the facsimile reproduction of any of the patent disclosures, as it appears in the records or records of a patent office and trademark office of a country, but otherwise reserves all rights.
FIELD OF THE INVENTION
The present invention relates to computers and computer systems, and more particularly to a method and system for use in the World Wide Web and other information sources and for the advantageous use of existing devices for web server data access over networks and the Internet.
RELIABLE APPLICATIONS
The present application entitled "A Web Browser System" is related to other United States patent applications filed concurrently, and in particular to the applications "Computer Network for WWW Server Data Access over Internet" A-0747845, and A Service Agent for Full Filling Requests of a Web Browser, USSN 08 / 474,576, filed on June 1995; and "A Sub-Agent Service Agent for Fulfilling Requests of a Web Browser", EP-A-0747841; and A Method for Fulfilling Requests of a Web Browser, EP-A-0747843; and "A Method for Distributed Task Fulfillment of Web Browser Requests", EP-A-0747844.
These patent applications have a common owner, International Business Machines Corporation, Armonk, New York.
GLOSSARY
Although meanings mentioned in the dictionary are assumed, the following list of certain technical terms may be useful.
World Wide Web (WWW)
The application of the Internet, which allows people searching for information on the Internet to switch from server to server and database to database by clicking highlighted words or phrases of interest. An Internet WWW server supports clients and provides information.
Homepage
A multimedia table of contents that guides a web user to stored information about an organization on the Internet.
Gopher
A menu-based search scheme that, as developed at the University of Minnesota, gives the user the ability to navigate a destination on the Internet by selecting items from a series of text menus.
Access Agent - Access Agent
A logical component that supports 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 - Application Processing Agent
A data processing agent running in a server data processing system that performs tasks based on requests received from a client in a distributed environment. In our preferred embodiment, our database processing application processing agent is our DIS server, a data interpretation system server and database gateway coupled to our web server HTTPD over a network. In our preferred embodiment, an application processing agent uses executable object programs as instruction file objects, which in the preferred embodiment are capsule objects.
client
A client is a server-served machine that issues the commands to the server.
Data Interpretation System (DIS) - data interpretation system IBM object-oriented decision support tool.
Capsule - 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 execute, such as in an EXEC or * .BAT file). The capsule object is created in an object environment as supplied by IBM DIS. Other object environments include SOM and DSOM from IBM and the Microsoft COM environment.
Internet
The connection system interconnecting computer worldwide in a network.
server
A machine that supports one or more clients and is part of the Web. Each computer that performs a task on behalf of another computer is a server.
Slip or PPP merger.
Serial line internet protocol, and point-to-point protocol for providing a full access connection for connecting a computer to the Internet.
TCP / IP
Transmission Control Protocol / Internet Protocol. A packet switching scheme that uses the Internet to hack the data it processes, route it from email to video, and restore it.
InterNetwork Routing (INR) - Inter-network routing
The link between systems that carry data from one physical entity to another according to the applicable protocol. The protocol uses a URL for Internet sites.
URL
Universal Resource Locator, a web document version of an e-mail address. URLs are very bulky when used for documents buried deep in other documents. They can be accessed with a hyperlink.
Web browser
A computer-run program that acts as an Internet guide, complete with pictorial workplace displays, subdirectories, and search tools used when a user "surfs" the Internet. In this application, the web browser acts as a client service provider communicating with the World Wide Web.
HTTPD
An IBM OS / 2 Web server or other server that has hypertext markup language and common gateway interface. In our preferred embodiment, HTTPD includes our control program agent and is supported by an access agent who can access the hardware ports with machines on the intranet and access to the Internet, such as the Internet. B. TCP / IP couplings manufactures.
HTTP Hypertext Transfer Protocol - hypertext transfer protocol
At the beginning of a URL, "http" indicates that the file contains hyperlinks.
hyperlink
A network address embedded in a word, phrase, icon, or image that activates when you select the highlighted tidbit ("delicacy"). Information about this point is continuously retrieved for the client supporting a web browser.
Hypertext Markup Language (HTML)
HTML is the language used by web servers to create and connect documents viewed by web clients. HTML uses hypertext documents. Other uses of hypertext documents are described in U.S. Patents 5,204,947, issued April 20, 1993 to Bernstein et al .; 5,297,249, issued on 22. March 1994 to Bernstein et al .; 5,355,472 issued to Lewis on October 11, 1994; all of which have been transferred to International Business Machines Corporation and are being attracted here.
BACKGROUND OF THE INVENTION AROUND THE ART
The Internet is not a single network, it has no owner or controller, but is a disorderly network of networks, a confederation of many different networks, public and private, big and small, that have come together and locked themselves together. An intranet is a limited network that can follow the internet protocol, but can not, or only partially access, this network from outside a "firewall" that surrounds the intranet, as far as this part subject to the agreed connection to the Internet. The composite network represented by these networks does not rely on only one transmission medium, bidirectional communication may be via satellite links, fiber optic links, telephone lines, cable TV lines, and local radio links. When your client computer logs onto the Internet from a university, a corporate office or home, everything looks local, but access to the network costs time and line fees.
Until recently, "cruising or surfing" on the Internet was a disorienting, even furious experience, like trying to navigate without nautical charts. The World Wide Web, a subnet of the Internet introduced about two years ago, made it easier to jump from one server to another by simply selecting a highlighted word, picture, or icon (program object representation) that you want to jump from one server to another wants more information - a maneuver known as "hyperlink". In order to explore the WWW today, the user loads a special navigation program called a "Web Browser" into his computer. There are several versions of web browsers, such as IBM's new WebExplorer, which provides the users of the IBM OS / 2 Warp system software with a consistent, easy-to-use desktop consisting of icons and pull-down menus. As part of a suite of integrated applications for OS / 2 Warp available at IBM, called the IBM Internet Connection, users can log in to the Internet.
In this context, the World Wide Web (Web) provided by the Internet has been used commercially primarily as a means of communication, publicity and contracting. As background for our invention there are now a number of internet browsers. Commonly known examples are NetScape, Mosaic, and the IBM Web Explorer. Browsers allow the user of a client to access servers distributed throughout the world to retrieve information stored therein and delivered to the requesting client by sending files or data packets from the resources of the server. An example of such a request could be, for example, something called GSQL (Get SQL - Retrieve SQL), which was an NCSA language and CGI server program designed to provide textual results to 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 text results to the client caller. This system has nothing to do with the system of the present invention and presents difficulties overcome by our described system.
These servers act as a kind of application processing agent or (as they may be termed) as a "smart agent" by receiving a request for function from a client in response to which the server performing the tasks performs the function based on a Client receives requests received in a distributed environment. This functional broadcasting concept in a distributed environment was first illustrated by CICS as a result of the invention described in US Patent 4,274,139 to Hodgkinson et al. is described. This type of feature, which is described by CICS and its enhancements, has been widely used in what is today called transaction processing. Although today's servers perform a number of functions, they do not allow us to perform the functions we have developed, as we will show.
Now, "surfing" the Internet with the WWW is still a time-consuming task, and the information obtained is generally not useful in the form it has received. Even at 14 400 baud for a connection to the Internet, only line maintenance time is consumed to maintain access to the Internet, and users generally do not know where to go. Furthermore, the coupling of resources available on a company's intranet to resources available on the Internet has not been resolved. There is a need to reduce gateways, make better use of existing devices, and allow more and more resident information to reside in many different databases in many different servers, not only in a homogeneous network, but also over the Internet and heterogeneous network systems.
The problems of creating access to the world over the Internet and yet allowing internal access to databases has been enormous. However, today's Internet users are well aware of the need for a system that extends across machines and operating systems and different gateways. Anyone who has spent hours on a WWW browser performing simple tasks knows how difficult it is to navigate mysterious rules without knowing where to go and knowing what to do. Spend hours performing routine tasks. There are many needs. As an important example, we do not yet know of any way how to get access to data in multiple databases of different types by using a single user request from a client. These and other difficulties are solved by our invention.
SUMMARY OF THE INVENTIONS
In accordance with our invention, superfluous user intervention is eliminated or greatly reduced with a web server supporting an HTTPD provided with the capabilities of our Control Agent Agent, which organizes subagents that support command file objects or capsules to perform tasks in support of a web browser service request as programmable functions, take the parameters as input and deliver them as their output, handled by the results of the completed control agent task for reporting according to the web browser request in the form and location specified by a request, and those requests without treated unnecessary user intervention.
In accordance with our invention, we have created a way to allow web users to request information generated by a data interpretation system (DIS) to be presented by a web server to the user of the web. Our solution provides a way to request, edit and submit information on the web. The process retrieves data from multiple sources that can be located remotely and routed through intranet routing and the Web and processed through our decision support capsules. Now companies and universities and other users who want to access data stored in different databases want to have this data processed and formatted and presented in a form that the user desires, such as: B. in a graphic format. Our solution allows users to access information from multiple sources and receive information at a desired location as a result of a single request responded to by an organization of devices and command file subagent decision support capsule objects by our program agent. Users of the information can be inside a company or even from the outside. The result may be provided to a user at a location within or external to a company, and as specified, delivered to a particular location in a desired form and format. This allows a report to be generated by the network support services we provide and in the form that is consistent with the requirement, but without requiring a consistent interface solution.
To provide the web user with a way to request the generation of information, in each web server, we provide a control program agent that is connected to a decision support tool of a data interpretation system server, the application processing agent, and then causes that server to provide information retrieves, edits and formats that are presented to the user by the web server on the web. In our preferred embodiment, we have provided a link between a hypertext markup language (HTML) document using a common gateway interface and an Open Data Interpretation System (ODAS). As a result, web clients can request generating DIS reports that specify when to generate reports on parameters to be used, and then view the report results in a web home page. The DIS capsule can generate graphical information, such as: Colored pie charts, line charts, bar charts, and other forms of generated information. Since the web server is able to display the results in desired formats, the full potential of a DIS report is exhausted.
Our invention provides a method and system for enabling a user of a client to access and structure information in a structured manner and to report to the user his or her desire to select information for various servers located in a network, be it an intranet or an internal network, such as a LAN or WAN, that are generally inaccessible to the Internet, or that are connected to the Internet. In accordance with our invention, a single user request from a client may access data on multiple databases of different types. We also allow the ability to deliver specialized, special requirements that are specially generated for routine use, as well as the ability to formulate generalized or specialized ad hoc requests. In addition to requests and updatability, we also provide the ability to perform calculations on the retrieved data, formatting the information as text or graphics, and the ability to present the results to the client for display or other use.
These improvements we have made provide a means for receiving web client information requests, obtaining data from one or more databases that may be located on multiple platforms at different physical locations on an intranet or the Internet, processing that data into meaningful information , and delivering this information to the web client in a text or graphics display in one place, specified by the requirement.
Our invention of providing a web server with a control agent agent enables the organization of decision support functions performed by application processing agent servers distributed over the Internet to gather and deliver information that has hitherto been available without the need for existing resources endless interventions by a requesting user of the WWW are not directly accessible, and the ability for a common user to take advantage of the expertise provided by the programmable sub-agents, developed by those with particular expertise in a given field, as well as the possibility of applying standard routines that are commonly needed.
These enhancements are achieved by the possibility that the web clients request information from an application processing agent in which the application processing agent server performs tasks based on the requests received from a client in a distributed environment by a web server owned by an access agent Link and a control program agent, which in turn causes a decision support function is executed by the application processing agent server. This is done within the distributed environment by the application processing agent server, which is part of a network coupled to and controlled by the control program agent. According to our invention, the decision support function is provided by a data interpretation system functioning as part of the application processing agent and the decision support function is programmable and generated by a data interpretation system, DIS or other decision support element performing similar functions and provided in a form to which ours Control agent can access the output, generated for presentation to the user presented to the user on the web that made the original request. In a preferred embodiment, we have provided a link between IBM's Hypertext Markup Language (HTML), the Common Gateway Interface (CGI), and the OpenDIS Access Server (ODAS - OpenDIS Access Server), all of which use machines can be obtained from IBM. In order to write additional features that develop our invention, the reader is referred to the publication in Medaphor Data Interpretation System "Developing Applications with OpenDIS Access Service", Version 2.0, available at IBM, First Edition (September 1994) Part No. 315-0002-01.
Our enhancements related to our Control Agent are in line with our preferred embodiment and are typically installed on an IBM HTTPD that is an IBM OS / 2 Web server or other Hypertext Markup Language and Common Gateway server Interface is. In our preferred embodiment, HTTPD includes our Control Program Agent and is supported by an access agent, hardware connections to intranet machines, and access to the Internet, such as Internet access. B. TCP / IP couplings, provides. The hardware for the web server is thus a workstation, such as IBM PS / 2 Model 80 with OS / 2. However, HTTPD can be installed in PCs and higher, even in machines that span across the IBM computer production line from powerful personal computers to mainframe systems that support MVS, the IBM operating system that supports multiple types of operating systems, including UNIX. in coexistence on a single platform. As a result of our invention, web clients may request DIS reports when generated by the application processing agent, specifying the parameters to be used in generating the reports, and then obtain as a result of the request a result that is visible or otherwise for use by the requestor User is placed on a web page. Our machine implementation allows a user who has DIS access to generate graphical information such as: As colored pie charts, line graphs, bar graphs, etc. Since web browser, such. For example, IBM Web Explorer, capable of displaying these formats, any functions that may be created by a DIS capsule may also be used by a user of our invention.
In accordance with our improved method, a World Wide Web Internet user connects to a web server by using a web browser. In our preferred embodiment, we use HTML as the language used by web servers to create and connect documents seen by web clients. HTML is an example of a hypertext language that provides the ability to click a highlighted word, string, or image to jump to another HTML document, or to 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. By applying our invention, a user can click on the hypertext in a document to address a function provided by an application processing agent server. The user can connect to another document that is on a different web server. HTML commands are used to attract other documents. HTML is used to hook up to programs that are ready on a server to transfer parameters to these documents. The application processing agent server processes a program when it is attracted by a web client via a control program agent, preferably resident in a web server.
The web client selects the information one wants to see, using the HTML created page, the web server accepts the client request and passes it to a C program implementation of our control program agent. Web server, such as For example, HTTPD for OS / 2, with our control agent agents, are able to access executable programs through the use of the Common Gateway Interface (CGI). When a program is attracted to HTML, all parameters are transferred to the program and it is executed. In our preferred embodiment, we have used CGI to call programs we have developed that are interfaced with the DIS product. CGI is an example of a software gateway from a web server to a program outside the web server application.
The Control Agent, which in this example is called by the Web server through the CGI interface, passes the Web client request via an OpenDIS Access Server (ODAS) to a Data Interpretation System DIS. ODAS is a feature of the data interpretation system DIS that allows DIS functions such B. initialize calls to DIS capsules. Our control agent agents interface with DIS via ODAS to submit DIS capsules for execution. DIS capsules are basically programs that create DIS application programmers with the DIS programming language. In accordance with our invention, we have written capsules that run as a DIS capsule on a server to retrieve data from one or more databases, process that data, and produce a report in one of many formats, which we will describe by way of example. After the DIS capsule finishes processing according to our preferred embodiment, the results generated during the execution of a capsule are stored in a file on the application processing server.
After DIS generates a file containing the formatted report results, our scheduler agent program dynamically generates HTML labels to put the formatted report back on the web client on the Internet. Our control agent agents can dynamically generate HTML commands using the CGI interface. In this way, a program can pass information to a web browser for the web client.
After the DIS capsule has generated the file that contains the report request results, the control program dynamically generates HTML statements that display the report results to the web browser.
Alternative means of presenting the data are shown by alternative routing. The user requesting the report may wish to have the report results sent to a different location in addition to, or instead of, displaying the report results to the web browser. This information during the request phase is provided. As a result of the alternative report request and according to the parameters shown there, the report results from the control program may be sent via electronic mail facilities, e.g. For example, TCP / IP Sendmail device and Lotus Notes can be sent to one or more Internet addresses. The report results can be sent as file and annotation. The request may require a spoken answer, which is routed to a voice response unit. Thus, with a call to a translator, the text can be converted into language and even translated along the way. The report results may also be sent to a fax machine or to a computer capable of receiving fax data.
We use these reporting concepts to place report files generated by DIS capsules on the web client display.
These and other improvements are explained in the following detailed description. For a better understanding of the invention with further advantages and features, reference is made to the description and the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
1 is a schematic diagram of an overview of the preferred embodiment, and particularly showing a typical distributed computing system having internal and external networks, including the Internet, for interconnecting clients to the World Wide Web servers and other servers within the system. where our invention is resident.
Fig. 2 shows a polling screen (home page) displayed on a client after the client is coupled via a web browser to its server (which may be an internet server).
Fig. 3 is a next screen illustrating how a request is made according to the wishes of a user, the request being made in accordance with our invention via an input screen shown.
Figure 4 is an exemplary result screen returned to the client after the requested service has been performed by the computer system network according to our invention formatted according to the instructions of a DIS capsule.
Figure 5 is a next screen illustrating how a request is made in accordance with the wishes of a user making a request in accordance with our invention by selecting from a menu and applying the image translation.
Fig. 6 is an example of a graphical display screen of the result returned to the client after execution of the requested service by the computer system network in accordance with our invention.
7 illustrates a flow chart illustrating the flow of data between a Web server and a decision support system tool, such as IBM's Data Interpretation System (DIS), as well as coupling a Web client to a Web server and coupling a request to execute a Web server DIS capsule and interfacing within the ODAS web server to a distributed DIS LAN with heterogeneous connections to multiple databases.
Fig. 8 illustrates as a flow chart the functions of the control program for the web server.
Fig. 9 exemplifies a DIS capsule that creates a text report file.
Fig. 10 exemplifies a DIS capsule that creates a graphics report file.
Figure 11 illustrates an alternate configuration of the network system as may be used to provide access to information available via the homepages and in data warehouses, with or without access to the home page or database being restricted by a firewall.
(Note: For the sake of simplicity of illustration, in the formal drawings, FIGURES may be shown separated into parts, and, by convention, we place the top of the figure as the first leaf, with the subsequent leaves looking down the figures and progressing horizontally, in the event that several leaves are used.)
Our detailed description exemplifies the preferred embodiments of our invention, together with the advantages and features with reference to the following drawings.
DETAILED DESCRIPTION OF THE INVENTION
Figure 1 illustrates an information delivery solution of a typical combination of system elements, including clients and servers, including personal computers or workstations as clients, and workstations for host server as servers. The various elements are interconnected by different networks including LANs, WANs and other networks, which may be internal SNA networks or other similar internal networks, and also provide access to the Internet connecting the system to the world via the Internet.
The preferred embodiment
Let us now turn to further details of our invention; In Fig. 1 it can be seen that our preferred embodiment provides a web browser 10 coupled to a web server 11. Our Internet WWW browser is an intelligent computer system, such as: For example, an IBM PS / 2 or another computer, an IBM ThinkPad, an RS / 6000 works just as well, and connections are made to the network through OS / 2 WARP Connect, an IBM product. The Internet Web browser in the smart computer system that performs the Web browser function has an IBM Web Explorer or NetScape or Mosaic installed. This computer system 10 is bidirectionally coupled to the OS / 2 WARP Connect device via line or over a wireless system with our preferred computer system, which we call our web server. This system is a PS / 2 or RS / 6000 or other similar system that includes our Control Program Agent 73 which will be discussed later. The web server 11 in our preferred embodiment is in turn bidirectionally coupled via a line or wirelessly to a computer system, such as a computer. B. a PS / 2 or RS / 6000 or other server supporting and executing the server function of the ODAS server 12 coupled to the distributed DIS network, shown here as LAN 13. ODAS 12 can work on the same server, such as B. the web server 11 or in a separate service machine, such. B. be housed in an IBM digital server. The web server is logically coupled via a network to our application processing agent server. We call our application processing agent server a DIS file server 14 because it contains a file interpretation system that supports the decision support features we provide, which today is provided very cheaply by an IBM computer system that supports OS / 2. In our preferred embodiment, the intranet network is a LAN. Thus, the components of the DIS LAN 13 include a DIS file server 14, a general purpose workstation 15 that can be used for capsule development, a local database server 16, a capsule server 17 for storing a plurality of DIS capsules, which are ready for the user, a database gateway server 18, which performs the gateway functions to access its related databases, these databases include geographically dispersed databases that z. B. in Chicago, New York, Dallas, Los Angeles, and each of them may be a differently supported database, such as: A DB2 database 19, an ORACLE database 20, a Sybase database 21, a Redbrick database 22. In our preferred embodiment, all servers are coupled to a conventional LAN or WAN link via a preferred IBM token ring, as shown , Reference should also be made to our alternative preferred embodiment, discussed below with reference to FIG.
Thus, in the context of the preferred embodiment of FIG. 1, as well as with respect to FIG. 11, it should be appreciated from the schematic overview illustrated in FIGS. 1 and 11 that our invention can be used in a distributed computing system environment that includes internal di Intranet networks, which in our preferred embodiment are represented as DIS network 13, and external networks, including the Internet, used to connect clients to World Wide Web servers and other servers in the system in which our invention is implemented. Our invention uses the whole network. The web browser 10 may make a request to the web server 11 to request a report. The web server 11 with the devices we provide causes the application processing agent, which includes our DIS server 14 and its supporting communication server, the database gateway server 18, to act as an agent to retrieve data from one or more of the plurality Databases, including the local database 16, DB2 database 19, ORACLE database 20, Sybase database 21, Redbrick database 22 to capture. Further details regarding the application of our invention for retrieving information from a plurality of databases are provided for the actions of the application processing agent functions of the database server 18 with reference to FIG. 7.
Thus, returning to our simplified and preferred embodiment, FIG. 2 shows a request screen (homepage) 29 in the form displayed on a client after the client is coupled by a web browser 10 to its server (the Internet Web server 11 can be). The entire screen contains information and a variety of objects. Once the homepage is shown with appropriate descriptive guidance, as shown in FIG. 2 For example, if the user wishes to make a special request in accordance with our invention, he could click on Picture 30. This would take the user to the next screen illustrated by FIG. Alternatively, by clicking on the image 31, the user could select another menu screen, which is shown by FIG. 5 is shown. Also at this point, a specialized format could be selected by double-clicking first on a format selection image illustrated by image objects representing access to menu screens 32, 33, 34, one or more of which is a gopher ,
The application of selecting an iconic image object is a function provided by HTML, and programmers who know that language can easily create variants of the images and functions that we have illustrated. Thus, the variants built into the drawings must be understood that can be created in this way using our examples, as well as extensions and combinations thereof.
Figure 3 is the next screen illustrating how to make a request according to the wishes of a user by making a request according to our invention with an input screen as shown becomes. The content of FIG. 3 is preformatted 40, except for the user inputs that must be entered in the data entry field 41. In this example, the input field 41 is a user ID. After the user has made an acceptable input in box 41, he clicks the statement key 42. The illustrated statement key is 'Enter Request'. At this point, the web server detects the user input information as described in FIG. It will be appreciated that the web server detects user input information including particular inputs as well as any "hidden" preference information that may include password permissions, debit account number identification, and other information that may be used by the system in responding to the request , Thus, the system may assume that the "hidden" password is authorized to perform some function, such as including information from confidential sources, or exit to the Internet. The authority to charge may also be tracked and summed up by the system as it parses its functions to reload reliable instructions. If a request means ordering a good, the requested goods can be delivered and billed with this information. Since these functions are "hidden", they do not appear in the figure, but are included in a request. The response to the request is illustrated in FIG.
4 is a screen with an exemplary result illustrating how an exemplary report that matches the requested results is presented to the client after the requested service is formatted by the computer system network according to our invention and the specifications of a DIS capsule is performed as exemplified in Fig. 9. In this example, a file was output whose file name at 43 is P81484. Informative text accompanying the file is included, as shown by exemplary information 44. The screen provides the content of the file 43 in the desired form of the pre-formatted text 50 in the form of a display of a textual report generated by a DIS capsule stored in the DIS server 17. We show the text as a form of the report results, but the request may also be another form of presentation, such as: A picture, a spoken answer or another multimedia presentation. Reports may be rendered as translation into any desired language based on the request, as may be provided by DIS capsule calls to a translator. These features are included in the result 50 report.
When the user selects an image by clicking on the image 32 in Fig. 2, Fig. 5 appears. Fig. 5 is a next screen illustrating how a request is made according to a user's wishes. In this case, a user makes a request for sales results within the organization for a YTD Catalog Revenue in accordance with our invention by inputting the text data into the data entry areas 41 and 42 of the formatted screen with information on the selected data type 40A, which is converted into specific report information produced by a DIS capsule.
Fig. 6 is an example result screen illustrating how the results of the request are sent to the client after the requested service has been performed by the computer system network in accordance with our invention, formatted according to the specifications of a DIS capsule. In this case, the selection of the object 32 leads to the screen of FIG. 5, which in turn has generated the output according to FIG. 9 together with the DIS capsule. DIS capsules are illustrated by examples in Figs. 9 and 10. In this example, the output of the DIS capsule illustrated in Fig. 10 is displayed on the screen as shown in Fig. 6. The screen contains a filename identifier, descriptive information 61, and preformatted text 60, which is the indication of said file P555119. This is the display of a graphical report showing what could (but is not) be considered confidential information regarding catalog earnings for 1995 YTD, with revenues in $ M and breakout in terms of HDW, SFW, PMV, MN and MNT from selected locations in Chicago, New York, Dallas, and Los Angeles, all of which are on different systems, and which, as shown in FIG. 1 can be stored on different databases, such as DB2, Oracle, and Sybase relational databases. This report was generated from a DIS capsule shown in FIG. This example illustrates how multiple actions can be performed on the retrieved informational material. In this example, data was translated into artwork by calculation and formatted in the form of a graphical pie chart. Other image data could also be displayed as still images of selected images, or as an image sequence in the form of a moving image display that can be output from a server, as described in FIG. 11.
Fig. 7 illustrates a flowchart showing a data flow between a web server and a decision support system tool, such as IBM's Data Interpretation System (DIS). Fig. 7 shows the coupling of a Web client 71 (corresponding to the Web browser 10 in Fig. 1) to a Web server 72 (corresponding to the Internet WWW server 11) and the coupling of a request for executing a DIS capsule ,
The web browser 71 may request a report by the application of the HTML from the web server 72. The HTML document refers to our Control Program Agent 73, which may be implemented in C language or any other language that may provide a run code for the particular Web server being used. We illustrate our preferred program according to the description shown in FIG. The web server 72 gives the request data to the CGI, and invokes our control program 73 through the application of the CGI according to our invention. The control program uses ODAS 74 in the ODAS server 12 to set the DIS capsule parameters and starts the execution of the DIS capsule, which in this embodiment is mounted in the DIS capsule server 17 according to our preferred example, illustrated in FIG. 9 and 10, sitting. Once a DIS capsule finishes processing, the file generated by the DIS capsule contains the formatted report results that the user requests. Our control program 73 dynamically generates the HTML statements that the file sends to the Web browser 10 screen. Fig. 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. Additional data sources can be connected to the LAN.
Interface of the preferred embodiment between server and DIS
Our preferred control program agent 73 is shown in detail in FIGS. 1 and 11 with reference to the flowchart in FIG. In our preferred embodiment, this program may be written in C or in any other suitable language, however, for a general understanding of the details, we will describe the steps in detail. These steps, after understanding the steps described below, may be implemented by commonly-available programmers without undue experimentation. The control program agent 73 is located in a web server and provides an interface and execution functions. Thus, in FIG. 11, the function between the web server 131 (corresponding to the internet web server 11 in FIG. 1) and DIS stored in a DIS server 133 (corresponding to the server 14 in FIG. 1), and for displaying the results in accordance with the instructions of the web browser 130 (corresponding to the browser 10 in Fig. 1) provided according to the request command, which is a return to the web browser homepage by default. This interface uses the web server CGI and the DIS ODAS in our preferred embodiment.
Before proceeding to the control program 73, it should be noted that in Fig. 11, the web browser 130 communicates with a web server 131 accessed on the Internet by a unique ID called the unified resource finder to access the node we call web server 131. When this access takes place, the web server 131 displays an HTML document to the web browser 130, as shown in FIG. Now the user makes his entries, as described with reference to FIG. Next, the HTML document refers to the control program agent 73, and the web server 131 calls our control program agent 73 through the application of the CGI. Web server 131 retrieves data entered by the user from the HTML document and passes that data on call to our control program agent 73.
The web server 131 has a gateway interface that allows the server to call a control program agent 73 running on it and pass the input parameters to the control program agent 73 (FIG. 8) from the hypertext document of the web Browser were returned. It should be noted that while our preferred example shows a single web server 131, the hypertext document locates the particular web server that supports the request made by checking the details of the "hidden" defaults and requested features can. Thus, a menu request for a generalized search by the Internet may locate the particular service machine with an application processing agent having the desired information. Once the control program 73 (FIG. 8) is called, the following steps programmed for the machine begin with a step 110 illustrated in FIG. In reviewing this preferred control agent, it should be noted that step 110 and step 111 are steps whose order is interchangeable and which receive variable environment data from the HTML document return.
Thus, step 110 invokes variable data of a PATH INFO environment. PATH INFO contains the data from the HTML document that referred the web server to our program. In particular, the data includes the name of the DIS capsule to invoke, the name of the file containing the HTML instructions to be used, used to construct the HTML document that displays the DIS capsule results to the Web browser, and the Type of file that will generate the DIS capsule. All data outside of this information is the variable data stored in step 112 in a buffer environment and used in the following steps.
Thus, the control program also proceeds to step 111, which may follow or proceed or may be continued in parallel with step 110 to obtain the variable environment data QUERY_STRING. QUERY_STRING contains data from the HTML document that relates the web server to our program. In particular, the data includes values provided by the user, and / or presets selected by the HTML document creator. These values are set by our program in the DIS capsule before the DIS capsule is executed. This information is used to set variables in the DIS capsule. All data outside this information is the variable data stored in a buffer environment in step 112 and used in subsequent steps.
In the discussion of the Control Program Agent illustrated in Figure 8, it should be noted that steps 112-125 involve the use of an API set that provides a method of invoking executable programs located in a service machine. which we refer to as a subagent performing in step 122 object capsules from our subagent DIS file server 14. It provides functions such as queuing and updating of databases on multiple platforms, and allows processing of data from a database for execution, including making calculations, formatting, debiting accounts, and saving results as a file to the control program Agents is accessible. During execution, our Control Agent Agent 73 provides setups for API calls that occur in the WHAT ARE THESE STEPS steps. Thus, the control program agent proceeds to step 113 as with an API set.
With the variable information now stored in a buffer, the control program now retrieves from a memory in step 113 all the DIS capsules that are used and the variable names associated with each DIS capsule, and loads the available DIS capsule names and the variable names associated with each DIS capsule in the memory associated with the control program.
At this point in step 114, the control program is ready for initialization, and initializes a connection between our control program and the ODAS using an ODAS API. In other environments, another API could be used that performs similar functions.
At this point, if required for control by the decision support system and as requested by DIS, the control program logs on the port or desktop for the associated user. So, in step 115, our control program agent 73 logs our DIS file server 14 on a DIS "desktop".
Once the DIS capsule information is loaded into the control program memory, the control program may retrieve from its memory at step 116 the DIS capsule variable names associated with the DIS capsule, and retrieve them, which in step 110 where PATH_INFO is provided to our Control program were passed.
Next, in step 117, the control program generates a data matrix which is stored in the control program memory containing the DIS capsule variable names and the values passed to our control program in step QUERY_STRING. These two steps 116 and 117 must be performed in this order, although steps 110 and 111 may have any order. At this point, in step 117, adjust the DIS capsule variable names to the data passed to the control program in the QUERY_STRING environment variables.
Next, in step 118, in preparation for a report, the program generates a unique file name, which may include data generated by the HTML document variables stored in step 112 (dashed line), as a DIS variable to go the DIS capsule to be used in calling the report generated by the DIS capsule. As a result, the DIS capsule creates this file with the unique filename during its process.
In anticipation of execution of the DIS capsule, the values of the variables used by the DIS capsule are obtained from the data matrix in the control program memory containing the DIS capsule variable names and the values for them that passed to our control program in the QUERY_STRING step , This is done in step 119 using the ODAS API to set the DIS capsule variable values. At this point, the capsule server 17 for the DIS server 133 attached to the web server 131 via the network 132 has a DIS capsule service queue. This queue is the queue for the jobs requested by the DIS capsule server 17. For the current job request (other requests may remain in the queue) we use the ODAS API to query the contents of the DIS capsule service queue. If the queue is longer (> t) than a certain threshold level, then the process goes into a wait state until the queue length is reduced to a bearable length. The queuing test in step 120 is a loop test that checks the queue length over and over until a response to the question "is the queue so long that execution can continue" (<t) is answered "YES."
Once the queuing test is answered YES, the ODAS API is used to present a DIS capsule for execution at step 121.
Once the ODAS API submits a DIS capsule for execution, the particular request process executed by the control program enters a wait state until the execution of the DIS capsule is complete. At this step in the process, the control program uses the ODAS API to await the execution of the DIS capsule performed by the DIS capsule execution 122. In the wait state, other requests may be processed by the control program as the requests are pipelined by the control program in this step 123 WAIT PIPE API, such that the control program continuously requests from the system.
In wait state 123, the ODAS API looks for a completion signal. As soon as this is done, the control program reads in step 124 the file identified by the name, which in the first step PATH_INFO was passed to the control program containing the HTML statements that must be presented with the DIS report results.
While in step 124 the control program reads the identified file, it dynamically generates new HTML instructions for displaying the preformatted text to the web browser. The new HTML statement contains the information retrieved from the file in step 113 so that it can be displayed as header 44 accompanying the report to be displayed, along with the file name 43.
Now, in step 125, the control program checks the report to be generated by retrieving the information from the stored variables and identifies output parameters, such as the number of stored variables. Whether the report should be a textual report or a graphic report. Here, the control program branches to the sequence that applies to the report to be generated. If the output needs to be routed to the web server 10, then the output is routed to the web server in step 126.
When a text file report is generated from the DIS capsule, it determines that a text display should be reported, and the control program reads the file generated by the DIS capsule and dynamically generates HTML instructions to display the data lines to the Web browser.
When a graphics file report is generated by the DIS capsule, it determines that a graphics display should be reported, and the control program dynamically generates the HTML statement to display the graphics file to the Web browser.
On the other hand, the control program agent allows for an alternative exit direction, and if the exit is of another type or an additional exit, such as an exit. For transmission, it may be routed to another destination. In step 127, we illustrate how, using the IBM digital server, the output can be routed to a requester selected result output selected from a group of possible source entities, including facsimile, printer, retail or banking facility, or provided as a series of full-cinema videos or still images displayed on display devices, such as B. A TV set can be transmitted under the control of the end user with a set-top box cable control. These devices are provided by routing the output of our Control Program Agent from the web server to the alternate output device 127. In this case, the IBM digital server with an RS / 6000 CPU, network IF bus, DISKs, modems, and X.25 data switches provides the hardware to route the output to a variety of output devices, such as fax, printer, retail, bank , TV or cable customers via the digital server service machine to full-screen and still video delivered to subscribers with MPEG 2 and MPEG 1 log images. Along the way, the output may be coupled to an auxiliary function, such as back-up or billing processes 128, which allows loading for system application and service charges for services and requested locations. These processes use covert variables associated with the request, such as: B. Load Approvals. One of the hidden variables that may be associated with a request is a credit card number. The credit card number is preferably encrypted with a DES or RSA encryption device, and this, together with the access authorization variables, allows access to sensitive databases resident behind firewalls. If, in accordance with this requirement, selected data is available to authorized users at the location inside or outside the Internet, the data may be included in the result that our system communicates to the Web browser.
Preferred embodiments of the text DIS capsule
According to the invention, an HTML document running on a web server refers to the control program agent. The web server then calls the control program agent. The control program agent has access to command files that provide the preferred file command objects in the form of DIS capsule objects, or DIS capsules, as they are called. The command file contains a list of available DIS capsules. Accordingly, there is no need for the HTML document to know how to get to the command file because the control program already provides that access. A capsule object, such as a DIS capsule, may invoke other routines that may be written in a well-known programming language, such as Visual Basic or C. These routines become part of the capsule object by hint, and these routines perform functions such as account tracking, compression, computation, handling of certain user exits such as video, voice, translation, and allow the capsule objects to be programmable. The capsule objects also have a standard object capability, and we will illustrate this using the specific examples given.
It will be seen that the control program 73, which is described in detail in Fig. 8, cooperates with the execution of the DIS capsule. The DIS capsule is an object program with executable additions that we have created to interact with the control program. It must also be understood here that the DIS capsule object can perform programmable functions on data retrieved from the databases. Not only can a DIS capsule get data, it can then also combine, reformat and update the retrieved data. It may act on the data to generate new data and act fundamentally as a dedicated processor processing the data collected or created during a web browser request and output as an end result to the sender under programmable parameters that are generated by the producer DIS capsule were predetermined at dial-up, if desired by the user as part of his request. Thus, the user has entered inputs as part of his request, either in free form or by selecting variables in the menus available to the user, as exemplarily shown in FIG.
DIS capsule objects are like some other objects. For example, Microsoft's products include the Excel (Microsoft Trademark) Spreadsheet, you can click on an object displayed on the screen, and associate a sequence of objects to perform a specific function, such as creating an object. For example, to take data from a spreadsheet and reformat it into a variety of selectable formats, such as text or graphics. The type of action to be taken is illustrated by an on-screen object, and the joining of routines is done by a series of clicks on icons representing the object.
In accordance with our preferred embodiment, the DIS capsule is used to invoke system resources. This is done by providing a list of instructions, which may be the same as provided by a DIS processor itself, or may be written by the programmer in Visual Basic or C. This results in a command file like an 'exec' or 'command' file in OS / 2, or a '* .BAT' file in DOS. These capsules perform specific functions required by the user from his introductory session. The user further qualifies the execution of the DIS capsule by providing parameters used in the call.
The DIS server 133 supports DIS, the program processor that assists DIS capsules by executing instructions contained in the DIS capsule, either directly, in the case of the DIS functions, or supplied to another system or user functions. The functions provided by the user mainly include those DIS functions provided by DIS and illustrated in the Developing Applications with OpenDIS Access Service, version 2.0 of the OPEN Access Service manual. For those unfamiliar with command files, the referenced manual is fully referenced by the above cross reference and is available from USPTO. An example of a system-supplied function would be the basic support for a specific database's SQL queries called by the DIS capsule program.
Illustrating the specific examples of our invention illustrated in Figures 9 and 10, both show coupled objects according to a specific flow sequence within a DIS environment. The DIS environment includes many functions, including the network composite routing functions that the DIS capsules can invoke. Thus, a DIS object, which queries a database as shown, calls the network interconnect routing functions to query databases where they reside on the network. If the preferred pattern of a DIS environment is not provided, a similar environment should be provided with program environment means that accomplish the reaching of a destination on the Internet through a link between the systems that carries data from one physical entity to another in accordance with the applicable protocol become. The protocol then uses a URL for destinations on the Internet.
Fig. 9 exemplifies a DIS capsule that generates a text report file. Referring to Figure 9, it will be appreciated that the capsule represented by a series of connected objects is supported by a networked processor environment support means 90. Within this environment, a built-in capsule creates a text report file as a result of object 95, 'Hake Text'. This file resulting from the object is the file 43 according to FIG. 3 shown at the browser. In the illustrated example, the multiple DIS capsule data fetch command file 91 (a) .. 91 (n) initiates as a first step multiple requests to various databases specified by the parameters of the request. In this example, multiple requests run as SQL type queries in multiple steps 91 (a) .. 91 (n), which are executed by the DIS capsule server 133 with the database gateway 134 to select the data from the DB26000 Databases located on the intranet 140 and on the Internet by network interconnecting to the database gateway 134 'and its DB26000 databases through step 91 (a). The data is stored in a DIS declared buffer. Similarly, additional steps 91 (b), 91 (c), 91 (d), and 91 (n) retrieve data in parallel or in succession and store in their object buffer data obtained from Sybase, Oracle, Redbrick, and IBM Data warehouse databases were retrieved. Thus, object 91 (a) queries DB26000 and returns data to the DIS. Object 91 (b) asks Oracle and returns data to the DIS. Object 91 (c) interrogates Sybase and brings data back to the DIS. Object 91 (d) (in FIG. 9 represented as a dot), Redbrick queries and returns data back to the DIS, and so on. The nth object 91 (n) queries IBM Data Warehouse and brings data back to the DIS. In a subsequent connected processing step 92, data from the database queries in the first step is appended by the insert object command file 92 and stored in a buffer associated with that object. Object 92 relates the data from the n locations searched in step 91. In a subsequent processing step executed by the calculation object command file 93 on the attached data in the attached database result buffer of step 92, desired calculations are performed according to the parameters specified in the request. Thereafter, text is formatted to space constrained text by the format object command file 94 in accordance with the request parameters. The results are stored in a buffer associated with the format object command file 94. Then, a command file 95 'Hake Text' causes the formatted text to be produced as a text file for the WWW server 131 to be stored in a file accessible to and retrieved and displayed by the control program agent 73, or directly by the control program Agent 73 is displayed on the web browser 130 in the form illustrated in FIG. It is noted here that we have illustrated this process as object capsules in a DIS networked environment. These object capsules are a specialized form of a command file that can also include additional commands that are called by an object.
Preferred embodiment of a graphic DIS capsule
Fig. 10 exemplifies a DIS capsule that generates a graphical report file. For the sake of simplicity, the data shown in this figure is also displayed in a DIS environment 90. The retrieve object command file 101 illustrates a retrieval step for data from one or more databases as specified in the parameters of the request by performing these retrieval steps as in the retrieve object command files 91 (a) .. 91 (n). Thereafter, this data is plotted with the 'Make Plot' object command file 102 as a graph, the results of which are stored in a buffer. The final step of creating a result file, in the present case a bitmap form ready for display to a web browser 130, is performed by the object command file 'Create Bitmap (BMP)' 103. The example of a favorite bitmap object command that would be used with today's Internet environment is a GIF image. Others can also be used. Again, the results are sent to the web browser 130 by an action of the program command agent 73 on the web server 131, the results being represented by a pie chart of Fig. 6 according to the parameters of the graphic report generation requests as in Fig. 6 shown.
Alternative preferred embodiments
Figure 11 illustrates an alternative configuration of the network system as may be used to allow access to information available through homepages and data warehouses, where access to the home page or database may be restricted by a firewall or not. In Fig. 11 Web browser (s) 130 accesses an associated Web server 131, 131 ', 131 ", either by docking or addressing via a Uniform Resource Locator (URL), to Web server 131, which accesses a hyperlink can be selected. This may be direct docking or indirect docking, such as via a node that may be deployable in a common access medium, as provided by Internet resources accessible via a web browser, such as a web browser. For example, a supporting Web Explorer, or Mosaic, NetScape, Node 131, sitting anywhere on the Internet using our Control Agent Agent 73. Node 131, which functions as a Web server, is accessible through a token ring network, SNA network, or other suitable network 132 (one of the many different ones that can be used on the Internet as a transmission medium) with the capabilities within it are what we call our intranet, these devices; which are the "intellectual property" of the owner and which are protected by firewalls at the intranet border 140. Note here that our control program 73 resides and operates within web server 131, as described in FIG. 8, for interfacing to a DIS server 133 located on intranet 140, which is preferably behind a firewall, as shown in Fig. 11. This DIS server 133 in turn is coupled to our database gateway 134. This database gateway is configured as also shown in FIG. 1 to gather information from the databases attached to it and located on servers for DB2, Oracle, Sybase, and Redbrick, as well as information warehousing capabilities. In our preferred embodiments, these database units are IBM mainframe systems as commercially available today, but they could also be AS400s, RISC / 6000, RISC / 6000 SP or other systems supporting the databases.
The DIS server is a server that supports DIS or similar decision support functions and the functions provided by our DIS capsules, as shown in FIGS. 9 and 10.
Not only can our Web browsers 130 access information within the intranet, but they can also access outside the intranet to collect information from the Internet that is elsewhere. We will describe two examples of our preferred pairings with elements on the Internet. One example couples the database gateway 134 to another (a second) database gateway 134 'over the Internet and its network interconnect routing (INR) protocol available from IBM as part of its current DIS product that can use the UALs (Upper Acceptance Limit). The second database gateway 134 'is coupled to its own (second) DIS server 133'. Now, the Web browser 130 can access data not only on the intranet but also over the Internet to retrieve data from a database supported by the DIS server 133 'external to the intranet. The database server 134 'would be able to retrieve information from any database attached to it, as shown, assuming that the access is open to the public or after processing a hidden variable access privilege.
However, the web browser (s) 130 may also access a web server 131 'that implements our control program 73 via the web server 131 (with our control program 73 shown in detail in FIG. 8). This web server, z. Web server 131 'may also support its own (second) network 132' (which supports functions equivalent to network 132 and as shown in Figs. 1 and 11) access an associated DIS server 133 'as shown to perform tasks such as those described in a request sent over the second network from its web server 131'.
However, as another alternative example, the web server 131 'may access, with a suitable API, a directly coupled database accessible to the server, e.g. B. Access 131a from Microsoft. Thus, small databases that are not yet set up to retrieve information from intranet elements may use their own direct operating elements, and may also be queried to / from the web browser (s) 130 or another web browser 136 , Keep in mind that browsers 130 may also communicate with the web server 131 'over the Internet, as well as a web browser 136 sitting on the intranet 140 within the firewall, shown in phantom in FIG. With a browser 136 in place of the web server 131 ', this browser 136 may, if permitted, make requests to the web server 131' via the intranet, which may then use the DIS capsules provided by the DIS server 133 are provided.
Physically, the network 132 has its own access server 135, preferably in the form of a TCP / IP server 135, to establish the physical connection over the Internet. We show in Fig. 11 this other logical layer than lying on the network. This TCP / IP server supports the physical connections supported by the other, higher levels of service on the network. The use of an InterNetwork Routing (INR) protocol allows the shown logical coupling between an application processing server 134 and an external intranet application processing server 134 '. Each network can have one or more web servers. A hypertext document request for a field search, such as Through a hyperlink, could index a server directly, e.g. B. a second web server 134 "on the same network having its own control agent function, duplicating the control program agent sitting in the web server 134. Thus, at the request home page, a menu would say if" Art & Literature search "when selected in a hyperlink setting to index a specific web server and a specific document within the environment of that web server. This web server 134 ", in addition to its connection to its own application processing server 133", has in the environment shown a direct link to a MYS CICS, a transaction processing server for performing the transaction processing. Such a solution allows CICS transaction processing to use the Internet to save transmission costs and still be located underneath a firewall to maintain data security. The outputs provided by the web server to the requested destination may be outside the firewall and in the form of the results shown in FIGS. 3, 5 and 8 as possible examples.
We have described the preferred embodiments of our invention, it being understood that those skilled in the art, both now and in the future, can make various improvements and enhancements which are within the scope and spirit of the invention protected by the following claims. The claims must be formulated to preserve the appropriate protection for the invention first disclosed.
The following features - alone or in combination with other features - are also features of the invention:
During the processing by the control program agent, a result according to the request command is provided, as a default, a return to the web browser homepage.
If necessary for control by a decision support system environment for the command file, the control program agent logs on to a port or desktop for the associated user.
While the program agent is reading the identified file, it dynamically generates new HTML statements for a report of results according to a request from the web browser.
Information is retrieved from the file containing new HTML instructions so that they can be provided with the results of a command file report.
Information is retrieved from the file containing new HTML instructions so that they can be displayed as a header as part of the report to be displayed along with the file name.
When a text file report is generated by the DIS capsule, this fact determines that a text display needs to be reported, and the Control Agent reads the file generated by the DIS capsule and dynamically generates HTML instructions that the Web browser show the data rows.
When a graphics file is generated by the DIS capsule, this determines that a graphics display needs to be reported, and the Control Agent Agent dynamically generates HTML statements that display the graphics file to the Web browser.
The control program agent allows an alternate output direction, and upon receipt of the output direction and a command file completion signal, the result is passed to the output destination.
- If, according to the requirement, selected data is allowed to the authorized user at the site, inside or outside the Internet, the data may be included in the results reported by the system to the web browser.
The Control Program Agent checks the type of report that needs to be generated by retrieving information from stored variables and identifies the output parameters and branches to the sequence that applies to the type of report being generated.
Contents10
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
52 members in 11 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 47457795 | United States of America | A | |
| 47457795 | United States of America | A | |
| 47457795 | United States of America | – | |
| 474577 | – | – | – |
| US19950474577 | – | – | – |
Members52
| Document | Office | Kind | |
|---|---|---|---|
| TW273061B | Taiwan Province of China | B | |
| TW289188B | Taiwan Province of China | B | |
| CA2174376A1 | Canada | A1 | |
| CA2177917A1 | Canada | A1 | |
| EP0747842A1 | European Patent Office (EPO) | A1 | |
| EP0747843A1 | European Patent Office (EPO) | A1 | |
| EP0747844A1 | European Patent Office (EPO) | A1 | |
| EP0747845A1 | European Patent Office (EPO) | A1 | |
| CN1138177A | China | A | |
| CN1140855A | China | A | |
| JPH0926972A | Japan | A | |
| JPH0926974A | Japan | A | |
| KR970002692A | Republic of Korea | A | |
| KR970002714A | Republic of Korea | A | |
| JPH0944527A | Japan | A | |
| JPH09114863A | Japan | A | |
| US5701451A | United States of America | A | |
| US5710918A | United States of America | A | |
| US5721908A | United States of America | A | |
| US5761663A | United States of America | A | |
| US5793964A | United States of America | A | |
| BR9602597A | Brazil | A | |
| KR100188491B1 | Republic of Korea | B1 | |
| KR100209837B1 | Republic of Korea | B1 | |
| US5974441A | United States of America | A | |
| EP0747845B1 | European Patent Office (EPO) | B1 | |
| AT192865T | Austria | T | |
| ATE192865T1 | Austria | T1 | |
| DE69608166D1 | Germany | D1 | |
| US6094655A | United States of America | A | |
| JP3072713B2 | Japan | B2 | |
| CA2174376C | Canada | C | |
| DE69608166T2 | Germany | T2 | |
| EP0747843B1 | European Patent Office (EPO) | B1 | |
| EP0747842B1 | European Patent Office (EPO) | B1 | |
| AT205317T | Austria | T | |
| ATE205317T1 | Austria | T1 | |
| DE69614764D1 | Germany | D1 | |
| DE69614928D1 | Germany | D1 | |
| JP3217964B2 | Japan | B2 | |
| JP3217967B2 | Japan | B2 | |
| JP3217968B2 | Japan | B2 | |
| EP0747844B1 | European Patent Office (EPO) | B1 | |
| ES2161944T3 | Spain | T3 | |
| DE69617318D1 | Germany | D1 | |
| DE69614928T2 | Germany | T2 | |
| CA2177917C | Canada | C | |
| DE69614764T2This record | Germany | T2 | |
| DE69617318T2 | Germany | T2 | |
| CN1107270C | China | C | |
| US6604135B1 | United States of America | B1 | |
| CN1174330C | China | C |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Willingness to grant licences declared (paragraph 23)8320 | 8320 | |
| No opposition during term of oppositionOpposition8364 | 8364 |
Numbers
- Publication
- 69614764
- Publication, DOCDB
- 69614764
- Publication, EPODOC
- DE69614764T
- Application
- 69614764
- Application, DOCDB
- 69614764
- Application, EPODOC
- DE19966014764T
Titles2
- German
- Verfahren zur Ausführung von Anträgen eines Netzbrowsers
- English
- Method for executing applications of a network browser
Classification
- CPC, 2
- G06F16/958
- Y10S707/99931
- IPC, 7
- G06F15 16
- G06F9 46
- G06F12 00
- G06F13 00
- G06F15 00
- G06F17 21
- G06F17 30
