• 沒有找到結果。

整合OpenID的P2P拍賣系統

N/A
N/A
Protected

Academic year: 2021

Share "整合OpenID的P2P拍賣系統"

Copied!
60
0
0

加載中.... (立即查看全文)

全文

(1)

國立交通大學

網路工程研究所

碩士論文

整合 OpenID 的 P2P 拍賣系統

P2P Based Auction System Integrated with OpenID

研 究 生:鄭婷文

指導教授:袁賢銘 教授

(2)

整 合 OpenID 的 P2P 拍 賣 系 統

P2P Based Auction System Integrated with OpenID

研 究 生:鄭婷文 Student:Ting-Wen Cheng

指導教授:袁賢銘 Advisor:Shyan-Ming Yuan

國 立 交 通 大 學

網 路 工 程 研 究 所

碩 士 論 文

A Thesis

Submitted to Institute of Network Engineering College of Computer Science

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Computer Science

June 2008

Hsinchu, Taiwan, Republic of China

(3)

I

整合 OpenID 的 P2P 拍賣系統

研究生:鄭婷文 指導教授:袁賢銘 國立交通大學網路工程研究所 摘要 網路服務被廣泛的使用,通常使用 Client/Server 架構來管理資料,資料流量 過大和儲存裝置不足接有其瓶頸。近年來,線上購物日趨頻繁,大型網站紛紛向 賣家收取刊登功能使用費、交易手續費、直購價設定費...等,讓小物賣家轉而尋 求其他方式來拍賣商品。近年來,點對點技術發展蓬勃,並可解決 Client/Server 架構的瓶頸,運用點對點技術建置拍賣網站,藉由點對點技術資源分享的能力及 高度的人機互動性,而新興的 OpenID 則以解決頻繁且多餘的網路身份認證而崛 起,並提供安全、統一的認證機制。本研究針對未來網路發展趨勢將點對點技術 整合 OpenID 技術為平台,建置點對點拍賣系統。

(4)

II

P2P Based Auction System Integrated with OpenID

Student : Ting-Wen Cheng Advisor : Shyan-Ming Yuan

Institute of Network Engineering

National Chaio Tung University

Abstract

Network services are widely used in recent years. They often adopt the

architecture of server/client to manage information and this leads to some problems

such as bottleneck at server, mass data flow and storage not enough. Moreover, recent

years, it is common to purchase online, people get use to selling or buying product on

auction sites like Yahoo. And it is trend to charge fee. Therefore, our thesis based on

P2P technology and integrates with OpenID login to build a distributed environment

with consistent and secure authentication mechanism. And also provides the

functionalities just like the server based auction system. With peer to peer technology,

problems of server/client architecture could be solved. Along with OpenID login, user

(5)

III

Acknowledgements

首先,伴隨著碩士班兩年的學習、研究以及本論文的順利完成,我最要感謝 的是我的指導教授袁賢銘老師。從開始的題目的訂定,到最後論文的完成,老師 都提供給我非常大的學習空間,並且不時的給予適當的建議與指導,讓我在研究 過程中能夠順利解決各種問題,對於整體研究有非常大的助益。另外,我要感謝 三位口試委員:梁德容教授、洪振偉教授、謝筱齡教授,在口試中提供了許多有 用的評論與建議,對於研究主題的完整性有非常大的幫助。 此外,我也要感謝實驗室的鴻仁學長、辰璞學姐、家鋒學長、永威學長、牧 奇學長,以及諸位同學和學弟、妹,平日在實驗室裡共同營造了歡樂和諧的氣氛, 對於整體課業有莫大的裨益,兩年來的學習經驗更是充滿著美好的回憶。 最後,我要感謝我的父母平時的諄諄教誨,總是在背後默默的支持著我,一 路陪伴到我完成學業,謹以此篇論文獻給我摯愛的家人。

(6)

IV

Table of content

摘要 ... I Abstract ... II Acknowledgements ... III Table of content ... IV List of Figures ... VI List of Tables ... VII

Chapter 1 Introduction ... 1

1.1 Preface ... 1

1.2 Motivation ... 1

1.3 Objective ... 2

1.4 Outline of the Thesis ... 2

Chapter 2 Background and Related Work ... 4

2.1 Background ... 4

2.2 Related Work ... 10

Chapter 3 System Architecture ... 14

3.1 Overall Architecture ... 14

3.2 Auction System Overview ... 18

Chapter 4 Implement Details ... 24

(7)

V

4.2 Self-Define Pub/Sub content ... 28

4.3 System Flow ... 29

Chapter 5 Application Demonstration ... 36

5.1 Main Frame of P2P auction system ... 36

5.2 User Login ... 37

5.3 Functionalities of P2P auction system. ... 38

Chapter 6 Comparison ... 43

6.1 Comparison Between P2P Auction... 43

6.2 Comparison Between Server Based Auction ... 44

6.3 Comparison Between P2P Blog ... 45

Chapter 7 Conclusion and Future Work ... 46

7.1 Conclusion ... 46

7.2 Future Work ... 46

(8)

VI

List of Figures

FIGURE 2-2 THE FIRST FOUR STEPS SHOWS HOW OPENIDWORKS ... 8

FIGURE 2-3 THE REMAIN FIVE STEPS OF HOW OPENIDWORKS ... 9

FIGURE 2-4 ITSKARMA ... 11

FIGURE 2-5 EZBAS ... 12

FIGURE 3-1 THE OBSERVER PATTERN OF AUCTION SYSTEM ... 16

FIGURE 3-2 SYSTEM ARCHITECTURE ... 18

FIGURE 4-1 THE FUNCTIONALITIES OF P2P AUCTION SYSTEM ... 24

FIGURE 4-2 THE OVERALL WORK FLOW OF P2P AUCTION SYSTEM ... 31

FIGURE 4-3 THE WORK FLOW OF EVALUATION PROCESS ... 33

FIGURE 4-4 THE WORK FLOW OF INSTANT MESSAGE ... 35

FIGURE 5-1 THE OVERVIEW GUI OF P2P AUCTION SYSTEM ... 36

FIGURE 5-2 LOGIN PAGE AND OPENIDPROVIDER WEBSITE ... 37

FIGURE 5-3 ADD A NEW PRODUCT TO SELL ... 38

FIGURE 5-4 BID FOR THE SELLING PRODUCT ... 39

FIGURE 5-5 TO EVALUATING OTHERS ... 40

FIGURE 5-6 LEAVING A MESSAGE ... 41

(9)

VII

List of Tables

TABLE 1-DIFFERENCE BEWTEEN P2P AUCTION ... 43

(10)

1

Chapter 1 Introduction

1.1 Preface

On internet, users register on different site for different usernames and passwords.

