• 沒有找到結果。

服務關聯性導向的服務品質計算與網路服務組合

N/A
N/A
Protected

Academic year: 2021

Share "服務關聯性導向的服務品質計算與網路服務組合"

Copied!
12
0
0

加載中.... (立即查看全文)

全文

(1)

服務關聯性導向的服務品質計算與網路服務組合

沈惟嘉

凌網科技

[email protected]

吳秀陽、馬啟銘

國立東華大學資訊工程學系

[email protected]

摘要

本文提出以服務關聯性為導向的服務品質計 算機制,作為在網路服務組合執行時,動態選擇網 路服務的依據;首先使用圖形理論來表述與分析服 務之間的關聯性,並以極大獨立集合成功的解決服 務關聯性而造成的衝突;針對選擇最適當的網路服 務部分,設計了最多關聯性、最大覆蓋、最多折扣 及最大服務品質等關聯性選擇策略。考量工作流互 斥與平行的執行對於服務組合所造成的影響,在工 作流互斥執行部分,設計權重計算方式來評估各元 件被執行之可能性以輔助服務品質計算;在工作流 平行執行部分,採用漸進最佳化的方法來改善服務 品質。實驗顯示,考量服務關聯性的服務品質計算 機制可以更精準挑選出適合的網路服務,對於以網 路服務為主之跨企業電子商務系統,提供更堅實的 理論基礎與應用的實務價值。 關鍵詞:網路服務、網路服務組合、工作流、服務 品質、服務關聯性

一、前言

網路服務(Web Services)的應用對於以網際網 路為基礎的電子商務系統已經是一門成熟的技 術,當單一的網路服務無法滿足複雜的資訊系統需 求時,組合現有的網路服務成為一個全新且功能更 強 的 組 合 稱 為 網 路 服 務 組 合 (Web services composition)。網路服務組合的出現為企業的電子 商務帶來了新的應用思維,現階段的研究採用了工 作流(workflow) 來表示網路服務組合的流程,並利 用服務品質(QoS, Quality of Service) 計算,經由評 量挑選出最適合使用者喜好的網路服務。 結合網路服務與工作流自動化是跨企業電子 商務系統在建置過程中非常重要的選項,加入以服 務關聯性為基礎的服務品質計算,在挑選網路服務 時可以更符合電子商務環境的實際需求。但現階段 網路服務挑選只考慮到單一網路服務的服務品質 計算,並未考量到服務關聯性而影響到整體的服務 品質計算,因此產生了研究的動機,提出以服務關 聯性為導向作為服務品質計算的依據;首先探討服 務與服務之間的關聯性,說明因工作流的特性所造 成的影響,對於活動控制圖(AC-Diagram)[1]的每個 元件加入權重的設計,用以評估每個網路服務被執 行的可能性,並設計了四種挑選服務關聯性的策 略,最後以漸進式最佳化的方式找到全域最佳化的 解。 為達成上述目標,本文將分以下步驟來進行, 包括:1、使用活動控制圖作為網路服務組合的塑 模工具;2、進一步分析活動控制圖的語意特性以 計算網路服務組合裡各元件在服務品質上的權 重;3、設計服務品質模型;4、明確的定義服務關 聯性的服務品質計算;5、.探討因服務關聯性產生 可能的衝突,設計不同特性之關聯性挑選策略及以 服務關聯性為基礎之網路服務組合;6、針對工作 流的平行執行特性採用漸進最佳化方法達到全域 最佳化的目標;7、系統實作與效能評估。

二、相關研究

在網路服務組合研究上,目前所面臨的最大的 問題是如何在動態連接的階段由眾多功能相近的 網路服務中挑選出最適合使用者的元件,常見的研 究是利用服務品質作為挑選網路服務的依據; Liu[2]利用,例如:服務的價值、執行的時間、使用 者評價、可靠性等功能性質當作品質標準(Quality Criteria)來評估一個網路服務的服務品質,再依據 使用者對於品質標準的喜好給予權重,重新計算出 網路服務上的服務品質分數,作為動態連接時網路 服務元件的選擇依據,但以上的作法未考量服務關 聯性而影響到整體服務品質的計算;Zang[3]提出 了區域與全域服務品質最佳化的觀念,Zang 利用 整數線性規劃(Integer Linear Programming)找出最 適合的網路服務組合元件,Canfora[5]則使用基因 演算法(Genetic Algorithm)來挑選網路服務,但是 也未加以討論服務之間的影響。 觀察現實生活,當網路服務成長為一種商業行 為時,會因為策略聯盟而使得兩個不同的網路服務 必須同時使用,服務之間的相互影響就產生了,進 而影響到整體的服務品質計算,以上的現象命名為 服務關聯性(Service dependency);以現實生活為 例,當某些商品合在一起購買時商家才提供折扣, 部分的消費者會因為考量到折扣而增加購買的商 品;同樣的道理,當兩個以上的網路服務同時北使 用時,彼此間產生影響,應該將關聯性所帶來的影 響列入網路服務選擇的考慮因素中。

(2)

工作流(Workflow)是目前最常被使用在網路 服 務 組 合 上 的 技 術 , 其 中 WfMC(Workflow Management Coalition)在技術上的發展及規格的制 定[4],Wu[1]在樣板的建立及研究都趨於成熟,至 於網路服務組合塑模語言,如 BPEL4WS[6] 及 BPML[7]等,Aalst[9]曾對眾多的塑模語言做過詳 細的介紹,並以工作流樣板(Workflow Template)的 角度來比較網路服務組合塑模語言的優劣。 本文採用活動控制圖做為分析與塑模網路服 務組合的基礎,但因為活動控制圖本身並沒有考量 互斥執行造成的影響,也沒有服務品質的計算方 式,所以我們除了分析活動控制圖各種元件的語意 特性及設計出權重計算的方式之外,也定義了一個 完整的服務品質模型來探討服務間的關聯性。

三、活動控制圖塑模網路服務組合

