WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method for fulfilling requests of a web browser    
United States Patent5701451   
Link to this pagehttp://www.wikipatents.com/5701451.html
Inventor(s)Rogers; Richard Michael (Beacon, NY); Lagarde; Konrad Charles (Milford, CT)
AbstractA World Wide Web browser makes requests to web servers on a network which receive and fulfill requests as an agent of the browser client, organizing distributed sub-agents as distributed integration solution (DIS) servers on an intranet network supporting the web server which also has an access agent servers accessible over the Internet. DIS servers execute selected capsule objects which perform programmable functions upon a received command from a web server control program agent for retrieving, from a database gateway coupled to a plurality of database resources upon a single request made from a Hypertext document, requested information from multiple data bases located at different types of databases geograhically dispersed, performing calculations, formatting, and other services prior to reporting to the web browser or to other locations, in a selected format, as in a display, fax, printer, and to customer installations or to TV video subscribers, with account tracking.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Rogers; Richard Michael (Beacon, NY); Lagarde; Konrad Charles (Milford, CT)
Owner/Assignee     International Business Machines Corporation (Armonk, NY)
Patent assignment
All assignments
Publication Date     December 23, 1997
Application Number     08/474,577
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     June 7, 1995
US Classification     707/1 709/200 709/202 709/218 709/229 715/513 719/328
Int'l Classification     G06F 017/30
Examiner     Black; Thomas G.
Assistant Examiner     Loomis; John C.
Attorney/Law Firm     Augspurger; Lynn L.
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/200.03 395/200.09 395/600 395/650 395/700 395/145 395/154 395/155 395/161
Patent Tags     fulfilling requests web browser
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5455948
Poole

Oct,1995

[0 after 0 votes]
5404534
Foss
719/315
Apr,1995

[0 after 0 votes]
5355472
Lewis
707/101
Oct,1994

[0 after 0 votes]
5347632
Filepp
709/202
Sep,1994

[0 after 0 votes]
5329519
I'Anson

Jul,1994

[0 after 0 votes]
5297249
Bernstein

Mar,1994

[0 after 0 votes]
5278978
Demers
707/101
Jan,1994

[0 after 0 votes]
5241625
Epard
345/502
Aug,1993

[0 after 0 votes]
5224098
Bird
709/233
Jun,1993

[0 after 0 votes]
5204947
Bernstein
715/854
Apr,1993

[0 after 0 votes]
5187787
Skeen
719/314
Feb,1993

[0 after 0 votes]
5181017
Frey, Jr.
709/239
Jan,1993

[0 after 0 votes]
5179652
Rozmanith
715/747
Jan,1993

[0 after 0 votes]
5093911
Parks
707/104.1
Mar,1992

[0 after 0 votes]
4774655
Kollin
707/4
Sep,1988

[0 after 0 votes]
4714995
Materna
707/201
Dec,1987

[0 after 0 votes]
4714989
Billings
707/10
Dec,1987

[0 after 0 votes]
4604710
Amezcua
703/27
Aug,1986

[0 after 0 votes]
4468728
Wang
707/1
Aug,1984

[0 after 0 votes]
4274139
Hodgkinson
709/203
Jun,1981

[0 after 0 votes]
5307456
MacKay
715/782
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method of fulfilling requests of a web browser client, comprising:

displaying an HTML document to said web browser;

invoking a control program agent;

receiving data entered by the user from the HTML document and passing said user entered data to said control program agent upon invocation as input parameters to said control program agent that were returned from said HTML document;

using an API set for invoking executable command files accessible via an associated command file object, provided as user entered data for supplying to said control program agent values selected by a user to control the processes of fulfilling a Web request and for determining the nature of a resultant fulfillment of the request from information resources supplied from the World Wide Web.

2. A method of fulfilling requests according to claim 1 wherein

said input parameters contain path environment data from the HTML document that referred to said control program agent.

3. A method of fulfilling requests according to claim 1 wherein said step of receiving data entered by the user from the HTML document and passing said user entered data to said control program agent upon invocation as input parameters to said control program agent that were returned from said HTML document includes environment variables comprising an identification of a command file to call, the name of the file containing the HTML statements to use when building an HTML document that reports results requested by the request, and the type of report file that is requested, as well as query data from the HTML document that referred to said control program agent.

4. A method of fulfilling requests according to claim 1 wherein said step of passing data from the HTML document that referred to said control program agent, includes passing variable information data which contains values selected by the user and/or default values selected by a HTML document designer set in said command file prior to its execution, all of which variable information data is stored in a buffer environment, and accessible by said command file and/or said control program agent and used by said control program agent to set variables for said command file.