It becomes bothersome to memorize all the information. And to register on different

site also means that user must fill in some personal information again and again.

Along with the widespread of internet, it is common to search information online.

Most of people may have online auction experience. The growth rate of online auction

keeps fifty percent every year. To buyers, online purchase saves a lot of time and to

sellers they can save the rent for opening the store or the salary for hiring a person.

Online store open twenty four hours a day and even a whole year. It almost likes

an independent economic entity and there are more and more people regard online

selling as a formal career. To network service provider such as Yahoo and EBay, they

provide “space” for user to selling product with fee. The rising of peer to peer (P2P)

technology affects network servers on the internet. Based on P2P technology, we can

regard every end user as a new type of server. Usually end user plays both the role of

receiving data and propagating data. Network service like blog has successfully built

on top of P2P technology. The remaining service will also turn into decentralized in

the future.

1.2 Motivation

With the widespread of internet and the popularity of online auction, the online

auction system is nearly mature. Due to the convenience of online auction, user can

bid for products at any place or any time as long as the user can go onto the internet.

(11)

2

communication between seller and buyer seen not smoothly, the credit and security

mechanism is not completely safe for buyers. To network service providers such as

Yahoo, the company will face bottleneck problems or insufficient of storages at server

side. And to sellers, the disadvantage is that Yahoo announce to charge seller for fee

at 2004[1]. Before the announcement, online auction doesn’t charge user for fee, so

many people sell some second hand product online to earn extra gains or even regard

online selling as a formal career. And now user must be charge for an announcement

of selling product or even some additional functionality. This makes the online selling

career not easy. Although there exist another online auction site (EBay) haven’t

charge user for fee, driving by the trend, it will charge for fee someday. As a result,

we provide another way for users to selling things. They can make their own decision

to choose the way suitable for them.

1.3 Objective

The thesis based on P2P technology builds an auction system on P2P network to

overcome the problem above and to provide a system like the current server based

online auction system. We provide another choice for seller to selling things. P2P

auction system provides basic operations of store management; subscribe some

products, list to memorize products, bid for products, message leaving or instant

message and evaluating process. Using network time protocol [20] to consist the time

on network and integrate with OpenID login which provides a consistent and secure

authentication mechanism.

(12)

3

In Chapter 2, we introduce the backgrounds and related works. In Chapter 3, we

show the overall architecture and system architecture including the description of

every component. Chapter 4 describes the system functionalities and depicts several

complicated system flows. Chapter 5 presents the demonstration of our system and

operations. Chapter 6 we give some comparison tables to show the difference between

our system and related work. Finally, in chapter 7 we describe the conclusion and

(13)

4

Chapter 2 Background and Related

Work

2.1 Background

2.1.1 Peer-to-Peer (P2P)

A coarse but intuitive definition of Peer-to-peer is given by Clay Shirkey [2] :

“Peer-to-peer is a class of applications that take advantage of resources storage, cycles, content, human presence available at the edges of the Internet. Because accessing

these decentralized resources means operating in an environment of unstable

connectivity and unpredictable IP addresses, peer-to- peer nodes must operate outside

the DNS and have significant or total autonomy of central servers.”

A Peer-to-peer (P2P) system has often been described as the counterpart of

client/server networks [3][4]. In client/server systems, centralized servers manage and

control the network, provide services and resources whereas the clients consume these

resources [5]. P2P systems have two main key characteristics:

i. Scalability: there is no algorithmic, or technical limitation of the size of the

system, e.g. the complexity of the system should be somewhat constant

regardless of number of nodes in the system.

ii.

Reliability: The malfunction on any given node will not affect the whole system (or maybe even any other nodes) [6].

2.1.2 Peer-to-Peer (P2P) network

P2P network allows computers to communicate directly with one another rather

(14)

5

“There are two classes of P2P overlay networks: Structured and Unstructured” [7]. An unstructured P2P network is formed when the overlay links are established

arbitrarily. Such networks can be easily constructed as a new peer that wants to join

the network can copy existing links of another node and then form its own links over

time. Structured P2P networks have been widely used in file sharing [8][9], network

data storage [10], and distributed indexing [11]. Structured P2P networks usually

designed with four criteria: low degree, low diameter, greedy routing, and robustness

[12]. And it usually uses a distributed hash table that is using hash function to give

endpoint a hash value, and determine the endpoint to be responsible for which content

according to specific protocol. Many studies are published about DHT in the P2P

network, such as Pastry [13], Chord [14], CAN [15]. Structured P2P network employ

a globally consistent protocol to ensure that any node can efficiently route a search to

some peer that has the desired file, even if the file is extremely rare. Such a guarantee

necessitates a more structured pattern of overlay links [16].

The advantage of P2P network is to provide resources, including bandwidth,

storage space, and computing power. It also increases robustness because there is no

single point of failure in system. On the other hand, the disadvantages of

P2P network are decentralized which means no central repository for files and

applications.

2.1.3 Peer-to-Peer Publish/Subscribe

The publish/subscribe interaction scheme is receiving increasing attention and is

claimed to provide the loosely coupled form of interaction required in such large scale

settings. Subscribers have the ability to express their interests in an event or a pattern

of events, and are subsequently notified of any event, generated by a publisher, which

(15)

6

subscribers which have registered interest in the given event. The strength of this

event-based interaction style lies in the full decoupling in time space and

synchronization between publishers and subscribers. That is publisher is data

producer, which sends data using publication messages. And the subscriber is data

consumer, which has the capability of define its interest event and subscribe them.

Subscribers are usually interested in particular events or event patterns, and not

in all events. In the area of distributed systems and networks various pub/sub systems

with data models based on channels, topics and attribute-value pairs have been

developed over the years [17]. Systems based on attribute-value pairs are usually

called content-based because their data models are flexible enough to express the

content of messages in various applications. And the most widely used schemes are

topic-based and content-based publish/subscribe are describe as follow. Topic-based

publish/subscribe, which based on the notion of topics or subjects is extends the

notion of channels used to bundle communicating peers, with methods to characterize

and classify event content. Participants can publish events and subscribe to individual

topics, which are identified by keywords. Content-based (or property-based) [18]

publish/subscribe variant improves on topics by introducing a subscription scheme

based on the actual content of the considered events. In other terms, events are not

classified according to some pre-defined external criterion (e.g., topic name), but

according to the properties of the events themselves [19].

The main advantage of publish/subscribe model are loosely-coupled and scalable.

Publishers are loosely coupled to subscribers, and needn't even know of their

existence. This is different form client/server architecture, which client can’t post

message while server is not running. Publish/subscribe provides the opportunity for

better scalability than traditional client/server, through parallel operation, message

(16)

7

publish/subscribe model is that the side-effect of the advantages, that is the

