" Système et procédé pour gérer des transactions entre des fournisseurs de services et des clients sur un réseau de communication "
La présente invention concerne un système pour gérer des transactions entre des fournisseurs de services et des clients sur un réseau de communication. Elle vise également un procédé mis en œuvre dans ce système.
Elle s'adresse principalement à des fournisseurs d'accès à des réseaux tels qu'Internet, qui mettent en rapport des clients disposant de logiciels de navigation standards et des fournisseurs de service indépendants.
Dans la suite , les abréviations suivantes sont utilisées :
HTTP (HyperText Transfer Protocol): protocole d'accès natif du Web;
MIME (Multimedia Internet Mail Extension) : norme d'extension à la messagerie Internet permettant l'envoi de messages multimédia;
S-HTTP (Secure HTTP) : adaptation de HTTP chiffrée et sécurisée;
SSL (Secure Socket Layer) : adaptation sécurisée et chiffrée de TCP;
URL (ϋniform Ressource Locator) : système pour adresser un document sur le Web. Un navigateur Web est un logiciel permettant d'accéder à l'ensemble des sites sur le Web, de les consulter, de rechercher et de récupérer des données depuis ces sites.
Un serveur Web est une machine connectée sur le Web et hébergeant des informations consultables par navigateur Web.
Un reverse proxy est un serveur Web qui sert d' intermédiaire entre des clients Web et plusieurs serveurs HTTP. Le client envoie sa requête HTTP au reverse proxy. Le reverse proxy transmet cette requête à
un serveur HTTP et renvoie au client la réponse du serveur HTTP. Les transactions commerciales sur un réseau ouvert tel qu'Internet sont appelées à connaître une croissance considérable à court terme. En particulier, un secteur particulièrement concerné est celui de 1 ' accès payant à des informations sous la formes de pages ou de documents. Il peut par exemple s'agir d'informations online éditées par des journaux ou des magazines, ou encore de reproductions d'œuvres littéraires ou artistiques couvertes par le droit d'auteur.
Il existe déjà des services d'accès à des informations payantes, mettant notamment en œuvre des transactions par cartes de crédit ou un procédé de porte- monnaie électrique. Dans la majorité des cas, les clients doivent utiliser, en plus de leur logiciel de navigation, un logiciel spécifique de transaction. Des plates-formes d'accès Internet utilisant une notion de porte monnaie électronique ont été développées dans cette voie.
On peut également citer des solutions de paiement électronique s ' appuyant sur des protocoles développés spécifiquement et nécessitant des navigateurs utilisant une couche logicielle SSL (Secure Socket Layer) permettant des échanges cryptés. IL existe aussi des fournisseurs d'accès à Internet tels que Compuserve qui proposent un service de paiement intégré sur la facture de l'abonné.
Cybercash, Kléline, Payline proposent également des solutions de paiement électronique sur Internet. Ces solutions s'appuient sur des protocoles développés respectivement par Sligos, Gctech et SG2. Certaines de ces solutions de paiement ne nécessitent sur le poste client qu'un navigateur Netscape utilisant SSL. Il s'agit du même protocole HTTP, mais l'échange est en plus crypté. Pour chaque protocole, La cinématique des échanges est spécifique.
Les solutions actuellement proposées ont en commun de requérir l'utilisation sur les ordinateurs des clients d'un logiciel ou d'un navigateur adapté.
Pour utiliser ces solutions de paiement, le fournisseur de services récupère:
- une interface de programmation spécifique à la solution de paiement,
- éventuellement, un certificat d' authentification. Ce certificat permet d' identifier le fournisseur de services de façon certaine dans les transactions de paiement .
Le but de la présente invention est de remédier à cet inconvénient en proposant un système pour gérer des transactions entre des fournisseurs de services et des clients sur un réseau de communication, ces fournisseurs de services et ces clients disposant respectivement de serveurs et de postes clients connectés au réseau.
Suivant l'invention, ce système comprend un serveur de médiation connecté au réseau et agencé pour communiquer d'une part avec les postes clients et d'autre part avec les serveurs respectifs des fournisseurs de service, de sorte que l'ensemble des transactions entre ces fournisseurs de services et ces clients transite obligatoirement via ce serveur de médiation. Le procédé selon l'invention permet ainsi un accès à des prestations ou informations payantes en utilisant les technologies ouvertes de l'Internet, et une gestion de l'intégrité des transactions payantes. En effet, le serveur de médiation assure l'ensemble des opérations de gestion des transaction et notamment la facturation des prestations, ce qui supprime la nécessité d'utiliser un navigateur crypté et sécurisé.
Par ailleurs, avec le système de gestion de transaction selon l'invention, les fournisseurs de services peuvent choisir librement l'hébergement de leurs
services, en particulier, les lieux, les matériels serveurs et les logiciels serveurs Web. Ils peuvent en outre conserver la liberté de déterminer leurs prix et obtenir des informations statistiques sur leurs clients. Dans une version préférée de l'invention appliquée aux transactions sur le réseau Internet, le serveur de médiation et les serveurs des fournisseurs de services communiquent selon le protocole HTTP. Ce protocole HTTP est en pratique augmenté de champs MIME supplémentaires pour véhiculer d'une part des informations sur les clients et d'autre part des informations relatives à la facturation des transactions.
Le système selon l'invention procure ainsi une simplicité d'édition des serveurs des fournisseurs de services en ne requérant que l'utilisation de technologies standards HTTP sans nécessiter une modification des serveurs ou l'acquisition de logiciels supplémentaires. Ceci contribue à des coûts de développement inférieurs à ceux engagés pour des procédés mettant en œuvre des protocoles spécifiques. Les serveurs des fournisseurs de services n'ont donc pas besoin d'éléments logiciels supplémentaires et peut utiliser tout serveur HTTP disposant d'une interface CGI ou d'une interface propriétaire telle que les interfaces NSAPI ou ISAPI. Le serveur de médiation est en pratique du type "reverse proxy". Il est agencé pour identifier et authentifier tout client sollicitant une transaction avec un fournisseur de services.
Dans un mode particulier de réalisation appliqué notamment à l'acquisition de documents payants, le serveur de médiation est agencé pour gérer le rechargement de documents pendant un intervalle de latence de durée prédéterminée.
Il est également agencé pour gérer la facturation des prestations offertes par les fournisseurs de services sur des comptes d'abonné en temps réel.
Suivant un autre aspect de l'invention, il est proposé un procédé pour gérer des transactions entre des fournisseurs de services et des clients sur un réseau de communication, ces fournisseurs de services et ces clients disposant respectivement de serveurs et de postes clients connectés au réseau, mis en œuvre dans le système selon l'invention.
Ce procédé comprend, en réponse à une demande de prestation émanant d'un client:
- un envoi d'une requête émise par le serveur de médiation à destination du fournisseur d'accès proposant cette prestation, cette requête comprenant des éléments d'identification du client et du fournisseur de services; et
- un envoi d'une réponse émise par le fournisseur de services à destination du serveur de médiation en réponse à cette requête, cette réponse comprenant des éléments d'information relatifs à la facturation de la prestation demandée par le client.
On peut avantageusement prévoir que le procédé selon l'invention comprenne en outre, préalablement à l'envoi d'une requête au serveur du fournisseur de services, une identification et une authentification du client par le serveur de médiation.
Le procédé peut également assurer, au niveau du serveur de médiation, un contrôle de l'intégrité de la prestation fournie au client par le fournisseur de services .
Il peut en outre avantageusement comprendre, au niveau du serveur de médiation, un traitement des éléments d'information transmis par le serveur du
fournisseur de services, et une facturation de la prestation fournie au client.
D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après. Aux dessins annexés donnés à titre d'exemples non limitatifs:
- la figure 1 est un schéma synoptique d'un système de gestion de transactions selon l'invention; et
- la figure 2 illustre des traductions d'URLs mises en œuvre dans le procédé de gestion de transactions selon l'invention. On va maintenant décrire un exemple de réalisation d'un système de gestion de transaction selon l'invention. Un système de gestion de transaction S selon l'invention est organisé autour d'un serveur de médiation SM connecté au réseau Internet et comprend notamment des outils de gestion commerciale et de facturation GC, un module de gestion du rechargement de documents GR, et une ou plusieurs unités de stockage et de base de données BD. Ce serveur de médiation SM peut être lui-même géré par un fournisseur d'accès à Internet qui est alors en mesure de proposer à ces clients abonnés un accès à des prestations payantes proposées par des fournisseurs de services.
Le serveur de médiation gère 1 ' authentification des clients et la facturation et est le passage obligé pour rendre payants des pages, images ou tout objet pouvant être rapatriés par HTTP tel que des applets Java. Il assure ainsi les fonctions suivantes: - identification et authentification des clients, - intégrité de la livraison au client, même en cas de coupure réseau; le client aura alors la possibilité de se reconnecter et de recharger son bien gratuitement pendant une durée prédéterminée;
- autorisation de rechargement de documents pendant une durée de latente spécifiée par le fournisseur de services; facturation de la consommation sur un compte d'abonné en temps réel.
On va maintenant décrire les étapes essentielles du procédé de gestion de transactions mis en œuvre dans le système selon l'invention.
En réponse à une requête (1) d'un client CL pour utiliser des prestations proposées par un fournisseur de services FS, le serveur de médiation SM contacte (4) le serveur Web de ce fournisseur de services FS en utilisant le protocole HTTP et lui envoie une requête incluant des champs MIME contenant des informations sur le client. A titre d'exemple non limitatif, les éléments d'information inclus dans la requête émise par le serveur de médiation, peuvent comporter sous la forme de champs:
- un identifiant Client, qui peut être l'identifiant de ce client attribué par le fournisseur d'accès Internet ou un identifiant spécifique pour un client anonyme;
- un identifiant de transaction;
- la date et l'heure de la requête;
- un identifiant du fournisseur de services;
- le type de requête] . On peut par exemple envisager deux types de requête:
- une requête suite à une facturation du client,
- une requête suite à une demande de bien ou de service payant par un client. Le client a déjà été facturé pour ce bien ou ce service. Le client est en train de redemander ce bien ou ce service dans le durée de refacturation gratuite. Dans ce dernier cas, le serveur de médiation vérifie (3) que le bien ou le service est en cours de rechargement gratuit.
En retour, la réponse (5) envoyée par le serveur Web du fournisseur de services contient dans ses champs MIME
des éléments d'information permettant de facturer le client, notamment des prix, des références de produits.
Si l'objet demandé est gratuit, la réponse ne contient aucun des champs MIME et cet objet est automatiquement considéré comme gratuit par le serveur de médiation.
Dans tous les autres cas, le serveur du fournisseur de services code, dans les champs MIME de sa réponse, des informations de taxation, désignées dans la suite sous le terme de "ticket", servant au contrôle la transaction. Les champs de la réponse sont ensuite filtrés par le serveur de médiation SM qui transmet (6) notamment dans la base de données BD le ticket de facturation. Le SM met à jour (7) le compte client. Enfin, il livre (8) le bien ou le service au client CL.
Cette notion de ticket permet ainsi à un fournisseur qui veut mettre à disposition uniquement des pages gratuites d'utiliser un serveur HTTP sans aucune adaptation. Un ticket peut contenir les éléments d'information suivants:
- montant HT, champ obligatoire,
- taux de TVA, par défaut 20,6%,
- durée de latence, par défaut 1 heure,
- description n°l, champ obligatoire, - description n°2, champ optionnel.
On peut aussi avantageusement prévoir une extension du protocole permettant l'envoi au fournisseur d'une requête pour le prévenir si le client a été facturé ou non. Le serveur du fournisseur de service est organisé en deux parties, comme l'illustre la figure 2:
- une partie gratuite de vitrine et de navigation, accessible directement depuis l'Internet;
- une partie payante, accessible uniquement depuis le serveur de médiation qui constitue ainsi une passerelle ou un "reverse proxy".
Le serveur de médiation est un serveur HTTP simple, et non un serveur proxy HTTP. Il doit donc disposer dans l'adresse URL qu'il reçoit d'un client les informations nécessaires au routage vers le serveur HTTP du fournisseur de services.
Le format des adresses URL d'un serveur de médiation peut être déterminé de la façon suivante:
"http://" serveur de médiation [":" port du serveur] "/" identifiant du fournisseur de services "/" reste de 1 ' URL
Il est traduit en une requête pour 1 ' URL suivante sur le serveur du FS :
"http://" serveur du FS [":" port du serveur] "/" reste de l'URL
L'identifiant du fournisseur de services accordé par le gestionnaire du serveur de médiation peut être par exemple une chaîne de caractères simples (majuscules, 32 maximum) attribuée une fois pour toutes au FS .
Par exemple, si l'on utilise le serveur de médiation pay. www. wanadoo . fr sur le port 80 pour accéder à un hypothétique service XYZ (hébergé physiquement sur la machine www. xyz . fr sur le port 2000, l'URL sur le serveur de médiation est: http : //pay .www. wanadoo . fr/XYZ/abc/def .html
et l'URL sur le serveur du fournisseur de services est: http : //www. yz . fr:2000/abc/def .html
Le serveur vu du logiciel client est le médiateur.
Les URL référencées depuis une page HTML sur le serveur ont comme base l'URL transformée par le médiateur et non l'URL directe d'accès au serveur. On doit alors impérativement utiliser soit:
- des URL absolues complètes comprenant une référence au serveur de médiation et un code fournisseur;
- des URL relatives.
On va maintenant décrire des exemples de codage des champs utilisés dans les échanges entre les clients, le serveur de médiation et les serveurs des fournisseurs de services .
Les lignes d' en-tête sont échangées entre le serveur de médiation et le fournisseur de services. Tous les mécanismes définis ici sont décrits et formalisés dans une forme Backus-Naur (BNF) augmentée similaire à celle utilisée dans la RFC-822. Ce formalisme est décrit dans la spécification version 1.1 du protocole HTTP proposée a l'IETF par T.Berners-Lee, R.Frieding et H. Nielsen. Le protocole HTTP est un protocole avec un aller-retour simple requête-réponse entre client et serveur. Il est bâti au dessus d'une connexion TCP entre le client et le serveur. Des documents de référence sur les les URLs et sur le protocole HTTP peuvent par exemple être consultés sur le site Web du consortium V3C (adresse www.w3.org).
Le document rfc-822 est consultable sur le serveur FTP de
1 ' INRIA (adresse ftp.inria.fr).
Le format de la requête dans sa forme la plus simple:
Méthode URL et dans le cas le plus général :
Méthode URL Version Champs MIME (RFC-822) ligne vide optionnel obj et MIME optionnel Par exemple :
GET /chemin/document. html HTTP/1.0
Accept: */*
Accept: text/html
Accept: image/gif
Toutes les informations additionnelles fournies par le serveur de médiation sont véhiculées dans des champs
MIME supplémentaires par rapport à la requête du client.
Ces champs sont filtrés s'ils existaient déjà dans la requête client.
Le format de la réponse est :
Code Version Texte
Champs RFC-822 ligne vide obj et MIME
Par exemple :
200 HTTP/1.0 Normal
Content-type: text/html
<HTMLXHEADXTITLE>Tout va bien<TITLEX/HEAD>
<BODYXP>Tout va bien</PX/BODY> Les informations de taxation sont fournies par le serveur du fournisseur de services sous la forme de champs MIME supplémentaires. On va maintenant décrire un exemple de gestion du protocole en utilisant l'interface CGI.
Il s'agit tout d'abord d'extraire les paramètres fournis par le serveur de médiation. Les en-tête MIME génériques n'ayant pas de signification spéciale pour HTTP, sont accessibles par la variable d'environnement HTTP_nom où nom est le nom du champ, avec traduction des tirets «-» en soulignés «_». Tous les champs définis pour la définition du protocole sont ainsi accessibles directement à partir d'un script CGI sur les serveurs supportant CGI 1.1 ou ultérieur.
Les en-têtes sont dans des variables d'environnement shell du CGI. Pour obtenir la valeur d'un de ces champs, un script CGI se contente d'utiliser la fonction de librairie du le langage de programmation utilisé permettant d'obtenir la valeur d'une variable d' environnement .
En ce qui concerne la génération par le serveur du fournisseur de services au serveur de médiation, un script CGI doit envoyer sur sa sortie standard: - les en-têtes de la réponse HTTP au serveur de médiation;
- la page à envoyer au serveur de médiation.
Un script CGI doit ainsi suivre le pseudo-code suivant : 2..Récupérer les paramètres fournis par le serveur de média tion ;
2. Calculer le prix et les informa tions permettant de générer la page; 3. Envoyer les en-têtes sur la sortie standard;
4 . Envoyer une ligne vide pour marquer la fin des en-têtes ;
5 . Envoyer le corps (texte, . HTML , GIF, etc . ) sur la sortie standard.
Par ailleurs, certains champs peuvent contenir du texte libre : X-FT-Reference-1, X-FT-Reference-2.
Ces champs sont interprétés selon la norme de codage de caractères ISO 8859-1 (ISO Latin-1), qui est celle d'Unix et de Windows, et qui se déduit d' Unicode par masquage du premier octet.
Le contenu de ce champ ne peut pas contenir les caractères ASCII 10 (LF, saut de ligne) , 15 (CR, retour chariot) , ni tout autre caractère non imprimable selon la
norme ISO 8859-1 (y compris les extensions apportées par
Microsoft Windows).
S 'agissant des formats de date, le protocole HTTP définit un format de date appelé HTTP-date. Le champ X-FT-Acquittement contient une URL absolue relative au même serveur que celui de la requête initiale.
Le fournisseur de services avertit le serveur de médiation qu'il souhaite avoir un accusé de réception pour l'achat en cours. Le médiateur envoie un accusé de réception au fournisseur en lui envoyant une requête HTTP de type HEAD sur le même serveur que celui qui a traité la requête initiale.
Les caractéristiques de cette requête HTTP d' acquittement sont les suivantes :
- la méthode de la requête est HEAD ;
- l'URL est la valeur du champs X-FT-Acquittement ;
- les en-têtes envoyées sont :
- les en-têtes que le médiateur a envoyé au fournisseur pour lui demander le bien payant ;
- un écho des en-têtes que le fournisseur lui a renvoyé avec le bien;
- un en-tête X-FT-Confirm indiquant si le bien a été facturé. Le médiateur envoie un en-tête X-FT-Confirm dans un accusé de réception. Le médiateur y indique si il a facturé le client.
Une requête est identifiée de façon unique par le serveur de médiation par un numéro de transaction. Elle est également datée suivant le format HTTP-date rappelé ci-dessus .
Un champ X-FT-ID-Client contient un identifiant caractérisant le client. Il est fourni par le serveur de médiation aux fournisseurs de services.
Cet identifiant est stable dans le temps pour un client et une version du protocole donnés. Une modification majeure du profil client peut cependant influer sur l'identifiant. Il n'est pas garanti comme étant identique entre fournisseurs de services différents. Cet identifiant peut par exemple permettre à un fournisseur de faire des statistiques ou de gérer du contexte pour un client sans le connaître explicitement
(droits acquis, etc.). Le champ X-FT-ID-Fournisseur contient l'identifiant du fournisseur. Il est fourni par le serveur de médiation à partir de l'URL du document que lui demande le client.
Chaque fournisseur a un identifiant unique. Cette information est utile pour les hébergeurs de services. Un champ X-FT-ID-Transaction identifie la transaction sur la facturation client.
S 'agissant du champ X-FT-Latence, un client peut recharger gratuitement un document qu' il a acheté pendant une certaine période, inférieure à une heure dans tous les cas, et précisée par le fournisseur de services.
Ceci est dû au fait que certains clients HTTP rechargent des documents (à l'impression, lors d'un "View
Source"), et un utilisateur peut être amené à le faire en cas d'incident technique. Le serveur de médiation vérifie à chaque requête d'un client s'il s'agit d'un rechargement ou non. Ca latence peut être comprise entre
1 minute et 1 heure.
Le champ X-FT-PrixHT contient le prix hors taxes de l'information demandée. Le taux de TVA correspondant est donné dans le champ X-FT-TVA décrit par la suite.
Il est à noter que ce montant est le montant de base qui servira pour les calculs ultérieurs. Il peut donc être diffèrent de la rémunération finale du fournisseur, selon les ristournes et commissions applicables.
Le champ X-FT-Reference-1 permet de mettre au fournisseur de décrire le service rendu (référence produit) . Il est obligatoire pour être indiqué sur la facture du client. Le champ mono-valué X-FT-Reference-2 permet de mettre au fournisseur de décrire plus finement l'information. Il est facultatif et pourra être ajouté à la facture du client.
On peut par exemple utiliser X-FT-Reference-1 pour la description générale de l'information, et X-FT-Reference-
2 pour donner plus de détails sur la requête particulière.
Le champ X-FT-TVA contient le taux de TVA associé à la transaction, le montant étant donné hors taxes. Ce taux doit être communiqué par le fournisseur, puisqu'il dépend du la nature de l'information. Le taux de TVA est exprimé en pourcentage.
On va maintenant décrire la fonction de rechargement offerte par le système et le procédé selon l'invention. II existe deux types de documents payants: les documents en cours de rechargement gratuitement; le médiateur ne les facture pas. Après une première facturation pour un document donné, un client peut recharger gratuitement ce même document pendant une durée donnée. Le fournisseur fixe cette durée. Elle n'excède pas une heure; les documents payants et facturables; ces documents sont demandés pour la première fois par le client. Ou bien, le client demande un document après que ce document ait déjà été facturé et après la durée de rechargement gratuit du document.
L' en-tête indique quel est le type de document demandé. Par exemple, un client vient de demander un document payant. Il lui a été facturé et le fournisseur a indiqué une période de latence d'une heure. Un quart
d'heure plus tard, le client redemande le même document.
Le serveur de médiation génère l' en-tête HTTP
X-FT-Type-Requete: Rechargement
Deux heures plus tard, le même client redemande le même document. Cette fois, le médiateur envoie un en-tête
HTTP
X-FT-Type-Requete: Normal
Le système et le procédé selon l'invention peuvent être appliqués pour des types variés de prestations disponibles sur un réseau. Une premier type de prestations particulièrement visé par la présente invention est celui de la fourniture de documents et de pages payants. Il peut s'agir, par exemple, de journaux, de magazines, de cartes géographiques, météorologiques, économiques, de résultats de tests ou de sondages, d'informations de nature juridique, etc.. Il peut également s'agir de documents ludiques ou artistiques, graphiques et/ou sonores. Le système selon l'invention peut également assurer la gestion de droits d'auteurs associés à des créations intellectuelles ou artistiques.
On peut également mettre en œuvre le système et le procédé selon l'invention pour la gestion d'opérations de vente sur catalogue électronique. Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention. En particulier, les éléments d'identification et de tarification peuvent être écrits suivant des syntaxes différentes de celles qui viennent d'être décrites. En outre, le procédé selon l'invention n'est pas lié au seul protocole HTTP actuel mais pourra être mis en œuvre avec d'autres protocoles futurs.