Kiến trúc của Internet Of Things
KIẾN TRÚC IOT
Trong thời đại ngày nay, khi con người ngày càng hướng đến các thiết bị thông minh, và Internet có sự phát triển vượt bậc thì IoT được đặt ra vấn đề là phải kết nối hàng tỷ, thậm chí hàng nghìn tỷ thiết bị khác nhau đó thông qua Internet. Những thiết bị trên không chỉ nhiều về số lượng, mà còn vô cùng đa dạng, không đồng nhất. Sự đa dạng, không đồng nhất đó được gọi là sự phân mảnh – vừa là cốt lõi vừa là một trong hai thách thức lớn nhất cho IoT. Mặt khác, để có thể đưa bất kỳ hệ thống IoT nào vào hoạt động cũng đòi hỏi cần phải khai thác tất cả các tài nguyên, phần cứng, phần mềm, hệ thống, sau đó kết hợp tất cả lại thành một khối hoàn chỉnh, đảm bảo hiệu quả và đáng tin cậy. Do vậy, việc thiết lập một kiến trúc phân lớp linh hoạt, vững chắc cho IoT là vô cùng quan trọng.
Trước đó, đã có nhiều đề xuất về kiến trúc IoT, rút ra được
mô hình kiến trúc cơ bản gồm 3 lớp: Lớp ứng dụng (Application layer), lớp mạng
(Network layer) và lớp cảm biến (Perception layer). Trong những tài liệu gần
đây, một số mô hình khác bổ sung thêm lớp trừu tượng (Abstraction layer), tức
kiến trúc IoT 4 lớp. Bên cạnh đó, kiến trúc 5 lớp cũng rất phổ biến. Sau đây là
phần trình bày về 5 lớp trong mô hình kiến trúc 5 lớp IoT.
1. Lớp đối tượng (Objects layer or Sensing layer)
Lớp đầu tiên là lớp đối tượng (thiết bị) (Objects layer) –
hay còn gọi là lớp cảm biến (Sensing layer), bao gồm các cảm biến và bộ truyền
động.
Cảm biến là nền tảng cho hệ thống IoT, có nhiệm vụ thu thập
dữ liệu từ môi trường bên ngoài hay bên trong chính đối tượng, và có thể tiền xử
lý các dữ liệu đó. Cảm biến có thể được nhúng trong đối tượng (thiết bị) để cảm
nhận và điều khiển, hoặc nằm độc lập để đo lường và thu thập dữ liệu từ xa. Một
số loại cảm biến thông dụng hiện nay như cảm biến vị trí (GPS) nhúng trong điện
thoại di động, cảm biến hồng ngoại trong camera an ninh; hay một số loại cảm biến
có thể nằm độc lập như cảm biến dùng trong nông nghiệp để đo các thông số ngoài
môi trường (nhiệt độ, độ ẩm, pH của đất,...).
Một yếu tố khác không thể thiếu trong lớp này là bộ truyền động. Bộ truyền động có nhiệm vụ dựa trên dữ liệu thu thập được tạo nên hành động vật lý. Bộ truyền động có thể được chia thành 3 loại chính, gồm: Bộ truyền động thủy (sử dụng chất lỏng, thủy lực, năng lượng nước); Bộ truyền động khí (sử dụng áp suất của khí nén); Bộ truyền động điện (sử dụng năng lượng điện).
Ví dụ về bộ truyền động: Một hệ thống tưới nước tự động có các thiết bị cần thiết, dựa trên dữ liệu độ ẩm trong đất thu được từ các cảm biến, nếu độ ẩm thấp hơn giá trị tiêu chuẩn thì nó sẽ ra lệnh cho bộ truyền động mở van nước cho tới khi độ ẩm đạt yêu cầu. Hay trong một ví dụ khác, trong hệ thống nhà thông minh, bộ truyền động được sử dụng để khóa/ mở cửa khi có người ra khỏi nhà, bật/ tắt đèn khi không có người dùng đến, cảnh báo người dùng về bất kỳ mối đe dọa nào như nguy cơ cháy nhà do quên tắt bếp,... Và để bộ truyền động làm được điều đó một cách hợp lý thì cần có dữ liệu từ các thiết bị cảm biến cần thiết trong hệ thống. Qua một vài ví dụ trên, ta đã có thể nhận ra lợi ích to lớn mà IoT mang lại, rõ ràng tất cả những công việc trên đều được xử lý tốt mà không cần đến sự can thiệp của con người.
Lớp đối tượng số hóa và chuyển dữ liệu thu thập được đến lớp
tiếp theo – lớp trừu tượng đối tượng (Object abstraction layer) thông qua các
kênh an toàn. Tập dữ liệu lớn (Big data) được tạo ở lớp này.
2. Lớp trừu tượng đối tượng (Object abstraction layer)
Lớp trừu tượng đối tượng (Object abstraction layer) truyền dữ
liệu do Lớp đối tượng (Objects layer) truyền đến tới Lớp quản lý dịch vụ
(Service management layer) thông qua các kênh an toàn. Dữ liệu đó có thể được
chuyển bằng các công nghệ khác nhau như RFID, 3G, GSM, UMTS, Wifi, Bluetooth
năng lượng thấp, hồng ngoại, ZigBee,...
Lớp này bao gồm các IoT gateway (cổng IoT): Các thiết bị
trong lớp đầu tiên – Objects layer cần được kết nối với internet thông qua một
thiết bị mạnh hơn gọi là gateway. Thiết bị này chủ yếu hoạt động giống như một
thiết bị mạng, tổng hợp dữ liệu từ nhiều thiết bị cảm biến, xử lý dữ liệu cục bộ
ở vùng biên trước khi chuyển nó lên đám mây (Cloud). Trong quá trình đó,
gateway có khả năng kiểm soát, lọc và lựa chọn dữ liệu để giảm thiểu đi những
thông tin không cần thiết, tăng hiệu suất và giảm chi phí vận chuyển. Có thể
nói, gateway là nơi bước đầu xử lý dữ liệu từ thiết bị cảm biến trước khi nó được
nén thành các gói dữ liệu và gửi đi xử lý tiếp ở trung tâm. Ở một khía cạnh
khác, do gateway có trách nhiệm quản lý luồng vận chuyển dữ liệu theo cả hai
chiều, cộng thêm những công cụ bảo mật, gateway có thể ngăn chặn rò rỉ dữ liệu
và giảm nguy cơ bị tấn công từ bên ngoài.
IoT gateway là thành phần quan trọng trong hệ thống IoT. Các
gateway được trang bị nhiều công nghệ như Bluetooth, Zigbee,... để có thể giao
tiếp với các thiết bị cảm biến ở một đầu và kết nối mạng Internet dựa trên IP ở
đầu bên kia (qua Wifi, Ethernet,...).
IoT Gateway hiện đang rất phát triển để có thể thực hiện nhiều
nhiệm vụ khác nhau, từ lọc dữ liệu đơn giản đến phân tích dữ liệu phức tạp. Thiết
bị thông minh này đang góp phần thúc đẩy xu hướng phát triển và ứng dụng IoT hiện
nay. Một trong các ứng dụng của IoT gateway là trong Điện toán biên (hay Điện
toán sương mù). Smart IoT gateway là bộ phận thiết yếu trong Điện toán biên, có
vai trò quan trọng cung cấp sức mạnh xử lý dữ liệu ở vùng biên trước khi gửi
lên đám mây.
Ví dụ về ứng dụng của Điện toán biên trong mạng lưới giao
thông thông minh: Đèn giao thông thông minh được lắp đặt với smart IoT gateway,
có khả năng phát hiện cục bộ người đi bộ và phương tiện giao thông qua cảm biến,
tính toán khoảng cách và tốc độ của họ, cuối cùng suy ra tình hình giao thông.
Các cảm biến này cũng tương tác với các đèn giao thông thông minh lân cận để điều
hành người tham gia giao thông. Chẳng hạn như khi cảm biến phát hiện một chiếc
xe cứu thương đang đến gần, chúng có thể thay đổi đèn giao thông để ưu tiên cho
xe cứu thương đi trước, đồng thời cũng thông báo cho đèn giao thông thông minh ở
đoạn đường kế tiếp biết. Dữ liệu được thu thập bởi các đèn giao thông thông
minh này được phân tích cục bộ để đáp ứng nhu cầu quản lý giao thông theo thời
gian thực. Mặt khác, dữ liệu từ nhiều cổng vẫn được tổng hợp và gửi lên đám mây
để có thể phân tích một cách toàn diện hơn về tình hình giao thông trên toàn
thành phố.
3. Lớp quản lý dịch vụ (Service management layer or Middleware layer)
Sự phân mảnh là cốt lõi của IoT, nhưng đồng thời cũng là một
trong hai thách thức lớn nhất (thách thức lớn còn lại là bảo mật). Để các thiết
bị không đồng nhất có thể tương tác được với nhau, cần có một tiêu chuẩn rõ
ràng. Nhưng việc thiết lập một tiêu chuẩn chung cho vô số thiết bị khác nhau là
điều rất khó. Đối mặt với vấn đề như vậy, giải pháp được đưa ra là cần có một nền
tảng trung gian, nền tảng này có nhiệm vụ cung cấp giao diện giữa các phần cứng
và ứng dụng để nhà phát triển có thể tập trung vào các yêu cầu của ứng dụng
thay vì phải tương tác khó khăn với phần cứng trong hệ thống. Tóm lại, lớp này
có vai trò trừu tượng hóa các phần cứng trong hệ thống và cung cấp giao diện lập
trình ứng dụng (API) để tương tác, quản lý dữ liệu, tính toán và phân tích dữ
liệu, đồng thời đảm bảo bảo mật và quyền riêng tư.
Lớp quản lý dịch vụ (lớp phần mềm trung gian) mang lại những
tiện ích sau:
1. Khả năng tương tác: Tạo điều kiện thuận lợi cho sự trao đổi
thông tin giữa các thiết bị không đồng nhất. Khả năng tương tác có 3 loại: Mạng
(network), ngữ nghĩa (semantic) và cú pháp (syntactic). Khả năng tương tác mạng
loại bỏ sự phức tạp của các giao thức khác nhau, trong việc giải quyết các vấn
đề: giao thức không đồng nhất để giao tiếp giữa các thiết bị. Khả năng tương tác
ngữ nghĩa đề cập tới việc trừu tượng hóa ý nghĩa của dữ liệu trong một miền cụ
thể. Còn khả năng tương tác cú pháp đảm bảo rằng các ứng dụng không biết đến định
dạng, cấu trúc và mã hóa dữ liệu.
2. Phát hiện và quản lý thiết bị: Tính năng này cho phép các
thiết bị nhận biết được tất cả các thiết bị thông minh khác trong khu vực lân cận.
Trong IoT, các thiết bị cần thông báo sự hiện diện của chúng và các dịch vụ, tiện
ích mà chúng cung cấp. Lớp quản lý dịch vụ thu thập, rồi cung cấp API để liệt
kê các thiết bị IoT, dịch vụ và khả năng của các thiết bị đó. Mặt khác, lớp quản
lý dịch vụ cũng cần quản lý các thiết bị dựa trên mức pin và trạng thái hoạt động,
nếu có sự cố sẽ báo cáo cho người dùng để xử lý kịp thời.
3. Khả năng mở rộng: Ngày càng có nhiều thiết bị IoT, và các
ứng dụng IoT cũng cần phải mở rộng do các yêu cầu ngày càng cao. Điều này sẽ được
quản lý dễ dàng hơn bằng phần mềm trung gian khi có bất kỳ sự thay đổi, mở rộng
nào từ cơ sở hạ tầng.
4. Dữ liệu lớn và phân tích dữ liệu: Các cảm biến IoT thường
thu thập một lượng lớn dữ liệu. Chúng ta cần phân tích các dữ liệu này một cách
chi tiết. Do vậy, rất nhiều thuật toán big data sinh ra để xử lý dữ liệu trong
IoT. Các tác vụ thu thập, lưu trữ, xử lý dữ liệu đến từ lớp trước được thực hiện
tại lớp này qua hai giai đoạn chính: Giai đoạn tích lũy dữ liệu và giai đoạn trừu
tượng hóa dữ liệu. Trong giai đoạn tích lũy dữ liệu, dữ liệu thời gian thực được
thu thập, sau đó được sắp xếp và lưu trữ một cách khoa học và hiệu quả nhất.
Trong giai đoạn trừu tượng hóa dữ liệu, dữ liệu được trừu tượng để các ứng dụng
có thể sử dụng và tạo ra thông tin; đồng thời thông tin phản hồi thu thập được
từ lớp ứng dụng cũng được phần mềm trung gian định dạng lại để gửi đến các thiết
bị vật lý.
5. Bảo mật và quyền riêng tư: Các ứng dụng IoT liên quan đến
nhiều mặt trong đời sống, nên vấn đề an ninh cần được đảm bảo. Phần mềm trung
gian có thể xây dựng các cơ chế bảo vệ lợi ích người dùng, thông qua việc xác
thực người dùng và kiểm soát quyền truy cập.
6. Dịch vụ đám mây: Đám mây là một phần vô cùng quan trọng
trong việc triển khai hệ thống IoT. Đám mây có tác dụng lưu trữ, xử lý và phân
tích khối lượng dữ liệu khổng lồ bằng cách sử dụng công cụ phân tích dữ liệu mạnh
và các cơ chế học máy. Khi được kết hợp với các ứng dụng phù hợp, đám mây sẽ
giúp con người tương tác, kiểm soát, giám sát hệ thống trên cơ sở dữ liệu thời
gian thực. Phần mềm trung gian cần thiết để chạy liền mạch trên các đám mây
khác nhau, cho phép người dùng tận dụng đám mây để có được thông tin có ích
hơn.
Một số phần mềm trung gian: Fusion Middleware, OpenIoT,
MiddleWhere, Hydra.
4. Lớp ứng dụng (Application layer)
Lớp ứng dụng cung cấp thông tin, dịch vụ cần thiết cho khách
hàng. Tại lớp này, dữ liệu từ các lớp trước đưa đến có thể được ứng dụng phân
tích để đưa ra phương án giải quyết. Trong mô hình 5 lớp, lớp ứng dụng được coi
là user interface, qua đó người dùng có thể tương tác với thiết bị và truy vấn
dữ liệu; đồng thời cũng cung cấp giao diện cho lớp Business layer – nơi có thể
tạo ra các mô hình dữ liệu bậc cao như biểu đồ, lưu đồ,...
Ví dụ 1: Ứng dụng nông nghiệp thông minh có thể cung cấp
thông tin về độ ẩm của đất cho khách hàng, từ đó đưa ra phương hướng giải quyết
có nên tưới nước cho cây hay không?
Ví dụ 2: Ứng dụng chăm sóc sức khỏe: Các cảm biến liên tục
theo dõi và ghi lại tình trạng sức khỏe của người sử dụng. Khi phát hiện bất kỳ
một chỉ số bất thường nào, ứng dụng sẽ tự động phát cảnh báo và đưa ra lời
khuyên dựa trên việc phân tích các chỉ số thu thập được.
Để làm được như vậy, lớp ứng dụng cần sử dụng API để tích hợp
với lớp quản lý dịch vụ (hay phần mềm trung gian). Hiện nay, có rất nhiều ứng dụng
IoT khác nhau về mục đích, quy mô và chức năng như nhà thông minh, hệ thống
giao thông thông minh, tự động hóa nông nghiệp, chăm sóc sức khỏe,...
Những nguy hiểm mà lớp ứng dụng phải đối mặt:
1. Cross – site scripting (XSS): Là một lỗ hổng phổ biến
trong ứng dụng web. Tấn công XSS là thủ đoạn tấn công bằng mã độc. Để lợi dụng
một lỗ hổng XSS, hacker sẽ chèn mã độc thông qua các đoạn script để thực thi
chúng ở phía Client. Thông thường, các cuộc tấn công XSS được sử dụng để vượt
qua truy cập và mạo danh người dùng, từ đó thay đổi nội dung ứng dụng theo mục
đích của mình và ăn cắp thông tin bất hợp pháp. Một trong các cách bảo vệ ứng dụng
là xác thực đầu vào.
2. Mã độc: Là một đoạn mã độc hại được đưa vào bất kỳ phần
nào của ứng dụng, gây nên hiệu ứng không mong muốn. Mã độc có thể không bị chặn
hoặc kiểm soát bằng cách sử dụng phần mềm diệt virus. Có thể bảo vệ ứng dụng khỏi
mã độc bằng phương pháp phân tích mã tĩnh (SCA) – phương pháp gỡ lỗi bằng cách
phân tích mã mà không cần thực hiện chương trình.
5. Lớp nghiệp vụ (Business Layer)
Lớp nghiệp vụ quản lý tổng thể các hoạt động và dịch vụ của
hệ thống. Lớp này có trách nhiệm xây dựng mô hình dữ liệu bậc cao như mô hình
kinh doanh, biểu đồ, lưu đồ,... dựa trên các dữ liệu nhận được từ lớp ứng dụng;
đồng thời có khả năng thiết kế, phân tích, đánh giá, giám sát và phát triển các
yếu tố liên quan trong hệ thống IoT. Lớp nghiệp vụ đưa ra lời khuyên trong việc
quyết định các vấn đề dựa trên Big Data analysis. Ngoài ra, việc giám sát và quản
lý bốn lớp bên dưới được thực hiện tại đây; mặt khác còn so sánh đầu ra thực tế
của mỗi lớp với đầu ra dự kiến nhằm nâng cao dịch vụ và đảm bảo quyền riêng tư
của người dùng.
Nhận xét
Đăng nhận xét