decoupling of publisher from subscriber. The publish/subscribe system will give up

deliver message if it has try a while, this will not guarantee the message will always to

be deliver.

There are many deployments on P2P protocols, all of which have implemented

some function in common, such as queries and inserts data. The auction system uses

the P2P library, FreePastry to implement. FreePastry is an open-source

implementation of Pastry intended for deployment in the Internet. The initial release

of FreePastry is intended primarily as a tool that allows interested parties to evaluate

Pastry, to perform further research and development in P2P substrates, and as a

platform for the development of applications.

2.1.4 Network Time Protocol(NTP)

By far, the most widely used and accepted method for maintaining accurate time

across entire networks is an implementation of the Network Time Protocol (NTP).

The Network Time Protocol is a protocol which is used to synchronize timekeeping

among a set of distributed time servers and clients. NTP has undergone significant

evolution over the years since it was first proposed, cumulating in the most recent

NTP Version 3 described in RFC 1305 [20]. NTP is built on the Internet Protocol IP

[21] and the User Datagram Protocol UDP [22] , which provides a connectionless

transport mechanism. It is specifically designed to maintain accuracy and robustness,

even when used over typical Internet paths involving multiple gateways, highly

dispersive delays, and unreliable nets. There are many time servers at different

(17)

8

2.1.5 OpenID Authentication

OpenID is an open, decentralized, free framework for user-centric digital identity.

And up to Januarys first, 2009, there are over 35,000 unique OpenID relying parties.

The figures below show that how does OpenID works. There are nine steps to get

personalized content form OpenID relying party [23]. Figure 2 - 1 show the first four

steps of how OpenID works and the rest of five steps are shown in Figure 2 - 2.

Figure 2 - 1 the First Four Steps Shows How OpenID Works (1) Realm/RP Validation (2) Verify Signature OpenID Provider OpenID Relying Party (3) Authenticate User (4) Signed Auth Response (5) Personalize Content

(18)

9

Figure 2 - 2 the Remain Five Steps of How OpenID Works

The following are terms in OpenID protocol [24]:

i. Identifier: The URL or XRI chosen by the End User as their OpenID

identifier.

ii. End User: The person who wants to assert his or her identity to a site.

iii. Relying Party: The site that wants to verify the end user's identifier.

Sometimes it is simply called site.

iv. OpenID Provider: A service provider offering the service of registering

OpenID URLs or XRIs and providing OpenID authentication (and possibly

other identity services).

OpenID allows users to log onto many services with the same digital identity. An

OpenID is in the form of a unique URL, and is authenticated by the user's OpenID

OpenID Provider OpenID Relying Party (6) Present OpenID (7) Discover OP

(8) Establish Shared Secret

(19)

10

provider. The OpenID protocol does not rely on a central authority to authenticate a

user's identity.

OpenID Authentication uses standard HTTPS requests and responses, so it does

not require any special capabilities of the User-Agent or other client software.

OpenID doesn’t use cookies or any other specific mechanism of Relying Party or

OpenID Provider session management.

2.2 Related Work

The related applications, ItsKarma and EzBas are based on P2P technology, but they are not maintaining now. So here we only refer their basic information and their

GUI design. Besides, PeerMart is born to solve the centralize problem of double

auction. The typical circumstance is the stock markets. The reason for listing in

related work is that it is based on P2P technology and implement with FreePastry

which builds a decentralized auction-based pricing mechanism.

2.2.1 ItsKarma

ItsKarma releases on 2001 and it uses P2P technology to bring online auctions

into home. ItsKarma is returning the power back to users. Under the auction machine

format, users have to adhere to a strict set of rules and procedures if they are to have a

reasonable chance of having a successful sale. Users must choose a limited number of

days to present their item. They must relinquish control of the ultimate decision to

buy or sell, to a machine. To properly prepare an item for sale on an auction web site,

users must give a highly detailed description and attach digital photos. In other words,

the user has to put in a lot of work with no guarantee that the sale will be successful.

(20)

11

ItsKarma provide are seek, find, post, buy, sell, trade, auction. And the three feature

of ItsKarma are as follow [25].

i. There are no listing fees: you pay only on successful truncation.

ii. There are no restrictions to the amount of item you can list. Keep as many

items online as you can fit your hard drive.

iii. There are no time limits, keep things online for as it takes to sell them.

Figure 2 - 3 shows the Graphic User Interface (GUI) of ItsKarma.

Figure 2 - 3 ItsKarma

2.2.2 EzBas

EzBas is developing to cooperate with EzPeer. It is a direct trading platform;

users don’t need too much technique to build their own selling store. Seller can use EzBas to publish the information of the products, build customize store information,

(21)

12

information. The buyer can search for product on EzBas and don’t need to wait until

the product sell due. Buyer can contact seller immediately and make a deal. EzBas

break the tradition online selling model and provide faster marketing model [26]. The functionality of EzBas provides are search, subscribe, discuss, and store management. Figure 2 - 4 shows the Graphic User Interface (GUI) of EzBas.

Figure 2 - 4 EzBas

2.2.3 PeerMart

PeerMart[29] has been implemented as a prototype on top of FreePastry [32], an

open source implementation of Pastry and it is structured and redundant P2P overlay

network design which is applied to achieve scalability and robustness even in the

presence of malicious peers. The basic idea of PeerMart is to distribute the broker

load of an otherwise centralized auctioneer onto clusters of peers, each being

(22)

13

The core economic mechanism used in PeerMart’s design and subsequent implementation is the Double Auction which has also been adopted by “Toward

Peer-to-Peer Double Action” [27] and “A Peer-to-Peer Agent Auction” [28].

PeerMart is use in the circumstance such as stock markets. The main features that

PeerMart emphasize on are scalability and robustness [29].

The basic pricing mechanism in PeerMart works as follows, providers and

consumers which are interested in trading a particular good, initially send a price

request to the responsible broker. As described later on, brokers are realized by

clusters of peers. In the following, the term service is used to refer to the good being

offered by a peer, e.g., a content service. The responsible broker answers requests for

a particular service with the current bid price (ask price), which is the current highest

buy price (lowest sell price) offered by a peer. Based on this information, providers

and consumers send price offers to the broker, using a particular strategy which can

arbitrarily be chosen by the peer. Continuously, a broker runs the following matching

strategy:

 Upon every price offer received from a provider (consumer), there is no match if the bid (ask) is lower (higher) than the current ask price (bid price).

However, the offer may be stored in a table for later use.

 Otherwise, if there is a match, the offer will be forwarded to the consumer (provider) that made the highest bid (lowest ask).

The resulting price for the service is set to the mean price between the two

(23)

14

Chapter 3 System Architecture

3.1 Overall Architecture

