Showing posts with label Công nghệ mới. Show all posts
Showing posts with label Công nghệ mới. Show all posts

Wednesday, October 12, 2016

Công nghệ Agent trong quản lý mạng Internet

Công nghệ Agent trong quản lý mạng Internet

Sự ra đời của công nghệ Agent, đặc biệt là Agentphần mềm có thể là một câu trả lời cho các bài toán quản lí mạng hóc búa. Xu hướng quản lý mạng hiện nay thường theo kiểu tập trung (centralized) do đó phải sử dụng các ứng dụng tương đối lớn thì mới có thể thực hiện được các đặc tính thông minh của hệ thống, người ta sẽ sử dụng một số các hệ thống nhỏ hơn có quan hệ mật thiết với nhau hoặc các Agentcó thể giao tiếp được với nhau (điều này không chỉ đơn thuần là chia nhỏ hệ thống, vì nó yêu cầu phức tạp hơn nhiều).



1. Giới thiệu


Ngày nay, cùng với sự phát triển như vũ bão của công nghệ thông tin, điện tử viễn thông, mạng viễn thông nói chung và mạng Internet nói riêng ngày càng hiện đại và phức tạp. Điều này đòi hỏi người điều hành mạng phải có một kiến thức rất rộng và phải được đào tạo và cập nhật kiến thức thường xuyên. Việc quản lý nhiều loại mạng khác nhau sẽ yêu cầu phải thu thập một khối lượng lớn các số liệu, các số liệu này phải được phân tích xử lý trước khi đưa ra một biện pháp quản lý thực sự, điều này sẽ gặp rất nhiều khó khǎn cho người điều hành nếu không có một công cụ hiệu quả trong tay. Đồng thời với sự phức tạp của mạng thì đối với người sử dụng việc nâng cao độ tin cậy và chất lượng dịch vụ được mong đợi cao hơn. Sự ra đời của công nghệ Agent , đặc biệt là Agent phần mềm có thể là một câu trả lời cho bài toán quản lí mạng hóc búa này. Xu hướng quản lý mạng hiện nay thường theo kiểu tập trung (centralized) do đó phải sử dụng các ứng dụng tương đối lớn thì mới có thể thực hiện được các đặc tính thông minh của hệ thống, người ta sẽ sử dụng một số các hệ thống nhỏ hơn có quan hệ mật thiết với nhau hoặc các Agent có thể giao tiếp được với nhau (điều này không chỉ đơn thuần là chia nhỏ hệ thống, vì nó yêu cầu phức tạp hơn nhiều). Với sự phát triển của trí tuệ nhân tạo, thì một Agent có thể được nhìn nhận theo mô hình BDI (Belift-Desires-Intentions), và được sử dụng để có thể trao đổi thông tin, đưa ra các kết quả hoặc kết hợp các kết quả một cách thông minh, nhưng cũng đơn giản hơn mô hình đang sử dụng hiện tại.


Hiện nay, việc quản lí mạng nói chung đều dựa trên mô hình client/server. Cho dù hệ thống Agent có thể hoạt động với bất kỳ công nghệ client/server nào nhưng nó khác với hệ thống client/server do nó không phân biệt rõ ràng đâu là client đâu là server. Tất cả các Agentđược uỷ quyền một nhiệm vụ hay vai trò do người thiết kế hoặc người sử dụng hoặc một Agent giám sát gán cho. Các hệ thống quản lý mạng khi sử dụng công nghệ Agent với một đặc tính của Agent đó là tính di động sẽ thuận lợi hơn so với mô hình client/server thông thường, cũng như hệ thống dựa trên các Agent tĩnh.



2. Agent di động


2.1. Khái niệm về Agent


Sẽ thật không dễ dàng khi đi tìm một khái niệm chính xác cho Agent. Nó là một khái niệm cực kỳ rộng lớn, bao hàm nhiều vấn đề, theo nhà nghiên cứu Krogh "Agent là gì? Nó là rất nhiều thứ. Nếu cố gắng tìm ra một mẫu thức chung về hoạt động hay lí thuyết về Agent thì bạn có thể gặp sai lầm", và ông đã chỉ ra một số các điểm mâu thuẫn giữa các khái niệm Agent như tính tiên đoán, tính phản ứng, tính suy diễn.


Để có thể hiểu rõ hơn về Agent , ở đây ta nên thu hẹp phạm vi của Agent , đó là Agent phần mềm: "Đó là một thực thể phần mềm, hoạt động theo sự uỷ quyền của các Agent khác, của người điều khiển, nó có khả nǎng tự động, thực hiện tiên đoán, phản ứng và một số khả nǎng như tự học, tự di chuyển, hoạt động theo kiểu cộng tác. Ta có thể coi đây là một mô hình Agent cơ sở.


Ngoài ra Agent phần mềm còn xác định một số khái niệm khác: mô hình vòng đời, mô hình tính toán, mô hình giao tiếp truyền thông, mô hình bảo mật, mà nằm ngoài khuôn khổ bài báo


2.2. Agent di động


Bây giờ thì rất dễ dàng để hiểu được khái niệm Agent di động: là một Agent phần mềm có khả nǎng thay đổi vị trí. Agent di động còn được trang bị thêm một đặc tính nữa đó là mô hình di chuyển. Công nghệ được sử dụng cho Agent di động: code di động (mobile code) hoặc remote object với Agent TCL, Telescript hoặc gần đây là Aglets.


Để có thể sử dụng các Agent di động, thì hệ thống cần có một framework: cung cấp các tính nǎng và hỗ trợ hầu hết các mô hình Agentdi động kể cả cách thức di chuyển của Agent.


Mô hình đời: cần một số tiện ích tạo, huỷ, dừng, tạm dừng, một Agent.


Mô hình tính toán: khả nǎng điều khiển thread, vận hành quản lý dữ liệu


Mô hình bảo mật: đó là các cách để cho Agent có thể truy nhập tài nguyên mạng cũng như các cách để truy nhập tới Agent từ mạng.


Mô hình giao tiếp, truyền thông: xác định cách thức truyền thông giữa các Agent và giữa Agent với các thực thể khác (ví dụ: mạng)


Tất cả các vấn đề liên quan đến việc di chuyển của một Agent(cùng với trạng thái của nó hoặc không) giữa hai thực thể (có thể là hai máy tính) nằm ở hai vị trí khác nhau đều dựa vào mô hình di chuyển. Với những yêu cầu trên, hiển nhiên, framework sẽ phải đáp ứng một số yêu cầu nhất định bao gồm: tǎng dung lượng bộ nhớ đồng thời đáp ứng được các yêu cầu về trễ khi truy nhập hoặc thi hành trên các thiết bị xác định. Tuy nhiên, với sự phát triển nhanh chóng của công nghệ thì vấn đề này dường như không quá khó khǎn. Một ví dụ về vấn đề này, đó là máy ảo Java (JVM-Java Virtual Machine), nó là cơ sở cho hầu hết các framework Agent , nó rất nhỏ và phù hợp cho việc nhúng vào hệ thống.


Và điều cuối cùng về khái niệm Agentdi động, đó là kích cỡ của chúng: không nhất thiết cố định, nó thay đổi tuỳ theo công việc mà chúng phải thực hiện. Với các Agentthông minh tổ chức kiểu tổ ong (swarm intelligent) thì lại có kích cỡ rất nhỏ, nhưng với các Agentcó nhiệm vụ cấu hình hoặc phân tích chẩn đoán thì kích cỡ của chúng khá là lớn (do chúng cần phải mang theo các thuật toán phức tạp, bộ máy phân tích). Điều quan trọng nữa, là các Agentcó thể mở rộng khả nǎng (nếu cần) bằng cách tải về các đoạn mã cần thiết từ tài nguyên mạng.


Tóm lại một Agentdi động sẽ đem lại một số lợi ích :


Tiết kiệm tài nguyên CPU.


Tiết kiệm không gian: Do nó chỉ ở tại mỗi nút mạng trong một thời điểm nhất định.


Giảm được lưu lượng trên mạng: các đoạn mã thường là nhỏ hơn rất nhiều so với khối lượng dữ liệu mà một Agent xử lý



2.3. Chuẩn về cơ cấu tổ chức Agent di động


Cũng như bất kì các hoạt động liên quan đến truyền thông, các khái niệm chung về Agent di động cho quản lí mạng sẽ phụ thuộc rất nhiều vào các tiêu chuẩn đưa ra. Tổ chức OMG (Open Management Group) đã đưa ra được bản phác thảo tiêu chuẩn (trong Bluebook) cho Agentnói chung và Agentdi động nói riêng. Mô hình này được chỉ ra trên hình vẽ [4], với khái niệm quần thể Agent : gồm một nhóm các hệ thống Agentcó thể truy nhập lẫn nhau và có quyền và nhận dạng tương tự nhau. Bản phác thảo này cũng đưa ra được mô hình tổ chức của một Agent thiên về CORBA, với giao thức IIOP được sử dụng như giao thức truyền vận và sử dụng một số dịch vụ có sẵn của CORBA (ví dụ: naming).




3. Ứng dụng của Agent di động trong quản lý mạng



Hệ thống quản lí mạng phức tạp nên còn nhiều vấn đề cần được nghiên cứu thử nghiệm với Agentphần mềm: dữ liệu cần xử lý rất lớn, các môi trường ngày càng hỗn tạp vơi nhiều loại thiết bị,…Các sự cố trên mạng luôn luôn có nguy cơ xảy ra: việc tràn dữ liệu trên mạng đòi hỏi người quản lí giám sát cần đưa ra giải pháp xử lí nhanh chóng. Lỗi phải được chẩn đoán một cách nhanh chóng chính xác và được tự động sửa hoặc thông báo đến người điều hành và đưa ra một số khuyến nghị về cách giải quyết. Trong mạng Internet hoặc mạng khác, người điều hành mạng phải làm việc từ xa với rất nhiều thiết bị (thường là ngồi ở trạm điều hành). Để có thể nắm bắt được tính đa dạng của các thành phần mạng thì các ứng dụng quản lí cần làm việc với nhiều giao diện hoặc các công cụ. Các hệ thống quản lí mạng thường là rất lớn và rất khó để duy trì hoạt động, chính vì vậy, chúng ta hãy điểm lại một số lĩnh vực ứng dụng trong quản lí mạng mà các Agent di động có thể sử dụng và cách sử dụng chúng trong từng lĩnh vực như thế nào.


