1. Technical Field
The present invention relates in general to data processing and in particular to improving efficiency of file receipts in a communication program. Still more particularly, the present invention relates to a system, method and computer program product for improving efficiency of a file receipt in a communication program by redirecting a file received as the result of a file request to a mail server.
2. Description of the Related Art
The advent of widely distributed, interoperable, packetized data processing networks has transformed many aspects of commerce and information distribution. At the point of sale, this revolution has allowed transactions to be conducted instantaneously, at any time of the day or night, by persons separated by thousands of miles. Similarly, the marketplace of ideas has been revolutionized.
From the flash distribution of an announcement such as a press release, to the archival storage and querying of millions of pages on electronic data storage systems, users have become accustomed to receiving in seconds data that previously took days or weeks to reach the user. Prior methods of information storage and retrieval involved cumbersome manual search processes through multi-volume index references, travel to distant places where written records could be stored in bulk, and hours and hours of time invested in the reproduction of paper copies.
Now, through the advent of the Internet, and in particular the World Wide Web, the user of information can perform complex queries through remote search engines, while sitting thousands of miles from a place where records are physically stored. After the results of these queries are completed, digital copies can then be sent to the user of information almost instantaneously. The user of information can then select which records need to be reproduced, and the entire process can be undertaken without ever having to leave the user's desk to visit a dusty file room.
For all of the convenience and power in record retrieval from massive databases, problems exist in the use of particularly large bodies of information. One problem inherent in complex queries of large databases is the amount of time required to process queries and sort through the records represented in a database to obtain results. With particularly large databases, many of which may involve millions of records, each record containing scores of pages of information and diagrams, a query of the database can, depending on network traffic and allocation of resources, take anything from several minutes to more than half of an hour.
In an age when information is expected instantaneously, these wait times prove to be a great source of frustration, delay, and cost to the users of information. The problem posed by waiting time during the execution of complex online queries represents one of the single greatest and most costly annoyances in the retrieval of electronic records. Currently, alternatives to waiting are extremely limited. If a user wants to pursue other surfing, the user is forced to open a new browser window for the new surfing task and repeatedly check the old window to see if a response to a query has arrived.
The present invention recognizes that, to conserve user time and/or to reduce a user's annoyance, a method, system and computer program product for improving efficiency of a file receipt in a communications program is needed.
A method, system and computer program product for improving efficiency of a file receipt in a communication program by redirecting a file received as the result of a file request to a mail server is disclosed. A communication program sends a request for a first file to a file server. The communication program then waits a length of time to receive that first file. If the set length of time for waiting for the first file expires before the first file is received, the user interface of the communications program is released to request additional files while a background process waits for the first file. Then, once the background process receives the first file, the background process encapsulates the first file in a message and transmits the message to a target address.
A preferred embodiment includes detecting whether a user prefers to continue waiting for receipt of the file or to redirect the file received as the result of the request. Additionally, the length of time on which the communications program will wait can be configurably fixed. Further, one or more designated email addresses can be designated as the target address for the message transmission.
The present invention can be embodied on a variety of communication program platforms including a hypertext browser, and the first file that is received can be a file of any of the several available markup languages, or a plain text file.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
With reference now to the figures and in particular with reference to
Mail server 104 performs functions related to the sending and receiving of electronic mail messages. File server 106 retrieves and delivers files across network 100. Mail server 104 and file server 106 may both be implemented with conventional or later developed hardware or software.
Client data processing system 102 includes a processing resource 108 for performing data processing functions and a storage unit 110 for storing items of data or instructions for use by processing resource 108. Storage unit 110 may be implemented as a Random Access Memory (RAM) or as another form of storage, such as a dynamic access storage device. As illustrated, storage unit 110 stores operating system (OS) 116, application program interface (API) 118, browser 120, mail client 122, and optionally other applications 124. Storage unit 110 also stores browser settings 112 and mail settings 114. Client data processing system 102 also includes a display device 126 and an input device 128, such as a keyboard or mouse. As will become quickly apparent to one skilled in the art, although a preferred embodiment of the present invention is illustrated and described with respect to browser 120, the present invention can be implemented on a variety of file retrieval programs without departing from the scope of the present invention.
The present invention improves efficiency of file receipt in a communication program, such as browser 120, by redirecting to a mail server a file received as the result of a file request. This is accomplished through the use of several messages, which are sent and received by client data processing system 102. As depicted in
Client data processing system 102 transmits an outgoing mail message 134, which contains files received by browser 120 in response 132 to mail server 104. Outgoing mail message 134 originates from browser 120 and is delivered to network 100 by application program interface 118 and operating system 116 on client data processing system 102. The files of interest are thus buffered at mail server 104 until mail client 122 requests the files of interest through a mail request 136.
In an alternative embodiment of the present invention, browser 120 could contain a unit of data processing instructions for sending response 132 to mail client 122, which could then send an outgoing mail message to mail server 104. In another alternative embodiment of the present invention, browser 120 could contain a unit of data processing instructions for sending response 132 to mail client 122, which could result in mail client 122 creating a simulated incoming message in the inbox of mail client 122.
Returning to the preferred embodiments, when the user desires to view the files, the user invokes mail client 122, if mail client 122 is not already activated. Responsive to a command to check mail, client data processing system 102 transmits a mail request 136, which originates from mail client 122 and is delivered to network 100 by application program interface 118 and operating system 116 on client data processing system 102, to mail server 104. Mail server 104 responds to mail request 136 by transmitting an inbound mail message 138 from mail server 104 to mail client 122 on data processing system 102 by way of application program interface 118 and operating system 116 on client data processing system 102. Inbound mail message 138 contains files received by browser 120 as part of response 132 and sent by browser 120 as part of outgoing mail message 134.
As is illustrated in a simplified form in
Referring now to
As illustrated, user preferences GUI 200 contains an activation query box 204. Activation query box 204 prompts the user to indicate whether the user wishes to configure browser 120 to redirect high-latency responses, sent in response to file requests by browser 120, to mail server 104. In the particular embodiment illustrated as activation query box 104, the user is asked whether the user desires to “Use reroute function from HTTP to SMTP?” Thus, in one embodiment the user has the option of routing a hypertext transfer protocol (HTTP) response to a simple mail transfer protocol (SMTP) server. Other embodiments may implement this rerouting by using other servers and protocols.
The user responds to the query contained in activation query box 204 by checking one of ‘yes’ radio button 206 and ‘no’ radio button 208. A second query box, timeout query box 210, allows the user to indicate the timeout length, which specifies how long browser 120 will wait to receive response 132 before presenting user prompt GUI 202 of
Input email query box 216 permits the user to input an email address, to which browser 120 may selectably redirect response 132. Input email query box 216 provides an email field 218 and an add button 220. When an email address is entered in email field 218 and add button 220 is selected, the email address listed in email field 218 is presented within current addresses list box 222. Current addresses list box 222 contains a listing of email addresses to which a response may be sent, as well as means for deleting addresses from current addresses list box 222. As illustrated in
With reference now to
If the option to forward response 132 from file server 106 to mail server 104 has not been selected, the process then proceeds to step 306, which depicts client data processing system 102 waiting for and receiving response 132. Once data processing system 102 receives response 132, the process next moves to step 308, which depicts data processing system 102 displaying response 132 or a portion thereof on display device 126. Displaying response 132 on display device 126 will typically mean that browser 120 translates an HTML file for presentation on display device 126, though displaying response 132 on display device 126 could easily include other operations, including, for example, the execution of a program executable delivered over the web. The process then proceeds to step 324, which depicts data processing system 102 waiting for the user or another stimulus to initiate a next operation.
Returning to block 304, if the option to forward response 132 to mail server 104 is detected, the process next moves to step 310, which depicts data processing system 102 waiting during a period, called a user increment, for receipt of response 132. The user increment is a length of time, separate from and generally shorter than, but potentially identical to the amount of time provided in response to timeout query 210. Browser 120 may temporarily and dynamically adjust the user increment in response to a task priority of browser 120. That is, where a browser window is not selected as the foreground task running on data processing system 102, browser 120 may lengthen or shorten a user increment. The process then proceeds to step 312, which depicts browser 120 detecting whether browser 120 has received response 132 from file server 106 over network 100.
If, in step 312, browser 120 detects that response 132 has been delivered to data processing system 102, then the process next proceeds to step 308, and the process proceeds as previously described with respect to step 308 and step 324.
If, in step 312 browser 120 detects that response 132 has not been received, then the process next proceeds to step 314, which depicts browser 120 determining whether the interval specified in response to timeout query 210 has expired. If the interval specified in response to timeout query 210 has not expired, then the process next proceeds to step 310, which depicts data processing system 102 waiting during a period, called a user increment, for receipt of response 132 as previously detailed.
If, in step 314, browser 120 determines that the interval specified in response to timeout query 210 has expired, then the process next proceeds to step 316, which depicts browser 120 prompting the user to select a preconfigured email account for delivery through presentation of a prompt, such as user prompt GUI 202, on display device 126. When display device 126 presents user prompt GUI 202, the user is presented with three options, as described with respect to
If the user actuates ‘yes’ button 244 within user prompt GUI 202, the process depicted in
Additionally, a second background process, depicted in steps 319, 317, 320 and 322, begins in step 319. Step 319 depicts browser 120 waiting a delivery increment. After waiting a delivery increment, the process next proceeds to step 317, which depicts browser 120 on client data processing system 102 detecting whether response 132 has been delivered to browser 120.
If response 132 has not been delivered to browser 120, then browser 120 again proceeds back to step 319 to wait for the expiration of another delivery increment. If, in step 317, browser 120 detects receipt of response 132 from file server 106, then the process next moves to step 320, which depicts browser 120 creating outgoing mail message 134 and inserting response 132 into outgoing mail message 134. Response 132 can be inserted into outgoing mail message 134 by a variety of methods, including without limitation encapsulating an HTML file into the text of the message and attaching an HTML file, supporting files, executables, or a JPG representation of an HTML file to outgoing mail message 134. The process next moves to step 322, which illustrates browser 120 sending outgoing mail message 134 to mail server 104. The process then proceeds to step 324, wherein data processing system 102 awaits a next operation. In step 322, the background process of steps 319, 317, 320 and 322 completes and terminates after sending outgoing mail message 134, though termination may not be readily discernable to the user because no new window was opened for the background process.
As has been described, the present invention provides an improved user experience in web browsing or other file viewing and retrieval activities by enabling the user to continue normal file viewing and retrieval while a background process waits to receive high-latency files and forward such files to a mail server. The user can then, at his leisure, query an email server with an email client to retrieve delayed files. Delivery to an email server in this manner also facilitates storage and portability of requested files.
While the invention has been particularly shown as described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. It is also important to note that although the present invention has been described in the context of a fully functional computer system, those skilled in the art will appreciate that the mechanisms of the present invention are capable of being distributed as a program product in a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media utilized to actually carry out the distribution. Examples of signal bearing media include, without limitation, recordable type media such as floppy disks or CD ROMs and transmission type media such as analog or digital communications links.