SlideShare a Scribd company logo
1 of 92
Context Aware Computing and its Utilization in Event-based Systems DEBS 2010 Tutorial  Opher Etzion (opher@il.ibm.com) Ella Rabinovich (ellak@il.ibm.com)
Our entire culture is context sensitive  ,[object Object],[object Object],[object Object],When hearing concert people are not talking,  eating, and keep their mobile phone on “silent”.
Our IT systems are catching up  Context is becoming a first class citizen in computing  Gartner has designated  Context enriched services and  Context delivery architecture as Part of its application integration Hype Cycle of 2009
This tutorial’s agenda Part I:  Context in general Introduction – context in pragmatics and language Roles of contexts in computing Introduction  contexts in event processing  Part II:  Context in depth  Introduction to Context categories Temporal context Segmentation context BREAK  Spatial context State contexts Context composition  Part III:  Context in practice  Operational semantics of context Context implementation in practice in  event processing Context implementation in other computing areas Conclusion
Context in language and pragmatics
Context in language – why are we laughing from jokes? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Where is the  context switch?
Another joke example  Four researchers are exploring the jungle, and are captured by a  tribe of cannibals  The chief of the tribe said: we shall eat this one today, this one tomorrow, and  this one the day after  His deputy asks: what about the blond  Guy?  The chief answers: we shall release him, since he helped me preparing to the PhD qualification exam in MIT
The context switch principle  The cannibals are wild  The cannibal chief has PhD from MIT
Meaning disambiguation by context  The table? “ The” is always within context
Some parts of the language affected by context Addressing people Request form  Code switching for multi-lingual people  Discourse context – e.g. shared experience
Context as “behavior selection” In some countries I carry money in my wallet, in other countries I hide the money under my clothes When the radio tells me about a traffic jam in the highway I take an alternative route  If I am getting a request from an important person I re-arrange my priorities to handle it first (otherwise I put it in a queue) A Jewish person who observes the religious laws does not eat diary food within six hours from the time of eating meat  I need to get to a certain address in Sidney  using public transportation, I am looking for fastest way (train, bus, boat)  Spatial Context State-oriented Context Segmentation Context  Temporal + segmentation  Context  Spatial + temporal + state-oriented context
Context in pragmatics – travelling in Sydney  Request Determine Context Select Service Take me to address X Requester is now in location Y; no car; has daily ticket for all public transport; it is rush hour Selected alternative
Roles of context in computing
Roles Of Context In Computing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],“ Context-aware computing is the concept of leveraging information about the end user to improve the quality of the interaction”   (Gartner 2007)
Software Architecture in the Context of History Era of the Mainframe OLTP Batch Agility of Enterprise IT 1960s 1980s 1970s 1990s 2000s 2010s Era of the Server Two-tier Era of the Web SOA Three-tier CoDA Era of Context Presence Mobility Web 2.0 Social computing Time 2020s Advanced SOA = event-driven SOA CoDA = Context-driven Architecture Web Web Services Multi-channel PC LAN Server Internet Advanced SOA XTP CEP S/360 SNA Mainframe (Gartner 2007)
Context-aware Computing Context   (indirect relevant information) Service Input (direct imperative information) Data stores Web feeds Services Events Sensors Queues Logs
Context Applications ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Context Applications – cont. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction to context in event processing
Context has three distinct roles (which may be combined)  Partition the incoming events  The events that relate to each customer are processed separately  Grouping events together  Different processing for Different context partitions Determining the processing  Grouping together events that happened in the same hour at the same location
Contextual representation of event  Spatial coordinates  System entry point  Detection  time Occurrence time
Introduction to context categories
Context Definition  A   context  is a named specification of conditions that groups event instances so that they can be processed in a related way. It assigns each event instance to one or more  context partitions . A context may have one or more context dimensions. Temporal Spatial State Oriented Segmentation Oriented
Context Types Examples Spatial State Oriented Temporal Context “ Every day between 08:00 and 10:00 AM” “ A week after borrowing a disk” “ A time window bounded by TradingDayStart and TradingDayEnd events” “ 3 miles from the traffic accident location” “ Within an authorized zone in a manufactory” “ All Children 2-5 years old” “ All platinum customers” “ Airport security level is red” “ Weather is stormy” Segmentation Oriented
Context Types Context Fixed location Entity distance location Event distance location Spatial State Oriented Fixed interval Event interval Sliding fixed interval Sliding event interval Temporal Segmentation Oriented
Context Building Block Context identifier Context dimension Context type Context parameters Context initiator policies Building Block Describing  Context Context Details Explicit Partitions Partition identifier Partition parameters Composition Details Relationships Member contexts Priority Order Location service global state
Temporal context
Temporal Context ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Temporal context  is aimed to partition the temporal space into time intervals.
Fixed Interval Fixed interval Interval start Interval end Recurrence  Temporal ordering In a  fixed interval  context each window is an interval that has a fixed time length; there may be just one single window or a periodically repeating sequence of windows. July 12, 2010, 2:30 PM + 3 hours 08:00 10:00 08:00 10:00 08:00 10:00
E vent  Interval ,[object Object],[object Object],[object Object],[object Object],[object Object],Event interval Initiator event list Terminator event list Expiration time offset Expiration event count Initiator policy Terminator policy Temporal ordering Patient’s admittance Patient’s release Earthquake From patient’s admittance to patient’s release + 3 days Within 3 days from an earthquake
Sliding Fixed Interval In a  sliding fixed interval  context each window is an interval with fixed temporal size. New windows are opened at regular intervals relative to one another. Sliding fixed interval Interval period Interval duration Interval size (events) Temporal ordering 2 hours 2 hours 2 hours 1 hour 1 hour 1 hour
Sliding Event Interval A  sliding event interval  is an interval of fixed size (events number) that continuously slides on the time axis. Sliding event interval Event list Interval size (events) Event period Temporal ordering Every 3 blood pressure measurements
Context Initiator Policies ,[object Object],[object Object],March 5,  2010 10:00 March 7,  2010 06:00
Context Initiator Policies – cont.  A  context initiator policy  is a semantic abstraction that defines the behavior required when a window has been opened and a subsequent initiator event is detected.  add ignore refresh extend
Context Terminator Policies ,[object Object],[object Object]
Context Terminator Policies – cont.  A  context terminator policy  is a semantic abstraction that defines the behavior required when several windows have been opened by  subsequent initiators. first last all
Temporal Ordering Policy ,[object Object],[object Object],[object Object],May 1, 2010, 11:45:00 AM May 1, 2010, 11:45:00 AM
Segmentation context
Segmentation Oriented Context A  segmentation-oriented context  assigns events to context partitions based on the values of one or more event attributes, either using the value of these attributes to pick a partition directly, or using predicate expressions to define context partition membership. Segmentation-oriented Attribute list Partition identifier Partition expression ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Segmentation Oriented Context – cont. ,[object Object],[object Object],John Tim Helen David
Segmentation Oriented Context – cont. ,[object Object],[object Object],18-25 26-50 50-
Spatial  Context
Spatial context
Spatial properties of events
Fixed location  ,[object Object],Relations between the event’s location and the context entity’s  location  An event is classified to a context partition if satisfy a spatial  relationship with fixed entity
Fixed location examples  A person enters the house:  The house location is an area, the person’s location is a point;   the relation is touches  A car parks across two lanes  The car parked  location is an area, the lane is an area;   the relation is overlaps  An Alzheimer patient has gone outside of the safe zone defined by his family.  His location is a point, the zone is an area;   the relation is disjoint
Entity Distance Location  ,[object Object],Entity d1 d2
Entity distance location examples A driver enters the restaurant’s interest context when arriving to a certain radius from the restaurant A bus is within the context of a certain bus station if it is within a certain distance from the station
Event Distance Location  ,[object Object],d1 d2
Event distant location example  A fire breaks within a certain radius from the earthquake epicenter  The distance space is partitioned, different actions for different partitions A suspect fits the criminal’s profile is arrested within a certain radius from the crime scene
State oriented context
Where states are coming from? Explicit state machines Observation in  Workflow/BPM State of some entity  Typically stored in DB/  global variable
State examples  When the CPU is overloaded  When a backup is running  When a  person is presenting  When the mood in Wall Street is bullish.
The temporal aspects of state  Occurs while a state is valid?  The “while” may be determined by detection time or by occurrence time  If the state is – raining,  Then it makes sense that the association of events is  determined according to occurrence time   If the state is – CPU is overloaded Then it makes sense that events  that result in further processing  are associated according to their  detection time.
Context composition
Composite context  A composite context is a context that is composed from two or more contexts. Example: the set of context partitions for the composite context is the Cartesian product of the partition sets of its constituent contexts.
Composition of context – some observations: The most common combination is: segmentation and temporal  The relations between the composed contexts can be – union or intersection (intersection is the more common) There may be multiple composition participants In some cases a priority is needed to disambiguate the  context affiliation  State: rainy  union Temporal: every day between midnight and 6am Segment: customer Temporal:  Every 10  orders Segment: driver Temporal: Within 1 hour from an accident Spatial:  within 5KM from the accident  Segment: customer Temporal:  Every 10  orders
Priorities in event composition  Temporal:  Every 10  orders Segment: customer First create group of 10 orders and this group by customer  The temporal context has higher  priority
Priorities in event composition  Segment: customer Temporal:  Every 10  orders First group of by customer  and then count 10 orders for each customer  The segmentation context has higher  priority
Operational semantics of context
Context in Applications ,[object Object],[object Object],[object Object],[object Object],[object Object],Application Context
Context Decoupling ,[object Object],[object Object],[object Object],[object Object],[object Object],Application Context
Introducing Context Service ,[object Object],[object Object]
The Role of Context Service ,[object Object],[object Object],[object Object],[object Object],[object Object],Context service manages the active contexts lifecycle Context service context 2 EPA 1 EPA 2 Partitions  EPA 1 Partitions Context 1 Context 2 Context 3 EPA 1 EPA 2 Partitions  context 1 Context service
Context Service – Points for Consideration ,[object Object],[object Object],[object Object]
Partition and Event Instance Management ,[object Object],[object Object],[object Object],[object Object],[object Object],E1 ,E2, E3   EPA 1 EPA 2 Partitions  Context 1 E1,E2 E3 Context service Agent Pattern evaluation E1,E2 E1 ,E2, E3   Agent Pattern evaluation EPA 1 EPA 2 Partitions  Context 1 Context service E1,E2 E3
Centralized vs. Distributed Architecture ,[object Object],[object Object],[object Object],[object Object],[object Object]
Centralized Context Service ,[object Object],[object Object],Agent Context   service Agent Agent Agent
Distributed Context Service on Agent’s Level ,[object Object],[object Object],Agent Context   service Agent Context   service Agent Context   service Agent Context   service Agent Context   service
Hybrid Approach ,[object Object],[object Object],[object Object],Agent Context   service Agent Context   service Agent Context   service Context state
Context Implementation in Practice: Event Processing Implementations
Context in Practice -  Streambase CREATE WINDOW  tenSecondsInterval ( SIZE  10  ADVANCE  1  {TIME} ); CREATE WINDOW  eventsInterval  ( SIZE  10  ADVANCE  1  {TUPLE} TIMEOUT 20 ); Sliding fixed interval  Sliding event interval
Context in Practice – Oracle EPL SELECT * FROM  Withdrawal   RETAIN  5  EVENTS SELECT * FROM  Withdrawal   RETAIN  4  SECONDS
Context in Practice –Sybase (Aleri/Coral8) CCL  CREATE WINDOW Book_w SCHEMA Book_t  KEEP ALL ; INSERT INTO Book_w  SELECT * FROM Book_s; The KEEP policy specifies the kind of window. Here are some examples: KEEP LAST PER Id KEEP 3 MINUTES KEEP EVERY 3 MINUTES KEEP UNTIL (”MON 17:00:00”) KEEP 10 ROWS KEEP LAST ROW KEEP 10 ROWS PER Symbol
Context in Practice – Progress Apama
Context in Practice – AMiT  ,[object Object],[object Object],OrderId Key String CustomerOrder OrderId CustomerOrderCancel OrderId OrderDelivery Id OrderShipmentReport Number
Context in Practice – AMiT
Context in Practice – AMiT  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Context in Practice – AMiT
Context in Practice – WBE
ruleCore Reakt
Contexts implementations  in other types of computing
Data in context  Contextual data: Temporal database: transaction time, valid time Spatial  database:  geographic abstraction Spatio-temporal database: intersection of these two
ContextPhone  http://www.cs.helsinki.fi/group/context /
MIT Media Lab – context in kitchen appliances  The Context-Aware Computing group is focused on demonstrating the possibilities for controlling systems with interpreted human intention. The goal is to demonstrate how “context” such as  who we are, what we are doing, where we are doing it, why we might be doing it, and when it should be done  can simplify our ability to control systems.  http://context.media.mit.edu/press/index.php/about/
MIThril – context aware wearable computing http://www.media.mit.edu/wearables/mithril/   Based on sensing and machine learning – context engine and wearable sensors and processors
Sixth sense  http://www.media.mit.edu/research/highlights/sixthsense-wearable-gestural-interface-augment-our-world
Context and websites  Contextualization of websites:  making them appear in searches of certain category (reverse engineering of the search engine algorithms)  Using the user’s context to generate results  Contextualization of websites:  making them appear in searches of certain category (reverse engineering of the search engine algorithms)
IBM Entity Analytics – context acquisition by dependencies  Good Guys Subjects of Interest Hotel guests Loyalty club enrollment Employees Vendors Victims Specially designated nationals  Excluded persons Gaming license revocations Known cheaters Interpol FBI Most Wanted
Summary
Context  Separation of context from the logic  Next phase of abstraction independence  BPM and rules provided separation between programming in the large and programming in the small  Databases provided data independence
Context is:  One of the key building blocks in event processing modeling  A language construct that starts to appear in event processing languages  An emerging concept in enterprise computing

