(SPIN)
SPIN là họ các giao thức phân phối thông tin dựa trên thỏa thuận tập trung dữ liệu (data – centric) cho mạng cảm biến không dây. Các giao thức flooding và gossiping được sử dụng để phân phối thông tin trong mạng cảm biến không dây với các nguyên tắc chuyển tiếp đơn giản và không yêu cầu duy trì cấu trúc topo. Quá trình hoạt động của thuật toán có liên quan đến tài nguyên và trễ, tuy nhiên, cũng gây ra giảm kích thước mạng và tải lưu lượng, do bùng nổ lưu lượng và chồng lấn về mặt địa lý mà nguyên nhân là do tạo ra nhiều bản sao của cùng dữ liệu được chuyển đến cùng một node. Mặt khác, chồng lấn về mặt địa lý do các node bao phủ cùng một khu vực địa lý để phân tán thông tin dữ liệu giống nhau và không cần thiết đến các node trong mạng. Các giao thức này không thay đổi cách ứng xử để tương thích với quá trình tính toán và liên lạc ở trạng thái tài nguyên năng lượng hiện tại.
Mục tiêu chính của SPIN và các giao thức thuộc họ SPIN là chỉ ra những nhược điểm của các giao thức phân phối dữ liệu truyền thống và khắc phục những nhược điểm này. Nguyên lý cơ bản của họ các giao thức này là thích ứng tài nguyên và thỏa thuận dữ liệu. Thỏa thuận dữ liệu (data negotiation) dựa trên semantic yêu cầu các node sử dụng giao thức SPIN phải “học” về nội dung của dữ liệu trước khi có
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
bất kỳ dữ liệu nào được truyền giữa các node mạng. Giao thức SPIN khai thác tên dữ liệu, vì vậy các node sẽ kết nối metadata với dữ liệu mà nó tạo ra và sử dụng các dữ liệu được mô tả này để thực hiện thỏa thuận trước khi truyền dữ liệu thực. Nếu máy thu muốn nhận dữ liệu mà nó quan tâm thì phải gửi yêu cầu để thu thập dữ liệu được quảng bá. Quá trình này tạo ra sự thỏa hiệp nhằm đảm bảo rằng dữ liệu chỉ được gửi từ các node được quan tâm, vì vậy sẽ ngăn ngừa sự bùng nổ lưu lượng và giảm việc truyền dữ liệu thừa qua mạng. Ngoài ra, sử dụng mô tả metadata cũng giúp giảm khả năng bị chồng lấn.
Thích ứng tài nguyên cho phép các node cảm biến đang chạy giao thức SPIN điều chỉnh hoạt động của chúng để phù hợp với trạng thái năng lượng hiện tại của chúng. Mỗi node trong mạng có thể thăm dò bộ quản lý tài nguyên để kiểm tra việc tiêu thụ tài nguyên trước khi truyền hoặc xử lý dữ liệu. Khi mức năng lượng hiện tại xuống thấp, node có thể giảm hoặc dừng hoàn toàn các hoạt động, ví dụ như chuyển tiếp các gói dữ liệu hoặc metadata đến bên thứ ba. Chức năng tương thích tài nguyên của giao thức SPIN cho phép các node kéo dài tuổi thọ và từ đó, kéo dài thời gian sống cho mạng. Để thực hiện thỏa thuận và truyền dữ liệu, các node chạy giao thức SPIN sẽ sử dụng ba loại bản tin.
Loại bản tin thứ nhất được sử dụng để quảng bá dữ liệu mới giữa các node. Node mạng có dữ liệu được chia sẻ với các node duy trì của mạng có thể quảng cáo dữ liệu của nó bằng cách truyền một bản tin ADV có chứa metadata để mô tả dữ liệu.
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
Loại bản tin thứ hai, REQ, được sử dụng để yêu cầu dữ liệu đã quảng bá trước đó. Sau khi nhận được một gói ADV có chứa metadata, node mạng quan tâm đến việc nhận dữ liệu sẽ gửi bản tin REQ đến node quảng bá metadata, node này sẽ chuyển dữ liệu được yêu cầu.
Loại bản tin thứ ba, DATA, chứa dữ liệu thực được bộ cảm biến thu thập, cùng với mào đầu metadata. Về cơ bản, bản tin DATA lớn hơn các bản tin ADV và REQ. Sau đó Các bản tin chỉ chứa metadata và có kích thước nhỏ hơn bản tin DATA tương ứng. Việc hạn chế các gói dư giúp giảm đáng kể năng lượng tiêu thụ.
Cách ứng xử cơ bản của giao thức SPIN được biểu diễn trong hình 2.5 [3] với nguồn dữ liệu là node cảm biến A, sẽ quảng cáo dữ liệu của nó đến node lân cận trung gian là node B, bằng cách gửi bản tin ADV chứa metadata. Node B thể hiện mong muốn nhận dữ liệu được quảng cáo và gửi bản tin REQ để thu thập dữ liệu. Để thu dữ liệu, node B gửi bản tin ADV để quảng cáo dữ liệu được thu mới đến các node lân cận trung gian. Các node này chuyển tiếp bản tin REQ đến node B, là node chịu trách nhiệm chuyển tiếp dữ liệu đến từng node yêu cầu.
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
Hình 2.5: Các hoạt động cơ bản của giao thức SPIN.
Phiên bản SPIN đơn giản nhất, còn được gọi là SPIN – PP, được thiết kế cho mạng giao tiếp điểm – điểm. Giao thức bắt tay ba bước
A C B D E F G (a) A C B D E F G (b) A C B D E F G (c) A C B D E F G (d) A C B D E F G (e) A C B D E F G (f) ADV REQ DATA ADV ADV ADV ADV ADV REQ REQ REQ DATA DATA DATA
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
(three – step handshake protocol) được SPIN – PP sử dụng, được mô tả trong hình 2.6 [3].
Hình 2.6: Giao thức bắt tay ba bước SPIN – PP.
Thủ tục bắt tay ba bước gồm:
Bước 1: node A đang có dữ liệu sẽ gửi di bản tin ADV;
Bước 2: node B sẽ gửi bản tin REQ để thể hiện mong muốn thu được dữ liệu;
Bước 3, node A sẽ trả lời yêu cầu và gửi một gói dữ liệu đến node B.
Giao thức SPIN – PP sử dụng thỏa thuận để ngăn chặn vấn đề về bùng nổ và chống lấn trong các giao thức flooding và gossiping. Quá trình nghiên cứu dựa trên mô phỏng SPIN – 1 cho thấy giao thức này giúp giảm năng lượng tiêu thụ xuống 3.5 lần so với giao thức flooding. Giao thức này cũng đạt được tốc độ phân phối dữ liệu gần với lý thuyết.
Giao thức mở rộng của giao thức cơ bản này là SPIN – EC, sử dụng thêm cơ chế quan sát nguồn năng lượng dựa trên mức ngưỡng.
(1) (2) ADV REQ A B DATA (3)
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
Khi mức năng lượng gần đến ngưỡng thấp, node đang chạy SPIN – EC sẽ hạn chế sự tham gia của nó trong quá trình hoạt động của giao thức. Nói chung, node chỉ tham gia vào quá trình hoạt động của giao thức khi và chỉ khi, nó đảm bảo rằng có thể tham gia tất cả các bước trong quá trình vận hành giao thức trong khi mức năng lượng của node đó không bị giảm xuống dưới mức ngưỡng. Kết quả là, nếu một node nhận được bản tin quảng cáo, thì nó sẽ không gửi lại bản tin REQ nếu nó nhận thấy năng lượng không đủ để truyền bản tin REQ và nhận bản tin DATA tương ứng. Các kết quả mô phỏng của giao thức này cho thấy SPIN – EC có thể phát tán nhiều hơn giao thức flooding tới 60% dữ liệu trên một đơn vị năng lượng. Ngoài ra, dữ liệu cho thấy giao thức SPIN – EC có thể đạt gần đến lượng dữ liệu lý tưởng có thể được phát tán trên mỗi đơn vị năng lượng.
Cả giao thức SPIN – PP và SPIN – EC được thiết kế cho các liên lạc điểm – điểm. Loại giao thức thứ ba của họ giao thức SPIN là SPIN – BC, được thiết kế cho các mạng quảng bá. Trong các mạng quảng bá, các node sẽ dùng chung một kênh truyền để liên lạc. Khi một node gửi gói dữ liệu trên kênh quảng bá, thì gói được truyền sẽ được nhận bởi tất cả các node khác trong phạm vi của node gửi. Giao thức SPIN – BC không yêu cầu các node nhận được bản tin ADV phải trả lời lại bằng bản tin REQ ngay lập tức. Thay vào đó, node sẽ chờ trong một khoảng thời gian nhất định, trong khoảng thời gian này, node sẽ giám sát kênh liên lạc. Nếu node “nghe” thấy bản tin REQ của node đang muốn thu dữ liệu thì nó sẽ hủy yêu cầu của nó; vì vậy sẽ giảm được
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
các yêu cầu thừa về cùng một bản tin. Ngoài ra, để có thể thu được bản tin REQ, node quảng cáo sẽ chỉ gửi bản tin dữ liệu một lần duy nhất, kể cả khi nó nhận được nhiều yêu cầu về cùng một bản tin.
Những hoạt động cơ bản của giao thức SPIN – BC được mô tả trong hình 2.7 [3].
Hình 2.7: Các hoạt động cơ bản của giao thức SPIN – BC.
Trong cấu hình này, node A là node có dữ liệu và sẽ gửi gói tin ADV đến tất cả các node lân cận để quảng cáo. Tất cả các node sẽ nghe bản tin quảng cáo nhưng node C là node đầu tiên gửi lại gói tin REQ để yêu cầu dữ liệu từ node A. Node B và node D cũng nghe thấy yêu cầu quảng bá nhưng chưa gửi các gói REQ của chúng. Node E và node F không quan tâm đến dữ liệu được quảng cáo hoặc cố ý không gửi yêu cầu của chúng. Khi nghe thấy yêu cầu của node C, node A sẽ trả lời bằng cách gửi gói tin DATA. Tất cả các node trong phạm vi truyền của node A sẽ nhận được gói tin DATA, kể cả các node E và F.
A C D F E B ADV ADV ADV ADV (1) C D A B REQ REQ REQ E F (2) A C D F E B DATA DATA DATA DATA
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
Trong môi trường quảng bá, giao thức SPIN – BC có tiềm năng lớn để giảm năng lượng tiêu thụ bằng cách giảm quá trình trao đổi các bản tin yêu cầu dữ liệu và bản tin trả lời thừa.
Loại giao thức cuối cùng của họ SPIN là SPIN – RL, mở rộng khả năng của giao thức SPIN – BC để nâng cao độ tin cậy của giao thức này và đồng thời giúp chống lỗi truyền bản tin do mất kênh. Việc nâng cao độ tin cậy được thực hiện bằng cách phát quảng bá theo chu kỳ các bản tin REQ và ADV. Mỗi node trong giao thức SPIN – BC sẽ nghe các bản tin quảng cáo và các node chứa bản tin quảng cáo gốc. Nếu một node yêu cầu dữ liệu mà nó quan tâm nhưng lại không nhận được dữ liệu đó trong một khoảng thời gian nhất định, thì nó sẽ gửi lại yêu cầu. Ngoài ra, việc nâng cao độ tin cậy có thể được thực hiện bằng cách quảng cáo lại metadata theo chu kỳ. Cuối cùng, các node sử dụng giao thức SPIN – RL bị giới hạn về tần số khi gửi lại các bản tin dữ liệu. Sau khi gửi bản tin DATA, node sẽ chờ trong một khoảng thời gian nhất định trước khi trả lời cùng một bản tin DATA cho các yêu cầu khác.
Họ các giao thức SPIN đã khắc phục được những nhược điểm chính của giao thức flooding và gossiping. Các kết quả mô phỏng cho thấy, giao thức SPIN hiệu quả hơn các giao thức flooding và gossiping về mặt năng lượng. Ngoài ra, các kết quả cũng biểu diễn tốc độ phân tán dữ liệu của SPIN cao hơn so với tốc độ của hai giao thức flooding và gossiping. Giao thức SPIN thực hiện độ lợi bằng cách thay đổi cấu trúc Topo và giới hạn sự phân phối các thông tin dư thừa nhờ thỏa
Cao học kỹ thuật viễn thông K20-2 Trần Trọng Nam
thuận semantic. Tuy nhiên, việc thỏa thuận này có thể không hiệu quả trong toàn bộ mạng và không đảm bảo rằng tất cả các node quan tâm sẽ nhận được bản tin quảng cáo dữ liệu và dữ liệu được quan tâm. Trường hợp trên có thể xảy ra nếu các node trung gian không thể thể hiện sự quan tâm đến dữ liệu và bị rớt bản tin ADV. Hạn chế này đã khiến cho SPIN không được sử dụng trong các ứng dụng đặc biệt như giám sát sự xâm nhập và giám sát chất lượng cơ sở hạ tầng.