(data management in mobile and embedded...
TRANSCRIPT
이동 및 내장형 시스템에서의 데이터 관리(Data Management in Mobile and
Embedded Systems)
KISS 2001 추계학술대회 튜토리얼
2001. 10. 19.
김 영 국충남대학교 정보통신공학부
실시간정보시스템연구실
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 2
Outline
n Background and Motivation
nMobile Computing
nMobile Databases
n Embedded Databases
n Commercial Solutions
n Future Directions
n References
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 3
Detailed Outline
nMobile ComputingàWireless Network Architecture
àMobile Applications
àKey Issues in Mobile Computing
àSoftware Architectures• Mobile Computing Models• Environmental Awareness
àData Management Issues
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 4
Detailed Outline (Cont.)
nMobile DatabasesàComputing Environments
àComparison with Distributed Data Management
àApplications
àSystem-Level Support
àMobile Transaction Models
àQuerying Processing
àData Dissemination by Broadcast
àOther Topics
àCase Studies
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 5
Detailed Outline (Cont.)
n Embedded DatabasesàEmbedded System Characteristics
àMotivation of Embedded Databases
àEmbedded DB Requirements
àEmbedded DB Application Areas
àTechnological Issues
àEmbedded DB Classifications
àCase Studies
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 6
Detailed Outline (Cont.)
n Commercial SolutionsàIBM DB2 Everyplace
àIBM Informix Cloudscape
àOracle 9i Lite
àSybase SQL Anywhere Studio
àPointBase Mobile Edition
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 7
Background and Motivation
n Development of wireless network technologyà Advent of mobile or nomadic computingà Computing is possible in anytime, anywhere (ubiquitous,
pervasive)
n Computing environment in PostPC eraà Portable Devices (Notebook, PDA, Smart Phone, … )
à Internet information appliances (Digital TV, Settop Box)à Wired or wireless connection to the Internetà Interaction with the legacy computing system
n New data management problems for mobile and embedded system environmentsà mobile and embedded databases
Mobile Computing
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 9
Wireless Network Architecture
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 10
Terminology
n Fixed Network (FN)
n Base Station (BS) (Mobile Support Station - (MSS))
n Fixed Hosts (FH)
n Cell - Area covered by BS (1-2 miles)
n Handoff - Changing BS by intercell move
n Mobile Host (MH) (Mobile Unit (MU))
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 11
Mobile Applications
n Information Services (Yellow Pages)
n Law Enforcement and Medical Emergencies
n Sales and Mobile Offices
n Weather, Traffic, Sports, Entertainment
n Trucking
n Cellular Subscribers in the United States:à 90,000 in 1984;4.4 million in 1990;
13 million in 1994à Handheld computer market will grow to $1.77 billion by 2002
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 12
Key Issues in Mobile Computing
n Mobility
n Wireless Medium
n Portability
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 13
Mobility
n MH의 위치와 MH의 fixed network 상의 attachment point가 변함
n Impactsà MH를 포함하는 시스템 구성이 동적(dynamic)이므로 분산
알고리즘 설계가 복잡해짐
à MH의 위치를 효율적으로 관리하기 위한 Location Management의 필요성
à Various forms of Heterogeneity• Connectivity : low bandwidth network ~ high bandwidth network
• Cell 내에 존재하는 MH의 수가 변함에 따라 기지국의 load와bandwidth availability도 변함
• Variability in specific service
• Variability in resources available to MH
à Security & Authentication
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 14
Wireless Medium
n Weak and Intermittent Connectivityà more expensiveà less bandwidthà less reliable
à MH may voluntary operate disconnected
n Broadcast Facilityà Base Station에서 자신이 관할하는 cell 내의 모든 MH들로의 high
bandwidth broadcast channel이 존재
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 15
Portability
n Poor resource than static elementsà Memory, screen size, disk capacity, …
n Rely on battery
n Easier to be accidentally damaged, stolen or lostà Less secure and reliable than static elements
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 16
Software Architectures
n MH’s functionality typeà Approach1 : Dumb terminal
• 원인 : Mobile unit’s characteristics– Unreliable & error prone
– Resource poor relative to static host
• MH는 UI만을 수행하며 대부분의 기능을 fixed network에서 수행
à Approach2 : Autonomous element• 원인 : Slow and unreliable network• remote server에 대한 의존성을 줄이기 위해 MH에 많은 기능을 부여
à No consensus yet on the specific role of MH in distributed computation
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 17
Mobile Computing Models
n Mobile Client/Server Models à Simple Client/Server Modelà Client/Agent/Server Modelà The Pair of Agents Model
n Peer-to-Peer Models
n Mobile Agent Models
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 18
Simple Client/Server Model
n MHà fixed network상의 server에게 service를 요청하는 client 역할
n Client와 Server 사이의 메시지 교환 방식à Direct message exchange
• Slow and unreliable network에는 부적합
à RPC• Synchronous RPC : 접속단절 시 client blocking을 유발하므로
부적합
• Queuing RPC : 접속단절과 약한 연결성 문제를 극복 가능
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 19
Client/Agent/Server Model
n 3-tier model : client – agent, agent – server
n Agent 역할à Agents as Proxyà Service-Specific Agents
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 20
Client/Agent/Server Model (cont.)
n Agent 기능à Messaging and queueingà Various optimization for weak connectivity
• Priority에 따른 transmission order 변경
• Data compression
• Batching together multiple replies
à Offload functionality from client
à Disconnected operation 지원
• Mobile client가 agent에게 request submit & disconnect
• Agent에서 computation 수행
• Disconnected client로의 reply들이 agent에서 queueing됨
• Reconnect 시, mobile client로 reply 전달
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 21
Client/Agent/Server Model (cont.)
n Agent 위치 : depend on its roleà Agent as Proxy : fixed network 가장자리(e.g : basestation)à Service-specific agents : client 그룹이나 server에 가깝게
à MH의 이동에 따른 Agent Relocation 필요
n Cons:à 접속단절 동안 MH에서 current computation 유지 불가
à client/agent interaction 개발을 위해 client code의 변경 필요
à Agent는 fixed network → mobile client 방향으로만 무선 링크를통한 data transmission을 최적화 가능
n Light-weight client에 적당
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 22
The Pair of Agents Model
n Server-side agent : c/a/s model의 agent에 해당
n Client-side agentà Client의 request를 intercept하여
à 무선 링크 상의 data transmission을 줄이고,
à Data availability를 증대시키며,à MH에서의 computation이 interrupt되지 않도록 함
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 23
The Pair of Agents Model (cont.)
n Pros:à Agent pair에 의해 다양한 최적화 가능
• Relocate computation between the agents
• Background prefetching
à Flexibility in handling disconnections• 접속단절 동안의 cache miss는 양쪽 agent에서 queue를 사용하여
해결
à 고효율의 data reduction과 protocol optimization을 활성화시킬 수있는 communication protocol을 사용 가능
n Cons:à Development work both at the server and at the client site
n Heavy-weight client에 적당
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 24
Peer-to-Peer Models
n 각 site가 client와 server의 기능을 모두 가지는 경우
n MH가 distributed computation의 equal partner로 다루어짐
n Server-side agent in MHà Disconnection과 weak connectivity 문제를 다루기 위하여 필요
à MH에 탑재되는 것을 고려한 special feature 필요
• e.g., a mechanism to automatically start applications on demand (MH가 doze mode에 있을 수도 있으므로 )
n Heavy-weight MH에 적당
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 25
Mobile Agents
n Definitionà Specified task를 달성하기 위해 source computer로부터 관련
data와 함께 파견되어진 processes
n Characteristics à sending client와는 독립적으로 자동 진행
à 서버에 도착하면, agent 실행 환경으로 전달되어, 필요한 인증작업을 거친 후 실행됨
à 다른 서버로 이전되거나 새로운 agent들을 spawn하거나 타agent들과 interact 가능
à 작업이 종료되면, 결과를 sending client나 다른 서버로 전달
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 26
Mobile Agents (cont.)
n Pros :à Intermittent connectivity, slow network을 지원
• 접속단절 이전에 mobile client가 fixed network에 agent를 submit
• 많은 양의 메시지 대신에 single agent와 result만 전달되면 되므로overall communication traffic 감소
à Light-weight mobile client에 적당
n Cons :à Security
n Example :à General Magic’s Telescriptà IBM’s aglet (http://www.trl.ibm.com/aglets/)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 27
Environmental Awareness
n Transparent vs. Awareà Mobile-transparent (adaptivity solely by OS)
• Pros: no need to modify the existing apps
• Cons: manual intervention (e.g. what to prefetch, conflict resolution)
à Mobile-aware (adaptivity solely by applications)• Pros: app specific semantics; end-end argument; better functionality
and performance • Cons: complexity at application end
à Application-aware support for mobility• CMU’s Odyssey
(http://www-2.cs.cmu.edu/afs/cs/project/coda/Web/docs-ody.html)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 28
Database Research Issues in Mobile Computing Environmentsn Mobility
à locating usersà queries stated on location dependent areaà replication of data in the mobile units
n Disconnectionà keeping the data cache at mobile unit consistentà handoff and recovery issues related to transaction processing
n New data access modes related to the use of the wireless medium and problems caused by battery life on the mobile unit, and scale
n Query optimization, transaction models, and security, including a discussion of applications of mobile computing
Mobile Databases
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 30
n Extension of a distributed systemà include mobile DBMS
systemsà dynamic type of
distributed system
à mobile computing database environments
• Mobile Heterogeneous Multi-Database System
Computing Environments for Mobile Databases
Distribution
Autonomy
Heterogeneity
DistributedHeterogeneousDBMS
MobileHeterogeneousDBMS
Mobile HomogeneousDBMS
DistributedHomogeneousDBMS
MobileMulti-databaseSystem
DistributedMulti-databaseSystem
DistributedHeterogeneousMulti-databaseSystem
MobileHeterogeneousMulti-databaseSystem
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 31
n Differences of mobile data management from distributed data managementà Goal
• distributed application : location transparency• mobile application : location awareness
à Applications• may be location dependent
• need to adapt to changes in system context
à Transactions• new models to capture mobility
Mobile vs. Distributed Data Management (1)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 32
à Recovery• frequent network partitioning• voluntary MU shutdown is not a system failure• mobility may cause more logging• techniques to recover from disconnection during handoff
à Replication• different consistency constraints• new techniques for MU cache update due to frequent disconnect
à Query processing• location dependent• different cost factors• query responses returned to different location• adaptive techniques needed
à Name resolution• new global name strategy due to mobility & disconnect
Mobile vs. Distributed Data Management (2)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 33
Mobile Database Applications
n Example 1: Location dependent queriesà Imagine a family driving down the interstate on a vacationà Future location dependent databases will maintain information
about motels, restaurants, and other needed local services.à Location dependent queries access this information
• questions : Where is the closest motel with a pool? How do I get to the closest hospital?
• response : depends on the location
à Research issues• Mobile (or location-sensitive) query languages (SQL extensions)• Mobile database design, related to the automatic maintenance of
meta-data that maps data sets to locations• efficient yellow-page archiving that will allow data (about services)
and its associated location to be dynamically registered and discarded
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 34
n Example 2: Data caching & replication on the mobile unità Currently, salesmen frequently use laptops to maintain
information about clients and orders. When a salesman arrives at a client’s location he may request a display of that information.
à Query or transaction• directed to the fixed site• directed to a cached local copy of the information
à Research issues• How can we specify the degree of consistency between the mobile
application cache and the stationary copy?
• Migration of data into mobile host will be necessary for extremely long-lived application. Migration is a dynamic data redistribution, not a form of caching. How can data be migrated into the mobile app.?
• How can dirty caches be synched with the system under severe communication bandwidth restrictions?
Mobile Database Applications (cont.)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 35
System-level Support
n Support forà Disconnections
• Disconnected operation
• Autonomous operation of MH during disconnection
à Weak Connectivity• Low bandwidth, high latency, expensive price를 위한 연산 최적화
à Mobility• MH의 mobility에 따른 실행 중인 process와 진행중인 database
transaction의 migration 지원
à Failure recovery• MH는 error와 hard failure가 발생하기 쉬우므로 failure handling과
recovery가 중요
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 36
Disconnected Operation
n Data Hoarding Stateà 접속단절 기간동안 MH에서 연산
수행에 필요한 data item을 MH에preload
• Simply relocate data
– Inaccessible to other sites
• Replicate or cache data– Consistency control
à how to anticipate future needs• Users explicitly specify which data
• Use past history of data access
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 37
Disconnected Operation (cont.)
n Disconnected Stateà Use only locally available data
• Other data request는 reconnection 시 service 될 수 있도록 queueing
à Updates• Pessimistic approach : updates only one site
• Optimistic approach : updates at more than one site but conflicts
• MH에서의 update log가 stable storage에 유지되어야 함
à Log optimization in MH : log size 최소화
• Save memory• Effective reintegration을 위해 필요 : update propagation time과
reconnection 시 reintegration 시간을 줄임
n Reintegration Stateà MH에서 수행되었던 update들이 fixed host에서 log 내용을
재수행함으로써 다른 site들에서 수행된 update들과 reintegrate
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 38
Disconnected Operations in Database Systemsn Two-tier Replication[7]
à 2 Replicated data versions at mobile nodes• master version : MH가 접속 상태에서 받았던 가장 최신 값
• tentative version : MH에서의 local update 내용을 기록
à 2 types of transactions• tentative transaction : local tentative data 사용, tentative data 생성
• base transaction : master data만을 사용, master data 생성
à Reconnection 시,• Tentative transaction이 base transaction으로 다시 처리됨
• Application-specific acceptance criteria를 만족하지 못하면, abort되고 message가 mobile node로 반환됨
n Isolation-only transactions(IOTs)[11]à First-class transactionà Second-class transaction
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 39
Disconnected Operation in Web-based Systemsn Cache-based. Mostly used for browsing, no updatesn Which Pages to Prefetch/Hoard
à 전에 방문했던 page들과 관련된 모든 document들과 user profile에근거하여 방문이 예상되는 page들을 fetch할 수 있어야 함
n Cache Updatesà look for changes to stored objects based on elapsed
time(coherence interval)
n Cache Missà Asynchronous-disconnected mode
• 접속단절 시 발생한 request를 queuing하였다가 재접속시 처리
à Rover• Use queued RPC to develop a non-blocking operation for browsers. • Requests are stored in the client’s “operation log” that is executed at
reconnection.• Client is notified, when its request is satisfied.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 40
Disconnected Operation in Web-based Systems (cont.)
n Cache Validation at Reconnectionà Coherence interval보다 오래된 cached object들에 대해
coherency checkà Object reference 마다 coherency check
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 41
Weak Connectivity
n Connectivity provided by slow or expensive networks
n Connectivity varies in cost, provided bandwidth and reliability
n Current degree of connectivity에 적응할 수 있는operation을 지원할 수 있어야 함
n In most proposal,à Trade off “fidelity” against a reduction in communication cost
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 42
Weak Connectivity in Database Systemsn Cluster Approach[18]
à 2 types of copies : weak copy, strict copyà 2 types of transactions : weak transaction, strict transaction à Integration
• Connectivity와 copy간의 deviation 상태에 따라 weak copy와 strict copy가 integration 됨
n Bayou Approach[5]à read-any and write-any available copy를 사용하여 임시 commità Integration : Anti-entropy session
• Server들 사이의 pairwise contracts
• 임의의 server에서의 변경 내용을 propagate• Primary-commit schema를 사용하여 최종 commit됨
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 43
Weak Connectivity in Database Systems (cont.)
n Complex data itemsà 데이터의 semantics을 고려하여 large or complex object를 smaller
fragment로 분할하여 각 fragment에 대한 연산이 independent하게진행될 수 있도록 함
à Site escrow methods• Total # of instances of a given item is partitioned across a no # of sites• A transaction runs at only one site and successfully completes, if the #
of instances it requires do not exceed the # of instances available in escrow at that site.
• When more instances are required at a site, a redistribution protocol can be executed to reassign escrows.
à Fragmentation approach [20]• Fixed network 상의 large object의 master copy가 smaller physical
fragment로 분할
• Fragment는 master copy로부터 logically remove되어 MH에 적재됨
• Fragment는 MH에서 independent하게 연산이 수행된 후, master copy로 merge
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 44
Mobility
n Issuesà Dynamic data and task distribution
n Placing Dataà Whether to maintain or not a local copy of a data itemà Locations for placing copies
• server, mobile client, location servers for the client
à Consider the search cost to locate copies at mobile hosts
n Moving Computationsà Application-transparent or application-awareà Location-dependent or location-independentà After a unit of computation has been completed or while still in
progress
à How often does a computation move?
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 45
Failure Recovery
n Emphasis on recording consistent global checkpoints
n Issuesà Find the best place to store the next local checkpointà Bandwidth + availability of stable storage at MH
• refines the participation of MH in checkpoints • affects the frequency of taking such checkpoints
n Checkpoint protocolsà Coordinated
• consistent & recoverable global checkpoint 생성을 위해 participants 간의 coordination 필요
à Uncoordinated• participant들이 독립적으로 local state를 checkpoint
• recovery 동안 coordination 필요
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 46
Failure Recovery (cont.)
n Soft vs. Hard Failuresà Soft failures
• Do not permanently damage MH
• Battery discharge, OS crash, …
• Handled by soft checkpoints that are stored locally on MH
à Hard failures• Detrimentally damage MH• Handled by hard checkpoints that are stored on the fixed network
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 47
Failure Recovery (cont.)
n Connectivity and Checkpointing
Maximize client’s use
Maximize client’s use(only client’s memory)
Balance or minimize client’s use
Light-weight Client(stable storage unsafe)
Maximize client’s use
Maximize client’s use(only client’s memory)
Balance or maximize client’s use
Heavy-weight Client(stable storage safe)
UncoordinatedUncoordinatedCoordinated or uncoordinated
Coordination type
#soft > #hardOnly soft#hard ~= #softRatio of Checkpoints
PeriodicPeriodicImmediate or periodic
Logging Type
Weak ConnectivityDisconnectedConnected
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 48
Mobile Transaction (MT)
n Definitionà Database transaction requested from an MU.
n May execute in FN or MU
n Issuesà Disconnect/Handoffà Mobility
à Location Dependent Dataà Error-proneà MU’s Resources/Power
à Recovery/Restart à Management
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 49
MT Approaches
n No consensus on accepted approach
n MU may not have primary copy of data:à Transaction Proxy: MU does no transaction processingà Read Only Transaction: MU only reads data à Weak Transaction: Read and update cached data; Must
synchronize updates with primary copy on FN.
n MU may have primary copy of data
n MU may access data on other MUs
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 50
Mobile Transaction Models
n Reporting and Co-Transactions
n Cluster Model
n Semantic-based Fragmentation Model
n 2-Tier Replication Model
n Kangaroo Transaction (KT)
n Prewrite Transaction Model
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 51
Reporting and Co-Transactions
n Model the interaction between MU and its base station[4]n Open-nested transaction model + reporting, co-
transactionsà Subtransactions of the MU will commit or abort independently.
n Reporting transactionsà Partial result를 parent와 공유할 수 있고 독립적으로 commit 가능
n Co-transactionsà A special class of reporting transactionà Partial result를 공유할 때 control까지도 transaction 간에 전달
가능 (like co-routine)
n Pros:à Handoff시 transaction 수행 주체를 다른 host로 변경하기 쉬움
n Pittsburgh (Chrysanthis)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 52
Cluster Model (1)
n Flexible, 2-level consistency model (Pitoura) [18]
n Deal with frequent, predictable, varying disconnections
n Clusterà Semantically related or closely located dataà Intra-cluster : full consistency, inter-cluster : bounded
inconsistencyà Dynamic cluster configuration
• MH’s disconnection, reconnection → cluster create, merge
à Adapt to currently available bandwidth• Network bandwidth availability에 따른 degrees of consistency
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 53
Cluster Model (2)
n 2 types of copies : weak copy, strict copy
n 2 types of transactionsà weak transaction : local to a MH, update weak copiesà strict transaction : access strict copies
• weak transaction보다는 느리지만 update의 지속성이 보장되고 최신값을 read
n Weak copy와 strict copy의 integrationà connectivity가 나아지거나 copy들 사이의 deviation이
application에서 정한 limit를 벗어나게 되는 경우
n Pros:à Connectivity 상태에 따라서 strict transaction 수를 제한하거나
copy들 사이의 divergence 정도를 조절함으로써 adaptability 얻어짐
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 54
Semantic-based Fragmentation Model (1)
n Model for disconnection (Walborn) [20]
n Disconnection ⇒ Concurrency and cache coherency problem
n 2 new semantic concepts : fragmentability & reorderability
n Fragmentabilityà object의 일부분이 독립적으로 cache되어 연산 수행이 가능하게
함으로써 mobile과 disconnected operation에 적당한 새로운class의 object를 정의
à Fragmentable objects • split into disjoint fragments
• operate upon independently at each site• recombined in a semantically consistent fashion
• e.g., stacks, sets, queues
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 55
Semantic-based Fragmentation Model (2)
n Reorderabilityà allow the fragments of an objects to be rearranged à Reorderable objects
• fragmentable objects that exhibit more flexibility in merging their fragments
n Split & merge operationà Split operation
• a cache request from MH to the database server• 2 parameters : selection criteria, consistency conditions
à Object partition cached on MH• logically removed from the master copy of the object • only accessible by the transactions on MH• remaining part of the master copy is not affected
à Merge operation
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 56
2-Tier Replication Model
n Model for frequent disconnection (Gray) [7]n Database
à A collection of replicated objects (object master: primary copy 보유)
n 2-tier replication schemeà mobile nodes : 대부분 접속 단절 상태
• master copy, tentative copyà base nodes : 항상 connected 상태
n 2 types of transactionà tentative transaction
• mobile node에서 tentative copy를 이용하여 수행되는 read/write• server와 재 연결 시 base node로 전송되어 base node에서 재수행됨
à base transaction• tentative transaction을 base node의 master data에서 재수행했을 때
acceptance 기준을 만족한다면 master copy에 write되고 commit됨
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 57
Kangaroo Transaction (1)
n Mobile Host의 mobility를 반영하기 위한 모델 (Dunham) [6]
n Captures data and movement behavior
n DAA(Data Access Agent) as BSà Act as a Mobile Transaction Manager and Data Access
Coordinatorà Maintains logging and transaction status
n MT Management as MU moves?à Move : remove message overhead
n Basic Transaction structureà Local Transaction - Sequence of read and write operations ending
in commit or abortà Global Transaction - Sequence of global or local transactions
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 58
Kangaroo Transaction (2)
n Kangaroo transaction(KT)à Hopping property가 추가된 transaction modelà Joey Transaction - Sequence of global and local transactions
ending in commit, abort, or splità Kangaroo Transaction - Sequence of one or more Joeys with
last one ending in commit or abort
à Undo of Joey Transaction – by compensating
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 59
Prewrite Transaction Model
n Mobile computing 환경에서 data availability를 개선 [12]
n write operation after pre-write operation
n Pre-write operationà Data object의 상태를 변경시키지는 않지만 transaction이 최종
commit된 후 data object가 가지게 될 값을 타 transaction들에게미리 공개하는 operation
à data availability 증가
n Transaction commità Pre-commit : all pre-write 값을 공개한 후에 MH에서 pre-commit
à Final-commit : 변경된 값을 database에 기록하는 transaction 처리의 나머지 부분은 시간을 많이 요하므로 기지국에서 실행
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 60
Prewrite Transaction Model (cont.)
n Pre-commit à Pre-commit 순서에 의한 serializationà Pre-commit된 transaction은 final-commit이 보장됨
à Undo나 transaction compensation 불필요
n Pros :à bandwidth 사용을 줄여주고 MH의 computing cost를 감소시켜 줌
n Cons :à MH가 데이터베이스 서버 역할을 하는 경우 적용 불가
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 61
Comparison of Transaction Models
BS, MU 간에 transaction partial results 및 control 교환 가능
Reporting transactionCo-transaction
Interaction between MU and BS
Reporting & Co-Transactions
Data availability
Mobility of MH
Disconnection
Weak connectivity Disconnection
Weak connectivityDisconnection
Issue
Database write를 BS에전가하여 MU에서의 data availability 증대
Pre-writePre-commit
Prewrite Model
MU이 move할 때마다 KT가 각BS에서의 실행단위인 JT로 split
Kangaroo transaction,Joey transaction
Kangaroo Transaction
Master copy, tentative copy 각각에 대해 별도의 consistency
Base transactionTentative transaction
2-tier Replication
Fragment를 cache한 site 내에서만 consistency 유지
Split operationMerge operation
Semantic-based Fragmentation
2-level consistency(Inter, Intra-cluster consistency)
Weak transactionStrict transaction
Cluster Model
Consistency / 특징Added features
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 62
Query Processing
n Location Dependent Data
n Location Dependent Queries
n Query Optimization
n Issues & Approaches
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 63
Location Dependent Data
n Value of data depends on location
n Temporal Replication - One consistent value at one time
n Spatial Replication - Multiple different correct data values at one time
n Temporal Consistency - All data objects satisfy a given set of integrity constraints
n Spatial Consistency - Consistency constraints satisfied within Data Region
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 64
Location Dependent Queries
n Result depends on location
n Different from traditional distributed goal of location independence
n Ex: Yellow Pages, Directions, Map
n Predicates based on location: “Find the cheapest hotel in Dallas.”
n Location constraints: “Find the nearest hotel (to me).”
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 65
Query Optimization
n How best to satisfy the information request made by the client?
n Different Cost Factors: I/O, network
n Different Access Options: cache, FN, broadcast
n Dynamic and Adaptable - environment changes
n Alternative plans include deciding (based on state of MH and environment) whether to access in the cache at the MH, to request a mobile transaction, or to obtain from a broadcast disk.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 66
Issues & Approaches (1)
n Issue : Mobility of hostsà Store location as a dynamic attributeà Derive appropriate techniques for indexing dynamic attributesà Querying location data may give approximate answers
à Querying may involve data acquisition
n Issue : Disconnectionsà Derive query execution plans that sustain disconnections
n Issue : Weak Connectivityà Derive query execution plans that minimize the deployment of
the wireless link
n Issue : Limited client resourcesà Use semantics and icons to pose queries and represent results
on small screens
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 67
Issues & Approaches (2)
n Issue : Limited battery powerà Derive power-efficient query plans
n Issue : Broadcastà Use Broadcast for data deliveryà Issues include:
• Indexing the broadcast items• Determining the structure of the broadcast
(e.g., how frequently is an item broadcasted)• Handling updates
à Combine broadcast and on-demand deliveryà Issues include:
• Determining which data to broadcast• Sharing the channel• querying
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 68
Data Dissemination by Broadcast
n Data Broadcasting
n Organization of Broadcast Data
n Indexing
n Caching
n Cache Invalidation
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 69
Data Broadcasting
n Server continually broadcasts data to MUs.
n Scalability: Cost does not depend on number of users listening.
n Mobile Unit may/may not have cache.
n Facilitates data access during disconnected periods.
n Allows location dependent data access.
n No need to predict with 100% accuracy the future data needs.
n Broadcast based on probability of access.
n Periodic broadcasting of all data.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 70
Data Broadcasting (cont.)
n Pull-based data delivery(on demand)à A client explicitly requests data items from the server
n Push-based data deliveryà Server repetitively broadcasts data to a client population without
a specific request.à Clients monitor the broadcast and retrieve the data items they
need.
à Suitable when information is transmitted to a large number of clients with overlapping interests
à Scalable, sequential access only
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 71
Data Broadcasting (cont.)
n Hybrid Deliveryà Clients are provided with an uplink channel(backchannel) to
send messages to the serverà Use of the backchannel
• To provide feedback and profile information to the server• To directly request data
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 72
Organization of Broadcast Data
n Access time & Tuning timeà Access time
• Average time elapsed from the moment a client expresses its interest to an item to the receipt of the item on the broadcast channel
à Tuning Time• The amount of time spent listening to the broadcast channel
à Organize the broadcast to minimize access and tuning time
n Flat Organizationà The simplest way to organize the transmission of broadcast dataà Broadcast the union of the requested data cyclically
n More sophisticated organizationsà Broadcast Disk
à Indexing
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 73
Broadcast Disks
n Simulate multiple disks of varyingsizes and speeds.
Data of higher interest on smaller faster disks (broadcast more frequently).
n Each “disk” contains data with similar access behavior.
n Combination of caching and broadcast disks.
n Don’t want to store hottest pages. They may be broadcast frequently.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 74
Indexing
n Motivationà Fetch from the broadcast individual data items identified by
some keyà Provide directory indicating when a specific data item appears in
the broadcastà Broadcast the directory along with data to minimize access and
tuning time
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 75
Indexing (cont.)
n Approachesà (1,m) indexing
• Broadcast the whole index every a fraction(1/m) of the broadcast data items.
à Distributed indexing• Improves over the (1,m) method
• Each index segment describes only data items which immediately follow
à Flexible indexing• Broadcast is divided into p data segments• The items of the broadcast are assumed to be sorted
à Hash-based techniques• Broadcast along with each data item hashing parameters
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 76
Caching
n Clients cache data items toà Reduce the expected delayà Lessen their dependency on the server’s choice of broadcast
priority
n Replacement policiesà Cost-based page replacement
• Cost of obtaining a page on a cache miss is taken into account
à PIX method• Store in cache if probability of access (P) is greater than the
frequency of broadcast (X).
• Replace cache page with smallest P/X - PIX. Too expensive to implement.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 77
Caching (cont.)
n Prefetchingà Client prefetch pages in anticipation of future accessesà Prefetching instead of page replacement can reduce the cost of
a missà PT prefetching heuristic
• Probability of access for a page(P), Amount of time before that page appears again(T), pt value = P X T
• Find the page in cache that has the lowest pt value, and replaces it with the currently broadcast page of the latter has a higher pt value
à Teletext Approach• Control information along with each broadcast page : a linked list of
pages most likely to be requested next
• When a request for p is satisfied, the client prefetches the D most likely referenced pages associated with p(D : cache size)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 78
Cache Invalidation
n When?à Asynchronous
• Broadcast an invalidation report for a given item as soon as itsvalue changes
à Synchronous• Broadcast invalidation reports periodically
n To Whom?à Stateful server
• Maintain information about its clients
• E.g. contents of their cache, when it was last validated
à Stateless server• Timestamps strategy(TS)• Amnestic terminals strategy(AT)
• Signatures strategy
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 79
Cache Invalidation (cont.)
n What?à Invalidation
• Only which items were updated
à Propagation• The values of items that have been updated
à Information for individual items or aggregate information for sets of items
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 80
Other Topics
n View Maintenance à views may contain location and time dependent continuously changing
data à exploit transmission by broadcast, e.g., to update views à address predictable disconnections
n Power-Efficient Query Processing à Selecting energy-efficient query plans during query optimization
n Database Interfaces à Constraints such as limited screen size, a need for semantic simplicity,
slow and expensive wireless communications, and limited power. à A query processing facility, Query by Icons (QBI), that accommodates
these constraints. à Iconic visual language, use of a pointing device, like a light-pen,
semantic data model that encapsulates and hides details.à Metaquery tools during disconnections: a query is formulated in an
incremental manner; actual data to materialize intermediate steps are not accessed from remote sites.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 81
Case Studies
n Coda
n Bayou
n Rover
n WebExpress
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 82
CODA File System
n Disconnection 문제를 해결하기 위한 file system (CMU)n Clients가 server와 접속 단절 시에도 file에서의 작업을
수행할 수 있게 하기 위해 “hoarding”을 사용
n Local hoard à client가 server와 연결되었을 때 자신의 local disk에 caching한
fileà server와의 접속 단절 시 local hoard file 에 대한 작업 수행
n Consistency problem : use UNIX semanticà UNIX 환경에서 두 명의 사용자가 동시에 같은 file을 수정하는
일은 거의 없다는 semantic을 이용
à conflict가 거의 발생하지 않음
n ASR(Application Specific Resolver)à 응용 프로그래머들로 하여금 application basis에서
reintegration을 다루도록 함
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 83
Bayou
n Weak connectivity를 해결하기 위한 모델 (Terry) [5]n Hoard
à 각 server마다 전체 database의 local copy인 hoard를 유지
n 모든 server 들은 intermittently connectedn Update mechanism
à conflict detect mechanism + write call + conflict resolution handler
à clients는 연결 가능한 임의의 server에게 update를 제출하면server내의 local hoard에서 update가 수행되고 update log에기록됨
à conflict detect mechanism에 의해 conflict가 발견된 경우에는conflict resolution handler가 수행됨
n Anti-entropy sessionà 임의의 두 BAYOU server 가 연결되었을 때 두 서버의 update
log를 timestamp 순서대로 merge하여 update들을 재수행à 궁극적으로 database를 mutually consistent하게 만듦
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 84
Rover Toolkitn Application environment for the development of mobile
applications (MIT, 1997)n Target Applications
à Applications with shared state : E-mail and distributed calendar, …
n Techniquesà RDO(Relocatable Dynamic Objects)
• An object with a well-defined interface that can be dynamically loaded into a client computer from a server computer(or vice versa) to reduce client-server communication requirement
à QRPC(Queued Remote Procedure Calls)• Communication system that permits applications to continue to make
non-blocking remote procedure call requests even when a host is disconnected, with requests and responses being exchanged upon network reconnection
à App-specific, optimistic concurrency control• Primary copy replication with tentative updates
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 85
Rover Toolkit (cont.)
n Client-server object-based model (code/data shipping)
n Programming model: à Import RDOs, invoke local methods, export operations
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 86
Rover Toolkit (cont.)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 87
Rover Toolkit (cont.)
n Access managerà responsible for all interactions among server-side and client-side
applications. à services requests for RDOs, mediates network access, log
modifications to RDOs, and manages the client's object cache.
n Client-side applicationà communicate with the access manager through QRPCs to
import RDOs from severs and cached them locally in the object cache.
n Server-side applicationà Invoked by the access manager to handle requests from client-
side applications.
n Network scheduler à lazily transfers the log to the server-side and mediates between
the various communication protocols and network interfaces.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 88
WebExpress
n A system for optimizing web browsing in a wireless environment (IBM, 1996)
n Based especially on the predictability of running typical commercial transaction processing applications over wireless networks
n Mobile-transparent support to any web-applicationsn A pair-of-agent model called the client/intercept/server
model:à a client-side intercept agent (CSI)
• runs on the end-user client mobile device, à a server-side intercept agent (SSI)
• runs within the fixed network.à CSI and SSI communicate using a reduced version of HTTP
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 89
Web Express (cont.)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 90
Web Express (cont.)
n CachingàAt both the CSI and the SSI
• SSI cache에는 web server로부터 가져온 response들이 cache
• URL이 CSI cache에 있는 object를 specify하면 object가 return되고그렇지않으면 SSI가 check됨
• Cache replacement : LRU
àAn age-based cache coherence method• CI(Coherence Interval) : Specifies when the object should be
checked for changes
àDifferencing• A common base object is cached at both CSI and SSI.• When a response is received, SSI computes the difference between
the base object and the response
• Transmits the difference to CSI
Embedded Databases
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 92
Embedded System Characteristics
n 사용자와의 interaction을 위한 I/O system 필요
n Multiple task scheduling과 management를 위한 OS 필요
n Sophisticated database management service를 위한DBMS 필요
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 93
Motivation of Embedded Databases
n Embedded system에 내장되어 embedded application의data management를 위해 사용되는 database
n Database market의 important player가 됨à 통신 기능을 가지는 portable computing device의 대중화
n Portable computing device에서 embedded DB의 필요성à Portable computing device에서 사용되는 application 다양화 및
증가
à Portable computing device에서 많은 양의 data 저장 필요성
à Portable computing device와 Central enterprise database와의동기화 필요
n Mobile DBà Rising star of the embedded database market
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 94
Embedded DB Requirements
n Embedded system의 application requirement에 의해
결정됨à Desktop용 DB 수준의 high concurrency 및 scalable transaction-
processing service를 필요로 하는 경우
à Modest concurrency와 data volume을 요구하는 경우 : full-blown disaster recovery 불필요
à Concurrent user도 없고 transaction도 필요 없고 단지 high-performance data storage engine만을 필요로 하는 경우
n Many embedded database are configurable.à Developer들의 application 필요에 따라 service On/Off 할 수
있도록
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 95
Embedded DB Application Areas
n Car engine, point-of-sale device, smart card 등
n 초창기에는 주로 large data-intensive application에 사용
n 최근에는 device-embedded database 시장이 급성장하고있는 추세
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 96
Embedded DB in Handheld Device
n Embedded DB와 Mobile DB의 crosspoint
n Many of the basic storage, organization, query, response, and other data management functions
n Small footprint (generally 120 ~ 150Kbytes)
n Communicate and synchronize data with central database
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 97
Embedded DB(Mobile DB) Requirements in Handheld Devicen Small footprint
à 필수적인 기본기능만 포함
n Interoperabilityà Communicate and synchronize data with central database
n Administration-free
n Reliability
n Securityà Access right management, view mechanism
n Portabilityà Handheld device are highly vulnerable(lost, stolen, destroyed).à Durability cannot be enforced locallyà Recovery 관련 정보를 어디에 저장할 것인지가 문제
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 98
n Limited storage/battery resourcesà Minimize the volume of persistent data
à functionalities must be carefully selected and their implementation must be as light as possible
n 이동 환경을 위한 Disconnected operation 지원
à Disconnection 동안 autonomous operation에 의해 발생할 수
있는 inconsistency 문제
à replication control mechanism을 포함해야 함
Embedded DB(Mobile DB) Requirements in Handheld Device (cont.)
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 99
Embedded DB in Smart Cards
n Smart card market is growing fast.
n A single issuer-dependent application → multiple application smart card
n Smart cards become more and more versatile, multi-application and powerful → need of database
n Smart card limitation(tiny RAM, little stable storage, very costly write, lack of autonomy)으로 인해 traditional database는 부적당
n DBMS scaling down 기법 필요
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 100
Technological Issues
n Small footprint
n Reliability
n Administration
n Security
n Performance
n Predictability
n Low-level control
n Interoperability
n Portability
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 101
Technological Issues (cont.)
n Small footprintà Minimal RAM and disk usageà Desktop용 DB가 가지는 full functionality를 포함시키지 않음
à Overhead를 최소화 하기 위해 record, table, column 등과 같은common data structure의 수와 크기 제한
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 102
Technological Issues (cont.)
n Reliabilityà Human monitoring 없이 system이 수행될 수 있어야 함
n Administrationà Embedded DB 중 일부는 ROM-based 일 수도 있고 handheld
device 등과 같이 분산된 환경에서 사용되므로 administration-free이어야만 함
n Securityà Embedded DB가 ROM에 내장되는 것과 같이 외부와 단절된
경우는 불필요
à Multiple user access 환경이나 smart phone과 같은 장비에서사용될 경우에는 encryption, password, user-access right 등과같은 security feature 필요
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 103
Technological Issues (cont.)
n Performanceà Especially important on an RTOS
n Predictabilityà Both size and performance must be predictable
n Low-level control à Ability to control when and how much I/O occurs
n Interoperabilityà Different device 간, embedded DB와 large enterprise database
간 communication 필요
à 모든 embedded DB가 interoperable하지 않으며, embedded DB가 탑재된 hardware platform 및 OS(Epoc, PalmOS, VxWorks, Windows CE, 이외 다수)도 상이하므로 상호연동이 어려움
à Little efforts on interface standardization
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 104
Technological Issues (cont.)
n Portability
à Embedded system의 다양한 platform에 embedded DB porting이
요구됨
à Java-based embedded database
• JVM을 갖춘 대부분의 host 상에서 동작하므로 대부분의
application과 interoperate 가능하고 heterogeneous network과
internet을 통한 access도 가능
• JVM 수행에 따른 processing 및 memory overhead
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 105
Embedded DB Classifications [14]
n Client/Server relational/object-oriented database systemà Pros: popularà Cons: client-server
communication overhead
à products
TimesTenTimesTen
Objectivity/DBObjectivityOODB
PowerTierPersistence
POET ObjectPOET Software
SQL AnywhereSybase
Solid EmbeddedSolid
PolyhedraPolyhedra
Pervasive.SQL 2000Pervasive
Oracle 8i / 9iOracle
MSDEMicrosoft
Empress RDBMSEmpress
VelocisCentra Software
RDB
ProductVendor
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 106
Embedded DB Classifications (cont.)
n Embedded Libraryà Application의 address space로 직접 link됨à SQL이 필요 없는 simple language-level APIà Pros:
• Faster execution : separate server 통신 불필요
• fewer component들이 embedded system에서 수행되므로 reliability 증가
à Cons: non-standard programming interfaceà Products
• Centra Software’s RDM, db.linux, • FairCom’s c-tree Plus
• Free Software Foundation’s gdbm
• Informix’s C-ISAM• Sleepycat Software’s Berkeley DB
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 107
Case Studies
n RDM (Centra Software)à Low-level database engine or embedded databaseà Built into an application at the lowest levelà Support both the network and relational model
à dramatically faster and more efficient pointer-based network database model
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 108
Case Studies (cont.)
n PicoDBMSà typical healthcare application에 기반을 둔 smart card를 위한
databaseà New highly compact storage model that combines Flat
Storage(FS), Domain Storage(DS), Ring Storage(RS).• RS : reduce the indexing cost to its lowest bound• A new pointer-based storage model that integrates data and indices
in a unique compact data structure
à Query execution technique with no RAM consumption• Achieved by considering extreme right-deep trees which can
pipeline all operators of the plan including aggregates
Commercial Solutions
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 110
IBM DB2 Everyplace 7.1
n 내장형, 이동 데이터베이스를 위한 관계형 데이터베이스 엔진
n 추가 구성요소à DB2 Everyplace Sync Server
n 운영환경à Windows CE/Pocket PC, Win32 based systemà Palm platform, Symbian EPOC, QNX Neutrino for x86, Embedded Linux
n 기능적 요소à 150kb 미만 small footprintà SQL 99 , JDBC, DB2 CLI/ODBC C/C++ APIà DML,DDL,DQLà Stored Procedure
n 특징à Secondary storage 및 Read-only media 지원
à 보안 : 데이터 전송시 암호화
à 제로 관리
à 성능향상 : Remote Query
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 111
DB2 Everyplace Sync Server
n 모바일 디바이스의 데이터베이스를 엔터프라이즈데이터베이스와 동기화하는 mid-tier 컴포넌트
n 동기화à 동기화 과정 : synchronize/refresh modeà 충돌 탐지 및 해결 : timestamp에 기반한 버전 이용
n 특징à SyncML 기반의 동기화 엔진
à Sync 엔진 API, Adapter API를 통해 각종 데이터베이스 및 무선관련 기술과 인터페이스 가능
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 112
IBM Informix Cloudscape 3.0n 자바용 내장형 SQL 데이터베이스 엔진n 추가 구성요소
à Cloudsyncà Cloudconnector : 응용 프로그램에서의 접근 풀링 등을 관리하는
어플리케이션 서버 모듈
n 운영환경à J2EE를 포함한 모든 표준 JVM 환경à Windows 95/98/NT/2000, Novell, LINUX, Solaris, HP/UX, AIX, OS/400,
OS/390, MacOS 인증
n 기능적 요소à 2MB jar 파일à SQL92 표준, JDBC 지원à 표준 DDL, DML 지원à Trigger, Stored procedure 제공
n 특징à 성능향상 : 데이터 분포 분석 및 질의경로 최적화à 보안 : LDAP 인증기능 제공à 제로 관리 : 설치, 접속 소프트웨어 구성, 튜닝 자동화
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 113
Cloudsync
n 이동 단말기 사용자에게 데이터 및 응용 로직에 대한동기화를 제공하는 자료 동기화 엔진
n 동기화à LUCID synchronizationà Logic Up(로직 업)
• 이동 단말기가 마지막으로 연결된 이후에 이동 단말기에서 요구된모든 작업을 소스로 upload 하는 과정
• 충돌 확인, 조건부 트랜잭션에 기반한 충돌 해결
à Consistent Information Down• 소스로부터 변화된 데이터를 이동 단말기로 download하는 과정
• Delta optimization 이용
n 특징à hub-and-spoke 구조 : 타 DBMS와의 연동 지원
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 114
Oracle 8i Lite
n 휴대형 컴퓨팅 기기를 위해 개발된 경량형 데이터베이스
n 추가 구성요소à iConnectà Web-to-go : “모바일 지원” 웹 애플리케이션을 구축할 수 있도록
지원하는 플랫폼
n 운영환경à Windows 95/98/NT, Windows CEà Palm platform, EPOC32
n 기능적 요소à 50KB ~ 750 KB small footprintà ODBC, JDBC, SQLJ 제공
à SLQ92à Java Stored Procedure, Trigger 제공
n 특징à 성능향상 : 질의 실행을 위한 자동 전략 수립 및 자가 시스템 조정
à 확장성 : web-to-go를 통한 다수의 컨텐츠 제공 가능성
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 115
iConnect
n Oracle8i Lite와 중앙 오라클 데이터베이스 서버간의동기화를 지원하는 아키텍쳐
n 동기화à 복제된 로컬 데이터 복사본인 snapshot 사용
• Read-only snapshot : Query를 위해서만 사용되어 짐(단방향 동기화)• Updatable snapshot : 마스터 테이블의 갱신이 가능한 복사본을
제공(양방향 동기화)à 충돌 탐지 및 해결
• 동기화 동안 갱신, 유일성, 삭제 충돌 감지
• 우선 규칙 정의에 의해 충돌 해결
n 특징à 다중 전송 프로토콜 지원 : Net8, HTTP, 무선 네트워크, FTPà OMA 지원 : 낮은 대역폭 극복을 위해 동기화/데이터 암호화와
압축
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 116
Sybase SQL Anywhere - UltraLite
n 트랜잭션 기반의 SQL 데이터베이스로 개인용 관계형 데이터베이스
n 추가 구성요소à SQL Remote, MobiLinkà Sybase Central 등
n 운영환경à Windows 95/98/NT/2000, Windows CEà Palm platform, WindRiver VxWorks, DOS, Symbian EPOC
n 기능적 요소à 50kb 미만 small footprintà JDBC, ESQL 제공
à SQL 지원
n 특징à 제로 관리
• 셀프 튜닝 옵티마이저(self-tuning query optimizer)• 자동실행(autostart) 및 자동정지(autostop)• Flexible deployment : retarget other OS
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 117
SQL Anywhere 동기화 요소
n SQL Remoteà 통합된 데이터 서버, 즉 많은 수의 원격 데이터베이스, 이동 데이터
베이스와 양방향 복제를 하는 기술
à 동기화 매커니즘
• 중앙 사이트 : Adaptive Server Anywhere 혹은 Adaptive Server Enterprise
• 원격 사이트 : Adaptive Server Anywhere
• 데이터의 입력은 양쪽 모두에서 이루어짐
• 이메일이나 파일전송 등의 메시지 기반 시스템 혹은 dial-up 접속 같은상황에서 동기화가 일어남
n MobiLinkà ODBC 기반의 통합 데이터베이스와 Adaptive Server Anywhere 혹은
UltraLite 원격 데이터베이스 간의 복제를 하는 기능
à 동기화 매커니즘
• 서버측 : Adaptive Server Anywhere
• 소형기기측 : UltraLite database
• 다양한 프로토콜을 지원하는 세션 기반에서 동기화가 일어남
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 118
PointBase Mobile Edition
n 이동 클라이언트 애플리케이션, 인터넷 정보가전, 무선 기기를 위한순수 자바기반의 객체-관계형 데이터베이스
n 추가 기능요소à UniSync
n 운영환경à Win32 ,Windows CEà Solaris, Linux, HP-UX, IBM AIX, OS/400, OS/390, EPOC, VxWorks,
Palm OS
n 기능적 요소à 45kb 미만의 small footprintà SQL92 Entry and transaction level, SQL99, DDL, DMLà JDBC, Java stored procedure 지원
n 특징à 성능향상 : cost-based query optimization, run-time database statisticsà 보안 : SQL security for assigning privileges, 표준 암호화 알고리즘 제공
à 제로관리 : 자동 복구 및 설치
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 119
UniSync
n PointBase 데이터베이스 및 인터넷 상의 엔터프라이즈 데이터소스와의 양방향 동기화를 지원하는 엔진
n 동기화à Publish/Subscribe model
• Publish(er) : 자료의 주사본(primary copy) 소유
• Subscribe(r) : Publish(er)의 데이터를 임시 소유
à Synchronization modes• 특정한 응용 요구에 맞게 동기화 모드를 제공
• 동기화 세션동안의 변화, 동기화 세션의 주기성에 기반하여 동기화 실행– snapshot : 테이블의 모든 데이터가 원격지 데이터베이스의 복제본으로 삭제, 대치
– Point-update : 동기화 세션이후의 변화에만 사용
à 충돌 탐지 및 해결• 동기화 서버에 의해 충돌 탐지
• 우선 규칙 및 개발자 구현에 의해 충돌해결
n 특징à 융통성 있는 구조 : Peer-to-Peer, Hub & spokeà 이기종 시스템 지원 : PointBase와 다른 범용 시스템과의 동기화 지원
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 120
Comparison
분류 DB2 Everyplace
7.1
IBM Informix
cloudscape 3.0
Oracle 8iLite
SybaseUltraLite
PointBase
Java 지원 X 자바기반 X X 자바기반
Small footprint
O X O O O
보안 데이터 전송 사용자 인증, 데이터 전송
X X 표준 암호화,데이터
엑세스 보안
성능향상 Remote Query
질의경로최적화
자동 전략수립
X 비용기반질의 최적화,
실시간데이터 통계
제로관리 O O X O O
타 DBMS와의 연동
X O X O O
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 121
Future Directions
n Combine different approaches
n Semantic caching
n Query Optimization
n Adaptive Data Broadcasting
n Performance Benchmarks
n Security
n Location Dependent Queries
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 122
References[1] S. Acharya, R. Alonso, F. Franklin and S. Zdonik. "Broadcast Disks: Data
Management for Asymmetric Communication Environments." In proceedings of ACM SIGMOD conference, pages 199-201, 1995.
[2] D. Barbara. "Mobile Computing and Databases - A Survey". IEEE Transactions on Knowledge and Data Engineering, 11(1):108-117, 1999.
[3] Christophe Bobineau, Luc Bouganim, Philippe Pucheral, PatrickValduriez, "PicoDBMS: Scaling down Database Techniques for the Smartcard," Proceedings of the 26th International Conference on Very Large Databases, Cairo, Egypt, 2000.
[4] P. K. Chrysanthis. “Transaction Processing in Mobile Computing Environment.”In Proceedings of the IEEE Workshop on Advances in Parallel and Distributed Systems, pages 77-83, Princeton, New Jersey, October 1993.
[5] A. Demers, K. Petersen, M. Spreitzer, D. Terry, M. Theimer, and B. Welch. “The Bayou Architecture: Support for Data Sharing Among Mobile Users,” In Proceedings of the IEEE Workshop on Mobile Computing Systems andApplications, pp.2-7, Santa Cruz, CA, December 1994.
[6] Margaret H. Dunham and Vijay Kumar, “Impact of Mobility on Transaction Management,” Proceedings of the International Workshop on Data Engineering for Wireless and Mobile Access, pp 14-21, August 1999.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 123
References
[7] J.Gray, P. Helland, P.O’Neil and D. Shasha. “The Danger of Replication and a Solution,” In Proceedings of the ACM SIGMOD Conference, pp. 173-182, Montreal, Canada, 1996.
[8] T. Imielinski and B. R. Badrinath. "Querying in Highly Mobile Distributed Environments." In proceedings of VLDB, pages 41-52, 1992.
[9] T. Imielinski and B. R. Badrinath. "Data Management for Mobile Computing." SIGMOD RECORD, 22(1), 1993.
[10] T. Imielinski, S. Viswanathan and B. R. Badrinath. "Data on Air: Organization and Access." IEEE Transactions on Knowledge and Data Engineering, 9(3):353-372, 1997.
[11] Q. Lu, M. Satayanarayanan, “Improving Data Consistency in Mobile Computing Using Isolation-Only Transactions,” In Proceedings of the Fifth Workshop on Hot Topics in Operating Systems, Orcas Island, Washington, May 1995.
[12] Sanjay Kumar Madria, Bharat K. Bhargava, “A Transaction Model to Improve Data Availability in Mobile Computing.” Distributed and Parallel Databases 10(2): 127-160, 2001.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 124
References (cont.)
[13] J. Jing, A. Helal and A. Elmagarmid. "Client-Server Computing in Mobile Environments." ACM Computing Surveys, 31(2):117-157, 1999.
[14] Michael A. Olson, "Selecting and Implementing an Embedded Database System," IEEE Computer Magazine, Sep. 2000, pp.27-34.
[15] Sixto Ortiz, Jr., "Embedded Databases Come out of Hiding," IEEE Computer Magazine, Mar. 2000, pp.16-19.
[16] E. Pitoura, B. Bhargava, “Building Information Systems for Mobile Environments,” In Proceedings of the 3rd International Conference on Information and Knowledge Management, Gaithersburg, MD, pp 371-378, Nov 1994.
[17] E. Pitoura and B. Bhargava, "Revising Transaction Concepts for Mobile Computing," Proceedings of the First IEEE Workshop on Mobile Computing Systems and Applications(MCSA94), 1994.
[18] E. Pitoura and B. Bhargava, "Maintaining consistency of data in mobile distributed environments," Proceedings of 15th International Conference on Distributed Computing Systems, 1995.
[19] E. Pitoura, G. Samaras. “Data Management For Mobile Computing.” KluwerAcademic Publishers, 1998.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 125
References (cont.)
[20] G. Walborn and P. K. Chrysanthis. “Supporting Semantics-Based Transaction Processing in Mobile Database Applications,” In Proceedings of the 14th Symposium on Reliable Distributed Systems, September 1995.
[21] G. Walborn and P. K. Chrysanthis. “PRO-MOTION: Support for Mobile Database Access,” Personal Technologies Journal, 1(2), September 1997.
[22] 남근우, "파고드는 컴퓨팅 세상의 중심 모바일 데이터베이스," 마이크로소프트웨어 2001.5.
[23] 최윤석, "인터넷 환경을 위한 Oracle 8i Lite," www.oracle.com/kr[24] DB2 solutions for mobile computing, IBM's White Paper[25] Informix CloudSync, Informix's White Paper[26] Informix Cloudscape, Informix's White Paper[27] PointBase Mobile Edition, PointBase[28] Extending the Reach of Enterprise Data Through Synchronization, PointBase
UniSync.[29] Synchronization Technologies for Mobile and Embedded Computing, A
Whitepaper from Sybase, Inc.
KISS 2001 추계학술대회 Mobile and Embedded Databases 튜토리얼 Page 126
References (cont.)
n “Mobile and Embedded DB” 특집, 정보과학회 데이타베이스 연구,
2001년 9월, 17권 3호
à 이동(Mobile) 데이터베이스 개요 및 연구 현황 (최미선, 김영국)
à 이동 컴퓨팅 환경에서 위치기반 질의를 지원하는 이동 트랜잭션 모델
(백형종, 구경이, 김유성)
à 이동 DBMS의 데이터 동기화 기술 분석 (이상윤, 박순영, 이미영, 김명준)
à 무선 방송을 위한 데이터 관리 (정연돈, 김명호)
à 홈 네트워크 환경에서의 정보가전용 내장형 DBMS (포디홈넷)
à 모바일 환경을 위한 초경량 데이터베이스 Oracle9i Lite (최윤석)
à 포스트 PC 시대의 데이터 관리 - IBM INFORMIX CLOUDSCAPE (김도연)
à 모바일 데이터베이스 응용사례 mPowerAgent (이재우)