More Related Content

Similar to Debs 2010 context based computing tutorial

WWW2010_Earthquake Shakes Twitter User: Analyzing Tweets for Real-Time Event...
WWW2010_Earthquake Shakes Twitter User: Analyzing Tweets for Real-Time Event...WWW2010_Earthquake Shakes Twitter User: Analyzing Tweets for Real-Time Event...
WWW2010_Earthquake Shakes Twitter User: Analyzing Tweets for Real-Time Event...tksakaki
 
Event detection and summarization based on social networks and semantic query...
Event detection and summarization based on social networks and semantic query...Event detection and summarization based on social networks and semantic query...
Event detection and summarization based on social networks and semantic query...ijnlc
 
contextawareness.pptx
contextawareness.pptxcontextawareness.pptx
contextawareness.pptxnassmah
 
Mobile information collectors trajectory data warehouse design
Mobile information collectors trajectory data warehouse designMobile information collectors trajectory data warehouse design
Mobile information collectors trajectory data warehouse designIJMIT JOURNAL
 
context aware computing
context aware computingcontext aware computing
context aware computingswati sonawane
 
context aware.pptx
context aware.pptxcontext aware.pptx
context aware.pptxnassmah
 
Mythbusters: Event Stream Processing v. Complex Event Processing
Mythbusters: Event Stream Processing v. Complex Event ProcessingMythbusters: Event Stream Processing v. Complex Event Processing
Mythbusters: Event Stream Processing v. Complex Event ProcessingTim Bass
 
