rusmart 2013 presentation
TRANSCRIPT
A Sub-graph Isomorphism
Based Approach to Enable
Discovery and Composition of
Smart Space Elements
Oscar Rodriguez Rocha
Cristhian Figueroa
Boris Moltchanov
Politecnico di Torino, Telecom Italia
ruSMART 2013
Motivation
• Mobile technologies are on the rise: – Growing number of customers
– Heterogeneity and number of mobile devices and services
• Mobile environments are dynamic and heterogeneous– Increase in complexity and costs to manage and monitor mobile
services.
• Challenge– To manage and monitor the behavior of mobile users in order to
provide them with more tailored mobile services
– Increase mobile operator’s revenues
Smart Space Governing (SSG)
• Allows to monitor and manage a mobile network by
representing it as a Smart Space (SS).
• Smart Space Elements (SSE):
– Mobile Operator
– Mobile Users
– Mobile Devices
– Mobile Services
– Monitoring Services
Smart Space Governing (SSG)
• A Monitoring Service contains a set of
inputs/outputs and a label with the description of
its functionality.
Monitoring Service 1
Monthly number of SMSs by user
Number of SMSs
Starting Date
User ID
IMEI
Inputs
Outputs
Label
Smart Space Governing (SSG)
• SS can be managed by creating Composed
Monitoring Services (CMS) or rules driven by the
outputs of the SS elements.
– CMS are represented as graphs whose nodes can be:
• Monitoring Services
• Connectors: XOR-Split, AND-Split, AND-Join, OR-Join
• Events: alarms, messages, notifications.
S4S1 XOR-S
S2
S3
S5AND-J
Smart Space Governing (SSG)
SSG over a Mobile Network
Mobile ServicesE.g. SMS, Voice call, Video Call, MMS, Internet, etc
Monitoring ServicesE.g. Internet data uploaded/downloaded by user, Monthly number of SMS’s by user,
get user name by IMEI, voice call duration by user, number of calls by cell ID
Composed Monitoring ServicesE.g. Send an email when more than 100.000 users sending more than 50 SMSs in a day
4CaaSt EU Project
• Goal: Create a PaaS Cloud platform which supports
the optimized and elastic hosting of Internet-scale
multi-tier applications
• Embeds features that ease programming of rich
applications
• Enables the creation of a business ecosystem where
applications from different providers can be tailored to
different users, mashed up and traded together
Automatic Compositions Discovery
System• Allows to create compositions of monitoring
services
• Discovers through a visual interface:
– Monitoring Services to be included in the
compositions.
• By label, by inputs/outputs
– Compositions that already exist in the repository
containing the user query in order to be reused.
• As result the services and compositions are
ranked according their similarity degree with the
user query.
Storage
Discovery
Visual Visual Editor Canvas
Monitoring Services Similarity Analyzer
Compositions Similarity Analyzer
Monitoring Services
Repository
Compositions Repository
Labels SimI/OSim
Structural Sim
Comp. RankingService Ranking
Automatic Compositions Discovery System
Visual Editor
• Allows to create Composed Monitoring
Services by dragging and dropping
components to the provided canvas
– Monitoring Services
– Connectors
• Automatic Composition Discovery
System
Monitoring Services Similarity
• Labels Comparator: Ngram (common q-grams) (m1),
check synonym (Wordnet) (m2), and check abbreviation
(m3).
• Interfaces Comparator: determine a service St from
inputs and outputs of a query service Sq, such that St
shares the larger possible number of outputs with Sq
and without exceeding its inputs.
Monitoring Services Similarity
Labels Comparator
XORsplit
XORjoin
MS4MS3
XORsplit
XORjoin
MS2MS1
Label: TextLabel: DialLabel: MessageLabel: Call Nc1
Nc2 Nc3
Nc4
Np1
Np2 Np3
Np4
Nc2 - Np2
LS (Call, Dial) = 1.0
1.0
Nc3 – Np3
LS (Message, Text) = 0.93
0.93
Nc2 - Np3
LS (Call, Text) = 0.1Nc3 – Np2
LS (Message, Dial) = 0.33
Compositions Similarity
• Problem: Search for similar compositions containing
the fragment of composition being designed in the
visual editor canvas.
– This is also known as sub-graph isomorphism problem
– NP- Problem
• Solution: Smart Space Elements Discovery
Algorithm (SSED)
SSED Algorithm: isomorphism
similarity
A B
C B
C D
G
D
A
I
B
C D
E
A
F
E F
H
J
B
C D
E
A
G
H I
J
K
F
E
F G
H
D
B
A
i
Query Composition
Compositions Repository
SSED Algorithm: sub-graph
Isomorphism• Adjacence matrix and backtracking
• Reduces the size of the search space.
Ullmann
[Ullman et. al.,1976]
• Distance matrix representation of a graph to establish an initial partition graph nodes.
Schmidt and Druffel[Schmidt et. al.,1976]
• Transformations that lead to reduced graphs adjusted to a canonical form.
McKay's Nauty
[Miyazaki, et. al.,1981]
• Based on the depth-first search strategy -> rules to prune the search tree.
VF
[Cordella, et. al.,2001]
• A more effective data structure to optimize the execution time.
VF2
[Cordella, et. al.,2004]
The compositions are similar to the combination of regular and irregular graphs. In this case VF2 is the most efficient algorithm
SSED Algorithm: sub-graph
Isomorphism
Source: Foggia et al
SSED Algorithm
• It is based on VF2 algorithm: – The VF2 create mappings between the nodes of two graphs in
order to find a mapping which represents a sub-graph
isomorphism
• The SSED Algorithm compares the structure and also:– Nodes similarity
• Textual Similarity: compare labels of the nodes
• Inputs/outputs Similarity: intersection
– It takes into account the type of nodes in order to reduce the
search space
• Monitoring Services
• Events
• Connectors
Storage Layer
• Reduced version of the original one (4Caast
marketplace)
• Divided into 2 repositories:
– 1 for monitoring services (inside the Service Similarity
Analyzer)
– 1 for composed monitoring services (in the Composition
Similarity Analyzer)
• Achieves faster speeds when responding to the
component suggestion queries made by Visual
Editor.
Conclusions
• Experimental platform developed by a major mobile
network operator in Italy.
• Approach to monitor a mobile network through the
creation of rules, based on:
– work provided by an European project
– analogy of Smart Spaces
• Creation of an algorithm fast enough to be executed
each time the user creates a composition
Future work
• Platform
– Conduct field test together with the operator (MNO)
– Benchmark the results obtained with current existing
instruments / platforms
• Discovering algorithm
– Evaluate the effectiveness by conducting a measurement
of customer satisfaction.
– Create an indexing mechanism to improve the
performance in order to considerably reduce the total
execution time.
Questions?
спасибоOscar Rodriguez Rocha
Cristhian Figueroa
Boris MoltchanovPolitecnico di Torino, Telecom Italia
ruSMART 2013
VF2 based AlgorithmPROCEDURE Match (s)
INPUT: an intermediate state s; the initial state s0 has M (s0)=0
OUTPUT: the mappings between two graphs
IF M(s) covers all the nodes of G2 THEN
OUTPUT M(s)
ELSE
Compute the set P(s) of the pairs candidate for inclusion in M(s)
FOREACH p in p(s)
IF the feasibility rules succeed for the inclusion of p in M(s) THEN
Compute the state S obtained by adding p to M (s)
CALL Match (s’)
END IF
END FOREACH
Restore data structures
END IF
END PROCURE Match