Stream and Complex Event Processing The realm of stream reasoning G. ¡Cugola ¡ ¡ ¡ ¡E. ¡Della ¡Valle ¡ ¡ ¡ ¡A. ¡Margara ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Politecnico ¡di ¡Milano ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Vrije ¡Universiteit ¡Amsterdam ¡ cugola@elet.polimi.it a.margara@vu.nl dellavalle@elet.polimi.it
Course ¡outline ¡ Distribu@ng ¡to ¡survive: ¡The ¡"operator ¡ • History ¡and ¡principles ¡of ¡stream ¡ • placement" ¡problem ¡ compu@ng ¡and ¡complex ¡event ¡processing ¡ • Theory ¡ Descrip@on ¡of ¡the ¡area ¡ • • Algorithms ¡ Typical ¡applica@ons ¡ • On ¡managing ¡uncertainty ¡in ¡data ¡and ¡rules ¡ • Challenges ¡ • • A ¡model ¡of ¡uncertainty ¡for ¡informa@on ¡ • A ¡modeling ¡framework ¡for ¡IFP ¡systems ¡ flow ¡processing ¡systems ¡ Func@onal ¡model ¡ ¡ • Discovering ¡exis@ng ¡systems ¡ • Processing ¡model ¡ • • Complex ¡event ¡processing ¡systems ¡in ¡ prac@ce ¡ Deployment ¡model ¡ ¡ • • Data ¡streaming ¡systems ¡in ¡prac@ce ¡ Interac@on ¡model ¡ • • Stream ¡reasoning ¡systems ¡in ¡prac@ce ¡ Data ¡model ¡ • On ¡benchmarking ¡Informa@on ¡Flow ¡ • Time ¡model ¡ ¡ • Processing ¡Systems ¡ Rule ¡model ¡ • • The ¡problem ¡ Language ¡model ¡ • • Possible ¡solu@ons ¡ • The ¡realm ¡of ¡stream ¡reasoning ¡ PuQng ¡it ¡all ¡together ¡ • A ¡brief ¡introduc@on ¡to ¡the ¡seman@c ¡Web ¡ • • A ¡prac@cal ¡scenario ¡to ¡test ¡IFP ¡systems ¡ technologies ¡ Experience ¡report ¡ • From ¡stream ¡processing ¡to ¡stream ¡ • reasoning ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 2 ¡
It’s ¡the ¡Informa@on ¡Society, ¡baby ¡ Oil ¡opera@ons ¡ Traffic ¡ Financial ¡markets ¡ Social ¡networks ¡ …generate ¡data! ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 3 ¡
It’s ¡the ¡Informa@on ¡Society, ¡baby ¡ …and ¡have ¡to ¡analyze ¡ data ¡in ¡real ¡@me ¡ In ¡a ¡well ¡in ¡progress ¡to ¡drown, ¡how ¡long ¡ @me ¡do ¡I ¡have ¡given ¡its ¡historical ¡behavior? ¡ Is ¡public ¡transporta@on ¡ ¡ where ¡the ¡people ¡are? ¡ Can ¡we ¡detect ¡any ¡intra-‑day ¡correla@on ¡ clusters ¡among ¡stock ¡exchanges? ¡ ¡ Who ¡is ¡driving ¡the ¡discussion ¡ ¡ about ¡the ¡top ¡10 ¡emerging ¡topics ¡? ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 4 ¡
Motivation New Requirements à New Challenges ¡ Typical ¡Requirements ¡ • Con@nuous ¡seman@cs ¡ • Processing ¡Streams ¡ • Scalable ¡processing ¡ • Large ¡datasets ¡ • Real-‑@me ¡systems ¡ • Reac@vity ¡ • Powerful ¡query ¡ • Fine-‑grained ¡ languages ¡ informa@on ¡access ¡ • Rich ¡ontology ¡ • Modeling ¡complex ¡ languages ¡ applica@on ¡domains ¡ ¡ ¡ ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 5 ¡
Motivation Are DSMS/CEP ready to address them? Typical ¡Requirements ¡ DSMS/CEP ¡ • Processing ¡Streams ¡ • Con@nuous ¡seman@cs ¡ • Large ¡datasets ¡ • Scalable ¡processing ¡ • Reac@vity ¡ • Real-‑@me ¡systems ¡ • Fine-‑grained ¡ • Powerful ¡query ¡ informa@on ¡access ¡ languages ¡ • Modeling ¡complex ¡ • Rich ¡ontology ¡ applica@on ¡domains ¡ ¡ languages ¡ ¡ ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 6 ¡
Motivation ¡ Is Semantic Web ready to address them? • The Semantic Web, the Web of Data is doing fine • RDF, RDF Schema, SPARQL, OWL, RIF • well understood theory, • rapid increase in scalability • BUT it pretends that the world is static or at best a low change rate both in change-volume and change-frequency • ontology versioning • belief revision • time stamps on named graphs • It sticks to the traditional one-time semantics Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 7 ¡
Motivation New Requirements à New Challenges Typical ¡Requirements ¡ Seman>c ¡Web ¡ • Processing ¡Streams ¡ • Con@nuous ¡seman@cs ¡ • Large ¡datasets ¡ • Scalable ¡processing ¡ • Reac@vity ¡ • Real-‑@me ¡systems ¡ • Fine-‑grained ¡ • Powerful ¡query ¡ informa@on ¡access ¡ languages ¡ • Modeling ¡complex ¡ • Rich ¡ontology ¡ applica@on ¡domains ¡ ¡ languages ¡ ¡ ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 8 ¡
Motivation New Requirements call for Stream Reasoning Typical ¡Requirements ¡ ¡ • Processing ¡Streams ¡ • Con@nuous ¡seman@cs ¡ • Large ¡datasets ¡ • Scalable ¡processing ¡ • Reac@vity ¡ • Real-‑@me ¡systems ¡ • Fine-‑grained ¡ • Powerful ¡query ¡ informa@on ¡access ¡ languages ¡ • Modeling ¡complex ¡ • Rich ¡ontology ¡ applica@on ¡domains ¡ ¡ languages ¡ ¡ Stream Reasoning ¡ ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 9 ¡
Concept Stream Reasoning Definition [IEEE-IS2010] • Making sense • in real time • of multiple , heterogeneous , gigantic and inevitably noisy data streams • in order to support the decision process of extremely large numbers of concurrent user ¡ • Note: ¡making ¡sense ¡of ¡streams ¡necessarily ¡requires ¡processing ¡them ¡against ¡ rich ¡background ¡knowledge, ¡ an ¡unsolved ¡problem ¡in ¡database ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 10 ¡
Introduction Fitting data streams in the Semantic Web architecture Virtual ¡ ¡ Con@nuous ¡SPARQL ¡ RDF ¡stream ¡ service ¡ RDF-‑ ¡ DSMS/CEP ¡ adapter ¡ mapping ¡ DSMS/CEP ¡ ¡ Exis@ng ¡ data ¡model ¡ DSMS/CEP ¡ ¡ [source ¡ ¡hhp://www.w3.org/DesignIssues/diagrams/sw-‑double-‑bus.png ¡] ¡
Concept Research Challenges • Rela@on ¡with ¡DSMSs ¡and ¡CEPs ¡ • Just ¡as ¡RDF ¡relates ¡to ¡data-‑base ¡systems? ¡ • Data ¡types ¡and ¡query ¡languages ¡for ¡seman@c ¡streams ¡ • Just ¡RDF ¡and ¡SPARQL ¡but ¡with ¡con@nuous ¡seman@cs? ¡ • Reasoning ¡on ¡Streams ¡ • Theory ¡ • Efficiency ¡ • Scalability ¡ • Dealing ¡with ¡incomplete ¡& ¡noisy ¡data ¡ • Even ¡more ¡than ¡on ¡the ¡current ¡Web ¡of ¡Data ¡ • Distributed ¡and ¡parallel ¡processing ¡ • Streams ¡are ¡parallel ¡in ¡nature, ¡… ¡ ¡ • Engineering ¡Stream ¡Reasoning ¡Applica@ons ¡ • Development ¡Environment ¡ • Integra@on ¡with ¡other ¡technologies ¡ • Benchmarks ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 12 ¡
Running Example Social Media Analytics in BOTTARI [JWS2012] http://streamreasoning.org/demos/bottari Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 13 ¡
Running Example Data Model Used in BOTTARI ¡ sr:following ¡ sr:follower ¡ sioc:UserAccount ¡ sr:TwiherUser ¡ sioc:id(xsd:string) ¡ sr:screenName(xsd:string) ¡ twd:post ¡ sr:retweet ¡ sioc:creator_of ¡ sioc:has_creator ¡ twd:discuss ¡ sr:reply ¡ sr:Tweet ¡ sioc:Post ¡ sr:messageID(xsd:string) ¡ sioc:content(xsd:string) ¡ sr:messageTimeStamp(xsd:string) ¡ sr:talksAboutPosi@vely ¡ sr:talksAbout ¡ sr:talksAboutNeutrally ¡ sr:talksAboutNega@vely ¡ geo:Spa@alThing ¡ sr:NamedPlace ¡ geo:lat ¡(xsd:float) geo:long(xsd:float) ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 14 ¡
Running Example Streaming vs. Background Information User related background knowledge data stream Point of Interest related background knowledge Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Stream ¡Reasoning ¡ 15 ¡
Recommend
More recommend