270 likes | 368 Views
Broadcast data dissemination& IR-Approach. Information Dissemination. Goal : Maximize query capacity of servers, minimize energy per query at the client. Focus: Read-only transactions (queries).
E N D
Information Dissemination Goal : Maximize query capacity of servers, minimize energy per query at the client. Focus: Read-only transactions (queries). • Clients send update data to server • Server resolves update conflicts, commits updates 1. Pull: PDAs demand, servers respond. • backchannel (uplink) is used to request data and provide feedback. • poor match for asymmetric communication.
Mobile Computing Environments One mobile server provides service for many mobile clients. “Data broadcasting approach” is proposed to efficiently disseminate data to a large number of mobile clients at the same time.
Model of data broadcasting • A broadcast server broadcasts a file consisting of a number of records periodically on a broadcast channel. • A mobile client tunes in to the channel and waits for a required data to arrive. A B C D E F G H Broadcast Server Mobile Client
F E G D A C B . . Clients BC EG AB Server Information Dissemination… 2. Push: Network servers broadcast data, PDA's listen. • PDA energy saved by needing receive mode only. • scales to any number of clients. • data are selected based on profiles and registration in each cell.
F E G D A C B . . Clients BC EG AB Server 14.4 Kbps Information Dissemination… 3. Combinations Push and Pull (Sharing the channel). • Selective Broadcast: Servers broadcast "hot" information only. • "publication group" and "on-demand" group. (Push) • On-demand request: • Non-hot data are requested by mobile client on other channel. (Pull)
Broadcast Data Dissemination • Miami island sight-seeing data broadcasting • stock related data • traffic information • Microsoft SPOT • Stands for smart personal objects technology • proposed to use FM radio subcarrier frequencies for disseminating public and private information.
A B C A A B C Organization of Broadcast data • Flat: broadcast the union of the requested data cyclic. • Skewed (Random): • broadcast different items with different frequencies. • goal is that the inter-arrival time between two instances of the same item matches the clients' needs.
A Disk1 B C Disk2 Broadcast Disks • Multi-Disks Organization[Acharya et. al, SIGMOD95] • The frequency of broadcasting each item depends on its access probability. • Data broadcast with the same frequency are viewed as belonging to the same disk. • Multiple disks of different sizes and speeds are superimposed on the broadcast medium. • No variant in the inter-arrival time of each item. A B A C
Selective Tuning • Basic broadcast access is sequential • Want to minimize client's access time and tuning time. • active mode power is 250mW, in doze mode 50μW • What about using database access methods? • Hashing: broadcast hashing parameters h(K) • Indexing: index needs to be broadcast too • "self-addressable cache on the air" (+) "listening/tuning time" decreases (-) "access time" increases
index A B C D E F index A B C Structure of a broadcast program • There are two type of buckets in a broadcast program • Index nodes , Data item • Index nodes are interleaved between data items in the broadcast schedule.
廣播環境下的資料擷取方式 ― 使用索引擷取資料(Tuning_opt) 休眠 客戶端切入時間點 使用索引(Tuning_opt)可以減少客戶端待在活動 模式的時間,但會增加獲取資料的平均等待時間
廣播環境下的資料擷取方式―多階層索引 (1,28,54) (28,37,46) (55,64,73) (1,10,19) index data Traverse the index tree from Root to a data item(d10). R a1 b2 c4 item 10 ●降低取得索引的成本、c層的一半(14個bucket) vs. 索引路徑(4個bucket)
Indexing • (1,M) Indexing: • We broadcast the index M times during one version of the data. • All buckets have the offset to the beginning of the nextindex segment. • Distributed Indexing • Cuts down on the replication of index material • Divides the index into: • replicated topL levels, non-replicated bottom 4-L levels • Flexible Indexing • Broadcast divided into p data segments with sorted data. • Abinary control index is used to determine the data segment • A local index to locate the specific item within the segment
(1,m) Indexing A broadcast cycle • There are m index segments in a broadcast cycle. • Each index segment consistsall the indices in the index tree. • (1,m) indexing scheme reduces the probability that a mobile client misses the indices when probes in. • The main weakness is that the replicated index buckets increases the size of a broadcast cycle, which increases the access time. Full Index Partial Data Full Index Partial Data …. Partial Data R a1 …. c26 c27 1 2 3 4 R a1 …. c26 c27 5 6 7 8 …. 81
EPR廣播排程(distributed indexing) Replicated Part Non-replicated Root Non-Replicated Part Broadcast R to B1, and all children of B1 ●重複播放索引、減少錯過索引的機率
Caching in Broadcasting • Data are cache to improve access time • Lessen the dependency on the server's choice of broadcast priority • Traditionally, clients cache their "hottest" data to improve hit ratio • Cache data based on PIX: Probability of access (P)/Broadcast frequency (X). • Cost-based data replacement is not practical: • requires perfect knowledge of access probabilities • comparison of PIX values with all resident pages • Alternative: LIX, LRU with broadcast frequency • pages are placed on lists based on their frequency (X) • lists are ordered based on L, the running avg. of interaccess times • page with lowest LIX = L/X is replaced
Prefetching in Broadcasting • Client prefetch page in anticipation of future accesses • No additional load to the server and network • Prefetching instead of waiting for page miss can reduce the cost of a miss • PT prefetching heuristic [Archarya et al. 96] - pt: Access Probability (P) * period (T) before page appears next - A broadcast page b replaces the cached page c with lowest pt value • Team tag - Teletext approach [Ammar 87] • Each page is associated with a set of pages most likely to be requested next • When p is requested, D (D:cache size) associated pages are prefetched • Prefetching stops when client submit a new request
Cache Invalidation Techniques • When? • Synchronous: send invalidation reports periodically • Asynchronous: send invalidation information for an item as soon as its value changes; E.g., Bit Sequences [Jing 95] • To whom? • Stateful server: to affected clients • Stateless server: broadcast to everyone • What? • invalidation: only which items were updated • propagation: the values of updated items are sent • aggregated information/ materialized views
Synchronous Invalidation • Stateless servers are assumed. • Types of client: Workalcholic and sleepers [Barbara Sigmod 94] • Strategies: • Amnestic Terminals: broadcast only the identifiers of the items that changed since the last invalidation report abort T, if x є RS(T) appears in the invalidation report • Timestamp Strategy: broadcast the timestamps of the latest updates for items that have occurred in the last w seconds. abort T, if ts(x) > tso(T) • Signature Strategy: broadcast signatures. A signature is a compressed checksum similar to the one used for file comparison.
IR架構 客戶端用專屬頻道下載資料 為了效率,客戶端會快取(Cache)使用過的資料 伺服器端會異動資料 伺服器端廣播驗證(異動)報告(Invalidation Report) 2014/11/8 NCS-07 23
IR的操作方法 1. 取得IR 3. 若A不存在快取中,透過專屬頻道向伺服器端取得A 客戶端欲使用快取中的資料項A,但A的內容是否與伺服器端的一致? 2. 以IR驗證快取中的資料,刪除過時的資料 server 2014/11/8 NCS-07 24
IR包含的資訊 伺服器端每隔 L時間廣播一個IR,毎個IR會含有過去W*L這段時間異動的的資訊。 在IR中,每筆異動訊息包含兩個欄位資料項的ID和該資料項被異動的時間(timestamp)。 IR包含過去W*L時段的異動資訊:client端可錯失IR,而本方法仍然有效。 Ti W * L L L L L IR IR IR IR IR 2014/11/8 NCS-07 25
Example - 製作IR Example : W = 3 L =10 ID Ts ID Ts a 17 a 27 ID Ts IR的內容 a 1 b 6 b 25 b 6 c 13 c 13 a c a a b b Sever端 IR IR IR 27 25 20 30 10 17 13 6 1 2014/11/8 NCS-07 26
Example – client如何使用IR驗證 2.client在 15上線query資料項b ,client cache中有存資料項b ,資料項b 的timestamp=10,上次收到IR的時間10。 Example 1 (快取有效): ID Ts a 17 b 10 cache中有資料項b,以cache資料項b回答query b c 13 c a IR 20 10 client的cache (10>20-3*10) ,未離線過久;以IR刪除過時資料 Client query資料項b ID Ts ID Ts client的cache b 20 b 10 10 上次收到IR的時間 2014/11/8 NCS-07 27
Example – client如何使用IR驗證 3. client在 24上線query資料b ,client cache中有存 資料項b, timestamp=20,上次收到IR的時間20。 Example 2(快取無效): ID Ts a 27 cache中沒有資料項b,向Server發request取得資料項b並儲存於cache之中,回答query b 25 c 13 b a IR client的cache 30 20 ID Ts (10>20-3*10) ,未離線過久;以IR刪除過時資料 Client上線query資料項b ID Ts b 30 client的cache b 20 20 上次收到IR的時間 2014/11/8 NCS-07 28
存取IR的流程 Ti: 最新收到IR的時間。 Td: 離線前最後一次收到IR的時間。 (dc,tc) : dc client cache裡的資料id,tc 資料的異動時間。 (dx,tx) : dx出現在IR的資料id,tx出現在IR的資料的異動時間。 快取中的資料ID和IR中的資料ID相同(dc=dx) Td > Ti - WL tc < tx client收到 IR Yes Yes 將 dc從cache中刪除 No No 刪除快取中 所有的資料項 留下資料 dc,tc=Ti 2014/11/8 NCS-07 29