5. A method of fulfilling requests according to claim 4 wherein the steps further comprise:

with the variable information now stored in a buffer, retrieving, with the control program agent from a store, command files and environment variables comprising an identification of a command file to call, the name of the file containing the HTML statements to use when building an HTML document that reports results requested by the request, and the type of report file that is requested, as well as query data from the HTML document that referred to said control program agent which a request has specified as associated with each command file for the Web request and loading from said buffer environment into memory associated with the control program agent the command file names available and the environment variables associated with each command file.

6. A method of fulfilling requests according to claim 5 wherein the steps further comprise: subsequent to the step of claim 5 initiating with the control program agent a connection between said control program agent and said API.

7. A method of fulfilling requests according to claim 6 wherein the steps further comprise after the performance of the step of claim 6:

if required for control by a decision support system environment for said command file, logging onto a port or desktop for the assigned user by said control program agent.

8. A method of fulfilling requests according to claim 7 wherein the steps further comprise: once a command file is loaded into memory for said control program agent, the control program agent retrieves from its memory the command file environment variables associated with a command file passed to the control program agent once the control program agent is invoked.

9. A method of fulfilling requests according to claim 8 wherein the steps further comprise: subsequently, creating with said control program agent a data array stored in the control program memory containing the command file environment variables and said variable information data for them that were passed to the control program agent during initial data retrieval steps in order to match command file variable names of said environment variables with the data that was passed to the control program agent as variable information data values.

10. A method of fulfilling requests according to claim 9 wherein the steps further comprise: subsequently, in preparation for a report, said program command agent creating creates a unique filename which may include data originated by the HTML document's variables stored in said buffer as a data array to pass to the command file as a command file environment variable for use in naming the report which will be created by the command file, which as a result the command file will create that file with the unique file name during its process.

11. A method of fulfilling requests according to claim 10 wherein the steps further comprise: subsequently, for a user query using the API to set the command file variable values in anticipation of command file execution, the values of environment variables used by the command file are obtained from said data array in the control program memory containing command file variable names of said environment variables as well as user defined values of said information variable data for said user query that were passed to the control program agent as parameters for query data from the HTML document that referred to said control program agent which contains values selected by the user and/or default values selected by a HTML document designer set in a command file program prior to its execution.

12. A method of fulfilling requests according to claim 11 wherein the steps further comprise: subsequently, using an API to query and determine the size of a queue of jobs being requested, and comparing whether the size has exceeded a predetermined threshold number of jobs being requested, and if so, then entering a wait state loop to wait and reiteratively comparing whether the size still has exceeded said predetermined threshold number of jobs being requested until the queue size is reduced to below said threshold level, and then at that point using said API submit a command file having said command file variable values for execution by a sub-agent.

13. A method of fulfilling requests according to claim 12, wherein the steps further comprise: after the API has submitted said command file having said command file variable values for execution by a sub-agent, said control program agent enters a state of awaiting execution of said command file by said sub-agent.

14. A method of fulfilling requests according to claim 13, wherein the steps further comprise: during a state of awaiting execution of said command file, processing other requests by the control program agent as a pipe so that the control program agent continually advances requests through the system.

15. A method of fulfilling requests according to claim 14 wherein the steps further comprise: during the state awaiting execution of a command file, using said API to looks for a completion signal of execution of said command file, and when that completion signal is received, said control program agent reads the file identified by the name passed to the control program agent in the preceding step that contains the HTML statements which are to be presented with the command file report of results.

16. A method of fulfilling requests according to claim 15 wherein the steps further comprise: while the control program agent reads the file identified by the name passed to the control program agent in the preceding step that contains the HTML statements which are to be presented with the command file report of results, it dynamically creates new HTHL statements for a report of results according to a request of the web browser.

17. A method of fulfilling requests according to claim 16 wherein the steps further comprise: retrieving with said new HTML statement information retrieved from the file identified by the name passed to the control program agent so that it can be provided with the results of a command file report.

18. A method of fulfilling requests according to claim 17 wherein the steps further comprise: retrieving with said new HTML statement information retrieved from said identified file so that it can be displayed as a header accompanying the requested report to be displayed according to the user defined report type, along with the filename of said unique filename.

19. A method of fulfilling requests according to claim 1 wherein the steps further comprise:

during processing by said control program agent providing setups for API calls which occur.

20. A method of fulfilling requests according to claim 1 wherein the steps further comprise:

during processing by said control program agent providing a result according to the request command, which in default is a return to the Web browser home page.

21. A method of fulfilling requests according to claim 1 wherein the input parameters include data entered by said user including variables identifing the type of file to create as a report to be created as a result of said web request and user identified applicable output parameters as to where a result is to be directed, and said steps further comprise: testing with said control program agent for the type of report file to be created by obtaining information from stored variables and said testing further identifies said user identified applicable output parameters, and branching to the sequence applicable to the type of report file to be created.

22. A method of fulfilling requests according to claim 1 wherein the input parameters include data entered by said user including variables identifying the type of file to create as a report to be created as a result of said web request and user identified applicable output parameters identifying where a result is to be routed, and said steps further comprise: if the output is to be routed user identified Web server, then routing said output to the user identified Web server.

23. A method of fulfilling requests according to claim 1 wherein the said associated command file object is a DIS capsule for creating a text file report, and said steps further comprise: when a text file report is created by the DIS capsule, that determines that a text display is to be reported and the the control program agent reads the file created by the DIS capsule and dynamically creates HTML statements to display the data lines to the Web browser as a text display according to a user desired form of presentation.

24. A method of fulfilling requests according to claim 1 wherein the said associated command file object is a DIS capsule for creating a graphics file report, and said steps further comprise: when a graphics file is created by the DIS capsule, that determines that a graphics display is to be reported and the control program dynamically creates the HTML statement to display the graphics file to the Web browser as a display with graphics included, as a presentation of results according to a user specified form of presentation.

25. A method of fulfilling requests according to claim 1 wherein the steps further comprise:

wherein the control program agent allows alternative output direction, and said input parameters include data entered by said user including variables identifying the type of file to create as a report to be created as a result of said web request and user identified applicable alternative output direction output parameters identifying where a result is to be routed as a requestor user selected alternative output destination, and upon receipt of said alternative output direction and a command file completion signal, the result is routed to said alternative output destination.

26. A method of fulfilling requests according to claim 25 wherein the steps further comprise:

wherein an output is routed to a requestor user selected alternative output destination selected from a group of possible output units, comprising facsimile, printer, retail and banking installations, or provided as a series of full motion videos or still frames which are transmitted to display devices, including television units under control of end users with a set-top box cable control.

27. A method of fulfilling requests according to claim 25 wherein the steps further comprise:

wherein an output is routed to a requestor user selected alternative output destination via a server having a CPU, network I/F bus, disks, modems, and data switching controls providing hardware to route the output to a user selected alternative output destination selection from a variety of output devices, including a facsimile, printer, retail terminal, banking machines, TV or cable customers via the server, with full motion and still video supplied with MPEG 2 and MPEG 1 protocol images respectively to subscribers.

28. A method of fulfilling requests according to claim 1 wherein the process of fulfilling said Web request creates an output, including a result file with a file name entered by the user from said HTML document, and said steps further comprise:

coupling the output to an auxiliary function including back-up storage and accounting processes which allow for charging for system utilization and service charges for services and items requested.

29. A method of fulfilling requests according to claim 28 wherein the process of fulfilling said Web request creates an output making use of user entered data, and of hidden variables associated with the request including authorization charge variables, including credit card numbers and passwords, and of a file name entered by the user from said HTML document, and said steps further comprise:

passing said output and said hidden variables to auxiliary functions which make use of hidden variables associated with the request including authorization charge variables, including credit card numbers and passwords.

30. A method of fulfilling requests according to claim 29 wherein the credit card number is encrypted with an encryption utility, and this encrypted credit card number along with access authorization variables, allows access to sensitive databases which reside behind firewalls.

31. A method of fulfilling requests according to claim 1 wherein the steps further comprise:

if selected data according to the Web broswer request is permitted to be accessed by the request as an authorized user access at the location of said selected data inside or outside the Internet, the said selected data can be included in a combined report of results of said Web browser request including a combination of data selected for said user by said system as a result of data entered by said user as a combined report reported by the system to the Web browser user.

32. A method for fulfilling requests of a web browser client; comprising the steps of:

displaying an HTNL document to said web browser;

invoking a control program agent;

receiving data entered by the user from the HTNL document and passing said user entered data to said control program agent upon invocation as input parameters to said control program agent that were returned from said HTML document; and storing said input parameters in a buffer;

retrieving with the control program agent from a store command files and the variable names associated with each command files and loading into memory associated with the control program the command file names available and the variable names associated with each command file;

initiating with the control program agent a connection between said control program agent and an API;