(一) 活動控制圖 完整的活動控制圖必須是一個 bipartite graph 包含一組活動圖件、一組控制圖件和一組關係來表 示活動與控制之間的流程與相互關係。現存的流程 描述工具只有通用的活動圖示,而未提供類似活動 圖件的機制。在工作流的設計上須明確訂出活動的 類別、語意性質,特別是資訊傳輸流向,有助於使 用者的商務流程模式化的過程及系統的自動化分 析和處理。 活動圖件用來描述商務活動,我們採用如圖 3-1 活動圖件,展示的一般活動,讓企業的商務活 動描述更有彈性。 圖 3-1 活動圖件 圖 3-2 控制圖件,顯示的控制圖件可用來描述 各種流程定義中所需要用到的控制結構,完整的表 達了商務活動之間的複雜關係。在完成商務程序之 活動控制圖設計後,商務模式化系統可以依據正規 語意,自動的將活動控制圖轉換成 XML 工作流規 範(XML workflow specification),成為跨企業代理 人交易系統之輸入。交易系統的任務,正是將此一 商務流程在網際網路上順利執行,同時保證流程執 行的交易特性。 圖 3-2 控制圖件 (二) 網路服務組合之塑模 一個工作流程被定義為 ( , , )A C R 1 2 { , ,..., n| , i } Aa a a  A ,i a 代表所有活動圖件的集合。 1 2 { , ,..., m| , i } Cc c c  C ,i c 代表所有控制圖件的集合 {( , , ) | , , } RI c O IA OA c 。C 代表所有關係的集合。 在本文中,我們將網路服務組合視為一個工作 流,所有的活動圖件都視為網路服務呼叫,但是網 路服務組合裡面所呼叫的網路服務是在執行時才 動態決定的,所以須重新定義網路服務組合為 ( , , )T C R ,其中T { , ,..., }t t1 2 tn 是網路服務組合裡需 被執行的任務集合,安排相對應的網路服務來執行 網路服務組合裡的任務,稱之為網路服務組合之執 行計劃,定義 p 為一個網路服務組合的執行計劃: 1 1 2 2 { , , , ,..., n, n } p t s t s  t s , 其中t t1, ,...,2 t 為網路服務組合裡所有的任務n 之集合,且s s1, ,...,2 sn分別為執行任務t t1, ,...,2 t 所n 安排之網路服務,有了執行計劃後便可以將之轉換 為真正的工作流程來執行。 (三) 活動控制圖之權重分析 在工作流程裡面,由於存在互斥性質的元件而 導致每個元件被執行到的機率不同,因此需評估所 有元件被執行到的機率,如此才能判斷不同的元件 會對整體的工作流造成的影響程度,但是活動控制 圖跟傳統工作流語言的差別在於,傳統工作流語言 是一個分支(Split)對應一個結合(Join),而活動控制 圖允許,如圖 3-3. 彈性之分支結合結構,來源相

(3)

同之分支連接至不同的結合的情況發生,所以無法 用機率來判斷元件被執行的可能性,因此我們改以 權重的概念來模擬機率的發生,作法是每個元件都 被分配到一個權重

w

,其中

0

w

,當權重的值越 大代表元件影響整體工作流的程度越大,我們分別 定義

w c

c

( )

w e

e

( )

為元件

c

及連結

e

的權重。 圖 3-3. 彈性之分支結合結構 我們將活動控制圖裡的活動圖件跟控制圖件 分為三大類型來說明,並列出其權重的計算方式, 其中

c

代表圖件本身: 循序(Sequence)類型: 此類型包含了 SEQUENCE、LOOP 及所有的 活動圖件,特徵是只有一個輸入及輸出的連結,其 中

i

代表

c

輸入的連結,

o

代表

c

輸出的連結。 對 SEQUENCE 圖件及其他的活動圖件來說, 因為沒有分支也沒有結合,所以我們定義這類型圖 件輸出的連結之權重及圖件本身之權重都等於輸 入的連結之權重: ( ) ( ) c e w cw i

( ) ( ) e e w ow i

對 LOOP 圖件而言,因為所包含的模組圖件可 能會被執行多次,所以我們根據過去執行的經驗來 得出平均執行其模組圖件的次數,我們為其記錄一 個表格,格式為number times, ,number 代表曾 經發生過的連續執行其模組的次數, times 為連續 執行 number 次模組之次數,我們假設此表格為

NT 且NT{ 1,times1, 2,times2 ,..., n times, n,} n 為目前為止發生過的最多連續執行模組次數,相 關權重計算方式如下: 1 1 ( ) ( ) n i i c e n i i i times w c w i times    

( ) ( ) e e w ow i

我們得出平均模組被執行之次數之後再乘上 輸入連結之權重來成為這個 LOOP 元件之權重,輸 出連結之權重則跟輸入連結之權重一樣。LOOP 元 件本身的權重是所有權重計算中唯一有可能超過 1 的元件。 分支(Split)類型: 此類型包含了 AND、OR、XOR、CHOICE 、 CONDITION、COUNT 及 PRIORITY 等控制圖件, 其中

i

c

輸入的連結,O{ ,o o1 2,..., }on

c

所有 輸出連結之集合。 對 AND 圖件而言,此圖件會對所有的分支平 等對待且平行地執行,所其權重設定為: ( ) ( ) c e w cw i

( ) ( ), e e w ow i  o O

每個輸出分支之權重都等於輸入連結之權重,代表 所有的分支均會被執行。 對 OR 及 XOR 圖件而言,這兩個圖件都會選 擇任一分支往下執行,若所選擇的分支執行失敗, OR 會嘗試執行其他分支,但是 XOR 則不會。對 這兩個圖件的權重設定為: ( ) ( ) c e w cw i

( ) ( ) / , e e w ow i n  o O

因為每個分支被選到的機率是相等的,表示每個分 支被執行的機率為1/ n

對 CHOICE 圖件而言,其元件上只有兩個分 支,分別代表此圖件要求的條件是成立或是失敗而 執行,在此我們利用過去的執行經驗來判斷權重, 首先我們先定義 p 為分支 e 在此網路服務組合中e 到目前為止的成功執行機率: 0  且pe 1 e 1 e O p  

。 相關的權重設定如下: ( ) ( ) c e w cw i ( ) ( ) , e e o w ow i   p o O 用機率來決定權重以符合我們 CHOICE 的語意。 對 CONDITION 圖件而言,只要目前的執行狀 況能夠符合分支的執行條件,分支即可往下執行, 跟 CHOICE 最大的不同是 CONDITION 的分支沒 有互斥的性質。在此也是使用過去的經驗來判斷分 支的權重,首先定義p 為分支 e 目前為止的成功執e 行機率,其中 0  ,其權重的設定為:pe 1 ( ) ( ) c e w cw i

( ) ( ) , e e o w ow i   p o O

因為 CONDITION 元件只要分支的條件成立 即會繼續執行下去,所以我們藉著過去經驗來求出 所有分支各自成功的機率,然後再將輸入連結之權 重乘上成功執行機率來計算分支的權重。 對 COUNT 圖件而言,當執行到此圖件時會任 選 COUNT 指 定 數 目 的 分 支 往 下 執 行 , 假 設 COUNT 指 定執 行的 數目為

m

的話,權重為: ( ) ( ) c e w cw i ,任一分支會被選擇繼續執行的機率 為: 1 1 n m n m C C  ,相關權重計算方式如下:

(4)

