1. Trang chủ
  2. » Công Nghệ Thông Tin

ĐỊNH DANH TRONG HỆ PHÂN TÁN ppt

74 1,1K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 3,56 MB

Nội dung

Tên, định danh và địa chỉ• Tên: • Thực thể: Entity • Điểm truy cập: Access point • Thực thể và điểm truy cập: ví dụ điện thoại đi động • Địa chỉ: một địa chỉ chỉ là một loại đặc biệt

Trang 1

DISTRIBUTED SYSTEMSPrinciples and Paradigms

Đỗ Minh Nam

Chapter 5 ĐỊNH DANH TRONG HỆ

PHÂN TÁN

Trang 2

5.1 Tên, định danh và địa chỉ

Tên:

Thực thể: Entity

Điểm truy cập: Access point

Thực thể và điểm truy cập: ví dụ điện

thoại đi động

Địa chỉ: một địa chỉ chỉ là một loại đặc biệt

của tên

Trang 3

Names, Identifiers, And Addresses

Một định danh thực sự là một tên:

Properties of a true identifier:

An identifier refers to at most one entity.

Each entity is referred to by at most one

identifier.

An identifier always refers to the same

entity

Trang 4

Names, Identifiers, And Addresses

Phân giải một tên

Ta có một tên; ftp.cs.vu.nl

NS(.) ~ NS(nl) ~ NS(vu.nl) ~ address ofjtp.cs.vu.nl

NS(.) ~ NS(nl) ~ NS(vu.nl) ~ address ofjtp.cs.vu.nl

Trang 5

5.2 Định danh phẳng (Flat naming)

NS(.) ~ NS(nl) ~ NS(vu.nl) ~ address ofjtp.cs.vu.nl

Trang 6

Điểm trỏ chuyển tiếp (Forwarding

Pointers) (1)

Trang 7

Forwarding Pointers (2)

Trang 8

Forwarding Pointers (3)

Trang 9

Home-Based Approaches

Trang 10

Bảng băm phân tán (Distributed Hash

Table - DHT)

Trang 11

DHTs là cơ sở để xây dựng các hệ thống ứng dụng

phân tán như distributed file systems, peer-to-peer file sharing và content distribution systems Bên cạnh đó là các hệ thống web caching, multicast, anycast, domain name services, và instant messaging.

Các hệ thống ứng dụng sử dụng DHTs đáng chú ý có

BitTorrent, eDonkey ….

Bảng băm phân tán (Distributed

Hash Table - DHT)

Trang 12

Bảng băm phân tán (Distributed

Hash Table - DHT)

 DHTs là một lớp (class) của hệ thống phân tán có cấu

trúc, cung cấp khả năng tìm kiếm (lookup) tương tự như bảng hash:

– Là một dạng của cấu trúc bảng băm thông thường.

– Cặp (khóa - key, giá trị - value) được lưu trữ ở DHTs và bất kì node

nào cũng có thể truy vấn lấy value một cách hiệu quả thông qua key

đã cho.

– Hỗ các 3 thao tác: chèn, tìm kiếm, xoá các cặp (key, value).

Trang 13

DHT: Không gian địa chỉ

Không gian địa chỉ của DHT là một tập gồm nhiều số nguyên,

vd: từ 0 … 2 3 -1, 0 … 2 160 -1, v.v….

0

4

2 6

5

1

3 7

Trang 14

DHT: Không gian địa chỉ

Các Node và dữ liệu (data items) được ánh xạ vào cùng một

không gian địa chỉ.

Sử dụng hàm băm bảo mật SHA-1 (sinh ra một số 160 bit).

Đầu vào của hàm băm

– Địa chỉ IP của một Node.

– Tên các files dữ liệu.

– Hoặc nội dung của dữ liệu.

Trang 15

DHT: Không gian địa chỉ

Trong hình vẽ:

– Không gian địa chỉ: 0…65535 (216 -1)

– Được phân hoạch cho 8 Node

Trang 16

