So what is the problem ?
Cooperation ???
Full cooperation
Do the best possible behavior to achieve a performance goal
- Is the goal achievable ?
- How to achieve the goal ?
Non–cooperativeSelfish behavior
Different rational goal
- How to mitigate conflicting rational
Non-cooperative
- Malicious behavior : Harmful goal How to contain irrational objectives
Cooperation assumes rationality Social intelligence Machine learning
Let’s define for each packet a set of attributes Ai
- Destination address D(Pi)
- Some Attributes are extracted from packet
- some are coming from local context
Utility ?
Let’s define a utility function U(Ai, D(Pi), ID, A)
- The utility of forwarding message i directed to D(Pi) to node ID with context A
- The utility function capture the selfishness of the node
Generic forwarding scheme
- Calculate for each packet in buffer its utility
- Forward the largest utility
Classical routing
Assign the utility function 1 if the node ID is on the path to destination D(Pi) null otherwiseCommunity or content networking
- Give a higher utility to some specific contents or community.Cooperative monitoring
- Give higher utility to information that give better view of network stateCooperative learning
- Give higher utility to information that will help in learning of neighbors.
How to share useful information about states with interested nodesIn the simplest setting all the node are interested about all states Nodes should be able to define which variables they are interested in
Our utility
- forward the data that will result in the lowest estimation error
- Lowest MSE
Local compression
- Each node calculate locally its covariance
- apply a KLT
- apply the resulting projection do quantization forward to node c the compressed state vector The state vector is reconstructed at node c
- Forward variables that are correlated with preference list of neighborsincentive/punishment mechanismThe node implements the distributed compression.Apply the optimal projectionForward the projections when they change
- The node adds estimated variables from its own preference list to the forwarded variablesThis adds its estimation error as a noise in the neighbors estimation processNeighbors have an incentive to help it to reduce its estimation errorsCooperation by punishment rather than by incentive
- We define a cooperative framework for networks Illustrated with distributed state sharingApplicable to a large set of scenarios
- DTN, distributed compression/transmissionThe essence of distributed setting is social intelligenceNode selfishness is essential
this work have been developed in the context of the EU FP7 Ecode project
www.ecode-project.eu
Conclusions
classical framework
General framework
What about selfishness ?
Linear estimation crash course
enforcing cooperation
Compression crash course
crash courses
Hey, why should I forward any packets to you?
Each Node implements a forwarding function The forwarding function implement the cooperation
Thanks
Kavé Salamatian
Université de Savoie
projection phase
Quantization phase
The proposed punishment mechanism acts as a shadow priceIf mechanism for enforcing shadow price exists we can implements a Pareto-Optimal cooperation mechanismBeing social becomes helpful How to enforce shadow prices ?By entangling the performance of or neighbors estimation with our own estimation Linear projections provide an elegant solution Cooperation by punishment not by incentives
Each node maintains a state vector
Let's be bad !
We have to cooperate but
- we don't want to waste resources/banwidth
- we are rational; ready to give more if we get more!
- Everybody is selfish but nobody is malicious
- nreliable nodes: cannot count on their permanent presence ; might be opportunistically off
How to do ?
Forwarding scheme
performances
Iterative approach
Preference List
incentive or punishment
Distributed compression
Covariance estimation
General case
Reception processing
being social is helpful