a model for context-aware databases
DESCRIPTION
A model for Context-aware Databases. What is Context?. Ο καθένας ορίζει το context διαφορετικά... “location, identities of nearby people and objects, and changes to those objects” “environment or situation” etc… Δύο πιο γενικοί ορισμοί: - PowerPoint PPT PresentationTRANSCRIPT
A model for Context-aware Databases
19/04/2005 2
What is Context? Ο καθένας ορίζει το context διαφορετικά...
“location, identities of nearby people and objects, and changes to those objects”
“environment or situation” etc…
Δύο πιο γενικοί ορισμοί: ContextContext is any information that can be used
to characterize the situation of an entity. A system is context-awarecontext-aware if it uses context
to provide relevant information and/or services to the user, where relevancy depends on the user’s task.
19/04/2005 3
Motivation Πολλά διαφορετικά μοντέλα για την περιγραφή του
context. Όμως τελικά η διαχείριση της πληροφορίας με
βάση το context γίνεται στο επίπεδο των εφαρμογών. Redundancy: Η λογική και οι βασικές
λειτουργίες υλοποιούνται από κάθε εφαρμογή ξεχωριστά.
Οι υλοποιήσεις εξαρτώνται στενά από τη φύση της κάθε εφαρμογής και τις επιλογές κατά τον σχεδιασμό της.
Maintenance overhead.
19/04/2005 4
Motivation Ο στόχος είναι:
Ομοιόμορφος χειρισμός της πληροφορίας και του context που την χαρακτηρίζει.
Διαχείριση του context ως «first class citizen» από τα ΣΔΒΔ.
Πλεονεκτήματα: Καλύτερος σχεδιασμός. High level query language. Efficient access/optimization. Μηχανισμός για consistency checking ως
προς το context.
19/04/2005 5
Context Definition World
environment under which data obtain a substance. Dimension
the set of parameters used to specify the worlds. example set of dimensions D = {device, payment}
Context specifier [device=PC] [device=PDA, payment in {credit card, cash}]
Universal context: [] Empty context: [-]
19/04/2005 6
Example Web site about digital cameras. Information entity dcameradcamera with
attributes: Brand, Model, MPix, Photo, Price
Dimensions: devicedevice ranging over {PC, PDA, CELL} paymentpayment ranging over {Credit Card,
Cash} Photo: defined only for worlds with
browsing device in {PC,PDA} Price: defined in every world but its
values may change
World Device
Payment
w1 PC Credit Card
w2 PDA Credit Card
w3 CELL Credit Card
w4 PC Cash
w5 PDA Cash
w6 CELL Cash
19/04/2005 7
Context Relation dcamera
Brand Model MPix Photo Price
<e1>
<e2>
<e3>
<e4>
...w1w2w3w4
Attribute
Entity
World
w5w6
Facet
19/04/2005 8
Context-Project πModel[ ], MPix[ ], Price[ ] dcamera
<e1>
<e2>
<e3>
<e4>
...w1w2w3w4
Brand Model MPix Photo Price
w5w6
19/04/2005 9
Context-Project πModel[Device=PC,Payment=CreditCard], MPix[Device=PC,Payment=CreditCard],
Price[Device=PDA,Payment in {CreditCard,Cash}] dcamera
<e1>
<e2>
<e3>
<e4>
...w1w2w3w4
Brand Model MPix Photo Price
w5w6
19/04/2005 10
World Project κ[w1,w4] dcamera
Brand Model MPix Photo Price
<e1>
<e2>
<e3>
<e4>
...w1w2w3w4w5w6
19/04/2005 11
Entity Context-Select σentity (BRAND[ ]=‘Kodak’ AND MPix[]>3)
dcamera
Brand Model MPix Photo Price
<e1>
<e2>
<e3>
<e4>
...w1w2w3w4w5w6
19/04/2005 12
Entity Context-Select σentity (BRAND[ ]=‘Kodak’ AND MPix[]>3)
dcamera σentity (Price[Device=PC,Payment=Cash] <
Price[Device=PC,Payment=CreditCard]) dcamera σentity (BRAND[ ] = Kodak AND Price < 250)
dcamera NO context specifier evaluate the condition to true if there exists at least one world where the condition holds.
Πως αποτιμάται το condition στους κόσμους όπου δεν ορίζεται ένα attribute??
19/04/2005 13
Facet Context-Select σ facet (Price < 500) dcamera
<e1>
<e2>
<e3>
<e4>
...w1w2w3w4
Brand Model MPix Photo Price
w5w6
19/04/2005 14
Context Relation accessories
Name Model Desc Price
<e1>
<e2>
<e3>
<e4>
...w1w2w3w4w5w6
19/04/2005 15
Context Cartesian Project/Join
Brand ... Price Name Model ... Price
w1w2w3w4
<e1>
<e1>
<e1>
<e2>
...
w5w6
<e’1>
<e’2>
<e’3>
<e’1>
...
19/04/2005 16
Illustrating Example
Ctx-Rel1 context cartesian product(dcamera, accessories)
Ctx-Rel2 σentity (dc.Model[ ] = ac.Model[ ] AND BRAND[ ]=‘Kodak’ AND
dc.Price[Device=PC,Payment=Cash]<400)Ctx-Rel1
Result πdc.Model[Device=PC,Payment=Cash],
dc.Price[Device=PC,Payment=Cash],
ac.Name[Device=PC,Payment=CreditCard],
Ac.Price[Device=PC,Payment=CreditCard]Ctx-Rel2
19/04/2005 17
CR vs Relational model Relational implementation:
A single demoralized relation. Number of different worlds relations.
The link between the facets of the same entity is lost.
The link between the same attribute under different worlds is lost.
19/04/2005 18
Future Work Extend the relational calculus and algebra to
incorporate context. Context-aware query language for the CR
model. Possible uses of CRModel
Time/histories of data. Personalization/profiles. Web/mobile services.
Design efficient access methods to take context into account.
Query optimization.
19/04/2005 19
Ερωτήσεις
????????????
????????
??????????