(19)
(11) EP 1 455 289 A1

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
08.09.2004 Bulletin 2004/37

(21) Application number: 03075679.5

(22) Date of filing: 07.03.2003
(51) International Patent Classification (IPC)7G06F 17/60
(84) Designated Contracting States:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR
Designated Extension States:
AL LT LV MK

(71) Applicant: Koninklijke KPN N.V.
9726 AE Groningen (NL)

(72) Inventors:
  • Falkenhain, Frank
    42489 Wülfrath (DE)
  • Thierbach, Heiko
    90480 Nurnberg (DE)

(74) Representative: Wuyts, Koenraad Maria et al
Koninklijke KPN N.V., Intellectual Property Group, P.O. Box 95321
2509 CH Den Haag
2509 CH Den Haag (NL)

   


(54) Method and system for event-based billing and content delivery


(57) Method and system for event-based billing and content delivery for event-based premium content requested from a terminal user (100) delivered via a portal (200). It can be determined whether or not the content is already delivered but deliverable again based on the existence of a ticket and/or other criteria. A credit check can be speed up by checking a credit threshold variable outside the billing system.




Description

Field of the invention



[0001] The invention relates to event-based billing and content delivery. More specifically the invention relates to billing and delivery of event-based premium content by a portal.

Background of the invention



[0002] Many existing billing models for premium content are based on subscriptions. The need for event-based billing and content delivery solutions is growing, especially for content delivered via portals for mobile data networks such as GPRS and UMTS.

[0003] US patent US6373933 describes a method for implementing transaction-based billing for telephone services. US6373933 is applicable to telephony networks comprising an intelligent network component, but cannot be used for data networks such as the Internet or mobile data networks.

Problem definition



[0004] A solution capable of handling millions of event-based billing and content delivery requests per month, the solution moreover being able to allow in some cases subsequent delivery of the same premium content without the customer having to pay for it again, is not available.

Aim of the invention



[0005] The aim of the invention is to provide a solution for event-based billing and content delivery capable of handling millions of event-based billing and content delivery requests per month, the solution moreover being able to allow in some cases subsequent delivery of the same premium content without the customer having to pay for it again.

Summary of the invention



[0006] According to an aspect of the invention a method and system for event-based billing and content delivery are provided for a content requested from a terminal user.

[0007] The method can comprise the following steps or a subset of the following steps, where the system can comprise means to handle these steps:
  • Determining whether or not the content is already delivered but deliverable again, which can be based on the existence of a ticket and/or whether or not a time-out is reached and/or whether or not a predefined number of downloads is reached. The ticket can be deleted when the time-out is reached and/or when the predefined number of downloads is reached.
If the content is not already delivered or not deliverable again:
  • Verifying a credit of the terminal user. This verification step can comprise reading a credit threshold variable and checking if the credit threshold variable is at a predetermined value. If the credit threshold variable is at the predetermined value, a credit check can be requested and it can be verified if the credit of the terminal user is at a predetermined minimum level. The event-based billing and content delivery can be stopped if the credit of the terminal user is at the predetermined minimum level.
  • Validating the request for content. This validation step can comprise retrieving an information about the content. The information can comprise a price for the content. An acceptation page can be sent to the terminal user and can comprise the price for the content and/or means for returning an acceptation statement for the price of the content. The acceptation statement can be retrieved from the terminal user and/or checked. The acceptation statement can include a pin code. The event-based billing and content delivery can be stopped if the acceptation statement is negative or invalid. A ticket can be created if the acceptation statement is positive and valid.
  • Delivering the content to the terminal user. This delivery step can comprise retrieving the content from a content provider and/or sending the content to the terminal user. It can be checked whether or not the content is retrieved correctly from the content provider. The event-based billing and content delivery can be stopped if the content is not retrieved correctly from the content provider. A variable keeping track of a number of downloads can be changed.
  • Billing the content. This billing step can comprise sending an electronic data record to a billing system and/or checking whether or not the credit of the terminal user is at the predetermined minimum level. The credit threshold variable can be set to the predetermined value if the credit of the terminal user is at the predetermined minimum level. The event-based billing and content delivery can be stopped if the credit of the terminal user is not at the predetermined minimum level.
If the content is already delivered but deliverable again:
  • Delivering the content to the terminal user. This delivery step can comprise the steps described for de delivery step above.
The System can comprise a portal. The portal can be connected to the terminal user, a content provider, a billing system, a storage and/or a database. The portal can comprise a front-end part and a back-end part. The front-end part can be connected to the terminal user and/or the content provider. The back-end part can be connected to the billing system, the storage and/or the database.