Before we describe the auction system architecture, we talk about some overall

architecture that is components or concepts which are used all over in the system.

There are as follows: P2P pub/sub system, observer pattern and network time handler.

The P2P pub/sub system handles all quires which are about data store and retrieve on

the P2P network. Observer pattern is the concept use all over the system, and network

time handler implements network time protocol which uses to retrieve the consistent

time in the network.

3.1.1 P2P Pub/Sub System

The P2P system of manages the faculty of P2P network, that is builds a new

network or joins an existent network, maintains DHT table, communicates with other

peers on the P2P network and handles the file storage.

Our pub/sub system is implementing with FreePastry. The purpose of P2P

pub/sub system is to provide some basic operation such as storing data or retrieve data

on P2P network. The design of P2P pub/sub system is reference to the P2P pub/sub

architecture in paper, A P2P Blog System with OpenID Integration [30]錯誤! 找不到 參照來源。. The pub/sub system controls the functions of publish/subscribe. Users on the P2P network can obtain information via querying data, but pub/sub provides an

immediate and convenient way to retrieve data. If we want to use pub/sub

(24)

15

implementation libraries directly. Besides, pub/sub system sends and receives

messages, and the contents are different from P2P contents. Therefore, our application

defines a pub/sub content format, and it is convenient to subscribe and publish

messages.

3.1.2 Observer Pattern

Observer pattern is the most commonly used design pattern. It defines a

one-to-many dependency between a subject object and any number of observer

objects so that when the subject object changes state, all its observer objects are

notified and updated automatically.

In the system, the P2P library we adopted designs use “continuations” to avoid

that a system is blocked during doing lookup. “Continuations” allow us to continue

processing while receiving results. These behaviors create new thread, and cause that

the main system can’t easily obtain results in the multilayer architecture. For example,

class A implements observer and it has to implement update function. Whenever a

observable class which add class A as an observer. When they get the result, they will

notify all the observers which means the update function of class A will get the result

which the observable sent.

A class can implements observer or extends observable. The observer class has

to implement update function, so that when the observable class gets the query result

it will notify all observers. The class extends observable, here we depict as subject,

can call function build-in “addobserver” to add an observer class and when the class

(25)

16

Our auction system can divided into six components which are describe in the

next section, besides static data part and functionalities frames part which are used to

handle initialization of P2P related thing and get user input. The relations of the rest

four parts that use the concept of observer pattern are describing as follow. First of all,

graphic user interface (GUI) implements observer to get all results from the

observable class. Second, P2P data action functions and P2P pub/sub module extends

observable so that when they get the result they will notify observers. Finally, the web

server which is the one that receive OpenID provider’s message depict a user is login

or not. It extends observable so that when the message comes back it will notify the

observer which is the GUI. In short, the relation is shown in Figure 3 - 1.

(26)

17

3.1.3 Network Time Protocol Handler

On the Internet, the time of computer is adjust by the time zone that user has

selected. And they are ways to change the computers built-in time to satisfy user’s

need. For example users can manually change their system time by click the system

clock on the lower right corner of the operating system.

The auction system which built on top of client/server architecture has the

consistent bidding time, because all users must send request to the server, and the time

is determine by server. On the other hand, it is not easy to get the consistent time in

the auction system which is based on the architecture of P2P. The time is determined

by the system time of user’s computer. As a result, we need a way to get consistent

time on the Internet.

The network time handler solves the problem above. Implementing network time

protocol, the handler sends a datagram packet to the time server and gets a response

then translates it to network time protocol message which specified in RFC 2030[31].

Whenever call the network time handler, it will return the consistent time based on

time servers. And this makes the P2P auction system no longer has the problem of

(27)

18

3.2 Auction System Overview

Figure 3 - 2 System Architecture

The system architecture is shown in Figure 3 - 2. The system can divide into six

(28)

19

P2P network data action function, web server and browser and P2P pub/sub system

respectively. The details of the six components are described in the following section.

And the implementation detail will describe in next chapter.

3.2.1 Graphic User Interface (GUI)

The graphic user interface of auction system allows user to interact with it.

Graphic User Interface is the main part of the system and it consists of three mangers.

That are auction manager, search manager and chat manager. The auction manager

handle all requirements about sales such as post a product for selling, modify the

content of selling product, delete a selling product or set a auction to end. The search

manager handles all search requirements that user needs. There are three types of

search a user can use. First, user can search for already known OpenID and get the

entire selling product which the searched OpenID sells. Second, user can type an

upper bound and get all products in the range. Finally, user can use keyword search to

search for products user wants. When the transaction is concluded, buyer and seller

can use chat system to determine how to pay for the product, for example, they can

make an appointment at a place to exchange money and product. What user has to do

is to click discuss button invoke chat manager to list all sellers who are online and

click the OpenID, then they can start to talk.

3.2.2 Static Data

Static data stores information about user; it is a special class which all variables

(29)

20

feature of these variables is that the whole system needs just one copy of each; it is

similar to the existence of global variables. There are several static functions in Static

Data, most of them are invoke at the beginning of the system, the functionality of

them are to set or to retrieve P2P related operation. For example, Static Data gets

configuration file and retrieves default port value and beginning to binding port by

socket testing. Then invoke the function in Static Data to join into a P2P network.

The configuration file, config.properties, records some modifiable parameters.

For instance, it records web path of HTML page for user to enter OpenID or the web

server’s path which the system must call up to start web server. All these modifiable

parameters are related to join into P2P network or to start the web server.

3.2.3 Functionalities Frames

Functionalities frames act as an interface between GUI and P2P network data

action function. It contains all frames which auction system uses such as the chat

frame, selling frame, buying frame and evaluating frame. For example, when user

wants to sell a product, after clicking the button of sell product, auction system will

pop up a frame to let user input all the information about the selling product. The

three manager of GUI will not invoke P2P network data action function directly, only

functionalities frames can invoke the P2P network data action function.

3.2.4 P2P Network Data Action Function

P2P auction system has to put or to retrieve different data, such as the selling

(30)

21

update product condition at once. P2P network data action function achieves their

functionalities by using the functions in P2P pub/sub module. When GUI is triggered,

for example, user wants to publish a new product to sell, the GUI calls the

corresponding functionalities frame and after user has input all information about the

selling product, functionalities frame will invoke the corresponding P2P network data

action function to put data onto P2P network and publish to every node that has

subscribe the topic. All classes of P2P network data action function play not only

observer role but also observable role.

3.2.5 Web Server and Web Browser

A web server is a program that is responsible for handling HTTP protocol, such

as Apache or IIS. It accepts HTTP requests from client and sends HTTP responses.

Web browser is a program that displays documents in a web server, such as Internet

