|Publication number||US7107315 B1|
|Application number||US 09/561,183|
|Publication date||Sep 12, 2006|
|Filing date||Apr 27, 2000|
|Priority date||Apr 27, 2000|
|Publication number||09561183, 561183, US 7107315 B1, US 7107315B1, US-B1-7107315, US7107315 B1, US7107315B1|
|Inventors||Herman Rodriguez, Clifford Jay Spinac|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (9), Referenced by (30), Classifications (16), Legal Events (8)|
|External Links: USPTO, USPTO Assignment, Espacenet|
1. Technical Field
This invention relates generally to information delivery in a computer network. More particularly, the invention relates to techniques for enabling a user of an e-mail client to obtain programs for handling mail attachments.
2. Description of the Related Art
E-mail has become the communication method of choice throughout the business world as well as for the general public. In a typical enterprise environment, a mail server (such as UNIX SendMail) has a local mail delivery agent or client (typically .../bin/mail on UNIX systems) that stores an incoming e-mail on a local file system and delivers it to an end user via POP, IMAP or a command line program. Such agents typically provide the basic functionality of logging in an e-mail message and copying that message to a client machine's mail spool. Internet-based client-server messaging systems include, for example, Lotus Notes, which provides e-mail, calendaring, group scheduling, Web access and information management, integrated in an easy-to-use and customizable environment.
When a user receives a file attachment via e-mail, it is often the case that there is no installed application (generically, a “handler”) to handle the attachment. For example, assume that an e-mail includes a Microsoft PowerPoint presentation as a file attachment. Certain e-mail applications (such as a Lotus Notes client) include third party presentation software, e.g., Freelance, that cannot be used to display a PowerPoint presentation. The user must then attempt to locate the handler and, if successful, download and install the program on his or her machine. This is a difficult and often frustrating set of tasks, especially if the user only needs the program for a single use or if the user already has a copy of the program on some other machine. To address this problem, it is known in the art to have a client browser (e.g., Netscape Navigator) open to a default “plug-in” page to assist the user. Nevertheless, even in this situation, the user must manually locate the relevant plug-in, download it, and then install it before the e-mail attachment can be accessed.
It would be desirable to provide a more automated method to seamlessly install and enable attachment handlers in an e-mail client. The present invention addresses this problem.
An e-mail server is configured so that when an e-mail having an attachment is received at the server, a web-based URL is included in the e-mail to identify a fulfillment site at which a handler (e.g., a plug-in) for the attachment may be obtained. The e-mail is delivered to a client machine having an e-mail application such as Lotus, Microsoft Outlook, or the like. When the user of the machine selects the attachment to open, the e-mail application checks to determine if there is a registered handler in the client machine to handle the attachment. If there is no installed attachment handler (or if the handler is not available), then the e-mail application automatically contacts the fulfillment site by opening a browser (or other viewer) to the URL that was included with the e-mail. Preferably, the fulfillment site returns a fulfillment page that may take the form of a dialog or fill-in form. The form may request billing and subscription data. When the user enters the required data, the fulfillment site sends the attachment handler, which is preferably a self-installing plug-in. Upon receipt, the plug-in self-installs and opens the attachment in a seamless manner.
In an illustrative embodiment, the fulfillment site makes the handler available to the user of the client machine for a prescribed number of times or for a limited period of time. When the use rights expire, the handler automatically removes itself from the client machine. Thus, in a representative example, the user subscribes to use the handler for a given number of times. This use restriction may be enforced by associating an encrypted usage count with the handler when the handler is first delivered to the client machine. Upon each invocation of the handler at the client machine, the usage count is decremented. When the count reaches zero, the handler uninstalls itself.
The foregoing has outlined some of the more pertinent objects and features of the present invention. These objects and features should be construed to be merely illustrative of some of the more prominent features and applications of the invention. Many other beneficial results can be attained by applying the disclosed invention in a different manner or modifying the invention as will be described. Accordingly, other objects and a fuller understanding of the invention may be had by referring to the following Detailed Description of the Preferred Embodiment.
For a more complete understanding of the present invention and the advantages thereof, reference should be made to the following Detailed Description taken in connection with the accompanying drawings in which:
By way of background, a known Internet client-server system is implemented and illustrated in
A representative mail server 120 is an IBM Domino server comprising a processor 123, an operating system 124 and a mail server program 126. Mail server program is a local mail delivery agent, as previously noted. The server 120 may include an Application Programming Interface (API) 128 that provides extensions to enable application developers to extend and/or customize the core functionality thereof through software programs including plug-ins, servlets, and the like.
A representative client is a personal computer, notebook computer, Internet appliance or pervasive computing device (e.g., a PDA or palm computer) that is x86-, Pentium-PowerPC®- or RISC-based. The client includes an operating system such as IBM® OS/2®, Microsoft Windows, Microsoft Windows NT, Windows CE or PalmOS. As noted above, the client includes a suite of Internet tools including a Web browser, such as Netscape Navigator or Microsoft Internet Explorer, that has a Java Virtual Machine (JVM) and support for application plug-ins or helper applications. The client also includes an e-mail client, such as Lotus Notes, Microsoft Outlook, or the like, to manage e-mail communications.
Existing e-mail clients have the capability of receiving attachments having a mime type or other proprietary file type extension. According to the present invention, an e-mail client is modified to include additional functionality that enables the user to readily obtain and install any handler that is required to view or otherwise process the file attachment in a seamless manner. As used herein, a “handler” is any program, process, code, application or software that is useful in opening and/or processing a file attachment. As will be described in more detail, when an e-mail having an attachment is delivered to the e-mail client, it preferably includes an embedded link (e.g., a URL) to a server at which a handler for the attachment may be obtained. The user simply clicks or otherwise selects the mail attachment in the usual manner. Upon this selection, the e-mail client determines whether a handler is required and, if so, whether the requisite handler exists on the client machine. If not, the e-mail client opens a connection using HTTP (or some Internet protocol) to the URL identified by the embedded link. In a preferred embodiment, the URL identifies a fulfillment site at which the user may obtain the required handler. Preferably, the fulfillment site issues various kinds of use licenses. Thus, for example, the fulfillment site may issue a view-only license under which the handler may be downloaded and used only for viewing the attachment. The fulfillment center, alternatively, may issue a license to use the handler for a given time period, or for a given number of program invocations.
In operation, a user or system administrator of the e-mail server 210 provisions the server (via control routine 209) to attach a URL to any e-mail message having an attachment that is received by the e-mail server for delivery to an e-mail client within the enterprise. The URL identifies the server from which a user of the local client system can retrieve a handler for the attachment if necessary. When the e-mail message (together with the attachment) is then received at the e-mail client 206 that has been provisioned with the client control routine 207, the user of the local client system has the capability of automatically retrieving the handler.
In particular, when the user selects the attachment, the client control routine determines whether the local client system has the handler installed. If not, the client control routine 207 opens the browser window to the URL located in the e-mail message. At this point in the operation, the client browser communicates with the fulfillment site. In particular, the client browser preferably retrieves a fulfillment dialog or page that is displayed on the user's machine. The user is prompted to fill-in given identifying information, e.g., user identification, billing data, subscription data, or the like. Upon completion of the fulfillment dialog, the server 200 sends to the client the attachment handler, preferably in the form of a self-extracting file that automatically installs itself on the local client system. The attachment handler, once installed, opens the attachment in the usual manner.
Thus, according to the present invention, when a user of an e-mail client attempts to open an attachment (e.g., by clicking on it), a determination is first made whether the local client system supports an appropriate handler for the attachment. If not, a browser window is automatically opened to a fulfillment site from which the handler can be obtained. The user may then provide information within a fulfillment dialog to obtain the handler, which preferably is then downloaded as a self-extracting file that installs itself on the user's computer.
One of ordinary skill in the art will appreciate that fulfillment site need not support the handler directly. This site may simply act as a clearinghouse for one or more third party servers that actually support the handler programs. Moreover, it is not required to perform a fulfillment dialog between the user and the fulfillment site under certain circumstances. Thus, for example, a user may pre-register with the fulfillment site so that the required handler (as identified by a given URL) may be automatically downloaded to the requesting client machine whenever the user (at the local client) selects an attachment of a type that is unsupported on the client machine. Alternatively, if the fulfillment site does not charge for the handler or the handler is freeware, the fulfillment dialog can be omitted so that the software plug-in is downloaded to the local client system directly without the fulfillment dialog.
In a preferred embodiment, however, the fulfillment dialog is used. One particular advantage of using the fulfillment dialog is that one or more use restrictions may be imposed on the user of the attachment handler. Thus, for example, the fulfillment site operator may desire to restrict the local client system user to a given number of invocations of the attachment handler. Alternatively, the fulfillment site operator may restrict the local client system user to use the handler for the attachment only over a given, limited time period. Yet another alternative is to restrict the type of use that may be made of the handler. Thus, for example, the user may only obtain a version of the handler that allows the attachment to be viewed but not edited, or viewed but not printed, or the like. Using the fulfillment dialog, the user can be required to input one or more selections to identify such use options or restrictions. As described above, a user of a local client system may pre-register his or her selections to reduce the time necessary to receive the actual download when the handler is required to open a particular attachment type. Alternatively, the URL may be embedded with the attachment when the attachment is created.
The client routine then continues at step 514. At this point, the following functions are effected from the client browser interacting with a fulfillment site server. In particular, at step 514, the browser software receives and displays a dialog panel. This panel may be served to the local client system browser as a web page, a web servlet, or other fill-in form such as a Common Gateway Interface (CGI) form. A representative dialog panel 600 is shown in
The routine begins at step 700 when a client request for the URL is received at the server. At step 702, a servlet is spawned to handle the client request. At step 704, the routine returns the fulfillment dialog page as described above. The routine then tests at step 706 to determine whether the requested information has been supplied. If not, the routine cycles or returns an error message. When the outcome of the test at step 706 indicates that the fulfillment dialog is complete, the routine continues at step 708 to apply a given use condition to the handler requested by the client. Thus, for example, the step of applying the use condition may encrypt the handler with a use count. Each time the handler is invoked on the local client system, the use count (which remains encrypted) is decremented. If the use count reaches a low count threshold, the fulfillment dialog may then warn the user that only a few uses remain and may offer the option to purchase additional uses. When the use count reaches zero, the handler uninstalls itself from the local client system. Although not meant to be limiting, limited use software of this type is widely available. At step 710, the servlet serves the encrypted handler file to the requesting client. At step 712, the servlet is extinguished to complete the transaction.
Returning now back to
Of course, one of ordinary skill in the art will appreciate that the particular use limitations as set forth in the fulfillment dialog are not limited to a use count. Alternatively, the handler may be licensed for use for a given time period, or the handler may be licensed for a particular limited use (e.g., viewing but not editing, viewing but not full printing, etc.), or any combination of the above options. In this way, the fulfillment site can offer different types of license opportunities and charge appropriate prices for these licenses.
Thus, in an illustrative embodiment, it is assumed that a user has received an e-mail having an attachment. By way of example, assume the user receives an e-mail that includes a PowerPoint presentation. If the user's machine has the PowerPoint application locally, the user merely clicks the attachment, which action causes the PowerPoint application to start-up immediately if it is not already running.
If, however, the client machine does not support the needed handler (or the needed handler is supported locally but not otherwise available), the local e-mail client causes a browser routine to open up to a URL of the fulfillment site. Following a subscription dialog, the attachment handler is downloaded to the local client system for use.
While the present invention has been described and illustrated in the context of an Internet e-mail client, this is not a requirement of the invention. The inventive technique of embedding a fulfillment site URL into a file having an attachment may be used for any document type, and not just e-mail.
As noted above, in the illustrative embodiment, the inventive each of the routines is implemented as a Java application, an applet, native code, or code implemented within an existing application. More generally, preferably each of the processes described above is a set of instructions or code that together comprise a computer program. This program is executable in a processor running a given operating system. The set of instructions (program code) may be executed from a random access memory of a computer. Until required by the computer, the set of instructions may be stored in another computer memory, for example, in a hard disk drive, or in a removable memory such as an optical disk (for eventual use in a CD ROM) or floppy disk (for eventual use in a floppy disk drive), or downloaded via the Internet or other computer network.
In addition, although the various methods described are conveniently implemented in a general purpose computer selectively activated or reconfigured by software, one of ordinary skill in the art would also recognize that such methods may be carried out in hardware, in firmware, or in more specialized apparatus constructed to perform the required method steps.
Further, as used herein, a Web “client” should be broadly construed to mean any computer or component thereof directly or indirectly connected or connectable in any known or later-developed manner to a computer network, such as the Internet. The term Web “server” should also be broadly construed to mean a computer, computer platform, an adjunct to a computer or platform, or any component thereof. Of course, a “client” should be broadly construed to mean one who requests or gets the file, and “server” is the entity which downloads or provides the file.
In an illustrative implementation, the attachment is provided at no cost for a limited number of usages. Once the number reaches a low threshold value, the fulfillment dialog is generated as described above.
Having thus described our invention, what we claim as new and desire to secure by Letters Patent is set forth in the following claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5715403 *||Nov 23, 1994||Feb 3, 1998||Xerox Corporation||System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar|
|US5790793 *||Apr 4, 1995||Aug 4, 1998||Higley; Thomas||Method and system to create, transmit, receive and process information, including an address to further information|
|US6347398 *||Nov 8, 1999||Feb 12, 2002||Microsoft Corporation||Automatic software downloading from a computer network|
|US6405362 *||Nov 13, 1998||Jun 11, 2002||Microsoft Corporation||Automatic software installation and cleanup|
|US6453340 *||Mar 24, 1999||Sep 17, 2002||Matsushita Electric Industrial, Co.||Data converter and terminal contained in network|
|US6618747 *||Nov 23, 1999||Sep 9, 2003||Francis H. Flynn||Electronic communication delivery confirmation and verification system|
|US6651087 *||Jan 28, 1999||Nov 18, 2003||Bellsouth Intellectual Property Corporation||Method and system for publishing an electronic file attached to an electronic mail message|
|US20020161709 *||Sep 11, 1998||Oct 31, 2002||Michel Floyd||Server-side commerce for deliver-then-pay content delivery|
|WO2003005654A1 *||Jul 25, 2001||Jan 16, 2003||Koninklijke Philips Electronics N.V.||Substituting url for attachment in forwarding electronic content|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7317697 *||Nov 18, 2002||Jan 8, 2008||At&T Mobility Ii Llc||System for handling file attachments|
|US7451187 *||Nov 22, 2004||Nov 11, 2008||At&T Intellectual Property I, L.P.||Viewing attachments to electronic communications via pushing the attachment to a networked viewing site|
|US7653893 *||Jan 26, 2010||Microsoft Corporation||Methods and apparatus for implementing checkin policies in source code control systems|
|US7930354 *||Dec 21, 2005||Apr 19, 2011||Research In Motion Limited||System and method for reviewing attachment content on a mobile device|
|US8255791 *||May 9, 2007||Aug 28, 2012||Dov Koren||Collaborative, flexible, interactive real-time displays|
|US8296644||Oct 23, 2012||Dov Koren||Content sharing using access identifiers|
|US8307079||Nov 6, 2012||Dov Koren||Sharing of information associated with application events|
|US8392817||Mar 5, 2013||Dov Koren||Sharing of content associated with events|
|US8473839||Aug 25, 2011||Jun 25, 2013||Dov Koren||Filtering shared content|
|US8595304||Mar 14, 2011||Nov 26, 2013||Blackberry Limited||System and method for reviewing attachment content on a mobile device|
|US8595629||Aug 16, 2011||Nov 26, 2013||Dov Koren||Sharing of content associated with events|
|US8660537||Nov 18, 2002||Feb 25, 2014||At&T Mobility Ii Llc||System for the storage and retrieval of messages|
|US8732156||Jun 4, 2012||May 20, 2014||Microsoft Corporation||Online service for program lookup|
|US8762825||Feb 17, 2011||Jun 24, 2014||Dov Koren||Sharing of information associated with events|
|US8984386||Feb 17, 2011||Mar 17, 2015||Dov Koren||Providing alerts in an information-sharing computer-based service|
|US8984387||Jun 8, 2011||Mar 17, 2015||Dov Koren||Real time sharing of user updates|
|US9098828||Feb 17, 2011||Aug 4, 2015||Dov Koren||Sharing of information associated with events|
|US9098829||Jun 2, 2011||Aug 4, 2015||Dov Koren||Sharing of information associated with events|
|US9105010||Jul 25, 2011||Aug 11, 2015||Dov Koren||Effective sharing of content with a group of users|
|US9208469||Jun 6, 2011||Dec 8, 2015||Dov Koren||Sharing of information associated with events|
|US20030095550 *||Nov 18, 2002||May 22, 2003||Lewis John Ervin||System for handling file attachments|
|US20040230644 *||May 21, 2004||Nov 18, 2004||Tatsuo Aratake||E-mail transfer server apparatus and e-mail transfer system|
|US20050086315 *||Nov 22, 2004||Apr 21, 2005||Bellsouth Intellectual Property Corporation||Viewing attachments to electronic communications via pushing the attachment to a networked viewing site|
|US20050086527 *||Oct 17, 2003||Apr 21, 2005||Jackson Miles R.||System and method for tracking distribution of digital content|
|US20060041628 *||Aug 23, 2004||Feb 23, 2006||International Business Machines Corporation||Electronic routing slips for inter-organizational electronic mail|
|US20060200803 *||Mar 4, 2005||Sep 7, 2006||Microsoft Corporation||Methods and apparatus for implementing checkin policies in source code control systems|
|US20070143421 *||Dec 21, 2005||Jun 21, 2007||Research In Motion Limited||System and method for reviewing attachment content on a mobile device|
|US20090055498 *||Aug 22, 2007||Feb 26, 2009||International Business Machines Corporation||Administration Of Time-Sensitive Email|
|US20090055499 *||Aug 22, 2007||Feb 26, 2009||International Business Machines Corporation||Administration Of Time-Sensitive Email|
|US20090063648 *||Nov 10, 2008||Mar 5, 2009||At&T Intellectual Property I, L.P.||Viewing Attachments to Electronic Communications Via Pushing the Attachment to a Networked Viewing Site|
|U.S. Classification||709/206, 717/173, 717/178|
|International Classification||G06F15/16, G06F9/445, G06F9/44|
|Cooperative Classification||H04L67/34, H04L67/02, G06F9/44526, G06Q10/00, H04L12/58|
|European Classification||G06F9/445L2, H04L12/58, H04L29/08N33, H04L29/08N1, G06Q10/00|
|Apr 27, 2000||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPINAC, CLIFFORD JAY;REEL/FRAME:010778/0965
Effective date: 20000427
|Apr 19, 2010||REMI||Maintenance fee reminder mailed|
|Sep 3, 2010||SULP||Surcharge for late payment|
|Sep 3, 2010||FPAY||Fee payment|
Year of fee payment: 4
|Apr 25, 2014||REMI||Maintenance fee reminder mailed|
|Aug 27, 2014||FPAY||Fee payment|
Year of fee payment: 8
|Aug 27, 2014||SULP||Surcharge for late payment|
Year of fee payment: 7
|Mar 13, 2015||AS||Assignment|
Owner name: LINKEDIN CORPORATION, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:035201/0479
Effective date: 20140331