1 1 ( ) ( ) nm , n m C e e C w ow i     。o O 為符合了 COUNT 圖件的語意,每個分支的權重都 等於輸入的權重乘上 1 1 n m n m C C  ,。 對 PRIORITY 圖件而言,會根據優先權的高低 來一一執行分支直到有任一分支成功為止,在此也 用過去的執行經驗來判斷權重,首先先定義 p 為e 分支 e 到目前為止使得 PRIORITY 能夠繼續往下 執行的機率,其中 0 pe 1

e 1 e O p  

權重設定的如下: ( ) ( ) c e w cw i

( ) ( ) , e e o w ow i   p o O

如同 CHOICE 一樣,用機率的方式來判斷我們該 如何切割權重。 結合(Join)類型: 此 類 型 包 含 了 AND_JOIN 、 OR_JOIN 、 COUT_JOIN、PRIORITY_JOIN 等控制圖件,其中 1 2 { , ,..., }n Ii i i

c

所有輸入連結之集合, o 為 c 的 輸出連結。 對 AND_JOIN 圖件而言,此圖件必需等到所 有的輸入連結都到達才可以繼續往下執行,其權重 的設定為: 1 2 ( ) min( ( ), ( ),..., ( )) c e n w cw i we i we i , 1 2 ( ) min( ( ), ( ),..., ( )) e e n w ow i we i we i 。 對所有權重取最小值是因為 AND_JOIN 這個圖件 包含了必須等待所有輸入完成的語意,所以我們找 出所有輸入連結權重的最小值,作為 AND_JOIN 的權重以符合圖件的語意。 對 OR_JOIN 圖件而言,此圖件只要有任一輸 入完成,即可繼續往下執行,其權重的設定為: 1 2 ( ) max( ( ), ( ),..., ( )) c e n w cw i we i we i , 1 2 ( ) max( ( ), ( ),..., ( )) e e n w ow i we i we i 。 對所有權重取最大值是因為 OR_JOIN 只要有任一 輸入完成即可往下執行,所以我們取最大值的權重 以符合這個圖件的語意。 對 COUNT_JOIN 圖件而言,此圖件必需等待 至少指定的數目之輸入完成才能繼續往下執行,相 當於是 AND_JOIN 跟 OR_JOIN 的結合,假設 COUNT_JOIN 至少要完成的輸入之數目為

m

的 話,那麼會有 n m C 種組合情況讓 COUNT_JOIN 判斷 執行,對這 n m C 種情況單獨分開來看的話,相當於 是必須等待 m 個輸入的 AND_JOIN,再將這 n m C 種 情況結合起來的話,相當於是一個有 n m C 個輸入的 OR_JOIN , 根 據 上 面 我 們 為 AND_JOIN 跟 OR_JOIN 所 定 義 的 權 重 設 定 , 推 出 對 COUNT_JOIN 的權重設定應該是先對C 種情況mn 各自取最小值之後再取其中之最大值,式子可化簡 為: 1 2 ( ) the m largest of ( ( ), ( ),..., ( )) c e e e n w c  w i w i w i 1 2 ( ) the m largest of ( ( ), ( ),..., ( )) e e e e n w o  w i w i w i 或 1 2 ( ) the (n-m+1) smallest of ( ( ), ( ),..., ( )) c e e e n w c  w i w i w i 1 2 ( ) the (n- m+1)smallest of ( ( ), ( ),..., ( )) e e e e n w o  w i w i w i 因為 n m C 種情況都要取最小值,這時所有權重 中比第 m 個大的權重都會被忽略掉,而 n m C 種情況 裡的最小值之中最大的剛好就是第 m 大的權重,所 以再取最大值的時候就可找出第 m 大的權重。 對 PRIORITY_JOIN 圖 件 而 言 , 因 為 PRIORITY_JOIN 的語意是除了優先權最高的輸入 到達之後才可直接往下執行,其他的則是要等到 PRIORITY_JOIN 本身的等待時間結束後來會根據 優先權由高向低檢查是否有輸入完成,有的話才會 根據成功的輸入連結資料繼續往下執行,不過等待 的性質跟 OR_JOIN 圖件一樣,只要有任一成功的 輸入即可,其權重的設定為: 1 2 ( ) max( ( ), ( ),..., ( )) c e n w cw i we i we i , 1 2 ( ) max( ( ), ( ),..., ( )) e e n w ow i we i we i 。 跟 OR_JOIN 一樣,取所有輸入權重的最大值。

四、服務關聯性模型

用 來 評 估 服 務 品 質 所 使 用 的 品 質 標 準 (quality criteria),分 成基本網路 服務(Elementary Web service) 及 組 合 網 路 服 務 (Composite Web service)兩部分,分別說明服務品質的計算方式。

(一) 基本網路服務之品質標準

我們使用了五個品質標準,分別是:執行價格 (Execution price)、執行時間(Execution duration)、 使用者評價(Reputation)、可靠性分數(Reliability) 及可得性(Availability)分數[10],其定義及計算方式 分述如下: 執行價格: 定義qprice( ,s op 為呼叫網路服務 s 中的 op 功) 能所要支付給服務提供者的費用。 執行時間: 定義qduration( ,s op 為呼叫網路服務 s 中的 op) 功能所需要花費的平均時間,時間的計算是從送出 呼叫訊息開始,到接收到回傳訊息為止的時間,計 算方式如下: 1 ( , ) ( , ) n i i duration T s op q s op n  

(5)

計算出服務 s 中的 op 功能每次呼叫平均花費的時 間,成為服務 s 執行時間之品質條件。 使用者評價: 設定使用者評價的分數是從 1 到 10 的整數分 數,最高評價分數是 10,最低是 1。定義網路服務 s 的使用者評價計算方式如下: 1 ( ) n i i reputation R q s n  

其中 n 為目前為止網路服務 s 被呼叫過的次數,Ri 表示第 i 次的評價。 可靠性分數: 設定分數的範圍從 0 到 10,最高分數是 10 分,最低是 0 分。網路服務

s

的可靠性分數計算方 式定義為: ( ) ( ) c 10 rscore N s q s k   , 其中N 為目前為止網路服務 s 被呼叫過且成功的c 次數, k 表示目前為止被呼叫過的總次數。 可得性分數: 設定分數的範圍從 0 到 10,最高分數是 10 分,最低分數是 0 分。網路服務 s 的可得性分數計 算方式定義為: ( ) ( ) a 10 ascore T s q s   , 其中T 為最近a 秒內網路服務 s 正常回應秒數,其的設定可以隨著網路服務類型的不同以及對 服務要求的不同來調整,例如當網路服務具迅速變 動的特性時,可設為小一點的值,如即時的查詢 服務。 根據上面對所有品質條件的定義,對每個網 路服務 s 及所要呼叫的功能 op 而言,會有一個服 務品質的向量,此向量為 ( ,q s op ,其定義如下:)