Explorer or Mozilla Firefox. OpenID standard uses HTTP protocol to contact with

each other. An OpenID provider offers service of registering OpenID URLs and

providing OpenID authentication. A site in the authentication process is central

website that user wants to login, but auction system can’t build a central website to let

users to login which will result in bottleneck at the website. The site also needs to

send absolute address of it to OpenID provider so that when getting authentication

from OpenID provider, it will also redirect the page to the site. Thus, we still need a

web site that can accept messages from OpenID Provider.

Based on the situation, our solution is to attach a light web server to user’s

computer. That is, user plays the role of “site” and “user” both. User login into our

(31)

22

direct user to the web page of openID provider; user has to input username and

password to get authentication from OpenID provider. Then the OpenID provider will

direct user back to web server in the auction system.

3.2.6 P2P Pub/Sub Module (FreePastry)

As describe in the previous section, our pub/sub system put the self-define

pub/sub content into P2P network through the implementation of P2P protocol. The

implementation of P2P protocol we use in auction system is FreePastry[32].

FreePastry is an open-source implementation of Pastry which describe in chapter 2.

The functionalities of P2P pub/sub module are initializing P2P environment,

building node, joining P2P network and some basic operation on P2P network such as

storing data, retrieving data, publish data.

In the auction system, static data retrieves form configuration file,

config.properties which records some modifiable parameters for P2P pub/sub module

to initiating P2P environment and joining into P2P network. To building a node and

joining P2P network need some element. We describe the steps as follow. First, while

building a node we need a port to handle all messages on P2P network, a port value is

specify in the configuration file. After a node is established, it needs a bootstrap

which is an existing node on P2P network to join into P2P network. If bootstraps do

not exist, the node will form a P2P network by itself. P2P pub/sub module also

consists of some basic P2P network operations such as store data, retrieve data, and

subscribe topics. All of which are achieved by some the functions of open source

(32)

23

In short, the difference between P2P network data action and P2P pub/sub

module is that P2P pub/sub module uses functions in FreePastry to build some basic

P2P network operations and P2P network data actions use the function in P2P pub/sub

(33)

24

Chapter 4 Implement Details

4.1 System Functionalities

All of functionalities work under the condition that a user is login successfully.

After user has login with their OpenID and the web server has get the authentication

correctly, then all functionalities will ready to work. Figure 4 - 1 shows the

functionalities of the system. And in the following sections, we describe the

functionalities of the system in details.

Figure 4 - 1 the functionalities of P2P auction system

Login My store management ( auction system ) Message system Index List management ( auction system )

Add new products to sell Modify selling product Delete selling product Set a selling product to due

Shopping arcade search Keyword search

Price range search OpenID search Instant message Leaving Message

Chasing list’s update/delete Bidding list’s update/delete Ending bid list’s update/delete

(34)

25

4.1.1 Auction System

Auction system consists of three parts. First is some basic operations to manage a

store. Second is three kind of lists to let user easy to memorize information about

products. Third is the bidding part which handles all bidding for products.

There are four basic store operations to deal with selling product. First, adding a

new selling product and put it on P2P network for other users to search. Second,

modifying the content of products, this operation will store the modified data on P2P

network. Third, user can delete a selling product. Finally setting a selling product due

which means the selling procedure is ended. Moreover, there are three types of lists in

the auction system which are chasing list, bidding list, and ending bid list. Chasing list

let user add some products into the list that user wants to keep track of, this make user

easy to memorize all products. Bidding list records all products that user has bid for,

this make user keep stay in touch with the latest information of products. Ending bid

list will refresh every time a new data is published, it will analysis products in the

bidding list, if any product is due and the highest bidder matches user’s OpenID, then

the product is move to ending bid list.

4.1.2 Bid System

The bidding part is an important feature of auction system. User can bid for what

user wants. Finally the highest bidder of products must complete the transaction.

The bid system in P2P architecture is just like the one in server based

architecture. User bid for products and the one who own highest price will get the

(35)

26

is where user sends request to. When someone has bid for a product, in server based

architecture what we need to do is just modify the data on server. But in P2P based

architecture, information of products is on P2P network, user needs to retrieve product

information from P2P network and modify the data then put it back to P2P network.

Finally publish the data to all subscribers and let the product owner retrieve the newly

update product information and set to his profile.

4.1.3 Search System

Like server based auction system, searching is an important part for auction

system. Users can find products by searching in the system. The difference between

server based and P2P based auction system is that the way to store data. Server based

auction system stores data in a centralize way, but P2P based auction system stores

data in a distributed way.

The P2P auction system support two types of search, one is text based search

which user need to key in terms to search for matching results and the other is

shopping arcade. User doesn’t need to input anything, just click the shopping arcade

button in system and get the list of all the stores on P2P network. There are three

kinds of text based search. The first is OpenID search; user can type OpenID of seller

to search for seller’s products. Second is keyword search; user can search for some

specific keyword. Third is price range search; user can type an upper bound of

affordable price and getting results back. The search system will not display products

(36)

27

4.1.4 Evaluation System

No matter what architecture the auction system is based on, users need to deal

with a strange person. A successful transaction needs both seller and buyer trusts each

other. As a result, evaluation system is very important, it build a fast and reliable way

to inspect the one user transact with. The evaluation is given by other people. From

the evaluation system, user can judge a transaction is safe or not.

The evaluating way in P2P auction system is special, unlike the server based

auction system, user can decide to evaluate others or not. P2P auction system makes

evaluation actively. Three days apart from product due date, the system will actively

ask user about the transaction they made. User can give four kinds of evaluation,

which are positive, negative, none and evaluate later. If user choose evaluate later, the

evaluating frame will appear the next time when user login. By this way user is forced

to give evaluation to every transaction. The work flow of evaluation system is shown

in Figure 4 - 3, and the work flow of evaluating process is described in the next

section.

The reason for three days is to leave enough time for seller and buyer to make a

transaction deal. If user hasn’t got the product three days after they made a transaction,

user can choose evaluation later or gives a negative evaluation in the evaluating

process. And if user chooses to evaluate later, every next time user login, P2P auction

system will ask the user to complete the evaluating process. So our evaluation system

takes a positive way to do evaluate and it always asking user to give a evaluation.

This will decrease the rate of not giving evaluation after a transaction.

(37)

28

4.1.5 Message System

Most sever based auction systems don’t support instant message; instead they

support message leaving system. To implement instant message is nature P2P

technology because it is born for peer to peer communication. The advantage of

leaving a message is to save personal space for both seller and buyer. On the other

hand the disadvantage is that transaction process becomes longer, user must wait for a

reply. This will make bad feeling for user who is eager to buy something.

In P2P auction system we support both instant message and message leaving

