Document 7926333

Download Report

Transcript Document 7926333

An internet trading framework:
Introduction
•
Consider a set of internet vendors that sell to internet clients airplane tickets,
hotel reservations, cars reservation, etc. For such a trade to work one has to meet
the following concerns.
–
Client’s concerns:
• Can I trust the vendor, in general---e.g., to keep my transaction
confidential?
• How can I trust the tickets, or reservations, made for me by the vendor?
• How can I carry out a transaction, getting a consistent set of resources---airplane tickets, hotel reservations, cars--- obtainable from various vendors
on the internet, which I can abort in the middle, with nominal cots to me.
–
Vendor’s concerns:
• How can I trust the payments made by a client.
–
Everybody’s concern:
• If there is a general agreement about some interaction protocol, like moneyback guarantee, how do we know that everybody would conform to it?
–
Governmental concerns:
• State taxes must be paid
• Minors should not be allowed to reserve cars.
• The trade process must be audited
•
Your mission is to build a framework that address all these concerns.
Spring 99
Lecture Notes on SE
1
An experimental setup (1)
•
•
•
•
Consider an airline that covers a collection of ports (cities), as
illustrated in this figure. Let there be just one flight between every
pair (i,j) of ports, with S(i,j) seats on it.
Let there be V vendors, selling tickets, and C clients.
The goal of vendors is to maximize their revenue by selling tickets.
Each client has an agenda [t1,…,tk] of trips he needs to make, and
for which he needs to purchase tickets.
– All clients have the same initial budget for purchasing tickets.
– The goal of all clients is to carry out their agenda with minimal cost,
where the cost is of two kinds:
• Paying for tickets
• Penalty for NOT making a trip---which will be the same for all
trips, for all clients.
– Let this penalty be uniform for all clients, for a given
experiment. Let it be anywhere between $500 and $2000,
and let it be not known to the vendor.
Spring 99
Lecture Notes on SE
2
An experimental setup (2)
•
•
•
•
•
•
•
•
Players in the experimental setup
Vendors--- design at least two different selling strategies
Clients---design at least two strategies for the software clients, but
provide also for human clients.
The Director, has the following tasks:
– Accepting agents as vendors and clients, into a given trade session.
– Creation of tickets (given a grid topology), and their distribution
among the vendors. The distribution is random, but each vendor
should get an equal number of tickets.
– Creation of planned trips, and their distribution among the clients
(random, in equal numbers)
– Provide clients with their initial funds----equally.
– Providing clients with pointers to vendors.
– Starting out a trade session.
– Reporting the final results.
The CA: certifies vendors, and the director
A bank, to provide money to clients, and accept money from vendors.
(it could be the director)
Audit trail server (could be the director)
Tax collector (could be the director)
Spring 99
Lecture Notes on SE
3
An experimental setup (3)
•
•
Some additional comments
– A session may end in two ways: (a) after a specified period of time; or
(b) when there are no more tickets left to sell, or no more trips to
make.
– Inject various fault into the system---dishonest vendors and clients,
lost messages, etc; and see how does your system withtand them.
– Report of your design, and on the result of the experiment.
Some ideas for regulation:
– Tickets sold by a vendor are those he got from the director. And he
can sell each ticket just ones.
– A money back guarantee
– If a vendor offered a price, to hold for a period of time, it must be
honored; I.e., in particular, he cannot sell that ticket to anybody else.
– Limit on the frequency of messages sent by clients and vendors.
– Required timely response to a request, or to an offer.
– Audit requirements, or some tax policy.
– Report of final result is truthful.
– Client and server can act only as such--- however, it would be
interesting to relax this rule
Spring 99
Lecture Notes on SE
4
Ideas for a Policy
Spring 99
Lecture Notes on SE
5
Schedule
•
•
•
This project is to have two phases
Phase one: unregulated trade [due on Apr 7]:
– Design the rules of engagement and the structure of the experiment.
This includes the format of the various messages, and the API.
– Build the various components, and run some experiments.
– Note: although your rules of engagement are to be informal at this
stage, the messages should be in an LGI acceptable format, so you
will be able to switch to impose an LGI regulation easily. (The format
depend on whether you use Prolog laws or Java laws.)
• You might want to actually use LGI communication already at
this stage, but with a completely passive and permissive law.
Phase two: regulated trade [due on Apr 21]:
– The rules of engagement should be formalized by an LGI law,
– And the experiment is to be run again in a regulated manner.
Spring 99
Lecture Notes on SE
6