Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 231 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
231
Dung lượng
2,91 MB
Nội dung
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM SINH VIÊN THỰC HIỆN Nguyễn Mạnh Dũng Nguyễn Đăng Thành 0112132 0112280 TÌM HIỂU CƠNG NGHỆ GRID COMPUTING VÀ ỨNG DỤNG THỬ NGHIỆM TRONG BÀI TOÁN QUẢN TRỊ MẠNG LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Thầy Cao Đăng Tân TP HỒ CHÍ MINH, 12/2005 Lời cảm ơn Lời cảm ơn Nhóm thực xin bày tỏ lịng biết ơn tri ân sâu sắc đến tất người giúp đỡ, hỗ trợ thực luận văn này, điểm mốc quan trọng đời nghiệp chúng em Chúng em xin cảm ơn Khoa Công nghệ Thông tin trường Đại học Khoa học Tự nhiên TP.HCM cho phép tạo điều kiện để chúng em thực luận văn Luận văn khơng thể hồn thành khơng có giúp đỡ bảo tận tình thầy Cao Đăng Tân, người thầy hướng dẫn chúng em Chúng em xin chân thành biết ơn bảo, định hướng nghiên cứu thực hiện, hỗ trợ, tạo điều kiện tốt cho chúng em suốt trình thực đề tài Chúng xin bày tỏ lòng biết ơn sâu sắc đến Bố, Mẹ, bậc sinh thành chịu thương, chịu khó ni dưỡng, hỗ trợ, động viên, ủng hộ chúng lúc khó khăn để chúng có ngày hôm Chúng em xin chân thành cảm ơn tất quý thầy cô khoa Công nghệ Thông tin tận tình bảo, rèn luyện, truyền đạt tri thức, kỹ năng, kinh nghiệm quý báu cho chúng em suốt năm giảng đường đại học Đây hành trang quý giá để chúng em vững bước vào đời Nhóm thực xin chân thành cảm ơn tất anh chị, bạn bè, đặc biệt thầy Phịng máy Mạng, thầy Trần Minh Triết, thầy Lu Boun Vinh, nhiệt tình động viên, ủng hộ, chia sẻ kinh nghiệm, kiến thức quý báu, tài liệu, hỗ trợ q trình thực luận văn mà cịn suốt thời gian học tập mái trường Mặc dù nỗ lực cố gắng, luận văn chắn khơng tránh khỏi thiếu sót Chúng em kính mong nhận cảm thơng tận tình bảo, góp ý q Thầy Cơ bạn Một lần xin gửi đến tất người lời cảm ơn chân thành Xin cảm ơn ! Nhóm thực Nguyễn Mạnh Dũng & Nguyễn Đăng Thành -i- Lời nói đầu Lời nói đầu Cơng nghệ Grid Computing đời đánh dấu bước phát triển lĩnh vực điện toán hiệu cao Nó cho phép tận dụng lực xử lý, lưu trữ tài nguyên nhàn rỗi khác để cung cấp mơi trường tính tốn có lực xử lý lớn, khả lưu trữ dồi để giải tốn phức tạp - khó giải với công nghệ hành giải với chi phí cao - khoa học, thương mại Grid Computing giúp tận dụng tối đa tài nguyên, tăng cường hợp tác, giảm chi phí đầu tư cung cấp lực tính tốn mong muốn Trong năm vừa qua, nhiều tổ chức, tập đồn cơng nghệ thơng tin lớn chọn công nghệ Grid Computing làm chiến lược phát triển mình, đầu tư nghiên cứu nhằm sớm đưa công nghệ Grid Computing vào thực tế Công nghệ ngày thu hút quan tâm ý từ khắp nơi giới Có thể nói cơng nghệ Grid Computing xu hướng phát triển ngành công nghệ thông tin Hiện nay, đất nước ta thực công công nghiệp hố, đại hóa, việc rút ngắn tụt hậu, phát triển khoa học công nghệ yếu tố then chốt định đến thành công cơng đổi Song song với q trình phát triển, ngày có nhiều tốn mới, địi hỏi lực xử lý lớn xuất khoa học, thương mại quản lý đất nước Các công nghệ tính tốn hành áp dụng khơng thể triển khai rộng rãi để giải hết nhu cầu chi phí đầu tư lớn Việc nghiên cứu, áp dụng công nghệ Grid Computing giải pháp tốt để giải tình Hơn nữa, công nghệ Grid Computing cịn mẻ, giai đoạn hồn thiện, việc tham gia nghiên cứu với cộng đồng giới giúp học hỏi kinh nghiệm, tiến tới làm chủ cơng nghệ, từ phát triển theo hướng riêng mình, đáp ứng nhu cầu tính tốn hiệu cao ngày tăng đất nước - ii - Lời nói đầu Với tinh thần tham gia nghiên cứu, học hỏi công nghệ, đề tài luận văn “Tìm hiểu cơng nghệ Grid Computing ứng dụng thử nghiệm toán quản trị mạng” thực nhằm bước trình nghiên cứu, phát triển, ứng dụng Grid vào thực tế Luận văn nghiên cứu vấn đề chung công nghệ Grid Computing, Globus Toolkit, tiến hành cài đặt môi trường Grid với Globus Toolkit, đề xuất mơ hình cài đặt thử nghiệm ứng dụng hỗ trợ quản trị mạng Grid Luận văn trình bày gồm chương với nội dung sau: Chương Đặt vấn đề : Giới thiệu sơ lược công nghệ Grid Computing lĩnh vực quản trị mạng, đồng thời xác định mục tiêu đề tài Chương Tổng quan công nghệ Grid Computing : Giới thiệu vấn đề công nghệ Grid Computing, tìm hiểu so sánh phần mềm tảng Grid để có nhìn tồn diện công nghệ Grid Computing Chương Giới thiệu Globus Toolkit phiên 3.2 : Giới thiệu mơ hình chế hoạt động thành phần Globus Toolkit 3.2 Ở không thiên giới thiệu chi tiết triển khai cụ thể, điều tham khảo từ tài liệu hướng dẫn sử dụng Chương Phát triển ứng dụng với Globus Toolkit 3.2 : Giới thiệu vấn đề cần quan tâm xây dựng ứng dụng Grid với Globus Toolkit 3.2 Chương Quản trị mạng hệ thống quản trị : Giới thiệu tổng quan lĩnh vực quản trị mạng hệ thống quản trị mạng Chương Hệ thống quản trị Grid NetManager : Giới thiệu mơ hình hệ thống quản trị mạng dựa cơng nghệ tính tốn Grid Computing Chương Phân tích, thiết kế, cài đặt thử nghiệm ứng dụng Grid NetManager Chương Kết luận : Là chương cuối luận văn, tóm lại vấn đề nghiên cứu tìm hiểu, đề hướng phát triển tương lai - iii - Mục lục Mục lục Lời cảm ơn i Lời nói đầu ii Mục lục iv Danh sách hình .viii Danh sách bảng x Một số thuật ngữ xi Các chữ viết tắt xii Tóm tắt luận văn xiii Chương Mở đầu 1.1 Cơng nghệ Grid Computing (tính tốn lưới) 1.2 Vấn đề quản trị mạng 1.3 Mục tiêu đề tài Chương Tổng quan công nghệ Grid Computing 2.1 Khái niệm Grid 2.1.1 Theo dòng lịch sử 2.1.2 Khái niệm 2.1.3 Tài nguyên Grid 2.2 Phân loại Grid & Grid Topology 2.2.1 Các kiểu Grid 2.2.2 Đồ hình Grid (Grid Topology) 11 2.3 Các thách thức, yêu cầu công nghệ Grid 15 2.3.1 Quản lý tài nguyên (Resource Management) 15 2.3.2 Bảo mật (Security) 17 2.3.3 Quản lý thông tin 19 2.3.4 Quản lý liệu 20 2.3.5 Phát triển ứng dụng 20 2.3.6 Các vấn đề khác 20 2.3.7 Các việc cần làm 21 2.4 Ích lợi & Ứng dụng 22 2.5 Các thành phần hệ thống sở hạ tầng Grid 24 2.6 Kiến trúc Grid 27 2.6.1 Bản chất Kiến trúc Grid 27 2.6.2 Chi tiết Kiến trúc Grid tổng quát 28 2.6.3 Kiến trúc Grid thực tế 35 2.7 Chuẩn hoá Grid 36 2.8 Giới thiệu dự án Grid middleware 40 2.8.1 UNICORE 40 2.8.2 Globus 43 - iv - Mục lục 2.8.3 Legion 43 2.8.4 GridBus 45 2.8.5 So sánh 48 Chương Giới thiệu Globus Toolkit phiên 3.2 .52 3.1 Giới thiệu 52 3.1.1 Giới thiệu 52 3.1.2 Lịch sử phát triển 53 3.2 Các công nghệ, chuẩn liên quan 53 3.2.1 Service Oriented Architeture (SOA) 53 3.2.2 Web Service 56 3.2.3 OGSA 58 3.2.4 OGSI Grid Service 65 3.3 Kiến trúc Globus Toolkit 74 3.3.1 Mô hình kiến trúc GT2 75 3.3.2 Mơ hình kiến trúc GT3 76 3.4 Các thành phần 79 3.4.1 Sercurity Infrastructure 79 3.4.2 Resource Management 94 3.4.3 Information Service 107 3.4.4 Data Management 113 3.4.5 Thành phần GT3 114 Chương Phát triển ứng dụng với Globus Toolkit 3.2 115 4.1 Khởi đầu dự án 115 4.1.1 Định hướng phát triển hệ thống 115 4.1.2 Đánh tính khả thi ứng dụng chạy Grid 117 4.2 Các yêu cầu cần quan tâm xây dựng ứng dụng 118 4.2.1 Khả mở rộng (Scalability) 118 4.2.2 Bảo mật 118 4.2.3 Tính mềm dẻo ứng dụng (Flexibility) 119 4.2.4 Các kết nối với bên 119 4.2.5 Hiệu suất ứng dụng(Performance) 120 4.2.6 Độ tin cậy (Reliability) 121 4.2.7 Quản trị hệ thống (Management) 122 4.2.8 Đồ hình hệ thống (System Topology) 123 4.2.9 Môi trường đa tảng 123 4.2.10 Định dạng file 124 4.2.11 Việc cài đặt hệ thống 124 4.2.12 Vấn đề thông tin Grid 124 4.2.13 Tính tiện dụng 124 4.3 Thiết kế tổng quan 125 4.4 Một số vấn đề cần quan tâm thiết kế chi tiết viết mã 126 4.4.1 Kiến trúc ứng dụng 127 4.4.2 Xem xét sử dụng ngơn ngữ lập trình 130 4.4.3 Vấn đề phụ thuộc công việc vào môi trường hệ thống 131 4.4.4 Đồ hình cơng việc 132 4.5 Triển khai cài đặt Grid Service 133 -v- Mục lục 4.5.1 Các bước xây dựng triển khai Grid Service 134 4.5.2 Xây dựng client 140 Chương Quản trị mạng hệ thống quản trị 142 5.1 Quản trị mạng 142 5.1.1 Khái niệm 142 5.1.2 Các lĩnh vực quản trị mạng 142 5.2 Hệ thống quản trị mạng 144 5.2.1 Mơ hình hoạt động 144 5.2.2 Một số chức hệ thống quản trị mạng 146 5.2.3 Hệ thống quản trị mạng thực tế 148 5.3 Hệ thống Intrusion Detection System (IDS) 149 5.3.1 Khái niệm 149 5.3.2 Các hướng tiếp cận 149 5.4 Giới thiệu số công cụ hỗ trợ quản trị mạng 150 5.4.1 Ethereal 150 5.4.2 Snort 152 Chương Hệ thống quản trị Grid NetManager .153 6.1 Giới thiệu ý tưởng 153 6.2 Yêu cầu chức hệ thống quản trị mạng 154 6.3 Mơ hình thành phần hoạt động hệ thống 155 6.3.1 Mơ hình thành phần 155 6.3.2 Cách thức hoạt động 157 6.4 Phân tích định hướng phát triển ứng dụng 158 6.5 Giới hạn vấn đề thực luận văn 159 Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 161 7.1 Phân tích 161 7.1.1 Ngữ cảnh hệ thống 161 7.1.2 Lược đồ Use Case 162 7.1.3 Đặc tả Use Case 163 7.1.4 Mơ tả dịng kiện 167 7.2 Thiết kế 179 7.2.1 Sơ đồ đối tượng cài đặt 179 7.2.2 Thiết kế giao diện 180 7.3 Cài đặt & Triển khai 183 7.3.1 Công cụ môi trường phát triển ứng dụng 183 7.3.2 Mơ hình cài đặt 184 7.3.3 Mơ hình triển khai 184 7.3.4 Thử nghiệm 185 Chương Kết luận 186 8.1 Đánh giá 186 8.1.1 Về luận văn 186 8.1.2 Về ứng dụng 186 8.2 Hướng phát triển, mở rộng luận văn 187 8.2.1 Về luận văn 187 - vi - Mục lục 8.2.2 Về ứng dụng 187 8.3 Lời kết 188 Phụ lục 189 A Các tiêu chí đánh giá tính khả dự án Grid 189 B Định dạng file GWSDL 191 C Kỹ thuật cài đặt chức Grid Service 193 C.1 Kỹ thuật cài đặt Operation Provider 193 C.2 Thêm thành phần liệu (Service Data Element (SDE)) 196 C.3 Cài đặt chế Notification 199 C.7 Cài đặt kỹ thuật tạo service động (Transient service) 202 C.5 Kỹ thuật Logging (Ghi vết) 205 C.6 Kỹ thuật quản lý chu trình sống service (Lifecycle Management) 206 D Các interface OGSI Service 208 E Cấu trúc chứng điện tử 211 Tài liệu tham khảo .213 Các Website 216 - vii - Danh sách hình Danh sách hình Hình 2-1 Tài nguyên Grid quan điểm người dùng, khối thống có nhờ ảo hoá Hình 2-2 Hình thức hoạt động Grid Tính tốn 10 Hình 2-3 Các đồ hình Grid 11 Hình 2-4 Đồ hình SimpleGrid 12 Hình 2-5 Đồ hình IntraGrid 13 Hình 2-6 Đồ hình ExtraGrid 14 Hình 2-7 Các minh họa đồ hình InterGrid 15 Hình 2-8 Kiến trúc Grid tổng quát 29 Hình 2-9 Quan điểm lập trình viên kiến trúc Grid 34 Hình 2-10 Kiến trúc Grid thực tế với thành phần 35 Hình 2-11 Các dự án Grid tương ứng với tầng 36 Hình 2-12 Mối quan hệ chuẩn Grid Service 39 Hình 2-13 Mơ hình kiến trúc hoạt động UNICORE 41 Hình 2-14 Kiến trúc Legion 44 Hình 2-15 Kiến trúc GridBus 46 Hình 2-16 So sánh UNICORE, Globus, Legion GridBus 49 Hình 3-1 Các thành phần kiến trúc SOA 54 Hình 3-2 Kiến trúc Globus Toolkit 75 Hình 3-3 Mơ hình thành phần hệ thống sử dụng GT2 76 Hình 3-4 Mơ hình tổ chức thành phần GT3 77 Hình 3-5 Các thành phần GSI 80 Hình 3-6 Quy trình khởi tạo để sử dụng GSI 87 Hình 3-7 Thủ tục chứng thực phân quyền với GSI 88 Hình 3-8 Cơ chế ủy quyền GSI 89 Hình 3-9 Thủ tục uỷ quyền proxy GSI 90 Hình 3-10 Kiến trúc quản lý tài nguyên Globus Toolkit 95 Hình 3-11 Các trạng thái cơng việc 98 Hình 3-12 Các thành phần chế hoạt động pre-WS GRAM 99 Hình 3-13 Cơ chế hoạt động có DUROC pre-WS GRAM 101 Hình 3-14 Các thành phần chế hoạt động WS-GRAM 105 Hình 3-15 Mơ hình quản lý thông tin Grid Globus Toolkit 107 Hình 3-16 Ví dụ tổ chức liệu MDS2 109 Hình 3-17 Mơ hình tổ chức liệu phân cấp MDS2 110 Hình 3-18 Các thành phần chế hoạt động MDS2 111 Hình 4-1 Luồng ứng dụng song song 128 Hình 4-2 Luồng ứng dụng 128 Hình 4-3 Luồng ứng dụng mạng 129 Hình 4-4 Các file cần thiết để triển khai Grid Service với Ant 139 Hình 5-1 Mơ hình hệ thống quản trị mạng 144 Hình 5-2 Màn hình giao diện Ethereal 151 Hình 6-1 Mơ hình thành phần ứng dụng Grid NetManager 155 Hình 6-2 Mơ hình thành phần ứng dụng Grid NetManager thử nghiệm 160 Hình 7-1 Ngữ cảnh hệ thống 161 Hình 7-2 Sơ đồ Usecase ứng dụng Grid NetManager thử nghiệm 162 - viii - Danh sách hình Hình 7-3 Sơ đồ lớp cài đặt lớp đối tượng 179 Hình 7-4 Màn hình ứng dụng Grid NetManager thử nghiệm 181 Hình 7-5 Màn hình Packet Capture Configue 182 Hình 7-6 Mơ hình cài đặt 184 Hình 7-7 Sơ đồ triển khai ứng dụngGrid NetManager thử nghiệm 184 Hình 7-8 Mơ hình cài đặt thử nghiệm 185 Hình 8-1 Lớp triển khai interface Grid service kỹ thuật kế thừa 194 Hình 8-2 Cài đặt intrface củaGrid service kỹ thuật Operation Provider 194 Hình 8-3 Ví dụ SDE MathService 196 Hình 8-4 Sơ đồ hoạt động chế Notification GT3 200 Hình 8-5 Cấu trúc chứng điện tử 211 - ix - Phụ lục } //Khi co thay doi SDE,ham se duoc Grid service goi, se xuat man // hinh cac gia tri cua SDE public void deliverNotification(ExtensibilityType any) throws RemoteException { try { // SDE da thay doi, lay gia tri moi ServiceDataValuesType serviceData = AnyHelper.getAsServiceDataValues(any); MathDataType mathData = (MathDataType) AnyHelper.getAsSingleObject(serviceData, MathDataType.class); // Xuat man hinh System.out.println("Current value: " + mathData.getValue()); System.out.println("Previous operation: " + mathData.getLastOp()); System.out.println("# of operations: " + mathData.getNumOps()); }catch(Exception exc) { System.out.println("ERROR!"); exc.printStackTrace(); } } } C.7 Cài đặt kỹ thuật tạo service động (Transient service) Làm cho service có khả tạo lập cách động (chuyển service thành transient service) việc dễ dàng GT3, không cần thay đổi portType cài đặt Mọi thứ cần làm sửa lại file đặc tả cài đặt + Đặc tả cài đặt Để thấy rõ thay đổi, xem lại file WSDD cũ: - 202 - Phụ lục Dưới file WSDD sửa đổi theo mơ hình tạo service động với factory Lưu ý, khai báo service factory tĩnh (persistent service) để chịu trách nhiệm tạo MathService instance động (transient service) File : $GRIDSER_DEMO/org/globus/progtutorial/services/core/first/serverdeploy.wsdd Một chút khác biệt đặc đặc tả: + Trước hết, thêm tiền tố “instance-” vào name, schemaPath, baseClassName, className, cách này, cho container biết tham số để truyền vào tạo instance MathService thông qua Factory - 203 - Phụ lục + Sau thêm tham số vào “khối tham số chung”, để ý lúc này, schemaPath, baseClassName, className tham khảo đến mã thực thi Factory (cung cấp GT3), mã thực thi tạo + Có thể thấy, việc thêm khả tạo lập động cho service nào, đơn giản gồm bước, thêm tiền tố “instance-” sửa lại “khối tham số chung” + Đối với client Có thể sử dụng lại client cũ Ở đây, viết client để demo khả tạo lập, sử dụng huỷ service instance thông qua Factory File : $GRIDSER_DEMO/org/globus/progtutorial/clients/MathService/FactoryC lient.java package org.globus.progtutorial.clients.MathService; import import import import org.gridforum.ogsi.OGSIServiceGridLocator; org.gridforum.ogsi.Factory; org.gridforum.ogsi.LocatorType; org.globus.ogsa.utils.GridServiceFactory; import org.globus.progtutorial.stubs.MathService.service.MathServiceGridLocator; import org.globus.progtutorial.stubs.MathService.MathPortType; import java.net.URL; public class FactoryClient { public static void main(String[] args) { try { // Lay tham so dong lenh URL GSH = new java.net.URL(args[0]); int a = Integer.parseInt(args[1]); // Lay GSR cua MathService Factory OGSIServiceGridLocator gridLocator = new OGSIServiceGridLocator(); Factory factory = gridLocator.getFactoryPort(GSH); GridServiceFactory mathFactory = new GridServiceFactory(factory); // Tao mot MathService instance moi va lay GSR cua no LocatorType locator = mathFactory.createService(); MathServiceGridLocator mathLocator = new MathServiceGridLocator(); MathPortType math = mathLocator.getMathServicePort(locator); // Goi phuong thuc Add() math.add(a); System.out.println("Added " + a); int value = math.getValue(); System.out.println("Current value: " + value); // Huy service instance sau su dung math.destroy(); }catch(Exception e) { System.out.println("ERROR!"); e.printStackTrace(); - 204 - Phụ lục } } } C.5 Kỹ thuật Logging (Ghi vết) Logging kỹ thuật quan trọng phát triển bảo trì phần mềm, cho phép theo dõi kiện đặc biệt hệ thống, kiện ghi nhận kết xuất hình GT3 cung cấp khả logging theo mơ hình Apache Jakarta Commons Logging (http://jakarta.apache.org/commons/logging/) Mơ hình đưa cấp độ thơng tin logging, gồm Debug, Trace, Info, Warn, Error, Fatal Việc định thông tin mức độ tuỳ thuộc vào người lập trình ứng dụng Ở thêm tính logging vào MathService, sử dụng lại ví dụ Khi thêm tính logging, không cần sửa lại portType, cần thêm lệnh cần thiết vào mã cài đặt portType + Cài đặt File: $GRIDSER_DEMO/org/globus/progtutorial/services/core/logging/impl/M athImpl.java // import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; // public class MathImpl extends GridServiceImpl implements MathPortType { // Tao logger cho class static Log logger = LogFactory.getLog(MathImpl.class.getName()); // public void add(int a) throws RemoteException { logger.info("Addition invoked with parameter a=" + String.valueOf(a)); if (a==0) logger.warn("Adding zero doesn't modify the internal value!"); value = value + a; } // public int getValue() throws RemoteException { logger.info("getValue() invoked"); return value; } } + Xem kết xuất log Để xem kết xuất log MathService, thêm dòng sau vào cuối file: $GLOBUS_LOCATION/ogsilogging.properties(Đây file cấu hình Log GT3) - 205 - Phụ lục #Cho biet can xuat cac log o cap Info man hinh console, co the sua #lai cac cap khac, va ghi file org.globus.progtutorial.services.core.logging.impl.MathImpl=console,in fo C.6 Kỹ thuật quản lý chu trình sống service (Lifecycle Management) Như biết việc quản lý chu trình sống service instance tạo lập động quan trọng GT3 cung cấp cơng cụ hữu ích để quản lý service phương thức callback (callback method), theo dõi chu trình sống (lifecycle monitor) Ở sử dụng lại ví dụ phần transient service logging để demo kỹ thuật + Kỹ thuật Callback method Một cách đơn giản để quản lý chu trình sống callback method (tương tự hàm kiện lập trình với MS Windows) Các phương thức callback gọi số thời điểm xác định chu trình sống service GT3 hỗ trợ hàm callback sau: Hàm preCreate postCreate activate deactivate preDestroy Thời điểm gọi Khi trình tạo lập Grid Service bắt đầu, lúc tất cấu hình chưa nạp Khi service tạo cấu hình service tạo lập Tất Grid service mặc định trạng thái “khơng kích hoạt”(deactivated), hàm gọi service kích hoạt Khi service trở trạng thái “khơng kích hoạt” Ngay trước service bị huỷ Bảng 8-2 Các hàm callback GT3 File : $GRIDSER_DEMO/org/globus/progtutorial/services/core/lifecycle/impl /MathImpl.java // import org.globus.ogsa.GridServiceCallback; // public class MathImpl extends GridServiceImpl implements MathPortType, GridServiceCallback { // // Cai dat cac phuong thuc Callback, chi can su dung lai cac ham cai san cua lop cha GridServiceImpl public void preCreate(GridServiceBase base) throws GridServiceException { super.preCreate(base); logger.info("Instance is going to be created (preCreate)"); } public void postCreate(GridContext context) throws GridServiceException { - 206 - Phụ lục super.postCreate(context); logger.info("Instance has been created (postCreate)"); } public void activate(GridContext context) throws GridServiceException { super.activate(context); logger.info("Instance has been activated (activate)"); } public void deactivate(GridContext context) throws GridServiceException { super.deactivate(context); logger.info("Instance has been deactivated (deactivate)"); } public void preDestroy(GridContext context) throws GridServiceException { super.preDestroy(context); logger.info("Instance is going to be destroyed (preDestroy)"); } } + Kỹ thuật Lifecycle Monitor Kỹ thuật Callback Method tốt, nhiên khó sử dụng lại Giả sử có hàm preCreate() postCreate() muốn sử dụng lại tất Grid Service, với kỹ thuật Callback Method, có cách đưa vào lớp cha, cho tất lớp Grid Service khác thừa kế từ Tất nhiên có hạn chế giới thiệu phần Operation Provider GT3 đưa giải pháp Lifecycle Monitor Một lifecycle monitor lớp triển khai interface ServiceLifeCycleMonitor, interface với hàm callback gọi thời điểm quan trọng thời gian sống Grid service Chúng ta không cần kế thừa hay tham thảo interface trực tiếp từ mã nguồn Chúng ta cần thêm dòng vào đặc tả triển khai yêu cầu lớp lifecycle monitor phải gọi có kiện đặc biệt xảy Do đó, dùng lifecycle monitor cho nhiều Grid service khác Dưới lớp lifecycle monitor đơn giản, file : $GRIDSER_DEMO/org/globus/progtutorial/services/core/lifecycle/impl /MathLifecycleMonitor.java package org.globus.progtutorial.services.core.lifecycle.impl; import org.globus.ogsa.GridServiceException; import org.globus.ogsa.ServiceLifecycleMonitor; import org.globus.ogsa.GridContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class MathLifecycleMonitor implements ServiceLifecycleMonitor { // Tao logger cho lop static Log logger = LogFactory.getLog(MathLifecycleMonitor.class.getName()); //Cac phuong thuc can callback public void create(GridContext context) throws GridServiceException { logger.info("Instance is going to be created (create)"); } - 207 - Phụ lục public void destroy(GridContext context) throws GridServiceException { logger.info("Instance is going to be destroyed (destroy)"); } public void preCall(GridContext context) throws GridServiceException { logger.info("Service is going to be invoked (preCall)"); } public void postCall(GridContext context) throws GridServiceException { logger.info("Service invocation has finished (postCall)"); } public void preSerializationCall(GridContext context) { logger.info("Input parameters are going to be deserialized (preSerializationCall)"); } public void postSerializationCall(GridContext context) { logger.info("Input parameters have been deserialized (postSerializationCall)"); } } Và thêm dòng sau vào file đặc tả triển khai (.WSDD) D Các interface OGSI Service Bảng 0-3 tóm tắt interface Grid Service định nghĩa OGSI 1.0: Interface Grid Service Loại Tên chi tiết Diễn giải Định nghĩa ứng xử service SDE interface Danh sách tên (QName) interface service Danh sách tên (QName) serviceDataName SDE service (động tĩnh) Vị trí (ogsi:LocatorType) factoryLocator factory tạo service instance Zero nhiều GSH gridServiceHandle service instance Một nhiều GSR gridServiceReference service instance - 208 - Phụ lục findServiceDataExtensibility setServiceDataExtensibility terminationTime Phương thức findServiceData setServiceData requestTerminationAfter requestTerminationBefore destroy Thực ánh xạ từ GSH sang GSR SDE handleResolverScheme Handle Resolver Notification Source Tập phương thức mở rộng phương thức findServiceData Tập phương thức mở rộng phương thức setServiceData Thời gian dự kiến kết thúc service instance Truy vấn thông tin service Cho phép thay đổi giá trị SDE phép thay đổi giá trị (modifiable= “true”) Yêu cầu thay đổi terminationTime service instance Phương thức xác định thời gian kết thúc sớm Yêu cầu thay đổi terminationTime service instance Phương thức xác định thời gian kết thúc trễ Huỷ tường minh service instance Tập URI xác định lược đồ GSH sử dụng để phân giải thành GSR Trả vị trí (ogsi:LocatorType) chức GSR tương với GSH đươc yêu cầu Cho phép client đặt yêu cầu cung cấp thông báo SDE Tập QName SDE notifiableServiceDataName yêu cầu thông báo có thay đổi Tập phương thức mở subscribeExtensibility rộng phương thức subscribe Phương thức findByHandle Phương thức subscribe Yêu cầu phải thông báo có thay đổi SDE xác định notifiableServiceDataName Định nghĩa phương thức phân phối thông điệp - 209 - Phụ lục Notification Sink Notification Subscription Factory Service Group Service Group Registration Định nghĩa phương thức phân phối thơng điệp SDE Khơng có Phân phối thông báo Phương deliverNotification thức Xác định mối quan hệ cặp NotificationSource NotificationSink SDE subscriptionExpression sinkLocator Phương Khơng có thức Cung cấp cách thức chuẩn để tạo service instance SDE Tập phương thức mở createServiceExtensibility rộng phương thức createService Phương createService Tạo service instance thức Cho phép client quản lý nhóm service SDE Là cấu trúc liên kết membershipContentRule portType với tập QName Mỗi service instance muốn thành viên nhóm phải có nhiều interface xác định SDE Biểu diễn thông tin entry thành viên ServiceGroup Phương Khơng có thức Cho phép thêm loại bỏ Grid service instance ServiceGroup, SDE Tập phương thức mở addExtensibility rộng phương thức add Tập phương thức mở removeExtensibility rộng phương thức remove Tạo ServiceGroupEntry đưa vào ServiceGroup Loại bỏ ServiceGroupEntry remove thoả yêu cầu đưa vào Định nghĩa mối quan hệ thành viên service instance với ServiceGroup SDE Chứa vị trí memberServiceLocator (ogsi:LocatorType) service instance tham khảo đến Phương thức Service Group Entry add - 210 - Phụ lục Cung cấp số thông tin service instance chứa content Phương thức Khơng có Bảng 8-3 Các interface OGSI Service E Cấu trúc chứng điện tử Một chứng điện tử bao gồm phần : subject (distinguished name (DN)) không gian tên hệ thống Grid xác định người đối tượng mà chứng đại diện, khóa cơng khai kèm với subject, phần nhận dạng CA thực ký chứng nhận chứng chỉ, chữ ký CA phần mở rộng chứa thông tin cá nhân hay host chứng nhận Một số thơng tin địa email, tên tổ chức, … Hình vẽ sau mơ tả chi tiết cấu trúc chứng điện tử: Hình 8-5 Cấu trúc chứng điện tử * Việc lấy chứng nhận cho người dùng (lưu ý người dùng thật hay host) Grid bao gồm bước: Người dùng Grid phát sinh cặp khố (khóa bí mật khóa cơng khai tương ứng), yêu cầu chứng nhận chứa khoá công khai thông tin cần thiết theo yêu CA - 211 - Phụ lục Sau đó, người dùng gửi u cầu đến CA Cịn khóa bí mật giữ lại lưu trữ cách cẩn thận CA (hay mở rộng RA) thực xác minh thông tin yêu cầu thật, tức tìm cách chứng minh user gửi yêu cầu chủ sở hữu khóa cơng khai u cầu Việc thực nhiều cách khác nhau, thông qua điện thoại, email, hay đường tiếp xúc trực tiếp hai bên,… Sau kiểm tra xong, CA tạo chứng cách ký tên vào yêu cầu, gửi chứng lại cho người dùng yêu cầu chứng nhận Việc yêu cầu chứng thực trên cần thực lần nhất, từ nhận chứng chỉ, người dùng dùng đế đại diện cho giao tiếp với hệ thống có yêu cầu chứng thực - 212 - Phụ lục Tài liệu tham khảo [1] Ian Foster, The Grid, CLUSTERWORLD, vol 1, no.1, 2001,pp 1-2 [2] Ian Foster, Carl Kesselman, Steven Tuecke, The Anatomy of Grid, Intl J Supercomputer Applications, 2001 [3] Ian Foster, What is the Grid? A Three Point Checklist, Argonne National Laboratory & University of Chicago, 20/06/2002 [4] Ian Foster,Carl Kesselman, Jeffrey M Nick, Steven Tuecke, The Physiology of the Grid - An Open Grid Services Architecture for Distributed Systems Integration, Version: 6/22/2002 [5] I Foster, D Gannon, H Kishimoto, The Open Grid Services Architecture, GLOBAL GRID FORUM, 10/03/2004, http://forge.gridforum.org/projects/ogsawg [6] S Tuecke, K Czajkowski, I Foster, J Frey, S Graham, C Kesselman, T Maquire, T Sandholm, D Snelling, P Vanderbilt, Open Grid Services Infrastructure (OGSI) Version 1.0, GLOBAL GRID FORUM, 27/06/2003, http://www.ggf.org/ogsi-wg [7] Mark Baker, Rajkumar Buyya, Domenico Laforenza, Grids and Grid technologies for wide-area distributed computing, John Wiley & Sons Ltd, 2002 [8] Steven Fitzgerald, Ian Foster, Carl Kesselman, Gregor von Laszewski, Warren Smith, Steven Tuecke, A Directory Service for Configuring High-Performance Distributed Computations, 1997,http://www.globus.org [9] Ian Foster, Carl Kesselman, Globus: A Metacomputing Infrastructure Toolkit, http://www.globus.org [10] Karl Czajkowski, Steven Fitzgerald, Ian Foster, Carl Kesselman, Grid Information Services for Distributed Resource Sharing, Proc 10th IEEE International Symposium on High-Performance Distributed Computing (HPDC10), IEEE Press, 2001 [11] Karl Czajkowski, Ian Foster, Nicholas Karonis, Carl Kesselman, Stuart Martin, Warren Smith, Steven Tuecke, A Resource Management Architecture for Metacomputing Systems, 1997, www.globus.org [12] Sam Lang, Sam Meder, Security and Credential Management on the Grid, CLUSTERWORLD volume no , pp 8-11, 02/2004 [13] Von Welch, Frank Siebenlist, Ian Foster, John Bresnahan, Karl Czajkowski, Jarek Gawor, Carl Kesselman, Sam Meder, - 213 - Phụ lục Laura Pearlman, Steven Tuecke, Security for Grid Services, www.globus.org [14] Von Welch, Ian Foster, Carl Kesselman, Olle Mulmo, Laura Pearlman, Steven Tuecke, Jarek Gawor, Sam Meder, Frank Siebenlist, X.509 Proxy Certificates for Dynamic Delegation, www.globus.org [15] Ian Foster, Carl Kesselman, Gene Tsudik, Steven Tuecke, A Security Architecture for Computational Grids, 5th ACM Conference on Computer and Communication Security, www.globus.org [16] Bart Jacob, How Grid infrastructure affects application design, RedBooks, IBM, 06/2003 [17] Bart Jacob, Taking advantage of Grid computing for application enablement, RedBooks, IBM, 06/2003 [18] Martin C Brown, Grid computing moving to a standardized platform, RedBooks, IBM, 08/2003 [19] IBM Corp , The Era of Grid Computing: A new standard for successful IT strategies, 01/2004, www.ibm.com [20] Viktors Berstis, Fundamentals of Grid Computing, Redbooks, IBM Corp, 2002, www.ibm.com/redbooks [21] Luis Ferreira,Viktors Berstis, Jonathan Armstrong, Mike Kendzierski, Andreas Neukoetter, Introduction to Grid Computing with Globus, Redbooks,IBM Corp, 09/2003, www.ibm.com/redbooks [22] Bart Jacob, Luis Ferreira, Norbert Bieberstein, Candice Gilzean, Jean-Yves Girard, Roman Strachowski, Seong (Steve) Yu, Enabling Applications for Grid Computing with Globus, Redbooks, IBM Corp, 06/2003, www.ibm.com/redbooks [23] Luis Ferreira, Bart Jacob, Sean Slevin, Michael Brown, Srikrishnan Sundararajan, Jean Lepesant, Judi Bank, Globus Toolkit 3.0 Quick Start, Redbooks, IBM Corp, 09/2003, www.ibm.com/redbooks [24] Borja Sotomayor, The Globus Toolkit Programmer's Tutorial, 2003-2004 www.globus.org [25] Richard Sharpe, Ed Warnicke, Ulf Lamping, Ethereal User's Guide: V2.00 for Ethereal 0.10.5, 2004, www.ethereal.com [26] Luis Ferreira, Arun Thakore, Michael Brown, Fabiano Lucchese, Huang RuoBo, Linda Lin, Paul Manesco, Jeff Mausolf, Nasser Momtaheni, Karthik Subbian, Olegario, Hernandez, Grid Services Programming and Application Enablement, Redbooks,IBM Corp, 05/2004, www.ibm.com/redbooks - 214 - Phụ lục [27] Parvin Asadzadeh, Rajkumar Buyya1, Chun Ling Kei, Deepa Nayar, Srikumar Venugopal, Global Grids and Software Toolkits: A Study of Four Grid Middleware Technologies, Grid Computing and Distributed Systems (GRIDS) Laboratory, The University of Melbourne, Australia [28] Matthew Strebe, Network Security JumpStart, SYBEX Inc., 2002 [29] James Stanger, Patrick Lane, Tim Crothers, CIW:Security Professional Study Guide, SYBEX Inc., 2002, www.sybex.com [30] Wenke Lee, Salvatore J Stolfo, Kui W Mok, Adaptive Intrusion Detection: a Data Mining Approach, Kluwer Academic Publishers, 2000 [31] John McHugh, Alan Christie, Julia Allen, Defending Yourself: The Role of Intrusion Detection Systems, IEEE SOFTWARE, 10/2000 [32] Thomas H Ptacek, Timothy N Newsham, Insertion, Evasion, and Denial of Service:Eluding Network Intrusion Detection, Secure Networks Inc.,01/1998 [33] Detmar Liesen, Requirements for Enterprise-Wide Scaling Intrusion Detection Products, 2002 [34] William Allcock, Programming with GridFTP CLUSTERWORLD volume no , pp 1-6, 10/2004 [35] Globus Alliance, MDS ver 2.2 User’s Guide, Globus Aliance, www.globus.org, 3/10/2003 [36] William Allcock, GridFTP: Protocol Extensions to FTP for the Grid, Argonne National Laboratory, 03/2003 [37] Snort Project, Snort Users Manual 2.3.2, www.snort.org, 10/032005 - 215 - Client Library, Phụ lục Các Website STT 10 11 12 13 14 Tổ chức Globus Alliance IBM Global Grid Forum GridCafe NSF MIDDLEWARE INITIATIVE GRIDS UNICORE Legion Gridbus Ethereal WindowSecurity SecurityFocus Cisco Corp Snort Website http://www.globus.org http://www.ibm.com http://www.globalgridforum.org http://gridcafe.web.cern.ch/gridcafe http://www.nsf-middleware.org http://www.grids-center.org http://www.unicore.org http://legion.virginia.edu http://www.gridbus.org http://www.ethereal.com http://www.WindowSecurity.com http://www.SecurityFocus.com http://www.Cisco.com http://www.Snort.com - 216 - ... vào việc phát triển ứng dụng công nghệ Grid Computing vào thực tiễn, đề tài: ? ?Tìm hiểu cơng nghệ Grid Computing ứng dụng thử nghiệm toán quản trị mạng? ?? thực với số mục tiêu: + Tìm hiểu cơng nghệ. .. phát triển ứng dụng Globus Toolkit, công cụ xây dựng Grid hàng đầu + Tìm hiểu quản trị mạng hệ thống quản trị mạng + Nghiên cứu đề xuất mơ hình hệ thống quản trị mạng tảng công nghệ Grid Computing. .. cứu, học hỏi cơng nghệ, đề tài luận văn ? ?Tìm hiểu cơng nghệ Grid Computing ứng dụng thử nghiệm toán quản trị mạng? ?? thực nhằm bước trình nghiên cứu, phát triển, ứng dụng Grid vào thực tế Luận văn