Trước hết ta hãy tìm hiểu một số giao thức quản lí mạng:


Giao thức quản lí mạng SNMP (Simple Network Management Protocol). Giao thức quản lí mạng này được sử dụng để thiết lập các kênh truyền thông giữa NMS (Network Management Station) và nút mạng được quản lí với các nhiệm vụ, gửi đi các yêu cầu và nhận về các bản tin trả lời. Giao thức này tương ứng với tầng ứng dụng trong mô hình TCP/IP, và được sử dụng chính trong mạng Internet, và nó cúng được sử dụng với các giao thức truyền thông khác như IPX, AppleTalk, OSI. Nó gồm một số thành phần chính: thiết bị được quản lí, các Agent , các hệ thống quản lí mạng NM


Các chức nǎng quản lí mạng được tiêu chuẩn trong chuẩn OSI:


- Quản lí về lỗi: nó gồm một loạt các công cụ cho phép phát hiện, cách ly hoặc sửa lỗi: lỗi thực thi, lỗi thiết kế, lỗi quá tải, nhiễu, quá thời gian sống (lifetime). Nó gồm một số chức nǎng:


+ Kiểm tra lỗi, ghi lại lỗi (file .log), bảo dưỡng.


+ Chấp nhận và làm theo chỉ dẫn thông báo về lỗi


+ Nhận dạng lỗi


+ Tiến hành các bài kiểm tra phân tích lỗi.


+ Sửa lỗi.


- Quản lý cước: Gồm một số chức năng.


+ Thông báo với khách hàng về cước


+ Thông báo với khách hàng về cước trong tương lai


+ Giới hạn cước (ví dụ: không cho phép lớn hơn 6 kết nối điện thoại)


+ Tổng hợp cước (tránh cho khách hàng các hoá đơn cước lẻ tẻ).


- Quản lý cấu hình của mạng. Đôi khi còn được gọi là quản lí tên và cấu hình, nó gồm một số chức nǎng:


+ Ghi lại cấu hình hiện tại.


+ Ghi lại các thay đổi về cấu hình.


+ Nhận dạng các thành phần mạng.


+ Khởi tạo và đóng các hệ thống mạng.


+ Thay đổi các thông số trong mạng (ví dụ bảng cấu hình).


- Quản lí hoạt động của mạng. Nó rất cần để nâng cao QoS của mạng. Để thấy được sự thay đổi trong hoạt động của mạng, thì các dữ liệu cần được thu thập và thống kê thông qua các file .log. Điều này mang lại một số ưu điểm:


+ Các dữ liệu được ghi có thể được sử dụng bởi chức nǎng quản lí lỗi để phát hiện lỗi


+ Các dữ liệu được ghi có thể được sử dụng bởi chức nǎng quản lí cấu hính để quyết định khi nào cần thay đổi cấu hình


+ Và cũng có thể được sử dụng cho phần quản lí cước để điều chỉnh hoá đơn


- Quản lí bảo mật: Cho phép quản lí quá trình khởi tạo và thay đổi các chức nǎng bảo mật trong mạng chống lại sự truy nhập trái phép. Một số phần quan trọng được sử dụng: quản lí khoá truy nhập (chứng thực, mã hoá, uỷ quyền), quản lí firewall và tạo các bản ghi bảo mật.


Để có thể thấy hết được tiềm nǎng của việc sử dụng Agentdi động trong một số lĩnh vực quản lý mạng, chúng ta hãy bắt đầu bằng việc nghiên cứu mô hình mạng:


Mô hình hình mạng. Việc tự động tìm kiếm phát hiện là một trong những chức nǎng cơ bản của hệ thống quản lí mạng. Trong trường hợp đơn giản nhất, đó chỉ là tìm các thiết bị cả mạng.


Các đoạn mã di động được ví như một phương tiện thuận lợi nhất để thực hiện nhiệm vụ trên. Trong khi sự tìm kiếm phát hiện cơ bản trong mạng (chỉ đơn giản là phát hiện các nút mạng) không đủ phức tạp cần thiết cho việc sử dụng các đoạn mà di động, sự phức tạp hơn sẽ đem lại lợi ích lớn hơn từ những khả nǎng mới đó. Tuy nhiện việc tìm kiếm phát hiện trong mạng là phương tiện cơ sở cho định hướng mới. Một trong những kĩ thuật tìm kiếm phát hiện được sử dụng thông dụng là việc gửi đi các bản tin ping đến địa chỉ IP trong một vùng nào đó. Và quá trình tìm kiếm phát hiện sẽ đưa ra một cái nhìn tổng quan về mạng thông qua các bản tin trả lời. Nhưng bây giờ, các Agentdi động, được gọi là deglet (delegation-sự uỷ quyền), sẽ được sử dụng, các Agentnày có thể được tạo ra với một nhiệm vụ duy nhất là gửi các ID của nút mạng (mà nó di chuyển đến) đến nơi đã tạo ra nó (xem hình vẽ [6]). Sau đó, deglet này sẽ được đưa vào trong mạng và di chuyển theo các mẫu di chuyển được thực thi. Có nhiều vấn đề tương tự đã được giải quyết như trong thuật toán ping (ví dụ như phạm vi tìm kiếm) tuy nhiên phương thức mới được sử dụng sẽ linh hoạt hơn, chẳng hạn: nó không yêu cầu người sử dụng phải có kiến thức về mạng. Sự kết thúc nhiệm vụ được nhận ra ngay trong deglet, có thể bằng cách đếm các bước nhảy hoặc trung bình số lần kiểm tra của một nút mạng xác định.


Bằng Bằng cách ghép các ràng buộc của các deglet làm nhiệm vụ tìm kiếm chúng ta có thể tạo ra được các mô hình mạng. Các ràng buộc về loại của thiết bị trong các Agentdeglet tìm kiếm phát hiện sẽ cho kết quả một mô hình mạng chứa các thiết bị chỉ thuộc loại xác định ở trên. Những mô hình mạng này có thể được tạo ra một cách tự động, không nhất thiết cố định, chúng có thể thay đổi cho phù hợp với các yêu cầu của ứng dụng.


Nếu nhiệm vụ được uỷ quyền có tính chất không thay đổi, thì chúng ta có thể gọi các Agentthực hiện nhiệm vụ đó là các netlet. Các netlet được coi như là một phần thuộc cơ sở hạ tầng mạng. Và quá trình tìm kiếm phát hiện trở nên liên tục hơn, nhanh hơn khi sử dụng các netlet. Các netlet có thể phát hiện ra các thay đổi trong cấu hình mạng nên mô hình mạng thay đổi. Một số các netlet có thể được gán để thực thi các tác vụ đó, sự thay đổi về cấu hình đó có thể được phát hiện nhanh chậm tuỳ thuộc vào mật độ của các netlet (điều này hoàn toàn có thể điều khiển được), càng có nhiều các netlet trong mạng thì khả nǎng phát hiện sự thay đổi càng nhanh. Tuy nhiên, cũng có một số ràng buộc nhất định về số lượng các netlet trong mạng, ví dụ như khả thông, bǎng thông của mạng. Tương tự như deglet, các netlet có thể sử dụng mặc định về sự di chuyển trong mạng, hoặc có thể sử dụng riêng một mô hình di chuyển nào đó phù hợp với mô hình mạng và với tác vụ thực thi. Một ví dụ đơn giản về điều này, netlet có thể xác định cho mình một phạm vi di chuyển trong một mạng rộng lớn, vì thế nó không thể di chuyển ra ngoài phạm vi phần mạng xác định đó.




3.1. Quản lý lỗi


Phân tích chuẩn đoán hiện trạng mạng. Các phương thức được sử dụng để mô hình hoá mạng đều có thể được sử dụng để phân tích chẩn đoán lỗi trong mạng. Việc phát hiện các lỗi cũng là một quá trình xây dựng một mô hình đặc biệt của mạng. Nếu các ràng buộc cho sự tìm kiếm phát hiện mô tả các xung đột được coi là bình thường của các thành phần mạng, thì các Agentkiểm tra các ràng buộc đó rồi mới thực hiện chức nǎng phát hiện lỗi. Deglet có thể được sử dụng để phản ứng lại kết quả phát hiện hoặc đưa ra các vấn đề nghi vấn. Chúng cố gắng thu thập thêm các thông tin, thực hiện các bài kiểm tra mở rộng hoặc thi hành các tác vụ khôi phục.


Các ràng buộc không hạn chế cho một thiết bị mạng đơn lẻ nào. Chúng có thể mã hoá các thuật toán phức tạp với chức nǎng tìm kiếm phát hiện lỗi, và chỉ có giới hạn về kích cỡ của netlet là liên quan trực tiếp đến khả nǎng di chuyển và khả thông của mạng. Vấn đề đó có thể được giảm thiểu bằng cách tận dụng các ưu điểm của Java, các kĩ thuật nén mã, và các phương thức thông minh. Các cơ sở về lý thuyết hỗ trợ kĩ thuật cho hoạt động Agentdi động cũng đang được các tổ chức quan tâm xúc tiến nghiên cứu.


Với sự phân bố Agent , chúng ta có một "xã hội" các Agentcó mối quan hệ với nhau mà nhu cầu cần thiết là phối hợp để phân chia mức độ thông minh cần thiết cho việc phân tích và phát hiện lỗi trong mạng. Một số lượng nhất định các loại Agenttí hon được đưa vào mạng, mỗi một loại có thể nghiên cứu giải quyết một vấn đề nào đó, và được giải quyết bằng cách tǎng cường giả thuyết theo sự quan sát của một số lượng lớn các Agentcùng loại. Như vậy để có giải pháp giải quyết vấn đề trong mạng cần kết hợp các giả thuyết được đưa ra bởi mỗi loại Agent.


