160 likes | 273 Views
Thinking Architecturally. An information theory and complex system viewpoint. Computer science is based on three main principles Reduction A problem can be re-expressed as another problem or a set of other problems Recursion State machine concept You need a fix point to leverage on it
E N D
Thinking Architecturally An information theory and complex system viewpoint
Computer science is based on three main principles • Reduction • A problem can be re-expressed as another problem or a set of other problems • Recursion • State machine concept • You need a fix point to leverage on it • Entropic representation of information • You can represent all information through bits Architecture in computer science view
Algebraic view • A software architecture • Define the set of software component that can calculate all defined specification • Any specification should be reducible to a recursive (state machine based) combination of the software architecture components • Can eventually be checked through an algebraic specification tester • Ensure that all information needed for answering the specifications are available at the time they are needed. • A good architecture is one that have the largest expressive power with the slightest component • NP is the set of languages definable by existential, second-order formulas (Fagin's theorem, 1974) • John Day’s approach in “Patterns in Network Architecture” • “ Architecture is maximizing the invariances and minimizing the discontinuities” Software architecture
Abstractions permit to "hide" heterogeneity. • Functional Block (FB) • Information Dispatch Point (IDP) • Information Channel (IC) • Compartment. • space where FBs, IDPs and ICs live Node compartment Node compartment FB1 FB2 IC c a b Internet architecture a la ANA Networkcompartment
A network is a set of distributed components • Local in a node or distributed • Sitting in one layer or crossing layers • Tightly or lightly coupled • Cooperating to transmit information from point to point. • Architecture defines type of collaboration • Collaborating through protocols Information theoretic view on architecture
Full Cooperation • Do the best possible behavior to reach a goal • Assuming full collaboration • Is the goal achievable ? • How to achieve the goal ? • Multi-user information Theory • Non–cooperative • Selfish behavior • Different rational goal • How to mitigate conflicting rational goal ? • Game theory • Malicious behavior • Harmful goal • How to contain irrational objectives ? • Behavioral inference Cooperation ?
Each Node implement a forwarding function • The forwarding function implement the cooperation Cooperation framework
Flooding Routing Distributed computation Network coding Any other ? Forwarding function Examples
Broadcasting Sender Receiver General case: Multi Sender-Receiver Multi-Relay L1 L2 L3 Lm
? Classical forwarding
? Extension
ID,A A1 A2 An Why to forward ? • 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 • Let’s define a utility function U(Ai, D(Pi), ID, A) • The utility of forwarding message idestinated to D(Pi) to node ID with context A • The utility function capture the selfishness of the node • Forwarding scheme : • Calculate for each packet in buffer its utility • Forward the largest utility
Utility functions • Classical routing : Assign the utility function 1 if the node ID is on the path to destination D(Pi)null otherwise • PROPHET: The delivery likelihood is the utility • Self Limiting Epidemic forwarding: The utility is scaled down everytime a packet is received or forwarded. • Community or content networking :Give a higher utility to some contents or community. • What if the utility doesn’t depend on destination adress ? • Results in epidemic forwarding • Might construct utility function changing over time and adapting to information increase • Spray and focus • Move from opportunistic to infrastructure mode
A complex system consists of several component interacting with each other • Local dynamic • Interaction with environment • Environment changing local state • Local state changing environment • Architecture in this case is about coupling • Form of f and g functions • How a global structure emerges from microscopic coupling dynamic Complex system view to architecture