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

Bài đăng phổ biến từ blog này

Mô hình dữ liệu trong Cassandra

Các loại cấu trúc liên kết mạng (Network Topology)