SEVERE WEATHER EVENTS AND SOCIAL MEDIA STREAMS: BIGDATA APPROACH FOR IMPACT M...
SEVERE WEATHER EVENTS AND SOCIAL MEDIA STREAMS: BIGDATA APPROACH FOR IMPACT M...SEVERE WEATHER EVENTS AND SOCIAL MEDIA STREAMS: BIGDATA APPROACH FOR IMPACT M...
SEVERE WEATHER EVENTS AND SOCIAL MEDIA STREAMS: BIGDATA APPROACH FOR IMPACT M...Alfonso Crisci
 
Perpetual Analytics - Health in Motion
Perpetual Analytics - Health in MotionPerpetual Analytics - Health in Motion
Perpetual Analytics - Health in Motionmrosenthal
 
Building Social Life Networks 130818
Building Social Life Networks 130818Building Social Life Networks 130818
Building Social Life Networks 130818Ramesh Jain
 
90seconds Presentation
90seconds Presentation90seconds Presentation
90seconds Presentationpbihler
 
Infrastructures Supporting Inter-disciplinary Research - Exemplars from the UK

Infrastructures Supporting Inter-disciplinary Research - Exemplars from the UK
Infrastructures Supporting Inter-disciplinary Research - Exemplars from the UK

Infrastructures Supporting Inter-disciplinary Research - Exemplars from the UK
NeISSProject
 