[0008] The system can comprise one or more modules. One or more modules can be provided to determine whether or not the content is already delivered but deliverable again based on whether or not a time-out is reached. One or more modules can be provided to delete the ticket if the time-out is reached. One or more modules can be provided to determine whether or not the content is already delivered but deliverable again based on whether or not a predefined number of downloads is reached. One or more modules can be provided to delete the ticket if the predefined number of downloads is reached. One or more modules can be provided to verify the credit of the terminal user by reading a credit threshold variable from the storage and/or checking if the credit threshold variable is at a predetermined value and/or requesting a credit check from the billing and/or verifying if the credit of the terminal user is at a predetermined minimum level and/or stopping the event-based billing and content delivery if the credit of the terminal user is at the predetermined minimum level. One or modules can be provided to validate the request for content by retrieving an information about the content from the database and/or sending an acceptation page to the terminal user and/or retrieving the acceptation statement from the terminal user and/or checking the acceptation statement and/or stopping the event-based billing and content delivery if the acceptation statement is negative or invalid and/or creating the ticket if the acceptation statement is positive and valid. One or more modules can be provided to deliver the content to the terminal user by retrieving the content from the content provider and/or sending the content to the terminal user. One or more modules can be provided to deliver the content to the terminal user by checking whether or not the content is retrieved correctly from the content provider and/or stopping the event-based billing and content delivery if the content is not retrieved correctly from the content provider. One or more modules can be provided to change a variable keeping track of a number of downloads. one or more module can be provided for the billing of the content by sending an electronic data record to the billing system and/or checking whether or not the credit of the terminal user is at the predetermined minimum level and/or setting the credit threshold variable to the predetermined value if the credit of the terminal user is at the predetermined minimum level and/or finishing the event-based billing and content delivery if the credit of the terminal user is not at the predetermined minimum level.

Brief description of the drawings



[0009] The invention will be explained in greater detail by reference to exemplary embodiments shown in the drawings, in which:

Fig.1 shows the steps of the event-based billing process according to an exemplary embodiment of the invention;

Fig.2 shows the steps within the first step of Fig.1 according to an exemplary embodiment of the invention;

Fig.3 shows the steps within the second step of Fig.1 according to an exemplary embodiment of the invention;

Fig.4 shows the steps within the third step of Fig.1 according to an exemplary embodiment of the invention;

Fig.5a shows the steps within the fourth step of Fig.1 according to an exemplary embodiment of the invention;

Fig.5b shows alternative steps within the fourth step of Fig.1 according to an exemplary embodiment of the invention;

Fig.6 shows the steps within the fifth step of Fig.1 according to an exemplary embodiment of the invention;

Fig.7 shows a system for event-based billing according to an exemplary embodiment of the invention.


Detailed description of the invention



[0010] For the purpose of teaching of the invention, preferred embodiments of the method and system of the invention are described in the sequel. It will be apparent to the person skilled in the art that other alternative and equivalent embodiments of the invention can be conceived and reduced to practice without departing from the true spirit of the invention, the scope of the invention being only limited by the claims as finally granted.

[0011] In Fig.7 a portal (200) is shown, including its connections to a terminal user (100), a content provider (600), a billing system (300), a storage (400) and a database (500). The terminal user uses a terminal capable of sending and retrieving data, e.g. via Internet or a GPRS/UMTS mobile network. Examples of such terminals are a pc, laptop, wap mobile phone, i-mode phone or set-top box. The terminal user (100) retrieves content from content providers (600) via the portal (200). The portal (200) makes sure that the content is paid for when delivering it to the terminal user (100). Often the content provider (600) is a third party specialized in content provisioning, but it is also possible that the content provider is part of the portal. A special kind of content is event-based content, for which there is payment obliged per event such as a page retrieval, access to content for a specific period of time, a maximum number of downloads, etcetera. The method and system of the invention provide a solution for event-based billing and event-based content delivery from the content provider (600) to the terminal user (100).

[0012] In the best mode embodiment the portal is separated into two parts: a front-end part (201) and a back-end part (202). This increases security by separating terminal users (100) and content providers (600), both parties possibly residing outside the controlled and secured environment of the portal company, from critical internal systems such as the billing system (300), storage equipment (400) and databases (500).

[0013] With a request for event-based content the process as shown in Fig.1 starts. The request is a HTTP request:
GET http://portal/get?user_id&content_id.
In this request the id of the terminal user and the id of the requested event-based billing is included.

[0014] The request can be a first request, but is can also be a request after a failed previous request, a request because of a reload command at the terminal, or a valid subsequent request because a period of time has not elapsed yet or a maximum number of downloads is not reached yet. Therefore in a first step the status of the request is determined (1). If a ticket, a digital proof of payment stored in the portal, for the terminal user (100) exists for the requested content, a time-out value and the number of downloads are checked (11, 12, 13). Both are stored within the ticket. If all three checks are positive, the content can be delivered (4) to the terminal user (100) immediately. Other criteria for determining the status of the request could be applied. As soon as the maximum time for using the content is reached, thus the time-out value is reached, the ticket is deleted. Also when the maximum number of downloads is reached the ticket is deleted. If at least one of the three checks is negative the process continues with the verification step (2).