Cả hai loại Agent netlet và deglet cùng tuân theo một cách bảo mật cung cấp trước nào đó có thể được cho phép thực hiện các hoạt động trên các thiết bị mạng [hình 3]. Mỗi một netlet "tích cực" có thể được sử dụng để giải quyết một vấn đề nào đó một cách tự động theo cách khôi phục ngay tức thì khi có thể. Người quản lí mạng sẽ được thông báo về sự kiện xảy ra hoặc được cảnh báo nếu như sự khôi phục tự động của Agentkhông thực hiện được hoặc yêu cầu sự trợ giúp từ phía người điều hành. Mức độ kĩ thuật của mạng sẽ giảm được phần nào các lỗi xuất hiện trên mạng. Trong khi với các deglet, mà các tác vụ được uỷ quyền khi cần thiết thông qua sự giao tiếp của Agentvới thực thể uỷ quyền thì với netlet, chúng có thể được gán cho các tác vụ dựa theo quyền ưu tiên do người thiết kế tự đặt hoặc được khởi động tự động như là một phần trong mạng, kết cấu tổ chức và mật độ các netlet được điều khiển bởi các kĩ thuật bảo mật nào đó (ví dụ, tần suất di chuyển đến các nút mạng có thể được đo và sử dụng để tái tạo hoặc kết thúc các netlet).


Sự bảo dướng duy trì từ xa với các thành phần mạng hỗn hợp Các Agentdi động cần phải tương tác với các nút mạng thông qua một giao diện mà tại đó cung cấp đầy đủ các phương tiện: bảo mật, truy nhập gián tiếp đến tài nguyên của nút mạng và một số dịch vụ đi kèm khác. Giao diện này được gọi là thành phần quản lý ảo (VMC-Virtual Managed Component): được thiết kế bởi nhà cung cấp thiết bị. Nó có thể nằm ngay trong thiết bị hoặc trên proxy trong trường hợp thiết bị không có khả nǎng chấp nhận Agentdi động. Trong thực tế, nhà cung cấp thiết bị mạng thường trang bị một phương tiên cho VMC là khả nǎng tải được các dữ liệu về trình điều khiển thiết bị (driver), và điều này làm cho việc quản lý các thiết bị được dễ dàng hơn. Khi thiết bị được nối mạng, nó sẽ biết được các phương tiện có sẵn được quảng bá trong mạng. Ví dụ, một Agentlàm nhiệm vụ tìm kiếm có thể sẽ yêu cầu một danh sách các thiết bị được hỗ trợ trong mạng, người sử dụng dựa vào danh sách các thiết bị này để kiểm tra một thiết bị cụ thể [hình 3], nếu như thiết bị có trong danh sách thì nó được cài đặt ngay trạm. Nó có thể thi hành trên trình duyệt Web hoặc như một chương trình độc lập. Applet cung cấp dữ liệu và các chức nǎng thành phần mà nhà cung cấp đã trang bị phù hợp với thiết bị: có thể đơn giản chỉ là danh sách thiết bị đơn giản hoặc đồ hoạ của thiết bị phần cứng hoặc các dịch vụ.


Nếu thiết bị không cung cấp một applet đại diện, thì người điều hành phải điều khiển thiết bị hoặc một thiết bị chung nhất (thường gọi là mặc định) được sử dung thay thế. Đây cũng là giải pháp mà hiện nay các hệ thống quản lý mạng đang áp dụng trong các Agent . Một thiết bị không chỉ có phần đại diện được thực thi mà chúng còn phải thực thi một giao thức truyền thông chẳng hạn như SNMP với người quản lí, để có thể nhận được hoặc truyền đi các thông số về thiết bị. Chính điều này một lần nữa đã góp phần làm cho việc quản lí mạng càng thêm lớn, phức tạp và bất tiện hơn. Chúng ta có thể kết luận giải pháp các applet có thể tải về được không bị những ràng buộc trên.


Một khía cạnh hấp dấn nữa cho xu hướng trên được cung cấp bởi các kho chứa các applet trên máy chủ, ví dụ như máy chủ của nhà cung cấp thiết bị. Và giao diện VMC được đóng gói cùng thiết bị sẽ chứa một con trỏ trỏ đến applet trên máy chủ. Một điều hiển nhiên là nhà cung cấp có thể duy trì kho chứa applet, cập nhật và làm cho nó thuận tiện hơn, ví dụ bằng cách sử dụng các phần mềm. Đó cũng là một trong những xu hướng hiện nay với các thiết bị plug-n-play.


Một ví dụ khác sử dụng Agentdi động để duy trì bảo dưỡng thiết bị từ xa: cung cấp dịch vụ video theo yêu cầu. Cùng với sự phát triển của mạng trong tương lai, mà không phát triển về việc quản lí mạng thì một điều không thể giải quyết được đó là việc phải gửi các nhà kĩ thuật để giải quyết các lỗi về thiết bị, do có nhiều các thiết bị được cài đặt nằm rải rác nhiều vùng địa lý-> gây khó khǎn cho việc quản lí mạng. Để giải quyết vấn đề này chúng ta chỉ cần gửi đi các Agent , nó sẽ thực hiện các bài kiểm tra phù hợp và sẽ cố gắng đưa ra các phương án giải quyết vấn đề nếu có thể, nếu không nó sẽ thông báo để con người can thiệp. Với khả nǎng tự học thì Agentcó thể tự bồi đắp, làm giàu thêm thư viện kiến thức của mình với các tác vụ đã thực hiện.


3.2. Quản lí cấu hình


Các dịch vụ. Việc cung cấp dịch vụ (tất nhiên ở đây ta không xét khía cạnh cấp dịch vụ đến người sử dụng) trong mạng viễn thông cũng như mạng Internet hiện nay tương đối phức tạp và liên quan đến nhiều thành phần. Công việc này sẽ được giảm nhẹ khi sử dụng các Agentdi động. Ví dụ, cung cấp PVC trong mạng ATM (giả sử có mạng IPoATM). Người điều hành sẽ mất rất nhiều thời gian với các khái niệm phức tạp của PVC để có thể thiết lập được kết nối giữa hai tổng đài ATM, đặc biệt là hai tổng đài do hai hãng khác nhau cung cấp. Một hệ thống Agent(hình vẽ [4]) có thể làm nhiệm vụ này một cách tự động: yêu cầu thiết lập PVC được gán cho deglet. Các dữ liệu cần thiết được trao đổi giữa các EP (endpoint) deglet lấy thông tin đó qua VMC sử dụng một loại ontology xác định trứơc. Deglet khác lại thông tin với người điều hành, các dữ liệu cần thiết được thu gom và hoàn thành kết nối.


Các thành phần mạng. Cấu hình một thiết bị yêu cầu một số các thuộc tính trong mạng và ở thiết bị phải được đặt tương tự như các thành phần mềm được cài đặt. Ví dụ, một máy in cần có trình điều khiển nằm trên các trạm làm việc để các trạm này sử dụng chúng. Hiện nay, người quản lý mạng phải thực hiện tất cả các tác vụ trên một cách thủ công. Với sự phát triển của công nghệ Agentthì việc sử dụng các Agentdi động sẽ đem lại một viễn cảnh các thành phần mạng được thực thi theo xu hướng cắm và chạy (plug-n-play)


Bây giờ ta phân tích kĩ hơn ví dụ nêu ở trên, cài đặt máy in trong mạng. Tác vụ này liên quan đến mạng doanh nghiệp gồm một số các trạm làm việc với các yêu cầu khác nhau: các trình điều khiển cần thiết cho máy in sẽ khác nhau giữa các máy tính sử dụng Windows và OS/2, giữa các máy Maccintosh và Unix. Bây giờ ta lại giả sử rằng mạng này lại được nối đến Internet. Để sử dụng được máy in thì các trạm làm việc cần được cung cấp các trình điều khiển hợp lý. Nếu như máy in có đi kèm tất cả các trình điều khiển yêu cầu hoặc hệ điều hành đã chứa các trình điều khiển đó thì công việc cài đặt máy in trên mạng không có gì đáng nói cả, và hoán toàn có thể quản lí được. Còn trong trường hợp không có các trình điều khiển máy in phù hợp, thì toàn bộ quá trình cài đặt sẽ gặp nhiều khó khǎn. Sự biến đổi về topo mạng cần được quản lí ngay cả khi các máy in và các trạm làm việc được thêm vào: các máy in phải được cho cấp phép dịch vụ, các hệ điều hành được cập nhật.


Ở đây, chúng ta mô tả việc sử dụng các Agent động và các Agent tĩnh. VMC của thiết bị mới, ở đây là máy in, bao gồm cả Agentlàm nhiệm vụ cung cấp dịch vụ. Trên kết nối tới mạng, một số các deglet hoặc netlet được gửi đi để tìm kiếm phát hiện các thiết bị mạng đang cần trình điều khiển máy in, sau đó nó liên hệ với trang Web của nhà cung cấp máy in và phiên bản mới nhất của máy in sẽ được tải về. VMC của máy in có thể chứa danh sách các thiết bị sử dụng máy in, vì vậy nó có thể kết hợp để cài đặt các trình điều khiển mới khi cần. Máy in sẽ đǎng kí với nhà cung cấp, khi có trình điều khiển mới, nó sẽ được tự động gửi cho Agentcung cấp dịch vụ cho máy in. Cũng giống như các Agentlàm nhiệm vụ phân tích lỗi, việc quản lí cấu hình cũng cần sự kết hợp của nhiều loại Agentđơn giản.


3.3 Quản lí hoạt động mạng