Running Head CONTEXT IN MOBILE COMPUTING1CONTEXT IN MOBILE C.docx
Running Head CONTEXT IN MOBILE COMPUTING1CONTEXT IN MOBILE C.docxRunning Head CONTEXT IN MOBILE COMPUTING1CONTEXT IN MOBILE C.docx
Running Head CONTEXT IN MOBILE COMPUTING1CONTEXT IN MOBILE C.docxtodd271
 
MODELING THE ADAPTION RULE IN CONTEXTAWARE SYSTEMS
MODELING THE ADAPTION RULE IN CONTEXTAWARE SYSTEMSMODELING THE ADAPTION RULE IN CONTEXTAWARE SYSTEMS
MODELING THE ADAPTION RULE IN CONTEXTAWARE SYSTEMSijasuc
 
Modeling the Adaption Rule in Contextaware Systems
Modeling the Adaption Rule in Contextaware SystemsModeling the Adaption Rule in Contextaware Systems
Modeling the Adaption Rule in Contextaware Systemsijasuc
 
Caaa07 Presentation February Final
Caaa07 Presentation February FinalCaaa07 Presentation February Final
Caaa07 Presentation February Finalpbihler
 

Similar to Debs 2010 context based computing tutorial (20)

WWW2010_Earthquake Shakes Twitter User: Analyzing Tweets for Real-Time Event...
WWW2010_Earthquake Shakes Twitter User: Analyzing Tweets for Real-Time Event...WWW2010_Earthquake Shakes Twitter User: Analyzing Tweets for Real-Time Event...
WWW2010_Earthquake Shakes Twitter User: Analyzing Tweets for Real-Time Event...
 
IJET-V3I1P3
IJET-V3I1P3IJET-V3I1P3
IJET-V3I1P3
 
Event detection and summarization based on social networks and semantic query...
Event detection and summarization based on social networks and semantic query...Event detection and summarization based on social networks and semantic query...
Event detection and summarization based on social networks and semantic query...
 
contextawareness.pptx
contextawareness.pptxcontextawareness.pptx
contextawareness.pptx
 
Mobile information collectors trajectory data warehouse design
Mobile information collectors trajectory data warehouse designMobile information collectors trajectory data warehouse design
Mobile information collectors trajectory data warehouse design
 
context aware computing
context aware computingcontext aware computing
context aware computing
 
context aware.pptx
context aware.pptxcontext aware.pptx
context aware.pptx
 
Mythbusters: Event Stream Processing v. Complex Event Processing
Mythbusters: Event Stream Processing v. Complex Event ProcessingMythbusters: Event Stream Processing v. Complex Event Processing
Mythbusters: Event Stream Processing v. Complex Event Processing
 
SEVERE WEATHER EVENTS AND SOCIAL MEDIA STREAMS: BIGDATA APPROACH FOR IMPACT M...
SEVERE WEATHER EVENTS AND SOCIAL MEDIA STREAMS: BIGDATA APPROACH FOR IMPACT M...SEVERE WEATHER EVENTS AND SOCIAL MEDIA STREAMS: BIGDATA APPROACH FOR IMPACT M...
SEVERE WEATHER EVENTS AND SOCIAL MEDIA STREAMS: BIGDATA APPROACH FOR IMPACT M...
 
Perpetual Analytics - Health in Motion
Perpetual Analytics - Health in MotionPerpetual Analytics - Health in Motion
Perpetual Analytics - Health in Motion
 
Building Social Life Networks 130818
Building Social Life Networks 130818Building Social Life Networks 130818
Building Social Life Networks 130818
 
90seconds Presentation
90seconds Presentation90seconds Presentation
90seconds Presentation
 
Infrastructures Supporting Inter-disciplinary Research - Exemplars from the UK

Infrastructures Supporting Inter-disciplinary Research - Exemplars from the UK
Infrastructures Supporting Inter-disciplinary Research - Exemplars from the UK

Infrastructures Supporting Inter-disciplinary Research - Exemplars from the UK

 
Running Head CONTEXT IN MOBILE COMPUTING1CONTEXT IN MOBILE C.docx
Running Head CONTEXT IN MOBILE COMPUTING1CONTEXT IN MOBILE C.docxRunning Head CONTEXT IN MOBILE COMPUTING1CONTEXT IN MOBILE C.docx
Running Head CONTEXT IN MOBILE COMPUTING1CONTEXT IN MOBILE C.docx
 