[0015] In the verification (2) step first checks (21, 22) a credit threshold variable by reading (22) its value from a speed-optimized LDAP storage (400). The credit threshold value indicates whether or not e.g. 90% of the credit of the terminal user (100) is used. It is stored as:
credit_threshold_reached=false|true.
Only when the threshold of 90% is reached a credit check (23) is requested from the billing system. This credit check (23) is more resource and time consuming and should be performed as less as possible. If the outcome of the credit check (23, 24) is that there is not enough credit left, the event-based billing and content delivery process is stopped (6) and a sorry-page is send to the terminal user (100).

[0016] In the next step the content request is validated (3). Therefore content pricing information is retrieved (31) from an Oracle database (500) and send (32) to the terminal user (100) in a HTML page. The HTML page includes a form for a pin code and an accept button. After retrieving (34) response from the terminal user (100) the pin code is verified. If the pin code is invalid the terminal user (100) is not allowed to retrieve the content and the event-based billing and content delivery process is stopped (6). A sorry page is then sent to the terminal user (100). If the pin code is valid then a ticket is created (35) by storing the user_id/content_id in the portal. If there is a validity period defined for the content in the Oracle database (500), e.g. a validity period of one day, then that value is stored within the ticket. Otherwise a default validity period of 60 seconds is stored. Likewise a maximum number of allowed downloads is stored, with a default of 1.

[0017] Next the content can be delivered (4) to the terminal user (100). After the content is received (41) in the front-end part (201) of the portal (200) from the content provider (600), the content retrieval is checked (42). If the content did not reach the portal intact, the event-based billing and content delivery process is stopped (6) and a sorry-page is sent to the terminal user (100). Otherwise the content is sent to the terminal user (100) and the maximum number of downloads stored in the ticket is decreased with 1.

[0018] Only if the request from the terminal user (100) was a first request the billing step (4) follows. An electronic data record containing the user_id, content_id and timestamp is sent to the billing system (600) where the price of the content is deducted from the credit. If the credit reaches the 90% threshold, thus only 10% of the credit is left, a notification is received back from the billing system (600) and the credit threshold value is set (52, 53) in the LDAP storage (400). Otherwise the event-based billing and content delivery is finished (7).


Claims

1. Method for event-based billing and content delivery for a content requested from a terminal user (100), the method comprising the steps of
   determining (1) whether or not the content is already delivered but deliverable again based on the existence of a ticket;
if the content is not already delivered or not deliverable again,
   verifying (2) a credit of the terminal user (100);
   validating (3) the request for content;
   delivering (4) the content to the terminal user (100);
   billing (5) the content;
if the content is already delivered but deliverable again,
   delivering (4) the content to the terminal user (100).
 
2. Method according to claim 1 in which the determining (1) whether or not the content is already delivered but deliverable again is also based on whether or not a time-out is reached (12).
 
3. Method according to claim 2 in which the method further comprises the step of
   deleting the ticket if the time-out is reached.
 
4. Method according to claims 1-3 in which the determining (1) whether or not the content is already delivered but deliverable again is also based on whether or not a predefined number of downloads is reached (13).
 
5. Method according to claim 4 in which the method further comprises the step of
   deleting the ticket if the predefined number of downloads is reached.
 
6. Method according to any of the preceding claims in which the verifying (2) of the credit of the terminal user (100) comprises the steps of
   reading (21) a credit threshold variable;
   checking (22) if the credit threshold variable is at a predetermined value;
if the credit threshold variable is at the predetermined value,
   requesting (23) a credit check;
   verifying (24) if the credit of the terminal user (100) is at a predetermined minimum level, stopping (6) the event-based billing and content delivery if the credit of the terminal user (100) is at the predetermined minimum level.
 
7. Method according to any of the preceding claims in which the validating (3) of the request for content comprises the steps of
   retrieving (31) an information about the content, the information comprising a price for the content;
   sending (32) an acceptation page to the terminal user (100), the acceptation page comprising the price for the content, the acceptation page also comprising means for returning an acceptation statement for the price of the content;
   retrieving (33) the acceptation statement from the terminal user (100);
   checking (34) the acceptation statement, stopping (6) the event-based billing and content delivery if the acceptation statement is negative or invalid;
   creating (35) the ticket if the acceptation statement is positive and valid.
 
8. Method according to claim 7 in which the acceptation statement includes a pin code.
 
