Mặc dù các cơ sở hạ tầng của điện toán đám mây cố gắng để tự động phân phối vàcân bằng tải, nhưng nhà phát triển ứng dụng vẫn có trách nhiệm đặt dữ liệu vào nơi gần vị trí xử lý và xác đ
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆ THÔNG TIN
CHUYÊN ĐỀ
TÍNH TOÁN LƯỚI
BÀI THU HOẠCH
ĐIỆN TOÁN ĐÁM MÂY:
Trang 2LỜI MỞ ĐẦU
Công nghệ Cloud Computing ra đời đánh dấu một bước phát triển mới trong lĩnh vựctính toán hiệu năng cao Nó cho phép tận dụng năng lực xử lý, lưu trữ cùng các tàinguyên nhàn rỗi khác để cung cấp một môi trường tính toán có năng lực xử lý lớn, khảnăng lưu trữ dồi dào để giải quyết các bài toán phức tạp - khó có thể giải quyết được vớicác công nghệ hiện hành hoặc giải quyết được nhưng với chi phí rất cao CloudComputing 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ưtrong khi vẫn cung cấp năng lực tính toán như mong muốn Trong những năm vừa qua,nhiều tổ chức, tập đoàn công nghệ thông tin lớn đã chọn công nghệ Cloud Computinglàm chiến lược phát triển của mình, đã đầu tư nghiên cứu nhằm sớm đưa công nghệCloud Computing vào thực tế Công nghệ này đang ngày càng thu hút được sự quan tâmchú ý từ khắp nơi trên thế giới Có thể nói công nghệ Grid Computing là một xu hướngphát triển mới trong ngành công nghệ thông tin
Do hạn chế về thời gian, bài thu hoạch chỉ dừng lại ở việc tổng hợp Chương 4:
“Cloud Computing: Applications and Paradigms” trong cuốn Cloud Computing: Theoryand Practice [1] để nêu lên các ứng dụng và các mô hình của Điện toán Đám mây
Trang 3Mục lục
Trang 4Chương 4 Cloud Computing: Applications and Paradigms
4.1 Những thách thức cho điện toán đám mây
Sự phát triển của các ứng dụng hiệu quả trên nền điện toán đám mây kế thừa nhữngthách thức do sự mất cân bằng tự nhiên giữa các máy tính, nhập/xuất, và bang thông giaotiếp giữa các hệ thống; những thách thức này được khuếch đại rất nhiều do quy mô của
hệ thống, tính chất rải rác của nó, và bởi thực tế là hầu hết mọi ứng dụng đều nặng về dữliệu Mặc dù các cơ sở hạ tầng của điện toán đám mây cố gắng để tự động phân phối vàcân bằng tải, nhưng nhà phát triển ứng dụng vẫn có trách nhiệm đặt dữ liệu vào nơi gần
vị trí xử lý và xác định những lưu trữ tối ưu cho dữ liệu
Một điều thuận lợi chính của điện toán đám mây, đó là việc chia sẻ cơ sở hạ tầng,cũng có thể có một tác động tiêu cực Hiệu suất tách biệt gần như không thể đạt đượctrong hệ thống thực, đặc biệt là khi hệ thống được nạp rất nhiều Hiệu suất của các máy
ảo biến động dựa trên tải trọng, các dịch vụ cơ sở, và môi trường bao gồm những ngườidùng khác Sự bảo mật tách biệt cũng là thách thức trên những hệ thống có nhiều ngườidùng chung
Độ tin cậy cũng là một mối quan tâm lớn; sự thất bại của một node thì được dự đoánbất kỳ khi nào một số lượng lớn các node hợp tác cho việc tính toán Lựa chọn một khíacạnh tối ưu (về mặt hiệu suất tách biệt, độ tin cậy, và bảo mật) từ những khía cạnh đóđược cung cấp bởi cơ sở hạ tầng của điện toán đám mây là một yếu tố quan trọng cầnđược xem xét Tất nhiên, việc cân nhắc chi phí cũng đóng một vai trò trong việc lựa chọnloại để tối ưu
Nhiều ứng dụng bao gồm nhiều giai đoạn; lần lượt, mỗi giai đoạn có thể bao gồmnhiều cá thể chạy song song trên hệ thống đám mây và giao tiếp lẫu nhau Do đó, sự hiệuquả, thống nhất, và khả năng mở rộng giao tiếp là những mối quan tâm lớn cho một nhàphát triển ứng dụng Trong thực tế, do các mạng chia sẻ và các cấu trúc liên kết chưa rõ,
Trang 5các cơ sở hạ tầng của điện toán đám mây có đỗ trễ và sự biến động băng thông sẽ ảnhhưởng đến hiệu suất của ứng dụng.
Lưu trữ dữ liệu đóng một vai trò quan trọng trong hiệu suất của bất kỳ ứng dụng thiên
về dữ liệu nào; việc tổ chức lưu trữ, vị trí lưu trữ, cũng như, băng thông lưu trữ phải đượcphân tích cẩn thận để để tối ưu hóa hiệu suất của ứng dụng Điện toán đám mây hỗ trợnhiều tùy chọn lưu trữ để thiết lập một hệ thống tập tin tương tự như hệ thống tập tin
Hadoop; trong số đó là off-instance cloud storage (e.g S3), mountable off-instance block
storage (e.g., EBS), như là, lưu trữ liên tục cho các vòng đời của các trường hợp
Nhiều ứng dụng thiên về dữ liệu sử dụng siêu dữ liệu của các bảng ghi dữ liệu riênglẻ; ví dụ, siêu dữ liệu cho một tệp tin âm thanh MPEG có thể bao gồm tên của bài hát, ca
sĩ, thông tin thâu âm và nhiều thứ khác Siêu dữ liệu có thể lưu trữ để dễ dàng quản lý,lưu trữ nên mở rộng được và đáng tin cậy
Một yếu tố quan trong cho việc phát triển ứng dụng là việc ghi nhận trạng thái Sự cânnhắc về hiệu suất giới hạn số lượng dữ liệu của việc ghi nhận trạng thái, trong khi khảnăng xác định nguồn gốc của các kết quả không mong đợi và các lỗi thì được giúp đỡ bởiviệc ghi nhận trạng thái thường xuyên Việc ghi nhận trạng thái thường được thực hiệnbằng cách sử dụng lưu trữ trường hợp được bảo tồn chỉ trong một vòng đời trường hợp
do đó; các biện pháp để bảo tồn các nhật ký cho một cuộc phân tích phải được thực hiện.Một thách thức khác đang chờ được giải quyết liên quan đến bản quyền phần mềm
4.2 Các ứng dụng đám mây hiện có và những cơ hội cho những ứng dụng mới
Những ứng dụng điện toán đám mây có thể chia thành nhiều loại: (i) processingpipelines; (ii) các hệ thống batch processing; và (iii) ứng dụng web [2]
Processing pipelines là những ứng dụng chuyên dữ liệu và thỉnh thoảng chuyên tínhtoán và đại diện cho một bộ phận khá lớn ứng dụng đang chạy trên điện toán đám mâyhiện nay Một số loại của ứng dụng xử lý dữ liệu:
Trang 6• Lập chỉ mục; những ứng này hỗ trợ lập chỉ mục của bộ dữ liệu lớn được tạo từ cáccông cụ thu thập dữ liệu web.
• Khai phá dữ liệu; những ứng dụng này hỗ trợ việc tìm kiếm trong một không gianrất lớn các dòng dữ liệu để xác định những tập thú vị
• Xử lý ảnh; một số công tu cho phép người dùng lưu trữ những hình ảnh của họtrên đám mây như flicker (flickr.com) và Google (http://picasa.google.com/).Những ứng dụng xử lý ảnh này hỗ trợ việc chuyển đổi hình ảnh như phóng to mộthình hoặc tạo các hình thu nhỏ; chúng cũng có thể được sử dụng để nén hoặc mãhóa hình ảnh
• Chuyển mã Video; những ứng dụng này chuyển mã từ một định dạnh video nàysang một định dạnh khác ví dụ như chuyển từ AVI sang MPEG
• Xử lý tài liệu; những ứng dụng này chuyển đổi một tập hợp lớn các tài liệu từ mộtđịnh dạng này sang định dạng khác ví dụ từ Word sang PDF hoặc nén các tài liệu;chúng có thể sử dụng OCR (Optical Character Recognition) để tạo ra những hìnhảnh số cho các tài liệu
Các hệ thống xử lý hàng loạt cũng bao gồm một dải rộng của các ứng dụng thiên về
dữ liệu trong điện toán đám mây doanh nghiệp Các ứng dụng như vậy thường có thờihạn và thất bại trong việc đáp ứng các thời hạn có thể xảy ra những hậu quả nghiêm trọng
về kinh tế; an ninh cũng là một khía cạnh quan trọng của nhiều ứng dụng của xử lý hàngloạt Một danh sách không đầy đủ của các ứng dụng xử lý hàng loạt là:
• Thế hệ của các báo cáo hoạt động hàng ngày, hàng tuần, hàng tháng, và hàng nămcủa các tổ chức trong các hoạt động bán lẻ, sản xuất, và các thành phần kinh tếkhác
• Xử lý, tổng hợp, và tóm lược của các giao dịch hàng ngày cho các cơ quan kinh tế,các công ty bảo hiểm, và các tổ chức chăm sóc sức khỏe
• Quản lý hàng tồn kho cho các tập đoàn lớn
• Thanh toán và xử lý hồ sơ trả lương
• Quản lý phát triển phần mềm ví dụ như những cập nhật hàng đêm của các khophần mềm
• Tự động kiểm tra và xác minh phần mềm và phần cứng hệ thống
Cuối cùng, nhưng lại quan trọng hơn, là các ứng dụng điện toán đám mây trong lĩnhvực truy cập web Một số chuyên mục của trang web dự đoán hoặc tạm thời hiển thị Ví
dụ một trang web cho một hội nghị hay một sự kiện khác Ngoài ra còn có các trang webhoạt động trong một mùa cụ thể (ví dụ như kỳ nghỉ hè) hoặc hỗ trợ một loại hoạt động cụthể nào đó như báo cáo thuế thu nhập xảy ra vào 15 tháng 4 hàng năm Các trang web
Trang 7giới hạn thời gian khác được sử dụng cho các hoạt động quảng cáo hoặc những trang webchỉ hoạt động ban ngày.
Có rất nhiều ý nghĩa về mặt kinh tế khi lưu trữ dữ liệu trên đám mây gần các ứngdụng; chi phí cho mỗi GB thì thấp và việc xử lý có hiệu quả hơn nhiều khi dữ liệu đượclưu trữ gần các máy chủ tính toán Điều này dẫn đến việc chúng ta tin rằng một số lớpmới của các ứng dụng tính toán trên đám mây có thể nổi lên trong những năm tới Ví dụcác chương trình xử lý hàng loạt về hệ hỗ trợ ra quyết định và những hướng khác củanhững việc phân tích kinh doanh Một lớp khác của những ứng dụng đám mây mới có thể
xử lý song song với các xử lý hàng loạt dựa trên ngôn ngữ lập trình trừu tượng nhưMapReduce.Các ứng dụng tương tác với di động xử lý khối lượng lớn dữ liệu từ các loạicảm biến khác nhau; các dịch vụ kết hợp các nguồn dữ liệu lại với nhau như mashups thì
là các ứng viên rõ ràng cho điện toán đám mây
Khoa học và kỹ thuật có thể sẽ thu được rất nhiều lợi ích từ điện toán đám mây nhưnhiều ứng dụng trong khu vực này thì thiên về tính toán và thiên về dữ liệu Tương tự,một dám mây dành riêng cho giáo dục sẽ cực kỳ hữu ích Phần mềm toán học nhưMATLAB và Mathematica có thể chạy trên đám mây
4.3 Các kiểu kiến trúc cho ứng dụng đám mây
Điện toán đám mây thì dựa trên mô hình client-server Phần lớn các ứng dụng đámmây tận dụng lợi thế giữa sự trao đổi yêu cầu – phản hồi giữa các máy khác và các máychủ phi trạng thái Một máy chủ phi trạng thái không yêu cầu máy khách lần đầu tiênthiết lập một kết nối đến máy chủ, thay vào đó nó xem một yêu cầu của máy khách nhưmột giao dịch độc lập và trả lời lại nó
Những lợi ích của những máy chủ phi trạng thái là rõ ràng Phục hồi từ một máy chủ
bị lỗi đòi hỏi một chi phí đáng kể cho máy chủ mà vẫn duy trì trạng thái của tất cả các kếtnối của nó, trong khi trong trường hợp của một máy chủ phi trạng thái một máy khách làkhông bị ảnh hưởng trong khi một máy chủ xảy ra sự cố và sau đó trở lại làm việc giữahai yêu cầu liên tiếp Một máy chủ phi trạng thái thì đơn giản hơn, mạnh mẽ hơn, và có
Trang 8khả năng mở rộng; một máy khách không phải quan tâm đến tình trạng của máy chủ; nếumáy khách nhận được phản hồi một yêu cầu, điều này có nghĩa là máy chủ đang hoạtđộng, nếu không nó nên gởi lại yêu cầu sau đó Một dịch vụ dựa trên kết nối phải dự trữkhông gian để duy trì trạng thái của mỗi kết nối với máy khách; do đó, một hệ thống nhưvậy thì không có khả năng mở rộng, một số lượng máy khách của máy chủ có thể tươngtác với máy chủ bất kỳ lúc nào; do đó nó sẽ giới hạn không gian lưu trữ hiện có của máychủ.
Ví dụ, một máy chủ thì có trạng thái; nó trả lời một yêu cầu theo giao thức HTTP màkhông duy trì lịch sử kết nối của máy khác Máy khách, một trình duyệt, thì cũng có trạngthái từ lúc nó gởi yêu cầu và chờ phản hồi từ phía máy chủ Giao thức HTTP sử dụng bởimột trình duyệt, để trao đổi với một máy chủ Web là một ứng dụng giao thức request-response HTTP sử dụng the Transport Control Protocol (TCP), một giao thức vậnchuyển kết nối đáng tin cậy; việc sử dụng các giao thức đảm bảo tin cậy cho việc vậnchuyển một đối tượng lớn, tuy nhiên nó là nguyên nhân bị tấn công từ chối dịch vụ khikhách hàng xấu cố gắng giả một kết nối TCP và buộc các máy chủ phải cung cấp tàinguyên kết nối
Một khía cạnh quan trọng của việc phát triển của các ứng dụng có kết nối mạng là làmthế nào để các xử lý/luốn đang chạy trên hệ thống với những kiến trúc khác nhau và cóthể biên dịch từ các ngôn ngữ lập trình khác nhau có thể trao đổi thông tin có cấu trúc vớimột ứng dụng khác Đầu tiên, các biểu diễn của hai cấu trúc tại hai website cí thể khácnhau, một hệ thống có thể sử dụng Big-Endian và một hệ thống khác sử dụng biểu diễnLittle-Endian, tính chất của các biểu diễn có thể khác nhau; thứ hai, một kênh giao tiếptruyền một chuỗi các bit/byte do đó, cấu trúc dữ liệu phải được công bố tại website gởi
dữ liệu và xây dựng lại tại website tiếp nhận
Phải cân nhắc một số khác để quyết định kiểu kiến trúc của một ứng dụng Cụm từneutrality đề cập đến khả năng giao thức truyền nhận dữ liệu khác nhau như TCP hoặcUDP, và, nhìn chung để chạy ở đầu của ngăn xếp các giao thức khác nhau Ví dụ, chúngtôi sẽ thấy rằng SOAP có thể sử dụng TCP nhưng cũng có thể là TCP, SMTP, hoặc JMS
Trang 9như các phương tiện truyền tải “Extensibility” đề cập tới khả năng các chức năng bổsung chẳng hạn như bảo mật “Independence” đề cập tới khả năng tương thích với cáckiểu lập trình khác nhau.
Rất nhiều ứng dụng máy khác và máy chủ đang chạy trên đám mây trao đổi với nhaubằng RPCs, nhưng những kiểu trao đổi khác vẫn có thể sử dụng Những ứng dụng dựatrên RPC sử dụng các mẫu để chuyển đổi các tham số liên quan đến một lời gọi RPC;một mẫu biểu diễn hai chức năng (i) sắp xếp thứ tự các cấu trúc dữ liệu và (ii) tuần tựhóa Một khái niệm chung hơn là Object Request Broker (ORB), các thành phần trunggian điều khiển thông tin liên lạc của các ứng dụng mạng ORB tại website gởi chuyểnnhững cấu trúc dữ liệu sử dụng nội bộ bằng quá trình gởi một chuỗi byte và truyền chuỗibyte này qua mạng; ORB tại website nhận ánh xạ chuỗi byte này thành một cấu trúc dữliệu sử dụng nội bộ bằng quá trình nhận
Common Object Request Broker Architecture (CORBA) được phát triển trong nhữngnăm đầu 1990 để cho phép các ứng dụng có sử dụng mạng phát triển trong những ngônngữ lập trình khác nhau và chạy trên những hệ thống có kiến trúc và các phần mềm hệthống khác nhau có thể làm việc với một ứng dụng khác Tại trung tâm của hệ thống làInterface Definition Language (IDL) được sử dụng để chỉ rõ những phần chung của mộtđối tượng; biểu diễn IDL thì sau đó được ánh xạ với một tập hợp ngôn ngữ lập trình baogồm: C, C++, Java, Smalltalk, Ruby, Lisp, and Python Những ứng dụng có kết nối mạngchuyển qua CORBA bằng cách xem xét và chuyển dữ liệu bằng giá trị
Simple Object Access Protocol (SOAP) là một giao thức ứng dụng được phát triểnvào năm 1998 cho các ứng dụng web; những định dạng tin nhắn của nó thì dựa trênExtensible Markup Language (XML) SOAP sử dụng giao thức vận chuyển TCP và mớinhất là UDP; nó cũng có thể xếp chồng lên nhau trên các giao thức của các tầng ứngdụng khác như HTTP, SMTP, hoặc JMS Các chế độ xử lý của SOAP thì dựa trên mộtmột mạng lưới bao gồm ứng dụng gởi, ứng dụng nhận, ứng dụng trung gian, ứng dụngkhởi tạo tin nhắn, ứng dụng nhận cuối cùng, và đường dẫn của tin nhắn SOAP là mộttầng cơ bản của dịch vụ web
Trang 10Web Services Description Language (WSDL) (xem http://www.w3.org/TR/wsdl) thìđược giới thiệu vào năm 2001 như một ngữ pháp dựa trên XML để mô tả sự trao đổi giữađiểm cuối của một ứng dụng sử dụng mạng Định nghĩa trừu tượng của các yếu tố liênquan bao gồm: dịch vụ, tập hợp các điểm cuối của sự trao đổi; loại, chứa các định nghĩakiểu dữ liệu; toán tử, mô tả các hành động được hỗ trợ bởi một dịch vụ; loại port, cáctoán tử hỗ trợ bởi các điểm cuối; các ràng buộc, giao thức và định dạng dữ liệu được hỗtrợ bởi một loại port cụ thể; và port, một điểm cuối như một sự kết hợp giữa ràng buộc vàmột địa chỉ mạng Những sự trừu tượng hóa thì được ánh xạ sang các định dạng cụ thểkhác và các giao thức mạng để định nghĩa các ứng dụng cuối và dịch vụ.
Representational State Transfer (REST) là một loại cấu trúc phần mềm cho các hệthống phân tán siêu truyền thông REST hỗ trợ các máy khác trao đổi với những máy chủkhông trạng thái, nó độc lập nền tảng, độc lập ngôn ngữ, hỗ trợ lưu trữ dữ liệu tại bộ nhớđệm và có thể được dụng trong bộ dạng của các tường lửa
REST hầu như luôn sử dụng HTTP để hỗ trợ cho toàn bộ bốn toán tử CRUD(Create/Read/Update/Delete); nó sử dụng GET, PUT, và DELETE để đọc, ghi, xóa dữliệu REST dễ dàng hơn để sử dụng thay thế cho RPC, CORBA, hoặc Web Services nhưSOAP hoặc WSDL Ví dụ, để lấy địa chỉ của một cá thể từ cơ sở dữ liệu một hệ thốngREST gởi một URL xác định địa chỉ của cở sở dữ liệu, tên của cá thể, và thuộc tính cụthể trong hồ sơ, các ứng dụng máy khách muốn lấy, trong trường hợp này là địa chỉ.Phiên bản SOAP tương ứng của một yêu cầu như vậy bao gồm mười dòng hoặc nhiềuhơn của XML Máy chủ REST trả lời với địa chỉ của cá thể đó Điều này chứng tỏ khẳngđịnh rằng REST là một giao thức nhanh Theo như khả năng sử dụng liên quan, REST dễdàng để xây dựng từ đầu và debug, nhưng SOAP thì được hỗ trợ bởi các công cụ sử dụng
tự phát sinh ra tài liệu, ví dụ như WSDL để tạo ra mã nguồn để kết nối
4.4 Workflow – sự phối hợp của nhiều hoạt động
Rất nhiều ứng dụng điện toán đám mây đòi hỏi hoàn thành các nhiệm vụ phụ thuộclẫn nhau; sự mô tả của một hoạt động phức tạp liên quan đến như một tập hợp các nhiệm
Trang 11vụ được biết đến như là một workflow Trong phần này, tác giả thảo luận về các mô hìnhworkflow, vòng đời của một workflow, mô tả các đặc tính mong muốn của mộtworkflow, các mẫu workflow, khả năng tiếp cận đến trang thái mục tiêu của mộtworkflow, các workflow động, và kết thúc với việc chạy song song giữa các hệ thốnggiao dịch truyền thống và các workflow điện toán đám mây [3].
Các mô hình workflow được trừu tượng hóa cho thấy hầu hết các thuộc quan trọngcủa các thực thể tham gia vào một hệ thống quản lý workflow “Task” là khái niệm trungtâm trong một mô hình workflow; một task là một đơn vị công việc được thực hiện trênđám mây và nó được đặc trưng bởi một số thuộc tính, như
• Tên – một chuỗi duy nhất định danh task
• Mô tả - mô tả task
• Các hành động – một hành động là một điều chỉnh của một môi trường gây ra bởiviệc thực hiện của task
• Các điều kiện tiên quyết – các biểu thức boolean phải là true trước khi thực hiệncác hành động của task có thể xảy ra
• Các đều kiện sau – các biểu thức boolean phải là true sau khi các hành động củatask thực hiện
• Các thuộc tính – cung cấp các chỉ dẫn của loại và số lượng của các nguồn tàinguyên cần thiết cho việc thực thi task, các tác nhân chịu trách nhiệm về các task,các yêu cầu bảo mật, cho dù task có phục hồi hay không, và những tính chất kháccủa task
• Các ngoại lệ - cung cấp thông tin về làm thế nào để xử lý các sự kiện bất thường.Các trường hợp ngoại lệ được hỗ trợ bởi một task bao gồm các cặp <event,action> Các trường hợp ngoại lệ bao gồm task trong danh sách ngoại lệ được gọi
là các trường hợp ngoại lệ dự kiến, trái ngược với trường hợp ngoại lệ bất ngờ.Các sự kiện không có trong danh sách ngoại lệ được kích hoạt quy hoạch lại Quyhoạch lại có nghĩa là chuyển dịch cơ cấu của một quá trình, xác định lại mối quan
hệ giữa các task khác nhau
Một nhiệm vụ tổng hợp là một cấu trúc mô tả một tập hợp của các task và thứ tự thựchiện của việc thực thi Một nhiệm vụ sơ khai là một nhiệm vụ không thể phân tách thànhnhững task đơn giản hơn Một task tổng hợp kế thừa một số đặc tính từ các workflow; nóbao gồm các task, có một ký hiệu bắt đầu, và có thể là một vài biểu tượng kết thúc Đồng
Trang 12thời, một nhiệm vụ tổng hợp kế thừa từ một vài thuộc tính của các task; nó có tên, điềukiện tiên quyết, và các điều kiện thực thi.
Một task định tuyến là một task có mục đích đặt biện kết nối hai nhiệm vụ trong một
mô tả workflow Task vừa hoàn thành được gọi là nhiệm vụ tiền nhiệm, một trong sốnhững task tiếp theo được bắt đầu thực hiện thì được gọp là task kế tiếp Một task địnhtuyến có thể kích hoạt thực hiện tuần tự, đồng thời, hoặc lặp đi lặp lại Một số loại củacác task định tuyến hiện có:
• Một task định tuyến ngã ba gây ra thực hiện một số task kế tiếp Một số ngữ nghĩacho việc xây dựng này có thể xảy ra:
o Tất cả các nhiệm vụ kế được kích hoạt;
o Mỗi task kế tiếp được liên kết với một điều kiện; các điều kiện cho tất cảcác task được đánh giá và chỉ có một task với điều kiện thỏa được kíchhoạt;
o Mỗi task kế tiếp được liên kết với một điều kiện; các điều kiện cho tất cảcác task được đánh giá nhưng, các điều kiện phải loại từ lẫn nhau và chỉ cómột điều kiện có thể đúng, do đó, chỉ có task được kích hoạt;
o Không xác định, k vượt quá n > k người tiếp theo được chọn một cách ngẫu
nhiên để được kích hoạt
• Một task định tuyến tham gia chờ đợi cho để hoàn thành các task tuyền nhiệm của
nó Có một số ngữ nghĩa cho nhiệm vụ định tuyến tham gia:
o Sự kế thừa được kích hoạt sau tất cả những task tiền nhiệm kết thúc;
o Sự kế thừa thì được kích hoạt sau k trong khoản n > k tiền nhiệm cuối; và
o lặp đi lặp lại – các nhiệm vụ giữa ngã ba và việc tham gia được thực hiệnnhiều lần lặp đi lặp lại
Một mô quá quá trình, còn được gọi là một sơ đồ workflow, là một cấu trúc mô tả cáctask hoặc các hoạt động để thực hiện và trình tự thực hiện; một mô tả quá trình chứa mộtbiểu tượng bắt đầu và một biểu tượng kết thúc Một mô tả quá trình có thể được cung cấptrong một ngôn ngữ định nghĩa workflow (WFDL), hỗ trợ xây dựng cho việc lựa chọn,thực hiện đồng thời, ngã ba cổ điển, tham gia việc xây dựng, và thực hiện lặp đi lặp lại
Rõ ràng, một môt tả workflow giống như một sơ đồ, một khái niệm đã quen thuộc vớidân lập trình