Preface |
|
vii | |
|
|
1 | (14) |
|
|
1 | (1) |
|
1.2 Requirements and Key Challenges |
|
|
2 | (5) |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
5 | (2) |
|
1.3 Examples of Scalable Internet Services |
|
|
7 | (4) |
|
|
7 | (1) |
|
1.3.2 On-line Shopping and E-Commerce |
|
|
8 | (1) |
|
1.3.3 Media Streaming Services |
|
|
9 | (1) |
|
1.3.4 Peer-to-Peer File Sharing |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (4) |
|
|
15 | (22) |
|
2.1 The Load Balancing Problem |
|
|
15 | (2) |
|
2.2 Server Load Balancing |
|
|
17 | (9) |
|
2.2.1 Layer-4 Load Balancer |
|
|
18 | (2) |
|
2.2.2 Layer-7 Load Balancer |
|
|
20 | (2) |
|
2.2.3 Load Balancing Policies |
|
|
22 | (1) |
|
2.2.4 Load Balancing with Session Persistence |
|
|
23 | (2) |
|
2.2.5 Distributed Approaches for Load Balancing |
|
|
25 | (1) |
|
2.3 Load Balancing in Service Overlay Networks |
|
|
26 | (4) |
|
2.3.1 HTTP Request Redirection and URL Rewriting |
|
|
26 | (1) |
|
2.3.2 DNS-Based Request Redirection |
|
|
26 | (2) |
|
2.3.3 Content Delivery Networks |
|
|
28 | (2) |
|
2.4 A Unified W5 Load Balancing Model |
|
|
30 | (7) |
|
2.4.1 Objectives of Load Balancing |
|
|
30 | (1) |
|
2.4.2 Who Makes Load Balancing Decisions |
|
|
31 | (1) |
|
2.4.3 What Information Is the Decision Based on |
|
|
31 | (2) |
|
2.4.4 Which Task Is the Best Candidate for Migration |
|
|
33 | (1) |
|
2.4.5 Where Should the Task Be Performed |
|
|
34 | (1) |
|
2.4.6 When or Why Is Migration Invoked |
|
|
35 | (2) |
|
3 Load Balancing on Streaming Server Clusters |
|
|
37 | (18) |
|
|
37 | (3) |
|
3.2 The Video Replication and Placement Problem |
|
|
40 | (2) |
|
|
40 | (1) |
|
3.2.2 Formulation of the Problem |
|
|
40 | (2) |
|
3.3 Replication and Placement Algorithms |
|
|
42 | (5) |
|
|
42 | (3) |
|
3.3.2 Smallest Load First Placement |
|
|
45 | (2) |
|
3.4 Service Availability Evaluation |
|
|
47 | (5) |
|
3.4.1 Impact of Video Replication |
|
|
49 | (1) |
|
3.4.2 Impact of Placement of Video Replicas |
|
|
50 | (1) |
|
3.4.3 Impact of Request Redirection |
|
|
51 | (1) |
|
|
52 | (3) |
|
4 Quality of Service-Aware Resource Management on Internet Servers |
|
|
55 | (16) |
|
|
55 | (2) |
|
4.2 Service Differentiation Architecture |
|
|
57 | (3) |
|
|
57 | (1) |
|
4.2.2 Workload Classification |
|
|
58 | (1) |
|
4.2.3 QoS-Aware Server Resource Management |
|
|
59 | (1) |
|
4.3 QoS-Aware Admission Control |
|
|
60 | (1) |
|
4.4 QoS-Aware Resource Management |
|
|
61 | (6) |
|
4.4.1 Priority-Based Request Scheduling |
|
|
61 | (1) |
|
4.4.2 Processing Rate Allocation |
|
|
62 | (3) |
|
4.4.3 QoS-Aware Resource Management on Server Clusters |
|
|
65 | (2) |
|
|
67 | (4) |
|
5 Service Differentiation on Streaming Servers |
|
|
71 | (22) |
|
|
71 | (2) |
|
5.2 Bandwidth Allocation for Differentiated Streaming Services |
|
|
73 | (3) |
|
5.2.1 Service Differentiation Models and Properties |
|
|
74 | (1) |
|
5.2.2 Network I/O Bandwidth Allocation |
|
|
75 | (1) |
|
5.3 Harmonic Proportional-Share Allocation Scheme |
|
|
76 | (4) |
|
5.3.1 Proportional-Share Bandwidth Allocation |
|
|
77 | (1) |
|
5.3.2 Harmonic Proportional Allocation |
|
|
78 | (2) |
|
5.4 Implementation Issues |
|
|
80 | (2) |
|
5.5 Service Availability Evaluation |
|
|
82 | (10) |
|
5.5.1 Impact of Service Differentiation |
|
|
83 | (2) |
|
5.5.2 Impact of Differentiated Bandwidth Allocation |
|
|
85 | (4) |
|
5.5.3 Impact of Request Scheduling |
|
|
89 | (1) |
|
5.5.4 Impact of Queueing Principle with Feedback Control |
|
|
89 | (3) |
|
|
92 | (1) |
|
6 Service Differentiation on E-Commerce Servers |
|
|
93 | (18) |
|
|
93 | (2) |
|
6.2 2D Service Differentiation Model |
|
|
95 | (4) |
|
|
95 | (2) |
|
6.2.2 Objectives of Processing Rate Allocation |
|
|
97 | (2) |
|
6.3 An Optimal Processing Rate Allocation Scheme |
|
|
99 | (2) |
|
6.4 Effectiveness of 2D Service Differentiation |
|
|
101 | (8) |
|
|
101 | (2) |
|
6.4.2 Effect on Service Slowdown |
|
|
103 | (5) |
|
6.4.3 Controllability of Service Differentiation |
|
|
108 | (1) |
|
|
109 | (2) |
|
7 Feedback Control for Quality-of-Service Guarantees |
|
|
111 | (18) |
|
|
111 | (1) |
|
7.2 Slowdown in an M/Gp/1 Queueing System |
|
|
112 | (3) |
|
7.2.1 Slowdown Preliminaries |
|
|
113 | (1) |
|
7.2.2 Slowdown on Internet Servers |
|
|
114 | (1) |
|
7.3 Processing Rate Allocation with Feedback Control |
|
|
115 | (6) |
|
7.3.1 Queueing Theoretical Approach for Service Differentiation |
|
|
116 | (2) |
|
7.3.2 Integrated Feedback Control Approach |
|
|
118 | (3) |
|
7.4 Robustness of the Integrated Approach |
|
|
121 | (2) |
|
7.5 QoS-Aware Apache Server with Feedback Control |
|
|
123 | (3) |
|
7.5.1 Implementation of a QoS-Aware Apache Server |
|
|
123 | (1) |
|
7.5.2 QoS Guarantees in Real Environments |
|
|
124 | (2) |
|
|
126 | (3) |
|
8 Decay Function Model for Server Capacity Planning |
|
|
129 | (22) |
|
|
129 | (3) |
|
8.2 The Decay Function Model |
|
|
132 | (4) |
|
8.3 Resource Configuration and Allocation |
|
|
136 | (6) |
|
8.3.1 Resource Configuration |
|
|
136 | (1) |
|
8.3.2 Optimal Fixed-Time Scheduling |
|
|
137 | (3) |
|
|
140 | (2) |
|
8.4 Performance Evaluation |
|
|
142 | (7) |
|
8.4.1 Capacity Configurations and Variances |
|
|
143 | (2) |
|
8.4.2 Decay Function versus GPS Scheduling |
|
|
145 | (1) |
|
8.4.3 Sensitivity to the Change of Traffic Intensity |
|
|
146 | (2) |
|
8.4.4 Quality-of-Service Prediction |
|
|
148 | (1) |
|
|
149 | (2) |
|
9 Scalable Constant-Degree Peer-to-Peer Overlay Networks |
|
|
151 | (24) |
|
|
151 | (1) |
|
9.2 Topological Model of DHT-Based P2P Systems |
|
|
152 | (5) |
|
9.2.1 A Generic Topological Model |
|
|
153 | (2) |
|
9.2.2 Characteristics of Representative DHT Networks |
|
|
155 | (2) |
|
9.3 Cycloid: A Constant-Degree DHT Network |
|
|
157 | (6) |
|
9.3.1 CCC and Key Assignment |
|
|
158 | (2) |
|
9.3.2 Cycloid Routing Algorithm |
|
|
160 | (1) |
|
|
161 | (2) |
|
9.4 Cycloid Performance Evaluation |
|
|
163 | (9) |
|
9.4.1 Key Location Efficiency |
|
|
163 | (2) |
|
|
165 | (3) |
|
|
168 | (4) |
|
|
172 | (3) |
10 Semantic Prefetching of Web Contents |
|
175 | (22) |
|
|
175 | (2) |
|
10.2 Personalized Semantic Prefetching |
|
|
177 | (4) |
|
|
177 | (1) |
|
10.2.2 Neural Network-Based Semantics Model |
|
|
178 | (3) |
|
10.3 NewsAgent: A News Prefetching System |
|
|
181 | (4) |
|
|
181 | (1) |
|
10.3.2 NewsAgent Architecture |
|
|
182 | (1) |
|
10.3.3 Control of Prefetching Cache and Keyword List |
|
|
183 | (2) |
|
10.4 Real-Time Simultaneous Evaluation Methodology |
|
|
185 | (1) |
|
10.5 Experimental Results |
|
|
186 | (6) |
|
10.5.1 NewsAgent Training |
|
|
186 | (2) |
|
10.5.2 Effectiveness of Semantic Prefetching |
|
|
188 | (2) |
|
10.5.3 Effects of Net Threshold and Learning Rate |
|
|
190 | (2) |
|
10.5.4 Keyword List Management |
|
|
192 | (1) |
|
|
192 | (2) |
|
|
194 | (3) |
11 Mobile Code and Security |
|
197 | (22) |
|
|
197 | (3) |
|
11.2 Design Issues in Mobile Agent Systems |
|
|
200 | (3) |
|
|
200 | (1) |
|
|
201 | (1) |
|
11.2.3 Naming and Name Resolution |
|
|
202 | (1) |
|
|
203 | (1) |
|
11.3 Agent Host Protections |
|
|
203 | (6) |
|
11.3.1 Security Requirements |
|
|
203 | (1) |
|
11.3.2 Agent Authentication |
|
|
204 | (1) |
|
11.3.3 Privilege Delegation and Agent Authorization |
|
|
205 | (1) |
|
11.3.4 Agent-Oriented Access Control |
|
|
206 | (1) |
|
11.3.5 Proof-Carrying Code |
|
|
207 | (2) |
|
11.4 Mobile Agent Protections |
|
|
209 | (6) |
|
11.4.1 Security Requirements |
|
|
209 | (2) |
|
11.4.2 Integrity Detection |
|
|
211 | (1) |
|
11.4.3 Cryptographic Protection of Agents |
|
|
212 | (3) |
|
11.5 A Survey of Mobile Agent Systems |
|
|
215 | (4) |
12 Naplet: A Mobile Agent Approach |
|
219 | (28) |
|
|
219 | (1) |
|
12.2 Design Goals and Naplet Architecture |
|
|
220 | (6) |
|
|
221 | (2) |
|
12.2.2 NapletServer Architecture |
|
|
223 | (3) |
|
12.3 Structured Itinerary Mechanism |
|
|
226 | (6) |
|
12.3.1 Primitive Itinerary Constructs |
|
|
226 | (1) |
|
12.3.2 Itinerary Programming Interfaces |
|
|
227 | (3) |
|
12.3.3 Implementations of Itinerary Patterns |
|
|
230 | (2) |
|
12.4 Naplet Tracking and Location Finding |
|
|
232 | (3) |
|
12.4.1 Mobile Agent Tracking Overview |
|
|
232 | (2) |
|
12.4.2 Naplet Location Service |
|
|
234 | (1) |
|
12.5 Reliable Agent Communication |
|
|
235 | (3) |
|
12.5.1 PostOffice Messaging Service |
|
|
235 | (2) |
|
12.5.2 NapletSocket for Synchronous Communication |
|
|
237 | (1) |
|
12.6 Security and Resource Management |
|
|
238 | (2) |
|
12.6.1 Naplet Security Architecture |
|
|
239 | (1) |
|
12.6.2 Resource Management |
|
|
240 | (2) |
|
12.7 Programming for Network Management in Naplet |
|
|
242 | (5) |
|
12.7.1 Privileged Service for Naplet Access to MIB |
|
|
243 | (1) |
|
12.7.2 Naplet for Network Management |
|
|
244 | (3) |
13 Itinerary Safety Reasoning and Assurance |
|
247 | (16) |
|
|
247 | (2) |
|
13.2 MAIL: A Mobile Agent Itinerary Language |
|
|
249 | (6) |
|
|
249 | (3) |
|
13.2.2 Operational Semantics of MAIL |
|
|
252 | (3) |
|
13.3 Regular-Completeness of MAIL |
|
|
255 | (2) |
|
13.4 Itinerary Safety Reasoning and Assurance |
|
|
257 | (5) |
|
13.4.1 Itinerary Configuration and Safety |
|
|
257 | (2) |
|
13.4.2 Itinerary Safety Reasoning and Assurance |
|
|
259 | (3) |
|
|
262 | (1) |
14 Security Measures for Server Protection |
|
263 | (16) |
|
|
263 | (2) |
|
14.2 Agent-Oriented Access Control |
|
|
265 | (8) |
|
14.2.1 Access Control in Mobile Codes |
|
|
265 | (2) |
|
14.2.2 Agent Naming and Authentication in Naplet |
|
|
267 | (3) |
|
14.2.3 Naplet Access Control Mechanism |
|
|
270 | (3) |
|
14.3 Coordinated Spatio-Temporal Access Control |
|
|
273 | (4) |
|
14.3.1 Temporal Constraints |
|
|
273 | (2) |
|
14.3.2 Spatial Constraints |
|
|
275 | (2) |
|
|
277 | (2) |
15 Connection Migration in Mobile Agents |
|
279 | (22) |
|
|
279 | (2) |
|
|
280 | (1) |
|
15.2 NapletSocket: A Connection Migration Mechanism |
|
|
281 | (4) |
|
15.2.1 NapletSocket Architecture |
|
|
281 | (1) |
|
|
282 | (3) |
|
15.3 Design Issues in NapletSocket |
|
|
285 | (7) |
|
15.3.1 Transparency and Reliability |
|
|
285 | (3) |
|
15.3.2 Multiple Connections |
|
|
288 | (1) |
|
|
289 | (1) |
|
|
290 | (1) |
|
|
291 | (1) |
|
15.4 Experimental Results of NapletSocket |
|
|
292 | (4) |
|
15.4.1 Effectiveness of Reliable Communication |
|
|
292 | (1) |
|
15.4.2 Cost of Primitive NapletSocket Operations |
|
|
293 | (1) |
|
15.4.3 NapletSocket Throughput |
|
|
294 | (2) |
|
15.5 Performance Model of Agent Mobility |
|
|
296 | (4) |
|
|
296 | (2) |
|
15.5.2 Simulation Results |
|
|
298 | (2) |
|
|
300 | (1) |
16 Mobility Support for Adaptive Grid Computing |
|
301 | (22) |
|
|
301 | (2) |
|
16.2 An Agent-Oriented Programming Framework |
|
|
303 | (4) |
|
|
303 | (2) |
|
16.2.2 Strong Mobility of Multithreaded Agents |
|
|
305 | (2) |
|
16.3 Distributed Shared Arrays for Virtual Machines |
|
|
307 | (8) |
|
|
308 | (1) |
|
|
309 | (1) |
|
16.3.3 DSA Run-Time Support |
|
|
310 | (5) |
|
16.4 Experimental Results |
|
|
315 | (6) |
|
16.4.1 Cost for Creating a Virtual Machine |
|
|
315 | (1) |
|
16.4.2 Cost for DSA Read/Write Operations |
|
|
316 | (2) |
|
16.4.3 Performance of LU Factorization and FFT |
|
|
318 | (3) |
|
|
321 | (2) |
17 Service Migration in Reconfigurable Distributed Virtual Machines |
|
323 | (20) |
|
|
323 | (2) |
|
17.2 M-DSA: DSA with Service Mobility Support |
|
|
325 | (3) |
|
17.2.1 M-DSA Architecture |
|
|
325 | (1) |
|
17.2.2 An Example of M-DSA Programs |
|
|
326 | (2) |
|
17.3 Service Migration in M-DSA |
|
|
328 | (5) |
|
17.3.1 Performance Monitoring for Service Migration |
|
|
328 | (1) |
|
17.3.2 Service Packing and Restoration |
|
|
329 | (2) |
|
17.3.3 Computational Agent State Capture |
|
|
331 | (1) |
|
17.3.4 Service Migration: A Summary |
|
|
332 | (1) |
|
17.4 Interface to Globus Service |
|
|
333 | (2) |
|
17.4.1 Resource Management and Migration Decision |
|
|
333 | (1) |
|
17.4.2 Security Protection |
|
|
334 | (1) |
|
|
335 | (5) |
|
17.5.1 Execution Time of LU and FFT on M-DSA |
|
|
336 | (2) |
|
17.5.2 Service Migration Overhead Breakdown |
|
|
338 | (1) |
|
17.5.3 Security Protection for Intercluster Communication |
|
|
339 | (1) |
|
|
340 | (2) |
|
|
342 | (1) |
18 Migration Decision in Reconfigurable Distributed Virtual Machines |
|
343 | (20) |
|
|
343 | (1) |
|
18.2 Reconfigurable Virtual Machine Model |
|
|
344 | (3) |
|
18.3 Service Migration Decision |
|
|
347 | (6) |
|
18.3.1 Migration Candidate Determination and Service Migration Timing |
|
|
347 | (2) |
|
18.3.2 Destination Server Selection |
|
|
349 | (4) |
|
18.4 Hybrid Migration Decision |
|
|
353 | (3) |
|
18.4.1 Agent Migration Decision |
|
|
353 | (2) |
|
18.4.2 Interplay between Service and Agent Migration |
|
|
355 | (1) |
|
|
356 | (5) |
|
|
361 | (2) |
References |
|
363 | (28) |
Index |
|
391 | |