DHT: Quản lý dữ liệu

 Địa chỉ IP của một node được băm để xác định vị trí của

nó trong bảng băm

– NodeID = SHA-1(Node IP Address)

Mỗi file dữ liệu được gán một số định danh (Key)

– Key = SHA-1(tên file) hoặc SHA-1(nội dung file).

– Key là giá trị duy nhất trong không gian địa chỉ.

 Mỗi node quản lý một khoảng giá trị trong không gian địa

chỉ

 Dữ liệu được lưu trữ ở node và được quản lý khoá của

dữ liệu

Trang 18

DHT: Tìm kiếm dữ liệu

Thông điệp tìm kiếm khoá K sẽ được chuyển đi lần lượt

đến các node trong DHT cho đến khi gặp node quản lý khoá K.

Trang 19

DHT: Cơ chế quản lý

Một node ra nhập (join) hoặc rời bỏ (leave) hệ thống được

quản lý như thế nào?

Node Join: 4 bước

– Step 1: liên lạc với một node tồn tại trong DHT.

– Step 2: xác định khoảng địa chỉ mà nó quản lý.

– Step 3: cập nhật lại thông tin phục vụ cho việc tìm kiếm.

– Step 4: chuyển tất cả các cặp (Key, Value) thuộc quyền quản lý từ node

trước về nó.

Trang 20

DHT: Cơ chế quản lý

Node Leave: 2 bước

– Step 2: chuyển các cặp (Key, Value) của nó về node trước nó.

– Step 2: cập nhật lại thông tin phục vụ cho việc tìm kiếm.

Trang 21

Giới thiệu giao thức DHT

I Stoica, R Morris, D Karger, F Kaashoek, and H Balakrishnan Chord:

A scalable Peer-To-Peer lookup service for internet applications In

Proceedings of the 2001 ACM SIGCOMM Conference, p 149–160, 2001.

Trang 22

Mạng ngang hàng Chord

0

4

2 6

keys 2

keys

keys

7 5

Trang 23

Mạng ngang hàng Chord

Là một trong nhiều giao thức sử dụng DHTs (các giao

thức sử dụng DHTs khác như CAN, Pastry, Viceroy…).

Hệ thống tìm kiếm và lưu trữ thông tin P2P.

Cho một khoá (data item), nó ánh xạ khoá đó vào một

Trang 24

• ID(Node) = SHA-1(IP Address)

Định danh của một mục dữ liệu (Key) là giá trị băm của

tên hoặc nội dung dữ liệu (phụ thuộc vào ứng dụng).

• ID(Key) = SHA-1(tên file)

• ID(key) = SHA-1(nội dung file)

Trang 25

Chord: Không gian địa chỉ

Trong một không gian định danh m-bit sẽ có 2m định

danh.

Các định danh được xếp theo thứ tự vòng tròn modulo

2m.

Vòng tròn định danh được gọi là vòng tròn Chord.

Cặp (k,v) được lưu ở node đầu tiên có định danh lớn hơn

hoặc bằng key trong không gian định danh.

Node như vậy được gọi là successor k, được ký hiệu là

successor(k).

Trang 27

Chord: Join and Departure

Khi node n join vào mạng, các khoá do n quản lý đã

được gán cho successor của n bay giờ sẽ được gán trả lại cho n

0

2 6

keys 2

keys

keys

7 5

Trang 28

Chord: Join and Departure

Khi node n rời mạng thì tất cả khoá do nó quản lý sẽ được chuyển cho successor của nó.

0

2 6

1 7

keys 1

keys

keys

keys 6

7

Trang 29

Chord: Tìm kiếm đơn giản

Mỗi node chỉ biết successor của nó trong vòng tròn

định danh, như vậy có thể duyệt qua các node theo thư

tự tuyến tính.

Các câu truy vấn với một định danh cho trước được

chuyển quanh vòng tròn thông qua các con trỏ successor cho đến khi gặo node chứa khoá cần tìm.

Trang 30

Chord: Tìm kiếm đơn giản

1

2 6

0

4

2 6