system. User can choose the way suitable for them to contact to each other. The

message leaving system let user choose to leave message with OpenID or nickname.

Using instant message user just clicks the OpenID user wants to talk to, and a talking

window will pop out. When finish talking, no matter which side of user close the

talking window, the other side of user will get a leaving message indicate the other is

leaving.

4.2 Self-Define Pub/Sub content

According to P2P protocol, every file has an unique identifier. The identifier is

produced by a hashing key. In other words, we can’t find a file without a key. In P2P

auction system there are two types of file that needed to store on P2P network. That is

user profile and product information file. It is refer to the paper ” A P2P Blog System

with OpenID Integration”[30]. We use user’s OpenID to be user identifier in P2P

(38)

29

serial number, that is to store in the format of useridentifier#N, where N stands for

serial number.

User profile stores all information about user, such as identifier, evaluation value,

serial number, subscribe list, bidding list and ending bid list. It records all the personal

data of user and whenever data is modified, the system will publish it out. For

example, every time when a transaction is evaluated, the evaluation result will store in

profile of user and publish to everybody. Product information file stores the

information about selling product, including product name, product description,

lowest bid price, due date of selling and picture of the product. The picture of product

can’t put onto P2P network directly, so we first reduce the size of picture which can

avoid memory overflow problem, and translate picture into a java imageicon object

via java I/O operation and finally put the product information onto P2P network with

the other information. To see selling products, P2P data action function needs to get

product information file on P2P network and transform java imageicon into the format

of jpg picture file. The transformed picture is stored in directory named TEMP_TMG.

And to avoid conflicts of picture name, we use seller’s identifier attach with picture

name. Every user’s identifier is unique, so there will be no picture name conflict.

4.3 System Flow

In this section we describe not only a overall work flow but also all

(39)

30

4.3.1 Overall Work Flow

The overall work flow depict the process of a user from starting P2P auction

system till the end of the system. The flow is shown in Figure 4 - 2. Starting the

system and user login with OpenID successfully then according to user’s OpenID, the

system gets user profile on P2P network. If user profile doesn’t exist, the system will

produce a new profile and store it on P2P network. After getting the profile, system

retrieves data and initializes variables in the system such as user identifier, subscribe

list, bidding list and etc. And if the user had made any transaction three days ago,

evaluating system will be triggered and pop out the evaluation frame to let user

evaluating the other. Finishing the evaluation process, the system is already set still

(40)

31

Figure 4 - 2 the overall work flow of P2P auction system

4.3.2 Evaluation System Work Flows

With evaluation system, user can view the evaluation value of others, just like

the server based auction system. Figure 4 - 3 shows the work flow of evaluation

User Login

[ Get Self Profile ] on P2P Network

[ Initialize Program Data ] According to the Profile

[ Evaluation System] Evaluate Transaction if

needed

[ Functionalities] 1. Auction System

 Basic product related operation  Three kinds of list

2. Search System

 Text based search  Shopping arcade 3. Message System

 Instant Message

 Message leaving system

[ User Logout ] Store User Profile on P2P

(41)

32

system. First is to check whether user is login or not. Then the system has to check

whether user have made a transaction three days ago. If it is after three days, the

system will retrieve the profile of the one user is transact with, then starting to

evaluate by popping out an evaluating frame. After getting user’s input, the system

will put the result on P2P network and the one who is been evaluated has to retrieve

(42)

33

Figure 4 - 3 the work flow of evaluation process

User login

Functionalities Frames

[P2P data action function] Put on P2P network [P2P data action function] Get user profile of the one

user transact to

The one user is transact with must retrieve his

evaluation value Exist transaction

three days ago

Yes

User input data

Evaluation Completed!

(43)

34

4.3.3 Chat System Work Flows

P2P auction system provides two ways of communications. One is leaving a

message and waiting for reply. The other is using instant message. The figure below

shows the work flow of using instant message. When user click “Discuss” button, P2P

auction system will send a self-define “Ping” messages to all profiles which are

retrieve form P2P network. By data records in a profile, P2P auction system can easily

connect to the address of others and start to communicate. And the one get a “Ping”

message, the system will sends a self-define “ACK” message automatically. As a

result, the system can list all users who are online. And just click the one user wants

to talk to, the system pops out a talking frame just like a chat room. And the work

(44)

35

Figure 4 - 4 the work flow of instant message

message

Click “Discuss” button

[P2P data action function] Send “Ping” message to all the profile gets on P2P

network

[Functionalities Frames] Display profile OpenID

on frame Talking Frame Receive message “ACK” message OpenID Frame Dispose Finish! Leave Button

Click Leave Button User click

(45)

36

Chapter 5 Application

Demonstration

5.1 Main Frame of P2P auction system

The figure below is a overview of P2P auction system. The GUI part can divided

into five areas to explain. We have indicate that the auction system consist of store

management and list management which are area 1 and area 2 respectively. Area 3 is

the login part, user click login button to invoke web server and web browser to login

user. The search system is in area 4 which has shopping arcade, search with OpenID,

keyword or price range. And finally to use instant message, user just have to click

discuss button which is area 5 to do the talking part.

Figure 5 - 1 the overview GUI of P2P auction system

Area 1

Area 2

(46)

37

5.2 User Login

In Figure 5 - 2 shows that after user click login button, the system invokes web

server and embedded web browser to let user key in his OpenID. And the system also

supports user to login with Yahoo OpenID. Due to Yahoo online auction is one of the

main auction system that used in Taiwan, supporting user login with Yahoo OpenID

will make our P2P auction system more easily to use. And after the system has

receives authentication from OpenID provider, web server and web browser will close

automatically, and user is directed to the GUI part again.

(47)

38

5.3 Functionalities of P2P auction system.

5.3.1 Auction System

When adding a new product to sell, user needs to click new product button and to

fill information about the product as shows in Figure 5 - 3. In the filling process, user

clicks the text field of upload picture, a file upload dialogue will appear automatically

to let user choose a proper picture to upload. To key in due date of product, there are

two ways to fill in the text field. One is to key in date directly; the system will check

type and rightness of what user types. The other is to click the button next to the text

field and a calendar will appear to let the user choose the date.

Figure 5 - 3 Add a new product to sell

5.3.2 Bid System

After adding a new product to sell, user can see the selling product showing at

the right side of main frame as shown in Figure 5 - 4. To bid for a product, user just

(48)

39

click the bid link shows in the figure, after a announce frame pops put, user can type

an affordable price to bid with others.

Figure 5 - 4 Bid for the selling product

5.3.3 Evaluation System

When a transaction is made three days ago, an evaluation frame will pop out to

ask user giving an evaluation to each other. And if the user hasn’t given an evaluation,

the same frame will pop put the next time user logins. This way force user to evaluate

