MỞ ĐẦU Trong nhiều năm trở lại đây, các thiết bị điện thoại với hạn chế về dung lƣợng lƣu trữ, khả năng xử lý dữ liệu đang dần trở lên phổ dụng vì tính tiện dụng và nhu cầu, thông tin liên lạc của ngƣời dùng. Cùng với xu hƣớng phát triển của công nghệ, các thiết bị này cũng đang phát triển, đƣa ra rất nhiều tính năng và tiện ích. Giờ đây, các thiết bị điện thoại cầm tay không chỉ hỗ trợ các tính năng nghe, gọi, nhắn tin, lƣu trữ danh bạ, mà ngày càng trở thành các công cụ quản lý, nhƣ quản lý thông tin cá nhân (PIM): danh bạ, sổ địa chỉ, lịch làm việc, tích hợp các ứng dụng gửi nhận mail, trình duyệt, … Cùng với đó, nhu cầu công việc đòi hỏi tính nhanh, tiện dụng, di động, mọi lúc mọi nơi đã thúc đẩy các doanh nhân, nhân viên văn phòng và doanh nghiệp, thậm chí là những cá nhân hay tƣ doanh nhỏ tìm cách sử dụng các tiện ích trên trên những thiết bị cầm tay nhƣ điện thoại di động, máy tính xách tay có kết nối internet để giao dịch với đối tác, liên hệ với nhân viên, đàm phán với khách hàng. Chính vì nhu cầu của ngƣời sử dụng, và sự phát triển nhanh chóng của các thiết bị đầu cuối, đặt ra những yêu cầu cho các nhà cung cấp dịch vụ trong việc hỗ trợ, cung cấp nhiều ứng dụng, tiện ích phục vụ nhu cầu đa dạng của ngƣời dùng.
Có thể nói, giao tiếp giữa internet và thiết bị mobile nhằm trao đổi, chia sẻ, xử lý thông tin, thực hiện các giao dịch, tác vụ vào bất cứ thời gian, địa điểm nào đang là chìa khóa mở ra nhiều tiềm năng phát triển các dịch vụ, tiện ích cả về giải trí lẫn thƣơng mại, và đem lại nhiều giá trị sử dụng cho ngƣời dùng đầu cuối. Xuất phát từ nhu cầu thực tế, và yêu cầu của đơn vị đang công tác nhằm đẩy mạnh nghiên cứu, triển khai các ứng dụng, áp dụng các công nghệ trên thiết bị di động, luận văn này đƣợc thực hiện với mục đích: Tìm hiểu, các khái niệm, định nghĩa, các mô hình của đồng bộ dữ liệu Nghiên cứu giao thức, kiến trúc đặc tả của đồng bộ dữ liệu OMA-SyncML Nghiên cứu đặc tả, giao thức quản lý thiết bị trong đồng bộ dữ liệu OMA- SyncML Nghiên cứu cơ chế đảm bảo an toàn thông tin trong đồng bộ dữ liệu OMA- SyncML Áp dụng các kết quả nghiên cứu và thực hiện cài đặt ứng dụng trên các thiết bị cầm tay sử dụng công nghệ đồng bộ dữ liệu OMA-SyncML, đó là: Xây dựng ứng dụng MPE (Mobile Push Email), cung cấp các tính năng giúp ngƣời dùng thực hiện gửi, nhận, quản lý, đồng bộ email trên các thiết bị điện thoại di động. z 2 Với giới hạn những vấn đề tìm hiều và nghiên cứu nhƣ trên, luận văn bao gồm 5 chƣơng: Chƣơng 1: Tổng quan về đồng bộ dữ liệu Giới thiệu các khái niệm về đồng bộ dữ liệu, các kiểu đồng bộ dữ liệu, các vấn đề phát sinh trong quá trình đồng bộ dữ liệu; Giới thiệu khái niệm đồng bộ dữ liệu OMA-SyncML, các ứng dụng của đồng bộ dữ liệu OMA-SyncML; Giới thiệu một số công nghệ, vấn đề liên quan tới đồng bộ dữ liệu. Chƣơng 2: Kiến trúc và giao thức của đồng bộ dữ liệu OMA-SyncML: Trình bày kiến trúc đồng bộ dữ liệu OMA-SyncML; Giao thức của đồng bộ OMA-SyncML; Giao thức đặc tả của OMA-SyncML; Các mô hình đồng bộ OMA-SyncML; Chƣơng 3: Mô hình quản lý thiết bị OMA-SyncML: Trình bày mô hình quản lý thiết bị OMA-SyncML; Công nghệ quản lý thiết bị OMA-SyncML; Giao thức quản lý thiết bị OMA-SyncML; Khung quản lý thiết bị OMA-SyncML.
Chƣơng 4: Cơ chế bảo mật trong đồng bộ dữ liệu OMA-SyncML Trình bày cơ chế xác thực trong đồng bộ OMA-SyncML; Các vấn đề về bảo mật đƣờng truyền trong đồng bộ dữ liệu OMA; PKI trong đồng bộ dữ liệu OMA- SyncML. Chƣơng 5: Cài đặt ứng dụng MPE (Mobile Push Email) Trình bày đặc tả yêu cầu ứng dụng; Phân tích thiết kế hệ thống ứng dụng MPE (Mobile Push Email). z 3 Chƣơng 1: TỔNG QUAN VỀ ĐỒNG BỘ DỮ LIỆU 1.1 CÁC KHÁI NIỆM Giao thức hỏi- đáp không đồng bộ (Unsynchronous request-response protocol): Giao thức trao đổi thông điệp giữa 2 máy tính trong đó một máy đƣa ra câu hỏi (request) và máy kia trả lời, và máy đƣa ra câu hỏi có thể không cần phải có câu trả lời ngay lập tức. Ví dụ SMTP là giao thức hỏi đáp không đồng bộ [6] Giao thức hỏi đáp đồng bộ (Synchronous request-response protocol): Giao thức trao đổi thông điệp giữa 2 máy tính trong đó một máy đƣa ra câu hỏi và một máy trả lời.
Máy đƣa ra câu hỏi sẽ chờ đến khi nhận đƣợc câu trả lời. Ví dụ HTTP là giao thức hỏi đáp đồng bộ [6] Khởi động (Bootstrapping): Tiến trình trong đó thiết bị cầm tay (chƣa thiết lập cấu hình) chuyển từ trạng thái ban đầu tới trạng thái thiết lập cấu hình cơ bản nhất. Máy khách quản lý thiết bị (DM Client): Máy khách cài đặt giao thức quản lý thiết bị SyncML Máy chủ quản lý thiết bị (DM Server): Máy chủ cài đặt giao thức quản lý thiết bị SyncML Đồng bộ cục bộ (Local Synchronization): Đồng bộ cục bộ qua kết nối trong phạm vi nhỏ, qua cáp, bluetooth hoặc hồng ngoại. Kiểu đồng bộ này thƣờng là giữa một máy điện thoại và máy tính cá nhân.
[6] Đồng bộ nhiều – tới - một (Many-to-one): Mô hình đồng bộ này bao gồm nhóm hai hay nhiều thực thể, trong đó chỉ có một thực thể đồng bộ dữ liệu với các thực thể khác. Mô hình này còn gọi là mô hình sao. [6] Đồng bộ nhiều – tới - nhiều (Many-to-many): Mô hình đồng bộ bao gồm nhóm hai hay nhiều thực thể, trong đó bất kỳ thực thể nào cũng có thể đồng bộ với các thực thể còn lại. [6] Đồng bộ một chiều (One-way Synchronization): Đồng bộ dữ liệu giữa 2 thực thể, trong đó chỉ có một thực thể thông báo cho thực thể còn lại cập nhật dữ liệu.
[6] z 4 Đồng bộ 2 chiều (Two-way Synchronization): Đồng bộ dữ liệu giữa hai thực thể, trong đó các thực thể trao đổi thông tin về dữ liệu thay đổi trên mỗi thực thể [6] Đồng bộ từ xa (Remote Synchronization): Đồng bộ dữ liệu qua kết nối mạng với khoảng cách xa [6] Nhà cung cấp dịch vụ (Service Provider): Cung cấp các ứng dụng internet nhƣ quản lý email, sổ địa chỉ, lịch làm việc, ghi chú,. Đồng bộ chậm (Slow Synchronization): Tiến trình đồng bộ trong đó một thực thể trao đổi các giá trị của tất cả các phần tử trong kho lƣu trữ với thực thể khác. Mục đích là để thực hiện khôi phục lại dữ liệu khi có sự cố. [6] Nhà cung cấp đồng bộ (Synchronization Vendor): Một nhà cung cấp và phát triển chuyên biệt phần mềm đồng bộ dữ liệu giữa các ứng dụng trên các máy tính khác nhau.
[6] Thẻ sync (Sync Anchor): Một bộ đánh dấu tích hợp với một kho lƣu trữ và một trong số đối tác đồng bộ của nó. Mục đích là xác định thời điểm cuối cùng đồng bộ với thực thể đồng bộ với nó. [6] Kiểu đồng bộ (Sync Type): Một trong những kiểu đồng bộ đƣợc sử dụng: đồng bộ một chiều, đồng bộ 2 chiều, đồng bộ chậm,. [6] Thông điệp SyncML (SyncML Message): Một thông điệp theo định dạng chuẩn XML.
Thông điệp SyncML đƣợc sử dụng để trao đổi trong quá trình đồng bộ. [6] Gói SyncML (SyncML Package): Phiên đồng bộ bao gồm các gói SyncML đƣợc trao đổi giữa máy chủ và máy khách. Một gói SyncML có thể chứa nhiều thông điệp SyncML. [6] Liên kết giao vận (Transport Binding): Đặc tả một giao thức mức cao sử dụng giao thức giao vận nhƣ thế nào.
[6] z 5 Ứng dụng (Application): Ứng dụng SyncML cung cấp các giao thức đồng bộ dữ liệu. Ứng dụng có thể là tự khởi tạo hoặc nhận các câu lệnh giao thức SyncML. Ứng dụng có thể đóng vai trò nhƣ một máy khách (client) hoặc một máy chủ (server) đồng bộ dữ liệu OMA. [16] Khả năng trao đổi (Capabilities exchange): Khả năng đồng bộ dữ liệu OMA, trong đó cho phép một máy khách và máy chủ trao đổi các thông số cấu hình thiết bị, các đặc tính và ứng dụng.
[16] Máy khách (Client): Máy khách đồng bộ dữ liệu OMA đề cập đến vai trò giao thức khi ứng dụng đƣa ra các thông điệp “yêu cầu” SyncML. [16] Câu lệnh (Command): Câu lệnh SyncML là phần tử cơ bản của giao thức. Mỗi câu lệnh SyncML xác định một tác vụ riêng lẻ đƣợc thực hiện. Ví dụ: Add, Alert, Atomic, Copy, Delete,.
[17] Dữ liệu (Data): Đơn vị thông tin trao đổi, mã hóa để truyền qua mạng trong ĐBDL [17] Tập dữ liệu (Data collection): Một phần tử dữ liệu đóng vai trò nhƣ một bộ chứa các phần tử khác, (ví dụ: {c {{i1, data1},. Trong ĐBDL OMA, các tập dữ liệu đƣợc đồng bộ với nhau. Phần tử dữ liệu tƣơng đƣơng (Data element equivalence): Khi hai phần tử dữ liệu đƣợc đồng bộ. Các ngữ nghĩa chính xác đƣợc định nghĩa bằng một mô hình đồng bộ dữ liệu đã cho.
[17] Trao đổi dữ liệu (Data exchange): Đƣợc biết nhƣ các tác vụ gửi, yêu cầu, nhận tập phần tử dữ liệu. Định dạng dữ liệu (Data format): Sử dụng mã hóa để định dạng một kiểu dữ liệu. Ví dụ, các ký tự hoặc số nguyên đƣợc mã hóa dữ liệu binary. [17] Đồng bộ dữ liệu (Data synchronization): Đóng vai trò thiết lập sự tƣơng đƣơng giữa 2 tập dữ liệu, trong đó các phần tử dữ liệu của 1 tập đƣợc ánh xạ tới các phần tử dữ liệu trong tập kia.
[16] z 6 Giao thức đồng bộ dữ liệu (Data synchronization protocol): Đặc tả bắt buộc để hoàn thành đồng bộ các phần tử dữ liệu trên tập dữ liệu ban đầu hoặc tập dữ liệu nhận đƣợc. [16] Thông điệp (Message): Thông điệp SyncML là các nội dung chính của một gói SyncML. Nó chứa các câu lệnh SyncML cũng nhƣ dữ liệu liên quan và thông tin mô tả (meta- information). [16] Tác vụ (Operation): Một tác vụ SyncML đề cập đến giao dịch đạt đƣợc bởi các câu lệnh SyncML xác định trong gói SyncML.
Ví dụ, "đồng bộ sổ địa chỉ cá nhân với sổ địa chỉ công khai ". [17] Thiết bị khởi tạo (Originator): Thiết bị mạng khởi tạo một yêu cầu SyncML [16] Gói (Package): Một gói SyncML là một tập đầy đủ các câu lệnh và các phần tử dữ liệu liên quan, đƣợc trao đổi giữa một thiết bị khởi tạo và một thiết bị nhận. Gói SyncML có thể chứa một hoặc nhiều thông điệp SyncML.