successor(0) = 1

Node 0 gửi câu truy vấn

với key = 6

Trang 31

Chord: Tìm kiếm đơn giản

Đoạn giả Code để tìm successor:

// ask node n to find the successor of id

Trang 32

Chord: Tìm kiếm nâng cao

Thông tin bổ sung này không phải là bản chất cho vấn

đề tính đúng đắn.

Trang 33

Ch ord – Finger Tables

Để tăng tốc độ tìm kiếm, Chord duy trì thêm thông tin

tìm đường.

bit biểu diễn vòng tròn định danh), được gọi là finger table.

node đầu tiên s theo sau node n bởi ít nhất là 2i-1 trong vòng tròn định danh.

Trang 34

1

3 7

finger table keys

0+2 0

0+2 1

0+2 2

1 2 4

[1,2) 3

3 6

[2,4) [4,0)

finger table keys

For start Int Succ.

3+2 0 4 [4,5) 6

1 2

finger table keys

For start Int Succ.

[0,2) [2,6)

5

Trang 35

Chord – tìm kiếm mở rộng

Giả code để tìm successor của một định danh

Walk clockwise to find the node which precedes id and whose successor succeeds id

Start with the m th finger of node n See if it comes between node n and the id, if not, check the m-1 th

finger until we find one wich does.

This is the closest node preceding id Find id’s successor by finding the immediate predecessor of the id

Trang 36

Chord – Tìm kiếm mở rộng

0

4

2 6

5

1

3 7

finger table keys

finger table keys

1 2

finger table keys

Successor

finger table keys

7

4 7

successor(5) = 7

4

Trang 37

Chord - Node joins

Các công việc được thực hiện

– Khởi tạo predecessor và bảng finger table của node n.

– Cập nhật lại bảng finger table và predecessor của các node tồn tại khi

có thêm node n.

– Chuyển các khoá thích hợp cho node n quản lý.

Trang 38

Chord Algorithm - Node joins

0

4

2 6

5

1

3 7

finger table keys

finger table keys

1 2

finger table keys

6 4

Successor 0

Predecessor 35

Successor 3 Predecessor 6

Successor 6 Predecessor 0

finger table keys

6 [6,7)

7 [7,1)

7 7

Khởi tạo bảng fingers và predecessor

find_successor(6);

Trang 39

Chord - Node joins

0

4

2 6

5

1

3 7

finger table keys

5

finger table keys

finger table keys

6 4

Successor 0

Predecessor 35

Successor 3 Predecessor 6

Successor 7 Predecessor 0

5

finger table keys

6 [6,7)

7 [7,1)

1 [1,5)

7 7 3

Successor

Predecessor

7 3

5

Cập nhật bảng fingers của các node trong mạng

3 3

P = find_predecessor(n-2 i-1 )

i = 1, P = find_predecessor(4)

3

Trang 40

Chord - Node joins

0

4

2 6

5

1

3 7

finger table keys

6

finger table keys

finger table keys

6 4

Successor 0

Predecessor 35

Successor 3 Predecessor 6

Successor 6 Predecessor 0

5

finger table keys

6 [6,7)

7 [7,1)

7 7

5

Chuyển các Keys

Trang 41

Chord – node joins

Trang 42

Chord - Stabilization

Stabilization

– Đảm bảo tính đúng đắn và hiệu quả.

– Đảm bảo tính cập nhật cho các node‘s successor.

– Sử dụng successor pointers để đảm bảo tính đúng đắn của các bản

ghi trong các bảng finger.

Trang 43

Chord - Stabilization

Giả code cho quá trình stabilization

Join does not make the rest of the network aware of n

Every node runs stabilize periodically, to verify the successor

Use successor pointers to

Node n asks its successor for the successor’s predecessor x.

See if x should be n’s successor instead (happens if x recently joined the system)

Notify n’s successor of n’s exist Successor changes its predecessor to n if it knows no closer predecessor than n.

Trang 44

Distributed Hash Tables

General Mechanism

Figure 5-4

Resolving key

