新四季網

使用測試通知的系統和方法

2024-02-18 23:28:15

專利名稱:使用測試通知的系統和方法
技術領域:
本發明涉及計算系統中的通知,尤其涉及使用測試通知的系統和方法。
背景技術:
在計算機系統中,通知的形式可以是來自程序的信號,它向用戶指明已經發生了指定事件。這種通知可以包含文本、聲音和圖形的各個元素。通知內也可以包括其它屬性,比如優先級、發送該通知的人(對於電子郵件或即時消息傳遞這樣的信道)以及通知到期時間。通知還可以包括編碼的某些元素,使得用戶可以與通知交互以及啟動任意代碼(例如點擊通知內的按鈕或文本,這會造成啟動新程序或者對目前正在運行的程序採取行動)。
作業系統可以創建通知使用戶獲悉有關網絡連接和更新。使用「聯繫人列表」的即時消息傳遞程序可以在屏幕上繪製通知來讓用戶得知聯繫人列表上正在發生的事項或者聯繫人何時開始即時消息對話。其它程序可以提供在顯示器的類似區域內繪製的類似通知。有關這些通知類型的一個問題是它們一般不知道其它通知,因此有時會導致在其它通知上繪製通知。
現有系統的另一個問題是它們會造成不適當地傳遞通知,或者在不適當的時間傳遞通知。例如,對於提供全屏演示的用戶而言,不宜在演示期間使其它程序在屏幕上繪製通知。可能繪製這種不適當通知的程序例子是一即時消息傳遞程序,它在作業系統的後臺運行並且當聯繫人列表內的聯繫人指令或開始即時消息時繪製這種通知。演示期間的這類「中斷」是用戶不期望的。
本發明提供了克服上述及其他缺點的系統和方法。更具體地說,本發明針對使用測試通知的系統和方法。

發明內容
提供了一種使用測試通知的系統和方法。按照本發明一方面,調用程序構成了與實際通知類似的測試通知。與實際通知的關鍵差異是測試通知實際上不會被傳遞給用戶。
按照本發明另一方面,在一個實施例中,測試通知返回一個真或假的指示。指示為真意指會在當前時間繪製實際通知,而指示為假意指不能在當前時間繪製實際通知。在另一實施例中,測試通知也可以返回較豐富的返回值。較豐富的返回值的例子包括通知是否會被推遲或路由、通知會在哪個聲音級被播放等等。
按照本發明另一方面,在一個實施例中使用了輪詢方法。在該實施例中,調用程序周期性地反覆輪詢(發送測試通知)以確定用戶的當前環境以及調用程序發送的任何廣播數據應該怎樣變化。廣播數據的例子可以是向聯繫人廣播繁忙或空閒狀態的即時消息傳遞程序。在另一實施例中使用了預訂回叫方法。在該實施例中,調用程序預訂以接收環境變化。換言之,隨著用戶的環境關於廣播的信息類型而變化,環境引擎根據這些更新回叫程序,而不是周期性地反覆輪詢。後一種實施例的優點是在環境變化和廣播內容之間沒有時滯。在其它情況下,輪詢方法也許更為適當,比如對於一次性事件而言。
可以理解,本發明的測試系統和方法允許作業系統和任意程序來確定何時適於向用戶發送通知。使用測試通知的一個優點在於通過允許程序更多地得知用戶環境,可以防止產生不希望的實際通知,直到用戶處在能接收的狀態為止。此外,為不使用相同通知傳遞的用戶界面的程序提供了較大的靈活性,因為通過使用測試通知,它們仍能獲得有關用戶環境的信息。例如,將來的程序可以研發具有特殊圖形的通知,也許不被當前的用戶環境系統所支持,然而將來的程序仍能使用從測試通知獲得的信息來確定是否適於發送或修改其當前的通知。
按照本發明另一方面,在用戶環境系統中使用了測試通知。用戶環境系統代理並連續排列來自多個源的通知傳遞。此外,提供了用戶環境的共享概念,用於為每個通知確定適當的處理。按照這些方面,可以認為由用戶環境系統傳遞的通知更有價值,因為它們是在用戶更能接收它們時被傳遞的。這些方面還提供了公共規則,這些規則幫助用戶刪除不期望的通知。在一實施例中,用戶環境系統中測試通知的使用基本上提供了一種系統工具或系統提供的機制,該工具或機制能夠封裝用戶的總體環境並使其經受任意的處理。
按照本發明另一方面,在用戶環境系統中,環境是由作業系統和任意程序宣布的。在一實施例中,用戶環境包括可以為真或為假的條件以及如果條件為真則服從的指令。例如,條件可以是「當用戶正在聽音樂」,對此的指令會是「在屏幕上遞送通知但沒有聲音」。通常,用戶環境的條件可以被認為是系統可採取的一種狀態,該狀態使用戶在某些方面不可用於通知傳遞,或者造成應該傳遞通知的方式與它被開始的程序所發送的方式不同。用戶可以處在稱為「不可用」的狀態,其中通知或者不被傳遞,或者被保留直到用戶變得「可用」。例如,如果用戶正在運行全屏應用程式,其中應用程式正在使用顯示屏的全部區域或者在其上被顯示,該用戶就被視為不可用。或者,用戶可以「可供使用」,但在這種狀態下,需要修改通知以適用於該用戶。
按照本發明另一方面,在用戶環境系統中,除了宣布環境的作業系統以外,程序向系統註冊,並且宣布它們提供的環境以及它對通知的影響(根據在屏幕上繪製是否適當以及適用於在屏幕上繪製的侵入性級別,以及聲音是否適當或者聲音應該以什麼相對音量被播放),然後告知系統該環境為真還是為假。在一實施例中,在要傳遞通知時可以評估環境為真或是為假。在一實施例中,系統還可以跟蹤調用程序的過程,如果過程不再存在,就把環境重置為假。通過跟蹤該過程,可以避免特定的不期望的情況,比如一應用程式,該程序宣布用戶處於繁忙、然後崩潰、然後使用戶陷於一狀態,該狀態中他們已被宣布為不可用於接收通知。
按照本發明另一方面,在用戶環境系統中,存在為繪製通知指定的不同的擴散性級別。換言之,根據用戶環境,繪製消息會有梯度,使得會有以所繪製通知為形式的不同侵入性級別。例如,正常的通知能夠被自由地繪製在客戶機區域中,並且簡要地遮掩一個窗口。如果用戶處於略微受限制的環境中,通知可以自由地示出,但是僅以較不侵入的方式示出,比如也許不允許在另一個窗口上面進行繪製。舉另一個例子,如果用戶正在運行最大化的應用程式,設置可能是用戶環境略微受限制,因為用戶已經明確地作出聲明他們希望他們當前的應用程式取得整個客戶機區域。在這種環境下,仍舊允許繪製通知,但是僅讓它們出現在側邊條(sidebar)內。這類以通知繪製為形式的降低了的侵入性減少了通知的影響,並且減少了認知負載。
按照本發明另一方面,在用戶環境系統中,已經提供的環境暴露於用戶,並且可以或者被關閉(例如用戶不同意程序對環境的評估),或者根據對傳遞的影響而變化。
按照本發明另一實施例,在用戶環境系統中,用戶可以定義規則,這些規則規定了包含指定元素的通知應該怎樣被傳遞。例如,用戶規則可以規定應該立即傳遞從「John Doe」接收到並且主題欄為「緊急」的任何通知。在一實施例中,這些用戶規則比其它用戶環境優先。用戶規則可用於用戶按照用戶偏好進行修改。


