組合服務(wù)的呈現(xiàn)延遲和狀態(tài)計(jì)算的制作方法
【專利說明】組合服務(wù)的呈現(xiàn)延遲和狀態(tài)計(jì)算
[0001] 相關(guān)申請案交叉申請
[0002] 本發(fā)明要求2013年6月28日由LiLi等人遞交的發(fā)明名稱為"基于定時(shí)與或 樹的組合服務(wù)的呈現(xiàn)延遲和狀態(tài)計(jì)算(PresenceDelayandStateComputationfor CompositeServicesBasedOnTimedAND-ORTree)"的第61/840, 673 號美國臨時(shí)專利申 請案的在先申請優(yōu)先權(quán),該在先申請的全部內(nèi)容以引入的方式并入本文本中。
[0003] 關(guān)于由聯(lián)邦政府贊助研究或開發(fā)的聲明
[0004] 不適用。
[0005] 參考縮微膠片附錄
[0006] 不適用。
【背景技術(shù)】
[0007] 服務(wù)組合可以是將原子服務(wù)合并為一個(gè)新服務(wù)的流程。服務(wù)組合可以形成面向 服務(wù)架構(gòu)(Service-OrientedArchitecture,S0A)的基礎(chǔ)以重用網(wǎng)絡(luò)計(jì)算機(jī)上的機(jī)器和 資源。在S0A中,每種服務(wù)可以從協(xié)議和功能方面提供一組定義功能和/或明確定義的接 口。每種服務(wù)可以通過網(wǎng)絡(luò)訪問并且共同提供較大軟件應(yīng)用的完整功能。已經(jīng)為S0A提 出了許多服務(wù)組合語言和系統(tǒng),例如Web服務(wù)業(yè)務(wù)流程執(zhí)行語言(WebServicesBusiness ProcessExecutionLanguage,WS_BPEL)、針對人的WS-BPEL擴(kuò)展(WS-BPELExtensionFor People,BPEL4People)、Web服務(wù)編排(WebServiceChoreography,WS-Choreography)、 用于表征狀態(tài)轉(zhuǎn)移的業(yè)務(wù)流程執(zhí)行語言(BusinessProcessExecutionLanguagefor RepresentationalStateTransfer,BPELforREST)、YahooPipes以及超鏈接管道。
[0008] 確定每種服務(wù)中呈現(xiàn)狀態(tài)和呈現(xiàn)延遲的準(zhǔn)確估計(jì)值在利用S0A的實(shí)時(shí)通信系統(tǒng) 中非常具有挑戰(zhàn)性,這些服務(wù)組成最終應(yīng)用,使得服務(wù)可以合作并且作為服務(wù)組合執(zhí)行。在 S0A系統(tǒng)中,每種原子服務(wù)的呈現(xiàn)狀態(tài)可以是離散的并且在組合服務(wù)中可以不合并或比較。 原子服務(wù)可以利用不同的呈現(xiàn)系統(tǒng)和/或可以遵循不同的呈現(xiàn)標(biāo)準(zhǔn)。呈現(xiàn)狀態(tài)還可以隨系 統(tǒng)不同而進(jìn)行不同地定義。例如,兩個(gè)呈現(xiàn)系統(tǒng)可以使用不同含義的相同狀態(tài)或者相同含 義的不同狀態(tài)。將組合服務(wù)的呈現(xiàn)信息有效確定為一個(gè)完整實(shí)體和/或提供關(guān)于服務(wù)可用 性的準(zhǔn)確定時(shí)信息可以允許實(shí)時(shí)應(yīng)用使用組合服務(wù)。
【發(fā)明內(nèi)容】
[0009] 在一項(xiàng)實(shí)施例中,一種呈現(xiàn)計(jì)算方法,包括:接收對組合服務(wù)的第一呈現(xiàn)訂閱請 求,所述組合服務(wù)包括節(jié)點(diǎn)處的服務(wù)和一個(gè)或多個(gè)子節(jié)點(diǎn)處的多個(gè)離散服務(wù);響應(yīng)于所述 第一訂閱請求向所述一個(gè)或多個(gè)子節(jié)點(diǎn)發(fā)送第二呈現(xiàn)訂閱請求;響應(yīng)于所述第二訂閱請求 接收來自所述子節(jié)點(diǎn)的一個(gè)或多個(gè)響應(yīng)消息,所述響應(yīng)消息包括所述子節(jié)點(diǎn)對應(yīng)的一組呈 現(xiàn)狀態(tài)轉(zhuǎn)換延遲;使用所述響應(yīng)消息確定所述節(jié)點(diǎn)和所述子節(jié)點(diǎn)之間的一個(gè)或多個(gè)通信延 遲;使用所述一組呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲和所述通信延遲計(jì)算所述組合服務(wù)的呈現(xiàn)狀態(tài)轉(zhuǎn)換延 遲;以及使用所述組合服務(wù)的所述呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲和組合呈現(xiàn)狀態(tài)之間的對應(yīng)關(guān)系確定 所述組合呈現(xiàn)狀態(tài),其中所述組合服務(wù)的所述呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲指示所述節(jié)點(diǎn)從另一呈現(xiàn) 狀態(tài)轉(zhuǎn)換到可用呈現(xiàn)狀態(tài)的時(shí)間量。
[0010] 在另一項(xiàng)實(shí)施例中,一種裝置包括存儲在非瞬時(shí)計(jì)算機(jī)可讀介質(zhì)上的可執(zhí)行指 令,當(dāng)處理器執(zhí)行所述可執(zhí)行指令時(shí),使網(wǎng)絡(luò)設(shè)備執(zhí)行以下操作:接收對組合服務(wù)的訂閱請 求,所述組合服務(wù)包括一個(gè)或多個(gè)離散服務(wù);響應(yīng)于接收所述訂閱請求向一個(gè)或多個(gè)子節(jié) 點(diǎn)發(fā)送訂閱請求;接收來自所述子節(jié)點(diǎn)的一個(gè)或多個(gè)訂閱響應(yīng)消息,所述訂閱響應(yīng)消息包 括所述子節(jié)點(diǎn)的一組呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲;基于所述子節(jié)點(diǎn)的所述一組呈現(xiàn)轉(zhuǎn)換延遲和所述 訂閱響應(yīng)消息的通信延遲計(jì)算呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲;以及發(fā)送第二訂閱響應(yīng)消息,所述第二 訂閱響應(yīng)消息包括所述處理器的所述呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲,其中所述處理器的所述呈現(xiàn)狀態(tài) 轉(zhuǎn)換延遲指示所述處理器從另一呈現(xiàn)狀態(tài)轉(zhuǎn)換到可用呈現(xiàn)狀態(tài)的時(shí)間量。
[0011] 在又一項(xiàng)實(shí)施例中,一種裝置包括:接收器,用于接收來自子樹的呈現(xiàn)事件消息, 其中所述呈現(xiàn)事件消息包括所述子樹的呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲;耦合到存儲設(shè)備和所述接收器 的處理器,其中所述存儲器包括存儲在非瞬時(shí)計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令,使 得所述處理器執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令時(shí),使所述處理器使用所述子樹的所述呈現(xiàn)狀態(tài) 轉(zhuǎn)換延遲計(jì)算所述裝置的呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲;以及耦合到所述處理器的發(fā)射器,其中所述 發(fā)射器用于向父節(jié)點(diǎn)發(fā)送呈現(xiàn)事件消息,所述呈現(xiàn)事件消息包括所述裝置的所述呈現(xiàn)狀態(tài) 轉(zhuǎn)換延遲。
[0012] 結(jié)合附圖和權(quán)利要求書,可從以下的詳細(xì)描述中更清楚地理解這些和其它特征。
【附圖說明】
[0013] 為了更透徹地理解本發(fā)明,現(xiàn)參閱結(jié)合附圖和【具體實(shí)施方式】而描述的以下簡要說 明,其中的相同參考標(biāo)號表不相同部分。
[0014] 圖1是服務(wù)組合流程的一實(shí)施例的示意圖。
[0015] 圖2是網(wǎng)元的一實(shí)施例的示意圖。
[0016] 圖3是定時(shí)與或(TimedAND-0R,ΤΑ0)樹狀系統(tǒng)的一實(shí)施例的示意圖。
[0017] 圖4是服務(wù)調(diào)用模式下呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲定時(shí)的一實(shí)施例的圖。
[0018] 圖5是呈現(xiàn)組合模式下呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲定時(shí)的一實(shí)施例的圖。
[0019] 圖6是呈現(xiàn)訂閱方法的一實(shí)施例的流程圖。
[0020] 圖7是呈現(xiàn)訂閱方法的另一實(shí)施例的流程圖。
[0021] 圖8是呈現(xiàn)事件方法的一實(shí)施例的流程圖。
[0022] 圖9是用于利用ΤΑ0樹的超鏈接管道系統(tǒng)的一實(shí)施例的圖。
[0023] 圖10是用于利用ΤΑ0樹的鏡像呈現(xiàn)系統(tǒng)的一實(shí)施例的圖。
[0024] 圖11是WS-BPEL工作流的一實(shí)施例的圖。
[0025] 圖12是用于利用ΤΑ0樹的分層尋線組系統(tǒng)的一實(shí)施例的圖。
【具體實(shí)施方式】
[0026] 首先應(yīng)理解,盡管下文提供一項(xiàng)或多項(xiàng)實(shí)施例的說明性實(shí)施方案,但所公開的系 統(tǒng)和/或方法可使用任何數(shù)目的技術(shù)來實(shí)施,無論該技術(shù)是當(dāng)前已知還是現(xiàn)有的。本發(fā)明 決不應(yīng)限于下文所說明的說明性實(shí)施方案、附圖和技術(shù),包括本文所說明并描述的示例性 設(shè)計(jì)和實(shí)施方案,而是可在所附權(quán)利要求書的范圍以及其等效物的完整范圍內(nèi)修改。
[0027] 本文公開的是使用ΤΑ0樹計(jì)算組合服務(wù)的呈現(xiàn)延遲和/或呈現(xiàn)狀態(tài)的各種實(shí)施 例。在一項(xiàng)實(shí)施例中,可以對服務(wù)組合流程實(shí)施呈現(xiàn)訂閱覆蓋以將復(fù)雜的服務(wù)組合縮小為 呈現(xiàn)實(shí)體/或服務(wù)的一個(gè)或多個(gè)ΤΑ0樹表示。服務(wù)組合中的離散服務(wù)的呈現(xiàn)狀態(tài)可以映射 為連續(xù)時(shí)域中的預(yù)期呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲,預(yù)期呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲可以用于計(jì)算整個(gè)樹在時(shí) 域中的預(yù)期呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲。整個(gè)樹的呈現(xiàn)狀態(tài)也可以根據(jù)服務(wù)組合中的離散服務(wù)的呈 現(xiàn)狀態(tài)確定。ΤΑ0樹可以增加組合服務(wù)的可用性。
[0028] 組合服務(wù)可以包括多個(gè)原子或離散服務(wù)并且可以用于利用多個(gè)離散服務(wù),這些離 散服務(wù)并不總是可用的和/或可以具有多個(gè)呈現(xiàn)狀態(tài)。術(shù)語"原子服務(wù)"和"離散服務(wù)"可 以互換使用以指代可以獨(dú)立于其它服務(wù)操作的服務(wù)。離散服務(wù)可以指代可以在服務(wù)組合 中利用的服務(wù),但是其自身的組合并不可用于組合流程。因此,離散服務(wù)可以是獨(dú)立的服 務(wù)。向客戶端提供呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲和/或呈現(xiàn)狀態(tài)可以降低使用組合服務(wù)時(shí)的不確定 性。組合服務(wù)可以用于在沒有實(shí)質(zhì)性變化的情況下實(shí)施離散服務(wù)的常規(guī)規(guī)則。不同呈現(xiàn)系 統(tǒng)的呈現(xiàn)狀態(tài)可以在沒有對每個(gè)呈現(xiàn)狀態(tài)進(jìn)行人工轉(zhuǎn)換的情況下在時(shí)域中集成。所公開的 實(shí)施例可以用于使用含較小擴(kuò)展的常規(guī)呈現(xiàn)訂閱和/或呈現(xiàn)通知消息傳輸呈現(xiàn)狀態(tài)轉(zhuǎn)換 延遲,并且可以在組合服務(wù)變?yōu)榭捎脮r(shí)通知客戶端。例如,可以通過對當(dāng)前的會(huì)話發(fā)起協(xié)議 (SessionInitiationProtocol,SIP)、可擴(kuò)展的信息和呈現(xiàn)協(xié)議(ExtensibleMessaging andPresenceProtocol,XMPP)和/或其它呈現(xiàn)協(xié)議進(jìn)行擴(kuò)展來實(shí)施一個(gè)或多個(gè)實(shí)施例。 因此,可以利用組合服務(wù)實(shí)施ΤΑ0樹來減少網(wǎng)絡(luò)流量。
[0029] 圖1是利用ΤΑ0樹覆蓋120的服務(wù)組合流程100的示意圖。服務(wù)組合流程100可 以用于使用ΤΑ0樹覆蓋120將一個(gè)或多個(gè)離散服務(wù)呈現(xiàn)狀態(tài)110轉(zhuǎn)變?yōu)橐粋€(gè)或多個(gè)樹呈現(xiàn) 狀態(tài)130。呈現(xiàn)狀態(tài)可以指示一個(gè)資源與其它資源通信的能力和/或意愿。資源可以包括 網(wǎng)絡(luò)機(jī)、計(jì)算機(jī)、客戶端、服務(wù)器、網(wǎng)絡(luò)瀏覽器、網(wǎng)站、尋線組、平板電腦、移動(dòng)設(shè)備、手機(jī),或 者本領(lǐng)域普通技術(shù)人員在閱讀本發(fā)明時(shí)認(rèn)識到的任何其它合適的用于運(yùn)行一個(gè)或多個(gè)離 散服務(wù)流程的網(wǎng)絡(luò)資源。呈現(xiàn)狀態(tài)可以包括但不限于:忙碌狀態(tài)、會(huì)議狀態(tài)、離開狀態(tài)、空閑 狀態(tài)、非活動(dòng)狀態(tài)、活動(dòng)狀態(tài),以及可用狀態(tài)。樹呈現(xiàn)狀態(tài)可以從多個(gè)離散服務(wù)的多個(gè)呈現(xiàn) 狀態(tài)的組合中得到。樹呈現(xiàn)狀態(tài)可以是組合服務(wù)的組合呈現(xiàn)狀態(tài)。組合服務(wù)可以是包括多 個(gè)離散服務(wù)的服務(wù)。
[0030] ΤΑ0樹覆蓋120可以在一個(gè)或多個(gè)服務(wù)器(例如,計(jì)算機(jī)服務(wù)器)和/或客戶端 (例如,網(wǎng)絡(luò)瀏覽器)上實(shí)施。在一項(xiàng)實(shí)施例中,ΤΑ0樹覆蓋120可以大體上在服務(wù)器或客 戶端上實(shí)施。或者,ΤΑ0樹覆蓋120的至少一部分可以在服務(wù)器中實(shí)施,ΤΑ0樹覆蓋120的 至少一部分可以在客戶端中實(shí)施。ΤΑ0樹覆蓋120可以覆蓋在服務(wù)組合流程100之上或者 并入服務(wù)組合流程100內(nèi)。ΤΑ0樹覆蓋120可以用于將一個(gè)或多個(gè)離散呈現(xiàn)狀態(tài)映射到時(shí) 間呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲并且基于離散呈現(xiàn)狀態(tài)和/或時(shí)間呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲輸出組合呈現(xiàn) 狀態(tài)。ΤΑ0樹覆蓋120可以用于從服務(wù)組合流程100中的一個(gè)或多個(gè)離散服務(wù)接收和/或 獲取呈現(xiàn)信息(例如,呈現(xiàn)狀態(tài)和/或呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲)。
[0031] ΤΑ0樹覆蓋120可以用于基于一個(gè)或多個(gè)離散服務(wù)的呈現(xiàn)狀態(tài)110為一個(gè)或多個(gè) 離散服務(wù)計(jì)算呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲121、基于離散服務(wù)的呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲121計(jì)算樹呈現(xiàn) 狀態(tài)轉(zhuǎn)換延遲122、基于樹呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲122計(jì)算樹呈現(xiàn)狀態(tài)123,以及呈現(xiàn)服務(wù)組合 流程100的樹呈現(xiàn)狀態(tài)130。呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲121可以指示離散服務(wù)從第一狀態(tài)(例如, 忙碌狀態(tài))轉(zhuǎn)換為第二狀態(tài)(例如,就緒狀態(tài))的時(shí)間量,其中離散服務(wù)可以用于與其它服 務(wù)通信。計(jì)算呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲121可以包括將離散服務(wù)的呈現(xiàn)狀態(tài)轉(zhuǎn)變?yōu)闀r(shí)間或時(shí)延單 元。在一項(xiàng)實(shí)施例中,每個(gè)離散服務(wù)可以負(fù)責(zé)將其呈現(xiàn)狀態(tài)轉(zhuǎn)變?yōu)槌尸F(xiàn)狀態(tài)轉(zhuǎn)換延遲。離散 服務(wù)可以實(shí)施一個(gè)或多個(gè)原子流程以將其呈現(xiàn)狀態(tài)轉(zhuǎn)變?yōu)槌尸F(xiàn)狀態(tài)轉(zhuǎn)換延遲。樹呈現(xiàn)狀態(tài) 轉(zhuǎn)換延遲122可以指示離散服務(wù)聚合從第一狀態(tài)轉(zhuǎn)換為第二狀態(tài)的時(shí)間量。計(jì)算樹呈現(xiàn)狀 態(tài)轉(zhuǎn)換延遲122可以包括使用多個(gè)離散服務(wù)的呈現(xiàn)延遲計(jì)算時(shí)間或時(shí)延。樹呈現(xiàn)狀態(tài)可以 指示組合服務(wù)的組合呈現(xiàn)狀態(tài)。計(jì)算樹呈現(xiàn)狀態(tài)123可以包括將樹呈現(xiàn)狀態(tài)轉(zhuǎn)換延遲122 轉(zhuǎn)變?yōu)榻M合服務(wù)的呈現(xiàn)狀態(tài)。
[0032] 圖2是可以