Chúng ta đều biết rằng, các khái niệm về đo kiểm đánh giá chất lượng mạng là rất khó khǎn khi mà sử dụng một máy chủ tập trung. Trễ trên mạng là một vấn đề đối với việc đưa ra các quyết định đo kiểm mạng. Thay vì dùng các thành phần thǎm dò từ xa, một Agentdi động được gửi đi để thực thi sự phân tích ngay tại thành phần được đo. Các thông tin theo cách này sẽ đúng và chính xác hơn, bởi vì chúng không chịu ảnh hưởng của trễ trên mạng. Một kết quả tương tự có thể nhận được khi mà tiến trình điều khiển là một phần của thành phần kiểm tra và cũng là một phần tĩnh nằm ngay trong thành phần kiểm tra. Song giải pháp với Agentdi động là đáng quan tâm hơn cả, do nó không đòi hỏi một tài nguyên cố định trên trạm cần đo. Và tất nhiên việc quản lí sẽ càng đơn giản, do chúng ta hoàn toàn dễ dàng sử dụng các Agenttiên tiến nhất mà không mất mấy công sức, trong khi chúng ta sẽ phải rất khó khǎn để cập nhật cho các Agenttĩnh nằm ngay tại nơi cần đo.


Các công nghệ hot-swapping (trao đổi thông tin nóng) cũng có thể dựa trên các đoạn mã di động. Các bảng trao đổi đựoc áp dụng để cập nhật cho các Agentquản lí giám sát mạng tĩnh. Nếu các Agentnày là các ứng dụng có thể mở rộng, thì các module chứa các đoạn mã động (extlet) được sử dụng để cập nhật mà không tạm ngưng các dịch vụ mà ứng dụng đang cung cấp. Các module di động này không nhất thiết phải nằm ở thành phần cập nhật, mà chỉ tải về khi cần, không giồng như việc sử dụng các applet trong các trình duyệt Web. Một lần nữa, Agentdi động lại chứng tỏ ưu điểm: yêu cầu ít tài nguyên hơn, thêm nữa là quá trình xử lí phân tán, cách xử lí thông minh phối hợp từ các nguồn tài nguyên khác nhau trong quá trình đo kiểm, đánh giá.


Một ví dụ cho công nghệ trên, đó là khi server được di chuyển đến môi trường thực thi tốt hơn, việc quyết định di chuyển sẽ yêu cầu một loạt các phân tích thông minh của nhiều nhân tố như: yêu cầu dịch vụ, tải trên mạng, tỉ lệ lỗi,…chẳng hạn người điều hành có thể di rời dịch vụ khi nhận thấy tỉ lệ lỗi xuất hiện khi truy nhập dịch vụ của nó là không chấp nhận được. Một trường hợp khác, server cung cấp các dịch vụ truyền thông trong một hệ thống phân tán có thể được di chuyển nếu như các yêu cầu dịch vụ tǎng trong một vùng nào đó. Trong tất cả các trường hợp đó, server là một Agentdi động không có ràng buộc về kích cỡ, có thể là rất lớn.


Tuy nhiên, khi sử dụng Agentdi động trong việc quản lí hoạt động của mạng, chúng ta sẽ gặp phải một số vấn đề. Khi sử dụng tràn lan các Agentdi động, mà không được điều khiển, sẽ gây hiện tượng đầy tràn mạng, chiếm một tỉ lệ lớn trong tài nguyên mạng. Chính vì thế phần nền cho các Agentdi động hoạt động cần có một số qui tắc ràng buộc về mật độ Agent .


3.4 Mạng plug-n-play


Việc sử dụng Agentdi động mở ra một hướng mới cho một mạng thống nhất: mạng plug-n-play, nó có thể tự động xác định được các thiết bị, các thành phần trong mạng và các yêu cầu của người sử dụng. Như chúng ta đã phân tích ở trên, các Agentdi động hoàn toàn có thể can thiệp vào các quá trình cấu hình thiết bị mạng, cung cấp dịch vụ. Nếu xet một ví dụ thực tế, các applet được sử dụng để lấy các dữ liệu trên mạng về thông tin lưu trữ của thiết bị và của người sử dụng, và khi mạng phát triển hơn (thêm các dịch vụ, các thiết bị), thì mạng có thể phát hiện và thay đổi dữ liệu cấu hình. Sử dụng các Agentdi động với tác vụ uỷ quyền: cấu hình và cung cấp dịch vụ, ta hoàn toàn có thể thực hiện được điều này. Ngoài ra mạng plug-n-play còn có khả nǎng phát hiện ra lỗi, hoặc các khả nǎng xảy ra ảnh hưởng tới chất lượng dịch vụ hoặc vấn đề bảo mật, nó có thể tự động sửa chữa.


4. Kết luận


Việc sử dụng công nghệ Agentcho quản lí mạng là phù hợp và là nhu cầu tất yếu. Trong thực tế hiện nay, các giao thức quản lí mạng như SNMP, CMIP (OSI), TNM đều đang sử dụng công nghệ hướng đối tượng (OO-Object Oriented) và một phần khái niệm Agent . Hơn thế, các Agentthông minh một lần nữa được chứng tỏ trong việc thực thi quản lí mạng. Tuy nhiên, do còn là một công nghệ mới, đang hoàn thiện nên công nghệ Agentnói chung và Agentdi động nói riêng cần được đầu tư nghiên cứu hơn nữa. Ví dụ, Agentdi động đối mặt với vấn đề bǎng thông trong mạng client/server, với việc quản lí các Agentdi động như thế nào cho tối ưu


Các nhà nghiên cứu phát triển hệ thống quản lí mạng đều tin tưởng quản lí mạng dựa trên mạng Internet sẽ mang lại kết quả hơn, và nhiều hơn khi sử dụng công nghệ Agent . Một xu hướng mới đang phát triển dựa trên Jini, một công nghệ tổng hợp giữa các công nghệ remote object (điển hình là CORBA), mã di động và Agent .