26 from node 1

Trang 45

Hierarchical Approaches (1)

Trang 46

Hierarchical Approaches (2)

Trang 47

Hierarchical Approaches (3)

Trang 48

Hierarchical Approaches (4)

Trang 49

Hierarchical Approaches (5)

Trang 50

Name Spaces (1)

Trang 51

Name Spaces (2)

Trang 52

Linking and Mounting (1)

Trang 53

Name space

Observation

We can easily store all kinds of attributes in a node,

describing aspects of the entity the node represents:

– Type of the entity

– An identifier for that entity

– Address of the entity’s location

Trang 54

The mechanism to select the implicit context from which to

start name resolution:

– www.cs.vu.nl: start at a DNS name server

– /home/steen/mbox: start at the local NFS file server (possible recursive

search)

– 0031204447784: dial a phone number

– 130.37.24.8: route to the VU’s Web server

Trang 55

Linking: kĩ thuật này sử dụng bí danh (alias) - tên giống với tên

của thực thể Với kĩ thuật này cho phép nhiều đường dẫn cùng tham chiếu đến cùng một nút trên đồ thị tên Một cách tiếp cận khác là dùng một nút lá không phải để lưu trữ địa chỉ hay trạng thái của thực thể mà để lưu trữ đường dẫn tuyệt đối tới thực thể đó.

Mounting: là kĩ thuật được thực hiện khi tìm kiếm trên hai không

gian tên Một nút thư mục được gọi là một mount point (điểm

gắn kết) lưu giữ id (hoặc các thông tin cần thiết cho việc xác định và truy nhập) một nút thư mục bên phía không gian tên

cần gắn kết được gọi là mounting point.

Trang 56

Linking and Mounting (2)

Information required to mount a foreign

name space in a distributed system

The name of an access protocol.

The name of the server.

The name of the mounting point in the

foreign name space.

Trang 57

Linking and Mounting (3)

Trang 58

Name-space implementation

Basic issue

Distribute the name resolution process as well as name space management

across multiple machines, by distributing nodes of the naming graph.

Distinguish three levels

Global level: Consists of the high-level directory nodes Main aspect is

that these directory nodes have to be jointly managed by different administrations

Administrational level: Contains mid-level directory nodes that can be

grouped in such a way that each group can be assigned to a separate administration.

Managerial level: Consists of low-level directory nodes within a single

administration Main issue is effectively mapping directory nodes to

Trang 59

Name Space Distribution (1)

Trang 60

Name Space Distribution (2)

Trang 61

Implementation of Name Resolution (1)

Iterative name resolution

1 resolve(dir,[name1, ,nameK]) sent to Server0 responsible for dir

2 Server0 resolves resolve(dir,name1) ! dir1, returning the identification (address) of Server1, which stores dir1.

3 Client sends resolve(dir1,[name2, ,nameK]) to Server1, etc.

Trang 62

Implementation of Name Resolution (2)

Recursive name resolution

1 resolve(dir,[name1, ,nameK]) sent to Server0 responsible for dir

2 Server0 resolves resolve(dir,name1) ! dir1, and sends resolve(dir1,[name2, ,nameK]) to

Server1, which stores dir1.

3 Server0 waits for result from Server1, and returns it to client.

Trang 63

Implementation of Name Resolution (3)

Trang 64

Example: The Domain Name System

Trang 65

The DNS Name Space

Trang 66

DNS Implementation (1)

Trang 67

DNS Implementation (2)

Trang 68

DNS Implementation (3)

Trang 69

Hierarchical Implementations: LDAP (1)

Trang 70

Hierarchical Implementations: LDAP (2)

Trang 71

Hierarchical Implementations: LDAP (3)

Figure 5-23 (b) Two directory entries

Trang 72

Mapping to Distributed Hash Tables (1)

Trang 73

Mapping to Distributed Hash Tables (2)

Trang 74

Semantic Overlay Networks

Ngày đăng: 12/07/2014, 22:20

TỪ KHÓA LIÊN QUAN

w