( , ) ( price( , ), duration( , ), reputation( ), rscore( ), ascore( ))

q s opq s op q s op q s q s q s (二) 組合網路服務之品質標準 網路服務組合在本文中被視為一個樣板,裡面 並沒有包含網路服務,真正定義的服務品質計算方 式其實是針對網路服務組合的執行計劃,在此先假 設 p 為網路服務組合 wsc 的執行計劃: 1 2 { , n , , n ,... n, n } p t s t s  t s  相同於基本網路服務之服務品質條件,在網路 服務組合中亦區分為執行價格、執行時間、使用者 評價、可靠性分數及可得性分數[10]等五項條件: 執行價格: 定義qprice( )p 為網路服務組合 wsc 之執行計劃 p 的執行價格,並定義計算方式如下: 1 ( ) ( , ( )) ( ) n i price price i i c i q p q s op t w t  

 其中op t 為任務( )i ti所呼叫之功能,算出每個網 路服務各自的價格乘上各自的權重並加總之後 來成為此執行計劃之價格。 執行時間: 定義qduration( )p 為網路服務組合 wsc 之執行計 劃 p 的執行時間,因為執行時間的評估需要考量到 工作流的特性,所以用傳送時間的方式來評估執行 時間。從 START 元件開始,根據不同的元件來傳 送時間給下一個連接的元件直到到達 END 為止, 在 此 定 義 qcptime( )c 為 元 件

c

上 的 傳 送 時 間 、 ( ) eptime q e 為連結 e 往下傳送的時間。 根 據不同元 件的特色 來改變 時間傳送 的方 式,例如 AND_JOIN 需要等待所有的輸入都完成, 所以傳送給下一個元件的時間即是所有輸入工作 流裡最長的時間;而 OR_JOIN 只需要一個輸入完 成即可,但是在此取得是平均值而不是最小值,這 是因為所有的時間都有乘上相對應的權重,如果取 最小值的話,那便有可能取到權重很小但是執行時 間很長的工作流之時間而失去客觀,所以用平均值 來代替最小值;對 COUNT_JOIN 而言,先為 n m C 種 情況各自取最大值,然後再對這 n m C 個最大值再取 平 均 值 來 當 作 COUNT_JOIN 的 傳 送 時 間 , 1 2 { , , n} Cm

mtime mtime mtime 代表我們對 n

m C 種情況各 自取最大值的結果。 此外除了 JOIN 類型的控制元件,其他的控制 元件都沒有等待的性質,所以直接傳送原先輸入的 時間給下一個元件。當執行時間傳送到 END 元件 end 之後,時間傳送便停止。在此定義: ( ) ( ) duration cptime q pq end END 元件上的qcptime即是執行計劃的執行時間。 使用者評價: 定義qreputation( )p 為網路服務組合 wsc 之執行 計劃 p 的使用者評價,並定義計算方式如下: 1 ( ) ( ) ( ) n i reputation reputation i c i q p q s w t  

 跟執行價格一樣,計算出各自的評價分數乘上權重 並加總。 可靠性分數: 定義qsescore( )p 為網路服務組合 wsc 之執行計 劃 p 的可靠性分數,並定義計算方式如下: 1 ( ) ( ) ( ) n i rscore rscore i c i q p q s w t  

(6)

跟執行價格一樣,計算出各自的分數乘上權重並加 總。 可得性分數: 定義qascore( )p 為網路服務組合 wsc 之執行計 劃 p 的可得性分數評價,並定義計算方式如下: 1 ( ) ( ) ( ) n i ascore ascore i c i q p q s w t  

 跟執行價格一樣,計算出各自的分數乘上權重並加 總。 根據網路服務組合上之執行計劃的服務品質條件 之定義,對每個網路服務組合之執行計劃 p 可得出 一個服務品質的向量,此向量為:

( ) ( price( ), duration( ), reputation( ), sescore( ), ascore( ))

q pq p q p q p q p q p 但是在本文中所設計的服務挑選演算法並沒有利 用到網路服務組合之服務品質的計算方法,不過為 了能跟其他方法挑選出來的執行計畫做一個客觀 的比較,所以在此仍要定義出網路服務組合在各個 服務品質之計算方式。 (三)服務品質之服務相關性 根據現實世界的情況,我們發現許多不同種類 不同性質的關聯性,除了影響價格的方式不同之 外,也有的關聯性要求要全部條件都符合,例如指 定的商品都要購買才有折扣,也有的關聯性只需要 部分符合即可,例如四種商品只要任購三種即可發 生關聯性,下面為不同種類之關聯性的介紹: 相同折扣率: 當商品發生關聯性時,所有的商品都會根據相同 的折扣率打折,例如商品 A 跟商品 B 有關聯性, 同時購買符合這個關聯性之時,兩種商品都會有 九折的優惠。 相異折扣率: 當商品發生關聯性時,不同的商品有不同的折扣 率,例如商品 A 跟商品 B 有關聯性,但是商品 A 的折扣率是九折,商品 B 則是八折,兩種商品 的折扣率不同。 根據使用次數的不同折扣率: 當某消費者對同一種關聯性使用次數累加到一 種程度之後,折扣率會改變,例如商品 A 跟商 品 B 有關聯性,一開始的折扣率為九折,但是只 要同一位消費者使用關聯性的次數超過三次以 上之後,從下次開始折扣將會變成八折。 指定價格: 當商品發生關聯性時,所有商品的價格之總和會 被指定為一個較便宜之價格,例如商品 A 的單 價為一百元,商品 B 的單價為兩百元,兩個一起 購買只需兩百五十元。 額外附贈: 當滿足關聯性之時,會直接贈送其他商品或是給 予某種滿足關聯性的證明,下次即可使用此證明 來得到某種優惠,例如同時購買商品 A 及商品 B,可以得到商品 C 的八折優待卷,下次購物時 便可直接使用。也有其他不同情況的例子,例如 商品 D 可以買二送一等。 其他應該還有許多不同情況之關聯性,而且不 止侷限在價格方面的影響,如果兩個不同的服務是 同一家公司所提供的話,那麼一起使用它們便可節 省網路上傳遞的時間,這就是執行時間方面的關聯 性,但是在本文中,現階段只考慮最常見的價格影 響,其他服務品質方面的影響則不列入考慮。 上 面雖然列 舉了不同 影響價 格方式的 關聯 性,不過在本文中只考量相同折扣率以及指定價 格,而且只考量整體性的關聯性,並不考量部分性 質的關聯性,也就是假設所有的關聯性都會要求指 定的網路服務全部都要符合才行。在此定義UD 代 表 相 同 折 扣 率 , FP 代 表 指 定 價 格 , 接 著 定 義 { , } DUD FP 為這兩種關聯性之集合,然後定義服 務關聯性 sd : , , sdS dt d , 1, 1 2, 2 { , ,..., n, n } S  s op s op  s op  。 為發生關聯性 sd 所必需包含的所有網路服務及對 應的功能之集合,dt 為關聯性的種類且 dt ,dD 為關聯性相關的變數,如果 dt UD 的話便代表折 扣率, dtAP的話便代表指定價格。定成定義關 聯性之後,得重新定義具關聯性之價格品質條件的 計 算 方 式 , 當 一 個 關 聯 性 sd S dt d, , 且 1, 1 2, 2 { , ,..., n, n } S  s op s op  s op  發生的條件 成立時,定義qdprice( ,s op 為網路服務)