Tài liệu tham khảo
[1] O'Hare, G. and Jenning, N, Foundations of Distributed Artificial Intelligence
[2] Mobile Agents. FIPA: http://www.fipa.com (http://www.fipa.com/)
[4] Agent technology, Blue book, OMG:www.omg.org (http://internet.vdc.com.vn/www.omg.org)
[5] Rima Abdul-Mobile Agent for Network Management.
[6] Ichiro- A mobile agent-based framework for active networks
[7] OMG- CORBA: www.omg.org (http://internet.vdc.com.vn/www.omg.org)


[Biên soạn, sưu tập với nguồn từ đồng nghiệp]

Sunday, June 2, 2013

Tổng quản về Sematic Web - Web3.0 [Web ngữ nghĩa]

Semantic Web (hay Web có ngữ nghĩa) là thế hệ mở rộng của Web hiện tại được đưa ra bởi Tim Berners-Lee vào khoảng năm 1998. Mục tiêu ban đầu của Semantic Web là để hỗ trợ người dùng tìm kiếm thông tin trên mạng một cách nhanh chóng, chuẩn xác và thông minh hơn so với các công cụ tìm kiếm truyền thống.

Kể từ đó đến nay, các kỹ thuật liên quan đến Semantic Web không ngừng được hoàn thiện, các ứng dụng liên quan đến Semantic Web cũng được mở rộng như: Phát triển các chuẩn công nghệ chung để biểu diễn thông tin và cho phép máy tính có thể hiểu được một số thông tin trên Web, hỗ trợ tìm kiếm  thông minh hơn, hỗ trợ việc khám phá, tách chiết thông tin, tích hợp dữ liệu và tự động hóa một số công việc thay cho con người.

Xét về mặt bản chất, Semantic Web chỉ là một công cụ để con người cũng như máy tính sử dụng để biểu diễn thông tin, hay nói chính xác hơn thì Semantic Web chỉ là một dạng dữ liệu trên Web. Khác với các dạng thức dữ liệu được trình bày trong HTML, dữ liệu trong Semantic Web được đánh dấu, phân lớp, mô hình hóa, được bổ sung thêm các thuộc tính, các mối liên hệ… theo các lĩnh vực cụ thể, qua đó giúp cho các phần mềm máy tính có thể hiểu được dữ liệu và tự động xử lý được những dữ liệu đó. Chẳng hạn, với cụm từ “Lê Nguyên Sinh”, trong không gian Semantic Web, nó cũng có thể được suy luận tới cái nick của tôi: "kiep_oan_hon", với các thuộc tính cụ thể như: năm sinh, địa chỉ, số điện thoại, email...

Sở dĩ Semantic Web hiện nay chưa được phát triển mạnh là vì bản thân các lớp ngôn ngữ biểu diễn chúng còn chưa được hoàn thiện, các ứng dụng hỗ trợ Semantic Web còn rất ít và hiện đang được nghiên cứu, phát triển. Chúng ta có thể hình dung điều này thông qua ví dụ cụ thể là ngôn ngữ HTML, một ngôn ngữ được dùng để biểu diễn thông tin trên trang Web hiện tại. Các trang Web sử dụng HTML đều có thể được đọc và hiển thị trên các chương trình gọi là trình duyệt (chẳng hạn như Internet Explorer hay Firefox…), còn các trang Semantic Web thì hiện nay chưa có một chương trình nào cụ thể được gọi là trình duyệt để xử lý nó cả.

Bản thân Semantic Web chỉ là một dạng dữ liệu, vì vậy cần phải có các chương trình máy tính chuyên biệt để xử lý nó. Đó chính là các công cụ cho phép thu hổi, tách chiết, tìm kiếm, biểu diễn thông tin… trong không gian của Semantic Web. Hiện nay, cùng với việc đề xuất ra các chuẩn ngôn ngữ biểu diễn Semantic Web, các chương trình xử lý Semantic Web cũng đang được gấp rút nghiên cứu và phát triển.

Mô hình của Semantic Web được cấu thành từ nhiều tầng khác nhau. Hiện nay, đã có một số nhà nghiên cứu đưa ra những mô hình khác nhau về Semantic Web dựa trên những cách nhìn nhận khác nhau. Mô hình dưới đây  lấy từ trang web của tổ chức W3C:



Như các bạn thấy ở hình trên, Semantic Web được cấu thành từ nhiều tầng. Trên thực tế thì một số tầng đã được hoàn thiện, có những ứng dụng rộng rãi, nổi đình nổi đám và được nhiều người biết đến như Unicode, XML. Bắt đầu từ tầng logic trở lên, hiện nay các nhà khoa học vẫn đang còn bắt tay vào nghiên cứu.

(Theo Internet)

Saturday, May 25, 2013

Giới thiệu cơ bản về HTML 5 [khái niệm, tổng quan]


HTML 5 (theo wikipedia)

HTML5 là một ngôn ngữ cấu trúc và trình bày nội dung cho World Wide Web và sẽ là công nghệ cốt lõi của Internet trong tương lai không xa, được đề xuất đầu tiên bởi Opera Software. Đây là phiên bản thứ 5 của ngôn ngữ HTML và hiện tại vẫn đang được phát triển bởi World Wide Web Consortium và WHATWG. Mục tiêu cốt lõi khi thiết kế ngôn ngữ là cải thiện khả năng hỗ trợ cho đa phương tiện mới nhất trong khi vẫn giữ được việc con người và các thiết bị, các chương trình máy tính như trình duyệt web, trình đọc màn hình, v.v.. có thể đọc, hiểu, hay xử lý một cách dễ dàng. HTML5 vẫn sẽ giữ lại những đặc điểm cơ bản của HTML4 và bổ sung thêm các đặc tả nổi trội của XHTML, DOM, đặc biệt là JavaScript.

Là phiên bản tiếp sau của HTML 4.01 và XHTML 1.1, HTML5 là một phản ứng để đáp lại lời phê bình rằng HTML và XHTML được sử dụng phổ biến trên World Wide Web là một hỗn hợp các tính năng với các thông số kĩ thuật khác nhau, được giới thiệu bởi nhiều nhà sản xuất phần mềm ví dụ Adobe, Sun Microsystems, Mozilla, Apple, Google,... và có nhiều lỗi cú pháp trong các văn bản web. Đây là một nỗ lực để tạo nên một ngôn ngữ đánh dấu có thể được viết bằng cú pháp HTML hoặc XHTML. Nó bao gồm các mô hình xử lý chi tiết để tăng tính tương thích, mở rộng, cải thiện và hợp lý hóa các đánh dấu có sẵn cho tài liệu, đưa ra các đánh đấu mới và giới thiệu giao diện lập trình ứng dụng (application programming interfaces API) để tạo ra các ứng dụng Web phức tạp. Cùng một lý do như vây, HTML5 là một ứng cử viên tiềm năng cho nền tảng ứng dụng di động. Nhiều tính năng của HTML5 được xây dựng với việc xem xét chúng có thể sử dụng được trên các thiết bị di động như điện thoại thông minh và máy tính bảng hay không.



Một số khái niệm cơ bản về HTML5 - Giới thiệu tính năng & một số ví dụ mẫu (theo hiflyer)


HTML5 là gì?

Có lẽ nhiều bạn đã nghe về thuật ngữ HTML5 xuất hiện bên cạnh những sản phẩm của Apple và Google.
HTML5 là sự phát triển mạnh mẽ đột biến của HTML, viết tắt của cụm từ Hyper Text Markup Language. Đây là hình thức định dạng cốt lõi của hầu hết các website trên internet. HTML5 với phiên bản đầu tiên được hình thành trong năm 2008 nhưng mãi tới năm 2011 mới chính thức được ra mắt với một ánh hào nhoáng của công nghệ hiện đại. Tuy nhiên, trong thời điểm đó rất nhiều trình duyệt chưa kịp thay đổi để hỗ trợ nó. Đến ngày nay, hầu hết các trình duyệt phổ biến như Chrome, Safari, Firefox, Opera, IE đều hỗ trợ HTML5. Điều đó đã tạo ra một cuộc cách mạng lớn cho nền công nghệ web.

Cùng với CSS3, HTML5 vẫn tiếp tục được phát triển. W3C đang thêm vào đó nhiều tính năng hơn nữa.

HTML5 là sự kế thừa của HTML 4.01, được phát hành đầu tiên vào năm 1999. Việc tạo ra một ngôn ngữ mới dựa theo các tiêu chuẩn như:
- Các tính năng mới phải dựa trên HTML, CSS, DOM, và JavaScript
- Làm giảm nhu cầu cho các plugins bên ngoài (như Flash)
- Xử lý lỗi tốt hơn
- Đánh dấu để thay thế kịch bản
- HTML5 nên phát triển cho các thiết bị độc lập
- Quá trình phát triển nên được công khai nhằm cho các tổ chức khác có thể lấy làm cơ sở phát triển.
Là một nền tảng cần thiết để sinh ra HTML5.

Những thay đổi mới.

Với HTML5, quá trình mã hóa trở nên dễ dàng và hợp lý hơn. Các tính năng độc đáo và ấn tượng của HTML5 không những có trong tiến trình sử lý đa phương tiện như <video>, <audio>,<canvas> mà còn tích hợp các nội dung đồ họa vector (những gì chúng ta biết trước đây chính là thẻ <object>). Điều này có nghĩa rằng media và vector trên website được xử lý và thực hiện dễ dàng hơn, nhanh hơn mà ko cần phải bổ sung bất kì phần mềm liên quan hoặc thư viện API nào khác.

Có rất rất nhiều thẻ mới được thêm vào, nhưng dưới đây, tôi sẽ chỉ mô tả một số thẻ quang trọng nhất. Phần còn lại các bạn có thể tìm thấy trong phần HTML5 của W3C.

<article> thẻ này định nghĩa một bài viết hoặc bình luận của người dùng. Nó độc lập với content của website.
<aside> thẻ này đánh dấu nội dung bên cạnh của trang hiện tại. Ví dụ như một slidebar.
<header><footer> hai thẻ này giúp bạn không cần định nghĩa id cho tiêu đề và cuối trang.
<nav> thẻ này định nghĩa phần menu điều hướng cho website.
<section> đây là một thẻ quan trọng, nó giúp bạn xác định các thành phần khác nhau trong website. Bạn có thể gộp chung các div cùng nội dung vào trong thẻ này để dễ dàng quản lý.
<audio>, <video> hai thẻ này giúp bạn hiển thị một đoạn phim hoặc một bài hát trên website đơn giản hơn rất nhiều.
<embed> thẻ này xác định một container các plugin tương tác với ứng dụng bên ngoài.
<canvas> thẻ thú vị này cho phép bạn vẽ đồ họa mà không cần phải qua bất kì đoạn mã hỗ trợ nào (chủ yếu là javascript).

Một điều quan trọng mà các bạn nên lưu ý là các thẻ mới của HTML5 không chỉ được sử dụng 1 lần. Ví dụ, header và footer sẽ không chỉ đánh dấu sự bắt đầu và kết thúc của một trang mà có thể là một phần nội dung nào đó. Điều này có nghĩa, hai thẻ này có khả năng được sử dụng nhiều lần trong toàn bộ trang. Bạn có thể xem trong hình minh họa dưới đây:



Trong ví dụ mẫu trên, các bạn có thể thấy cấu trúc cơ bản của một website sử dụng HTML5. Chúng ta thấy khai báo DOCTYPE vô cùng đơn giản. Trước kia, để khai báo phần mở đầu <html lang="en"> v.v.. rất khó để nhớ, tôi đều phải tìm kiếm trên Internet hoặc copy từ website này sang website khác. Nó quả là một sự rút ngắn tuyệt vời.

Các thẻ sau đây của HTML4.01 bị loại bỏ trong HTML5, các trình duyệt cũng không hỗ trợ các thẻ này. Chính vì vậy, nếu bạn là một người phát triển website thì đây là lúc bạn kiểm tra, loại bỏ và thay thế chúng trên các dự án đã hoàn thành.

<acronym>
<applet>
<basefont>
<big>
<center>
<dir>
<font>
<frame>
<frameset>
<noframes>
<strike>
<tt>

Những điều cần biết về HTML5.

Điều quan trọng mà các bạn phải nhớ rằng, HTML5 được xây dựng trên sự thành công của phiên bản trước của nó - HTML4.01 - phiên bản tốt nhất từ trước đến nay. Để điều khiển nó tốt nhất, bạn không cần phải quên đi tất cả mọi thứ về các phiên bản khác. Bạn không phải học một ngôn ngữ hoàn toàn mới ở đây, hãy giữ nguyên cú pháp yêu thích của bạn và định dạng lại nó trên nền tảng mới.
Trong trường hợp bạn hoàn toàn không có kiến thức về HTML và bạn muốn bắt đầu ngay bây giờ, tôi khuyên bạn nên bắt đầu với HTML 4.01 và chỉ khi bạn làm chủ được nó thì hãy chuyển sang HTML5. Bắt đầu phiên bản mới nhất giống như bạn học chạy trước khi tập đi vậy.

Mặt tích cực của việc nghiên cứu HTML5 là bạn có thể làm mọi thứ, tất cả các trình duyệt đều hỗ trợ bạn. Từ video để lưu trữ tới các biểu đồ phân tích v.v... Nếu bạn thạo và đã làm chủ được HTML 4.01, muốn gắn bó lâu dài với nó thì đó là một sai lầm. Bạn sẽ ở lại với công nghệ lạc hậu trong khi mọi người đều bước trước bạn.

Sự ra đời của HTML5 là để duy trì nhu cầu cần thiết hiện nay và đặc biệt hơn nó vẫn liên tục được phát triển. Nó có thể thống trị ngành công nghiệp website trong một thời gian dài.


Một vài ví dụ

Để thực sự có một sự cảm nhận tốt nhất về hiển thị của HTML5, tôi sẽ giới thiệu một số website, công cụ tạo trên nền tảng công nghệ này. Bạn có thể xem mình làm được điều gì ở đó.


1. Read
Là một website dành cho WordPress. Với minimalistic vô cùng đơn giản dễ hiểu và dễ sử dụng. Điều đặc biệt là bạn ko phải trả bất kì khoản tiền nào khi sử dụng nó.



2. SmartStart.
Là một công cụ tốt với nhiều template HTML5.



3.BIZfolio.
Cũng được thực hiện với HTML5 nhưng nó được phát triển để hoạt động với Drupal



4. Poker Blind
Với bộ đếm thời gian đơn giản sử dụng HTML5, bạn có thể ứng dụng nó trong rất nhiều trường hợp như Open Day v.v...



5. Coolendar
Là một ứng dụng quản lý calendar tuyệt với. Nó có thể tương thích với máy tính hoặc các thiết bị khác như Android và iOS



6. Scribd
Được phát triển bằng HTML5, dễ dàng cho phép chia sẻ file hoặc tài liệu



Bên cạnh các công cụ tiện ích hay các trang web, các nhà phát triển còn tạo ra các trò chơi chỉ dựa trên HTML5 thay vì Flash trước đó. Dưới đây là một số trò chơi rất cuốn hút. Bạn có thể kiểm tra để thấy sự thú vị của nó.



Bắt đầu với HTML5 từ đâu

HTML5 không thể nói hết và đầy đủ trong bài viết này. Có hai cách để tìm hiểu nó đó là: Xem thật nhiều ứng dụng và nghiên cứu tài liệu. Cuốn sách mà tôi thấy thực sự hay khi đọc nó là cuốn sách hướng dẫn HTML5 của Jeremy Keith.

Để giúp bạn nhiều hơn, trong thời gian tới, tôi sẽ tập hợp nhiều ví dụ, hướng dẫn chi tiết về HTML5. Tôi hi vọng rằng các bạn sẽ thấy sự lý thú và kì diệu của nó.

(tổng hợp TxT)

Monday, May 20, 2013

Hướng dẫn cài đặt và sử dụng Google App Engine

Phần I: HƯỚNG DẪN ĐĂNG KÝ Google App Engine
*****************************************************************************

Đăng ký Google App Engine bạn làm theo các bước sau để được sử dụng hosting chuyên nghiệm miễn phí Google dạng tenban.appspot.com:

Bước 1: Truy cập https://appengine.google.com/start và đăng nhập bằng tài khoản Gmail của bạn.

Bước 2: Nhập số điện thoại của bạn để Google gửi mã xác nhận. Số điện thoại dạng +849.... (+84 là mã Việt Nam, bỏ số 0 ở đầy số 098=98).

Việc gửi mã xác nhận cũng mất khoảng 2 phút tùy vào mạng. Nếu không được các bạn đổi số điện thoại khác.



Bước 3: Nhập mã xác nhận mà Google vửa gửi cho bạn.



Bước 4: Nhập thông tin đăng ký gồm tên tài khoản, tiêu đề. Chú ý kiểm tra tên tài khoản của bạn đã được đăng ký chưa.

Bước 5: Bạn chuyển đến trang dưới tức là bạn đã đăng ký thành công Google App Engine. Như vậy bạn đã có hosting miễn phí chuyen nghiệp của Google với tên miền: tenban.appspot.com . Đón đọc bài tiếp theo Hướng dẫn sử dung, upload lên Google App Engine




Hiện tại  Google App Engine đang ở bản Beta và chỉ hỗ trợ Java, Python,...

*************************************************************************
Phần 2: Upload data lên Google App Engine
*********************************************************

Upload file, đồng bộ hóa dữ liệu từ máy lên host Google. Các bạn theo các bước hướng dẫn sau:

Bước 1: Download và cài đặt Python 2.7.2 tại đây. Chọn phiên bản phù hợp với hệ điều hành (bạn có thể sử dụng Java, làm tương tự).

Chú ý nên download bản đầu tiên (chính thức), các bản sau đôi khi không tương thích.

Bước 2: Download và cài đặt Google App Engine SDK for Python tại đây [http://code.google.com/appengine/downloads.html]. Chọn phiên bản phù hợp với hệ điều hành.

Bước 3: Kiểm tra thông số cài đặt. Chạy ứng dụng Google App Engine Launcher -> chọn Edit -> chọn Preferences  -> kiểm tra hoặc thêm đường dẫn đến ứng dụng Python và Google App Engine theo hình ảnh dưới.








Bước 3: Tạo project mới để đồng bộ dữ liệu của bạn.

Chạy ứng dụng Google App Engine Launcher > chọn File > chọn Create New Application... ->nhập domain của bạn (tenban.appspot.com chỉ nhập phần tenban) vào mục Application Name -> chọn Browser để tạo mới ứng dụng (ví dụ chọ ổ D:\)







Bước 4: Vào ổ (C|D|E.. bạn vừa chọn) tìm tên thư mục bạn vừa tạo, ví dụ của tôi là D:\\igooblog -> tiếp đó tạo mới thư mục download (bạn có thể tùy chọn đặt tên, và thêm số lượng thư mục tùy ý) -> dùng notepad mở và sửa file app.yaml thay thế bằng nội dung dưới đây:
application: igooblog
version: 1runtime: pythonapi_version: 1
handlers:- url: /download  static_dir: download


Chú ý: thay đổi tên igooblog thành domain của bạn, ta có thể thêm nhiều thư mục bằng cách copy tương tự từ đoạn handlers vớ tên thư mục khác.







Bước 5: Ok rồi, giớ ta chỉ cần đồng bộ là xong, dữ liệu trên domain (tenban.appspot.com) sẽ tương đương với dữ liệu trong thử mục tenban trong ổ (D|C|E.. bạn vừa chọn). Đường dẫn tương đương sẽ là tenban.appspot.com/download

Chạy ứng dụng Google App Engine Launcher -> chọn ứng dụng của bạn -> chọn icon Deploy -> nhập gmail và mật khẩu của bạn rồi ok đợ em nó đồng bộ là xong.








Kết quả: Như vậy là đã đồng bộ xong, sau này ta chỉ cần copy các file và thư mục download rồi đồng bộ là được. Bạn có thể thêm thư mục khác vào trong thư mục ứng dụng ví dụ: css, js, images nhưng chú ý sửa file app.yaml và thêm đoạn handlers tương ứng.



(theo BiBi Nguyễn - iGoo.vn)

Sunday, May 19, 2013

Tìm hiểu Điện toán đám mây (Cloud computing) ?


Trong vài năm qua, Công nghệ thông tin (IT) đã bắt đầu một mẫu hình mới — điện toán đám mây. Mặc dù điện toán đám mây chỉ là một cách khác để cung cấp các tài nguyên máy tính, chứ không phải là một công nghệ mới, nhưng nó đã châm ngòi một cuộc cách mạng trong cách cung cấp thông tin và dịch vụ của các tổ chức.

Lúc đầu điện toán trên máy tính lớn (mainframe) thống trị công nghệ thông tin. Cấu hình mạnh mẽ này cuối cùng đã cho ra đời mô hình khách-chủ. Công nghệ thông tin hiện đại ngày càng trở thành một chức năng của công nghệ di động, điện toán lan tỏa hoặc mọi nơi và tất nhiên, cả điện toán đám mây. Tuy nhiên, cuộc cách mạng này, giống như mọi cuộc cách mạng, có các thành phần của quá khứ mà từ đó nó phát triển lên.

Vì vậy, để đưa điện toán đám mây vào đúng bối cảnh này, hãy nhớ rằng trong DNA của điện toán đám mây về cơ bản là sự tạo ra các hệ thống tiền thân của nó. Về nhiều mặt, sự thay đổi quan trọng này là vấn đề "trở lại tương lai" chứ không phải là sự kết thúc hẳn của quá khứ. Trong thế giới mới dũng cảm của điện toán đám mây, có chỗ cho sự cộng tác sáng tạo của công nghệ đám mây và cho các tiện ích đã qua thử thách của các hệ thống tiền thân đó, ví dụ như các máy tính lớn mạnh mẽ. Sự thay đổi thực sự ấy trong cách chúng ta tính toán mang lại các cơ hội to lớn cho nhân viên công nghệ thông tin để kiểm soát sự thay đổi và sử dụng chúng cho lợi ích cá nhân và tổ chức của họ.

Điện toán đám mây là gì?


Điện toán đám mây là một giải pháp toàn diện cung cấp công nghệ thông tin như một dịch vụ. Nó là một giải pháp điện toán dựa trên Internet ở đó cung cấp tài nguyên chia sẻ giống như dòng điện được phân phối trên lưới điện. Các máy tính trong các đám mây được cấu hình để làm việc cùng nhau và các ứng dụng khác nhau sử dụng sức mạnh điện toán tập hợp cứ như thể là chúng đang chạy trên một hệ thống duy nhất.

Tính linh hoạt của điện toán đám mây là một chức năng phân phát tài nguyên theo yêu cầu. Điều này tạo điều kiện thuận lợi cho việc sử dụng các tài nguyên tích lũy của hệ thống, phủ nhận sự cần thiết phải chỉ định phần cứng cụ thể cho một nhiệm vụ. Trước điện toán đám mây, các trang web và các ứng dụng dựa trên máy chủ đã được thi hành trên một hệ thống cụ thể. Với sự ra đời của điện toán đám mây, các tài nguyên được sử dụng như một máy tính gộp ảo. Cấu hình hợp nhất này cung cấp một môi trường ở đó các ứng dụng thực hiện một cách độc lập mà không quan tâm đến bất kỳ cấu hình cụ thể nào.

Tại sao lại đổ xô vào đám mây?

Có các lý do có cơ sở và quan trọng về kinh doanh và công nghệ thông tin đối với sự dịch chuyển sang mẫu hình điện toán đám mây. Việc coi thuê ngoài như một giải pháp có những điểm cơ bản được xem là các lý do ấy.

Chi phí giảm: Điện toán đám mây có thể làm giảm cả chi phí vốn (CapEx) lẫn chi phí vận hành (OpEx) vì các tài nguyên chỉ được mua khi cần và chỉ phải trả tiền khi sử dụng.
Cách sử dụng nhân viên được tinh giản: Việc sử dụng điện toán đám mây giải phóng đội ngũ nhân viên quý giá cho phép họ tập trung vào việc cung cấp giá trị hơn là duy trì phần cứng và phần mềm.
Khả năng mở rộng vững mạnh: Điện toán đám mây cho phép khả năng điều chỉnh quy mô ngay lập tức hoặc tăng lên hoặc giảm xuống, bất cứ lúc nào mà không cần giao kết dài hạn.

Các khối xây dựng của điện toán đám mây

Mô hình điện toán đám mây gồm có một mặt trước (front end) và một mặt sau (back end). Hai thành phần này được kết nối thông qua một mạng, trong đa số trường hợp là Internet. Phần mặt trước là phương tiện chuyên chở qua đó người dùng tương tác với hệ thống; phần mặt sau chính là đám mây. Phần mặt trước gồm có một máy tính khách hoặc mạng máy tính của doanh nghiệp và các ứng dụng được sử dụng để truy cập vào đám mây. Phần mặt sau cung cấp các ứng dụng, các máy tính, các máy chủ và lưu trữ dữ liệu để tạo ra đám mây của các dịch vụ.

Các tầng: Điện toán là một dạng hàng hoá

Khái niệm điện toán đám mây được xây dựng trên các tầng, mỗi tầng cung cấp một mức chức năng riêng. Sự phân tầng này của các thành phần đám mây đã cung cấp một phương tiện cho các tầng của điện toán đám mây để trở thành một loại hàng hóa như điện, dịch vụ điện thoại hoặc khí tự nhiên. Hàng hóa mà điện toán đám mây bán là khả năng tính toán với chi phí và phí tổn thấp hơn cho người dùng. Điện toán đám mây đã sẵn sàng để trở thành dịch vụ siêu tiện ích tiếp theo.
Trình giám sát máy ảo (VMM- virtual machine monitor) cung cấp phương tiện để sử dụng đồng thời các tiện ích điện toán đám mây (xem Hình 1). VMM là một chương trình trên một hệ thống máy tính chủ cho phép một máy tính hỗ trợ nhiều môi trường thi hành giống hệt nhau. Từ quan điểm của người dùng, hệ thống này là một máy tính độc lập, hoàn toàn cách biệt với những người dùng khác. Trong thực tế, các người dùng đang được phục vụ bởi cùng một máy tính. Một máy ảo là một hệ điều hành (OS) đang được quản lý bởi một chương trình điều khiển nằm dưới cho phép nó xuất hiện giống như là nhiều hệ điều hành. Trong điện toán đám mây, VMM cho phép những người dùng giám sát và do đó quản lý các khía cạnh của quá trình như là truy cập dữ liệu, lưu trữ dữ liệu, mã hóa, đánh địa chỉ, cấu trúc liên kết và di chuyển tải công việc.


Hình 1. Các trình giám sát máy ảo hoạt động như thế nào

Đây là các tầng đám mây được cung cấp:

Tầng cơ sở hạ tầng là nền tảng của đám mây. Nó gồm có các tài sản vật lý — các máy chủ, các thiết bị mạng, các ổ đĩa lưu trữ, v.v.. Cơ sở hạ tầng là một dịch vụ (IaaS) có các nhà cung cấp như IBM® Cloud. Khi sử dụng IaaS bạn thực tế không kiểm soát cơ sở hạ tầng nằm dưới, nhưng bạn có quyền kiểm soát các hệ điều hành, lưu trữ, triển khai các ứng dụng và ở một mức độ hạn chế, có quyền kiểm soát việc lựa chọn các thành phần mạng.

Dịch vụ in theo yêu cầu (POD) là một ví dụ về các tổ chức có thể hưởng lợi từ IaaS. Mô hình POD được dựa trên việc bán sản phẩm có khả năng tùy chỉnh. Các POD cho phép các cá nhân mở cửa hàng và bán thiết kế các sản phẩm. Các chủ cửa hàng có thể tải lên nhiều hay ít thiết kế tùy theo khả năng sáng tạo của họ. Có hàng ngàn lần tải lên. Với các khả năng lưu trữ đám mây, một POD có thể cung cấp không gian lưu trữ không hạn chế.

Tầng giữa là nền tảng hệ thống. Nó cung cấp cơ sở hạ tầng của ứng dụng. Nền tảng hệ thống là một dịch vụ (PaaS) cung cấp sự truy cập đến các hệ điều hành và các dịch vụ có liên quan. Nó cung cấp một cách để triển khai các ứng dụng lên đám mây bằng cách sử dụng các ngôn ngữ lập trình và các công cụ do nhà cung cấp hỗ trợ. Bạn không cần phải quản lý hoặc kiểm soát cơ sở hạ tầng nằm dưới, nhưng bạn có quyền điều khiển các ứng dụng đã triển khai và ở một mức độ nào có quyền điều khiển ứng dụng sử dụng các cấu hình môi trường trên máy tính chủ.

PaaS có các nhà cung cấp như là Elastic Compute Cloud (EC2) của Amazon. Nhà phần mềm doanh nhân nhỏ là một hoạt động kinh doanh lý tưởng đối với PaaS. Với nền tảng hệ thống đã chọn lọc kỹ, có thể tạo ra các sản phẩm đẳng cấp thế giới mà không thêm gánh nặng cho hệ thống đang chạy trong công ty.

Tầng trên cùng là tầng ứng dụng, tầng mà hầu hết mọi người xem như là đám mây. Các ứng dụng chạy ở đây và được cung cấp theo yêu cầu của những người dùng. Phần mềm là một dịch vụ (SaaS) có các nhà cung cấp như Google Pack. Google Pack bao gồm các ứng dụng, các công cụ có thể sử dụng được qua Internet, như Calendar, Gmail, Google Talk, Docs và nhiều hơn nữa. Hình 2 cho thấy các tầng này.



Hình 2. Các tầng điện toán đám mây được nhúng trong các thành phần "là một dịch vụ"

Các cách hình thành đám mây

Có ba kiểu hình thành đám mây: riêng tư (theo giả thuyết), công cộng và lai.

Các đám mây công cộng có sẵn cho công chúng hoặc một nhóm ngành nghề lớn và do một tổ chức bán các dịch vụ đám mây sở hữu và cung cấp. Một đám mây công cộng là cái mà người ta hình dung là đám mây theo nghĩa thông thường; đó là, các tài nguyên được cung cấp động trên Internet bằng cách sử dụng các ứng dụng web từ một nhà cung cấp bên thứ ba bên ngoài cung cấp các tài nguyên chia sẻ và gửi hóa đơn tính cước trên cơ sở tính toán việc sử dụng.

Các đám mây riêng tư tồn tại bên trong tường lửa của công ty bạn và do tổ chức của bạn quản lý. Chúng là các dịch vụ đám mây do bạn tạo ra và kiểm soát trong doanh nghiệp của mình. Các đám mây riêng tư cũng cung cấp nhiều lợi ích tương tự như các đám mây công cộng — sự khác biệt chủ yếu là tổ chức của bạn chịu trách nhiệm thiết lập và duy trì đám mây đó.
Các đám mây lai là một sự kết hợp của đám mây công cộng và riêng tư khi sử dụng các dịch vụ có trong cả hai vùng công cộng và riêng tư. Các trách nhiệm quản lý được phân chia giữa các nhà cung cấp dịch vụ đám mây công cộng và chính doanh nghiệp. Khi sử dụng một đám mây lai, các tổ chức có thể xác định các mục tiêu và các yêu cầu của các dịch vụ được tạo ra và có được chúng dựa vào sự lựa chọn thích hợp nhất.

Các vai trò công nghệ thông tin trong đám mây

Chúng ta hãy xem xét khả năng mà việc quản lý và quản trị sẽ đòi hỏi sự tự động hóa cao hơn, đòi hỏi một sự thay đổi nhiệm vụ của các nhân viên chịu trách nhiệm tạo kịch bản lệnh do tăng trưởng sản xuất mã. Bạn thấy đấy, công nghệ thông tin có thể làm cho gắn kết hơn, cần ít phần cứng và ít triển khai phần mềm hơn, nhưng nó cũng tạo ra các cấu tạo mới. Công nghệ thông tin đang dịch chuyển hướng tới người lao động tri thức. Trong mẫu hình mới này, các nguồn nhân lực kỹ thuật sẽ có trách nhiệm lớn hơn để tăng cường và nâng cấp các quy trình nghiệp vụ chung.

Nhà phát triển

Việc sử dụng ngày càng tăng các thiết bị di động, sự phổ biến của việc nối mạng xã hội và các khía cạnh khác của sự tiến hóa của quá trình và các hệ thống công nghệ thông tin thương mại, sẽ đảm bảo công việc cho cộng đồng nhà phát triển; tuy nhiên, các nhà phát triển của doanh nghiệp sẽ được gạch bỏ khỏi một số vai trò truyền thống của nhân viên phát triển, do các quá trình có hệ thống và có tổ chức của mô hình cấu hình đám mây.

Một cuộc khảo sát gần đây của IBM, Nghiên cứu mới của developerWorks cho thấy sự vượt trội của điện toán đám mây và phát triển ứng dụng di động (xem phần Tài nguyên) đã chứng tỏ rằng nhu cầu đối với công nghệ di động sẽ phát triển theo cấp số nhân. Sự phát triển này, đi cùng với sự chấp nhận nhanh chóng của điện toán đám mây trên toàn cầu, sẽ đòi hỏi phải gia tăng rất mạnh số các nhà phát triển có hiểu biết về lĩnh vực này. Để đáp ứng các nhu cầu kết nối di động ngày càng tăng, sẽ đòi hỏi phải có nhiều nhà phát triển hơn nữa hiểu cách điện toán đám mây hoạt động như thế nào.
Điện toán đám mây cung cấp một khả năng hầu như vô tận, loại bỏ các mối lo về khả năng mở rộng. Điện toán đám mây cho các nhà phát triển truy cập vào các tài sản phần mềm và phần cứng mà hầu hết các doanh nghiệp nhỏ và vừa không có đủ khả năng tự trang bị. Các nhà phát triển, khi sử dụng điện toán đám mây dựa vào Internet và các tài sản là kết quả của cấu hình này, sẽ có quyền truy cập vào các tài nguyên mà hầu như đã chỉ có thể mơ ước trong quá khứ vừa qua.

Nhà quản trị

Các nhà quản trị là những người bảo vệ và các nhà lập pháp của một hệ thống công nghệ thông tin. Họ chịu trách nhiệm kiểm soát người dùng truy cập vào mạng. Điều này có nghĩa là họ nằm trên đỉnh của việc tạo ra các mật khẩu người dùng và tạo nên các quy tắc và các thủ tục dành cho chức năng cơ bản như là việc truy cập nói chung vào các tài sản hệ thống. Sự ra đời của điện toán đám mây sẽ đòi hỏi phải có các sự điều chỉnh cho quá trình này do nhà quản trị trong môi trường như vậy không chỉ quan tâm lo lắng về các vấn đề nội bộ nữa, mà còn về mối quan hệ với bên ngoài của doanh nghiệp mình và các mối quan tâm của điện toán đám mây, cũng như các hoạt động của các bên thuê khác trong một đám mây công cộng.

Điều này làm thay đổi vai trò của các khái niệm về tường lửa đã được đặt ra bởi việc quản trị và bản chất của các thủ tục an ninh chung của doanh nghiệp. Nó không phủ nhận cần có người bảo vệ hệ thống. Với điện toán đám mây thậm chí trách nhiệm còn lớn hơn, chứ không phải ít đi. Trong điện toán đám mây, nhà quản trị không chỉ đảm bảo dữ liệu và các hệ thống bên trong cho tổ chức, họ còn phải giám sát và quản lý đám mây để đảm bảo sự an toàn cho hệ thống và dữ liệu của họ ở khắp mọi nơi.

Kiến trúc sư

Chức năng của kiến trúc là mô hình hóa có hiệu quả chức năng của hệ thống cụ thể trong thế giới công nghệ thông tin thực. Trách nhiệm cơ bản của kiến trúc sư là phát triển khung kiến trúc của mô hình điện toán đám mây của đại lý. Kiến trúc của điện toán đám mây về cơ bản là sự trừu tượng hóa của khái niệm ba tầng, đó là IaaS, PaaS và SaaS, sao cho doanh nghiệp cụ thể triển khai cách tiếp cận điện toán đám mây đáp ứng được mục tiêu và mục đích khởi đầu của nó. Mô hình trừu tượng hóa chức năng của các tầng được phát triển sao cho những người ra quyết định và những người lính bộ binh có thể sử dụng sự trừu tượng hóa này để lập kế hoạch, thực hiện và đánh giá hiệu quả của các thủ tục và các quy trình của hệ thống công nghệ thông tin.
Vai trò của kiến trúc sư trong thời đại điện toán đám mây là nghĩ ra và mô hình hóa một sự tương tác chức năng của các tầng của đám mây. Kiến trúc sư phải sử dụng trừu tượng hóa như một phương tiện để đảm bảo rằng công nghệ thông tin đang đóng đúng vai trò của mình trong việc đạt được các mục tiêu của tổ chức.

Vào đám mây hay không vào đám mây: Đánh giá rủi ro

Sự an toàn và sự riêng tư là các mối quan tâm chính được những người đang di chuyển vào đám mây bày tỏ. Các công ty đang cung cấp các dịch vụ điện toán đám mây biết điều này và hiểu rằng nếu không có sự an toàn tin cậy, thì việc kinh doanh của họ sẽ thất bại. Vì vậy, sự an toàn và sự riêng tư là những ưu tiên cao cho tất cả các thực thể điện toán đám mây.

Quản lý: Các tiêu chuẩn công nghiệp được giám sát như thế nào?

Quản lý là trách nhiệm chính của chủ sở hữu của một đám mây riêng tư và là trách nhiệm chia sẻ chung của nhà cung cấp dịch vụ và người dùng dịch vụ trong các đám mây công cộng. Tuy nhiên, trong hoàn cảnh có các yếu tố như chủ nghĩa khủng bố xuyên quốc gia, từ chối dịch vụ, các vi rút, các sâu và các thứ tương tự — đã có hoặc có thể có những khía cạnh nằm ngoài sự kiểm soát của hoặc chủ sở hữu đám mây riêng tư hoặc nhà cung cấp dịch vụ và người dùng dịch vụ đám mây công cộng — cần có một sự hợp tác rộng lớn hơn theo kiểu nào đó, đặc biệt là trên các cấp độ toàn cầu, khu vực và quốc gia. Tất nhiên, sự hợp tác này phải được xây dựng theo cách sẽ không pha loãng, nếu không nó sẽ gây tổn hại đến sự kiểm soát của chủ sở hữu của quá trình hoặc các thuê bao trong trường hợp của đám mây công cộng.

Các yêu cầu băng thông

Nếu bạn sắp chập nhận khung công tác đám mây, thì phải đánh giá băng thông và nút nghẽn cổ chai băng thông tiềm ẩn trong chiến lược của bạn. Trong bài viết của CIO.com: Con bù nhìn rơm gầy trơ xương: Nút nghẽn cổ chai của điện toán đám mây và cách giải quyết nó, có đoạn sau:
Những người thực hiện ảo hóa đã phát hiện ra rằng nút nghẽn cổ chai chủ yếu với máy ảo dày đặc là dung lượng bộ nhớ; bây giờ có một lô máy chủ mới đưa ra vùng bộ nhớ lớn hơn nhiều, nhằm loại bỏ bộ nhớ như là một nút nghẽn cổ chai hệ thống. Điện toán đám mây loại trừ nút nghẽn cổ chai đó bằng cách loại bỏ vấn đề mật độ máy tính khỏi phương trình — việc giải quyết điều đó trở thành trách nhiệm của nhà cung cấp đám mây, giải phóng người dùng đám mây khỏi lo lắng về nó.
Đối với điện toán đám mây, băng thông đến và từ nhà cung cấp đám mây là một nút nghẽn cổ chai.
Vì vậy, giải pháp tốt nhất hiện nay cho vấn đề băng thông là gì? Trên thị trường hiện nay, câu trả lời tốt nhất là máy chủ phiến. Một máy chủ phiến là một máy chủ đã được tối ưu hóa để giảm thiểu việc sử dụng năng lượng và không gian vật lý. Một trong những lợi thế rất lớn của máy chủ phiến đối với việc sử dụng điện toán đám mây là cải thiện tốc độ băng thông. Ví dụ, BladeCenter của IBM được thiết kế để tăng tốc vừa nhanh chóng và vừa có hiệu quả các tải công việc tính toán hiệu năng cao. Cũng giống như vấn đề bộ nhớ phải được khắc phục để làm giảm có hiệu quả nút nghẽn cổ chai của mật độ máy ảo cao, nút nghẽn cổ chai băng thông của điện toán đám mây cũng phải được khắc phục, do đó, hãy xem các khả năng của nhà cung cấp của bạn để xác định xem nút nghẽn cổ chai băng thông có là một vấn đề hiệu năng lớn hay không.

Ảnh hưởng tài chính

Vì một tỷ lệ chi phí khá lớn trong các hoạt động công nghệ thông tin xuất phát từ các chức năng quản trị và quản lý, nên sự tự động hóa ngầm của một số các chức năng này sẽ tự nó cắt giảm bớt các chi phí trong một môi trường điện toán đám mây. Sự tự động hóa có thể làm giảm đáng kể hệ số lỗi và chi phí dự phòng của sự lặp lại thủ công.

Có các yếu tố khác đóng góp vào các vấn đề tài chính như chi phí duy trì các tiện nghi vật lý, việc sử dụng năng lượng điện, các hệ thống làm mát và tất nhiên có cả các nhân tố quản trị và quản lý. Như bạn có thể thấy, không chỉ riêng băng thông, dù theo bất cứ nghĩa nào.

Giảm nhẹ rủi ro

Hãy xét các nguy cơ có thể dưới đây:
Tác động xấu của việc xử lý sai dữ liệu.
Nạp dịch vụ không đảm bảo.
Các vấn đề tài chính hoặc pháp lý của nhà cung cấp.
Các vấn đề vận hành hoặc tắt máy của nhà cung cấp.
Các vấn đề phục hồi dữ liệu và tính bảo mật.
Các mối quan tâm an toàn chung.
Các cuộc tấn công các hệ thống của các lực lượng bên ngoài.
Với việc sử dụng các hệ thống trong đám mây, luôn có nguy cơ luôn hiện hữu về an toàn dữ liệu, kết nối và hành động ác ý ảnh hưởng đến các quá trình điện toán. Tuy nhiên, nếu có kế hoạch cẩn thận và phương pháp luận lựa chọn nhà cung cấp dịch vụ và quan điểm sắc sảo về quản lý rủi ro chung, hầu hết các công ty đều có thể sử dụng công nghệ này một cách an toàn.

Kết luận

Trong thời đại cách mạng mới này, điện toán đám mây có thể cung cấp cho các tổ chức phương tiện và các phương pháp cần thiết để đảm bảo sự ổn định tài chính và dịch vụ chất lượng cao. Tất nhiên, phải có hợp tác chung nếu quá trình điện toán đám mây là để đạt tới sự an toàn tối ưu và các tiêu chuẩn vận hành chung. Với sự ra đời của điện toán đám mây, điều cấp thiết với tất cả chúng ta là sẵn sàng cho cuộc cách mạng này.

(theo ibm.com)

Ví dụ mảng 2 chiều [C/C++]

BAI TAP MANG 2 CHIEU - 29.11.19 /* Viết các hàm thực hiện 1.Nhập vào từ bàn phím ma trận vuông chứa các số nguyên có kích thước n (3...