ICAME 2010
ICAME 2010ICAME 2010
ICAME 2010
 
MODELING THE ADAPTION RULE IN CONTEXTAWARE SYSTEMS
MODELING THE ADAPTION RULE IN CONTEXTAWARE SYSTEMSMODELING THE ADAPTION RULE IN CONTEXTAWARE SYSTEMS
MODELING THE ADAPTION RULE IN CONTEXTAWARE SYSTEMS
 
Modeling the Adaption Rule in Contextaware Systems
Modeling the Adaption Rule in Contextaware SystemsModeling the Adaption Rule in Contextaware Systems
Modeling the Adaption Rule in Contextaware Systems
 
Sergio ICON project
Sergio ICON projectSergio ICON project
Sergio ICON project
 
Caaa07 Presentation February Final
Caaa07 Presentation February FinalCaaa07 Presentation February Final
Caaa07 Presentation February Final
 
Context aware
Context awareContext aware
Context aware
 

More from Opher Etzion

DEBS 2019 tutorial : correctness and consistency of event-based systems
DEBS 2019 tutorial  : correctness and consistency of event-based systems DEBS 2019 tutorial  : correctness and consistency of event-based systems
DEBS 2019 tutorial : correctness and consistency of event-based systems Opher Etzion
 
Sw architectures 2018 on microservices and eda
Sw architectures 2018    on microservices and edaSw architectures 2018    on microservices and eda
Sw architectures 2018 on microservices and edaOpher Etzion
 
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmasER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmasOpher Etzion
 
Event processing within the human body - Tutorial
Event processing within the human body - Tutorial Event processing within the human body - Tutorial
Event processing within the human body - Tutorial Opher Etzion
 
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial   When Artificial Intelligence meets the Internet of ThingsDEBS 2015 tutorial   When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of ThingsOpher Etzion
 
Has Internet of Things really happened?
Has Internet of Things really happened? Has Internet of Things really happened?
Has Internet of Things really happened? Opher Etzion
 
On the personalization of event-based systems
On the personalization of event-based systems On the personalization of event-based systems
On the personalization of event-based systems Opher Etzion
 
On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014Opher Etzion
 
Introduction to the institute of technological empowerment
Introduction to the institute of technological empowermentIntroduction to the institute of technological empowerment
Introduction to the institute of technological empowermentOpher Etzion
 
DEBS 2014 tutorial on the Internet of Everything.
DEBS 2014 tutorial  on the Internet of Everything. DEBS 2014 tutorial  on the Internet of Everything.
DEBS 2014 tutorial on the Internet of Everything. Opher Etzion
 
The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...Opher Etzion
 
ER 2013 tutorial: modeling the event driven world
ER 2013 tutorial:  modeling the event driven world ER 2013 tutorial:  modeling the event driven world
ER 2013 tutorial: modeling the event driven world Opher Etzion
 
Event semantics and model - multimedia events workshop
Event semantics and model -  multimedia events workshopEvent semantics and model -  multimedia events workshop
Event semantics and model - multimedia events workshopOpher Etzion
 
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...Opher Etzion
 
Debs 2012 gong show immortality
Debs 2012 gong show immortalityDebs 2012 gong show immortality
Debs 2012 gong show immortalityOpher Etzion
 
Debs 2012 basic proactive
Debs 2012 basic proactiveDebs 2012 basic proactive
Debs 2012 basic proactiveOpher Etzion
 
Debs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialDebs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialOpher Etzion
 
Proactive eth talk
Proactive eth talkProactive eth talk
Proactive eth talkOpher Etzion
 
Debs 2011 pattern rewritingforeventprocessingoptimization
Debs 2011  pattern rewritingforeventprocessingoptimizationDebs 2011  pattern rewritingforeventprocessingoptimization
Debs 2011 pattern rewritingforeventprocessingoptimizationOpher Etzion
 

More from Opher Etzion (20)

DEBS 2019 tutorial : correctness and consistency of event-based systems
DEBS 2019 tutorial  : correctness and consistency of event-based systems DEBS 2019 tutorial  : correctness and consistency of event-based systems
DEBS 2019 tutorial : correctness and consistency of event-based systems
 
Sw architectures 2018 on microservices and eda
Sw architectures 2018    on microservices and edaSw architectures 2018    on microservices and eda
Sw architectures 2018 on microservices and eda
 
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmasER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
 
Event processing within the human body - Tutorial
Event processing within the human body - Tutorial Event processing within the human body - Tutorial
Event processing within the human body - Tutorial
 
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial   When Artificial Intelligence meets the Internet of ThingsDEBS 2015 tutorial   When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of Things
 
Dynamic stories
Dynamic storiesDynamic stories
Dynamic stories
 
Has Internet of Things really happened?
Has Internet of Things really happened? Has Internet of Things really happened?
Has Internet of Things really happened?
 
On the personalization of event-based systems
On the personalization of event-based systems On the personalization of event-based systems
On the personalization of event-based systems
 
On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014
 
Introduction to the institute of technological empowerment
Introduction to the institute of technological empowermentIntroduction to the institute of technological empowerment
Introduction to the institute of technological empowerment
 