9. Method according to any of the preceding claims in which the delivering (4) of the content to the terminal user (100) comprises the steps of
   retrieving (41) the content from a content provider (600);
   sending (43) the content to the terminal user (100).
 
10. Method according to claim 9 in which the delivering (4) of the content to the terminal user (100) further comprises the step of
   checking (42) whether or not the content is retrieved correctly from the content provider (600), stopping (6) the event-based billing and content delivery if the content is not retrieved correctly from the content provider (600).
 
11. Method according to claims 9-10 in which the delivering (4) of the content to the terminal user further comprises the step of
   changing a variable keeping track of a number of downloads.
 
12. Method according to any of the claims 6-11 in which the billing (5) of the content comprises the steps of
   sending (51) an electronic data record to a billing system (600);
   checking (52) whether or not the credit of the terminal user (100) is at the predetermined minimum level;
   setting (53) the credit threshold variable to the predetermined value if the credit of the terminal user (100) is at the predetermined minimum level;
   finishing (7) the event-based billing and content delivery if the credit of the terminal user (100) is not at the predetermined minimum level.
 
13. System for event-based billing and content delivery for a content requested from a terminal user (100), the system comprising a portal (200), the portal (200) connected to
   the terminal user (100),
   a content provider (600),
   a billing system (300),
   a storage (400) and
   a database (500),
the system comprising
   means for determining (1) whether or not the content is already delivered but deliverable again based on the existence of a ticket;
   means for verifying (2) a credit of the terminal user (100);
   means for validating (3) the request for content;
   means for delivering (4) the content to the terminal user (100);
   means for billing (5) the content.
 
14. System according to claim 13 in which the portal (200) comprises a front-end part (201) and a back-end part (202), the front-end part (201) connected to
   the terminal user (100) and
   the content provider (600),
the back-end part (202) connected to
   the billing system (300),
   the storage (400) and
   the database (500).
 
15. System according to claims 13-14 in which the system comprises one or more modules.
 
16. System according to claim 15 in which one or more modules are provided to determine (1) whether or not the content is already delivered but deliverable again based on whether or not a time-out is reached (12).
 
17. System according to claim 16 in which one or more modules are provided to delete the ticket if the time-out is reached.
 
18. System according to claims 16-17 in which one or more modules are provided to determine (1) whether or not the content is already delivered but deliverable again based on whether or not a predefined number of downloads is reached (13).
 
19. System according to claim 18 in which one or more modules are provided to delete the ticket if the predefined number of downloads is reached.
 
20. System according to any of the claims 16-19 in which one or more modules are provided to verify (2) the credit of the terminal user (100) by
   reading (21) a credit threshold variable from the storage (400);
   checking (22) if the credit threshold variable is at a predetermined value;
   requesting (23) a credit check from the billing system (300);
   verifying (24) if the credit of the terminal user (100) is at a predetermined minimum level, stopping (6) the event-based billing and content delivery if the credit of the terminal user (100) is at the predetermined minimum level.
 
21. System according to any of the claims 16-20 in which one or more modules are provided to validate (6) the request for content by
   retrieving (31) an information about the content from the database (500), the information comprising a price for the content;
   sending (32) an acceptation page to the terminal user (100), the acceptation page comprising the price for the content, the acceptation page also comprising means for returning an acceptation statement for the price of the content;
   retrieving (34) the acceptation statement from the terminal user (100);
   checking (35) the acceptation statement, stopping the event-based billing and content delivery if the acceptation statement is negative or invalid;
   creating the ticket if the acceptation statement is positive and valid.
 
22. System according to claim 21 in which the acceptation statement includes a pin code.
 
23. System according to any of the claims 16-22 in which one or more modules are provided to deliver (4) the content to the terminal user (100) by
   retrieving (41) the content from the content provider (600);
   sending (43) the content to the terminal user (100).
 
24. System according to claim 23 in which one or more modules are provided to deliver (4) the content to the terminal user (100) by
   checking (42) whether or not the content is retrieved correctly from the content provider (600), stopping (6) the event-based billing and content delivery if the content is not retrieved correctly from the content provider (600).
 
25. System according to claims 23-24 in which one or more modules are provided to change a variable keeping track of a number of downloads.
 
26. System according to any of the claims 20-25 in which one or more module are provided for the billing (5) of the content by
   sending (51) an electronic data record to the billing system (300);
   checking (52) whether or not the credit of the terminal user (100) is at the predetermined minimum level;
   setting (53) the credit threshold variable to the predetermined value if the credit of the terminal user (100) is at the predetermined minimum level;
   finishing (7) the event-based billing and content delivery if the credit of the terminal user (100) is not at the predetermined minimum level.
 




Drawing




























Search report