通過下面提出的結合附圖的詳細描述,本發明的特徵、性質和優點將變得更加明顯,附圖中相同的元件具有相同的標識,其中圖1是適用於實現本發明的通用計算機系統的框圖;圖2是說明按照本發明用於處理通知的一般例程的流程圖;圖3是說明宣布用戶環境的作業系統或任意程序的例程的流程圖;圖4是說明在調用通知API時評估用戶環境為真或為假的例程的流程圖;圖5是說明用於調整用戶環境並創建新的用戶規則的例程的流程圖;圖6是說明用於按照用戶環境和用戶規則處理通知的例程的流程圖;圖7是說明用於根據通知的內容以及用戶環境來實現用戶規則的例程的流程圖;圖8是說明用於推遲通知傳遞的例程的流程圖;圖9是說明用於按照各種限制性設置確定會怎樣繪製通知的例程的流程圖;圖10是說明用於按照各種限制性設置確定通知的音量級別的例程的流程圖;圖11是說明按照本發明用於處理測試通知的總例程的流程圖;圖12是說明用於處理測試通知並且返回真或假的指示的例程的流程圖;圖13是說明用於處理測試通知並且返回具有全部細節的指示的例程的流程圖;以及圖14是說明根據測試通知的內容和當前用戶環境使用用戶規則來處理測試通知的例程的流程圖。
具體實施例方式
本發明針對一種使用測試通知的系統和方法。在一實施例中,測試通知可以由用戶環境系統來處理。用戶環境系統控制通知的傳遞。
在現有系統中,一般有許多希望向用戶發送通知的競爭元件,各個元件都設計了發送這種通知的自己的方式。一般沒有一個競爭元件已經得知其它通知並因此意圖在彼此的以及彼此應用程式的頂上繪製,當每個元件都選擇同時提供它們相應通知的指示時,這會導致衝突。此外,還沒有用戶環境的共享概念,導致某些通知被不適當地傳遞,或者在不適當的時間被傳遞。用戶環境系統通過把通知構建為作業系統的一大部分而解決了這些問題,這使得用戶環境系統所提供的通知的用戶界面變得相似並因此不再彼此衝突,因為系統適當地代理並連續排列了它們在屏幕上的顯示。此外,由用戶環境系統所提供的通知可以被認為較有價值,因此它們是在用戶更能接收它們的時候被傳遞的,此外,公共規則的使用也幫助用戶刪除了不期望的通知。
如上所述,可以使用用戶環境系統來處理本發明的測試通知。本發明的測試通知用於確定在當前條件下是否會傳遞實際通知。換言之,測試通知意圖提供一指示,指明用戶目前是否可用於接收通知。例如,可以使用該指示來防止程序試圖在當前時間發送實際通知,或者使程序修改該通知。
圖1及下列討論提供了對其中可實現本發明的適當計算環境的簡要、一般的描述。儘管不需要,然而仍然會以計算機可讀指令的一般上下文來描述本發明,比如個人計算機所執行的程序模塊。一般而言,程序模塊包括例程、程序、字符、組件、數據結構等等,它們執行特定的任務或者實現特定的抽象數據類型。本領域的技術人員會理解,本發明可以用其它計算機系統配置來實現,包括手提設備、微處理器系統、基於微處理器的或可編程的用戶電子設備、網絡PC、小型計算機、大型計算機等等。本發明還可以在分布式計算環境中實現,其中由通過通信網絡相連的遠程處理設備來執行任務。在分布式計算環境中,程序模塊既可位於本地存儲設備中、又可位於遠程存儲設備中。
參照圖1,一種用於實現本發明的示例性系統包括形式為常規個人計算機20的通用計算設備,它包括處理單元21、系統存儲器22以及把包括系統存儲器22在內的各種系統組件耦合到處理單元21的系統總線23。系統總線23可能是若干總線結構類型中的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用各種總線結構中任何一個的本地總線。系統存儲器包括只讀存儲器(ROM)24以及隨機存取存儲器(RAM)25。基本輸入/輸出系統(BIOS)26存儲在ROM 24內,它包括如啟動時幫助在計算機20內的元件間傳輸信息的基本例程。計算機20還包括用於向硬碟39讀寫的硬碟驅動器27、用於向可移動磁碟29讀寫的磁碟驅動器28以及用於向諸如CD ROM或其它光學媒質這樣的可移動光碟31讀寫的光碟驅動器30。硬碟驅動器27、磁碟驅動器28和光碟驅動器29分別通過硬碟驅動接口32、磁碟驅動接口33以及光碟驅動接口34連到系統總線23。驅動器及其相關的計算機可讀媒質為個人計算機20的計算機可讀指令、數據結構、程序模塊及其它數據提供了非易失性存儲。儘管這裡所述的示例性環境採用了硬碟39、可移動磁碟29和可移動光碟31,然而本領域內的技術人員可以理解,在示例性操作環境中也可以使用其它類型的計算機可讀媒介,它們能存儲可由計算機存取的數據,這些媒介有磁帶、快閃記憶體卡、數字視頻盤、貝努利(Bernouilli)盒帶、隨機存取存儲器(RAM)、只讀存儲器(ROM)等等。
許多程序模塊可以存儲在硬碟39、磁碟29、光碟31、ROM 24或RAM 25上,包括作業系統35、一個或多個應用程式36、其它程序模塊37以及程序數據38。用戶可以通過諸如鍵盤40和指示設備42這樣的輸入設備將命令和信息輸入計算機20。其它輸入設備(未示出)可能包括麥克風、操縱杆、遊戲墊、衛星式轉盤、掃描儀等。這些和其它輸入設備一般通過與系統總線23耦合的串行埠接口46連到處理單元21,但也可能由其它接口連接,諸如並行埠、遊戲埠或通用串行總線(USB)。形式為監視器47的顯示器也通過諸如視頻卡或適配器48這樣的接口連到系統總線23。一個或多個揚聲器57也可以通過諸如音頻適配器56這樣的接口連到系統總線23。除了顯示器和揚聲器以外,個人計算機一般包括其它外圍輸出設備(未示出),譬如印表機。
個人計算機20可以工作在使用到一個或多個諸如遠程計算機49這樣的遠程計算機的邏輯連接的聯網環境內。遠程計算機49可以是另一計算機伺服器、路由器、網絡PC、對等設備或其它公共網絡節點,並且一般包括上述相對於計算機20所述的許多或所有元件。圖1所述的邏輯連接包括區域網(LAN)51和廣域網(WAN)52。這種聯網環境常見於辦公室、企業範圍的計算機網絡、內聯網以及網際網路。
當用於LAN聯網環境時,個人計算機20通過網絡接口或適配器53連到區域網51。當用於WAN聯網環境時,個人計算機20一般包括用於在諸如網際網路的廣域網52上建立通信的數據機54或其它裝置。數據機54可以是內置或外置的,它通過串行埠接口46連到系統總線23。在聯網環境內,相對應個人計算機20所述的程序模塊或其中的一部分可以被存儲在遠程存儲設備內。可以理解,所示的網絡連接是示例性的,並且可以使用其它用於在計算機間建立通信連接的裝置。
本發明可以在圖1所述類型的系統上實現。如上所述,本發明的測試通知可由用戶環境系統來評估。下面將參照圖2-10主要描述用於評估測試通知的用戶環境系統。在下面的段落將參照圖11-14更詳細地描述測試通知的評估。
關於圖2-10,提供了用於控制來自多個源的通知傳遞的用戶環境系統。在一實施例中,用戶環境系統可以包括三個要素,比較它們以決定怎樣處理通知。第一個要素是用戶的環境(可以由已經擴展它的作業系統和任意程序所提供)。第二個要素是用戶的規則和偏好。第三個要素是通知自身(它包含諸如可能與用戶規則相匹配的數據和屬性這樣的要素)。
下面將詳細描述,用戶環境系統通過作業系統序宣布用戶環境的及其他程而進行操作,其後系統代理用戶的環境和規則。通知由其它調用到系統內的程序提出。用戶環境、規則和通知的元素相互比較,然後作出有關應該怎樣處理通知的判決。應該怎樣處理通知的各種選項的例子包括拒絕(如果不允許通知繪製或發出噪聲,且用戶將永遠看不到通知)、推遲(保持通知直到用戶環境變化或者用戶規則規定隨後適於傳遞為止)、傳遞(允許按照用戶的環境和規則來傳遞通知)以及路由(用戶規則指示通知應被切換到另一系統,無論在當前系統中是否也允許傳遞通知)。
下面將更詳細地討論各種用於傳遞通知的例程。通常,用戶可以處在稱為「不可用」的狀態,其中通知或者不被傳遞、或者被保留直到用戶變得「可用」為止。例如,如果用戶正在運行全屏應用程式,該用戶會被視為不可用。或者,用戶可以是「可用的」,但這種情況下需要修改通知以適用於用戶。例如,如果用戶正在聽音樂或開會,用戶也許以指示應該把通知傳遞到用戶的屏幕,但它們發出的聲音應該較輕或是靜音。
如上所述,用戶環境部分地確定了通知是否在用戶屏幕上示出。當示出通知時,它可以根據用戶環境內的特定梯度被示出。換言之,可以為所繪製通知的形式指定不同級別的侵入性。例如,正常的通知可以自由地彈出到客戶機區域中並且簡要地遮蔽一個窗口。如果用戶處在略微限制性的環境中,則通知可以自由顯示,但僅以較不侵入的方式顯示,比如可能不允許通知在另一窗口上方繪製。舉另一個例子,在用戶正在運行最大化應用程式的一個實施例中,預設設置會是這意味著該環境是略微受限的,且用戶已清楚作出了他們希望該應用程式取得整個客戶機區域的聲明。在這個設置中,仍可以允許繪製通知,但僅使其出現在側邊條內。換言之,通知繪製形式中的這類降低了的侵入性減少了通知的影響,並且總的減少了認知負載。
圖2是說明用於處理通知的例程200的流程圖。在方框202處,作業系統或任意程序調用通知應用程式編程接口(API)。在方框204處,相對於作業系統及任意程序所設定的、並且由用戶進一步認可或修改的用戶環境、以及相對於用戶所設定的用戶規則,而評估通知的元素。在方框206處,按照用戶環境和用戶規則,通知被傳遞、推遲、拒絕、路由或被另外處理。
下面將更詳細地描述用戶環境和用戶規則。在一實施例中,用戶環境包括或為真或為假的條件以及當條件為真時指示應該怎樣處理的通知的指示。通常,用戶環境的條件可以被認為是系統採用的一狀態,該狀態下使用戶在某些方面不可用於傳遞或者使傳遞通知的方式與通知被開始它的程序所發送的方式不同。換言之,在一個實施例中用戶環境可以被認為是一聲明「當條件X為真時,這就是應該對到來的通知作出的處理」。一個例子是「當我的音樂播放器正在為我播放音樂時,到來的通知應該在屏幕上顯示但是不放出聲音」。另一個例子是「當任何應用程式正以全屏模式運行時,到來的通知應該被推遲到稍後」。
關於這種用戶環境,在一個實施例中用戶還可以定義用於處理到來通知的特殊規則,因此為用戶環境的指令提供了特殊例外。例如,用戶規則可以聲明「當我從「John Doe」接收到新的電子郵件、文本中有「緊急」並且標記為「高優先級」時,無論其它用戶環境是什麼都傳遞這個電子郵件」。換言之,在該例中這個用戶規則為用戶環境提供了一個例外,該用戶環境指出此時不適於為到來的電子郵件傳遞通知。關於相對用戶規則評估的通知元素,這些可以包括類似文本、聲音、圖形及其他像優先級這樣的屬性、發送通知的時間、通知何時到期以及某些編碼元素,這些元素使用戶能與通知交互並且啟動任意編碼(例如點擊通知內的按鈕或文本會造成運行新程序或者對當前運行的程序採取新行動[比如刪除電子郵件])。
圖3是說明宣布用戶環境的作業系統或任意編碼的例程220的流程圖。在方框222處,作業系統或程序宣布預設環境以及它們對用戶繁忙狀態的影響。換言之,程序向系統註冊並且提供包括它們對通知的影響的用戶環境(例如在屏幕上繪製是否適當,以及聲音是否適當或者應該以什麼相對音量進行播放)。例如,音樂播放器程序可以宣布一個預設環境,該環境聲明「當音樂播放器為用戶播放音樂時,到來的通知應該顯示在屏幕上但不播放聲音」。舉另一個例子,作業系統可以宣布一環境,該環境聲明「當任何應用程式以全屏模式運行時,到來的通知應被推遲到稍後的時間」。
返回圖3,在方框224處,作業系統或程序把所宣布的環境設為真或為假。例如,關於宣告「當音樂播放器正在播放音樂時,到來的通知應該顯示在屏幕上但不播放聲音」的環境的音樂播放器,音樂播放器程序還可以把這個所宣布的環境設為當前為真或為假。換言之,音樂播放器程序指示音樂播放器當前正在播放音樂是其或假。下面將更詳細描述,在一個實施例中,在調用通知API時,或者在重新評估用戶規則和例外時,也可以評估環境是為真還是為假的判決。作為附加的特徵,系統還可以跟蹤調用程序的過程處理,使得如果過程終止而無須首先把環境值設為它的預設「假」值,那麼只要系統檢測到初始過程不再存在(在一個實施例中,當過程終止時把過程處理狀態設為信號,該狀態變化由觀察過程處理的系統所提取),系統就重置環境值。這確保如果過程意外地終止或者忘記重置環境,那麼不會過度影響進一步通知的傳遞。例如,如果在上例中音樂播放器程序已被關閉並且過程不再存在,則環境被自動地重置為假。舉另一個例子,如果程序最初宣布用戶為繁忙,但接著程序失效,使得過程不再存在,則把環境自動地設為假,而不是使用戶陷於不會接收到通知的狀態中。在任何情況下,無論環境是否被主動地設置或者用函數來評估,在一個實施例中,環境一般可以被分析為或為真或為假。
返回圖3,在方框226處,向系統中存儲的用戶環境添加環境信息。這個過程通過附加的程序宣布環境來重複。此外,如上所述,當用戶打開或關閉不同的程序並且從事不同的任務時,已經宣布的環境為真或為假的狀態會隨時間而變化。
如上所述,在一個實施例中環境的註冊是一個宣布的過程。下面將更詳細地描述,在用戶環境系統中,通過註冊用戶環境,可以向用戶給出一環境表列,使用戶可以選擇不接受特定的環境或者如果用戶不同意環境參數則改變他們所指的內容。如上所述,在一個實施例中,環境可以包括可以為真或為假的條件、以及如果條件為真則對通知做什麼處理的指令。在這一點上,用戶環境可以包括特定的程序設計元素,比如人類可讀字符串(用於終端用戶得知所指的意思);唯一標識符(比如全局唯一標識符、aka GUID),使得程序可以告知作業系統該環境為真還是不為真;以及可以包括一聲明的指令,該聲明通過屏幕上繪製的通知來指出該環境的意思(可以包括侵入性級別、聲音和音量)。如下面更詳細描述的,環境也可以是動態的。
圖4是說明在調用通知API時要把環境評估為真或為假的例程230的流程圖。在判決框232處,確定在調用通知API時是否要評估用戶環境。如果要評估用戶環境,則例程進行到方框234。如果在調用通知API時不要評估用戶環境,則例程終止。在方框234中,用戶環境被評估為真或為假。
如圖3和4且如上所述,環境可以被前攝地設置,或者它可以是在有關時刻被評估的函數。例如,程序可以主動地注意到用戶正在聽音樂。舉另一個例子,當評估通知時,程序也許已經註冊了它的回叫,使得在評估通知時,系統詢問該程序環境是否為真。其中這第二過程特別重要的情況的例子是當用戶環境與用戶規則結合以形成動態環境時。(下面會詳細描述用戶規則)。與用戶規則結合的用戶環境的特定例子會是用戶已經設定了一個規則,該規則聲明「我正在會見的人總是可以向我發送通知無論我是否處在繁忙狀態」。在這種情況下,「當用戶在開會」的用戶環境可以根據用戶正在與誰會見而進一步被評估。在該例中,處理會議的程序可以將其註冊為動態的環境,而且當評估通知時,相對於該環境而評估發送該通知的人(由於參見會議的人會隨時間而變化,因此這不會被前攝地宣布為真或為假)。換言之,這個特定例子要求按照取決於其它用戶環境的用戶規則來評估用戶的環境。
圖5是說明用戶可以調節環境並創建新規則的例程240的流程圖。在方框242中,確定用戶是否希望調節環境。如果用戶不希望調節環境,則例程進行到判決框246,下面將詳細描述。如果用戶希望調節環境,則例程進行到方框244,其中用戶對環境作出修改。
在一實施例中,可以向用戶呈現已經被提供的環境,呈現方式是允許用戶或者關閉環境(例如用戶不同意程序對環境的評估)、或者根據對通知傳遞的影響而改變環境。更具體的例子是,用戶環境可以包括類似「當任何應用程式正以全屏模式運行時」;「當我在播放音樂或影碟時」;「當我的會議管理器顯示我正在開會時」;或者「當我的不在辦公室助手被開啟時」等等。對於這些中的每一個而言,會允許用戶選擇指定一個指令,當給定條件為真時,到來的通知應該服從所選的步驟。這些指令會指明例如是否或者怎樣在屏幕上繪製通知、以及通知會作出的聲音或音量。對於音量而言,用戶可以在給定的調節選項指定期望音量的百分比。對於在屏幕上繪製通知的選項而言,可以向用戶提供選項比如根本不繪製通知、或者僅在指定的外部顯示器上繪製通知、或者在當前屏幕上繪製通知。為了通知的繪製可以指定不同級別的侵入性。例如,如果用戶正在運行最大化的應用程式,使得環境略微受限制,則侵入性設置可以是使通知仍能繪製,但可能僅出現在側邊條內。
返回圖5,在判決框246處,確定用戶是否希望創建新的用戶規則。如果用戶不希望創建新的用戶規則,則例程繼續到判決框250,下面將詳述。如果用戶希望創建新的用戶規則,則例程繼續到方框248,其中創建新的規則。通常,用戶規則規定了應該怎樣處理包含指定元素的通知。例如,規則可以規定來自指定人的通知總是應該被立即傳遞,該規則可應用於全部通知,無論哪個程序始發該通知,只要它來自該指定人。更具體的例子是有,其它用戶規則可以指向類似「Bremeton,華盛頓的MSN自動話務警示」以及「來自John Doe的重要電子郵件」。作為來自JohnDoe的重要電子郵件的用戶規則的例子,規則可以規定來自John Doe、文本中有「緊急」、且標記為「高優先級」的任何電子郵件都應該服從指定的處理條件。處理條件可指定通知應被立即傳遞,且應該要求用戶確認這一點。通常,要求用戶確認通知意味著在通知侵入性的形式中有略微提升的高度,因為通知會留在屏幕上直到用戶特別消除它為止。在一實施例中,要求用戶確認僅僅可以通過用戶規則來設置。舉另一個例子,規則也可以指定以指定的音量為通知播放常規聲音,以便向用戶提供一報警,指示特殊的通知已經到達。如可由用戶環境所確定的,可以為在用戶的「正常」或「繁忙」條件期間應該怎樣處理通知而選擇不同的設置。處理指令也包括類似通知的路由選項,比如「把通知從John Doe傳遞到我的尋呼機」。在一實施例中,當評估環境時,最限制性的當前為真的環境是所應用的環境。當評估用戶規則時,這意味著特定的通知已經與用戶創建的規則相匹配,這種情況下從已經與通知匹配的用戶規則應用最侵入性的設置。換言之,在用戶規則中,用戶指定了某些事物是重要的,該步驟會服從用戶的偏好。如果在兩個規則間存在衝突,則應用最侵入性的。
在一實施例中,用戶規則也可以控制通知從特定通知服務而來的傳遞。例如,按照通知服務提供通知的作業系統可以為用戶提供修改怎樣傳遞通知的方式。例如,指定的通知服務可以提供「西雅圖的話務警報」,用戶可以編輯該傳遞,使得當接收到這種通知時,系統應該「顯示該通知並且播放聲音」。
參照圖5,在判決框250處,確定用戶是否希望調節已經存在的用戶規則中的任何規則。如果用戶不希望調節任何規則,則例程終止。如果用戶希望調節用戶規則,則例程進行到方框252,其中用戶對規則作出修改。
如上參照圖3-5所設,用戶環境和用戶規則是由作業系統、程序和用戶所設定的。系統按照用戶偏好適當地代理並連續排列通知的傳遞。可以向用戶呈現用戶環境和用戶規則,使得用戶可以修改或調節各種環境和規則,或者創建新的規則。這向用戶提供了管理怎樣處理通知的優先權的集中方式。可以理解,這允許用戶有效地管理計算系統中希望向用戶發送通知的許多競爭元件。
圖6是說明用於按照用戶環境和用戶規則處理通知的例程300的流程圖。在方框302處,作業系統或任意程序調用通知API。在判決框304處,確定是否應該把通知記錄到通知歷史。如果要記錄通知,則例程繼續到方框306,其中把通知記錄歷史。如果不要記錄通知,則例程繼續到判決框310。
在判決框310處,確定通知是否與任何用戶規則相匹配。如果通知與任何用戶規則匹配,則例程繼續到方框312,其中服從用戶規則(根據通知內容加上用戶環境),例程繼續到圖7中繼續到點A。如果在判決框310中通知不與任何用戶規則匹配,則例程繼續到判決框320。
在一實施例中,用戶規則總是比當前的用戶環境重要。如上所述,用戶規則可以基於通知的任何元素。例如,可以向所有通知應用基於對開始該通知的人的評估的規則,無論哪個程序開始該通知,只要它是來自該規則所基於的人(例如「JohnDoe」總是可以聯繫到我)。此外,即使在會使通知不繪製的環境期間,通知也可以繪製在屏幕上(例如「與我會見的人總是可以向我發送通知」,即使用戶環境一般聲明該用戶不會在會議期間接收通知)。
參照圖6,在判決框320處,確定當前時間是否繪製通知(僅根據用戶環境)。如果可以在當前時間繪製通知,則例程繼續到方框322,其中繪製通知,並且提供適當的聲音和音量。如果不適於在當前時間繪製通知,則例程繼續到判決框330。
在判決框330處,確定通知是否到期。如果通知已到期,則例程繼續到方框332,其中通知被破壞。如果通知未到期,則例程繼續到方框334,其中通知被推遲,且例程繼續到圖7中繼續到點B。
圖7是說明用按照指定的用戶規則處理通知的例程350的流程圖。該例程從來自圖6的點A繼續,如上所述。如圖7所述,在判決框352處,確定通知是否應被路由。如果通知不要被路由,則例程繼續到判決框362,下面會詳述。如果通知要被路由,則例程繼續到方框354,其中通知根據指定被路由。當通知被路由時,這指示通知包含與用戶規則相匹配的元素,這要求通知被切換到另一系統。這可以在用戶繁忙時發生,或者在與用戶規則內指定的標準相匹配的任何通知時發生,無論用戶是否可用。例如,其中有單詞「緊急」的通知總是會被轉發到用戶的尋呼機,而其它通知可能僅根據用戶規則和環境的組合而被路由。
某些路由指令的例子包括「把該通知轉發到郵件地址」;「把該通知轉發到另一臺PC」;「把該通知轉發到尋呼機」;「把該通知轉發到蜂窩電話」;或者「把該通知轉發到電子郵件伺服器」。下面將詳述,如果通知被路由,它也可以被傳遞並且在屏幕上繪製。此外,通知所轉發到的設備可能實現這個相同的環境系統,在該設備上會有用戶環境的其它或不同的知識,該設備上的環境系統會選擇對通知作出不同的行動。
參照圖7,在判決框362處,確定是否要拒絕該通知。如果通知不被拒絕,則例程繼續到判決框366,下面將詳述。如果通知要被拒絕,則例程繼續到方框364,其中通知被破壞並且不被用戶所見。換言之,不允許被拒絕的通知繪製或發出噪聲。例如,這會根據一用戶規則而發生,該用戶規則聲明當通知到期時應該拒絕特定的通知,或如上面參照圖6的方框332所述。
參照圖7,在判決框366處,確定通知是否應被推遲。如果通知不會被推遲,則例程繼續到判決框370,如下詳述。如果通知要被推遲,則例程繼續到方框368,其中保留通知直到用戶環境變化為止,例程繼續到在圖8中繼續的點B。通常,推遲通知指明會允許該通知傳遞,但用戶當前的環境或規則看上去不適於此時傳遞該通知。下面將參照圖8詳述,一旦用戶環境變化或者當用戶規則指示隨後適於傳遞時,通知會被傳遞到用戶的屏幕並且允許它繪製並/或發出聲音,這由用戶規則或用戶環境所規定。
參照圖7,在判決框370處,確定通知是否應被傳遞。如果通知不被傳遞,則例程結束。如果通知要被傳遞,則例程繼續到方框372,其中按照適當的侵入性級別繪製通知,並且提供適當的聲音和音量。換言之,允許傳遞通知,儘管它是按照用戶的環境和規則來傳遞的(例如可以允許繪製通知但要求靜音)。
圖8是說明用於推遲通知的傳遞的例程380的流程圖。該例程從圖6或7的點B繼續,如上所述。如圖8所述,在方框382處,保留通知。在方框384處,系統監視對為真或為假的所宣布環境的變化,或者監視規定現在適於傳遞通知的用戶規則。在判決框386處,確定用戶環境是否已變化,或者用戶規則規定現在適於傳遞通知。如果用戶環境未變化或者如果沒有用戶規則另外規定,則例程返回方框382,其中繼續保留通知。如果用戶環境已變化或者如果用戶規則規定現在可能適於傳遞通知,則例程繼續到在圖6中繼續的點C。圖6中的點C返回到判決框304,其中用於評估通知的過程重新開始。
圖9是說明用於按照各種限制確定通知的繪製的例程400的流程圖。可以理解,該例程可以作為通知處理的一部分來實現,比如在圖6的方框322處或者在圖7的方框372處。通常,當通知進入系統時,評估當前為真的所有環境,按照用戶的當前狀態應用通知最具限制性的設置。如圖9所述,在判決框402處,確定是否根本不應繪製通知。如果根本不應繪製通知,則例程繼續到方框404,其中設置通知不繪製在任何顯示器上。如果要繪製通知,則例程繼續到判決框406。
在判決框406處,確定通知是否應被繪製但是僅在外部繪製。如果通知僅在外部繪製,則例程繼續到方框408,其中繪製通知但是僅在外部硬體顯示器上繪製。如果不在外部硬體顯示器上繪製通知,則例程繼續到判決框410。
在判決框410處,確定是否應在當前顯示器上繪製通知。如果要在當前顯示器上繪製通知,則例程繼續到方框412,其中在當前顯示器上按照適當的侵入性級別繪製通知。如果通知不被繪製在當前顯示器上,則例程結束。
圖10是說明按照各種限制,確定要為通知的聲音播放的音量的例程420的流程圖。如上面參照圖9所述,可以理解,該例程可以作為通知處理的一部分來實現,比如在圖6的方框322處或者在圖7的方框372處。當通知進入系統時,評估當前為真的所有環境,並且按照用戶的當前狀態對通知應用最具限制性的設置。如圖10所述,在判決框422處,確定通知是否應被靜音。如果通知要被靜音,則例程繼續到方框424,其中不為通知提供任何音量。如果通知不要被靜音,則例程繼續到判決框426。
在判決框426處,確定是否應為通知提供某些百分比的音量但低於滿音量。如果要提供某些百分比的音量,則例程繼續到方框428,其中以指定的百分比音量播放通知。如果不要提供指定的百分比音量,則例程繼續到判決框430。
在判決框430處,確定是否應為通知提供滿音量。如果要提供滿音量,則例程繼續到方框432,其中以滿音量級播放通知。如果不提供滿音量,則例程結束。在一實施例中,除了為通知提供不同音量級別以外,也可以按照用戶環境和規則為通知選擇不同的聲音。
可以理解,參照圖1-10所述的用戶環境系統控制來自各個源的通知傳遞,使得通知彼此間不再衝突,因為系統適當地代理並且連續排列它們在屏幕上的呈現。此外,由用戶環境系統所處理的通知可以被認為更有價值,因為它們是在用戶更能接收他們的時候被傳遞的,此外,公共規則的使用幫助用戶刪除了不期望的通知。
圖11-14是指測試通知的評估。下面將詳述,按照本發明的一方面,可以由任何程序使用測試通知來獲得有關用戶環境的當前狀態的信息。這方面的一個優點是通過親自解釋什麼通知應該看似如何或者通知應該被傳遞的方式,用戶環境信息可由任何程序獲得,無論程序是否要使用系統內已經內建的服務,或者無論程序是否要擴展它。換言之,將來的程序具有更高級的通知,它們不被設計成被系統向它們提供的呈現所限制,這些程序仍將能使用測試通知來獲得有關用戶當前環境的信息。這種更高級的通知可能隨著通知內容繼續增長和變化而發生,通知的新用戶界面繼續發展。
例如,將來的用戶界面可以提供僅在用戶不「繁忙」時繪製的豐富的全屏動畫。例如,當CD-ROM加速旋轉時(由於技術約束條件,從首次插入CD到可以讀取CD之間會有一段時間,即使知道CD在驅動器內——在這段時間內會使用動畫向用戶顯示系統知道該CD,但只是還不能從中讀取),把CD放入CD-ROM驅動器會在屏幕上給出CD的動畫。通過使用本發明的測試通知,動畫程序將能夠得知用戶的當前環境,並且如果用戶現在未準備好接收通知,則選擇不顯示在屏幕上。
舉另一個例子,將來的即時消息傳遞程序可以為通知研發新的用戶界面,這不能用當前的通知引擎來實現。需要這種新用戶界面的發展作為在當前競爭性市場中所需靈活性的一部分。按照本發明,即時消息傳遞程序會繼續使用測試通知來確定它是否應該按照用戶的當前環境顯示或不顯示其更高級的通知。
按照本發明另一方面,可以使用測試通知來防止產生不希望的通知。這方面可應用於試圖向系統發送通知的任何程序。換言之,通過使系統能更多地知道用戶的環境,可以防止由程序產生不希望的通知,因此前攝地終止這類通知的生成,知道用戶處在能接收的狀態為止。下面的例子幫助說明了本發明的這方面。
舉一個例子,即時消息傳遞程序可以提供一個聯繫人列表。測試通知能夠按照每個聯繫人接入環境系統(例如「如果Tom現在正向你發送即時消息,會顯示麼?」以及「如果Chris現在正向你發送即時消息,會顯示麼?」)。根據該信息,即時消息傳遞程序可以開始向單個聯繫人廣播明確的繁忙或空閒狀態。可以使用該技術來優先停止產生不希望的通知,而不是僅在接收到它們時才抑制它們。
舉另一個例子,如果用戶繁忙,郵件程序會利用這點向發送者提供自動回復(或者根據用戶已提供的規則向所有發送者提供,比如「我的直接報告」或「我的管理器」)。自動回復可以指示「我現在很忙,但有機會會回復」。通常,總體的系統通信可以通過向任意程序呈現用戶環境來改進。
如上所述,按照本發明,應用程式能夠構造一測試通知並且特別接收回是否會在當前時間在屏幕上繪製實際通知。如上所述,這允許程序即使在發展了通知的新用戶界面以後仍繼續使用用戶環境系統。此外,通過為其它程序啟用這些新的較豐富的場景,根據能增加對有關用戶行為和偏好的信息的訪問,使用該系統的所有程序可以被認為較豐富且較智能。
圖11是說明按照本發明用於處理測試通知的一般例程500的流程圖。該例程類似於圖2用於處理實際通知的例程。如圖11所述,在方框502處,調用測試通知API。在方框504處,相對於作業系統及任意程序所設定的、並且由用戶進一步認可或修改的用戶環境、以及相對於用戶所設定的用戶規則,而評估測試通知的元素。在方框506處,按照測試通知的評估結果提供有關應該怎樣處理測試通知的指示。然後把該指示返回到調用應用程式。
在一實施例中,當作業系統或任意程序決定它需要理解用戶目前有多繁忙時,調用測試通知API。這會在何時發生的一個例子是存在一個是否要在屏幕上繪製通知的判決點。另一個例子是使用該數據來通知程序希望代表用戶採取的行為。
當調用測試通知API時,如果調用程序正在使用用戶環境系統的通知方法來發送實際通知,調用程序就構造一接近於它會發送的通知,然後使用任選方法來進行測試(這返回結果並且還確保這個特定的通知不會被顯示在屏幕上)。這個過程的一個例子是希望根據當前用戶的環境向各個聯繫人廣播適當的空閒或繁忙狀態的即時消息傳遞程序。即時消息傳遞程序會為每個聯繫人創建一個測試通知,並且根據返回值按每個聯繫人逐一廣播不同的空閒或繁忙狀態。另一個例子將是程序希望根據用戶環境顯示動畫(例如上述的CD-ROM動畫示例)。希望顯示動畫的編碼會構造一通知(在該情況下,內容只是一個具有圖像或動畫序列的簡單通知,因為這只是有關給定的通知是否會繪製的測試),然後使用測試方法,接著會使用返回結果作為當前是否應播放動畫的嚮導。在一實施例中,呼叫代碼一般至少會把可能的最基本通知提升為測試通知。如果存在可用的較豐富數據(比如來自聯繫人列表的聯繫人),則包括該信息會使測試通知更為準確,因為用戶可能會根據用戶的不同而有定製的用戶規則,這會影響所返回的結果。
可以為通知測試API使用的一種實現是輪詢實現。在上述即時消息傳遞程序示例中,對於輪詢實現而言,即時消息傳遞程序會周期性地反覆輪詢通知測試API以確定怎樣改變廣播數據。可以為通知測試API使用的另一種實現是預訂回叫實現。在這種實現中,即時消息傳遞程序會「預訂」環境變化。於是,當用戶環境以即時消息傳遞程序能夠廣播的方式變化時,環境引擎可以根據適當的更新回叫即時消息傳遞程序,而不是周期性地反覆輪詢。這在某些情況下是有利的,因為在環境變化和廣播狀態之間沒有時滯(而根據輪詢實現,會有廣播狀態與當前用戶環境不匹配的時刻)。對於其它情況而言,輪詢實現可能更為適當(因為它們是對一次性事件的響應,例如當把CD插入CD-ROM時)。
圖12是說明例程520的流程圖,該例程520用於處理一測試通知,並且返回對於是否會在當前事件繪製測試通知的為真或為假的指示。在方框522處,調用通知測試API。在判決框530處,確定測試通知是否與任何用戶規則相匹配。如果測試通知不與任何用戶規則相匹配,則例程繼續到判決框550,下面將詳述。如果測試通知與任何用戶規則匹配,則例程繼續到判決框540。
在判決框540處,確定用戶規則是否指示會在當前時間繪製測試通知。如果會在當前時間繪製測試通知,則例程繼續到方框542,其中提供的指示為真。如果不會在當前時間繪製測試通知,則例程繼續到方框544,其中提供的指示為假。
在判決框550處,確定測試通知是否能在當前時間繪製(僅關於用戶環境)。如果測試通知能夠在當前時間繪製,則例程繼續到方框552,其中提供的指示為真。如果通知不能在當前時間繪製,則例程繼續到方框554,其中提供的指示為假。例程根據指定的指示從方框542、544、552和554返回調用應用程式。
圖13是說明用於處理通知並返回詳細指示的例程600的流程圖。如上所述,圖12的例程520僅提供了指示為真或為假的返回值,關於是否在當前時間繪製通知。如下詳述,圖13的例程600返回了較豐富的返回值(例如通知不會在當前繪製,但只要用戶環境變化它就會繪製,或者它會路由到另一設備,等等)。這提供了調用編碼中較豐富的邏輯。這允許程序中的高級功能,它們能使用這種較豐富的返回值。
還應該注意,雖然返回值被描述為功能調用的一部分,在另一實施例中該數據可以作為回叫的一部分被傳遞。換言之,調用應用程式可以建立對通知的「預訂」,使得當用戶的環境隨後變化時(這會影響通知從調用應用程式而來的傳遞)會通知調用應用程式。這不要求輪詢,因此在某些情況下對於系統的穩健性和性能較為有利。
如圖13所述,在方框602處,調用通知測試API或者註冊預訂(關於輪詢相對於上述的實施例)。在判決框610處,確定測試通知是否與任何用戶規則相匹配。如果測試通知不與任何用戶規則相匹配,則例程繼續到判決框620,下面將詳述。如果測試通知與任何用戶規則相匹配,則例程繼續到方框612。在方框612處,按照用戶規則評估測試通知(根據測試通知內容加上用戶環境),且例程繼續到在圖14中繼續的點D,下面將詳述。
在判決框620處,確定測試通知是否能在當前時間繪製(僅根據用戶環境)。如果測試通知不能在當前時間繪製,則例程繼續到判決框630,下面將詳述。如果測試通知能夠在當前時間繪製,則例程繼續到方框622。在方框622處,例程按照用戶環境確定什麼聲級會是適當的。在方框624處,提供一指示,指明通知會繪製,並且還包括會適用於該通知的百分比聲級。
在判決框630處,確定是否會保留測試通知以留待稍後的傳遞(根據測試通知內容加上用戶規則)。如果會保留測試通知留待以後傳遞,則例程繼續到方框632,其中提供了推遲的指示。如果不會保留測試通知留待稍後的傳遞,則例程繼續到方框634,其中提供了拒絕的指示。例程根據指定的指示從方框624、632和634返回調用應用程式。
圖14是用於按照用戶規則評估測試通知的例程650的流程圖。例程從圖13的點D繼續。如圖14所述,在判決框652處,確定測試通知是否應被路由。如果測試通知要被路由,則例程繼續到方框654,其中提供路由的指示,且例程繼續到判決框662。如果測試通知不要被路由,例程也繼續到判決框662。
在判決框662處,確定測試通知是否會被拒絕。如果測試通知會被拒絕,則例程繼續到方框664,其中提供拒絕的指示。如果測試通知不會被拒絕,則例程繼續到判決框666。
在判決框666處,確定測試通知是否會被推遲。如果測試通知會被推遲,則例程繼續到方框668,其中提供推遲的指示。如果測試通知不會被推遲,則例程繼續到判決框670。
在判決框670處,確定測試通知是否會被傳遞。如果測試通知會被傳遞,則例程繼續到方框672,其中提供傳遞的指示。在一實施例中,傳遞指示還可以包括指定的侵入性指示以及聲音和音量指示。如果測試通知不會被傳遞,則例程返回調用應用程式。例程根據指定的指示從方框664、668和672返回調用應用程式。
可以理解,上述關於圖1-14描述的本發明提供了一種使用測試通知的系統和方法,它使程序能獲得與用戶的可用性有關的指示。通過使程序能更多地知道用戶的環境,可以防止在源頭處產生不希望的通知,因此允許僅當用戶處在可接受的狀態下時產生通知。此外,程序能夠使用測試通知來確定用戶的環境,即使程序一般為其自身的通知使用不同的用戶界面。這些方面允許在用戶環境系統的潛在使用中更大的靈活性。這些方面還允許其它程序更豐富的場景,使得系統總體根據用戶行為和偏好變得較豐富和較智能。
雖然已經說明並描述了本發明的優選實施例,然而可以理解,這裡可以作出各種變化而不背離本發明的精神和範圍。
權利要求
1.在向用戶傳遞通知的計算機系統中,一種使用測試通知的方法,包括接收測試通知;評估所述測試通知但是不把它傳遞給用戶;以及返回有關測試通知評估結果的指示。
2.如權利要求1所述的方法,其特徵在於,所述測試通知模擬了實際通知,且評估結果指明是否會把實際通知傳遞給了用戶。
3.如權利要求1所述的方法,其特徵在於,所述測試通知的評估是按照用戶環境完成的。
4.如權利要求3所述的方法,其特徵在於,所述用戶環境包括可能為真或為假的條件以及如果條件為真就要服從的指令。
5.如權利要求4所述的方法,其特徵在於,所述用戶環境的條件旨在與要接收通知的用戶的可用性有關,而指令涉及是否應該向用戶傳遞通知。
6.如權利要求1所述的方法,其特徵在於,所述測試通知的評估是按照用戶規則完成的,所述用戶規則規定了包含一定指定內容的通知怎樣被處理。
7.如權利要求1所述的方法,其特徵在於,實現了一種輪詢方法,以便使用附加的測試通知來反覆輪詢系統以確定指定的變化何時發生。
8.如權利要求1所述的方法,其特徵在於,實現了一種預訂方法,以使系統在變化發生時自動地提供指示。
9.如權利要求1所述的方法,其特徵在於,有關測試通知的評估結果的指示包括傳遞指示。
10.如權利要求9所述的方法,其特徵在於,所述傳遞指示或為真或為假。
11.如權利要求9所述的方法,其特徵在於,所述指示還包括路由或推遲指示之一。
12.如權利要求9所述的方法,其特徵在於,所述指示還包括侵入性指示。
13.如權利要求9所述的方法,其特徵在於,所述指示還包括音量指示。
14.一種計算機可讀媒介,其具有用於實現使用測試通知的方法的計算機可執行組件,包括接收測試通知;評估所述測試通知但不把它傳遞給用戶;以及返回有關測試通知的評估結果的指示。
15.如權利要求14所述的方法,其特徵在於,所述測試通知模擬了實際通知,且評估結果指明是否會把實際通知傳遞給用戶。
16.如權利要求14所述的方法,其特徵在於,所述測試通知的評估是按照用戶環境完成的,所述用戶環境包括一條件以及取決於所述條件的狀態而要遵循的指令。
17.如權利要求16所述的方法,其特徵在於,所述條件可以為真或為假,並且如果條件為真就要遵循的指令。
18.如權利要求17所述的方法,其特徵在於,所述用戶環境的條件旨在與要接收通知的用戶的可用性有關,而指令涉及是否應該向用戶傳遞通知。
19.如權利要求14所述的方法,其特徵在於,所述測試通知的評估是按照用戶規則完成的,所述用戶規則規定了包含一定指定內容的通知怎樣被處理。
20.如權利要求14所述的方法,其特徵在於,實現了一種輪詢方法,以便使用附加的測試通知來反覆輪詢系統以確定指定的變化何時發生。
21.如權利要求14所述的方法,其特徵在於,實現了一種預訂方法,以使系統在變化發生時自動地提供指示。
22.如權利要求14所述的方法,其特徵在於,有關測試通知的評估結果的指示包括傳遞指示、路由指示或推遲指示中的至少一個。
23.在向用戶傳遞通知的計算機系統中,一種使用測試通知的方法,包括接收模擬實際通知的測試通知;以及評估所述測試通知並且提供有關是否會傳遞了所述實際通知的指示。
24.如權利要求23所述的方法,其特徵在於,所述測試通知從調用應用程式接收到,並且把有關是否會傳遞了實際通知的指示返回給所述調用應用程式。
25.如權利要求23所述的方法,其特徵在於,所述測試通知的評估是按照用戶環境完成的。
26.如權利要求25所述的方法,其特徵在於,所述用戶環境包括可以為真或為假的條件以及如果條件為真就要遵循的指令。
27.如權利要求26所述的方法,其特徵在於,所述用戶環境的條件旨在與要接收通知的用戶的可用性有關,而指令涉及是否應該向用戶傳遞通知。
28.如權利要求23所述的方法,其特徵在於,所述測試通知的評估是按照用戶規則完成的,所述用戶規則規定了包含一定指定內容的通知怎樣被處理。
29.如權利要求23所述的方法,其特徵在於,實現了一種輪詢方法,以便使用附加的測試通知來反覆輪詢系統以確定指定的變化何時發生。
30.如權利要求23所述的方法,其特徵在於,實現了一種預訂方法,以使系統在變化發生時自動地提供指示。
31.如權利要求23所述的方法,其特徵在於,有關實際通知已被傳遞的指示還包括與實際通知已怎樣被處理有關的附加指示。
32.一種計算機可讀媒介,其具有用於實現使用測試通知的方法的計算機可執行組件,包括接收模擬實際通知的測試通知;評估所述測試通知並且提供有關是否會已傳遞所述實際通知的指示。
33.如權利要求32所述的方法,其特徵在於,所述測試通知是從調用應用程式接收到的,並且把有關是否已傳遞實際通知的指示返回到所述調用應用程式。
34.如權利要求33所述的方法,其特徵在於,所述測試通知的評估是按照用戶環境完成的。
35.如權利要求34所述的方法,其特徵在於,所述用戶環境包括可以為真或為假的條件以及如果條件為真就要遵循的指令。
36.如權利要求35所述的方法,其特徵在於,所述用戶環境的條件旨在與要接收通知的用戶的可用性有關,而指令涉及是否應該向用戶傳遞通知。
37.如權利要求33所述的方法,其特徵在於,所述測試通知的評估是按照用戶規則完成的,所述用戶規則規定了包含一定指定內容的通知要怎樣被處理。
38.如權利要求33所述的方法,其特徵在於,實現了一種輪詢方法,以便使用附加的測試通知來反覆輪詢系統以確定指定的變化何時發生。
39.如權利要求33所述的方法,其特徵在於,實現了一種預訂方法,以使系統在變化發生時自動地提供指示。
40.如權利要求33所述的方法,其特徵在於,有關是否已傳遞實際通知的指示還包括與怎樣處理了實際通知有關的附加指示。
41.一種使用測試通知的系統,包括用於接收測試通知的裝置;用於評估測試通知但不把它傳遞給用戶的裝置;以及用於返回與所述測試通知的評估結果有關的指示的裝置。
42.如權利要求41所述的系統,其特徵在於還包括按照用戶環境評估測試通知的裝置。
43.如權利要求41所述的系統,其特徵在於還包括按照用戶規則評估測試通知的裝置。
44.如權利要求41所述的系統,其特徵在於還包括用於實現輪詢方法的裝置,其中使用附加的測試通知來反覆輪詢系統以確定指定的變化何時發生。
45.如權利要求41所述的系統,其特徵在於還包括實現預訂方法的裝置,其中系統在變化發生時自動地提供指示。
46.一種使用測試通知的系統,包括用於接收模擬實際通知的測試通知的裝置;以及用於評估測試通知並且提供與是否已傳遞所述實際通知有關的指示的裝置。
47.如權利要求46所述的系統,其特徵在於還包括按照用戶環境評估測試通知的裝置。
48.如權利要求46所述的系統,其特徵在於還包括按照用戶規則評估測試通知的裝置。
49.如權利要求46所述的系統,其特徵在於還包括用於實現輪詢方法的裝置,其中使用附加的測試通知來反覆輪詢系統以確定指定的變化何時發生。
50.如權利要求46所述的系統,其特徵在於還包括實現預訂方法的裝置,其中系統在變化發生時自動地提供指示。
全文摘要
一種使用測試通知的系統和方法。按照用戶的當前環境,應用程式能夠構造一測試通知,該測試通知被發送至用戶環境系統,所述程序接收回一指示,指明通知在當前時間在屏幕上被繪製或不被繪製。在另一實施例中,調用應用程式接收回較豐富的指令,比如有關是否要推遲或路由通知的細節、它會被播放的聲級等等。在輪詢實現中,應用程式可以周期性地重新發送測試通知來反覆輪詢系統以確定是否發生變化。在預訂實現中,應用程式可以向系統預訂以接收在發生變化時提供的更新。
文檔編號G06F13/00GK1534469SQ20041003224
公開日2004年10月6日 申請日期2004年3月26日 優先權日2003年3月26日
發明者T·P·麥克基, F·A·迪伯裡, T P 麥克基, 迪伯裡 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