Như trình bày ở trên về các xu hướng phát triển của mạng truyền thông nói chung và mạng không dây nói riêng chúng ta thấy rằng, các đặc điểm của nguồn thông tin, tổ chức hệ thống mạng cũng như việc khai thác, xử lý thông tin ngày càng thách thức bởi các xu hướng phát triển:
+ Các thiết bị di động (Mobile devices): Việc cung cấp các dịch vụ, giải pháp mạng hỗ trợ hiệu quả cho thiết bị di động (máy tính xách tay, điện thoại di động, máy tính bảng, thiết bị số cá nhân) này vẫn đang phải đối mặt với nhiều khó khăn vì các thiết bị di động thường có tài nguyên hạn chế và thường dựa trên các kết nối với băng thông thấp, độ trễ cao của đường điện thoại, hay mạng không dây;
+ Điện toán đám mây (Cloud computing): Ngày nay người dùng thường có nhu cầu truy cập vào máy tính của mình, tài khoản của mình từ bất cứ đâu; sử dụng dịch vụ, phần mềm hoặc tài nguyên của mình bất kỳ ở đâu và trên các thiết bị và nền tảng bất kỳ, vì thế việc hỗ trợ kết nối ở mọi nơi, mọi lúc và trên mọi thiết bị và nên tảng khác nhau thông qua điện toán đám mây là một xu hướng hiện nay [92];
+ Nhu cầu cá nhân hóa: Việc khai thác thông tin, sử dụng dịch vụ đã không còn đáp ứng với các cơ chế thụ động, mà người dùng thường có khuynh hướng muốn cá nhân hoá nhu cầu của mình một cách chủ động. Internet là cơ sở để thực hiện mong muốn này, vấn đề còn lại là khả năng hỗ trợ việc cá nhân hoá của các ứng dụng mạng dành cho người dùng;
+ Dữ liệu lớn (big data): Hiện nay, đã xuất hiện sự bùng nổ thông tin trên mạng với sự xuất hiện của dữ liệu lớn, kho dữ liệu (data warehouse) với thông tin khổng lồ. Các kho dữ liệu này lại được cung cấp từ nhiều nguồn trên nhiều nền tảng và tổ chức hệ thống khác nhau, đây sẽ lại là một khó khăn mới khi truy vấn cơ sở dữ liệu theo yêu cầu của người sử dụng [45];
+ Gia tăng sử dụng mạng nội bộ, mạng riêng ảo: Việc các mạng nội bộ (Intranet), mạng riêng ảo (VPN) được sử dụng phổ biến là một điều kiện tốt để triển khai các kỹ thuật mới trong việc xây dựng các ứng dụng mạng, bởi vì Intranet và VPN cho phép việc thiết lập an toàn hệ thống dễ dàng hơn trong một hệ thống mang tính cộng tác và tin cậy;
+ Môi trường không đồng nhất: Khi kết nối các máy tính, các mạng cục bộ, các hệ thống vào Internet, các ứng dụng và người dùng phải đối mặt với một môi trường không đồng nhất cả về phần cứng, nền tảng hệ điều hành, các chuẩn về ứng dụng. Do đó, bài toán tương thích, hỗ trợ đa nền tảng và các môi trường khác nhau là vấn đề mà chúng ta cần quan tâm [10](pp.589-622);
+ Sự không đồng nhất về đường truyền: Mặc dù trong thời gian qua công nghệ mạng và truyền dẫn đã đạt đến những tiến bộ đáng kinh ngạc, và cho ra đời các loại cáp quang
22
với tốc độ truyền rất nhanh, tuy nhiên đa số người dùng cuối vẫn bị giới hạn với các thiết bị kết nối với băng thông thấp hơn hoặc mạng không dây, mạng di động [9](pp.17-28).
Với những đặc điểm trên, các ứng dụng phát triển theo mô hình tập trung hoặc mô hình khách - chủ (client-server) không phù hợp và bất cập vì đòi hỏi việc đồng bộ, tính ổn định cao và ít thay đổi về tô pô. Để giải quyết các vấn đề như trên, hiện nay nhiều giải pháp công nghệ được đề xuất áp dụng trong đó có công nghệ tác tử [25][36][58].
Để hiểu cách thức hoạt động của tác tử và đề xuất áp dụng tác tử trong trong nghiên cứu của luận án, phần này trình bày khái niệm cơ bản và một số đặc điểm chính của tác tử nói chung (bao gồm khái niệm tác tử, tác tử di động, hệ thống tác tử). Như các trình bày ở tài liệu [38](pp.3-16)[73], tác tử (agent) là một thực thể vật lý hoặc mô hình logic trong đó các tiến trình – gọi là agent – có tính tự trị và khả năng di động từ máy chủ này đến máy chủ khác (hoặc từ nút mạng này đến nút mạng khác) để hoàn tất tác vụ. Ý tưởng chính của tác tử (tác tử di động) là có khả năng truyền thông trực tiếp với các tác tử khác hoặc với nút mạng, được di chuyển xử l đến gần nguồn dữ liệu, nhờ đó có thể giảm tải mạng, khắc phục tình trạng trễ, hỗ trợ xử l không đồng bộ và tạo ra sự tương thích trên các môi trường không đồng nhất [38](pp.17-126)[58]. Tác tử di động có một số đặc tính cơ bản bao gồm:
- Tính tự trị (Autonomous): là khả năng tự thực hiện không có sự điều khiển của người dùng hoặc agent khác vào từ bên ngoài. Có một vài mức độ điều khiển của trạng thái bên trong nó theo hướng đích (goal-oriented) và tính chủ động (pro-activeness), và các hành động này dựa trên những kinh nghiệm riêng hoặc tri thức được trang bị cho nó; - Tính di động (Mobility): là khả năng di chuyển từ môi trường này sang môi trường
khác của một tác tử. Khả năng di động của tác tử có thể hiểu là di động mạnh (strong mobility) hoặc di động yếu (weak mobility) tùy theo khả năng di động của cả mã nguồn, chương trình thực thi và nội dung dữ liệu mang đi hoặc trạng thái thi hành; - Tính thông minh (Intelligent): là khả năng học của các tác tử và khả năng tích lũy kinh
nghiệm để thực hiện được những tác vụ tiếp theo trên kinh nghiệm đã có hoặc khả năng tự trang bị thông tin xử lý;
- Tính thích ứng (Reactiveness): là khả năng của tác tử có thể thực thi trên những môi trường khác;
- Tính cộng tác (Collaboration): là khả năng liên lạc, phối hợp hoạt động với các tác tử khác để thực hiện một mục đích chung hay với các loại tác tử khác trong môi trường khác [58].
Với những đặc tính của tác tử như trên, chúng ta có thể đưa tác tử, tác tử di động dựa trong các hướng nghiên cứu ứng dụng phân tán trở thành một giải pháp hiệu quả và có tính thực tiễn theo [25][38](pp.127-262)[58][73][94]. Dựa vào các đánh giá này, việc ứng dụng công nghệ tác tử trong việc đưa vào các giao thức định tuyến của mạng MANET là hướng nghiên cứu có tính khả thi cao. Trong đó tập trung vào việc nhận thông tin, xử lý thông tin để hỗ trợ cho giao thức định tuyến hoặc nhận biết các tình trạng tắc nghẽn theo cơ chế phối hợp và cộng tác cùng với khả năng di động của nó để thực hiện các nhiệm vụ như xác nhận thông tin lộ trình định tuyến, cảnh báo tắc nghẽn thông qua các thông tin phản hồi.
23
1.4.2 Mô hình của tác tử và ứng dụng cho mạng MANET 1.4.2.1 Mô hình hoạt động của tác tử và ứng dụng 1.4.2.1 Mô hình hoạt động của tác tử và ứng dụng
Với sự phát triển và ứng dụng ngày càng nhiều của tác tử, hiện nay có một số mô hình, sản phẩm thương mại của hệ thống tác tử, đa tác tử hoặc tác tử di động như Voyager, Agent Tcl hoặc Aglets [62][70][82] và được ứng dụng trong nhiều lĩnh vực khác như như bài toán tối ưu, các lĩnh vực tính toán thông minh và đặc biệt là ứng dụng trong lĩnh vực mạng như trình bày ở phần trên. Để hiểu rõ hơn về cách thức hoạt động của tác tử, hệ thống tác tử, chúng ta có thể mô tả cấu trúc một Agent theo cấu trúc cơ bản như sau:
Agent=< State, Input, Output, Process >; Trong đó:
- State: trạng thái của tác tử nó bao gồm các thuộc tính của tác tử (vị trí, giá trị); - Input, Output: là tập các trạng thái dữ liệu đầu vào, đầu ra được thay đổi gắn với môi trường (bao gồm việc nhận dữ liệu, yêu cầu di trú, trả kết quả);
- Process: là một tiến trình thực thi một cách tự quản để thay đổi trạng thái của Agent;
Tương tự, cấu trúc của hệ thống Agent có thể được mô tả như sau: Agent System=<Agent, Environment, Coupling>; Trong đó:
- Environment=<State, Process>: là tiến trình riêng của môi trường tác tử thực hiện, để có thể thay thế trạng thái của nó, độc lập với các hành động của các tác tử quanh nó;
- Coupling là một sự ánh xạ Input và Output của một tác tử đến trạng thái của môi trường và ngược lại từ trạng thái của môi trường đến tác tử;
Hình 1.2 dưới đây mô tả mô hình hoạt động của hệ thống tác tử:
Agent
Input Output
Môi trường và Agent khác
Process
Hình 1.2. Mô hình hoạt động của tác tử và môi trường xử lý
Với mô hình này, nguyên tắc hoạt động của tác tử là một chu trình lặp lại trong đó yếu tố quan trọng là Agent để xử lý các nội dung với thông tin vào ra là Input, Output thông qua tiến trình thực hiện Process. Tiến trình Process thực hiện xử lý của tác tử, mô tả các hành động của nó, và triệu gọi tác tử (hoặc yêu cầu di trú). Quá trình này được thực hiện để hoàn thành các tác vụ theo yêu cầu, được gọi là vòng đời của tác tử hay tác tử di động.
Như phân tích ở trên, chưa có một ứng dụng nào gọi là ứng dụng đặc trưng dành cho tác tử, tác tử di động áp dụng như một tiêu chuẩn thống nhất mà tùy vào mục đích của bài toán giải quyết để đưa ra ứng dụng hoặc phương thức áp dụng phù hợp. Với những kết quả
24
nghiên cứu đạt được hiện nay bằng cách sử dụng công nghệ tác tử thì cũng có thể sử dụng với những công nghệ hoặc giải pháp khác để đạt kết quả tương tự. Tuy nhiên, trong một vài trường hợp cụ thể, tác tử (hoặc tác tử di động) có thể là giải pháp hiệu quả hơn như đã phân tích ở trên, ví dụ một số ứng dụng trong lĩnh vực mạng như sau:
+ Thu thập thông tin phân tán: Trong trường hợp có nhu cầu truy vấn phức tạp, chuyên biệt và liên quan đến nhiều nguồn dữ liệu phân tán, không đồng nhất, việc gửi các tác tử di động di chuyển đến các nguồn tin để khai thác tại chỗ và cuối cùng là mang về những thông tin cần thiết sẽ cho phép giảm tải mạng và giải quyết tốt hơn bài toán tương thích [62].
+ Quản trị hệ thống mạng: Đối với những hệ thống mạng lớn, việc chẩn đoán lỗi, duy trì sự ổn định của hệ thống là các công việc rất khó khăn. Việc ứng dụng tác tử vào việc quản trị mạng sẽ giúp cho các công việc chẩn đoán lỗi và duy trì từ xa sự ổn định của hệ thống được dễ dàng hơn bằng cách gửi tác tử đến các các nút mạng lấy và xử lý thông tin và trả về kết quả cho hệ thống [5][36].
+ Hỗ trợ các thiết bị di động: Do đặc điểm tài nguyên hạn chế và không kết nối thường xuyên, việc xây dựng các ứng dụng dựa trên tác tử di động với khả năng di chuyển đến các máy tính có cấu hình mạnh hơn để hoạt động (truy vấn cơ sở dữ liệu, tìm thông tin) rồi trả kết quả về sẽ là một giải pháp tốt cho người dùng các thiết bị di động [70].
1.4.2.2 Mô hình đề xuất sử dụng tác tử trong điều khiển định tuyến mạng MANET
Trong mạng MANET, đã có một số nghiên cứu ứng dụng công nghệ tác tử trong đó một số hướng nghiên cứu điển hình liên quan như nghiên cứu tích hợp hệ thống tác tử cho mạng MANET [17][18][44], tích hợp tác tử di động trong điều khiển tắc nghẽn giao thức AODV [30], tích hợp tác tử trong việc chọn đường đi dựa trên các tham số về năng lượng, phán đoán đường đi, mức độ tắc nghẽn của nút [50], ứng dụng tác tử di động đưa vào giao thức định tuyến để giải quyết cân bằng tải và duy trì mạng [54], cải tiến giao thức định tuyến thông qua xử lý tại các nút của mạng [18][55].
Chúng ta đánh giá một số nguyên lý hoạt động của tác tử trong các nghiên cứu đã trình bày ở trên như sau; dựa vào nguyên lý hoạt động và nguyên tắc làm việc của tác tử, các đề xuất sử dụng tác tử để cải tiến các giao thức, tập trung vào việc điều khiển vào giao thức. Theo nghiên cứu [50], với tưởng sử dụng tác tử để lấy thông tin của việc chọn đường trong giao thức định tuyến DSR dựa vào hai tham số là năng lượng của nút (độ mạnh tín hiệu) kết hợp với thuật toán đường đi ngắn nhất để đưa vào việc chọn đường đi bằng cách dự đoán đường đi có khả năng bị ngắt kết nối trước khi chọn đường đi thực sự dựa trên hai tham số đã nêu trên. Như vậy tác tử trong giao thức cải tiến này chính là thực hiện lấy các thông số tại nút (năng lượng, và các tham số khác) và tính toán để chọn đường đi theo thuật toán đường đi ngắn nhất. Một nghiên cứu khác sử dụng tác tử như thuật toán Ant-AODV [55] để cập nhật liên tục trạng thái kết nối của mạng tránh trình trạng mất kết nối. Với việc sử dụng tác tử di động như những con kiến chạy qua từng nút mạng và lấy thông tin thông qua RREQ để liên tục truy vấn liên tục các kết nối từ chặng đến chặng và
25
để đảm bảo các kết nối sẵn sàng và giảm được tình trạng khi phát lệnh gửi thì bị mất kết nối do chưa cập nhật kịp các kết nối trên.
Qua phân tích một số hướng nghiên cứu áp dụng tác tử cho mạng MANET, trong quá trình nghiên cứu của đề tài luận án, tác giả đưa ra mô hình tác tử dựa trên tưởng và phương thức làm việc của tác tử và cài đặt kèm theo giao thức định tuyến, không sử dụng một mô hình cụ thể hoặc dựa trên phần mềm nền tảng nào đã sử dụng, tác giả đề xuất ý tưởng và phương thức hoạt động của tác tử được mô tả ở Hình 1.3 dưới đây:
Hình 1.3. Cơ chế hoạt động của tác tử trong điều khiển định tuyến MANET Trong đó, tác tử FA (Forward Agent) và BA (Back Agent) sẽ được khởi tạo cùng với Trong đó, tác tử FA (Forward Agent) và BA (Back Agent) sẽ được khởi tạo cùng với gói RREQ, RREP khi yêu cầu khởi tạo khám phá lộ trình, sẽ được truyền từ nút hiện tại (khởi tạo) đến nút láng giềng (gọi là quá trình di trú). Tùy theo chức năng của FA, BA sẽ có tiến trình thực thi khác nhau (FA chỉ gửi thông tin về yêu cầu khám phá lộ trình còn BA thực hiện xử lý tính toán giá trị hàm trọng số và trả về giá trị cho thuật toán định tuyến để chọn đường đi). Với tác tử BA, nếu nút hiện tại (vừa thực thi xong các kết quả) chưa phải là nút nguồn, thì BA sẽ được cập nhật thông tin trạng thái mới và tiếp tục yêu cầu di trú đến nút láng giềng tiếp theo. Quá trình này tiếp tục thực hiện cho đến khi đến được nút nguồn. Ngược lại, khi BA đã đến nút nguồn thì quá trình thực thi (cập nhật trạng thái) đã hoàn tất và BA hủy theo gói RREP. Như vậy, quá trình yêu cầu khám phá lộ trình thì khởi tạo một tác tử FA và một tác tử BA thực hiện cùng với gói tin cùng với gói RREQ và RREP tương ứng.
Với cơ chế hoạt động này, tác tử sẽ thực hiện lấy thông tin, di trú và xử lý tính toán độc lập với các gói dữ liệu hoặc điều khiển để có thể tác động theo các yêu cầu đầu vào. Một yếu tố khác là với phương châm làm việc của tác tử là mang xử lý tới nơi chứa dữ liệu hơn là mang dữ liệu tới đến nơi xử l trong trường hợp này là phù hợp và sẽ giảm được các gói tin điều khiển và dữ liệu truyền trên mạng. Tuy nhiên khi sử dụng tác tử sẽ phát sinh thêm phụ tải nhưng do số lượng tác tử ít (trong trường hợp này thì mỗi lần cần phám khá lộ trình mới thì phát sinh một tác tử FA và một tác tử BA) cùng với việc lợi hơn về mặt xử lý và chọn đường đi với khả năng thành công cao hơn do đó sẽ giảm phụ tải trong quá trình truyền do đó xét về mặt trung bình chung thì phụ tải không tăng đáng kể. Chi tiết hoạt động của tác tử được áp dụng trong từng bài toán cụ thể, phương thức xử lý tính toán và tưởng của đề xuất được trình bày cụ thể hơn trong mục 3.2.2 của Chương 3.