s

上的功能 op 在發生關聯性情況下之價格,其中當 dt = UD 時:qdprice( ,s op)qprice( ,s op) * ,d s op,  ,當S dt = FP 時:qdprice( ,s op)d n/ ,s op,  。S 藉著重新定義價格品質條件的計算方式,可以 明確地知道當發生關聯性時這些服務的價格該怎 麼根據關聯性的種類來變動,以便在服務挑選期 間,發生關聯性之時可以計算出正確的服務價格。 (四)網路服務組合架構 我們介紹了網路服務組合塑模工具—活動控 制圖,針對活動控制圖的語意特性設計了權重計 算,接著是所設計的服務品質模型以及服務關聯性 模型等,這四個部分的關係如圖 4-1 模型架構圖所 示。 我 們先用活 動控圖設 計網路 服務組合 之樣 板,接著每當有任何使用者要求呼叫這網路服務組 合時,同時這個使用者會給予他對各個服務品質喜 好的權重設定以及喜好之關聯性挑選策略,然後即 時地計算出網路服務組合裡頭每個元件對整體服 務所應具有的權重之後,並根據使用者的喜好以及 使用者所喜好之關聯性挑選策略,利用服務品質的

(7)

計算找出最符合使用者所要求的特性之網路服 務,例如最省錢或是執行速度最快等,最後組合成 一個真正的網路服務組合,將之轉化為活動控制圖 引擎可執行之格式,執行完之後將結果回傳給使用 者。至於相關的服務挑選演算法以及關聯性挑選策 略,將在下一節說明。 圖 4-1 模型架構圖

五、網路服務的選擇

(一) 目標設計與相關假設 我們的方法特色在於提供處理服務關聯性的 機制,考量網路服務組合裡各自網路服務的權重而 且兼顧全域最佳化的議題。以下列出希望達成的目 標及使用的方法: 針對各服務被執行之不等機率而評估出對整體 網路服務組合影響之權重。 透過對活動控制圖的分析,設計出一套權重計算 的方法,每當有使用者要求使用網路服務組合時, 便即時地算出各元件該佔有之權重,再將權重列入 服務品質計算的考量之中。 能夠處理服務關聯性。 為了能夠處理服務關聯性,除了分析及了解關 聯性之間是否會產生衝突之外,另外也設計了四種 關聯性的挑選策略,讓使用者能夠根據自己的喜好 來決定關聯性挑選的方式。 考量全域最佳化的概念。 提出了漸進最佳化的想法,分析有可能產生全 域最佳化議題的平行執行工作流,並找出可改善服 務品質之網路服務來替換。 此外定義一些研究假設假設,以釐清問題的範 圍,以下列出相關的假設: 假設 1、語意相符之網路服務: 假設已經建立了完善的網路服務註冊機制,能 夠準確查詢出所有網路服務組合裡各任務所對應 語意相符之網路服務,供我們的演算法來從中挑 選,本文所提的方法是建立在知識基礎已經建立完 成的假設之上,所以不會發生任何語意不符合的情 況。 假設 2、服務關聯性的註冊機制 假 設已經建 立良好之 服務關 聯性的註 冊機 制,為網路服務組合挑出一群候選的網路服務時, 能夠同時查詢到這些對應至不同任務的網路服務 之間,哪些是有服務關聯性存在及相關的特性或資 料等。 (二) 區域最佳化 區域最佳化顧名思義即是針對各自的任務挑 出一個網路服務,最後整合成網路服務組合,在挑 選的過程中不會考量到其他任務的網路服務;至於 如何從眾多網路服務中挑選出最適合使用者喜好 的網路服務,就要靠服務品質分數之計算。 我們為每個網路服務計算出一個服務品質的 總分,最後挑選出分數最高的網路服務。在本文中 使 用 之 前 介 紹 的 服 務 品 質 模 型 並 假 設 1 2 { , ,..., }n Ss s s 為候選的網路服務集合,q 為網路i 服務

s

i的服務品質向量,將所有網路服務的服務品 質 向 量 建 立 成 一 個 二 維 的 矩 陣 Q 且 , ( i j;1 ,1 5) QQ     ,第 i 列為網路服務i n j si 的服務品質向量,因為只有五個服務品質條件,所 以 j 必須大於等於 1,小於等於 5。並不是每種服 務品質條件都是越大越好或是越小越好,而且不同 的服務品質條件的數字範圍又不相同,所以我們必 須對 Q 做轉向及一般化的動作,使得所有的值都能 介於 0 到 1 之間,且值越大代表越好。 下面是轉向及一般化的公式,假如服務品質 j 是逆向性質,也就是越小越對使用者有利,例如執 行時間,可利用下面的式子為其做轉向及一般化: min , max min , max min 0 i j j i j j j j j Q Q V if Q Q Q Q       , max min , 1 0 i j j j V if QQ  。 完成上述的工作之後會得到一個矩陣 V , , ( i j;1 ,1 5) VV     ,再根據使用者對這五i n j 個服務品質所提供的權重設定 W ,W 代表對第 jj 個服務品質的權重: [0,1] j W 且 5 1 1 j j W  

, 接著使用下面的公式來計算出每個網路服務 的服務品質分數:

(8)

5 , 1 ( )i i j j j Score s V W  

 。 其中Score s 代表網路服務( )i s 的區域服務品i 質分數,當所有網路服務的服務品質分數都計算出 來之後,挑選其最高分來成為這個任務所需之網路 服務。 (三) 服務關聯性衝突 不 同的服務 關聯性在 同一個 網路服務 組合 裡,可以混用也有會產生衝突的情況,在此我們使 用了圖形的概念來解決這個問題,首先將每個關聯 性都當成是圖形裡面的節點,假如兩個關聯性之間 只要有一各自的網路服務是對應到網路服務組合 裡相同的任務且對應到相同任務之兩個網路服務 並不是同一個網路服務的話,那就稱這兩個關聯性 有衝突關係。 為這兩個關聯性的節點加上連結,最後會得到 一個服務關聯性的衝突圖形(Conflict Graph)。只要 找出這個衝突圖形所有的極大獨立集合(Maximal Independent Set),每一個極大獨立集合裡的所有關 聯性便代表可以同時使用在同一個網路服務組合 裡而不會導致有衝突發生,找出衝突圖形請參考表 5-1 極大獨立集合演算法。 表 5-1 極大獨立集合演算法 MIS(G )

