Date post: | 17-Jan-2016 |
Category: |
Documents |
Upload: | jesse-rice |
View: | 215 times |
Download: | 0 times |
04/21/23 11:45 1
Broadcast data dissemination&IR-Approach
04/21/23 11:45 2
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.
04/21/23 11:45 3
Mobile Computing Environments
Wired network
Fixed Host Fixed HostFixed Host
Fixed Host
MSS
Mobile Client
Mobile Client MSS
Mobile Client
Mobile Client
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.
04/21/23 11:45 4
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
04/21/23 11:45 5
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.
ServerClients
A B CD
G F E
. .
04/21/23 11:45 6
Information Dissemination…
ServerClients
A B CD
G F E
. . 14.4 Kbps
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)
04/21/23 11:45 7
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.
04/21/23 11:45 8
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 B C
A A B C
04/21/23 11:45 9
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.
B C
ADisk1
Disk2A B A C
04/21/23 11:45 10
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
04/21/23 11:45 11
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.
A B C FED indexindex A B C
04/21/23 11:45 13
廣播環境下的資料擷取方式 ― 使用索引擷取資料 (Tuning_opt)
index d1 d2 d3 d4 d5 d6 d7
使用索引 (Tuning_opt) 可以減少客戶端待在活動模式的時間,但會增加獲取資料的平均等待時間
index d1 …….
休眠
客戶端切入時間點
04/21/23 11:45 14
b1 b2b3 b4
b5b6 b7 b8
b9
a1 a2 a3
R
1 4 7 10 13 16 19 22 25 28 31 34
c1 c2 c6c5c4c3 c7 c8 c9 c10 c11 c12 c13 c27c26c25c24c23c22c21c20c19c18c17c16
c15c14
37 40 43 46 49 52 55 58 61 64 67 70 73 76 79~81
Traverse the index tree from Root to a data item(d10).
R a1 b2 c4 item 10
●降低取得索引的成本、 c層的一半 (14 個 bucket) vs. 索引路徑 (4 個bucket)
廣播環境下的資料擷取方式 ―多階層索引
index
data
(1,28,54)
(28,37,46) (55,64,73)(1,10,19)
04/21/23 11:45 15
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 next index segment.
Distributed Indexing Cuts down on the replication of index material Divides the index into:
– replicated top L levels, non-replicated bottom 4-L levels
Flexible Indexing Broadcast divided into p data segments with sorted data. A binary control index is used to determine the data segment A local index to locate the specific item within the segment
04/21/23 11:45 16
(1,m) Indexing
There are m index segments in a broadcast cycle. Each index segment consists all 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
R a1 …. c26 c27 1 2 3 4 5 6 7 8R a1 …. c26 c27
…. Partial Data
…. 81
A broadcast cycle
04/21/23 11:45 17
EPR 廣播排程( distributed indexing )
R
A1 A2
B1 B2 B3 B4
1 2 3 4 5 7 86
Replicated Part
Non-Replicated PartNon-replicated Root
1 2R A1 B1 3 4B2R A1 5 6A2 B3R 8B4R A2 7
Broadcast R to B1, and all children of B1
●重複播放索引、減少錯過索引的機率
04/21/23 11:45 18
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
04/21/23 11:45 19
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
04/21/23 11:45 20
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
04/21/23 11:45 21
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.
04/21/23 11:45 23112/04/21 NCS-07 23
IR架構
客戶端用專屬頻道下載資料 為了效率,客戶端會快取 (Cache)使用過的資料 伺服器端會異動資料 伺服器端廣播驗證 ( 異動 ) 報告 (Invalidation Report)
04/21/23 11:45 24112/04/21 NCS-07 24
IR的操作方法
客戶端欲使用快取中的資料項A ,但 A 的內容是否與伺服器
端的一致 ?
1. 取得 IR
2. 以 IR驗證快取中的資料,刪除過時的資料
3. 若 A 不存在快取中,透過專屬頻道向伺服器端取得 A
server
04/21/23 11:45 25112/04/21 NCS-07 25
IR包含的資訊
伺服器端每隔 L 時間廣播一個 IR,毎個 IR會含有過去 W*L這段時間異動的的資訊。
在 IR中,每筆異動訊息包含兩個欄位資料項的 ID和該資料項被異動的時間(timestamp) 。
IR包含過去 W*L時段的異動資訊: client端可錯失 IR,而本方法仍然有效。
IR IRIRL L
W * L
Ti
IR IRL L
04/21/23 11:45 26112/04/21 NCS-07 26
Example - 製作 IR
Example : W = 3 L =10
IR IRIR
a b ac b a
1
6
a
b
ID Ts 17
6
a
b
ID Ts
13c
27
25
a
b
ID Ts
13c
IR的內容
10 20 301 6 13 17 2527
Sever端
04/21/23 11:45 27112/04/21 NCS-07 27
Example – client如何使用 IR驗證
2.client在 15上線 query資料項 b , client cache中有存資料項b
,資料項 b 的 timestamp=10,上次收到 IR的時間 10。
IR
10 20
c a
Client query資料項 b
Example 1 (快取有效) :
(10>20-3*10) ,未離線過久;以 IR刪除過時資料
17
10
a
b
ID Ts
13c
10b
ID Tsclient的cache上次收到 IR的時間10
cache中有資料項b ,以 cache資料項 b 回答 query b
20b
ID Ts
client的cache
04/21/23 11:45 28112/04/21 NCS-07 28
Example – client如何使用 IR驗證
3. client在 24上線 query資料 b , client cache中有存 資料項 b , timestamp=20,上次收到 IR的時間 20。
IR
20 30
b a
Client上線query資料項 b
Example 2(快取無效) :
20b
ID Tsclient的cache上次收到 IR的時間20
27
25
a
b
ID Ts
13c
cache中沒有資料項 b ,向 Server發 request取得資料項 b 並儲存於cache之中,回答 query
30b
ID Ts
client的cache
(10>20-3*10) ,未離線過久;以 IR刪除過時資料
04/21/23 11:45 29112/04/21 NCS-07 29
存取 IR的流程
Ti: 最新收到 IR的時間。 Td: 離線前最後一次收到 IR的時間。 (dc,tc) : dc client cache裡的資料 id, tc 資料的異動時間 。 (dx,tx) : dx出現在 IR的資料 id, tx 出現在 IR的資料的異動時間 。
Td > Ti - WLclient收到 IR
No
刪除快取中所有的資料項
Yestc < tx
Yes將 dc 從 cache中刪除
留下資料 dc , tc=Ti
No
快取中的資料 ID和 IR中的資料 ID相同(dc=dx)