This invention relates to controlling access to electronic content.
Networks such as the Internet offer organizations a powerful tool for distributing information. For example, many merchant Web-sites offer on-line catalogs that use multimedia presentations to sell goods and services. Unfortunately, as the convenience of Internet shopping and research attracts greater numbers of users, a corresponding increase in Internet traffic has lengthened download times. As users sometimes pay for network access by the hour, lengthy download times can be costly as well as time consuming.
While some users suffer from delays, some Web-site owners can have difficulty attracting visitors to their site. For example, a typical search engine such as Yahoo!™ can generate a lengthy list of Web-sites for almost any user search request. Few users bother to explore each listed site.
In general, in one aspect, the invention features a computer-implemented method of controlling access to electronic content includes receiving electronic content and producing a file that includes the electronic content and instructions for collecting and transmitting payment information. The method further includes receiving a reply to the transmitted message and selectively providing access to the electronic content based on the reply. Advantages can include one or more of the following. The envelope creation instructions enable virtually any content developer connected to the Internet to publish and receive payment for electronic content. Additionally, as the envelope instructions remain with the envelope throughout its life, the envelope author continues to receive payment from users accessing the envelope contents regardless of how the users obtained the envelope.
The envelope provides a simple to use and intuitive user interface that guides recipients through the process of paying for content. The presentation of the electronic content in an envelope can be tailored by the envelope creator, for example, by designating content that will be presented automatically when the content is opened. This enables envelope creators to craft the envelopes for different purposes.
The storage of creator-defined data in the server database permits collection of different information for each envelope such as envelope-specific questionnaires. The collected information can be used to target distribution of subsequent envelopes to potentially interested recipients. By distributing the envelope via e-mail, recipients need not experience the sometimes lengthy delays associated with downloading web-pages from the Internet.
Other advantages of the invention will become apparent in view of the following description, including the figures, and the claims.
Referring to
As shown in
The server 112 can store information included in the access request 124 in an envelope database 116, for example, for subsequent marketing analysis. The server 112 can also send a payment authorization request 128 to a payment service 118 such as Maverick™. The payment service 118 acts as a clearinghouse for different credit card bureaus such as Visa 120 or MasterCard 122. The credit card bureaus can process payment authorization requests by deducting the payment amount from a first account (e.g., a user submitting the access request 124) and by crediting a second account (e.g., an account of the envelope creator). After receiving a payment authorization code 130 from the payment service 118, the server 112 can transmit an access request response 126 back to the client 100. The envelope instructions 104 executing on the client 100 can permit or deny access to the electronic content based on the received access request response 126.
Other embodiments eliminate system elements shown in
The envelope instructions 104 ensure that each user has authorized access to the electronic content 108, 110. Thus, the envelope 102 enables a content distributor to make an envelope 102 freely available with lessened concern over electronic content piracy. For example, an envelope distributor can post an envelope 102 for downloading on an Internet web-page or at an FTP (File Transfer Protocol) site. Additionally, a distributor can e-mail envelopes 102 to recipients who have previously requested access to envelopes in the past. The ability to target envelopes 102 to interested consumers makes the envelope 102 a valuable marketing tool. Additionally, e-mailing the envelope to selected recipients eliminates the time a user would have to wait for the electronic content to download from a web-site.
Referring to
For example, a user can designate 136 electronic content for automatic opening after the server grants access to envelope contents. By selecting electronic content for automatic opening, the envelope creator can control the initial presentation of envelope contents rather than leaving users to explore content 108, 110 included in the envelope 102 on their own. In one embodiment, the user can designate electronic content for automatic opening by naming the file “Startup” (e.g., startup.html). Launching the electronic content can cause an the operating system to open the file using an application corresponding to the file extension (e.g., “.HTML” corresponds to Microsoft™ Explorer™ and “.DOC” corresponds to Microsoft™ Word97™).
The creation software 132 also enables a user to define data collected 138 by the envelope instructions 104 prior to requesting access. For example, a user can use HTML instructions to define a data collection form having text, graphics, and data fields. The envelope instructions 104 interpret the HTML and present the form to a user requesting access. By defining fields a user can collect a wide variety of information such as responses to a questionnaire, demographic information, etc.. The collected information is transmitted to the server 112 for storage and analysis. The use of HTML to specify a data collection form enables creators to take advantage of their existing HTML coding skills. Alternatively, the user can specify data collection instructions that collect information from the client 100 Windows™ Registry™ instead of interactive collection from a user.
The envelope creator may specify 140 a price for the electronic content 108, 110. The price can be included in each access request sent by the envelope instructions 104 to the server 112. Alternatively, an envelope creator can establish the price by calling a server representative or by e-mailing the price to a server daemon. Similar techniques may be used to supply the server with an account number that is to be credited when an envelope recipient pays for access to an envelope.
The envelope creator may also specify 142 password protection, encryption (e.g., Blowfish encryption), and/or compression of the electronic content. These options can enhance the security of the electronic content 108, 110 as it travels over a public network, reduce the size of the envelope, and prevent users from access the electronic content without requesting access from the server 112.
As described above, each envelope 102 stores 144 an envelope identifier 106 (e.g., a character string) that uniquely identifies the envelope 102 to the server 112. The identifier 106 can be determined in a number of different ways. For example, the envelope creation program 132 can append a system clock time to a computer's IP (Internet Protocol) address. Alternatively, the creation software 132 can request a unique envelope identifier from the server 112 during the envelope creation process.
After configuration, the creation software 132 builds the envelope 102 from the identified electronic content 108, 110, the envelope identifier 106, and the envelope instructions 104. The creation software 132 arranges envelope 102 components such that execution of the envelope file (e.g., “C: run envelope.exe”) causes execution of the envelope instructions.
The envelope creation instructions 132 can employ a variety of different user interfaces and can use a number of different architectures. For example, referring to FIGS. 3 to 8, the envelope creation software 132 may reside on a web server. A user visiting the web server can build an envelope by filling in a series of forms that collect envelope configuration information from a creator.
As shown in
As shown in
Referring to
Both of the embodiments above can use the same envelope creation instructions. For example, the envelope creation software can be coded as a component (e.g., a COM component) that provides a set of public methods such as envelope.Build, envelope.AddContent, and envelope.SetPassword. This component can be included in a stand-alone application or called by a program at the web-server.
Referring to
Referring to
If the user has not previously received an access grant, the envelope instructions 104 collect 152 data specified during envelope creation and include the data in an access request 156 to the server 112. Prior to transmitting the request, the instructions 104 establish secure communication with the server 112. For example, the instructions 104 may initiate a secure socket layer (SSL) connection between the client 100 and server 112.
Referring to
Regardless of which encryption technique is used, establishing secure communication helps prevent network eavesdroppers from determining credit card numbers and other access request information traveling between the client 100 and server 112.
Referring again to
The instructions 104 attempt to transmit the access request via a communication port conventionally associated with browser communication (e.g., port 80). If such an attempt fails, the instructions 104 attempt to transmit the collected data via an SMTP (Simple Mail Transfer Protocol) port (e.g., port 25). The instructions may also examine the client 112 Windows™ Registry to determine whether the client connects to the network via a proxy.
After transmitting 156 the data, the instructions 104 await 158 an access request response from the server 112. If an access request response indicates the server 112 has granted access, the instructions 104 decompress and/or decrypt 164 the electronic content and launch 166 startup content designated by the user. The instructions 104 can also store 166 an indication that the user has received an access grant, for example, by storing the envelope ID or a server supplied key in the Registry.
Alternatively, if the server 112 denied access (e.g., the payment service denied payment authorization or communication with the server 112 failed), the instructions 104 can display a message to the user describing why the electronic content is not being presented.
Referring to
The database 116 also includes a separate envelope description table 210 for each envelope. The columns in the envelope description table 210 include data fields collected by the envelope. The server 112 dynamically creates the envelope description table 210 upon receiving the first access request for an envelope. The dynamic creation of an individualized table 210 for an envelope enables the server to store different creator-defined data for each envelope.
Referring to
If the collected data does not include a “CC#” or “credit card number” data field 240, the server 112 can transmit an access request response to the client 100 granting access to the electronic content.
If the collected data includes a credit card number field 240, the server 112 transmits 242 a payment authorization request to the payment server and awaits a response. The payment authorization request includes the credit card number and the credit card expiration date. The request may also include the envelope price. Alternatively, the price may be stored in the master envelope table.
If the payment server authorizes payment of the price of the electronic content, the server 112 transmits an access request response to the client 244 indicating that the envelope instructions 114 should grant access. The server instructions 114 may track the success and failure of envelope access requests over time.
Referring to
The techniques described here are not limited to any particular hardware or software configuration; they may find applicability in any computing or processing environment. The techniques may be implemented in hardware or software, or a combination of the two. Preferably, the techniques are implemented in computer programs executing on programmable computers that each include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code is applied to data entered using the input device to perform the functions described and to generate output information. The output information is applied to one or more output devices.
Each program is preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system. however, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language.
Each such computer program is preferable stored on a storage medium or device (e.g., CD-ROM, hard disk or magnetic diskette) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described in this document. The system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner.
This application relates to U.S. patent application Ser. No. 09/199,150, entitled “Tracking Electronic Content” which is incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60159327 | Oct 1999 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11400394 | Apr 2006 | US |
Child | 11889611 | Aug 2007 | US |
Parent | 10110718 | Jun 2003 | US |
Child | 11400394 | Apr 2006 | US |