• 沒有找到結果。

A QoS-aware tRanscoding proxy using on-demand data broadcasting

N/A
N/A
Protected

Academic year: 2021

Share "A QoS-aware tRanscoding proxy using on-demand data broadcasting"

Copied!
10
0
0

加載中.... (立即查看全文)

全文

(1)

A QoS-Aware Transcoding Proxy Using

On-demand Data Broadcasting

Jiun-Long

Huangt , Ming-Syan

Chent and Hao-Ping

Hung* tDepartment

of Electrical Engineering

*Graduate Institute

of

Communication

Engineering

National

Taiwan University

Taipei,

Taiwan,

ROC

E-mail:

[email protected],

[email protected],

[email protected]

Absrract-The high diversity in the capabilities of vurious mobile de-vices such as display capabilities and computation power makes the design of niobile information systems more

challenging. A transcoding proxy is placed between a client and an information server to coordinate the mismatch be-tween what the server provides and what the client prefers. However, most research works in transcoding proxies in niobile conipating environments are under the traditional client-server architecture and do not employ the data broadcast technique which is has been deemed a promising technique to design a power conservation, high scalable and high hand-width utilization. In addition, the issue of QoS provision is also not addressed. In view of this, we design i n this paper a QaS-aware transcoding proxy by utilizing the on-demand hroadeasting technique. We first propose a QaS-aware transcoding proxy architecture, sbbreristed BS QTP, and model it as a queueing network. By analyzing the queueing network, several theoretical results are derived. We

then propose a version decision policy and a service admission control scheme to provide QOS in QTP. The derived results are used to guide the execution of the proposed version decision policy and service admission control scheme to achieve the given

QOS requirement. To measure the performance of QTP, several experiments are conduded. Experimental results show that the proposed scheme is more scalable than traditional client-server systems. In addition, the proposed scheme is able to effectively control the system load to attain the desired QoS.

I . INTRODUCTION

The advance in wireless communication enables users

to

ac-cess information systems anytime, anywhere. via various mobile devices such as notebooks, tablet

K s ,

personal dig- ital assistants (PDAs) and GPRS-enabled cellular phones. Service providers

are

establishing a number of mobile services including weather forecasting. stock information dissemina- tion, location-dependent query, route guidance and so on. To provide such services, researchers have encountered and are endeavoring to overcome challenges in various research areas including mobile data management[4], wireless network infrastructure, location-dependent data management [191, per- vasive computing, and

so

on.

In a pervasive cornputin& environment 1141, due

to

the con- straints resulting from power-limited mobile devices and low- bandwidth wireless networks, designing a power conservation, high scalability and high bandwidth utilization mobile infor- mation system becomes an important research issue, and hence

attracts a significant amount of research attention. In addition, the high diversity in the capabilities of various mobile devices such as display capabilities (e.g., screen size, color depth and supported data formats) and computation power makes the design of mobile information systems more challenging. This diversity also results in an increasing demand on the capability

of

conte.xt awareness [I I] for mobile information systems. Content adaptation, which is an important technique

to

realize context awareness. emerges to remedy the problem resulting from the said diversity by offering the different mobile users suitable versions of the same object accord- ing to the capabilities

of

the mobile devices. the traffic of the networks and the users’ preferences [121. Transcodins. which transforms a data object from one version into another. is recognized as a promising tcchnique to realize contcnt adaptation [121. A proxy capable of transcoding (referred to

as a

transcoding proxy) is placed between

a

client and an information server to coordinate the mismatch between what

the server provides and what the client prefers. Since proxy- based approaches

are

transparent to the content providers and users, this kind of approaches is able to simplify the design of

servers

and clients, and as

a

result, attracts much research attention, including cache replacement schemes 171181, system architectures [l0][151 and proxy collaboration [71.

In recent years, data broadcast [21[31 has been employed as an important technique to design a power conservation, high scalability and high bandwidth utilization mobile information system. However, most research works in transcoding proxies in mobile computing environments are under the traditional client-server architecture and do not employ the data broadcast technique. Hence, the transcoding proxies are not scalable and the network bandwidth is not well utilized. In addition. most prior studies do not consider the issue of quality of service (abbreviated as QoS) which is crucial in a mobile computing environment.

In view of this, we design in this paper a scalable and QoS- aware transcoding proxy by utilizing the on-demand broad- casting technique. Explicitly, we f i s t propose a QnS-aware transcoding proxy architecture, abbreviated QTP, and model it as a queueing network with three queues. By analyzing the queueing network, several theoretical results are derived to formulate the average waiting time of each queue. We

(2)

.I, Mobile Information System

/ \

Pala

0

n Rcqucst U

P

. . .

PDA Tablet PC Notebwk

Fig. I . An 2xample on-demand broadcssting system

thcn devise scheme ODB-QoS to provide QoS in QTP where ODB-QoS stands

for

“On-demand Data Broadcasting with

QoS”. Scheme ODB-QoS is an online. iterative and adaptive algorithm comprising

1) a version decision policy to determine the suitable version for each data request according to the users’ device profiles and the network state, and

2) a service admission control scheme to determine whether

to

grant a service registration

or a

service handoff according to the network state.

In each iteration, scheme ODB-QoS evaluates the average waiting time of each queue according to the derived results, determines the state of each queue according to the corre- sponding obtained average waiting time, and configures the behavior of the version decision policy and the service admis- sion control scheme according to the states of these queues to attain the desired QoS. To measure the performance of QTP, several experiments are conducted. Experimental results show that the proposed approach is more scahhle than traditional client-server systems. In addition, the proposed system is able to achieve the system administrators’

QoS

requirements by the devised version decision policy and the service admission control scheme. To the best of our knowledge, there is no prior research on the design of transcoding proxies employing data broadcast. This feature distinguishes this paper from others.

The

rest

of

this paper is organized as follows. The de- scription of on-demand data broadcasting and the proposed transcoding proxy architecture, QTP, are given in Section 11. An analytical model and a transcoding model are devised in Section TIL Section IV describes the proposed scheme, and the performance evaluation is shown in Section V. Finally, Section VI concludes this paper.

the employed scheduling algorithm. When requiring one data item, a mobile client sends a data request to the server. After receiving a data request, the server first checks whether there exists another data request

in

the data request queue with the same required data object.

If

yes, the new-coming data request is merged into the existing data request. This phenomenon is called request merge. Data requests with the same requested data object can be safely merged since one transmission of the data object in a broadcast chanuel is able to satisfy all merged data requests. Therefore. the higher the occurrence probability of request merge is, the more efficient the system is. Otherwise, the new-coming data request is inserted into the data request queue.

A scheduling algorithm is used to prioritize all data requests in the data request queue, and the server will serve these data requests according to their priorities.

To

serve

a

data request, the system retrieves the required data object from the corresponding data server, and then broadcasts this object to all its clients via a dedicated and shared broadcast channel. As

a

result, the on-demand broadcast system is more scalable and

can obtain higher network utilization than traditional client- server architecture.

B. System Archireclrue

Figure 2 shows the proposed architecture of QTP. In

a

cellular network architecture. the whole service area of

a

mobile environment is divided

into

a

number of cclls. Two dedicated channels, a control channcl and a broadcast channel, arc provided in each cell. A conuol channcl is used to transmit control messages such as registration messages, data requests. acknowledgements, and

so on.

On the other hand.

a

broadcast channel is used by the transcoding proxy to disseminate data objects to i o clients. In according to the locations of these components, QTP comprises the following two types of components: front-end and back-end.

A frontend which comprises a service manager and

a

scheduler is allocated to each cell. These two components are described below.

Sewice

Manager:

A service manager is in charge of all service-related operations such

as

service registration, service termination, service admission control and

so

on. Each service

manager owns a

profile database storing the profiles

of

users

using the

service

and

the profiles

of

these users’ devices. Several standards such as CUPP (stands

for

Composite CapabilitiesPreferences Profile) 1171 and UAProf (stands for User Agent Profile)

[lX]

have been proposed to describe the capabilities of devices and users’ preferences.

.

Scheduler: A scheduler is a software component which handles the data requests

of

its corresponding cell. After receiving a user’s data request, the scheduler will first determine a suitable version for this data reauest accord- ing to the user’s device profile and the network state. Then. the scheduler will check whether the received data request can be merged into an existing data request in the data request queue. Different from the traditional

on-

demand broadcasting architecture showing in Section

II-

A. request merge occurs only when there exists another

11. PRELIMINARIES A. On-demand Data Broadcasting

Figure 1 shows

an

example on-demand broadcasting system. In

an

on-demand data broadcasting system, a server maintains a data request queue and serves these requests according to

(3)

Back End

Service Area Fig. 2. The wchitccture of QTP

data request in the data request queue asking for the same version

of

the same required data object of the received data request. Otherwise. the scheduler will insert the received data request into the data request queue. In addition, a scheduling algorithm is employed

to

deter- mine the service order

of

these data requests in the data request queue. While serving a data request. the scheduler will send this request to the cache manager and the cache manager .will respond with the content of the required data object: The scheduler then brWddcaStS the returned data object via the downlink channel, then serves the next data request in the data request queue.

A back-end which comprises a cache manager and a

.

Cache Manager: After receiving a data request from a scheduler, the cache manager is responsible

for

returning the required version of the required data object to the scheduler.

Suppose

that the cache manager receives

a

data request of the j-th version of data object D ( i ) . If the j - t h version of Di is cached, the cache manager will return the

cached data object to the scheduler immediately. If the j-th version of

D,

is not cached. the cache manager will check whether there exists another version-of

D i

which can be transcoded into the j-th version of

Di.

If yes, the cache manager will ask the transcoder to generate the j-th version of

D,.

Otherwise, the cache manager will request the original version of the requested data object from the data server, ask the transcoder to transform the returned data object into the required version, and then respond with the transcoded data object to the scheduler. Transcoder: A transcoder is in charge of the transforma- tion

of

data objects among different versions according to the transformation requests of the cache manager. Since the design of the back-end is similar

to

the systems proposed in some prior works [7][81[10][15], we focus in this paper

on

the design of the front-end to provide scalable and transcoder &haves like a traditional transcoding proxy.

QoS-aware transcoding proxy services. C. Signalling Procedures

Before using the transcoding proxy_ a mobile user should register the service in advance by sending a registration message via a control channel. After the transcoding proxy receives the registration message, a service admission control scheme is activated to determine whether to grant the service registration. If yes. the mobile device will send the device profile

to

the proxy, and the proxy will record the user profile and device profile in its profile database. Otherwise, the service registration is blocked. The rate that a service registration is blocked is called the service blocking rate (abbreviated as

SBR).

After the service registration is granted. the mobilc user can issue data requests to the corresponding transcoding proxy by the control channel. When receiving a data rcqucst. the transcoding proxy first determines the suitable version

of

the requested data object by a version decision policy, and returns an acknowledgement message containing the decided version information via the control channel to the mobile user. Then, the transcoding proxy will return the decided version of the required data object via the corresponding broadcat channel as

soon

as possible. After receiving the acknowledgement message. the mobile device will tune to the broadcast channel to wait for the appearance of the decided version of the requested data object. When the mobile user decides not to use the transcoding proxy service. the mobile device will send

a

de-registration message to terminate the service.

Since

a

mobile user is able to freely move around these cells. a service handoff will occur. A service admission control scheme is executed to determine whether the service handoff is granted. If yes, the mobile user can use the service as usual. If not, the system will force mobile user to terminate the service (we say that the call is dropped). Since a service admission control scheme is employed, a service handoff may be rejected.

(4)

1

Symbol

I

Description

I

TABLE I DESCRIPTION O F SYMBOLS Queue 2

",,,

I l l

Dafa +r Request

The rate that a service handoff is forced to terminate is called

the service dropping rate (abbreviated as SDRj. Fig. 3. lhe analpical model of ihe proposed transmding proxy

111. ANALYTICAL AND TRANSCODING MODELS We also let

Bct,r.

be the bandwidth of the control channel, and let the waitin:! time of the control channel for

a

data request A. Analvtical Model

(denoted

as

iVct7t.) he the time interval between the user sending a data request and the user receiving the acknowledge. Then, we have the following lemma.

In this subsection, we derive the worst

case of

the average access time of QTP. and use the derived results to guide the version decision policy and the server admission control scheme proposed in Section IV.

'To

facilitate the following discussion, we make the following assumptions.

1) The employed scheduling scheme of the scheduler is FCFS (standing for first come, first serve).

2) No request merge occurs in the data request queue of the scheduler.

3) One transmission of a data object in the broadcast channel is received by exactly one client.

4) The messages of registration, de-registration and handoff are negligible.

Assumptions 2 and 3

occur

when the

users'

interests are highly diverse, and hence the effect of ondemand broadcast is eliminated. We make these two assumptions since we focus on the worst case of the transcoding proxy. Assumption 4 is made since we focus on the the situation that the number of data requests is much higher than the number of control messages (i.e., registration, de-registration, handoff and service termi- nation).

These

assumptions will he relaxed in our simulation model described in Section V.

For

better readability,

a

list

of

used symbols is shown in Table I.

We model QTP as a queueing network as shown in Figure 3. Queue 2 is a physical queue which is located in the scheduler. On the contraty, Queue 1 and Queue 3 are logical queues which are only used to model the conUol and broadcast channels in order

to

derive the average waiting time of a data request on the control and broadcast channels, respectively. Suppose that the data requests submitted by a mobile user

i

in service follow a Poisson process with rate X i , and NU,,, is the number of mobile users in service in the cell. To facilitate

the

following discussion, we number the mobile users in the cell as user 1, 2,

. .

., Nu,,,. Due to the characteristic of the Poisson process, the aggregate data requests of all mobile users in the cell follow a Poisson process with rate

X c t r L . =

Cz;c7

A,. Denote the sizes of data requests and request acknowledgements

as

s c t r ~ . and SA^^. , respectively.

Lemma 1: The average waiting time of the control channel can he formulated as below.

1 WCt,f. = B p

3ccpt.G*&

- Xctd

Let the waiting time of the scheduler for a data request (denoted as W s e h e . ) he the time interval from the arrival of the data request from the scheduler's perspective to the time b a t the requested daw object has been obtained by the scheduler. Note that the service

time

of a cache

manager

is affected by several factors such as cached status of required data objects. the employed replacement scheme, the characteristic of the input jobs, and

so

on. The service time of the cache manager cannot be modeled by a particular mathematical distribution. Therefore, we model the average service time of the cache manager as an arbitrary distribution with mean

&

and variance a:che,. Suppose that psche. =

e

is the load of the scheduler. We then have the following

lemma.

Lemma 2: The average waiting time of the scheduler is

Let the waiting time of the broadcast channel for a data request he the time interval between the time that the requested data object has been obtained by the scheduler and the time that the user has received it. Then, we have the Coollowing lemma.

Lemma 3: The average waiting time ofthe broadcast channel

can

he formulated

as

(5)

Fig. 4. Example device prufilrs

where r g is the root

of

the following equation with value larger than

zero

and 'less than one.

Finally, the average waiting time

of

the whole system (denoted

as

I'VsYs.) is equal to the summation

of

the average waiting time of the control channel,.the scheduler and the

broadcast channel. 'Then, with Lemmas ( I ) , (2) and (3), i'~sy,. can be formulated

as

WSps. ~= WCtd f I'vSche.

+

I'vBCaat (1)

B.

Transcoding

Model

Suppose that the mobile devices are classified into several categories based on ttie their capabilities. and fie capabilities of each category are described by one device profile. Let

P,

be the i-th device profile. Without loss of generality, we order the device profiles according to their capabilities in ascendent order. That is, the capability of

P;

is better than that of

Pi

when i

>

j .

We also

let

D , ( j )

be the j-lh version

of

data object Di. Again, we order all versions of a data object according to their quality in ascendent order..which means that the quality of D , ( j ) is better than .that

of

U ; ( k ) when

j

>

k.

For each data objects, we assume that the data size

of

a version with higher quality is larger than that

of

another version with lower quality.

To facilitate the following discussion. the concept

of

view- able version set

is

defined below.

Definition 1: A viewable version set of

a

device profile P;

and

a

data object Dj (denoted

as

V V S ( i , j ) )

is

a

set of

versions of

D,

which are able to he displayed by mobile devices with profile

Pi.

Then.

we have the following

example.

Example 1: Consider the example shown in Figure 4. Mobile devices

are

classified into three categories: notebook, PDA and smart phone, and their capabilities are described in device profiles P3. Pz and PI, respectively. In addition. there are six versions of data object

Dj.

V V S ( S , j ) ,

V V S ( ? : j )

and V V S ( l > j ) are { 3 > 4: 5 , 6 } , ( 3 : 4) and {l,?}, respectively. We have V V S ( ? , j )

c

V V S ( 3 , j ) since devices with profile P3

(e.g., notebooks) are capable

of

displaying all versions

of

Di

viewable by devices with profile

Pz

(e.g., PDAs). On the other hand. we have V V S ( S l j ) n V V S ( l , j ) = @ and V V S ( 2 , j ) n V V S ( l , j ) =

6

since devices with profile PI (e.g., smart phone) employ special data formats (e.g.. WML

0-7803-8355-9/04/S20.00 O mIEEE. 2054

and WBMP) that are not supported b y devices with profile Pz

Let the function

B E S T ( i , j )

=

L

(respectively.

WORST(1';j) =

k )

represent that the best (respectively, worst) viewed version

of

data object

Di

for

a

mobile de- vice with device profile P; is version

k.

In

practice, we have

B E S T ( i , j ) 2 B E S T ( l , j )

and I . V O R S T ( i : j )

2

WORST(1,j) when i

>

1. We also have

B E S T ( i , j )

=

max{VVS(i,j)} and W O R S T ( i , j ) = inin {VVS('i,j)}. and P3.

Example

2:

Consider the example shown in Figure 4. The best viewable versions of

P3, PA

and PI are D3 (6), Dj(4) and

D j ( 2 ) ,

respectively. As

a

result, we have

H E S T ( 3 , j )

= 6.

B E S T ( 2 , j )

= 4 and B E S T ( 1 , j ) =

2.

In addition, we also have W O R S I ' ( 3 , j ) = 3, W O R S T ( 2 , j ) = 3 and When

a

user registers the service. the user's mobile device will transmit the identifications the user and the corresponding device profile to the system. Suppose that the device profile of the mobile device is Pi. Then, when the mobile user requests

Dj,

the system will return a suitable version of

Dj,

say the k-th version of

LJj

where

k

E

V V S ( i , j ) .

according

to

the result of the underlying version decision policy.

W O R S T ( 1 : j ) =

1.

IV. DESIGN OF SCHEME ODB-QOS

This section shows the design o i t h e proposed scheme ODB-

QoS (standing for On-demand Data Broadcasting with QoS).

An overview

of

scheme ODB-QoS is given in Section IV-A. The determination

of

the system state is given in Section IV- B. Finally, the proposed version decision policy and admission control scheme

of

scheme ODB-QoS are described in Section Tv-C and IV-D, respectively.

A. Overview

We take the average access time a s the QoS metric. Before executing scheme ODB-QoS, system administrators specify

a

QoS requirement by setting two thresholds

of

average access time, W , and I,Vz where W1

<

IVz. l h e meanings of the two thresholds are

as

follows. The users

are

guaranteed to receive the best viewable versions of requested data objects when the average waiting time is smaller than IV,. On the other hand, scheme ODB-QoS will

use

its best effort to prevent the average waiting time from being larger than

W z .

Scheme ODB-QoS is an online, iterative and adaptive algo- rithm which comprises

a

version decision policy and a service admission control scheme. The flowchart of scheme ODB-

QoS

is shown in Figure

5 .

Scheme ODB-QoS is executed periodically. and the following three steps are executed in

each iteration. First. scheme ODB-QoS meaSures the average waiting time

of

each queue according to the derived results in Section 111. Then, in state determination step. scheme ODB-

QoS measures the load

of

each queue based on the obtained average waiting time, and determines the current state

of

each queue accordingly. Finally, scheme ODB-QoS configures the version decision policy and the service admission control scheme according to the state of each queue. The details

of

(6)

Next iteration Version Decision Policy

I I

Fig. 5 . The flowchart of scheme ODB-Qc.5

B. State Deterinination

Three positive factors, 71, 7 2 and 7 3 where y1+72 +y3 = 1, are also defined to determine the values of p?".. p . ' . .

p P h e . ? pBcnst and p f c 0 3 t , The values

of

p p l . and

p?"'. are first determined

so

that the average waiting time of

the control channel is equal to WC,,,. = 71 x WI and WC,,~. =

y1 x W 2 , respectively. The values of and

pphe-

are then determined so that the average waiting time of the cache is equal to y2 x W , and y2 x W2, respectively. Analogously, the values of pfcaSt and pfCast are determined so that the average waiting time of the cache is equal to 1 3 x W , and TA x W 2 : respectively.

Ihe

values of 71, '(2 and 73

are

determined adaptively and automatically. When the system starts up, yl, 7 2 and 7 3 are initialized to be I . In each execution, they are determined as

1 - y,

-

7 2 . Note that in scheme ODB-QoS, only the QoS requirement (i.e., W , and W2) are required to be specified by system administrators.

- -

d

W M,

follows: 71 =

e.

YZ =

e

and 7 3 =

e

C. Version Decision Policy

Figure 6 shows the relationship between the average waiting time and the load

of

a queue. We can observe that when the the load is larger than or equal to one- the system is not stable since the average waiting time does not converge and will approach

to

infinite. In addition, when the load is smaller than one, the average waiting time increases as the load increases. and the increment will increase drastically when the load approaches one.

With the above observations, the rationale

of

OUT scheduling

algorithm is to keep the system loads of the schedirler (i.e., Queue 2

in

Figure 3 ) and broadcast channel (i.e., Queue 3

in Figure 3) smaller than

one

at the cost of the quality of

requested data objects. As a consequence, when the load of the scheduler or the broadcast channel is high. for each data request, the system will return the version of worse quality than the best viewed version. The strategy has the following two effects:

PI

System

Load (p)

Fig. 6. The relationship between load and average access time of a queue

Decrease the average waiting time of the broadcast channel (&) since the data size of a data object with lower quality is usually smaller than that of the

same

data object with higher quality. The load of the broadcast channel is hence reduced.

Increase the occurrence probability of request merge. Consider the device profiles shown in Figure 4. and two data requests of

D j

for device profiles

PZ

and PA,

respectively. These,two data requests will not be merged when the load of the scheduler or the broadcast channel is light. However. when the load is high. the system will decide to return the third version

of Dj.

and hence, these two data requests can be merged. The arrival rates of the input processes of the cache and the broadcast channel them decrease. As a result. this strategy will reduce the load of the cache (psche.) and broadcast channel

(PBCart).

Two thresholds, and (respectively, ,ofcadt and pFCaSt); are specified first and they divide the load of the scheduler (respectively, the broadcast channel) into three

states: LIGHT, FAIR and HEAVY. Figure 7 shows the state transition diagram

of

the scheduler. The state transition sce- narios

are

as

follows. When the previous state

is

LIGKI', the current state will transit to FAIR ifpsche.

>

(1 + a ) x p P h e . .

Otherwise, the current state will still be LIGHT. When the previous state is FAIR. the current state will transit to LIGHT the current state will transit to HEAVY. Otherwise, the current state will still he FAIR. When the previous state is HEAVY. the current state will transit to FAIR ifpSche.

<

( I - a ) x

Otherwise, the current state will still be HEAVY. The factor a, where 0

<

n

<

1, is set to avoid state oscillation. We assume that (1

+

a ) x

<

1 without loss

of

generality. The State transition diagram and transition scenario the broadcast channel are as shown in Figure 7 by substituting pfcast and &CaSt for pSche. and respectively. The determination

of $ h e . ,

,$the.,

pfCnSt and pfcost are described in Section

N-B

.

(7)

otherwise otherwise otherwise

Fig. 1. Stale transition diagam

We also define the aggregated state

of

the scheduler and the broadcast channel as follows. The aggregated state is LIGHT when the loads of the scheduler and the broadcast channel are both LIGHT. The aggregated state is HEAVY when at least one load

of

the cache and broadcast channel

is

HEAVY. Otherwise, the aggregated state is FAIR. For each new-coming data request. the scheduler will decide a suitable version, fill

a

version information into the data request according to the aggregated state, and insert it into the data request queue. The scheduler will also inform the mobile client of the decided version by replying an acknowledge message. Formally, the version decision policy is described below.

.

LIGHT:

The scheduler operates in the traditional

on-

demand broadcast mode when the aggregated state is

LIGHT. Hence, the system guarantees that each client will receive the best viewed versions of data objects being requested. That is, the system will return the B E S T ( i , J ) - t h version of 0, when a user requests D j

by a mobile device belonging to device profile

Pc.

.

FAIR In FAIR state, the quality

of

received data object may be degraded. Let degradation and

mazDeyradation indicate the current and maximal degrees

of

degradation, respectively. The value of mazDegr.adr2tion is ohtained by

max ( B E S T ( k , j ) - W O R S T ( k , j ) } . When receiving

a

data request of

D3

from a mobile device belonging to device profile P,, the system will return the (BEST(z,j)-degradation)-th version

of

0 3 . When the current aggregated slate is FAIR, the previous aggregated state is also taken into consideration. When the previous aggregated state

is

LIGHT, degradation

is set to be one. When the previous aggregated State is HEAVY. degradation, is set to be maxDegradation-1. Otherwise, when the previous aggregated state is

also

FAIR. the load of the scheduler is considered. The value

of

degrado.tion increases b y one when

p2;p-

> (li-0)

x

p:,?Ge-,

Similarly, the value of d e g r o h t i o n decreases by one when p:.$

<

( I -

0 )

x Otherwise, the value

of

degrn.dation remains the same. The constant j 3 is used to avoid the oscillation of degradation.

.

HEAVY: When the aggregated state is HEAVY, the system will

force

each client to receive the worst viewed versions of data objects which it requests. That is, the system will return

the

W O R S T ( i , j ) - t h version

of Dj

when

a

user requests

D j

b y a mobile device belonging to device profile P,.

V P r , D ,

As a consequence. the algorithmic form of the version decision procedure is as below.

Procedure VersionDecision(P,.

D 3 )

Input: A user requests

D,

~ by

a

mobile device belonging to device profile P,.

Output: A version of

D 3 .

I: Let preState and curstate t be the previous/cment

2: Let

~ $ 2

and

ps;p.

t be the previouslcument load

of

3: maxDegradation

-

.L if (curState=LIGHT) then

5 : return

BEST(i,j)

/* The system will return the hest viewable version to the user */

6: else if (curState=HEAVY) then

7: return WORST(I,j) I* The systcm will return the

worst viewable version

to the

user */ 8: else /* curStotr=FAIR *I

9: if (preState=LIGHT) then I O degradation c 1

1 1 : else if (preState=HEAVY) then

12: 13: else /* preState=FAIR */ 1.1: 15: degradation

-

16: else if

<

( 1 - j3) x

~$2.)

then 17: 18: end if 19: endif 20: 21: end if

state of the scheduler, respectively

the scheduler state of the scheduler, respectively maxyfi { B E S T ( k ; j ) - W O R S T ( k , j ) }

degradatidn. c maxDegradatioia - 1

if ( p 2 ; p

>

(1

+

0)

x p:;?) then

miu {degmdation

+

1, maxDegmdation}

degradation t mnx {degradation - 1 , O )

return

BEST(i,

3 )

- degra,dation

D.

Service Admission Conrrol Scheme

A service admission control scheme is employed in each service manager to determine whether to grant a service registration or

a

service handoff by considering the number users in service, the network status. and

so

on.

Analogously, the rationale of our service admission conuol scheme is io keep the

svstem

load

of

the control channel (i.e.. Queue I

in

Figirre 3 ) smaller than

one

at rhe cost

of

SBR and SDR. As shown in Section 111-A. the incoming rate

of

data requests is in proportion to the number

of

users using the service in the cell. As a result. the service admission control scheme should keep the number

of

users in service under

a

reasonable level. To achieve this, two thresholds, py"'l. and pftF1. where

pyT'.

i p p i .

<

1. are specified fist and they divide the load of the control channel into three states: LIGHT. FAIR and HEAVY. The

slate

transition diagram and transition scenario of the service manager are shown in Figure 7 by substituting PI

determination of pf"'l- and pf""

are

described in Section

IV-B.

Although the proposed version decision policy can reduce the loads of the scheduler and the broadcast channel. the effect

Cfrl. and ,,?til.

for

pSche. and p p h e - . respectively. The

(8)

of the proposed version decision policy is limited since it depends on several factors such as the locality

of

data requests. the cache size and so on. As a consequence, in addition to the load of the control channel, the service admission control scheme should also takes the loads of the scheduler and the hroadcast channels into consideration. Note that SBR is sacrificed first since mobile users can tolerate a service regisuation being blocked rather than a service handoff k i n g forced to terminate (i.e., dropped). The proposed admission control scheme is

as

below.

.

A service handoff is dropped when the state of the control channel is HEAVY or when degradation =

maxDegradation.

.

A service registration is blocked when the state of the control channel is FAIR or when

maxDegradation

? degradation

2

The algorithmic form of the revised service admission control scheme is as below.

Procedure ServiceAdmission

Input: A service registration or

a

service handoff.

Output: Decision of the incoming service registration or service handoff.

I: curState i current state of the control channel 2: if (the input is a service handoft] then

3: if (arState=HEAVY or 4: rcturn REJECT

5: eke

6: return GRANT

7: end if

8: else /* the input is a service registration */

9: if (curState=FAIR or

I O return RWECT

1 1 : else

IZ: return GRANT

13: end if 14: end if

degradation = mazDegradation) then

degradation

2=

mazDegradaCion

)

then

V.

PERFORMANCE

EVALUATION

To evaluate the performance of the scheme ODB-QoS. we

build

an

event-driven simulator with SIM [SI. Scheme ODB- QoS is executed periodically with period two minutes and the simulation is run for 12 hours. Scheme CS (standing for traditional Client-Server) and scheme ODB (standing for On- Demand Broadcasting) are also implemented for comparison purposes. The average waiting time is employed as the perfor- mance measurement for cach scheme. In addition, SBR and SDR are takcn as the measurement of the cost of scheme ODE-QoS. The simulator is coded in C++ and

run

in a

PC

with Pentium I11 400 MHz CPU and 256 MBytes RAM. A. Similalion Model

Similar to [16], we set the cell topology

as

a 4 x 4 cells wrapped-around mesh topology shown in Figure S. We take

I

TABLE 11

DEFAULT SYSTEM PARAMETERS

Fig. 8. The simulation lopology

LWF (standing for Longest Wait First) as the underlying scheduling algorithm. Scheme AE

[8]

is employed as the cache replacement policy since it outperforms the other replacement policies for transcoding proxies. Each cell provides

one

control channel and one download channel with network bandwidth

10 KByte/sec and 100 KByteIsec. respectively. Analogously to

[SI, we assume that there are 4000 data objects and the sizes follow

a

lognormal distribution with a mean of 15 KBytes. The size of a control message (e.g., data request message and acknowledgement message) is set to be I KByte. The access probability of data objects follows a Zipf distribution. which is widely adopted

as

a model for real Web traces [11[61. The parameter of the Zipf distribution

is

set to be 1.1 with a reference to the analyses of real Web traces [61[131. Since small objects are much more frequently accessed than large ones [91, we assume that there is a negative correlation between the object size and its access prohability. The default capacity

of

the cache is

set to

be 0.01 x Cobject

size

and the fetch delays of data objects follow an exponential distribution with mean 2 seconds [SI. The values of iV1 and CV, (i.e., the QoS requirement) are set to be two seconds and five seconds, respectively.

In the client model, as in [71 and [SI, we assume that the mobile clients can be classified into five device profiles, and

I

Profile

I

Viewable vasmn set

I

8 . i . 6 . 5

TABLE 111

DEVICE PROFILES AND VIEWABLE VERSION SETS

(9)

the disuibution of these five device profiles of mobile clients is modeled as a device vector of (15%: 20%: 30%, 20%, 15%). Without loss

of

generality, we also assume that all objects could be Uansccded into ten versions, and the sizes of the ten versions (from version one to version ten) are assumed to be 10%. 20%. 30%,

.

.

. and 100% of the original object sizes

[SI.

The viewable version set for each device profile is shown in Table 111. By

a

reference to [8], we assume that a more detailed version can be manscoded into a less detailed one and the transcoding delay is determined a s the quotient of the ohject size to the transcoding rate. The transcoding

rate

is set to he 30 KBytes/sec [71. The number of users in the network is set to be 1000. The cell residence time, service holding time and service establishing time for each user are set to be exponential distributions with means of 50 minutes, 10 minutes and one hour, respectively. We also assume that the data requests for each user iollow a Passion process with parameter

i

= 60.

B. Ihe Effects of the Number of

Users

Figure 9 shows the experimental results with the number of users varied. The number of users is set from 400 to 1400. From Figure 9a. we observe that when the number of users

is small (400 in this experiment), the system load is light and

the average waiting times of all schemes are close. When the number of users increases, the average waiting time of scheme CS and scheme ODB also increases. In addition. the increment of the average waiting time of scheme CS and ODB increases as the number of users increases. especially when the number of users is larger than 1200. Since

a

large number of users implies the high arrival frequencies of data requests, the system load becomes heavy when the number of users is large, and hence, the average waiting time increases drastically. When the number

of

users is 1400, the average waiting time of scheme CS does not converge as the time advances since the system load is larger than one. This situation again agrees with thc observation in Section IV-C. The average waiting time reduction of scheme ODB over scheme CS increases from 47.11% to 74.2% as the number of users increases from 400 to 1400. Scheme ODB

is

more scalable

than

scheme CS due to the effect of request merge and the employment of data broadcast.

Next. consider scheme ODB-QoS. When the number of users is small (400 in this experiment), scheme ODB-QoS and scheme ODB have similar behavior. This can be explained by the reason that when the average waiting time

of

scheme

ODB-

QoS is smaller than W1. scheme ODB-QoS is degenerated to scheme ODB and guarantees that each user

will

receive the best viewable versions of the requested data objects. When the number of users increases to 1000, some service registrations

are

blocked since the average waiting time cannot be satisfied with the QoS requirements (i.e., in the interval (LVI, 1.v~)). Similarly, some service handoSfs are dropped when the number of users is larger than 1200. We observe that scheme ODB- QoS is able to keep the average waiting time satisfying the QoS requirement by conuolling the quality

of

received data objects and the number of users in service even when the offered system load is heavy.

C. 77ie

Effects

of Skewness of Access Probabilities

We investigate the effect of varied skewness of access prohahilities in average waiting time, SBR and SDR. The degree of skewness is measured by the value of the Zipf parameter which

is

set from 1

to

1.4. The larger the Zipf parameter is, the higher the degree of skewness is. As shown in Figure loa, the average waiting time of all schemes increases

as

the value of Zipf parameters decreases. It is because that the degree of request locality is high when the access frequencies is highly skewed (i.e., high Zipf parameter). Therefore, with the same cache size, the cache hit ratio is high and is able to effectively reduce the average access time. Moreover. scheme ODB can further reduce the average waiting time since the probability of request merge increases. We also observe that the increment of thc average waiting time of scheme CS and

ODB incrcases drastically whcn thc value

of

Zipf paramctcr decreases (i.e., onc in this experiment). The rcason is that the effect of cache decreases as the dcgrce of skewness decreases. Hence, the system load becomes heavy when the degree of skewness is low, and therefore, the increment of average waiting time increases. This result conforms the observation in Section IV-C. The average waiting time reduction of scheme ODB over scheme CS ranges from 36.9%

to

65%.

Figure 10b shows the produced SBR and SDR of scheme ODB-QoS with the value of Zipf parameter varied. We ob- serve that when the skewness of access frequencies is high (Zipf parameter=1,4 in this experiment), scheme ODB-QoS

is degenerated to scheme ODB since the average waiting time of scheme ODB-QoS is smaller than [.VI. When the Zipf parameter is 1.2. some service registrations are blocked (SBR> 0) since the average waiting time without blocking service registration cannot be satisfied with the QoS require- ment. SBR is sacrificed first since mobile user can tolerate a service registration being blocked rather than a service handoif being forced lo be dropped. In addition. when Zipfparameter is smaller than 1.1. some service handoffs are also dropped since the system load is too heavy.

VI. CONCLUSION

We explored in this paper the effect of on-demand broad- casting technique in the design of

a

QoS-aware transcoding proxy, We first proposed a QoS-aware transcoding proxy architecture. QTP, and modeled it as

a

queueing network. By analyzing the queueing network, several theoretical results were derived to formulate the system average waiting time. We then proposed

a

version decision policy and

a

service admission control scheme to provide QoS in QTP. The derived results were used to guide the execution of the proposed ver- sion decision policy and service admission control scheme to fulfill thc given QoS requirement. To measurc the performance of QTP. several experiments werc conducted. Experimental results show that thc proposed approach is more scalable than traditional client-server systems. In addition, the proposed approach can effectively achieve the desired QoS.

ACKNOWLEDGEMENT

The authors are supported in part by the Ministry of Edu- cation Project No. 89-E -FA06-2-4, and the National Science

(10)

200 160 *ODB

i i

-

p

180 - c S

I

E g 140 +ODB-QoS g 120

.-

$

60

$

4 0 20 0 400 600 800 IO00 I200 1400 Number of Users

(a) Avenge Waiting Time

Fig. 9. The effecu of the number of users

180

-

r. + cs p 160

*

ODB p 60 $ 40

2

20 0 1 1.1 1.2 1.3 1.4 Zmf Parameter

(a) Avenge Waiting Time Fig. 10. ' I l l h e effecu of the Zip{ parameters

Council Project NO. NSC 92-2213-E-002-001 and NSC 92- 2213-E-002-010, Taiwan, Republic of China.

REFERENCES

[ I ] C. Agganval. I. 1. Wolf. and P. S. Yu. Caching on Ihe World Wide Web.

IEEE Trrmsacrims on Knowledge and Dofo Engulee?itrg, 1 1 ~ 1 ) : 9 ~ 1 0 7 ,

1 999

[Z] M. Agrawal. A. Manjhi. N. Bansal, and S. Srshan. Improving Web

Performance in Broadcast-Uniast Networks. In Pmceedings of the

IEEE INFOCOM Conference. March-Apil 2003.

[3] D. A b o y and M. 1. Franklin. Scheduling for Large-Scale On-Demand Data Broadcming. In Pmceedings of IEEE INFOCOM Conference.

pages 6 5 1 4 5 9 . March 1998.

I41 D. Barbara. Mobile Computing and Databases - A Survey. IEEE

Trmactionr on Knowledgead narabnse Engineetirrg. l l ~ l ~ : l O a l l 7 . Jnnuaryffebnrary 1999.

[SI D. Bolier and A. Elisns. STM a C++ lihrary far Discrete Event Simulation. h ~ : / / w w m c s . v u . n ~ e l i ~ ~ / ~ ~ , Octobr 1995. 161 L. Brcslsu. P Cao, G. Phillips. and S. Shenker. Web Caching and Zipf-

like Distributions: Evidence and lmplicauans. In Pmcredi,rgs of rhe

IEEE INFOCOM Conference, March 1999.

[7] V. Cardelliai P. S . Yu. and Y.-W. Huang. Collaborative Rony System for Distributed Web Cvntcnl Tramcoding. In Prmeeding oftlze a h .iCM

l n t e m m ' d Confemme on Informotion and Knowledge Mrmagemenf,

November 2000. 400 600 800 1000 1200 I400 Number of Users (b) S B W S D R 9 8 7 + SDR 6 E 5 $ 4 I 3 2 I 0 1 1.1 1.2 1.3 1.3 Zipf Parameter (b) SBR/SDR

[8] C.-Y. Chang and M . 3 Chen. ExploCng Aggregate Effect wilh Weighted

Transccding Graphs for Efficient Cache Replacement in Transmding Proxies. In Pmaedings of the 18th IEEE Irrtemtional Confererze on

Dafo Enginee-g, Feburary 2002.

[9] S. Glassman. A Caching Relay for the World Wide Web. Computer

Nehvorkr ond ISDN Systems. 27, 1994.

1101 R. Ha". P. Bhugwat. R. Lamaire, T. Mummen. V. Perret. and 1. Rubas. Dynamic Adaptation in an Image Tramcoding Roxy for Mobile Web

Browsing. IEEE Pcnonal Communicatimr, 5(6), December 1998.

[ I l l A. Hurter, A. Hopper, P Steggles, A. Ward, and P Wehacr. The Anatomy of a Context-Aware Application. In Proceedings of flz

.irh .ACM/IEEE InfemnfiDnnl Conference on Mobile Compuring and

Networking, pages 5 9 4 8 , August 1999.

1121 W. Y. Lum and F. C. M. La". A C o n t e x t - A ~ ~ e Decision Engine for Content Adaptation. 1EEE Pervasive Computing, l(3). July-September 2002.

I131 Y Padmanabhan and L. Qiu. The Content and Access Dynamics of a

Busy Web Site: Findings and Implications. In Proceedings of fhe IEEE

SIGCOMM Confennce. pages 293-30-1. August-September 2000. [I41 .W. Satysnarilyanan. Pervasive Computinp: Vision and Challenges. IEEE

Penono1 Comnmr~ications. 8(4):1&17. August 2001.

I151 J. R. Smth, R. Mohan. and C.-S. Li. Content-based Tramcoding on Images in the Internet. In Pmeedings of IEEE I n t e ~ i a r o l Confcreze WI 1 m g e Prmrssing. On&r 1998.

[I61 C.-C. Tseng, G.-C. Lee, R . ~ S . Liu, and T.-P. Wang. HMRSVP A

HierarcUcal Mobile RSVP Protocol. ACM Wimlesr Networks, 9(2):95-

102,

zw3.

I171 W3C. hnp:llwww.w3.org/Mobile/CCPP/. [I81 WAP Fomm. http://www.wapforum.og/.

數據

Fig.  I .   An  2xample  on-demand  broadcssting system
Fig.  4.  Example  device prufilrs
Fig. 5 .   The  flowchart  of scheme ODB-Qc.5
Fig.  1.  Stale  transition diagam
+3

參考文獻

相關文件

– The The readLine readLine method is the same method used to read method is the same method used to read  from the keyboard, but in this case it would read from a 

A trait implementation class which contains the definitions for the provided methods of the trait, proxy fields for the user of the trait and all used traits, as well as

了⼀一個方案,用以尋找滿足 Calabi 方程的空 間,這些空間現在通稱為 Calabi-Yau 空間。.

Since we use the Fourier transform in time to reduce our inverse source problem to identification of the initial data in the time-dependent Maxwell equations by data on the

Following the supply by the school of a copy of personal data in compliance with a data access request, the requestor is entitled to ask for correction of the personal data

專案執 行團隊

Teacher then briefly explains the answers on Teachers’ Reference: Appendix 1 [Suggested Answers for Worksheet 1 (Understanding of Happy Life among Different Jewish Sects in

We showed that the BCDM is a unifying model in that conceptual instances could be mapped into instances of five existing bitemporal representational data models: a first normal