專利名稱:使用觸發(fā)表達式的網(wǎng)絡節(jié)點優(yōu)化的制作方法
技術領域:
本發(fā)明涉及用于在通信網(wǎng)絡中提供服務的方法,其中服務包括評 估包括表達式的請求,表達式是多個元素的函數(shù)(例如,布爾函數(shù)), 每個元素涉及源于通信網(wǎng)絡中可用的一個或多個上下文源的數(shù)據(jù)。另 一方面,本發(fā)明涉及用于通信網(wǎng)絡的服務節(jié)點。
背景技術:
目前,在上下文源提供信息到通信網(wǎng)絡中的請求者時,這通過基 于事件觸發(fā)或基于請求的機制完成。 一些服務要求評估一個或多個上 下文源的值的表達式。每次評估要詢問上下文源。這可在服務節(jié)點與 該上下文源或這些上下文源之間造成不可接受的通信量。
發(fā)明內容
本發(fā)明致力于為提供涉及多個上下文源的服務的通信網(wǎng)絡提供網(wǎng) 絡性能改進。
根據(jù)本發(fā)明,提供了根據(jù)上面定義的前序的方法,其中, 一個或 多個上下文源的每個源使用基于請求的機制或基于事件觸發(fā)的機制 來更新其相關聯(lián)數(shù)據(jù),方法包括詢問多個元素的一個選定元素,如果
選定元素評估為假(false),則將選定元素切換到觸發(fā)模式,并且如果 選定元素評估為真(true),則繼續(xù)詢問多個元素中的又一元素。這樣, 通過只在表達式的元素之一被評估為真時進一步評估表達式而可更 有效地使用網(wǎng)絡資源。
在又一實施例中,方法還包括基于上下文源的表達式和權重確定 上下文源的階數(shù)(order),上下文源的權重是所使用網(wǎng)絡資源的函數(shù) 和用于向一個或多個上下文源評估表達式的幣值,并且其中選定元素是最低階上下文源,并且多個元素的又一元素是下一最低階上下文 源。通過先處理最低權重上下文源,以最低的總成本執(zhí)行表達式的評 估。
在又一實施例中,表達式是布爾函數(shù),來自每個上下文源的數(shù)據(jù) 為真或假。這允許服務快速估計表達式。在備選實施例中,來自上下 文源的數(shù)據(jù)是數(shù)值,并且表達式包括上下文源的值的函數(shù)。此函數(shù)例
如包括數(shù)值與預定范圍(源E介于2與6之間,大于4等的值)的比
較。這允許更輕松地與上下文源接口,因為上下文源可能已經在網(wǎng)絡 中存在或可用,但只提供數(shù)值。
函數(shù)在又一實施例中可包括一個或多個上下文源的值的數(shù)學運算 評估。數(shù)學運算可以是簡單的加法,但也可允許更復雜的數(shù)學函數(shù)。 涉及兩個或更多個上下文源的數(shù)據(jù)值的數(shù)學運算評估可涉及根據(jù)實 際值和數(shù)學運算來設置觸發(fā)閾值。
在又一實施例中,來自每個上下文源的數(shù)據(jù)可也具有未知值。方 法可還配置為處理上下文源返回的未知值,例如,根據(jù)評估的表達式 種類(例如,布爾"與,,或"或,,函數(shù))。在甚至又一實施例中,方 法還包括在值未知時為相應上下文源值使用最新獲得的值。在兩個實 施例中,與服務有關的效率(例如,網(wǎng)絡資源的使用和貨幣成本)得 到進一步的改進。
在又一實施例中,多個上下文源中每個源的數(shù)據(jù)存儲在服務可直 接訪問的相關聯(lián)代理服務器中。代理服務器或代理的使用可便于使數(shù) 據(jù)可用于網(wǎng)絡中的應用,并且對這些數(shù)據(jù)提供更快的訪問。
在甚至又一實施例中,子表達式由多個父表達式^f吏用,并且在相 關聯(lián)請求被同時接收時,用于評估子表達式的權重在多個父表達式之 間共享。這提供了為網(wǎng)絡中的服務改進效率的又一機會。
另 一方面,本發(fā)明涉及用于在通信網(wǎng)絡中提供服務的通信網(wǎng)絡的 服務節(jié)點,其中,服務節(jié)點配置為接收和評估請求,請求包括作為多 個元素函數(shù)的表達式,每個元素涉及源于一個或多個上下文源的數(shù)
6據(jù),服務節(jié)點在操作中可連接到一個或多個上下文源,其中,服務節(jié) 點還配置為執(zhí)行如本發(fā)明任何實施例所述的方法。為此,服務節(jié)點可 進一步包括用于評估表達式的規(guī)則解釋器。此外,服務節(jié)點可還包括 用于與一個或多個上下文源接口的上下文信息收集器。在甚至又一實 施例中,上下文信息收集器可包括用于一個或多個上下文源中每個上
在上下文源根據(jù)基于請求的機制操作時,上下文源從服務節(jié)點接收其 值的請求,并且將向服務節(jié)點回復當前值。在上下文源根據(jù)基于觸發(fā) 的機制操作時,上下文源從服務節(jié)點接收事件請求。每次上下文源的 值更改時,上下文源將事件和當前值發(fā)送到服務節(jié)點。服務節(jié)點(或 相關聯(lián)的上下文源代理)存儲來自上下文的最新接收值,并且來自服 務的上下文源值的任何請求將不會產生到上下文源的請求,而是將存 儲的最新值提供到服務。
一起借助于本發(fā)明中所述的優(yōu)化,取決于不同上下文源的服務的 所需資源將降到最低而不會在等待時間和成本方面損害所需性能。
下面將使用多個示范實施例,參照附圖更詳細地論述本發(fā)明,其
圖1示出允許表達式評估的網(wǎng)絡示意圖2示出實現(xiàn)本發(fā)明實施例的網(wǎng)絡示意圖3示出其中根據(jù)本發(fā)明實施例執(zhí)行表達式評估的網(wǎng)絡示意圖4示出表達式評估的改進前實現(xiàn)的順序圖5示出根據(jù)本發(fā)明實施例的表達式評估實現(xiàn)的順序圖6示出根據(jù)本發(fā)明又一實施例的表達式評估實現(xiàn)的順序圖7示出根據(jù)本發(fā)明又一實施例的表達式評估實現(xiàn)的順序圖8示出其中一個表達式由多個父表達式共享的網(wǎng)絡示意圖9示出根據(jù)本發(fā)明又一實施例的表達式評估實現(xiàn)的順序圖;以及
圖10示出根據(jù)其中應用共享的本發(fā)明又一實施例的表達式評估 實現(xiàn)的順序圖;以及
圖11示出使用本發(fā)明實施例在通信網(wǎng)絡中又一可能方案的示意圖。
具體實施例方式
本發(fā)明可在諸如蜂窩電信網(wǎng)絡等任何類型的通信網(wǎng)絡結構中應用 和實現(xiàn)。下面描述的各種方法實施例可在現(xiàn)有網(wǎng)絡硬件組件之一中或 在根據(jù)需要與網(wǎng)絡1中其它節(jié)點和/或組件接口的單獨服務節(jié)點中實 現(xiàn)。
本發(fā)明的基本概念在圖1所示的網(wǎng)絡結構表示中示出。此處只示 出了理解本發(fā)明所需的元素。服務或應用可使用網(wǎng)絡1獲得取決于多 個元素的表達式A的評估。實際上下文源B、 D和E(提供有關上下 文信息的數(shù)據(jù))可位于網(wǎng)絡1外,但能夠與網(wǎng)絡l通信。例如,網(wǎng)絡 1可包括提供在網(wǎng)絡1中上下文源信息的上下文源代理(或上下文源 代理服務器)B'、 D'和E'。
在上下文源B、 D和E之間存在某種關系式或表達式A和C,視 來自它們的數(shù)據(jù)而定,圖l所示的網(wǎng)絡l可表示任何種類服務。來自 應用或服務的請求取決于表達式A的評估。在圖l所示的情況中,表 達式A取決于兩個元素,即,另一表達式C (中間表達式)和上下文 源B的值。如圖l所示,表達式C取決于上下文源D、 E的值。
在本發(fā)明的實施例中,也可使用其它表達式。雖然上面所示的表 達式A包括又一表達式(表達式C ),但也可設想不存在中間表達式, 即,要評估的表達式A直接取決于來自一個或多個上下文源B、 D、 E的信息(數(shù)據(jù))。此外,在實現(xiàn)某些網(wǎng)絡服務時,更復雜的表達式 可能是必需的,例如,包括多個中間表達式。
圖2示出了電信網(wǎng)絡中本發(fā)明的一種可能實現(xiàn)。同樣地,上下文源B、 D和E示為位于網(wǎng)絡1外。請求者ll (例如,在用戶操作的移 動電話中執(zhí)行的應用)可發(fā)送請求到服務節(jié)點10,該服務節(jié)點10可 以是網(wǎng)絡1的一部分,或者如圖2所示,連接到網(wǎng)絡1。服務節(jié)點10 包括通過網(wǎng)絡1連接到上下文源B、 D、 E的上下文信息收集器15和 連接到上下文源信息收集器15和請求者11的規(guī)則解釋器16。網(wǎng)絡1 形成來自物理上下文源B、 D、 E的信息的傳輸設施。物理上下文源 位于服務節(jié)點10夕卜,但通過其相應代理B'、 D'、 E'而在服務節(jié)點10 內表示。圖2所示功能可實現(xiàn)為軟件程序,裝載在例如以服務節(jié)點IO 形式已知的處理裝置上或網(wǎng)絡l中另一已經存在的處理裝置上。上下 文源代理B'、 D'和E'可實現(xiàn)為上下文信息收集器15的一部分。(由 圖2的請求(規(guī)則A)示出的)請求由請求者11投遞(post)到規(guī)則 解釋器16。這種情況下,請求涉及評估表達式規(guī)則A,該規(guī)則如相對 于圖1所示是基于三個上下文源B、 D和E。規(guī)則與上下文源之間的 關系已經相對于上面的圖l概括示出。在規(guī)則A評估為真時,請求者 11通過規(guī)則解釋器16收到通知。為具有盡可能準確的上下文信息, 上下文源代理B'、 D'、 E'可通過基于事件觸發(fā)的機制、基于請求的機 制或兩者的組合進行更新。此外,代理可編程為定期更新信息。
為具有盡可能準確的上下文信息,上下文源B、 D、 E將通過基于 事件觸發(fā)和基于請求的機制組合來更新請求者11。這意味著上下文源 B、 D、 E或上下文源代理B'、 D'、 E'可使其更新機制適應當前需要。
根據(jù)本發(fā)明實施例,使用的機制可基于可能從網(wǎng)絡1或在網(wǎng)絡1 中可用的以下一個或多個參數(shù)或標準進行更新
向選定上下文源的請求發(fā)生頻率;
與選定上下文源相關聯(lián)的事件發(fā)生頻率;
請求的成本或權重(即,使用的網(wǎng)絡資源函數(shù)和用于詢問 上下文源的幣值);
事件的成本或權重(即,使用的網(wǎng)絡資源函數(shù)和用于處理 來自上下文源的事件的幣值);
9 與其它上下文源的關系以及請求者是否確實需要該值。
上下文源B、 D、 E的值可相當易變或不易變。這極大取決于上下 文源B、 D、 E的類型。例如,用于某個人的日歷上下文源(例如, 指示某個人是否在會議中)可能最多大約每小時發(fā)生更改,而該人的 位置在移動時可能每秒發(fā)生更改。
請求的成本示出是關于特定上下文源B、 D、 E的單個值請求的實 際成本。這可以是用于圖2中請求者11的成本,或用于服務節(jié)點10 (更具體地說,規(guī)則解釋器16)的成本。成本由根據(jù)網(wǎng)絡資源(二N) 和貨幣=(€)確定的權重值表示權重-f(N,e)
用于本方法實施例的請求實際總成本(第一成本值)表示如下
A *請求=;^申請求* 4&,請求
其中,頻率絲是請求發(fā)生的頻率,并且權重請求是用于選定上下文 源B、 D、 E的單個值請求的上面定義的成本。請求發(fā)生的頻率可從 歷史數(shù)據(jù)得出,但也可確定為估計值或用于將來的計劃值。
用于本方法實施例的事件的實際總成本(例如,上下文源的值更 改)或第二成本值表示如下
A^事件二^^觸發(fā)+(步i,事件承;f又f事件)
其中,頻率事件是事件發(fā)生的頻率,并且權重事件是用于選定上下文 源B、 D、 E的單個事件的上面定義的成本。成本賄是涉及基于事件 觸發(fā)的機制的另外成本。同樣地,事件發(fā)生的頻率可從歷史數(shù)據(jù)得出, 但也可確定為估計值或用于將來的計劃值。
在備選實施例中,確定事件的實際總成本時忽略了因子成本觸發(fā)。
默認情況下,為每個上下文源代理B'、 D'、 E'關閉觸發(fā)以便在實 際請求進入(即,全部在使用基于請求的機制進行更新)前不消耗任 何資源(即,金錢和網(wǎng)絡資源)。
上下文源代理B'、D'、E'將在第一成本值(成本絲)大于第一切換值, 例如第二成本值(成本,件)時決定轉入觸發(fā)才莫式。
上下文源代理B'、 D'、 E'在觸發(fā)模式中并由于值更改而被觸發(fā),并且上下文源代理沒有待決請求時,上下文源代理將在第二成本值 (成本事件)大于第二切換值,例如,第一成本值(成本請求)時決定關閉觸發(fā)。 這樣,上下文源更新機制適應為事件進行觸發(fā)和/或等待實際請求 是否成本更高的實際情況。
在上述內容中,上下文源代理B'、 D'、 E'配置為評估成本比較, 例如,作為服務節(jié)點10的上下文信息收集器15的功能(參見圖2)。 然而,此功能也可在能夠與上下文源B、 D、 E通信的系統(tǒng)其它部分 中提供,如上下文源B、 D、 E本身、規(guī)則解釋器16或請求者11。
此外,在上述實施例中,成本值基于歷史信息計算得出。然而, 其它相關數(shù)據(jù)也可使用,如估計的數(shù)據(jù)或計劃(將來)的數(shù)據(jù)。此外, 成本評估可只基于請求和事件發(fā)生的頻率,即,在觸發(fā)模式與請求模
式之間的切換只基于發(fā)生頻率的評估而進行。
一種滯后機制將防止在成本事件與成本請求差不多時的"閃爍效應" (在請求與觸發(fā)模式之間持續(xù)切換)。這可通過將滯后S值加上與未 使用的更新機制相關聯(lián)的成本,或者通過從與實際使用的更新機制相 關聯(lián)的成本減去滯后S值而輕松實現(xiàn)。在上述實施例中,滯后5值可 加上第一切換值、第二切換值或第一與第二兩個切換值。
在網(wǎng)絡層,有若干可能的優(yōu)化機制。第一優(yōu)化機制是基于布爾值 觸發(fā)。網(wǎng)絡中的任何節(jié)點(表達式)可啟動觸發(fā)機制,該機制將在該 節(jié)點之后使用上述機制的任何節(jié)點上開始觸發(fā)。在一個實施例中,第 一觸發(fā)將設置在最便宜(最低權重)的上下文源代理(E')上。
在上下文源代理E'變?yōu)檎鏁r,下一最低權重上下文源代理(上下 文源代理D')將設為觸發(fā)模式。在上下文源代理D'未激發(fā)(fire)時, 上下文源代理E'將再次設為請求模式。在上下文源代理D'激發(fā)(D的 值=真)時,觸發(fā)再次設置在上下文源代理E'上。上下文源代理E'激 發(fā)(E的值=真)時,表達式C將激發(fā),并且觸發(fā)將設置在上下文源 代理B'上。上下文源代理B'為假時,表達式C將設為請求模式。如圖 3示意圖中所示,這也將傳播到上下文源代理D'和E'。
ii上下文源代理B'上的觸發(fā)激發(fā)(B的值=真)時,觸發(fā)再次設置 在表達式C上并傳播到上下文源D'和E'。上下文源D和E上的值仍 為真時,上下文源代理D'和E'上的觸發(fā)將激發(fā)并促使表達式C激發(fā)(= 真)。最終表達式A將在上下文源A仍為真時激發(fā)。
從上述內容中可看到,到基于事件觸發(fā)的機制的切換可為任一存 在的上下文源完成,但也可為中間表達式(在上述示例中,表達式C) 完成。
上述實施例也可使用順序圖描述,圖4、圖5和圖6中為根據(jù)本 發(fā)明的多個實施例示出了這些順序圖。對于這些示例,為上下文源B 和C具有值假時觸發(fā)設置在表達式A上(由圖4、圖5和圖6中的1: 設置觸發(fā)(真)示出)的特定情況,使用了圖1 (上述)的方案情況。 表達式如下所示A-B&C。
在圖4以示意圖方式示出的改進前實現(xiàn)中,將設置用于上下文源 B和C兩者的觸發(fā)(由圖4中的順序2-4和5-7示出),并且表達式 A的評估將等待至上下文源B和C均為真。僅在上下文源B和表達 式C的上下文均為真(由圖4中的順序8、 9和10、 ll示出)時,用 于表達式A的觸發(fā)機制將生成事件12,并且表達式A將被評估為真。
在才艮據(jù)本發(fā)明實施例的第 一優(yōu)化實現(xiàn)中,其順序圖在圖5中示出。 這種情況下,觸發(fā)機制只為一個上下文源(在圖5中上下文源代理B', 順序2、 3、 4)開啟,并且等待此上下文源代理B'返回值真。發(fā)生這 種情況(圖5中的順序5-6)時,表達式A的下一元素(即,表達式 C)切換到觸發(fā)模式(圖5中的順序7-9),并且僅在此上下文源變?yōu)?真(圖5中的順序10、 11 )時,用于表達式A的觸發(fā)機制將生成事 件12 ,并且表達式A將4^評估為真。
在圖6中示出其順序圖的根據(jù)本發(fā)明又一實施例的第二優(yōu)化實現(xiàn) 中,觸發(fā)機制只為表達式A的最便宜元素(即,其要評估的權重最低 的表達式A的元素)打開。這種情況下,這是中間表達式C。如圖6 所示,為元素C激活觸發(fā)(順序2-4),并且評估進一步等待此元素源返回值真(這由圖6中的順序5-6示出)。只有那樣,表達式A的 下一最便宜元素(即,上下文源B )會切換到基于事件的觸發(fā)機制(順 序7-9)。在此上下文源B由于其值更改為真(圖6中的順序10)而 生成事件時,這傳遞到表達式A的評估(上下文源B的事件,順序 11 ),表達式A隨后生成表達式A已評估為真(圖6的順序12)的 事件。
在本發(fā)明的第二實施例組中,優(yōu)化機制使用基于事件的觸發(fā)機制, 其中觸發(fā)閾值基于值范圍,例如,整數(shù)值范圍。此優(yōu)化考慮了上下文 源B、 D、 E的實際值只在某些值范圍內受請求者11關注,并且將因 此影響觸發(fā)頻率的實際情況。因此,相應上下文源B、 D、 E生成的 事件數(shù)量降到最低,因而改進了網(wǎng)絡和其它資源的使用效率。
圖7的順序圖更詳細示出此方案的示例
步驟1-6:
收到對表達式A的請求。上下文源B收到對其值的請求并返回1。 為表達式A設置觸發(fā)(在為真時),并因此為上下文源B設置觸發(fā) (B〉l)。
步驟7陽9:
上下文源B變得比1更高(B-2),從上下文源B生成事件(7),并 因此將請求(9)發(fā)送到表達式C。 步驟10-14:
對表達式C的輸入請求使表達式C請求上下文源D (=1)和E (=5) 的值。表達式C評估為假,并發(fā)送響應假到表達式A。 步驟15-19:
為表達式C設置觸發(fā)(在為真時),并且因此為上下文源E設置 觸發(fā)(E《3),這是因為上下文源E比上下文源D成本更低(參見上述 實施例)。
步驟20-26:
上下文源E變?yōu)?,并且事件(21)發(fā)送到表達式C。表達式C請求上下文源D的值(D-1),并且表達式C評估為真(C-4)并發(fā)送響應(二 真)到表達式A。 步驟27-29:
表達式A請求上下文源B的值(B二2),并且表達式A評估為真并 發(fā)送真事件(29)到請求者11。 步驟30-32:
上下文源B在表達式A請求時設為請求^^莫式。 步驟33-37:
上下文源E由于值更改而得到事件,并發(fā)送事件到表達式C。由 于不存在對表達式C的請求,因此,上下文源將被設回請求模式。
如上面示例所示,觸發(fā)閾值可由請求節(jié)點(表達式A或C)根據(jù) 當前情況設置。
在又一示例中,C同樣是上下文源D和E的函數(shù),并且下面的表 達式可以被評估A = (C>10), C = D + E。在此情況下,在上下文源 D和E的值之和大于某個常數(shù)值(C > IO)時,表達式A評估為真。上 下文源D和E最初均被評估以便計算表達式C的值。隨后,可確定 什么值轉化可能使表達式C評估為真,并且在上下文源D和E上分 擔結果條件。這意味著完成對上下文源D的實際值^d)的請求。僅在 上下文源D的值將使表達式C返回小于10的值時,才對上下文源E 請求其實際值^e)。上下文源D和E (或上下文源代理D'和E')上的 觸發(fā)閾值將根據(jù)對表達式C的所需值而被均分。觸發(fā)值要選擇為使得 D'或E'到達觸發(fā)值的時間盡可能地長。上下文源代理D'和E'上的觸發(fā) 之一激發(fā)時,上下文源代理D'和E'上的觸發(fā)將被調整。閾值觸發(fā)在此 示例中計算如下
在此示例中,閾值觸發(fā)計算如下上下文源代理E'在值7上激發(fā)(即,生成事件)時,用于兩個上
下文源代理的觸發(fā)閾值調整如下
D…(10-2-7)=,;.F…(10-2-7)=7《
U閾值^十-^- 丄3,t閱值/ + -^- /0-
上下文源代理D'在值4上激發(fā)時,這立即使表達式C上的觸發(fā)激 發(fā),并且發(fā)送到表達式A的事件(值=11)將使表達式A變?yōu)檎?。觸 發(fā)隨后被消除。
如在下面的乘法示例中所示,上面的實施例示例也可使用其它數(shù) 學函數(shù)。
假設有以下表達式A: (D * E < 10).在此情況下,上下文源代理 D'和E'上的觸發(fā)值將計算如下
閾值 "/rf*e,閾值
對于每種數(shù)學函數(shù),可形成觸發(fā)閾值的對應設置,這將導致在事 件生成前盡可能長的時間。
在又一方案中,示出了在給定有關表達式值或上下文源值的另外 條件的范圍時,可能實現(xiàn)進一步優(yōu)化。我們假設表達式A存在,它是 B和C之和。B和C可以是上下文源或表達式。此外,我們假設在C 上的另外條件存在,C將大于5。此條件可以是使用C的一些其它表 達式的結果,或者是因為上下文源C的特征,或者是因為C依賴的上 下文源和表達式的特征和條件。此外,我們假設觸發(fā)已在A上設為在 A的值一旦大于12時便報告。我們假設B的當前值為10,并且C的 當前值為6。根據(jù)前面所述方法,用于B和C的閾值可計算得出。用 于B的閾值將為8,并且用于C的閾值將為4。然而,C已經具有大 于5的條件。因此,用于C的閾值4過于低。 一旦C小于5,或者C 無法變得小于5, C的值便已經被報告。因此,由A上的條件產生的 觸發(fā)閾值無法在B與C之間被均分,而因為只要和等于A的閾值, 用于B和C的閾值任何組合都有效,所以C應只具有已經給出的閾
15值5,這使得B的閾值為7而不是8。現(xiàn)在B將只在它變得小于7時 發(fā)送事件,這應比它變得小于8時更遲。對于C,閾值仍然是原來的 閾值5,因此,C仍將在C小于5時發(fā)送事件。因此,由于此優(yōu)化, 通常在發(fā)送事件前將需要更多時間,而決不是更少時間。這意味著使 用此優(yōu)化時,更少的事件將被發(fā)送,并且因此成本將通過此優(yōu)化被降 低。
從上面的示例可看到,使用范圍將可能在上下文源代理上設置更 準確的觸發(fā)值,這將產生更少的事件。
在又一實施例中,可能性被用于利用存在的多個父元素,其共享 到子元素(上下文源或中間表達式)的請求??稍O想到,如圖8所示, 上面的實施例和示例的表達式C (子表達式)由表達式A和另一表達 式X(父表達式)共享。表達式A與圖1和圖3實施例中相同,然而, 相關聯(lián)上下文源權重不同(成本(B"4,成本(D)-IO和成本(E"1 )。 在從各個相關聯(lián)請求者11同時收到評估表達式A和表達式X的請求 時,用于評估表達式C的權重可在兩個父表達式A與X之間共享。
示的情況下,可看到上下文源E要先詢問(由標記"請求"的箭頭示出), 而不同于先詢問上下文源B的上述情況。
此外,關于請求數(shù)量,共享來自上下文源的信息的本發(fā)明實施例 提供了比改進前解決方案更佳的解決方案。在圖9和圖10中,為最 不優(yōu)化情況給出了用于圖8示例的順序圖,即,上下文源B和E為真, 并且上下文源D為假的情況。
圖9以示意圖方式示出最低權重最早實現(xiàn)的改進前版本的順序 圖,在該版本中,未將有不止一個父元素(請求者#1、請求者#2)尋 找相同信息的實際情況考慮在內。請求者#1向上下文源B發(fā)出請求 (順序1-3),因為這是表達式A的最低權重元素(4對6)。請求者 #2向表達式C發(fā)出直接請求。此請求將在步驟5-9中被進一步向上下 文源E和D發(fā)出(先到E,因為此上下文源具有兩個元素的最低權重)。
16結果是表達式C評估為假,這在步驟9會報告回請求者2。最后,在 表達式C中評估上下文源B為真時,將再次形成從表達式A到表達 式C的請求(步驟10 )。表達式C的評估值已經知道(=假),這傳 播回表達式A并最終到請求者#1 。
在本發(fā)明實施例中,將成本共享考慮在內。這在圖IO的順序圖中 示出。為請求者#1和請求者#2兩者評估表達式C,并且表達式C的 評估結果為假,無需再次詢問上下文源B,這已是眾所周知。請求的 總數(shù)量及因此結果事件的數(shù)量在此情況下低于圖9改進前實現(xiàn)。
在圖11中,示出了用于提供取決于不止一個上下文源數(shù)據(jù)的服務 的可能網(wǎng)絡體系結構的又一說明性示例。在此示例中,有連接到 GPRS/UMTS網(wǎng)絡1的兩個請求者lla (卡洛爾)和lib (鮑勃)。 GPRS/UMTS網(wǎng)絡1連接到服務節(jié)點10,該節(jié)點配置為提供例如在服 務節(jié)點10中實現(xiàn)為應用17的最佳通信方式(OCM)服務。服務節(jié)點10 還包括配置為與多個上下文源接口的上下文信息收集器(CIC)15。
卡洛爾和鮑勃預訂了最佳通信方式服務,并定義了在特定情況下 具有關于最佳通信方式的首選項的配置文件。這些首選項由OCM服 務17存儲在例如數(shù)據(jù)庫(未示出)中。這意味著在卡洛爾嘗試與鮑 勃通信時,鮑勃的配置文件用于依據(jù)向卡洛爾呈現(xiàn)的通信方式列表做 出決定。
卡洛爾在她的車中,并在嘗試和在會議中工作的鮑勃取得聯(lián)系。 鮑勃在其配置文件中定義了他在會i義中時可通過即時消息傳遞、短消 息或話音郵件和他取得聯(lián)系??鍫栐谒呐渲梦募卸x了她在駕 車時只可使用話音通信。
卡洛爾從聯(lián)系人列表中選擇鮑勃。OCM服務17通過CIC15從卡 洛爾和鮑勃兩者中獲取適用的上下文。OCM服務17發(fā)現(xiàn)由于卡洛爾 和鮑勃的上下文原因,此時此刻沒有可用的通信方式,并通過話音消 息向卡洛爾呈現(xiàn)了此發(fā)現(xiàn)(經GPRS/UTMS網(wǎng)絡1 ) 。 OCM服務17 也為卡洛爾提供了一旦鮑勃變得可用時便聯(lián)系她的選擇??鍫枦Q定一旦鮑勃變得可用她想通過話音呼叫聯(lián)系鮑勃。
一旦鮑勃的會議結束,他的上下文便會更改,這樣,通過話音可
和他聯(lián)系。OCM服務17決定聯(lián)系卡洛爾,并且卡洛爾可決定呼叫鮑 勃。以下上下文源在此方案中適用
日歷信息(鮑勃)確定例如在會議中;
角色(卡洛爾)確定在車中的情況;
位置(卡洛爾)確定速度。
各種方法實施例也可在此示例中使用,即,基于評估OCM服務 17使用的表達式的成本,確定要先詢問哪個上下文源。
如在上面實施例和描述中使用的表達式和中間表達式是布爾元素 的函數(shù),具有為真或假的值。在其它實施例中,元素也可包括從上下 文源B、 D、 E獲得的數(shù)值的函數(shù),例如,以檢查上下文源的值是否 在某個范圍內。在實際的網(wǎng)絡實現(xiàn)中, 一些上下文源可在值不可用時 通過值"未知"做出響應,例如,在手機關機,或者GPS系統(tǒng)不輸送任 何信息的情況下。在大多數(shù)應用中,這將產生例外代碼,該代碼將導 致服務不可用。
在又一實施例中,提供未知值的上下文源的此可能性可用于進一 步改進網(wǎng)絡的效率或降低成本。在第一變型中,將以下考慮在內在 布爾值真和假之后,上下文源B、 D、 E可提供值未知作為詢問的響 應。視要評估的(中間)表達式而定,這可得出不必為該請求詢問任 何其它上下文源的決定,從而降低網(wǎng)絡數(shù)據(jù)業(yè)務和詢問成本。
在第一示例中,同樣地,使用了圖1的表達式A和C:在上下文 源D和E均返回值真時,中間表達式C為真,并且在上下文源B和 中間表達式C均返回值真時,表達式A為真。假設上下文源E不可 用,則中間表達式C的值取決于上下文源D的值。畢竟,在上下文源 D返回假時,中間表達式C也將評估為假,但如果上下文源D的值為 真或未知,則中間表達式C的值是未知。如果中間表達式C的值為假, 則無需繼續(xù)詢問上下文源B或E的值,這節(jié)省了網(wǎng)絡資源。如果中間表達式C的值未知,則必須詢問上下文源B。
下表將此情況概括如下
與E:真E-假E-未知
。=真C:真O假O未知
C-假O假c-假
c-假c-未知
通過本發(fā)明,可自動捕獲在未知行和列(=粗體)中的假情況, 這是以前未注意的額外優(yōu)化。
在下一示例中,在布爾"或"表達式的情況下查看此實施例的結果。
假設表達式A和表達式C均是布爾或表達式,在上下文源或子表達式 至少之一為真時返回真,則相同的邏輯適用。在上下文源D未知時, 則服務將仍要求上下文源E提供其值。假設上下文源E為真,則上下 文源D未知無關緊要。畢竟,在上下文源之一為真時,表達式C也產 生真。因此,讓表達式C返回真的條件得到滿足,并且無需浪費其它 網(wǎng)絡資源。下表給出了返回值的概述(上述情況可映射在粗體條目 上)
或E-真
D:真C:真o真0=真
D-假C:真c—艮o未知
C-真c-未知c-未知
通過本發(fā)明,可自動捕獲在未知行和列(=粗體)中的真情況, 這是以前未注意的額外優(yōu)化。
在又一變型中,首先就相應值的可用性詢問上下文源B、 D、 E。 僅在上下文源未返回未知時才將要求上下文源提供其值,在使用布爾 的情況下是真或假,或者在使用整數(shù)范圍值的情況下是值本身。
如果上下文源B、 D、 E確實返回未知,則從上一請求獲得的最新
19值可用作表達式A或C的輸入。
在此實施例的示例中,對于布爾值,每個表達式和上下文源包含
兩個選項可用性和最新。可用性由可用和真或可用和布i兩個選擇組 成。上下文源值未知時,服務可查看獲得的最新值(最新),該值也 可以為真或假。這樣,未知值不再是一個問題。未知值由在可用性為 假時的兩種情況表示??捎眯匀Q于子元素(表達式或上下文源)的 最新和可用性值。假設表達式C-A&B。則表達式C的可用性取決 于元素A和B的最新和可用性,如下所示
可用性(0 =(可用性(^)&可用性(B))
i (可用性(A) &不是最新(A)))
|(可用性(8)&不是最新(B)))
在表述上,如果元素A和B已知,則表達式C已知(這種情況 下,表達式C的值是布爾與(A&B)的值,或者如果元素A可用并且 為假(這種情況下表達式C的值為假),或者如果元素B可用并且為 假(這種情況下,表達式C的值為假)。
最新值最初可設為真或假。 一旦上下文源或表達式變?yōu)橐阎?,?確的值便將被設置。只要可用性為假,則最新的值便不應使用。
上述實施例和示例無意限制本申請保護的范圍,該范圍如由隨附 權利要求中所述的特性定義。
權利要求
1. 一種用于在通信網(wǎng)絡中提供服務的方法,其中所述服務包括評估包括表達式(A)的請求,所述表達式是多個元素的函數(shù),每個元素涉及源于在所述通信網(wǎng)絡中可用的一個或多個上下文源(B,D,E)的數(shù)據(jù),或者涉及中間表達式,其中所述一個或多個上下文源(B,D,E)中的每個上下文源使用基于請求的機制或基于事件觸發(fā)的機制來更新其相關聯(lián)數(shù)據(jù),所述方法包括詢問所述多個元素的一個選定元素,如果所述選定元素評估為假,則將所述選定元素切換到觸發(fā)模式,以及如果所述選定元素評估為真,則繼續(xù)詢問所述多個元素中的又一元素。
2. 如權利要求1所述的方法,所述方法還包括基于上下文源(B, D, E)的所述表達式和權重,確定上下文源(B, D, E)的階數(shù),上下文源(B, D, E)的權重是使用的網(wǎng)絡資源的函數(shù)和用于向所述一個或多個上下文源(B, D, E)評估所述表達式的幣值,以及其中所述選定元素是最低階上下文源(B, D, E),并且所述多個元素中的又一元素是下一最低階上下文源(B, D, E)。
3. 如權利要求l-2任一項所述的方法,其中所述表達式是布爾函數(shù),來自每個所述上下文源(B, D, E)'的數(shù)據(jù)為真或假。
4. 如權利要求1-2任一項所述的方法,其中來自所述上下文源(B, D, E)的凄t據(jù)是數(shù)值,并且所述表達式包括所述上下文源(B,D, E)值的函數(shù)。
5. 如權利要求4所述的方法,其中所述函數(shù)包括所述數(shù)值與預定范圍的比較。
6. 如權利要求5所述的方法,其中所述函數(shù)包括一個或多個所述上下文源(B, D, E)值的數(shù)學運算的評估。
7. 如權利要求5所述的方法,其中涉及來自兩個或更多個上下文源(B, D, E)的數(shù)據(jù)值的數(shù)學運算的評估包括根據(jù)實際值和所述數(shù)學運算設置每個所述上下文源(B, D, E)的觸發(fā)閾值。
8. 如權利要求3-7任一項所述的方法,其中來自每個所述上下文源(B, D, E)的所述數(shù)據(jù)可還具有未知值。
9. 如權利要求8所述的方法,其中所述方法還包括如果所述值未知,則為相應上下文源值使用最新獲得的值。
10. 如權利要求l-9任一項所述的方法,其中所述多個上下文源(B, D, E)中每個上下文源的數(shù)據(jù)存儲在所述服務可訪問的相關聯(lián)代理服務器(B', D', E')中。
11. 如權利要求l-10任一項所述的方法,其中子表達式由多個父表達式使用,并且在所述相關聯(lián)請求被同時接收時,用于評估所述子表達式的權重在所述多個父表達式之間共享。
12. —種用于在通信網(wǎng)絡中提供服務的所述通信網(wǎng)絡的服務節(jié)點,其中所述服務節(jié)點(10)配置為接收和評估請求,所述請求包括作為多個元素函數(shù)的表達式,每個元素涉及源于一個或多個上下文源(B, D, E)的數(shù)據(jù),所述服務節(jié)點(10)在操作中可連接到所述一個或多個上下文源(B, D, E),其中所述服務節(jié)點(10)還配置為執(zhí)行如權利要求1-11任一項所述的方法。
13. 如權利要求12所述的服務節(jié)點,其中所述服務節(jié)點(10)包括用于評估所述表達式的規(guī)則解釋器(16)。
14. 如權利要求12或13所述的服務節(jié)點,其中所述服務節(jié)點(IO)包括用于與所述一個或多個上下文源(B, D, E)接口的上下文信息收集器(15)。
15. 如權利要求14所述的服務節(jié)點,其中所述上下文信息收集器(15)包括用于所述一個或多個上下文源(B, D, E)的每個上下文源以便存儲與每個相應上下文源(B, D, E)相關聯(lián)數(shù)據(jù)的上下文源代理(B', D', E')。
全文摘要
用于在通信網(wǎng)絡(1)中提供服務的方法和配置為執(zhí)行該服務的服務節(jié)點(10)。服務節(jié)點(10)配置為從服務接收和評估請求,請求包括具有多個元素的表達式。每個元素涉及源于一個或多個上下文源(B,D,E)的數(shù)據(jù),這些源可例如使用上下文源代理(B′,D′,E′)將數(shù)據(jù)提供到服務節(jié)點(10)。每個上下文源(B,D,E)使用基于請求的機制或基于事件觸發(fā)的機制來更新其相關聯(lián)數(shù)據(jù)。選擇多個元素之一,并且選定元素評估為假時,將選定元素切換到觸發(fā)模式。如果選定元素評估為真,則詢問又一元素。
文檔編號H04L29/06GK101507229SQ200680055755
公開日2009年8月12日 申請日期2006年9月5日 優(yōu)先權日2006年9月5日
發(fā)明者E·J·賴特斯馬, H·茲瓦爾, J·H·P·亨德里克斯, M·弗海詹 申請人:艾利森電話股份有限公司