• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

ANTS Toolkit (tt)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ANTS Toolkit (tt)

    Tác giả:

    + Lê Anh Đức
    + ngô Tự Nhiên


    4.4. Protocol

    Để định nghĩa một dịch vụ mới, người lập trình phải viết một lớp protocol cũng như viết lớp capsule. Subclass của Protocol được dùng để đặc tả tổ chức của capsule và các class khác trong các code groups và các cấu trúc protocol.
    Mỗi protocol mới phải cung cấp một contructor mặc định để nhóm capsule lại cho thích hợp.

    Bảng 4.5: API của lớp Protocol



    Hình: Protocol API

    • Phương thức addCapsule() được dùng để đưa một capsule vào code group cho trước.

    • Lớp Helper không phải là subclass của Capsule, nhưng nó cần cho network giúp quản lý việc xác định ứng dụng lưu trong soft-store, được đưa vào group bởi phươnh thức addHelperClass().

    4.5. Application

    Bảng 4.6: API của lớp Application



    Hình: Application API
    Ứng dụng là những thực thể độc lập tạo nên các ANTS network services. Nó được tạo ra bởi subclass lớp Application. Đây là một container cho việc xử lý end-system, nó cung cấp một API nhỏ cho việc kết nối tới local node, đăng ký protocol, đưa capsule vào mạng và nhận capsule từ mạng. Một ứng dụng chạy trên cùng không gian địa chỉ của local node.
    Lớp ứng dụng cung cấp việc truy cập đến mạng thông qua các phương thức ở bảng Application API trên.

    • Tập phương thức đầu dùng để kết nối lới local node, truy xuất node và địa chỉ port của ứng dụng, cũng như thiết lập resource limit (TTL) mặc định (mặc định là 64) cho mỗi outgoing capsule.

    • Tập phương thức thứ hai dùng để đăng ký application code với local node. Để dùng một dịch vụ mới, application code trước hết phải tạo một đối tượng protocol tương ứng và đăng ký nó với local node thông qua phương thức register(). Nó thông báo cho network việc định nghĩa protocol, và cho phép local node sử dụng capsule code kết hợp từ local filesystem tự nó xử lý quá trình code distribution. Ngay khi hoàn thành, application có thể gửi và nhận capslue từ một dịch vụ mới. Ứng dụng nên hủy đăng ký protocol bằng phương thức unregister() khi đã hoàn tất.

    • Tập phương thức cuối cùng dùng để gửi capsule vào mạng thông qua local node, phải gán resource limit và cài đặt địa chỉ nguồn trước khi đưa vào mạng. Nếu không có gán resource limit thì giá trị mặc định sẽ được sử dụng là 64. Ngay khi đã gửi, capsule là một thuộc tính của active node, và không nên được tham khảo bởi ứng dụng một lần nữa. Bên trong active node, nói được forward bằng việc gọi phương thức evaluate(). Một capsule được loại bỏ khỏi network bởi phương thức receive(). Phương thức evaluate() này được override bởi ứng dụng và được gọi bởi node khi một capsule đã sẵn sàng. Bởi vì phương thức này được chạy bởi một thread của node và được đồng bộ để ngăn chặn các capsule sau này từ phương thức receive() nhận vào, nên nó phải hoàn thành nhanh chóng, và phải được xếp thành queue cho quá trình xử lý sau này nếu cần thiết. Nó cũng phải copy capsule lại nếu như nó sẽ được tham khảo tới trong thời gian sau này, bởi vì capsule giữ lại thuộc tính của active node sau khi lệnh triệu gọi hoàn thành.

    4.6. Extension

    Extension cho phép người quản trị node làm tăng thêm các dịch vụ sẵn có của một node với code có đặc quyền hoặc các thành phần lớn mà chúng không dễ dàng truyền đi bởi giao thức code distribution. Trong ANTS, các extensions mô hình hóa tính không đồng nhất của network. Chúng được cài đặt độc lập cho sự phát triển của một dịch vụ mới, và được thể hiện khả năng mà khả năng ấy có thể hoặc không thể hiện diện của một active node cho trước.
    Extension mới được phát triển bằng subclass lớp Extension để cung cấp mọi phương thức thích hợp. Extension sau đó được cài đặt vào một active node cụ thể như là một phần của việc cấu hình cục bộ. Bởi vì extension code được đặc quyền trong active node, nên người phát triển phải cẩn thận cho việc tách các public methods cho việc sử dụng bởi các capsules từ các methods khác. Bởi vì node hiện thực với bộ máy bảo mật, cái mà hạn chế hành vi của capsule, nên extension cần phải chỉ cho node để chấp nhận việc capsule truy cập các tài nguyên của nó.
    Có hai phương thức trên node cho nhiệm vụ cộng sự của extension. Cả hai đều gọi extension code trong suốt việc khởi tạo hệ thống.

    • attachExtension(Extension e), cho node biết extension nào được đưa vào. Lộ trình forwar của capsule có thể được xác định extension bởi phương thức của node findExtension() và dùng các dịch vụ của nó.

    • exportClass(Class cl), chỉ dẫn node cho phép capsule truy cập các lớp thêm vào. Ở đây cho phép API của các extensions mới để dùng các lớp helper, ví dụ như các cấu trúc dữ liệu kết hợp.
    4.7. Channel

    Bảng 4.7: API của lớp Channel



    Hình: Channel API
    Channel cung cấp một interface tới link layer, cho phép node riêng lẻ kết nối vào một mạng thông qua kỹ thuật pont-to-pont hoặc shared medium. Loại mới của channel, tương ứng với link layer mới, được phát triển bằng subclass lớp trừu tượng Channel.
    UDP Channel được dùng để mô hình hóa các host kết nối bởi UDP như một kênh shared medium đơn. Sự sắp xếp này cung cấp một ý nghĩa cho việc xây dựng active network trên chóp của Internet. Mạng nhỏ có thể được xây dựng bằng cách chạy một node cho mỗi router và kết nối những node ấy với UDP channels, vì UDP bắt nhịp cho host trên mạng. Mạng lớn hơn có thể giả lập bằng cách chạy nhiều node trên một máy và kết nối chúng lại với UDP channels, vì mỗi host có thể cung cấp nhiều UDP endpoints.
    Mỗi loại của channel cung cấp các methods để cho phép người phát triển dịch vụ khảo sát môi trường cục bộ. Chú ý rằng nhiều thứ trong các đặc tính này không được định nghĩa tốt cho kênh ảo chẳng hạn như UDP, bởi vì chúng có thể thay đổi đáng kể cho các capsules khác, cũng như cho các tình huống mà active nodes được tách biệt bởi nhiều non-active nodes, bởi vì thông tin của kênh cục bộ có lẽ không biểu thị kênh phức tạp giữa các active nodes. Với những lý do ấy, người phát triển dịch vụ nên đối đãi những đặc điểm của kênh như những cách gợi ý.

    4.8. Quản lý việc cấu hình

    Trước hết, ta cần xây dựng một network topology. ANTS cung cấp những công cụ để triệu tập việc tự động hóa những quá trình.
    Công cụ ConfigurationManagement được dùng để tạo và khởi tạo khẩu phần máy cục bộ của một active network. Nó đòi hỏi một miêu tả về mạng trong một file cấu hình theo định dạng. File ấy chứa một hoặc nhiều dòng cho mỗi thực thể mạng (node, channel, application, extension) trong một định dạng văn bản đơn giản. Điều này làm đơn giản hóa việc quản lý, bởi vì một file có thể được dùng để đặc tả toàn bộ topology.
    Để cho phép cách trình bày tổng quát của các thực thể trên mạng. Mỗi lớp node, channel application và extension được dẫn xuất từ lớp trừu tượng Entity.

    • setArgs(KeyArgs args), phương thức này được gọi bởi ConfigurationManager để cho phép thực thể xử lý các đối số dòng lệnh. Các đối số này được truyền vào từ file cấu hình.

    • start() được gọi bởi ConfigurationManager để hoàn thành việc khởi tạo và cho phép thực thể bắt đầu hoạt động. Nó sẽ tạo một thread để quản lý quá trình xử lý.
    Thêm vào đó, lớp Entity cũng cung cấp các phương thức mà các subclasses của nó có thể dùng để báo hiệu thông tin, cảnh báo, và thông điệp lỗi tới những nơi cần thiết.
    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
Trung Tâm Tin Học VnPro
149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
Tel : (08) 35124257 (5 lines)
Fax: (08) 35124314

Home page: http://www.vnpro.vn
Support Forum: http://www.vnpro.org
- Chuyên đào tạo quản trị mạng và hạ tầng Internet
- Phát hành sách chuyên môn
- Tư vấn và tuyển dụng nhân sự IT
- Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

Network channel: http://www.dancisco.com
Blog: http://www.vnpro.org/blog

  • #2
    Tác giả có thể cụ thể một ứng dụng tiêu biểu trên nền mạng này được không ?
    Thanks.
    Trung tâm tin học VnPro
    Cisco Authorised Training
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel: (08) 5124257-5125314
    Fax: (08) 5124314
    http://vnpro.vn
    support forum: http://vnpro.org

    Comment


    • #3
      nvnam:
      ANTS toolkit là một công cụ để hiện thực Active Network

      Comment

      • Working...
        X