mardi 14 septembre 2010

A tous les gens qui pensent qu'on glande...

Ceci est le fruit de notre dur labeur du jour :

Community : Web services with similar functionalities
-> a means to gather similar Web services regardless of who developped them, where they are located, and how they function (common functionality, distinct non-functional properties)
Similar functionalities -> Reputation acts as a factor of differentiation
What makes users return and bind to almost the same Web sites -> Reputation

Reputation : 2 perspectives :
-       Provider : in which community put his WS
Goal : signing up in reputable communities
-       User : which community to choose to identify the WS to invoke later, help him select communities that can offer to him WS that meet his quality expectations
Goal : be served by CWS with high and reliable quality of service

Reputation : opinion of the public toward a person, a group of people or an organization
Based on user ratings à subjective, easily manipulable

Community : master & slaves
Roles of master : leads the community
-       Attracting new WS using rewards
-       Convincing WS to stay
-       Nominating WS to participate in composition scenarios

Functions of  a community : 3 categories
-       Management (monitor all events happening in the community)
-       WS attraction & detention
-       Nomination & selection functions for composition

 Reputation based on several metrics
-       From the user’s perspective
o   Responsiveness : how fast a community master is at nominating a WS slave from his community that can handle the user’s request
o   InDemand : how much users are interested in a specific community more than in any other one
o   Satisfaction : subjective opinion of clients

Responsiveness and satisfaction : direct evaluation of interactions between users et CWS
InDemand : assessment of a community in relation to other communities

-       From the provider’s perspective
o   Selectivity : maximum likelihood of beign selected for fulfilling user’s request compared to all others communities
o   Market Share : ratio of the WS subscribed to a community to the total number of WS subscribed to all communities
o   Fairness : giving each provider almost the same opportunity of participation like its peer members in the community

Reputation-based architecture
-       Extended UDDI
Registry containing entries that describes individual WS
-       User Agent
Proxy between the user and other parties
-       Provider Agent
Proxy between the provider and other parties
-       Reputation System
Core component : 2 functions :
o   Maintaning a repository of runtime operational data needed to compute the performance metrics of a community
o   Ranking communities by their reputation using a ranking algorithm
Important that user and provider agents are independant parties in order to intercept trusted runtime data about each WS interaction

Reputation based on evaluation based on credibility

CWS may be encouraged to improve their reputation or damage other’s reputation by providing fake evaluation à need to find a architecture model with an incentive based reputation adjustment so that even if a community is capableof misleading the logging system in support of itself it will not take the risk to do that given the fact that they are aware of possible consequent penalty that would decrease the current reputation level

2 types of fake ratings :
-       Fake positive (to improve one’s reputation)
-       Fake negative (to degrade other’s reputation)

To counter this, 2 steps needed :
-       Recognition
-       Adjustment

Also needed : accurate logging file, responsability of controller agent (highly secured agent, and if compromised recognized by communities)
Controller Agent takes feedback files under surveillance, can fail to recognize fake feedback -> malicious WS consider this failure chance in their decision of cheating

Fake positive correction :
-       recognition : based on recent observable changes in the reputation of a community -> abnormal improvement of reputation, with regard of a predefined threshold
-       adjustment :  observation of the upcoming behaviour and
o   if faking confirmed -> reputation decreased by some applied penalties
o   if not à improvement of reputation taken as normal

Fake negative correction :
-       recognition : as fake positive
-       adjustement : observation of the upcoming behaviour and
o   if faking confirmed -> negatives are discarded and reward is assigned
o   if not and the community was complaining -> penalty applied

After having faked, detection probabilty by the controller agent is really high and faking again would be crazy because it would be detected and the penalty of 2 faking is too high to ever retaliate and improve again. So, it is an incentive not to fake.

WS alone can easily be overloaded and hence having a poor responsiveness

Solution : group different WS in a community -> improve performance and/or availability but more complex, need a proper management and master responsible for accepting and excluding WS

Good reputation = double sword : bring plenty of user’s requests -> overloading
Challenge : tradeoff between one’s capacity and market share -> WS not overloaded but not idle
Find such a tradeoff = stable reputation and market share level

Why a WS is encouraged to join a community that would possibly degrade its reputation ? Answer : survival is more critical than carrying on the current reputation level

WS able to handle requests unless overloaded (too big InDemand) -> poor QoS for some users that exceeds community capacity à drop in the user satisfaction -> drop in the reputation
Old communities more familiar with the network -> chaotic situation would less affect them (drop factor µ)

A community would be encouraged to join an other community even tough its reputation is decreased, the join is beneficial as long as the total performance is higher.
Reputation parameters :
-       Quality
Capacity of handling user’s requests in a timely fashion
-       Market Share
Extent to which the WS is active in the providers’ network

Seize malicious acts à maintain a sound reputation system
Failing to detect malicious acts -> false alarm :
-       Penalizing a good WS
-       Ignoring malicious WS

Need to find optimum penalty value which minimize malicious acts and maximize self-performance level

One-shot game :
Cg\community i
Fair
Malicious
Ignore
Penalize
Unique Nash Equilibrium

Repeated game :
Cg\community i
Fair
Malicious
-> all the time = dominant strategy
Ignore
Pareto optimal  (if not aware of Cg accuracy level)
Penalize
(All the time) Unique Nash Equilibrium
(if community not aware of Controller Agent previous chosen strategies)

By finding the right penalty, acting normal and being ignored is both nash and pareto optimal -> incentive to act normal

1 commentaire: