SlideShare a Scribd company logo
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  In the play “The Tea house of the August Moon” one of the characters says:  Pornography question of geography  This says that in different geographical contexts people view things differently Furthermore, the syntax of the language (no verbs) is typical to the way that the people of Okinawa are talking  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? A man walks  in the street with a duck, his friend approaches him  Friend: why are you walking with a duck?  Man:  I went out of home and this duck followed with me and doesn’t leave me alone Friend: take him to the zoo  Next day the same  man still walks in the street with a duck, his friend approaches him again Friend: why haven’t you taken the duck to the zoo?  Man:  I took him to the zoo, cinema, pub– he still doesn’t leave me alone 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 Context in the world of software: A major step towards modeling the real world functional behavior Most of the software considers only direct information Context-aware software acts also upon (indirect) relevant information, which represents the conditions under which the processing is done Examples Automatic tow service ordering system Calls routing application “ 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 Telecommunication GeoVector applications Smart phones users can find out when the museum opens, find an ATM on the way home, ask for a coupon, make a purchase by simply pointing the mobile device at the desired direction or object Smart call routing systems 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
Context Applications – cont. Social computing Google search and advertising Improving search relevance, and placement of advertisements according to context  Amazon B2C offers the user the most-relevant experience in e-commerce by using: History of a user's activity and his location, current activities by other relevant users, political and social news environment Facebook bases its service offering on user’s context Content a user creates, seeks and finds depends on his social context: identity, memberships, and the power of his connections to other members
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 Events grouping  - group events to process them together based on the fact they have occurred during the same interval Example: count all the bids within the auction period EPA applicability  - indicate that a certain event processing agent is applicable within certain intervals and is not applicable in other intervals.  Example: detect if all printers at the same floor are off-line during working hours. Temporal interval is a half open interval [Ts, Te) Ts  is start-point, included in the interval Te  is end-point, not included in the interval 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 In an  event interval  context each window is an interval that starts when the associated EPA receives an event that satisfies a specified predicate. It ends when it receives an event that satisfies a second predicate, or when a given period has elapsed. 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 Within three days of an volcano eruption: initiator  event =   volcano eruption, expiration time offset = + 3 days   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 Starting with Island volcano eruption till full flight resumption initiator  event = volcano eruption,  terminator  event = flights resumption
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 Determine whether a specific event falls within the interval: By the  detection time  - the timestamp created by the system when the event enters the system By the  occurrence time  - the time in which the event source specifies as the time in which the event occurred in reality 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 Unrestricted number of partitions Segmentation by CustomerId Fixed number of partitions Segmentation by different age ranges age < 21 age    30 and age < 50 age    50 and age < 67 age    67
Segmentation Oriented Context – cont. Unrestricted  number of partitions: Average of customer’s deposits over last month John Tim Helen David
Segmentation Oriented Context – cont. Fixed  number of partitions Distribution of alcohol consumption by age 18-25 26-50 50-
Spatial  Context
Spatial context
Spatial properties of events
Fixed location  A f ixed location  context has predefined context partitions based on specific spatial entities. An event is included in a partition if its location attribute indicates that it is correlated with the partition’s spatial entity. 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  An  entity distance location  context assigns events to context partitions based on their distance from a given entity. This entity is either specified by an event attribute or is given as part of the context specification   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  An  event distance location  context assigns events to context partitions based on their distance from the location of the event that triggered the creation of the partition.  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 Currently in most applications the context logic is embedded in the traditional code. No separation of concerns resulting in: No reuse of context logic Change management is troublesome and non-efficient Increased application maintenance cost Reduced business agility Application Context
Context Decoupling Externalizing the rapidly-changing context logic from the traditional application code leads to: Increased flexibility and adaptability Better reflection of business policies on business logic All building blocks are explicitly defined Reduced application development and maintenance time, as well as costs Application Context
Introducing Context Service Context  is a logical component in EPN Context service  is a runtime component implementing and managing the context
The Role of Context Service Initiation of new context’s partitions Terminating of existing context’s partitions Deciding on affiliation of an object instance to a certain partition Based on the partition attributes Based on the object attributes 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 Context partitions and event instance management Architecture for the context service Centralized vs. distributed architecture
Partition and Event Instance Management The role of managing the content in each of the partitions can either fall on the context service  the agent (EPA) associated with the specific context In case the  context service  is managing the partition’s content: In case  the agent  is managing the partition’s content: 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 Should take into consideration some functional and non-functional requirements Functional requirements Correctness of initiator/terminator/participant semantics Non functional requirements Performance, scalability, reliability
Centralized Context Service Performance bottleneck Non scalable in terms of throughput and number of agents  Agent Context   service Agent Agent Agent
Distributed Context Service on Agent’s Level Managing shared context in a completely distributed environment  Requires devising control mechanisms to communicate the changes in shared context state to all interested parties Agent Context   service Agent Context   service Agent Context   service Agent Context   service Agent Context   service
Hybrid Approach Hybrid approach – distributed context service on the system’s level Context service  – one per one runtime engine The context state is shared between distributed instances of the context service 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  A  key  is a collection of event attributes that are used to match different events. These attributes must have syntactic compatibility, and are usually semantically equivalent. OrderId Key String CustomerOrder OrderId CustomerOrderCancel OrderId OrderDelivery Id OrderShipmentReport Number
Context in Practice – AMiT
Context in Practice – AMiT  A lifespan is a time interval during which pattern detection is relevant – temporal context. A lifespan is bounded by an  initiator  and a  terminator . Initiator  – beings the lifespan. The initiator can be an event, absolute time, startup (CEP engine startup). A lifespan can use more than one initiator Terminator  – ends the lifespan. The terminator can be event, expiration time, absolute time, or no-terminator. A lifespan can use more than one terminator
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
Ad

More Related Content

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...
tksakaki
 
IJET-V3I1P3
IJET-V3I1P3IJET-V3I1P3
IJET-V3I1P3
IJET - International Journal of Engineering and Techniques
 
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.pptx
nassmah
 
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
IJMIT JOURNAL
 
context aware computing
context aware computingcontext aware computing
context aware computing
swati sonawane
 
context aware.pptx
context aware.pptxcontext aware.pptx
context aware.pptx
nassmah
 
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
Tim 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 Motion
mrosenthal
 
Building Social Life Networks 130818
Building Social Life Networks 130818Building Social Life Networks 130818
Building Social Life Networks 130818
Ramesh Jain
 
90seconds Presentation
90seconds Presentation90seconds Presentation
90seconds Presentation
pbihler
 
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.docx
todd271
 
ICAME 2010
ICAME 2010ICAME 2010
ICAME 2010
nottyknight
 
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
ijasuc
 
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
ijasuc
 
Sergio ICON project
Sergio ICON projectSergio ICON project
Sergio ICON project
Marc Van den Broeck
 
Caaa07 Presentation February Final
Caaa07 Presentation February FinalCaaa07 Presentation February Final
Caaa07 Presentation February Final
pbihler
 
Context aware
Context awareContext aware
Context aware
Rahmatollah (Sadra) Isapanah Amlashi
 
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.pptx
nassmah
 
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
IJMIT JOURNAL
 
context aware computing
context aware computingcontext aware computing
context aware computing
swati sonawane
 
context aware.pptx
context aware.pptxcontext aware.pptx
context aware.pptx
nassmah
 
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
Tim 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 Motion
mrosenthal
 
Building Social Life Networks 130818
Building Social Life Networks 130818Building Social Life Networks 130818
Building Social Life Networks 130818
Ramesh Jain
 
90seconds Presentation
90seconds Presentation90seconds Presentation
90seconds Presentation
pbihler
 
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.docx
todd271
 
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
ijasuc
 
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
ijasuc
 
Caaa07 Presentation February Final
Caaa07 Presentation February FinalCaaa07 Presentation February Final
Caaa07 Presentation February Final
pbihler
 

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
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 eda
Opher 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 dilemmas
Opher 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 Things
Opher Etzion
 
Dynamic stories
Dynamic storiesDynamic stories
Dynamic stories
Opher 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 2014
Opher 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 empowerment
Opher 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 workshop
Opher 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 immortality
Opher Etzion
 
Debs 2012 basic proactive
Debs 2012 basic proactiveDebs 2012 basic proactive
Debs 2012 basic proactive
Opher Etzion
 
Debs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialDebs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorial
Opher Etzion
 
Proactive eth talk
Proactive eth talkProactive eth talk
Proactive eth talk
Opher Etzion
 
Debs 2011 pattern rewritingforeventprocessingoptimization
Debs 2011  pattern rewritingforeventprocessingoptimizationDebs 2011  pattern rewritingforeventprocessingoptimization
Debs 2011 pattern rewritingforeventprocessingoptimization
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 eda
Opher 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 dilemmas
Opher 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 Things
Opher 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 2014
Opher 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 empowerment
Opher 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 workshop
Opher 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 immortality
Opher Etzion
 
Debs 2012 basic proactive
Debs 2012 basic proactiveDebs 2012 basic proactive
Debs 2012 basic proactive
Opher Etzion
 
Debs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialDebs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorial
Opher Etzion
 
Proactive eth talk
Proactive eth talkProactive eth talk
Proactive eth talk
Opher Etzion
 
Debs 2011 pattern rewritingforeventprocessingoptimization
Debs 2011  pattern rewritingforeventprocessingoptimizationDebs 2011  pattern rewritingforeventprocessingoptimization
Debs 2011 pattern rewritingforeventprocessingoptimization
Opher Etzion
 
Ad

Recently uploaded (20)

UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Ad

Debs 2010 context based computing tutorial

  • 1. Context Aware Computing and its Utilization in Event-based Systems DEBS 2010 Tutorial Opher Etzion ([email protected]) Ella Rabinovich ([email protected])
  • 2. Our entire culture is context sensitive In the play “The Tea house of the August Moon” one of the characters says: Pornography question of geography This says that in different geographical contexts people view things differently Furthermore, the syntax of the language (no verbs) is typical to the way that the people of Okinawa are talking When hearing concert people are not talking, eating, and keep their mobile phone on “silent”.
  • 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. Context in language – why are we laughing from jokes? A man walks in the street with a duck, his friend approaches him Friend: why are you walking with a duck? Man: I went out of home and this duck followed with me and doesn’t leave me alone Friend: take him to the zoo Next day the same man still walks in the street with a duck, his friend approaches him again Friend: why haven’t you taken the duck to the zoo? Man: I took him to the zoo, cinema, pub– he still doesn’t leave me alone Where is the context switch?
  • 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. Roles Of Context In Computing Context in the world of software: A major step towards modeling the real world functional behavior Most of the software considers only direct information Context-aware software acts also upon (indirect) relevant information, which represents the conditions under which the processing is done Examples Automatic tow service ordering system Calls routing application “ Context-aware computing is the concept of leveraging information about the end user to improve the quality of the interaction” (Gartner 2007)
  • 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. Context Applications Telecommunication GeoVector applications Smart phones users can find out when the museum opens, find an ATM on the way home, ask for a coupon, make a purchase by simply pointing the mobile device at the desired direction or object Smart call routing systems 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
  • 18. Context Applications – cont. Social computing Google search and advertising Improving search relevance, and placement of advertisements according to context Amazon B2C offers the user the most-relevant experience in e-commerce by using: History of a user's activity and his location, current activities by other relevant users, political and social news environment Facebook bases its service offering on user’s context Content a user creates, seeks and finds depends on his social context: identity, memberships, and the power of his connections to other members
  • 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. Temporal Context Events grouping - group events to process them together based on the fact they have occurred during the same interval Example: count all the bids within the auction period EPA applicability - indicate that a certain event processing agent is applicable within certain intervals and is not applicable in other intervals. Example: detect if all printers at the same floor are off-line during working hours. Temporal interval is a half open interval [Ts, Te) Ts is start-point, included in the interval Te is end-point, not included in the interval Temporal context is aimed to partition the temporal space into time intervals.
  • 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. E vent Interval In an event interval context each window is an interval that starts when the associated EPA receives an event that satisfies a specified predicate. It ends when it receives an event that satisfies a second predicate, or when a given period has elapsed. 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
  • 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. Context Initiator Policies Within three days of an volcano eruption: initiator event = volcano eruption, expiration time offset = + 3 days March 5, 2010 10:00 March 7, 2010 06:00
  • 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. Context Terminator Policies Starting with Island volcano eruption till full flight resumption initiator event = volcano eruption, terminator event = flights resumption
  • 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. Temporal Ordering Policy Determine whether a specific event falls within the interval: By the detection time - the timestamp created by the system when the event enters the system By the occurrence time - the time in which the event source specifies as the time in which the event occurred in reality May 1, 2010, 11:45:00 AM May 1, 2010, 11:45:00 AM
  • 39. 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 Unrestricted number of partitions Segmentation by CustomerId Fixed number of partitions Segmentation by different age ranges age < 21 age  30 and age < 50 age  50 and age < 67 age  67
  • 40. Segmentation Oriented Context – cont. Unrestricted number of partitions: Average of customer’s deposits over last month John Tim Helen David
  • 41. Segmentation Oriented Context – cont. Fixed number of partitions Distribution of alcohol consumption by age 18-25 26-50 50-
  • 45. Fixed location A f ixed location context has predefined context partitions based on specific spatial entities. An event is included in a partition if its location attribute indicates that it is correlated with the partition’s spatial entity. 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
  • 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. Entity Distance Location An entity distance location context assigns events to context partitions based on their distance from a given entity. This entity is either specified by an event attribute or is given as part of the context specification Entity d1 d2
  • 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. Event Distance Location An event distance location context assigns events to context partitions based on their distance from the location of the event that triggered the creation of the partition. d1 d2
  • 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. Context in Applications Currently in most applications the context logic is embedded in the traditional code. No separation of concerns resulting in: No reuse of context logic Change management is troublesome and non-efficient Increased application maintenance cost Reduced business agility Application Context
  • 62. Context Decoupling Externalizing the rapidly-changing context logic from the traditional application code leads to: Increased flexibility and adaptability Better reflection of business policies on business logic All building blocks are explicitly defined Reduced application development and maintenance time, as well as costs Application Context
  • 63. Introducing Context Service Context is a logical component in EPN Context service is a runtime component implementing and managing the context
  • 64. The Role of Context Service Initiation of new context’s partitions Terminating of existing context’s partitions Deciding on affiliation of an object instance to a certain partition Based on the partition attributes Based on the object attributes 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
  • 65. Context Service – Points for Consideration Context partitions and event instance management Architecture for the context service Centralized vs. distributed architecture
  • 66. Partition and Event Instance Management The role of managing the content in each of the partitions can either fall on the context service the agent (EPA) associated with the specific context In case the context service is managing the partition’s content: In case the agent is managing the partition’s content: 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
  • 67. Centralized vs. Distributed Architecture Should take into consideration some functional and non-functional requirements Functional requirements Correctness of initiator/terminator/participant semantics Non functional requirements Performance, scalability, reliability
  • 68. Centralized Context Service Performance bottleneck Non scalable in terms of throughput and number of agents Agent Context service Agent Agent Agent
  • 69. Distributed Context Service on Agent’s Level Managing shared context in a completely distributed environment Requires devising control mechanisms to communicate the changes in shared context state to all interested parties Agent Context service Agent Context service Agent Context service Agent Context service Agent Context service
  • 70. Hybrid Approach Hybrid approach – distributed context service on the system’s level Context service – one per one runtime engine The context state is shared between distributed instances of the context service Agent Context service Agent Context service Agent Context service Context state
  • 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. Context in Practice – AMiT A key is a collection of event attributes that are used to match different events. These attributes must have syntactic compatibility, and are usually semantically equivalent. OrderId Key String CustomerOrder OrderId CustomerOrderCancel OrderId OrderDelivery Id OrderShipmentReport Number
  • 78. Context in Practice – AMiT A lifespan is a time interval during which pattern detection is relevant – temporal context. A lifespan is bounded by an initiator and a terminator . Initiator – beings the lifespan. The initiator can be an event, absolute time, startup (CEP engine startup). A lifespan can use more than one initiator Terminator – ends the lifespan. The terminator can be event, expiration time, absolute time, or no-terminator. A lifespan can use more than one terminator
  • 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

  • #15: … 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.
  • #16: 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.
  • #17: 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.
  • #18: 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.
  • #19: 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…
  • #67: 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.
  • #70: 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.
  • #71: 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.