M

//M is a set of set of vertex for each vertex vV //V is set of vertex

do IV{ }v

//Adj v[ ] is adjacency-list of vertex v for each uAdj v[ ]

do II{ }u

if I 

then S  { }v // S is a set of vertex

MM{ }S

else for each vertex iI

S  I //

S

is a set of vertex for each uAdj i[ ]

do S  S{ }u S  S{ }v MM{ }S return M (四) 關聯性挑選策略 解決關聯性衝突的問題後,接著便要決定關聯 性挑選的方式,考量執行的效率,我們直接從所有 關聯性極大獨立集合中挑選其一,並全部將關聯性 代入網路服務組合裡面。在此設計了四種挑選策 略,分別介紹如下:

最多關聯性策略(Maximal Dependency Strategy) 從所有極大獨立集合當中,挑選出內含數量最 多的項目,亦即關聯性最多的項目,代表在網路服 務組合之中可能地使用最多的關聯性。

最大覆蓋策略 (Maximal Coverage Strategy) 從所有極大獨立集合當中,挑選出所有關聯性 能夠處理最多網路服務組合裡的任務之項目,如果 能夠處理的任務數量一樣多的話,我們則會選擇關 聯性數量的項目,意即完成最多任務中使用最少關 聯性的項目。

最多折扣策略 (Maximal Discount Strategy) 從所有極大獨立集合當中,挑選出所有關聯性 都使用的情況之下,能節省最多價格之項目。作法 是將所有極大獨立集合裡的關聯性都套用的情況 之下,找出所有關聯性裡的網路服務各自節省下的 價格乘上其對應的任務之權重後並加總。 最大改善服務品質策略 (Maximal Improvement Strategy) 在所有極大獨立集合當中,挑選出所有關聯性 都使用的情況之下,能夠改善區域最佳化最多服務 品質之項目,做法是針對每個極大獨立集合中所有 的關聯性都使用的情況之下,求出其改善區域服務 品質乘上相對應的任務之權重並加總,跟最大節省 策略的作法幾乎一樣,只是從價格上的考量變為所 有服務品質的考量。 當使用關聯性挑選策略選擇出服務關聯性並 對應至網路服務組合後,可能無法兼顧到所有的任 務,因為一個網路服務組合裡所有的任務不太可能 完全被包含在所有的關聯性之下,也就是說扣掉使 用關聯性決定的網路服務,還會有許多網路服務組 合裡頭的任務尚未被決定對應的網路服務,因此採 用區域最佳化來處裡這些尚待挑選的任務,以找出 區域內最適當的網路服務。 (五) 全域最佳化改善服務品質 當使用關聯性選擇策略挑選出所要使用之關 聯性之後,也用區域最佳化來補上其他空著的任務 所對應之網路服務後,還可以再針對 Zeng[3]所提 出因為工作流平行執行而使得區域最佳化無法成 為全域最佳化的問題做改善。 改善的方式根據現實的情況來選擇要不要對 關聯性做過濾,接著對已過濾後的關聯性或是沒過 濾的關聯性做衝突上的判斷,然後根據使用者喜好 的策略來做關聯性的挑選,再來是利用區域最佳化 找到網路服務,以滿足剩餘沒被關聯性包含到的任 務,最後可以選擇要不要針對全域最佳化來做漸進 式的改善。

六、系統實作與效能分析

(9)

(一) 發展環境介紹

我們選擇 Java 程式語言作為系統開發工具, 實 驗 中 採 用 AMPL(A Modeling Language for Mathematical Programming)[9]來實作使用整數線 性規劃之全域最佳化網路服務挑選。AMPL 為數學 問題塑模軟體,可搭配其他 Solver 處理如線性規 劃、整數線性規劃以及其他的排程問題,本研究的 實驗是在 Pentium 4 3.0 GHZ、512MB RAM,作業 系統為 Gentoo Linux 2006 上執行。 (二) 實驗假設 我們使用了圖 6-1.旅遊服務圖所示之旅遊服 務來做實驗,實驗中設計讓每個任務能夠挑選的網 路服務從 5 個成長到 50 個,接著設計訂房和訂機 票服務,以及訂機票與租車服務會產生關聯性,關 聯性數量的期望值為每個任務可挑選之網路服務 數乘上 0.1,且這兩種關聯性都設定為固定折扣, 折扣為八折,除此之外關聯性會固定在區域最佳化 服務品質分數排名前 75%的範圍內發生,藉此模擬 現實世界中有關聯性的情況下。 圖 6-1 旅遊服務圖 (三) 服務品質分數分析比較 首先先比較使用不同策略挑選關聯性及使用 整數線性規劃之全域最佳化和區域最佳化,討論這 幾種方法所找出的網路服務在服務品質上的分數 表現。圖 6-2.QoS 分數比較圖 1,比較結果為四個 關聯性挑選策略在不做過濾但是使用了漸進最佳 化的情況下,其中最多關聯性、最大覆蓋、最多折 扣的表現初期都比整數線性規劃來得好,但是到後 期因為可選擇的網路服務越來越多,所以這三種比 較屬於啟發式的挑選方法表現變得比整數線性規 畫差,而最大改善策略則是一直表現得比所有的策 略以及其他的方法好。 QoS Comparison 0.65 0.7 0.75 0.8 0.85 0.9 5 10 15 20 25 30 35 40 45 50 Service per Task

Q oS S co re Local Optimization Max Dependency Max Coverage Max Discount Max Improvement ILP 圖 6-2. QoS 分數比較圖 1 圖 6-3. QoS 分數比較圖 2,為所有的關聯性加 上了區域最佳化過瀘的動作所得出的結果,本來三 種策略到後期會表現得比整數線性規劃還差,但是 加上過瀘的動作之後,到後期仍然能跟整數線性規 劃表現得差不多,而最大改善策略則是一直表現的 很好,過瀘動作似乎對此策略沒什麼太大的改善。 QoS Comparison 0.65 0.7 0.75 0.8 0.85 0.9 5 10 15 20 25 30 35 40 45 50 Service per Task

