Chord là một trong những mạng DHT phổ biến nhất, với những đặc điểm riờng mang tớnh ƣu thế của mỡnh. Hai trong số những đặc đểm của Chord khụng thể khụng kể đến đú là khả năng tỡm kiếm dữ liệu nhanh và cõn bằng tải giữa cỏc nỳt.
Một đặc điểm của mạng DHT dễ nhận thấy ở Chord là sự phõn phỏt khúa tƣơng đối đồng đều vào cỏc nỳt trong mạng. Đõy chớnh là hệ quả của việc sử dụng kỹ thuật băm phự hợp (consistent hashing) để cấp khúa cho cỏc nỳt. Phƣơng thức hỡnh thành khúa phổ biến thƣờng đƣợc dựng là băm giỏ trị của dữ liệu để tạo thành khúa. Giỏ trị dữ liệu ở đõy cú thể là địa chỉ, tờn tài liệu,… Mỗi loại dữ liệu cú những đặc điểm khỏc nhau, tựy từng trƣờng hợp mà giỏ trị nào đƣợc sử dụng sao cho phự hợp với ứng dụng nhất. Sự phõn bổ khúa trong giao thức Chord thƣờng đi kốm với dữ liệu, thƣờng là một cặp (khúa, giỏ trị). Khúa đƣợc coi nhƣ phƣơng thức chỉ đƣờng cú thể tỡm thấy giỏ trị hay dữ liệu một cỏch nhanh nhất.
Chord đƣợc mụ tả dƣới dạng một vũng trũn và cú khụng gian định danh cỡ N, với N số bit định danh của khụng gian. Mạng Chord sẽ cú thể chứa tối
đa 2N nỳt. Một nỳt trong Chord cú thể cú một định danh ID, và cỏc định danh ID trong mạng Chord sẽ sắp xếp thành vũng trũn và tăng theo chiều kim đồng hồ. Chord sử dụng một hàm băm để sinh định danh cho nỳt và dữ liệu của nỳt, đầu ra của hàm băm là một giỏ trị N bit. Để đảm bảo xỏc suất định danh trựng nhau thấp, N phải đủ lớn. Với Chord, N thƣờng là 160 bit. Một nỳt trỏ tới nỳt tiếp theo là nỳt cú ID lớn hơn, gọi là successor(ID), và một nỳt nữa cú ID nhỏ hơn, đƣợc gọi là predecessor(ID). Cỏc nỳt liờn kết với nhau dựa vào successor và predecessor của nú.
Hỡnh 2.1 : Một mạng Chord với 3 nỳt
Mỗi nỳt sẽ lƣu một bảng định tuyến gọi là Finger Table. Thay vỡ phải tỡm kiếm tuyến tớnh, bảng định tuyến cho phộp một nỳt định tuyến tới cỏc nỳt ở xa. Mỗi dũng trong bảng Finger Table sẽ lƣu thụng tin về một nỳt ở xa, gọi là 1 entry. Entry thứ i sẽ lƣu nỳt là seccessor của khúa cú định danh cỏch định danh nỳt đang xột 2i theo chiều tiến của vũng Chord. Vỡ vậy, khụng gian định danh cú bao nhiờu bit thỡ Finger Table cú bấy nhiờu entry.
Chord ỏnh xạ cỏc khúa vào cỏc nỳt, thƣờng sẽ là một cặp khúa – giỏ trị. Một giỏ trị cú thể là 1 địa chỉ, 1 văn bản hoặc 1 mục dữ liệu. Chord cú thể thực hiện chức năng này bằng cỏch lƣu cặp khúa – giỏ trị ở cỏc nỳt mà khúa đƣợc ỏnh xạ. Một nỳt sẽ chịu trỏch nhiệm lƣu giữ một khúa k nếu nỳt đú là nỳt
cú định danh id nhỏ nhất và lớn hơn k. Một nỳt khi lƣu trữ khúa k sẽ gọi là successor(k).
Với mạng cảm biến khụng dõy sử dụng Chord. Việc làm thế nào để xỏc định vị trớ cỏc nỳt cảm biến một cỏch hiệu quả là vấn đề cơ bản cần phải đối mặt với cỏc ứng dụng của mạng cảm biến khụng dõy. Cỏc kỹ thuật bảng băm phõn tỏn đƣợc biết, sử dụng những giao thức mạng ngang hàng (P2P). Chỳng cung cấp thời gian tra cứu dữ liệu gần nhƣ tối ƣu cho cỏc truy vấn đƣợc thực hiện trờn mạng của cỏc nỳt phõn phối. Muneeb Ali etal đó đề xuất một phƣơng phỏp mới, kỹ thuật Chord giành cho mạng cảm biến cú sử dụng DHTs. Gọi là Chord for Sensor Network – CSN [10]. CSN đƣợc sử dụng để ràng buộc về thời gian tra cứu dữ liệu, theo thứ tự O(logN) thụng điệp gửi đi một cỏch tiết kiệm năng lƣợng.
Hỡnh 2.2: Alpha-1 và Alpha-m sẽ khụng thực hiện giao tiếp trực tiếp
Khụng giống nhƣ cỏch xõy dựng kỹ thuật cho cỏc DHTs khỏc, CSN cung cấp những đảm bảo mạnh mẽ, đỏng tin cậy và thực hiện cỏc chức năng tra cứu của mỡnh trong thời gian đƣợc dự đoỏn trƣớc và luụn đƣa ra kết quả thành cụng hay thất bại nhất định. CSN chạy trờn 2 chế độ tiết kiệm năng lƣợng. Đú là: EEmode (energy-efficient mode) và Rmode (Robust mode). Bởi vỡ cỏc nỳt trong mạng cảm biến cú năng lƣợng hạn chế. Nờn mỗi nỳt cần phải cú một vũng kết nối để giao tiếp đƣợc với nỳt gần nú nhất, và tỡm đến những nỳt cảm biến gần với nú nhất về mặt địa lý (giống nhƣ việc tỡm những đƣờng đi ngắn nhất). Để giải quyết vấn đề này, CSN sử dụng phƣơng phỏp chuỗi
(Chain method) và phƣơng phỏp thiết lập mức trung bỡnh (SAM). Trong hỡnh 2.2 trờn, đƣa ra minh họa về việc alpha 1 đầu tiờn tạo ra một kết nối với alpha m. Trong thực tế, khoảng cỏch địa lý giữa alpha 1 và alpha m cú thể là lớn hơn trờn minh họa nhiều. Dẫn đến việc truyền thụng giữa chỳng sẽ khụng thực hiện đƣợc. Và phƣơng phỏp để giải quyết vấn đề này bằng cỏch tạo ra vũng kết nối theo chiều kim đồng hồ. Trong khi hoạt động bờn trong Rmode, cỏc chức năng của CSN tƣơng tự nhƣ Chord và cú thể giải quyết việc tra cứu với độ phức tạp giới hạn O(logN) thụng điệp. Nhƣng để hiệu quả với những dữ liệu tra cứu đƣợc thực hiện bằng việc tiờu thụ năng lƣợng lớn hơn, mỗi nỳt trực tiếp gửi thụng điệp đến một nỳt xa hơn từ nú. Cỏc Rmode sẽ chỉ đƣợc sử dụng nếu cỏc yờu cầu ứng dụng khụng thể đƣợc đỏp ứng bởi EEmode. Trong EEmode, cỏc hoạt động gửi thụng điệp một cỏch hợp lý đến một nỳt đƣợc tỏch ra từ việc định tuyến thực tế và định tuyến thụng điệp diễn ra ở cỏc nỳt giao nhau và chỉ cựng với nỳt gần nhất của nú. EEmode là chế độ hoạt động mặc định và CSN sẽ chuyển thành Rmode khi và chỉ chi yờu cầu ứng dụng cú độ trễ khụng thể đỏp ứng bởi EEmode. Bởi vỡ CSN sử dụng việc sao chộp dữ liệu để xử lý khi cỏc nỳt liờn kết gặp thất bại. Nhƣng mỗi nỳt cảm biến là một thiết bị bị giới hạn về lƣu trữ và năng lƣợng. Do đú hạn chế khả năng lƣu trữ cú thể trở thành một khú khăn lớn của CSN trong khả năng mở rộng mạng lƣới.
Phƣơng thức thiết lập trung bỡnh (SAM) phự hợp hơn với Rmode, nú sẽ cố gắng giảm thiểu khoảng cỏch giữa mỗi cụm, nối liền cỏc nỳt với cỏc cụm thành viờn khỏc. Phƣơng thức này khụng đảm bảo xử lý đƣợc mỗi αi sẽ là nỳt gần với nú nhất về mặt địa lý. Cả hai chế độ Rmode và EEmode hoạt động một cỏch chớnh xỏc bất kể khi sử dụng phƣơng thức gỡ để thiết kế cỏc cụm (cluster). Tuy nhiờn nếu sử dụng Rmode cho thiết lập ban đầu thỡ nờn chọn việc thực hiện theo phƣơng thức trung bỡnh (Chain method), cũn nếu sử dụng chế độ EEmode thỡ phƣơng thức chuỗi là điều nờn lựa chọn.
2.1.2. Phương thức chuỗi (Chain method)
Cho cỏc mức độ phõn cấp của cụm là: i = 0,1,…,m; tạo πi = { tất cả cỏc cảm biến tham gia ở mức độ i}. Ban đầu δi = 0, hơn nữa π0 = {tất cả cỏc mạng cảm biến đƣợc triển khai}. Cho αi = cảm biến đƣợc xem xột, β = trạm cơ sở và cho αi .successor = cỏc xử lý theo chiều kim đồng hồ của αi trờn vũng trũn cỏc cụm. Hàm min( X ) của một cảm biến với khoảng cỏch tối thiểu từ X, tại đú X cú thể là trạm cảm biến hoặc cú thể là trạm cơ sở. Cho λi = số lƣợng lớn nhất cỏc nỳt cảm biến với một cụm ở mức i, và cho ω = phần đầu của cụm C. τ = tạo bộ cảm biến bao gồm trong cỏc cụm của C, và |τ | = số phần tử trong tập hợp τ . Kỹ thuật phƣơng thức chuỗi ở mức 0 đƣợc đƣa ra ở hỡnh 2.3
Hỡnh 2.3: Thuật toỏn mụ phỏng phương thức chuỗi (Chain) với phõn cấp hệ thống ở mức 0.
2.1.3. Phương thức lấy trung bỡnh (Set-Average Method)
Giao thức SAM: Ngoài những yếu tố đó đƣợc xỏc định trong phƣơng thức chuỗi, cho vk = một danh sỏch, và , and ε = một tập hợp. Hàm Min(X,M) cũng tƣơng tự nhƣ hàm Min(X) đó đƣợc mụ tả ở trờn, nhƣng thay vỡ đƣa ra cỏc tập cảm biến gần nhất, hàm sẽ đƣa ra danh sỏch những cảm biến gần nhất từ M đến X. Thuật toỏn giao thức SAM ở mức 0 đƣợc đƣa ra ở hỡnh 2.4
Hỡnh 2.4: Thuật toỏn theo phương thức lấy trung bỡnh với phõn cấp hệ thống ở mức 0
2.1.4. EEmode và Rmode
Trong khi hoạt động ở Robust mode (Rmode), thỡ chức năng của CSN tƣơng tự nhƣ Chord trong P2P và cú thể giải quyết việc tra cứu dữ liệu với một ràng buộc về độ phức tạp O(logN) thụng điệp. Nhƣng khi tra cứu dữ liệu đƣợc thực hiện với hoạt động tiờu thụ năng lƣợng lớn hơn, nhƣ việc mỗi nỳt gửi một thụng điệp trực tiếp đến một nỳt với đƣờng truyền xa từ nú. Nờn Rmode sẽ đƣợc sử dụng khi ứng dụng yờu cầu độ trễ khụng thể đỏp ứng đƣợc bằng EEmode. Trong EEmode cỏc hoạt động gửi thụng điệp đến một nỳt đƣợc tỏch ra từ phõn tớch định tuyến thực tế và định tuyến của thụng điệp diễn ra chỉ với nỳt hàng xúm gần nhất của nú.
Hỡnh 2.5: Sự giao thoa về xử lý giữa Rmode và EEmode
Ta xem xột vớ dụ thể hiện trong hỡnh 2.5. Cỏch phƣơng thức định dạng cỏc cụm đảm bảo khoảng cỏch (α1 , α4) ≥ khoảng cỏch (α1, α2). Do đú, nếu α1 quyết định gửi tin nhắn trực tiếp đến α4, diễn ra trong Rmode thỡ số cỏc bƣớc nhảy của thụng điệp sẽ là tối thiểu nhƣng với mức chi phớ giành cho năng lƣợng lớn hơn cả α1, α4. Mặt khỏc, theo EEmode, α1 sẽ định tuyến cỏc thụng điệp đến α4 thụng qua α2, α3. Số lƣợng cỏc bƣớc nhảy của thụng điệp cung cấp sẽ lớn hơn Rmode nhƣng năng lƣợng tiờu thụ cho mỗi bƣớc nhảy sẽ ớt hơn.
EEmode là chế độ mặc định của CSN và CSN sẽ chuyển sang Rmode chỉ khi yờu cầu về ứng dụng cú độ trễ mà EEmode khụng đỏp ứng đƣợc. Ứng dụng cho phộp độ trễ, gọi là d, đƣợc so sỏnh với độ trễ của giỏ trị ngƣỡng Γd và nếu (d ≤ Γd) Rmode hoặc EEmode.Với Rmode tất cả cỏc thụng điệp của một nỳt đƣợc phõn phối trực tiếp đến nú. Trong khi đú, trong EEmode tất cả cỏc thụng điệp đến một nỳt sẽ đƣợc chuyển tiếp một cỏch giỏn tiếp, bằng cỏch mỗi thụng điệp sẽ đi qua hàng xúm gần nhất với nỳt gửi tin trƣớc. Một hỡnh thức lai giữa EEmode và Rmode cũng cú thể thực hiện đƣợc. Trong việc lai giữa hai chế độ sẽ đƣa ra quyết định giữa việc nờn sử dụng Rmode hay là EEmode.
2.1.5. Lưu đồ kỹ thuật Chord cho mạng cảm biến khụng dõy Lưu đồ kỹ thuật truyền tin trong CSN
Bắt đầu Đỳng Sai Bản tin Giao thức Chain Giao thức SAM Chế độ EEmode Chế độ Rmode
Xử lý bản tin tại điểm đớch Độ trễ lớn
Lưu đồ liờn kết mạng trong CSN
2.1.6. Nhận xột về kỹ thuật Chord cho mạng cảm biến
Ưu điểm: CSN cung cấp phƣơng tiện để định vị dữ liệu trong mạng cảm biến khụng dõy hiệu quả. Cỏc cảm biến của CSN hoạt động ở chế độ năng lƣợng thấp, trừ khi cú những truy vấn từ ứng dụng đƣợc thực hiện. Điều này làm tăng đỏng kể tuổi thọ của mạng cảm biến, đặc biệt là khi truy vấn dữ liệu từ ứng dụng là việc ớt khi xảy ra. Hiệu suất Rmode của CSN là rất ấn tƣợng, cựng với EEmode, CSN thực hiện việc tra cứu dữ liệu với độ phức tạp O(logN) nờn cung cấp một đảm bảo mạnh mẽ cho cho cỏc ứng dụng chạy với hiệu suất rất cao. CSN cũng đƣợc cho là phự hợp với mạng cảm biến quy mụ lớn.
Hạn chế: Với CSN việc giải quyết cỏc vấn đề về di động của cỏc nỳt là một thỏch thức khụng nhỏ. Bởi cỏc giao thức trong CSN đũi hỏi sự sắp xếp nghiờm ngặt của cỏc nỳt và cỏc đƣờng định tuyến. Giải quyết cho vấn đề này bằng cỏch cập nhật nhanh cỏc thay đổi của finger table nhằm giữ cho cỏc finger table liờn tục đƣợc cập nhật. Trong CSN mỗi nỳt ở cấp i=0 thỡ việc lƣu trữ cỏc finger table khụng chỉ là O(logN) cỏc nỳt thành viờn của nhúm C mà
Successor(ID) Kiểm tra nỳt hang xúm gần
nhất
Predecessor (ID) IDi < IDi+1
Đỳng
cũn của tất cả cỏc thành viờn ở cấp thấp hơn. Điều này làm tăng yờu cầu về lƣu trữ của cỏc nỳt cảm biến và giới hạn lƣu trữ của nỳt cú thể sẽ trở thành hạn chế lớn cho khả năng mở rộng mạng. Một số cỏc nghiờn cứu khoa học khỏc đang thực hiện nhằm giải quyết vấn đề này. Đú là tăng khụng gian lƣu trữ của bộ cảm biến vật lý.
2.2. Kỹ thuật định tuyến băm ụ – CHR ( Cell Hash Routing)
2.2.1 Nghiờn cứu về CHR
CHR tập trung vào cỏc vấn đề của việc thực hiện bảng băm phõn tỏn trong mạng khụng dõy ad-hoc. Đƣợc thiết kế với mục tiờu trƣớc tiờn dựng để đối phú với vấn đề hạn chế năng lƣợng, phạm vi giao tiếp trong toàn mạng và việc dịch chuyển của cỏc nỳt trong mạng.
CHR phải khắc phục cỏc vấn đề nhƣ năng lƣợng hạn chế, phạm vi giao tiếp và tớnh di động bằng cỏch sử dụng nỳt thụng tin vị trớ trờn đầu cỏc cụm của DHTs. CHR đó chia khụng gian thành cỏc ụ cú kớch thƣớc nhƣ nhau và đều cú hỡnh dạng ụ vuụng, nhƣ dạng lƣới đƣợc minh họa trong hỡnh 2.6. Tất cả cỏc nỳt trong cựng một ụ, thuộc cựng một cụm. CHR sử dụng khỏi niệm của cụm nhƣ một loại “super node”, nơi cỏc tƣơng tỏc xảy ra ở cấp độ cụm. Vỡ ụ là bất biến, cụm cú thể nhận đƣợc một nhận dạng khụng thay đổi theo thời gian. Vỡ vậy, cỏc nỳt luụn luụn cú thể xỏc định cỏc cụm của chỳng, thậm chớ tự động về mặt kịch bản, khi mà chỳng di chuyển từ ụ này sang ụ khỏc.
Kớch thƣớc của cỏc ụ bị giới hạn bởi phạm vi giao tiếp của cỏc nỳt, bởi vỡ một nỳt trong một ụ phải luụn lắng nghe bất kỳ ụ nào khỏc, hoặc nội bộ trong ụ của mỡnh hoặc trong bất cứ ụ lõn cận nào. Giả định rằng cú một loạt thụng tin liờn lạc của R, vỡ vậy kớch thƣớc cỏc ụ vuụng nhiều nhất là
8
R .
CHR sử dụng một đề ỏn định tuyến dựa trờn GPSR kết hợp cựng với một thuật toỏn tiền xử lý. Hàm băm xỏc định cụm duy nhất mà sẽ giữ 1 cặp gồm: (khúa, giỏ trị ). Trong trƣờng hợp của cặp đụi (khúa A, giỏ trị A), cụm giành cho nhận dạng băm (khúa A) sẽ chịu trỏch nhiệm lƣu trữ giỏ trị A. Vớ dụ: Hóy xem
xột cặp (“Bob”, 18), nơi mà chỡa khúa “ Bob ” băm đến ụ 144. Trong trƣờng hợp này, giỏ trị 18 sẽ đƣợc lƣu trữ vào ụ 144. Cụng thức (1) dƣới đõy chi thấy làm thế nào để xỏc định địa chỉ của một ụ. Dx và Dy là hai kớch thƣớc độ lớn của khụng gian; dx, dy là kớch thƣớc của mỗi ụ và Lx, Ly là tọa độ của điểm trung tõm trong một ụ ( nú cú thể là bất cứ điểm nào bờn trong ụ). Vớ dụ, cụng thức này rất hữu ớch để cho một nỳt xỏc định số trong ụ chứa nú.
Hỡnh 2.6: Phõn chia khụng gian thành cỏc ụ với kớch thước cố định
Cụng thức: A = [ Dx/dx] * [Ly/dy] + [Lx/dx] (1)
2.2.2. Phần bờn trong của một ụ
Do kớch thƣớc của một ụ bị giới hạn bởi phạm vi giao tiếp giữa cỏc nỳt. Một yờu cầu bắt buộc là một ụ luụn luụn phải giao tiếp đƣợc với bất cứ nỳt nào ở trong hay ngoài ụ của mỡnh hoặc cỏc ụ lõn cận. Hạn chế này đƣa ra sẽ đảm bảo rằng trong hầu hết cỏc trƣờng hợp, cỏc nhúm mạng vẫn đƣợc kết nối, miễn sao mạng khởi tạo ban đầu cú kết nối, ngay cả khi chỉ cú một nỳt đang hoạt động trong một ụ.
Điều này cú thể đƣợc nhỡn thấy trong hỡnh 2.6. Cú 8 ụ, mỗi ụ cú chứa một nỳt. Yờu cầu cỏc nỳt trong một ụ cú thể giao tiếp với tất cả cỏc nỳt khỏc trong ụ và cỏc ụ lõn cận. Việc này làm đƣợc chủ yếu là do: Thứ nhất là cỏc chƣơng trỡnh định tuyến yờu cầu cỏc nỳt kiểm tra cú hay khụng cú cỏc ụ lõn