The invention is directed to systems which allow convenient and secure access control for online content, particularly, content accessible via the Internet. Although not limited to applications involving payment for granting access to online content, embodiments of the invention are particularly suited to such applications. The invention encompasses methods for facilitating access control for online content as well as computer systems and program products for implementing such methods.
The Internet provides a very convenient platform for publishing digital media such as music, photographs, literary works, video and audio visual works, reports, blogs, articles, and many other types of digitally stored products and material (all generally referred to herein as “content”). However, content publishers have found it difficult to obtain compensation for their Internet-published content. For content that can command relatively high prices, such as subscriptions to entire news websites, magazine or journal websites, or website accessible databases, it is economically viable for the publishers to sell subscriptions through their own or third-party administered online payment systems. In return for the subscription payment by credit card or electronic funds transfer, the purchaser is provided an account with a user identifier and password which the purchaser may then use to obtain access to the online material. However, even with these online payment systems, internal costs or external transactions fees effectively reduce the compensation to the online publisher. Also, internal costs of running an online payment system and/or transaction fees associated with third party payment systems make these systems too expensive for online publishers providing online content that cannot command a relatively high price. For example, a blogger may wish to sell online access to their blog for a relatively low price, say in the neighborhood of one dollar or less. The costs associated with prior online payment systems may take the majority of that overall sales price, leaving the blogger with little compensation for their efforts. The problem is exacerbated for online publishers who may wish to provide access to their online publications on a limited basis. For example, an electronic magazine or news publisher may wish to provide access to individual articles at very low prices rather than requiring an expensive subscription for access to the entire publication. Again, prior online payment systems make such pay-per-access models economically unviable. Ultimately, the lack of a viable way for an online content publisher to obtain compensation for their content leaves the content publisher little choice but to publish their content online for free and seek other compensation models such as models which rely on advertising revenue. The only other alternative would be to simply not publish their content online
The present invention is directed to methods and systems for allowing an online content publisher to set prices for access to their online content, set access terms for that online content, and obtain compensation for consumer access to that online content. Methods and systems embodying the principles of the invention facilitate low transaction costs and thus allow online content publishers to set very low prices for access to online content and still obtain fair compensation for granting access to that online content. In some embodiments, the invention allows an online content publisher to set their prices and access terms on a link-by-link basis directly from the online content publisher's own web page. From the online content consumer's standpoint, methods and systems according to the present invention allow the purchase of online content access quickly and simply through a purchasing interface which is consistent from one online content publisher page to the next and which appears directly on the web page containing the link to the online content to which access is desired. Because embodiments of the invention may be embodied in systems containing various computer processing devices, the invention also encompasses program products storing program code which is executable to perform the various method steps.
Throughout this disclosure and in the claims, the following definitions will apply unless specifically stated otherwise. “Premium content” refers to any content to which a publisher may restrict access. Access to premium content may or may not be conditioned on a payment to obtain access. “Online” refers to availability or accessibility across a network such as the Internet, which provides a standard for communications between different network accessible devices. Although the invention is particularly suited for applications in which the network used for communications is the Internet, the invention may be applied to any network such as private networks or intranets employing any suitable network infrastructure. “Web page” refers to a network address which stores information which can be executed by suitable software such as Internet browser software to display information and to provide links to premium and other content. A “link” is a functional network address such as an Internet hyperlink which may be invoked to direct suitable network access software such as an Internet browser to a web page. A “widget” is an auxiliary software application that can be installed and executed within a web page.
One aspect of the present invention provides a method for controlling access to online content. In particular, the method puts a web page containing a link to premium content in a condition in which a user may request and gain access to the premium content. In one embodiment a method for controlling access to online content includes receiving a gateway page setup request at an access server. The gateway page setup request is received across a computer network such as the Internet from a consumer access device such as a personal computer running Internet browser software, and is associated with a web page address for a content gateway web page. This content gateway web page comprises a web page which includes one or more links to premium content, access to which is controlled through the method. Responsive to the gateway page setup request the access server in this embodiment of the invention searches an asset record database for an asset record associated with a respective link provided on the content gateway web page. This search is performed for each different premium content link provided on the content gate. Upon locating the respective asset record associated with a respective premium content link, the access server generates a descriptor for that link and causes the descriptor to be communicated to the consumer access device across the computer network. Each descriptor includes at least an indication that content associated with the respective link is premium content, and may include additional information such as the terms of access to that premium content such as price and time limits for access included in the asset record. The method performed through the access server according to this example embodiment then includes receiving back from the consumer access device a respective access widget request for each descriptor sent to the consumer access device. Responsive to each access widget request, the access server causes a respective access widget to be communicated to the consumer access device over the computer network. Each access widget is executable at the consumer access device to produce a first consumer interface that allows a consumer at the consumer access device to cause the generation of a content access signal indicating an intention to access the content associated with the respective premium content link.
Further method steps may be performed at the access server to actually grant access to the premium content. In one embodiment these further steps include receiving the content access signal at the access server. The content access signal is received from the consumer access device across the computer network and identifies the link to the content to which access is desired. Responsive to receipt of the content access signal, the access server determines if conditions are met for access to the respective content associated with the link identified by the content access signal. If conditions for access are met, the access server generates a ticket record including a unique ticket record identifier and content identifying information, stores the ticket record in an access database, generates a ticket corresponding to the ticket record, and causes the ticket to be communicated to the consumer access device over the computer network. The access control process performed at the access server next includes receiving a redemption request. The redemption request is received over the computer network from a content server hosting the content associated with the link identified by the content access signal, and includes the first ticket. Responsive to receipt of the redemption request, the access server uses the ticket to look up the first ticket record and verifies that the first ticket record is associated with the content associated with the link identified by the content access signal. If this verification is successfully completed, the access server modifies its state based upon the conditions for access to the content associated with the link and causes an access approval signal to be communicated to the content server over the computer network. If the conditions for access require a payment from the consumer, the change in state includes debiting the consumers account with the access server and crediting the content publisher's account.
It will be appreciated that the process steps described above are process steps performed by the access server and are depend upon actions taken at the consumer access device and at the content server hosting the premium content. These actions external to the access server will be described in the Description of Illustrative Embodiments below in connection with the drawings.
Another aspect of the invention involves methods performed at the access server to allow a publisher of online content to set up their own web page as a content gateway web page to facilitate the content access processes according to the invention. One embodiment of this aspect of the present invention includes receiving a publisher page administration request at the access server. The publisher page administration request is received from a publisher administration device such as a personal computer running an Internet browser, and identifies a web page to be administered, that is, a web page which is to serve as a content gateway web page. Responsive to the receipt of the publisher page administration request, the access server causes an administration widget to be communicated to the publisher administration device, the administration widget being executable at the publisher administration device to display an administration interface on the web page to be administered. The administration interface allows the publisher to make other selections which ultimately generate a link setup request identifying a particular premium content link on the web page to be administered together and publisher-selected conditions for access to the premium content through the link, and causes that request to be communicated to the access server over the computer network. The method executed at the access server then includes receiving the link setup request at the access server. Responsive to the link setup request, the access server generates and stores an asset record at an asset record database accessible to the access server. This asset record includes data specifying the publisher-selected conditions for access to the premium content through the link and as noted above, is used to produce the descriptors used in setting up a content gateway web page to generate access signals.
The present invention also encompasses an access server for administering access control for online content, and for enabling remote configuration of a web page as a content gateway web page. In this aspect of the invention the access server includes a network controller operatively connected to a computer network, one or more processors operatively connected for communications to and from the computer network through the network controller, and one or more program storage devices storing program code executable to perform the access server steps described above, described further below in connection with the drawings, and set out in the claims.
Since embodiments of the present invention may be implemented in general purpose data processing systems, the present invention encompasses program products comprising non-transitory computer readable media storing program code. The program code may include gateway page setup program code and access widget distribution program code. The gateway page setup program code is executable at the access server to cause the server to receive the gateway page setup request and respond to that request as described above and further below. The access widget distribution program code is executable by the access server to cause the access server to receive the access widget request respond to that request as described above and further below. Program products according to the invention may also store content access signal processing program code and redemption signal processing program code. The content access signal processing program code is executable by the access server to cause the access server to receive a content access signal and respond to such a signal as described above and further below. The redemption signal processing program code is executable by the access server to cause the access server to receive a redemption request and respond to the redemption request as described above and further below.
Other program products according to the invention may store program code executable to facilitate the setup of a content gateway web page as described above. These program products may include publisher page administration program code and publisher link setup program code. The publisher page setup program code is executable to cause the access server to receive a publisher page administration request and respond to such a request as described above and further below. The publisher link setup program code is executable to cause the access server to receive a link setup request and respond to such a request as described above and further below.
These and other advantages and features of the invention will be apparent from the following description of illustrative embodiments, considered along with the accompanying drawings.
In the following descriptions,
Referring to
The other types of devices connected to network 101 in
Access devices included in the example network shown in
Network communications between the various devices may be in any standard and may be provided via any suitable transmission technique or combination of transmission techniques. At least part of the transmission path between devices may be wireless. Any wired portions of the transmission path between devices may be over an electrical conductor or an optical fiber, or any combination of such transmission lines.
Referring to
Those familiar with data processing devices and systems will appreciate that other basic electronic components may be included in server or access device employed according to the present invention such as a power supply, cooling systems for the various system components, and other devices that are common in server computers, personal computers, laptop computers, notebook computers, tablet computers, and smart phones. These additional devices are omitted from the drawings so as not to obscure the present invention in unnecessary detail.
System bus 206 is shown in
In the illustrated data processing system 200, CPU 202 executes software, that is, program code 212, which ultimately controls the entire system including the receipt and transmission of various communications. These communications will be described below particularly in connection with the diagrams shown in
It should be noted that the invention is not limited to data processing devices employing the personal computer-type arrangement of processing devices and interfaces shown in example system 200. Other data processing systems through which the invention may be implemented may include one or more special purpose processing devices to perform the various processing steps for implementing the invention. Unlike general purpose processing devices such as CPU 202, which may comprise an Intel Core® processor for example, these special purpose processing devices may not employ operational program code to direct the various processing steps.
An overall content access control process may be described with reference to the flow charts of
As shown at block 301 in
Upon receipt from the content gateway page server, the consumer access device (108 in
Responsive to the gateway page setup request, the access server searches and asset record database for a respective asset record associated with each premium content link. As indicated at process block 305, the access server also uses the respective asset record it locates to generate a respective descriptor for that asset record and the corresponding premium content link on the content gateway web page. As also shown at process block 305, the access server then causes the descriptor for each premium content link to be communicated to the consumer access device. Each descriptor may be signed by the access server with a secret key specific to the domain of the premium content link. The signature allows the access server later in the process to ensure that the given descriptor has not been altered. Each returned descriptor contains at least information indicating that the content associated with the premium content link is in fact premium content. In some forms of the invention, each descriptor may include further information about the respective premium content link such as whether or not the user/consumer associated with the gateway page setup request is allowed to access the link, how much access costs, the term (time limit if any) of access, and other information obtained from the corresponding asset record.
As indicated at process block 308 in
As shown at process block 309 in
Referring now to
In response to the content signal access signal, the access server in this example process performs a number of operations that ultimately determine conditions are met for access to the content associated with the premium content link. As shown at process block 318, the access server determines whether the consumer/user is a valid user of the content access control system. This may include checking for a login cookie included in the content access signal to determine if the consumer/user is logged in to the content access control system. Regardless of the particular steps performed at process block 318, if the consumer/user is not a valid user, the process branches from decision box 319 and the access server sends an error message to the consumer access device as shown at process block 320. This error message may indicate that the consumer/user log in to the content access control system in accordance with a suitable login process as indicated at process block 321. The error message may include a user interface that allows the consumer/user to log in.
If the consumer/user is valid as indicated by a positive result at box 319, the process proceeds to process block 324 where the access server validates the access request represented by the access signal received at process block 318. This validation may include validating the descriptor or information from the descriptor included in the access signal and may include verifying the signature associated with the descriptor. If the descriptor/descriptor information/access request is valid, the access server may also validate that the user has sufficient funds in their respective consumer/user account with the access control system to cover any purchase price associated with the content corresponding to the premium content link. If a purchase price is required and if the consumer/user account does not contain sufficient funds, the access server causes an error message to be communicated to the consumer access device. The error message may be communicated with a widget which causes the consumer access device to generate a user interface that requests that the consumer/user add funds to their account. If all necessary conditions are met, the access server generates a ticket record as indicated at process block 324. The ticket record contains information specific to the access request, such as, for example, a subset of information in the corresponding to the respective premium content link, information about the consumer/user, an expiration date and/or time for the ticket record, and a unique ticket record identifier. The access server stores the ticket record in a ticket record database maintained by the access server, and generates a ticket for the ticket record using the unique identifier of the ticket record. In some cases, the access server may sign and encrypt the ticket. Ultimately, the access server causes the ticket (signed and encrypted or otherwise) to be communicated to the consumer access device, and particularly the access widget which produced the content access signal sent at process block 315 in
Back at the consumer access device from which the content access signal was received, the respective access widget may append the ticket as a parameter to the premium content link for which the content access signal was sent, and causes the consumer access device (perhaps through the browser executing at that device) to communicate an access request to content server storing the premium content corresponding to the premium content link. This ticket appending step and access request to the appropriate content server is shown at process block 325 in
As shown at process block 328 of
The access server receives the redemption request as indicated at process block 329, and validates the ticket. The validation process may include decrypting the ticket if encrypted, validating the ticket's signature if signed, and looking up the corresponding ticket record in the access database and comparing the premium content identifying information included in the redemption request with the premium content identifying information in the ticket record to verify that the ticket included in the redemption request is associated with premium content corresponding to the premium content link. If the located ticket record does not correspond to the requested premium content or if the ticket is otherwise invalid as indicated by a negative outcome a decision block 332, the access server sends an error message to the content server and the content server responds by denying access to the premium content which was the subject of the access request received at process block 328. This error message and access denial step is shown at process block 334. However, if the located ticket record corresponds to the requested premium content, the access responds to the redemption request by changing the state of the access server according to the terms of access for the premium content as shown at process block 336 and sends an access approval signal to the content server. The terms of access employed to change the state of the access server may be determined form the ticket record in some forms of the invention. Where the conditions for access require a payment from the consumer/user, the change in state may include deducting the purchase amount contained in the ticket record from the consumer/user's account and crediting the publisher/user account corresponding to the content. The publisher/user account may be associated with the specific content gateway web page or the domain for that page. Ultimately, as shown at process block 338, the content server receives the access approval signal from the access server and sends the requested premium content to the consumer access device.
In some forms of the invention, if the ticket is not valid, the access server verifies that the indicated content is protected. If it is, the access server returns an error to the content server and the content server denies access to the content. If the indicate content is not protected, the access server sends an access approval signal to the content server and the content server sends the requested content to the consumer access device. This procedure performed when the ticket in the redemption request is not valid addresses the situation in which the content was protected through the access control system when the ticket was issued, but is no longer protected through the access control system.
It should be noted that the overall process which in
In some forms of the invention, consumer/user control panel 801 is generated by a consumer/user control panel widget which is executed on the particular web page. In these forms of the invention when a consumer/user is logged in to their access server account and navigates their access device (such as a PC executing an Internet browser) to a domain that is associated with a publisher/user account, the publisher client code executed at the access device when the publisher web page is displayed sends a control panel request to the access server. This control panel request is able to identify the consumer/user since the user is logged in to their access server account. Thus the access server may cause the consumer/user control panel widget to be communicated to the access device displaying the web page together with information to populate the consumer/user-dependent fields in the consumer/user control panel.
In the embodiment shown in
It should be noted that in the case of both
The state of administration interface 1001 shown in
The example shown in
In another aspect of the present invention the access server employs a specialized widget in place of the access widget described above in connection with
If all necessary conditions are met (there may be other conditions), the access server creates a ticket record. The ticket record contains information specific to the request, including a subset of information in the descriptor, information about the consumer/user, an expiration date, and a unique ticket identifier. The access server stores the ticket record in the access database. The ticket record specifies a price of zero. The access server then generates a ticket for the ticket record using the unique identifier of the ticket record. Is some cases, the ticket may be signed and encrypted.
The access server then sends a request to the website at the address specified in the descriptor and using the ticket. The request may contain action specific information specified by the website.
If a website receives a request for an action that contains a ticket, the website contacts the access server and attempts to redeem the ticket by sending a redemption request to the access server. Responsive to the redemption request, the access server will decrypt the ticket, if encrypted, and validate the ticket signature if signed, look up the corresponding ticket record, and if the ticket record corresponds to the requested action identified in the redemption request, the access server returns a positive response to the website, which can perform server side data modification. The website then returns a successful response to the access server.
If the access server receives a successful response from the website, the access server deducts the price of the action if any from the consumer/user account and credits the domain of the action. It then returns a successful response to the action widget. Upon receiving a successful response, the action widget calls client code that notifies the web page that the action was successfully executed. The notification includes information that allows the client to match up information with information sent by the access server to the website.
In another aspect of the invention a publisher/user may specify a graph based price for their premium content. This graph based price varies the price of the premium content based on how many degrees of separation the purchaser (consumer/user) is from the seller (publisher/user) on a graph. In this sense, a graph is a mathematical construct that models relationships between entities. An entity is a node, and a relationship is a link. For example, in the social graph used by Facebook®, users are nodes, and if they are friends, users are related, or linked. For any two nodes, the graph distance may be calculated. The graph distance is the minimum number of links that must be traversed to go from one node to another. There are other graph properties that relate one node to another.
The present invention employs the value of a selected graph property function that takes as a parameter two nodes that represent the seller (publisher/user) and buyer (consumer/user) as a parameter when computing the price of a good or service. In a social graph for example, if a seller is selling a good, their friends may receive it for free, while friends of friends pay a small prices, and anyone farther in the graph pays full price.
This graph based pricing may be implemented in embodiments of the access control system according to the invention by providing the publisher/user at least one graph-based pricing option in the pricing options available through the administration interface such as that shown for example in
The above processes described above refer to different user log in steps, for example, by a consumer user of the access control system or by a publisher user of the access control system. These login steps may include any suitable login arrangement. For example, a user may navigate to a login web page hosted by the access server and providing a place to enter a user name and password associated with a previously created account for the user. When the enters their user name and password and operates the page controls to send that data to the access server, the access server may update the status of the user in a user database and may return a login cookie to the user's access device from which they entered the username and password. Thereafter, any communication from that user access device may include the login cookie to allow the access server to recognize that the communication is associated with the particular user.
As used herein, whether in the above description or the following claims, the terms “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” and the like are to be understood to be open-ended, that is, to mean including but not limited to. Similarly, the term “each” is not intended to be read as exclusive. Any use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another, or the temporal order in which acts of a method are performed. Rather, unless specifically stated otherwise, such ordinal terms are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term).
The above described preferred embodiments are intended to illustrate the principles of the invention, but not to limit the scope of the invention. Various other embodiments and modifications to these preferred embodiments may be made by those skilled in the art without departing from the scope of the present invention. For example, the above disclosure refers to many communications and signals sent from and to the access server. These communications may be in any form supported by the computer network and may be single signals of communications or divided up into multiple distinct signals or communications to transfer the desired information.
The Applicant claims the benefit, under 35 U.S.C. §119(e), of U.S. Provisional Patent Application No. 61/951,267 filed Mar. 11, 2014, and entitled “Access Control System for Online Content.” The entire content of this provisional application is incorporated herein by this reference.
Number | Date | Country | |
---|---|---|---|
61951267 | Mar 2014 | US |