DEBS 2014 tutorial on the Internet of Everything.
DEBS 2014 tutorial  on the Internet of Everything. DEBS 2014 tutorial  on the Internet of Everything.
DEBS 2014 tutorial on the Internet of Everything.
 
The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...
 
ER 2013 tutorial: modeling the event driven world
ER 2013 tutorial:  modeling the event driven world ER 2013 tutorial:  modeling the event driven world
ER 2013 tutorial: modeling the event driven world
 
Event semantics and model - multimedia events workshop
Event semantics and model -  multimedia events workshopEvent semantics and model -  multimedia events workshop
Event semantics and model - multimedia events workshop
 
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
 
Debs 2012 gong show immortality
Debs 2012 gong show immortalityDebs 2012 gong show immortality
Debs 2012 gong show immortality
 
Debs 2012 basic proactive
Debs 2012 basic proactiveDebs 2012 basic proactive
Debs 2012 basic proactive
 
Debs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialDebs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorial
 
Proactive eth talk
Proactive eth talkProactive eth talk
Proactive eth talk
 
Debs 2011 pattern rewritingforeventprocessingoptimization
Debs 2011  pattern rewritingforeventprocessingoptimizationDebs 2011  pattern rewritingforeventprocessingoptimization
Debs 2011 pattern rewritingforeventprocessingoptimization
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Debs 2010 context based computing tutorial

  • 1. Context Aware Computing and its Utilization in Event-based Systems DEBS 2010 Tutorial Opher Etzion (opher@il.ibm.com) Ella Rabinovich (ellak@il.ibm.com)
  • 2.
  • 3. Our IT systems are catching up Context is becoming a first class citizen in computing Gartner has designated Context enriched services and Context delivery architecture as Part of its application integration Hype Cycle of 2009
  • 4. This tutorial’s agenda Part I: Context in general Introduction – context in pragmatics and language Roles of contexts in computing Introduction contexts in event processing Part II: Context in depth Introduction to Context categories Temporal context Segmentation context BREAK Spatial context State contexts Context composition Part III: Context in practice Operational semantics of context Context implementation in practice in event processing Context implementation in other computing areas Conclusion
  • 5. Context in language and pragmatics
  • 6.
  • 7. Another joke example Four researchers are exploring the jungle, and are captured by a tribe of cannibals The chief of the tribe said: we shall eat this one today, this one tomorrow, and this one the day after His deputy asks: what about the blond Guy? The chief answers: we shall release him, since he helped me preparing to the PhD qualification exam in MIT
  • 8. The context switch principle The cannibals are wild The cannibal chief has PhD from MIT
  • 9. Meaning disambiguation by context The table? “ The” is always within context
  • 10. Some parts of the language affected by context Addressing people Request form Code switching for multi-lingual people Discourse context – e.g. shared experience
  • 11. Context as “behavior selection” In some countries I carry money in my wallet, in other countries I hide the money under my clothes When the radio tells me about a traffic jam in the highway I take an alternative route If I am getting a request from an important person I re-arrange my priorities to handle it first (otherwise I put it in a queue) A Jewish person who observes the religious laws does not eat diary food within six hours from the time of eating meat I need to get to a certain address in Sidney using public transportation, I am looking for fastest way (train, bus, boat) Spatial Context State-oriented Context Segmentation Context Temporal + segmentation Context Spatial + temporal + state-oriented context
  • 12. Context in pragmatics – travelling in Sydney Request Determine Context Select Service Take me to address X Requester is now in location Y; no car; has daily ticket for all public transport; it is rush hour Selected alternative
  • 13. Roles of context in computing
  • 14.
  • 15. Software Architecture in the Context of History Era of the Mainframe OLTP Batch Agility of Enterprise IT 1960s 1980s 1970s 1990s 2000s 2010s Era of the Server Two-tier Era of the Web SOA Three-tier CoDA Era of Context Presence Mobility Web 2.0 Social computing Time 2020s Advanced SOA = event-driven SOA CoDA = Context-driven Architecture Web Web Services Multi-channel PC LAN Server Internet Advanced SOA XTP CEP S/360 SNA Mainframe (Gartner 2007)
  • 16. Context-aware Computing Context (indirect relevant information) Service Input (direct imperative information) Data stores Web feeds Services Events Sensors Queues Logs
  • 17.
  • 18.
  • 19. Introduction to context in event processing
  • 20. Context has three distinct roles (which may be combined) Partition the incoming events The events that relate to each customer are processed separately Grouping events together Different processing for Different context partitions Determining the processing Grouping together events that happened in the same hour at the same location
  • 21. Contextual representation of event Spatial coordinates System entry point Detection time Occurrence time
  • 23. Context Definition A context is a named specification of conditions that groups event instances so that they can be processed in a related way. It assigns each event instance to one or more context partitions . A context may have one or more context dimensions. Temporal Spatial State Oriented Segmentation Oriented
  • 24. Context Types Examples Spatial State Oriented Temporal Context “ Every day between 08:00 and 10:00 AM” “ A week after borrowing a disk” “ A time window bounded by TradingDayStart and TradingDayEnd events” “ 3 miles from the traffic accident location” “ Within an authorized zone in a manufactory” “ All Children 2-5 years old” “ All platinum customers” “ Airport security level is red” “ Weather is stormy” Segmentation Oriented
  • 25. Context Types Context Fixed location Entity distance location Event distance location Spatial State Oriented Fixed interval Event interval Sliding fixed interval Sliding event interval Temporal Segmentation Oriented
  • 26. Context Building Block Context identifier Context dimension Context type Context parameters Context initiator policies Building Block Describing Context Context Details Explicit Partitions Partition identifier Partition parameters Composition Details Relationships Member contexts Priority Order Location service global state
  • 28.
  • 29. Fixed Interval Fixed interval Interval start Interval end Recurrence Temporal ordering In a fixed interval context each window is an interval that has a fixed time length; there may be just one single window or a periodically repeating sequence of windows. July 12, 2010, 2:30 PM + 3 hours 08:00 10:00 08:00 10:00 08:00 10:00
  • 30.
  • 31. Sliding Fixed Interval In a sliding fixed interval context each window is an interval with fixed temporal size. New windows are opened at regular intervals relative to one another. Sliding fixed interval Interval period Interval duration Interval size (events) Temporal ordering 2 hours 2 hours 2 hours 1 hour 1 hour 1 hour
  • 32. Sliding Event Interval A sliding event interval is an interval of fixed size (events number) that continuously slides on the time axis. Sliding event interval Event list Interval size (events) Event period Temporal ordering Every 3 blood pressure measurements
  • 33.
  • 34. Context Initiator Policies – cont. A context initiator policy is a semantic abstraction that defines the behavior required when a window has been opened and a subsequent initiator event is detected. add ignore refresh extend
  • 35.
  • 36. Context Terminator Policies – cont. A context terminator policy is a semantic abstraction that defines the behavior required when several windows have been opened by subsequent initiators. first last all
  • 37.
  • 39.
  • 40.
  • 41.
  • 45.
  • 46. Fixed location examples A person enters the house: The house location is an area, the person’s location is a point; the relation is touches A car parks across two lanes The car parked location is an area, the lane is an area; the relation is overlaps An Alzheimer patient has gone outside of the safe zone defined by his family. His location is a point, the zone is an area; the relation is disjoint
  • 47.
  • 48. Entity distance location examples A driver enters the restaurant’s interest context when arriving to a certain radius from the restaurant A bus is within the context of a certain bus station if it is within a certain distance from the station
  • 49.
  • 50. Event distant location example A fire breaks within a certain radius from the earthquake epicenter The distance space is partitioned, different actions for different partitions A suspect fits the criminal’s profile is arrested within a certain radius from the crime scene
  • 52. Where states are coming from? Explicit state machines Observation in Workflow/BPM State of some entity Typically stored in DB/ global variable
  • 53. State examples When the CPU is overloaded When a backup is running When a person is presenting When the mood in Wall Street is bullish.
  • 54. The temporal aspects of state Occurs while a state is valid? The “while” may be determined by detection time or by occurrence time If the state is – raining, Then it makes sense that the association of events is determined according to occurrence time If the state is – CPU is overloaded Then it makes sense that events that result in further processing are associated according to their detection time.
  • 56. Composite context A composite context is a context that is composed from two or more contexts. Example: the set of context partitions for the composite context is the Cartesian product of the partition sets of its constituent contexts.
  • 57. Composition of context – some observations: The most common combination is: segmentation and temporal The relations between the composed contexts can be – union or intersection (intersection is the more common) There may be multiple composition participants In some cases a priority is needed to disambiguate the context affiliation State: rainy union Temporal: every day between midnight and 6am Segment: customer Temporal: Every 10 orders Segment: driver Temporal: Within 1 hour from an accident Spatial: within 5KM from the accident Segment: customer Temporal: Every 10 orders
  • 58. Priorities in event composition Temporal: Every 10 orders Segment: customer First create group of 10 orders and this group by customer The temporal context has higher priority
  • 59. Priorities in event composition Segment: customer Temporal: Every 10 orders First group of by customer and then count 10 orders for each customer The segmentation context has higher priority
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71. Context Implementation in Practice: Event Processing Implementations
  • 72. Context in Practice - Streambase CREATE WINDOW tenSecondsInterval ( SIZE 10 ADVANCE 1 {TIME} ); CREATE WINDOW eventsInterval ( SIZE 10 ADVANCE 1 {TUPLE} TIMEOUT 20 ); Sliding fixed interval Sliding event interval
  • 73. Context in Practice – Oracle EPL SELECT * FROM Withdrawal RETAIN 5 EVENTS SELECT * FROM Withdrawal RETAIN 4 SECONDS
  • 74. Context in Practice –Sybase (Aleri/Coral8) CCL CREATE WINDOW Book_w SCHEMA Book_t KEEP ALL ; INSERT INTO Book_w SELECT * FROM Book_s; The KEEP policy specifies the kind of window. Here are some examples: KEEP LAST PER Id KEEP 3 MINUTES KEEP EVERY 3 MINUTES KEEP UNTIL (”MON 17:00:00”) KEEP 10 ROWS KEEP LAST ROW KEEP 10 ROWS PER Symbol
  • 75. Context in Practice – Progress Apama
  • 76.
  • 78.
  • 82. Contexts implementations in other types of computing
  • 83. Data in context Contextual data: Temporal database: transaction time, valid time Spatial database: geographic abstraction Spatio-temporal database: intersection of these two
  • 85. MIT Media Lab – context in kitchen appliances The Context-Aware Computing group is focused on demonstrating the possibilities for controlling systems with interpreted human intention. The goal is to demonstrate how “context” such as who we are, what we are doing, where we are doing it, why we might be doing it, and when it should be done can simplify our ability to control systems. http://context.media.mit.edu/press/index.php/about/
  • 86. MIThril – context aware wearable computing http://www.media.mit.edu/wearables/mithril/ Based on sensing and machine learning – context engine and wearable sensors and processors
  • 87. Sixth sense http://www.media.mit.edu/research/highlights/sixthsense-wearable-gestural-interface-augment-our-world
  • 88. Context and websites Contextualization of websites: making them appear in searches of certain category (reverse engineering of the search engine algorithms) Using the user’s context to generate results Contextualization of websites: making them appear in searches of certain category (reverse engineering of the search engine algorithms)
  • 89. IBM Entity Analytics – context acquisition by dependencies Good Guys Subjects of Interest Hotel guests Loyalty club enrollment Employees Vendors Victims Specially designated nationals Excluded persons Gaming license revocations Known cheaters Interpol FBI Most Wanted
  • 91. Context Separation of context from the logic Next phase of abstraction independence BPM and rules provided separation between programming in the large and programming in the small Databases provided data independence
  • 92. Context is: One of the key building blocks in event processing modeling A language construct that starts to appear in event processing languages An emerging concept in enterprise computing