each other when they have transaction, and by doing so make the evaluation of our

system more reliable. The evaluation figure is shown below. After user has given an

(49)

40

Figure 5 - 5 To evaluating others

5.3.4 Message System

There are two ways to communication to each other. One is leaving a message

and the other is to use instant message. These two are shown in Figure 5 - 6 and

Figure 5 - 7 respectively. To leave a message, user just clicks the comment link and

type messages in the message box. Then others can see the message immediately. To

using instant messages user can click the discuss button and choosing an OpenID to

talk to. Then both side of user will pop out a talking frame automatically. When

finishing talking, no matter which sides of user close the talking frame, the other side

(50)

41

(51)

42

Figure 5 - 7 Using instant messages

https://me.yahoo.com/ a/szc0PzQatOx1LLilrHsbqnFMvAJg2ec4b http://dcslab.pip.verisignlabs.com / Closed!! Closed!! Pop out Pop out

(52)

43

Chapter 6 Comparison

6.1 Comparison Between P2P Auction

P2P

auction system ItsKarma EzBas

Architecture Distributed

Registration OpenID Register on

ItsKarma Register on EzBas

Search for product keyword, range wanted, category keyword

Discussion Instant message,

Message leaving Instant message Instant message

Evaluation system Evaluation three

days after No evaluation No evaluation

Additional

software Custom windows application

Table 1 - Difference between P2P auctions

The table above lists the differences between P2P based auctions. Although

ItsKarma and EzBas are not use now, we can still take advantage of them. The main

difference between our P2P auction and others is that we have integrated OpenID

login into our system, this make our system real distributed. Using ItsKarma or EzBas

need to register an account and also need to verify username and password every time

user logins. This result in the login part isn’t base on P2P which causes same problem

as server based auction, the bottleneck at server. And another difference part is that

only our system implement evaluation process, this make the transaction more reliable,

user can query for other’s evaluation value in advance then user can decide to make a

transaction or not.

The feature worth mention in ItsKarma is it’s search part. ItsKarma support user

(53)

44

for all want articles on P2P network to sell things to others. ItsKarma can also use

category search. When adding a new product to sell, user must specify the category of

products so that the system can do category search.

6.2 Comparison Between Server Based Auction

P2P

auction system Yahoo E-bay

Architecture Distributed Server/Client Server/Client

Registration OpenID OpenID On server

Additional software

Custom windows

application none none

Cost Free Charge Free

Subscription Scribe RSS RSS

Table 2 - The difference between P2P auction and server based auction

The table above compare P2P based auction and server based auction. Their

architecture is completely different. P2P based architecture is born to solve the

problems of server based auction which are storage not enough and the bottleneck at

server side. P2P auction system integrates OpenID to make our system completely

distributed and the advantage of our P2P auction is that the process of selling product

is totally free. Although E-bay is also free, this doesn’t means it will never charge for

fee. It is trend for server based auction system to charge fee. As a result, E-bay has

high possibility to be the next server based auction system that charge user for fee. In

(54)

45

6.3 Comparison Between P2P Blog

The architecture of P2P blog system[30] and P2P auction system is similar. They

all implement with FreePastry and use OpenID to login. And in P2P auction system,

we have implement all the future work in P2P blog system, that is keyword search,

uploading picture, provides reference value to user (the evaluation value).The main

difference between our P2P auction system and the P2P blog system is the

functionalities, we not only adding new functionalities but also improve the originate

functionalities. The table below shows the functionalities of P2P blog and P2P

auction.

P2P Auction System Functionalities

P2P Blog System Functionalities

Personal information none Self profile

Functionalities to Management Objects on P2P network Product Article Post Post Modify Delete Set to End Way to Memorize Object List Bookmark

Product List Bookmark Article

Bid List

Finish Bid List

Subscribe Subscribe Product Subscribe Article

Communication Leaving Message Comment to Article

(55)

46

Chapter 7 Conclusion and Future

Work

7.1 Conclusion

In this thesis, we provide another way to selling products. The system has

overcome the problem of modern client /server based auction system. Based on P2P

technology, the architecture of P2P auction system is distributed. Besides, building

the system via P2P architecture is simpler than via client/server model because P2P

technology already has some essential mechanisms like file-backup. Moreover, the

system combine P2P network with OpenID authentication which makes the

application totally distributed. By using OpenID login, user who has a Yahoo account

can easily login with Yahoo OpenID. This makes the system easier to use because

user needn’t to apply for a new account. And it is a greatest attraction that the selling

process is totally free; unlike the server based one needs to charge seller for fee.

7.2 Future Work

For further extension, we shall settle the following problem in the nearest future.

 First, in evaluation system we present is just seller part i.e. that we can only see seller’s evaluation value. But seller is also under the risk of buyer reject

the bid i.e. buyer may goes back on his/her word not buying product. The

system has record both sellers and buyers evaluation value. So just consider

representing both seller and buyer evaluation value with positive evaluation

(56)

47

 Second, adding want articles which describe what user want and seller can contact with the user. Just like ItsKarma does.

 Third, the search system has to be improved. The system can search for ended selling product for buyers to refer to it. And adding category search

or want article search like ItsKarma does. Moreover, we can add evaluation

search, user can specify a threshold of positive evaluation of a seller so that

to avoid bad transaction.

 Fourth, the system can add functionality of edit self profile including store name and personal information. So that users can see store name instead of

user OpenID at shopping arcade.

 Fifth, the can have its plug-ins. And regard plug-ins as a notifier which notifies the user when others have bid for a product or a selling product is

due.

 Sixth, transform the system to running on both windows to linux. The system can’t run on linux just because the embedded browser can only run

Internet Explore. As a result, we replace embedded browser to the one

which can run firefox, for example, JxBrowser. By doing so, the system can

(57)

48

Chapter 8 Reference

[1] eBay follows Yahoo's lead with auction fees, January 16 2001, Retrieved from

http://news.cnet.com/.

[2] Karl Aberer, Manfred Hauswirth. "Peer-to-peer information systems: concepts

and models, state-of-the-art, and future systems", ACM SIGSOFT Software

Engineering Notes, vol. 26, Issue 5, pp 326 - 327, 2001.

[3] Anthony D. Joseph, Ralf Steinmetz, Ion Stoica, Klaus Wehrle. "Peer-to-Peer

Systems and Applications", Lecture Notes in Computer Science, Vol. 3485,

pp.9-16, 2005.

[4] Chonggang Wang, Bo L.. "Peer-to-Peer Overlay Networks: A Survey", , Tech.

Rep., Department of Computer Science, The Hong Kong University of Science

and Technology, Hong Kong, 2003.

[5] Jorn De Boever, "Peer-to-Peer Networks as a Distribution and Publishing