Q oS S co re Local Optimization Max Dependency Max Coverage Max Discount Max Improvement ILP 圖 6-3. QoS 分數比較圖 2 (三) 演算法效能評估 此小節將比較演算法的效能,分別比較區域最 佳化、全域最佳化以及本文所提出的方法,實驗環 境延續上一小節的設定,但是每個任務能夠挑選之 網路服務則是從 12 成長到 60。 圖 6-4. 演算法效能比較圖 1,,實驗結果發現 本文提的方法除了能夠挑選服務關聯性之外,效能 的表現上也比使用整數線性規劃之全域最佳化來 得好。另外值得注意的當為四種策略加上過濾的動 作之後,反而會比沒有過濾來得快,那是因為過濾 後關聯性變少了,所以在計算所有極大獨立集合時 省下的時間比過濾的時間還要多,因此效能表現比 較好;另外在四種策略之中,因為最大改善服務品 質的策略要對所有的極大獨立集合做服務品質分 數上詳細的比較,所以跟其他的策略比起來,很明 顯的比較慢。 Performance 0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1000000 12 18 24 30 36 42 48 54 60 Service per Task

E x ec u tio n T im e( n an o se co n d) ILP Local Optimization Max Dependency Max Coverage Max Discount Max Improvement Max Dependency + Filter Max Coverage + Filter Max Discount + Filter Max Improvement + Filter

圖 6-4. 演算法效能比較圖 1 從現實世界的觀點來看,關聯性要發生變動的 頻率不大,每個關聯性都是維持一段時間之後才會 有所改變,所以每次在使用者要求網路服務組合時 才即時地計算極大獨立集合是不適當的,極大獨立 集合的問題應該先被預先處理,當關聯性有變動的 時候才再重新算過。 圖 6-5. 演算法效能比較圖 2,預先處理極大獨 立集合之後的結果,沒有做過濾的關聯性挑選策略 效能非常的好,處理速度非常接近區域最佳化,甚

(10)

至最多關聯性策略還有發生比區域最佳化還快的 情況;可是有過濾動作的關聯性挑選策略卻因為要 即時的過濾,不能預先處理關聯性衝突的問題,所 以在效能的表現上便比沒過濾但有預先處理極大 獨立集合問題的策略差,不過仍然比使用整數線性 規劃的全域最佳化要來得快很多。 Performance 0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1000000 12 18 24 30 36 42 48 54 60 Service per Task

E xe cu tio n T im e( na no se co nd ) ILP Local Optimization Max Dependency Max Coverage Max Discount Max Improvement Max Dependency + Filter Max Coverage + Filter Max Discount + Filter Max Improvement + Filter

圖 6-5. 演算法效能比較圖 2 (四) 關聯性挑選策略分析比較 在 此針對本 文所提出 的四種 關聯性挑 選策 略,用實驗的方式來找出不同的影響之下,何種策 略表現較佳,以及各種參數對關聯性的影響。首先 我們先設計了三個實驗,利用這三個實驗來分析出 各策略的特性。 實驗一:在這個實驗中設定小型的服務關聯性 在價格上之折扣會比大型的服務關聯性來得高,亦 即關聯性所包含之網路服務越多折扣率越差。所有 的服務關聯性會在區域最佳化排名過後之前 75% 的地方發生,用意是在模擬現實世界中有關聯性的 情況大部分都會比沒關聯性來得好。 圖 6-6. 關聯性挑選策略比較圖 1,實驗結果顯 示最多關聯性及最多折扣表現的比最大覆蓋要來 得好,服務品質的分數都比最大覆蓋來得高,由此 可知在小型關聯性折扣較佳以及大部分關聯性都 能比單獨服務好的情境之下,最多關聯性及最多折 扣找出的關聯性會比最大覆蓋好,而最大改善服務 品質之策略永遠都會比其他三個策略來得好。 關聯性挑選策略比較 0.65 0.7 0.75 0.8 0.85 0.9 10 20 30 40 50 60 70 80 90 100 Service per Task

Q o S Sc or e Max Dependency Max Coverage Max Discount Max Improvement 圖 6-6. 關聯性挑選策略比較圖 1 實驗二:在這個實驗中,設定跟上一個實驗相 反的情況,越大型的關聯性折扣會越好,亦即關聯 性包含的網路服務越多,折扣率就越高。 圖 6-7. 關聯性挑選策略比較圖 2,實驗結果顯 示最大覆蓋跟最多折扣表現的比最多關聯性策略 來得好。由此可知在越大型關聯性越有利以及大部 分關聯性都還不錯的情況之下,最大覆蓋跟最多折 扣都會表現得比最多關聯性好,而最大改善服務品 質一直會都有很不錯的表現。 關聯性挑選策略比較 0.65 0.7 0.75 0.8 0.85 0.9 10 20 30 40 50 60 70 80 90 100 Service per Task

Q o S Sc or e Max Dependency Max Coverage Max Discount Max Improvement 圖 6-7. 關聯性挑選策略比較圖 2 實驗三:在此實驗中,固定每個任務對應到的 網路服務各為 100 個且所有的關聯性無論包含多 少網路服務,折扣率都差不多。但是關聯性發生的 範圍會改變,先用區域最佳化排名之後,從原先的 100%一直拉大到前 20%,讓發生關聯性的服務從 可能大部分會比單獨服務差到最後可能大部分的 關聯性會比單獨的服務來的來。 圖 6-8. 關聯性挑選策略比較圖 3,實驗結果一 開始關聯性較差的時候,最大折扣策略表現得比較 差,當隨著關聯性可能會越來越好的時候,最多折 扣的表現跟最多關聯以及最大覆蓋互有輸贏,由此 實驗可知當不能確定關聯是否保證一定會有優勢 的時候,最大折扣策略並不適用。 關聯挑選策略比較 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 100% 92% 84% 76% 68% 60% 52% 44% 36% 28% 20% Occurred Scope of Dependency

Q o S S co re Max Dependency Max Coverage Max Discount Max Improvement 圖 6-8.關聯性挑選策略比較圖 3 (五) 最佳化之正確性測試與效能評估 在此將針對漸進式最佳化做測試,為了能夠更 明確地看出漸進式最佳化的效果,在這個實驗之中 不考慮服務關聯性,只針對區域最佳解的結果做漸 進式最佳化,然後跟區域最佳解以及全域最佳解的 結果來做比較。因為漸進式最佳化是屬於啟發式的 演算法,並不保證一定會是最佳解,所以我們預測

(11)

漸進式最佳化所求出之服務品質的分數應該大於 等於區域最佳解,以及小於等於全域最佳解。 圖 6-9.全域最佳化 QoS 比較圖是服務品質方 面的實驗結果,可以看到大部分的情況漸近式最佳 化都能找出跟全域最佳化同樣的結果,而且範圍也 在我們預測的界於區域最佳化以及全域最佳化的 中間,證明漸進最佳化理論是正確的。 圖 6-10. 全域最佳化效能比較圖,因為我們所 使用的 AMPL 版本有變數數量上的限制,無法處 理超過 300 個變數,所以差不多只能測到每個任務 各 60 個左右的網路服務,而且 AMPL 只能測量到 千分之一秒的單位,在時間測量上不是很準確,所 以測試出來的時間不是很準確而且數據的震盪很 大,但是由實驗中可以觀察到漸近最佳化和區域最 佳化會比整數線性規劃的全域最佳化要來得要有 效率多了。 全域最佳化QoS比較圖 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 20 23 26 29 32 35 38 41 44 47 Service Per Task