Editor's Notes

  1. … So in the world of software, context-aware software takes into account indirect information, in addition to its direct input – which can be service parameters for instance. Take for example automatic tow service ordering system - if your car breaks down on the side of the road, instant information about nearby tow, pushed automatically to your mobile device will be more helpful than making phone calls or surfing the net. Another example is calls routing applications - routing phone calls based on the user’s location and pre-defined preferences: at home – wire line phone, at office – IP phone or instant messaging application, at the movie theater – SMS only.
  2. Strategic Imperative: Proceed with gradual adoption of service-oriented architecture (SOA) and event-driven architecture (EDA) as fundamental steps in the software industry evolution to greater agility, intelligence and relevance. This slide, created by Gartner, demonstrates the evolution of software architecture over the years. You can see that during the last decade SOA and Advanced SOA were introduced, including complex event processing and extreme transaction processing. Gartner classifies CEP as advanced SOA, also called event-driven SOA. The next generation of application will be based on context – it a Context Driven Architecture generation. Having context as a first-class citizen will stimulate all these context-based types of applications to become more and more common. Presence, Mobility, Web 2.0 and Social computing applications have context and not content as a primary element.
  3. This slide demonstrates again the idea that context is indirectly relevant information, useful to functioning of the service but not provided to the service as part of its invocation. The service is surrounded by a context, which can come from various sources – event brokers, sensors, web feeds, social interaction logs and so on. Software capable of adding new types of context and new sources of context is the most valuable to users.
  4. Telecommunication applications are probably the most noticeable context applications. Smart phones can find an ATM on our way home, make a purchase, point to the nearby gas station or ping us about end of season sales as we pass a near a mall. Smart call routing systems are another example of context aware telecommunication applications, as we’ve already mentioned a couple of slides before.
  5. Social computing is another emerging field where context a primary element – google search for instance adjusts search results and even advertisements placement according to users search history characteristics – such as content and frequency of search. Amazon improves user experience by offering the user products based on his shopping history, location, shopping history of other relevant users (those who bought the product the user just put in his shopping bag for example), and even political and social environment. In facebook the content a user retrieves depends on his identity, membership and power of his connection to other facebook members. After talking about context in general, we will focus on context in event processing…
  6. The role of managing the content in each of the partitions can either fall on context service or on the agent associated with the specific context. In case of context service managing the partition’s content: Context service decides on affiliation of an object instance to a certain partition Context service saves the object instance and it’s mapping to the specific partition The context forwards the agent information on the update of the partition’s content, this information is necessary for the agent’s pattern evaluation logic In case of pattern evaluation the agent requests the content of the relevant partition from the context service, and evaluates the pattern In case of agent managing the partition’s content Context service decides on affiliation of an object instance to a certain partition The object is enriched with this context information and forwarded to the agent The agent stores the enriched object The agent performs a pattern evaluation of the relevant set of objects The first method can be better in terms of memory management – if the same event participates in several patterns, it can be maintained once The second one is betted in terms of context service and agents interactions, resulting in the reduced traffic.
  7. Distributed topology: We have Context service on EPA level – The context management can either be distributed between different context services or duplicated between them. In the first case we need to maintain the distribution mechanism and consider logical integrity and synchronization issues that can arise when partitioning context into several pieces. In the second case we need to maintain replications between different instances on every context state change. Both approaches – context partitioning and duplication are scalable in terms of number of agents and throughput of events. We also avoid the performance bottleneck as opposed to the centralized approach.
  8. Another approach combining the previous two is the hybrid approach – this architecture consists of context service component attached to each one of the agents sharing a single context data store. We can of course have several such a components – the entire system can have several groups of agents (probably logically connected agents) sharing the same context state. This approach offers both scalability typical to the distributed systems, and lack of synchronization and traffic issues typical to centralized context service architecture. Having several components of this type in our system, we can obtain a reasonable performance with relatively a small need in communicating context state changes to all interested parties.