Model", Department of Communication Science, K.U. Leuven, Master's thesis,

2007

[6] Choon Hoong Ding, Sarana Nutanong, and Rajkumar Buyya. "Peer-to-Peer

Networks for Content Sharing", Tech. Rep, GRIDS-TR-2003-7, Grid Computing

and Distributed Systems Laboratory, University of Melbourne, Australia.,

December 2003.

[7] Eng Keong Lua, Crowcroft J., Pias M., Sharma R., Lim S.. "A Survey and

Comparison of Peer-to-Peer Overlay Network Schemes", Communications

Surveys & Tutorials, IEEE, vol. 7, Issue 2 , pp. 72-93, 2005.

[8] Y. Kulbak and D. Bickson. "The emule protocol specification", Tech. Rep, Leibniz

Center TR-2005-03, School of Computer Science and Engineering, The Hebrew

(58)

49

[9] J. Pouwelse, P. Garbacki, D. Epema and H. Sips. "The Bittorrent P2P File-Sharing

System: Measurements and Analysis", Proceedings of the IPTPS, pp. 205-216,

2005.

[10] Frank Dabek, M. Frans Kaashoek , David Karger, Robert Morris and Ion Stoica.

"Wide-area cooperative storage with CFS", ACM SIGOPS Operating Systems

Review, vol.35 , Issue 5, pp. 202-215, 2001.

[11] I. Stoica, D. Adkins, S. Zhuang, S. Shenker and S. Surana. "Internet indirection

infrastructure", ACM SIGCOMM Computer Communication Review,

vol.32 , Issue 4, pp. 73-86, 2002.

[12] J. Risson and T. Moors. "Survey of Research Towards Robust Peer-to-Peer

Networks: Search Methods", Computer Networks, vol. 5, Issue 17, pp.

3485-3521, 5 December 2006.

[13] A. Rowstron and P. Druschel, Pastry. "Scalable, distributed object location and

routing for large-scale peer-to-peer systems", IFIP/ACM International

Conference on Distributed Systems Platforms (Middleware), Heidelberg,

Germany, pp 329-350, November 2001.

[14] Ion Stoica , Robert Morris , David Karger , M. Frans Kaashoek , Hari Balakrishnan.

"Chord: A scalable peer-to-peer lookup service for internet applications",

Proceedings of the 2001 conference on Applications, technologies,

architectures, and protocols for computer communications, San Diego,

California, United State, pp.149-160, August 2001.

[15] Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, and Scott Shenker.

"A Scalable Content-Addressable Network". ACM SIGCOMM Computer

Communication, vol. 31 , Issue 4, pp. 161 - 172 , 2001,

[16] Wikipedia(n.d.). Peer-toper. , May 25 2008, Retrieved from

(59)

50

[17] Antonio Carzaniga, David S. Rosenblum , Alexander L. Wolf. "Design and

evaluation of a wide-area event notification service", ACM Transactions on

Computer Systems, Vol. 19, Issue. 3, pp. 332-383, August 2001.

[18] Antonio Carzaniga and Alexander L. Wolf. "Content-Based Networking: A New Communication Infrastructure", Revised Papers from the NSF Workshop on Developing an Infrastructure for Mobile and Wireless Systems, p.59-68, October 15, 2001

[19] Patrick Th. Eugster, Pascal A. Felber, Rachid Guerraoui, Anne-Marie Kermarrec.

"The Many Faces of Publish/Subscribe", ACM Computing Surveys (CSUR), vol.

35, Issue 2, pp. 114 - 131 , 2003

[20] D.L. Mills. “RFC 1305 : Network Time Protocol Version 3 Specication,

Implementation and Analysis”, March 1992.

[21] J.B. Postel ed. Internet Protocol RFC 791, September 1981. , Retrieved from

http://www.ietf.org

[22] J. B. Postel. User Datagram Protocol RFC 768, August 1980, Retrieved from

http://www.ietf.org

[23] George Fletcher. OpenID introduction, 2009, Retrieved from http://openid.net/

[24] David Recordon, Drummond Reed. "OpenID 2.0: a platform for user-centric

identity management", Proceedings of the second ACM workshop on Digital

identity management, Alexandria, Virginia, USA, pp. 11-16, 2006.

[25] ItsKarma, May 16, 2009, Retrieved from http://www.itskarma.com/.

[26] EzBas, May 16, 2009, Retrieved from http://www.ezbas.com/.

[27] Despotovic,Z.,Usunier,J.-C., Aberer,K.."Towards Peer-To-Peer Double

Auctioning", Proceedings of the 37th Hawaii International Conference on

(60)

51

[28] Ogston E., Vassiliadis S.. "A Peer-to-Peer Agent Auction", Proceedings of the

First International Joint Conference on Autonomous Agents and Multi-Agent

Systems (AAMAS), Bologna, Italy, pp. 151 – 159, July 2002.

[29] Haussheer, D.Stiller, B.. “Decentralized auction-based pricing with PeerMart”,

Integrated Network Management, 2005. IM 2005. 2005 9th IFIP/IEEE

International Symposium on, pp. 381-394, 2005.

[30] Chen-Pu Lin, Yung-Wei Kao, Shyan-Ming Yuan. “A P2P Blog System with OpenID

Integration”, Proc. of 2008 Int’l Conference on Convergence and hybrid

Information Technology (ICCIT08), Busan, Korea , pp.1064-1069, Nov. 11~13,

2008.

[31] Request For Comments(RFC) 2030, May 16 2009, Retrieved from

http://www.ietf.org/.

數據

Figure 2 - 1    the First Four Steps Shows How OpenID Works
Figure 2 - 2    the Remain Five Steps of How OpenID Works
Figure 2 - 3 shows the Graphic User Interface (GUI) of ItsKarma.
Figure 2 - 4    EzBas
+7

參考文獻

相關文件

„ A socket is a file descriptor that lets an application read/write data from/to the network. „ Once configured the

Responsible for providing reliable data transmission Data Link Layer from one node to another. Concerned with routing data from one network node Network Layer

Each unit in hidden layer receives only a portion of total errors and these errors then feedback to the input layer.. Go to step 4 until the error is

Student learning profile It is to provide supplementary information on the secondary school leavers’ participation and specialties during senior secondary years, in

 Create and present information and ideas for the purpose of sharing and exchanging by using information from different sources, in view of the needs of the audience. 

 Create and present information and ideas for the purpose of sharing and exchanging by using information from different sources, in view of the needs of the audience. 

The roles of school management and technical support staff on implementing information and network security measures... Security

3. Works better for some tasks to use grammatical tree structure Language recursion is still up to debate.. Recursive Neural Network Architecture. A network is to predict the