Q o S Sc or e Local Optimization Incremental Optimization Global Optimization 圖 6-9. 全域最佳化 QoS 比較圖 全域最佳化效能比較圖 0 100000 200000 300000 400000 500000 600000 700000 800000 20 23 26 29 32 35 38 41 44 47 50 Service per Task

E xe cu tio n T im e (n an o se co n d) Local Optimization Incremental Optimization Global Optimization 圖 6-10.全域最佳化效能比較圖

七、結論與未來展望

本文的研究目標在於探討服務關聯性所引起 之服務品質的改變,並利用服務關聯性帶來的好 處,來幫助挑選適當的網路服務,組合現有的網路 服務成為全新且功能更強的網路服務組合,除此之 外,還要能夠兼顧網路服務組合裡的網路服務被執 行之可能性,因為被執行的可能性不相同會對服務 品質造成不同的影響程度。研究中,利用圖形理論 的極大獨立集合的概念來解決關聯性可能會產生 衝突的情況,提出四種關聯性挑選策略使得網路服 務組合的服務品質能夠更好。針對工作流互斥執行 的可能性,分析了活動控制圖的語意特性,並使用 權重的概念來評估所有基本網路服務對整體服務 品質的影響程度,解決了之前相關研究在這方面的 缺失。在全域最佳化方面,我們也分析了活動控制 圖的特性,找出可能造成全域最佳化比區域最佳化 更好的情況,並使用漸進最佳化的方法來改善服務 品質,使其能夠有效率地逼近全域最佳化的結果, 不使用的暴力法或是效率不佳的整數線性規劃。 經由這一次的研究,發覺到值得進一步研究的 議題,包括:定義更完整的關聯性類型,找尋各種 服務品質相關的關聯性,設計更有效率的極大獨立 集合演算法,並針對特定結構之工作流進行更有效 率之網路服務挑選及建構完善之網路服務架構。

八、參考文獻

[1] Wu, S.-y. and K.-C. Lin, “Cross Enterprise Business Modeling with AC Diagrams and Workflow Patterns.”Proceedings of the Seventh IEEE International Conference on E-Commerce Technology (CEC 2005), pp. 110-117, July 2005.

[2] Liu, Yutu, Anne H. Ngu and Liang Z. Zeng, “QoS Computation and Policing in Dynamic Web ServiceSelection.”Proceedings of the 13th International World Wide Web Conference on Alternate track papers & posters, pp. 66-73,

May 2004.

[3] Zeng, Liangzhao, Boualem Benatallah, Anne H.H. Ngu, Marlon Dumas, Jayant Kalagnanam and Henry Chang,“QoS-Aware Middleware for Web ServicesComposition.”IEEE Transactions on Software Engineering, 30(5):311-327, May

2004.

[4] WfMC(Workflow Management Coalition). http://www.wfmc.org/.

[5] Canfora, Gerardo, Massimiliano Di Penta, Raffaele Esposito and Maria Luisa Villani, “An Approach for QoS-aware Service Composition based on GeneticAlgorithms.”Proceedings of the Conference on Genetic and Evolutionary Computation (GECCO '05), pp. 1069-1075,

2005.

[6] Business Process Execution Language for Web Services.

http://www-128.ibm.com/developerworks/webs ervices/library/specification/ws-bpel/.

[7] BPML.http://bpmi.org/.

[8] Aalst, Wil M.P. van der, Marlon Dumas and Arthur H.M. ter Hofstede, “Web Service Composition Languages: Old Wine in New Bottles?” Proceedings of the 9th Euromicro

(12)

[9] AMPL(A Modeling Language for Mathematical Programming).http://www.ampl.com/.

[10] Benatallah, Boualem, Quan Z. Sheng, and Marlon Dumas,“TheSelf-Serv Environment for Web Services Composition.” IEEE Internet

數據

圖 6-4. 演算法效能比較圖 1 從現實世界的觀點來看,關聯性要發生變動的 頻率不大,每個關聯性都是維持一段時間之後才會 有所改變,所以每次在使用者要求網路服務組合時 才即時地計算極大獨立集合是不適當的,極大獨立 集合的問題應該先被預先處理,當關聯性有變動的 時候才再重新算過。 圖 6-5
圖 6-5. 演算法效能比較圖 2 (四) 關聯性挑選策略分析比較 在 此針對本 文所提出 的四種 關聯性挑 選策 略,用實驗的方式來找出不同的影響之下,何種策 略表現較佳,以及各種參數對關聯性的影響。首先 我們先設計了三個實驗,利用這三個實驗來分析出 各策略的特性。 實驗一:在這個實驗中設定小型的服務關聯性 在價格上之折扣會比大型的服務關聯性來得高,亦 即關聯性所包含之網路服務越多折扣率越差。所有 的服務關聯性會在區域最佳化排名過後之前 75% 的地方發生,用意是在模擬現實世界中有關聯性的 情況大部分都會

參考文獻

相關文件

1-1-2 結合外 展、據點人 力,強化機動 性、便利性服 務優勢,提供 各項在地求職 求才服務。..

 為了更進一步的提升與改善本校資訊管理系 的服務品質,我們以統計量化的方式,建立

Wikipedia – Customer Service http://en.wikipedia.org/wiki/Customer_service Institute of Customer Service http://www.instituteofcustomerservice.com/. The Customer Service Zone

本彙集輯錄了多篇學校經驗分享的文章,闡述「管理與組織」範疇的各項全校 參與訓育及輔導工作模式的重點,請參閱教統局網頁,索引: 本局向學生及家 長提供的服務 >

在選擇合 適的策略 解決 數學問題 時,能與 別人溝通 、磋商及 作出 協調(例 如在解決 幾何問題 時在演繹 法或 分析法之 間進行選 擇,以及 與小組成 員商 討統計研

為了解民眾對本機關各項 為民措施及服務人員的評 價,委外辦理「整體服務 品質滿意度調查」 ,針對洽 公民眾、受訓學員、轄區

‡ Verio 提供網站代管公司完整的軟體、運算 與網路資源,也提供網路零售業者開發電子 商務及網站代管的服務 V i 也提供小型 商務及網站代管的服務。

在選擇合 適的策略 解決 數學問題 時,能與 別人溝通 、磋商及 作出 協調(例 如在解決 幾何問題 時在演繹 法或 分析法之 間進行選 擇,以及 與小組成 員商 討統計研