A model for Context-aware Databases
19/04/20052 What is Context? Ο καθένας ορίζει το context διαφορετικά... “location, identities of nearby people and objects, and changes to those objects” “environment or situation” etc… Δύο πιο γενικοί ορισμοί: Context Context is any information that can be used to characterize the situation of an entity. context-aware A system is context-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/20053 Motivation Πολλά διαφορετικά μοντέλα για την περιγραφή του context. Όμως τελικά η διαχείριση της πληροφορίας με βάση το context γίνεται στο επίπεδο των εφαρμογών. Redundancy: Η λογική και οι βασικές λειτουργίες υλοποιούνται από κάθε εφαρμογή ξεχωριστά. Οι υλοποιήσεις εξαρτώνται στενά από τη φύση της κάθε εφαρμογής και τις επιλογές κατά τον σχεδιασμό της. Maintenance overhead.
19/04/20054 Motivation Ο στόχος είναι: Ομοιόμορφος χειρισμός της πληροφορίας και του context που την χαρακτηρίζει. Διαχείριση του context ως «first class citizen» από τα ΣΔΒΔ. Πλεονεκτήματα: Καλύτερος σχεδιασμός. High level query language. Efficient access/optimization. Μηχανισμός για consistency checking ως προς το context.
19/04/20055 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/20056 Example Web site about digital cameras. dcamera Information entity dcamera with attributes: Brand, Model, MPix, Photo, Price Dimensions: device device ranging over {PC, PDA, CELL} payment payment 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 WorldDevicePayment w1PCCredit Card w2PDACredit Card w3CELLCredit Card w4PCCash w5PDACash w6CELLCash
19/04/20057 Context Relation dcamera
19/04/20058 Context-Project π Model[ ], MPix[ ], Price[ ] dcamera
19/04/20059 Context-Project π Model[Device=PC,Payment=CreditCard], MPix[Device=PC,Payment=CreditCard], Price[Device=PDA,Payment in {CreditCard,Cash}] dcamera
19/04/ World Project κ [w1,w4] dcamera
19/04/ Entity Context-Select σ entity (BRAND[ ]=‘Kodak’ AND MPix[]>3) dcamera
19/04/ 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/ Facet Context-Select σ facet (Price < 500) dcamera
19/04/ Context Relation accessories
19/04/ Context Cartesian Project/Join
19/04/ 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/ 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/ 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/ Ερωτήσεις ?????? ???? ?????