1/14/ :59 PM1/14/ :59 PM1/14/ :59 PM Research overview Koen Victor, 12/2007
12/ Topics Introduction Goal of this work Two examples Problem description Approach Addressing scheme Design Notation Coupling with the Overlay Network Mapping to the Overlay Network Overlay network Design & Structure Functionality Architecture Related Work
Problem In an unstructured mobile network, addressing data / devices / services is hard (objects): Name of the object Exact address in the network -> Implies knowledge the user may not have Much information that is available to the user cannot be used to address objects Contextual information Relational information When an object connects to a network, it needs to integrate in the existing infrastructure 12/2007 3
4 Example: event in Yolande’s agenda Traditional way: synchronize via central server Central Calender System Need exact address of CSS: Internet access Could both be online and available, but CSS offline Not known whether this is the best way to schedule a meeting Both need to synchronize to have the latest CSS information
Example: event in Yolande’s agenda Proposed way: context supported addressing 12/ Where is Yolande? Does she have an agenda? Where is it? (How) Does she want to be notified now?
12/ Example: print on nearest printer Traditional way: name printer using location p2a-duplex p2a-slide p1a p4a p3a Know the naming scheme Default printer is not always the closest Unavailable printer
12/ Example: print on nearest printer Proposed way: context supported addressing p2a-duplex p2a-slide p1a p4a p3a “Print this document on the printer that is closest to me”
Example: print on nearest printer Proposed way: context supported addressing Several questions: Where is the person printing the document? What are the nearest printers? What of these printers are suitable? What of these are available? Alternative addresses: “Print this document on the printer that is closest to my desk” 12/2007 8
9 Goal of this work Address objects using Specification of object features Specification of context of the object In an unstructured mobile network As seen by the user Possibly with gateways to Internet or other networks User doensn’t deal with network related issues Facilitating: Knowing whether the object is addressable Knowing whether the object is available Communication via the real network address, and higher level protocols Meaning of address depends on its context
Advantages Meaning of address depends on context Fixed address may become invalid when context changes e.g. printer closest to me No knowledge of network, infrastructure, technical details, availability… necessary These parameters are filled in by contextual information e.g. no obligatory calendar synchronization Depends on all interested parties: e.g. by both issuer and addressee Me: ‘printers nearest to me’ Sysadmin: ‘for which ‘me’ has access’ One simple address specification may deal with a lot of contextual information and policies 12/
12/ Building blocks Address notation Flexible enough to specify a variety of addresses Stringent enough to allow address checking and avoid unnecessary ambiguity Reasoning & Selection What does the address mean? What is the relevant context information / policies in the network? Searching Where to find the relevant context information? Where to find inference schemes to do reasoning? Structuring & Storing How to allow new objects to the network?
12/ Topics Introduction Goal of this work Two examples Problem description Approach Addressing scheme Design Notation Coupling with the Overlay Network Mapping to the Overlay Network Overlay network Design & Structure Functionality Architecture Related Work
12/ Addressing Scheme Design plan context-based infrastructuredevelop routing strategiesdesign addressing scheme create structured address assignment model choose address allocation method plan configuration strategyplan security, QOSimprove availabilitytest Overlay networkOverlay network
14 Addressing Scheme Design “Place a meeting in the agenda of Yolande” Address is as simple as possible Ambiguity: there may be several Yolandes contextual parameters from the initiating application: Yolande of the research group Complete the address with Ambiguity: there may be several of her devices with the calendar application Complete the address with contextual parameters from the network: where is she now? (synchronization is application dependent)
Addressing Scheme 12/ “Place a meeting in the agenda of Yolande” Address is as simple as possible Ambiguity: are there preferences relating to scheduling of meetings? (phone, , calendar, not now) contextual parameters from the target: Right now, you should phone me Complete the address with Design Address Sender Context Network Context Target Context The address is completed by context information: context supported addressing
12/ Addressing Scheme Notation Flexible enough to specify a variety of addresses Stringent enough to allow address checking and avoid unnecessary ambiguity Independent of technical details (network, availability) Independent of practical details (Location of the target, target’s preferences, …) Allows to ‘fill in’ contextual information Should be adaptable to the application’s type of requests
Addressing Scheme Quite intuitive: Example address: Agenda(a),.owns(a) Or more specific: Agenda(a),.owns(a),.headOf( ),.isMobile Other way of specifying this: Application(a),.supports(a), Application.type(a) == agenda 12/ Notation example
Addressing Scheme Agenda(a),.owns(a) : system looks up what it means, depending on context Additionally, you can be more specific: Person(term) : the term is of type person Instances: Person( ) y, y.fullname(“Yolande Berbers”), y.headOf( ) If ‘embedded’ is not further specified, from the context (Yolande, Koen) the system can infer: embedded group 12/ Notation example
12/ Addressing Scheme Coupling with the overlay network No explicit coupling with the overlay However, the knowledge in the overlay will determine the result of a request Objects may be located but not able to communicate Objects may leave Therefore, there are 4 possible answers to a request: 1.Network address / list of network addresses 2.Object not found, but address valid 3.Object found, but not available 4.Address not valid
12/ Addressing Scheme Mapping to the overlay network Addresses can not be mapped directly to the overlay Search for objects and context specification used in the address using known search techniques Inspect relations, compare to address Search for context information needed for the context reasoning pda phone Second floor of CW Printer p2a CSS Embedded Taskforce
12/ Topics Introduction Goal of this work Two examples Problem description Approach Addressing scheme Design Notation Coupling with the Overlay Network Mapping to the Overlay Network Overlay network Design & Structure Functionality Architecture Related Work
12/ Overlay Network Tasks: Given a physical network network with context aware devices: structure Be able to provide one of the 4 answers Optimize for searching Allow queries for every object or context information in the network Allow queries for associations between these objects or information (needed for reasoning) Connect & integrate new objects to the overlay Fucti- onality
12/ Overlay Network Build as a semantic network, using associations between both context and objects Associations Semantic, Temporal, Spatial, Procedural Examples Spatial: CloseTo(A,B, distance) with distance Exact(20,m) or Fuzzy(visible) Semantic: isInterface(Interface#4864, SonyBravia#4864) Temporal: UsageFrequency(5 times / day, average) Procedural: isRemoteFor([Remote#12,Remote #6864], Interface#4864) Object or context information points to other objects or context using associations. Following these pointers is equal to navigating through the network Design & structure
12/ Overlay Network Objects & context that has the same association is grouped: context groups Examples 5th floor in CW building (a) Printers in CW building (b) Computers with internet access (e) Objects that are accessed at least 2 times / minute (c) All objects used by application X (d) Enpowers: Searching: (a) * (b) -> Printers on the 5th floor in CW building Optimalisation: (c) * (d) -> Place all frequently accessed objects near to application X Backup all objects used by X on another network (e) Design & structure
Overlay Network Admission of objects / information to the network Detect possible associations between the new objects / information and the environment Make detected associations, join context groups Detection using adapted form of flooding: context-aware flooding Format: object, distribution criteria, max_hardhops, max_softhops Flooding bounded to relevant environment Reference to relevant objects is returned -> possible association If object is relevant in large environment -> new group candidate 12/ Design & structure
12/ Architecture Application Layer Context Supported Addressing Context Reasoning Search Algorithms Inference & Decision Engine Overlay Network Presence Management Searching Algorithms Optimalisation, QOS Persistence Management Network Layer RoutingQOSConnection Management