once a command file is loaded into memory for said control program agent, retrieving with said control program agent from its memory the command file variable names associated with a command file name passed to the control program agent once the control program agent is invoked;

subsequently, creating with said control program agent a a data array stored in the control program memory containing the command file variable names and the values for them that were passed to the control program agent during initial data retrieval steps in order to match command file variable names with the data that was passed to the control program agent with said environment variables step;

subsequently, in preparation for a command file report, creating with said program command agent a unique filename which may include data originated by the HTML document's variables stored in said buffer to pass to the command file as a command file variable for use in naming the report which will be created by the command file, which as a result the command file will create that file with the unique file name during its process;

subsequently, using the API to set the command file variable values; in anticipation of command file execution, obtaining the values of variables used by the command file from the data array in the control program memory containing the command file variable names and the values for them that were passed to the control program agent as input parameters to said control program agent as query data from the HTML document that referred to said control program agent which contains values selected by the user and/or default values selected by a HTML document designer set in a command file program prior to its execution;

subsequently, using an API to query and determine the size of a queue of jobs being requested, and comparing whether the size has exceeded a predetermined threshold number of jobs being requested, and if so, then entering a wait state loop to wait and reiteratively comparing whether the size still has exceeded said predetermined threshold number of jobs being requested until the queue size is reduced to below said threshold level, and then at that point using said API to submit a command file for execution by a sub-agent to create a resulting file identified by said unique filename;

after the API has submitted said command file for execution by a sub-agent, said control program agent enters a state of awaiting execution of said command file by said sub-agent;

and wherein after execution by said sub-agent, thereafter the control program agent reads the resulting file identified by said unique filename and dynamically creates new HTHL statements to report results according to a request of the web browser with said unique filename identified.

33. A method of fulfilling requests according to claim 32 wherein the steps further comprise: retrieving with said new HTML statement information user requested data contained in said resulting file identified by said unique filename so that said user requested data can be provided with the results as a completed command file report.

34. A method of fulfilling requests according to claim 33 wherein the steps further comprise: testing with said control program agent for the kind of report to be created by obtaining information from stored variables and identifies output parameters, and branching to the sequence applicable to the type of report to be created in the process of completing said command file report.
 Description Submit all comments and votes
 


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 Fulfilling Requests of a Web Browser" is related to other United States of America Patent applications filed concurrently herewith, and specifically to the applications entitled "Computer Network for WWW Server Data Access over Internet", U.S. Ser. No. 08/474,571, filed Jun. 7, 1995; and "A Service Agent for Fulfilling requests of a Web Browser", U.S. Ser. No. 08/474,576, filed Jun. 7, 1995; and "A Sub-Agent Service Agent for Fulfilling Requests of a Web Browser", U.S. Ser. No. 08/474,575, filed Jun. 7, 1995; and "A Web Browser System", U.S. Ser. No. 08/479,481, filed Jun. 7, 1995; and "A Method for Distributed Task Fulfillment of Web Browser Requests", U.S. Ser. No. 08/474,572, filed Jun. 7, 1995.

These applications have a common assignee, International Business Machines Corporation, Armonk, N.Y.

GLOSSARY OF TERMS

While dictionary meanings are also implied by certain terms used here, the following glossary of some terms may be useful.

World Wide Web (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 Hypelink.

Web browser

An program running on a computer that acts as an Internet tour guide, complete with pictorial desktops, directories and search tools used when a user "surfs" the Internet. In this application the Web browser is a client service which communicates with the World Wide Web.

HTTPD

An IBM OS/2 Web Server or other server having 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 hypedinks.

Hyperlink

A network address embedded in a word, phrase, icon or picture that is activated when you select the highlighted tidbit. Information about that item is currently retrieved to the client supporting a Web browser.

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. No. 5,204,947, granted Apr. 20, 1993 to Bernstein et al.; U.S. Pat. No. 5,297,249, granted Mar. 22, 1994 to Bernstein et al.; U.S. Pat. No. 5,355,472, granted Oct. 11, 1994 to Lewis; all of which are assigned to International Business Machines Corporation, and which are referenced herein.

BACKGROUND OF THE INVENTION

The Internet is not a single network, it has no owner or controller, but is an unruly network of networks, a confederation of many different nets, public and private, big and small, that have agreed to connect to one another. An intranet is a network which is restricted and while it may follow the Internet protocol, none or only part of the network available from outside a "firewall" surrounding the intranet is part 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, fiber-optic trunk lines, phone lines, cable TV wires and local radio links. When your client computer logs onto the Internet at a university, a corporate office or from home, 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, advedisement, and placement of orders. As background for