專利名稱:多個服務實例的聚合的制作方法
多個服務實例的聚合背景隨著在線服務訂閱的流行度日益增加,存在對于管理服務訂閱的需要,尤其是在用戶訂閱來自相同或來自不同的服務提供者的多個邀約的情況下。當用戶訂閱來自單個服務提供者的單個邀約時,對服務訂閱的供應和管理是相對直接的。服務提供者記住該邀約、構成該邀約的服務、服務專用的屬性以及用戶信息。允許用戶使用該邀約的服務。當用戶決定取消該邀約時,該邀約所供應的服務被服務提供者取消供應。然而,當用戶想要訂閱來自單個服務提供者(或向不同的服務提供者)的多個邀約,并且該邀約包括重疊的服務時,則供應、取消供應以及管理訂閱的任務可能更為困難。對于用戶而言,一種解決方案可能是為用戶訂閱的每個邀約創建新的用戶賬戶。然而,記住多個用戶賬戶對于用戶而言可能是困難且容易混淆的,并且對于一個(或多個)服務提供者而目也是不太效的。 因此,在涉及多個服務訂閱的服務供應以及協調的技術方面存在很大的改進機
A
"Z o概述總言之,詳細描述涉及包括協調重疊服務的服務屬性在內的服務供應的各種技術和解決方案。根據此處描述的技術和解決方案的一個方面,一種用于向用戶供應服務的方法包括接收供應請求,其中所述供應請求包括要將服務供應給用戶的請求,所述服務由服務標識符表示,所述用戶由用戶標識符表示,并且其中所述供應請求還包括服務的新服務屬性。所述方法還包括將服務的新服務屬性與服務的當前服務屬性進行協調,其中所述協調包括獲得一個或多個先前供應給用戶的服務實例的當前服務屬性,并且基于所獲得的當前服務屬性和新服務屬性來確定服務的有效服務屬性。所述方法還可包括將所述有效服務屬性作為要用于用戶的服務的屬性來應用。所述方法可至少部分地由服務供應系統來實現。根據此處描述的技術和解決方案的另一方面,一種用于向用戶供應服務的方法包括接收要向用戶供應服務的供應請求,存儲表示所述供應請求的新的服務實例,并且將該新的服務實例與相同服務的一個或多個先前存儲的服務實例進行協調以確定有效服務屬性,其中多個新的服務實例和先前存儲的服務實例包括具有不同屬性值的相同的服務屬性。服務實例可包括用戶標識符、服務標識符以及服務的服務屬性。所述方法可至少部分地由服務供應系統來實現。根據此處描述的技術和解決方案的又一方面,一種向用戶供應服務的服務供應系統,包括計算設備和數據儲存庫,其中所述計算設備被配置為執行各種服務供應操作,所述服務供應操作包括接收供應請求、(例如,在一個或多個服務實例之間)協調服務屬性以確定有效服務屬性、以及應用有效服務屬性。可獨立地或組合地實現所描述的用于包括協調多個服務實例的服務供應的解決方案的技術和工具。
附圖
簡述圖I)是示出用于供應服務和協調服務屬性的示例性環境的圖。圖2)是示出用于供應服務和協調服務屬性的示例性方法的流程圖。圖3)是示例性供應狀態圖。圖4)是示出用于協調服務屬性的示例性方法的流程圖。圖5)是示出用于供應服務和協調服務實例的示 例性方法的流程圖。圖6)是示出示例性服務聚合環境的圖。圖7)是示出可用于實現本文描述的任何技術的計算環境的示例的框圖。圖8)是示出其中可利用本文描述的技術的實現環境的示例的框圖。詳細描述以下描述涉及用于包括協調重疊服務的服務屬性在內的服務供應的各種技術和解決方案。各種技術和解決方案可組合或單獨使用。不同的實施例可實現所描述的技術和解決方案的一個或多個。I.示例服務供應此處描述了用于服務供應的各種技術和解決方案。可對任何類型的服務(例如,計算相關的服務)執行供應任務(例如,供應服務、取消供應服務或管理服務訂閱或示例等的任務)。例如,服務可包括web郵件服務、應用服務(例如,在線文字處理應用、電子表格應用等)、網站服務、在線文件存儲服務、在線教育賬戶服務、游戲服務、電話(例如,移動電話)服務等。另外,還可使用此處描述的技術和解決方案來供應除計算相關的服務之外的服務。服務可單獨供應或者作為邀約的一部分來供應。邀約(例如,市場營銷(go-to-market)邀約或訂閱)可以是對一個或多個服務的邀約。例如,邀約可包括相關服務包(例如,業務相關的應用服務的集合)。用戶(訂閱者)可訂閱單個服務或多個服務。用戶可單獨地訂閱服務或作為邀約(其可包括多個相關的服務)的一部分來訂閱服務。如果用戶訂閱單個服務,則向用戶供應該服務可包括存儲服務實例并應用服務屬性。當多個邀約在它們包括的服務中有重疊時(或者如果用戶訂閱具有不同屬性的相同服務的不同變型時),尤其是它們跨不同的邀約在服務所包括的屬性方面有所不同時,向用戶供應服務可能更為困難。一個示例是向用戶供應郵箱,這是可被包括在許多邀約(或訂閱)中的常見服務。一個邀約可包括5千兆字節收件箱存儲限制,而另一個邀約可包括20千兆字節收件箱存儲限制。為確定用戶將接收到哪個存儲限制(例如,5千兆字節收件箱還是20千兆字節收件箱),可跨已經供應給用戶的服務的不同實例來協調服務屬性。在遇到不同的供應(和取消供應)情景時,此處描述的各種供應技術和解決方案可用于正確地向用戶供應服務。例如,此處描述的技術和解決方案可用于向用戶供應第一訂閱上的服務、當其他訂閱被購買或移除時適當地更新屬性、并且確保供應給用戶的服務直到用戶沒有包括該用戶服務的其余的訂閱時(在沒有用戶服務的其余服務實例的情況下)才被完全移除。II.示例服務供應環境用于服務供應的各種技術和解決方案可在服務供應環境中實現。例如,服務供應環境可為多個內部和/或外部服務提供者管理服務供應任務(例如,服務的存儲、供應和取消供應)。圖I)示出用于供應服務和協調服務屬性的示例環境I) 00。在服務供應環境I)00中,服務供應系統I) 10為服務提供者1)20執行供應任務。服務提供者1)20向他們的各個用戶1)30提供服務。服務供應系統1)10可包括各種計算設備(例如,計算機服務器、數據庫服務器等)、業務規則和業務邏輯以及用于執行服務供應任務的其他硬件和/或軟件。在示例環境1)00中,服務供應系統1)10執行服務供應任務。這些任務包括從服務提供者1)20接收請求并對請求作出響應(例如,向用戶供應服務的請求、取消向用戶供應服務的請求、以及對服務和/或用戶的信息的請求,諸如特定服務/用戶的有效服務屬性)。服務供應系統I) 10還對來自各程序/市場營銷程序1)40 (例如,訂閱者程序、店面、中間商等)的請求作出響應,諸如向用戶供應服務的請求以及取消向用戶供應服務的請求。程序的示例是Office Live程序、LiveOedu程序、Windows Mobile市場(全部由微軟公司提供)以及Amazon, com (由亞馬遜Amazon, com有限公司提供)。程序1)40可以是消費者通過其來購買服務(即邀約)的實體,諸如店面(例如,基于web的店面)。例如,使用程序1)40,用戶可購買服務訂閱、升級/降級服務訂閱、取消服務等。例如,服務供應系統I) 10可從LiveOedu程序(例如,程序1)40之一)接收供應請求以向特定用戶供應web郵件賬戶。響應于來自LiveOedu程序的請求,服務供應系統I)10可向web郵件系統的服務提供者(例如,服務提供者I) 20之一)發送請求以添加具有特定服務屬性的用戶的web郵件賬戶(如果這是該用戶服務的第一實例)或用有效服務屬性來更新用戶的web郵件賬戶(如果用戶具有多個服務實例)。服務供應系統I) 10還存儲諸如邀約和/或服務數據之類的供應信息以及供應狀態數據(例如,存儲在供應數據庫中)。此外,供應系統I) 10管理供應狀態的改變并采取適當的動作(例如,協調服務屬性、確定有效服務屬性等)。服務提供者I) 20可以是內部服務提供者或外部服務提供者。內部服務提供者是與服務供應系統1)10有關的那些服務提供者(例如,他們由同一家公司或組織運作)。外部服務提供者是使用服務供應系統1)10 (例如,他們與運作服務供應系統的公司具有協議)的無關服務提供者(例如,第三方服務提供者)。服務提供者I) 20可經由網絡(例如,局域網、廣域網或因特網)與服務供應系統I) 10進行通信。程序1)40可使用服務供應系統1)10來執行服務供應任務。例如,程序1)40可將(例如,要向用戶供應服務或取消向用戶供應服務的)供應請求發送給服務供應系統I) 10。供應請求可使用由服務供應系統I) 10所提供的應用編程接口(API)來發送。響應于服務供應請求,服務提供者可接收關于用于特定的一個或多個用戶的有效服務屬性的信息。用戶I) 30是服務提供者I) 20所提供的服務的訂閱者。用戶I) 30還與程序I)40通信(例如,以購買服務訂閱、升級/降級服務訂閱、取消服務等)。III.示例供應信息可使用各種類型的信息來向用戶供應服務。例如,服務提供者可提供邀約(例如,市場營銷邀約)。邀約的示例是由因特網服務提供者所提供的web郵件賬戶的邀約。邀約可以是單個服務的邀約,或者多個服務的邀約(例如,相關服務的包或集合)。供應信息可包括標識用戶訂閱的邀約(例如,由邀約名稱或標識符來標識)的信、息。邀約可包括關于邀約中所包括的服務的信息。供應信息還可包括標識服務的信息(諸如服務名稱或標識符)以及關于服務的其他信息,諸如服務屬性。服務屬性描述服務的特性或細節。例如,web郵件服務的服務屬性可包括郵箱大小、期滿信息和被授權的設備。在具體的實現中,每一個服務屬性與相對權重相關聯。權重是可用于將同一個屬性跨所供應的服務的多個實例來進行比較以確定哪個屬性表示更好的服務水平的值。例如,如果web郵件服務的一個實例包括5GB大小(收件箱屬性的值)的收件箱(服務屬性)和權重25,而web郵件服務的另一實例包括IOGB大小的收件箱和權重35,則可基于屬性的兩個實例的各自的權重來對它們進行比較。在這一示例中,當收件箱屬性跨收件箱服務的兩個實例被協調時,比較這兩個權重(25和35)以確定具有IOGB收件箱大小的服務實例提供更好的服務水平(權重35大于權重25)。在其他實現中,可使用不同類型的服務水平指示,只要能夠跨多個實例比較各屬性以確定哪個提供更好的(即更合乎需要的)服務水平。在一具體實現中,使用在范圍0到100內變化的相對權重。
供應信息還可包括標識要向其供應一個(或多個)服務的(例如,由用戶名或標識符來標識的)用戶的信息。供應信息可以服務實例的形式來存儲(例如,在數據庫中)。在一具體實現中,服務實例表示特定用戶的特定的所供應的服務(包括服務屬性),并且還可包括邀約信息(例如,特定的邀約標識符)。IV.實例供應信息模式這一章節描述用于定義供應信息的數據模式的具體實現。然而,一般而言,描述一個或多個服務屬性的任何數據模式都可用于實現此處描述的用于服務供應的技術和解決方案。在具體實現中,邀約數據包括描述邀約和服務的供應信息。邀約包括以下信息 邀約ID (邀約的唯一標識符) 服務列表(包括在邀約中的一個或多個服務ID的列表) 服務屬性列表(每一個服務的名稱、值和權重屬性)服務包括以下信息 服務ID (服務的唯一標識符) 服務名稱(服務的描述性名稱)使用上面定義的邀約和服務模式,下面是樣本邀約/服務數據的列表。
Web郵件金牌邀約服務100 [收件箱=20GB權重=100,期滿=從不權重=100]服務300 [屬性=值權重=50] Web郵件銀牌邀約服務100 [收件箱=IOGB權重=60,期滿=1年權重=40] Web郵件三個設備邀約服務100 [收件箱=IOGB權重=60,期滿=1年權重=40,設備列表=個人電腦+電話+電視權重=100] Web郵件電話個人電腦邀約
服務100 [收件箱=IOGB權重=60,期滿=1年權重=40, 設備列表=電話+個人電腦權重=40] Web郵件僅電話邀約服務100 [收件箱=IOGB權重=60,期滿=1年權重=40, 設備列表=電話最佳=20] 單獨的Web郵件服務100 [收件箱=5GB權重=100,期滿=1年權重=40]在上面的樣本邀約數據中,Web郵件金牌邀約包括兩個服務,服務100和服務300。·服務ID為服務100的第一服務具有多個屬性。具體地,服務100具有值為“20GB”的收件箱屬性和權重100,以及值為“從不”的期滿屬性和權重100。其他邀約也包括服務100的服務,但具有不同的屬性。例如,Web郵件銀牌邀約的邀約也包括服務100,但具有IOGB的收件箱和I年期滿。服務也可在邀約之外供應。在以上的樣本數據中,單獨的Web郵件邀約指示用戶訂閱服務100而不訂閱特定邀約。使用上面定義的邀約和服務模式,下面是樣本服務數據的列表。 服務IOOWeb郵件收件箱服務 服務300另一服務在以上的樣本服務數據中,服務ID與服務名稱相關聯。例如,服務100的服務與名稱“Web郵件收件箱服務”相關聯。在具體實現中,供應狀態信息包括用戶、邀約和服務之間的關聯。 用戶ID (用戶的唯一標識符) 邀約ID (邀約的唯一標識符) 服務ID (服務的唯一標識符)使用供應狀態模式,下面是樣本的供應狀態數據的列表。 用戶1234,Web郵件金牌邀約,服務100 用戶1234,Web郵件三個設備邀約,服務100 用戶5678,Web郵件銀牌邀約,服務100如以上樣本數據所示出的,特定用戶(訂閱者)可以與多個所供應的服務實例相關聯。例如,用戶1234與兩個服務實例(重疊的服務)相關聯,各自具有服務IOOweb郵件服務的不同服務屬性。V.示例供應狀態在某些實現中,跟蹤(即確定)供應狀態以便決定需要執行哪些任務。一般而言,供應狀態指示用戶關于特定服務和/或邀約的當前狀態、要執行的動作(例如,供應服務和/或邀約或者取消供應服務和/或邀約)、以及所得到的需要執行的任務(例如,服務動作和/或屬性動作)。例如,用戶關于特定郵箱服務的供應狀態可指示,郵箱服務的一個或多個服務實例已經被供應給用戶。在這種情況下,如果要執行新的供應動作以向用戶供應郵箱服務的另一實例,則供應狀態可指示需要執行以在各服務實例之間協調服務屬性的屬性動作。圖3)是示例供應狀態圖3) 00。示例供應狀態圖3) 00指示供應狀態以及在改變狀態時要執行的適當的任務和動作。在供應狀態圖3)00中有四列。第一列“邀約動作”,指的是所請求的動作(例如,要向用戶供應邀約和/或服務或者取消向用戶供應邀約和/或服務的請求)。第二列“初始用戶狀態”,指的是用戶的服務的當前供應狀態。例如,初始用戶狀態可指示,該服務的實例尚未供應給用戶(例如,該用戶當前未訂閱該服務)。初始用戶狀態還可指示同一服務的一個實例已經被供應給用戶,或者同一服務的多個實例已經被供應給用戶(用戶已經被供應了重疊的服務)。第三列“服務動作”,指的是要執行的動作。在某些情形中,沒有動作需要執行。
在其他情形中,(例如,如果這是該服務第一次被供應給用戶)服務被添加。在還有一些情形中,(例如,如果用戶不具有該服務剩余的任何實例)服務要被移除。第四列“屬性動作”,指的是要對服務屬性執行的動作。在某些情形中,新的屬性被添加。在其他情形中,屬性被協調。在還有一些情形中,屬性被移除。在示例供應狀態圖3)00中,第一行3)10指示,在接收到要供應服務的請求(供應請求)時在該服務當前未被供應給用戶時(當初始用戶狀態指示沒有用戶的當前服務實例)執行什么任務和動作。在這一情形中,將為用戶添加該服務(服務動作)并且將存儲新服務屬性(屬性動作)。這可以導致存儲(例如,在供應狀態數據庫中)新的服務實例(指示包括服務屬性在內的服務已經被供應給用戶)。例如,如果用戶訂閱Web郵件銀牌邀約的邀約(見以上的章節IV),該邀約包括服務IOOweb郵件服務,并且用戶當前沒有所供應的服務100的實例,則這一狀態(行3)10)將適用。將為用戶添加具有由服務所指示的服務屬性(在這種情況下,IOGB收件箱和一年期滿)的web郵件服務(服務100)(例如,web郵件服務的服務提供者將分配或啟用用戶的web郵件賬戶)。服務實例隨后可被存儲(在這種情況下,服務實例可包括邀約標識符、服務標識符、用戶標識符和服務屬性)。有效服務屬性(在這種情況,一個實例的各屬性)也可被存儲和/或發送到服務提供者以在向用戶提供服務時適用。用戶還可訂閱在任何邀約之外的服務IOOweb郵件服務。例如,用戶可直接訂閱服務IOOweb郵件服務,包括特定的服務屬性(例如,I年期滿的5GB收件箱)。服務實例隨后可被存儲(在這種情況下,服務實例可包括服務標識符、用戶標識符和服務屬性)。服務實例也可包括該實例不與邀約有關的指示。在示例供應狀態圖3)00中,第二行3)20指示,在接收到要供應服務的請求(供應請求)時在該服務的一個實例當前被供應給用戶時(當初始用戶狀態指示存在用戶的一個當前服務實例)執行什么任務和動作。在這種有重疊服務的情況下,不必為用戶添加該服務(服務動作),因為用戶已經訂閱了該服務,并且將協調服務屬性(屬性動作)。將針對新的服務供應請求的屬性以及服務的當前(現有)實例的屬性來執行協調。執行協調以確定要用于服務的有效服務屬性(跨各實例表示最佳或最合乎需要的服務水平的那些屬性值)。有效服務屬性將被應用于服務,并且也可被存儲。同樣,將為新的供應請求(指示服務、服務屬性和用戶)存儲新的服務實例。例如,如果用戶訂閱Web郵件銀牌邀約的邀約(見以上章節IV),該邀約包括服務IOOweb郵件服務,且用戶先前已經訂閱了服務IOOweb郵件服務(例如,單獨的Web郵件,不是邀約的一部分,或也包括服務100的服務的另一邀約),并因此已經被供應了服務100的一個實例,則這種狀態(行3) 20)將適用。因為用戶已經訂閱了服務IOOweb郵件服務,所以將不會有服務動作。然而,將協調服務屬性以確保用戶跨各服務實例接收到最佳服務水平。使用向單獨的Web郵件的現有實例供應Web郵件銀牌邀約的請求的示例,所述協調將使用權重(具有權重60的IOGB收件箱屬性值相比于具有權重40的5GB收件箱屬性)來比較收件箱屬性(重疊服務屬性,因為收件箱屬性出現在服務的兩個實例中),從而確定有效收件箱屬性值(在這種情況下,IOGB將是有效收件箱屬性值)。類似地,將比較期滿屬性。所得的有效屬性值隨后可應用于用戶的web郵件服務(用戶將接收到I年服務期滿的IOGB收件箱)。例如,有效服務屬性可被發送至服務提供者以供在向用戶提供web郵件服務時使用。有效服務屬性也可被保存(例如,在服務供應系統處的數據庫中和/或在服務提供者處的數據庫中)。在某些情形中,可跳過將有效服務屬性更新(或發送)給服務提供者。例如,如果新的服務實例不包括具有比現有實例更好(或更合乎需要)的值的屬性,則有效屬性不必被發 送,因為它們將于當前使用的屬性相同(例如,如果用戶具有當前供應的IOGB收件箱并且新的實例是5GB收件箱,則這種情況可能發生)。在示例供應狀態圖3)00中,第三行3)30指示,在接收到要供應服務的請求(供應請求)時在該服務的多個實例當前被供應給用戶時(當初始用戶狀態指示存在用戶的兩個或多個當前服務實例)執行什么任務和動作。在這種情況下,不必為用戶添加該服務(服務動作),因為用戶已經訂閱了該服務,并且將協調服務屬性(屬性動作)。將針對新的服務供應請求的屬性以及服務的當前(現有)實例的屬性來執行協調。執行協調以確定要用于服務的有效服務屬性(跨各實例表示最佳服務水平的那些屬性值)。有效服務屬性將被應用于服務,并且也可被存儲。同樣,將為新的供應請求(指示服務、服務屬性和用戶)存儲新的服務實例。在行3) 30中執行的任務和動作與上文的行3) 20中執行的任務和動作基本上相同。唯一的區別在于,在協調屬性時比較多個現有的服務實例。例如,如果用戶已經訂閱了都包括特定服務的多個邀約,則這種情況可能發生。例如,用戶可能已經首先向特定因特網服務提供者(ISP)訂閱了 web郵件賬戶服務(在任何邀約或服務包之外)。稍后,用戶可能通過也包括web郵件賬戶服務的ISP購買了數據線訂閱(例如,電纜調制解調器或數據用戶線)。最后,用戶可能加入了大學,該大學作為向其學生提供的一種服務供應包括由ISP提供的web郵件賬戶服務的計算服務。這一活動的結果將是web郵件賬戶服務的三個服務實例,各自可具有不同的服務屬性(重疊的服務屬性)。為確保用戶接收到最佳(或最合乎需要的)服務屬性的利益,可跨三個實例來協調服務屬性并將每一屬性的最佳值選擇為有效服務屬性。有效服務屬性隨后可應用于(用于)用戶的web郵件賬戶服務。在示例供應狀態圖3) 00中,第四行3) 40指示,在接收到要取消供應服務的請求時在該服務當前未被供應給用戶時(當初始用戶狀態指示沒有用戶的當前服務實例)執行什么任務和動作。在這種情況下,沒有服務動作或屬性動作需要被執行。這一行是出于完整性的目的而被包括在示例供應狀態圖3)00中,并且表示在接收到要取消供應不存在的服務實例的取消供應請求時會發生什么。在示例供應狀態圖3) 00中,第五行3) 50指示,在接收到要取消供應服務的請求(取消供應請求)時在該服務的一個實例當前被供應給用戶時(當初始用戶狀態指示存在用戶的一個當前服務實例時)執行什么任務和動作。在這種情況下,因為只有一個服務實例被供應給用戶,所以為用戶移除該服務(服務動作)。另外,服務屬性也將被移除,因為用戶不再訂閱該服務。例如,考慮先前訂閱了 Web郵件銀牌邀約的邀約(見上文的章節IV)的用戶,該邀約包括I年web郵件收件箱服務。如果一年過去了(或者如果用戶指示期望取消該服務),則可接收取消供應請求來為用戶取消供應該服務。在示例供應狀態圖3) 00中,第六行3) 60指示,在接收到要取消供應服務的請求(取消供應請求)時在該服務的多個實例當前被供應給用戶時(當初始用戶狀態指示存在用戶的兩個或多個當前服務實例時)執行什么任務和動作。在這種情況下,不為用戶移除該服務(服務動作),因為在取消供應事件之后至少一個服務實例將會保留(用戶將仍然是該服務的訂閱者)。然而,一旦根據取消供應事件服務實例被移除(例如,取消供應事件可指示要取消供應特定實例的標識符),將協調剩余的服務實例的服務屬性(屬性動作)。 例如,考慮當前訂閱Web郵件銀牌邀約的邀約(見上文章節IV)的用戶,該邀約包括服務IOOweb郵件服務,并且當前訂閱服務IOOweb郵件服務(例如,單獨的Web郵件、不是邀約的一部分),并因此已經被供應了服務100服務的兩個實例。如果用戶隨后決定取消Web郵件銀牌邀約的邀約,則這一狀態(行3) 60)將適用。服務100對應于Web郵件銀牌邀約的邀約的服務實例將被移除,并且剩余的實例的服務屬性將被協調。在這種情況下,一個剩余的服務實例的屬性將成為新的有效服務屬性(單獨的Web郵件屬性,包括5GB收件箱)。重要的是,當用戶取消Web郵件銀牌邀約的邀約但用戶仍然維持對包括該服務(服務100)的其他邀約的訂閱或用戶直接訂閱該服務時,用戶的web郵件服務(服務100)未被完全移除。相反,剩余的服務實例的服務屬性被協調(例如,用戶可能接收到降低的服務水平,諸如5GB收件箱而非IOGB收件箱)。
VI.示例協調屬性一般而言,服務屬性需要被協調以確定要將哪些屬性適用于(用于)特定用戶的特定服務。當只存在特定服務的一個實例時(例如,在向用戶供應先前未供應給用戶的服務時),協調是直接的(例如,僅僅應用新服務屬性)。然而,在一個或多個服務實例已經存在并且服務的另一實例要被供應給用戶的情況下,在新的實例和現有(即當前)實例之間協調服務屬性可能較為困難。類似地,在多個服務實例存在并且要向用戶取消供應這些實例之一的情況下,在剩余的實例之間協調服務屬性可能較為困難。在一具體實現中,由以下偽代碼表示的算法用于協調服務屬性以確定有效服務屬性。例如,該算法可由服務供應系統(例如,由圖I)中描繪的服務供應系統或圖6)中描繪的服務聚合系統)來實現。該算法可在供應事件發生時(例如,在接收到要向用戶供應服務或取消供應服務的請求時),諸如如圖3)所描繪的供應狀態圖中所指示的改變狀態時實現。//確定有效服務屬性的示例算法的偽代碼For each Service in all current Offers for the user (from the Provisioning State db) Begin-For
Property List = empty
For each Property for Service.current (from the Offer Data db)
Begin-For
If Property.current not present in Property List, then add Property.current to Property List
End-if
Else
//Propertyxurrent 存在于 Property List C 屬性列表)中If Property.current. Weight > PropertyList.property. Weightthen
Set PropertyList.property.Value to Property, curren t.Value
End-if
End-Else
End-For //對于每-個 Property (屬性)
Set S e rv i c e Pro pert i e s. n e w to Property List End-For//對于每一個 Service (服務)
//ServiceProperties.new此處準備好要被發送至服務提供者
//作為新的有效服務屬性或更新后的有效服務屬性如上面的偽代碼所示,為用戶所訂閱的每一個服務(用戶具有一個或多個服務實例的每一個服務)確定有效服務屬性的列表(偽代碼中的Property List)。在上面的偽代碼中,通過添加尚未存在的屬性并且以其他方式包括具有更大權重的屬性值(例如,反映提供最佳的相對服務水平的值)來創建有效服務屬性。根據上面的偽代碼,所得的有效服務屬性隨后被發送至提供該服務的服務提供者。VII.用于供應服務的示例方法圖2)示出了用于至少部分地適用服務供應系統(例如,圖I)中描繪的服務供應系統或圖6)中描繪的服務聚合系統)來供應服務的示例性方法2) 00。在2) 10,接收供應請求(例如,由服務供應系統從諸如市場營銷程序、中間商等程序接收)。供應請求包括向(例如,由唯一的用戶標識符表示的)用戶供應(例如,由唯一的服務標識符表示的)服務的請求。另外,供應請求包括服務的新服務屬性。供應請求的示例是向特定用戶(例如,用戶1234)供應web郵件服務(例如,服務100)的請求,并且包括特定的服務屬性(例如,值為“20GB”和權重為“ 100”的收件箱屬性,以及值為“從不”和權重為“100”的期滿屬性)。供應請求可作為供應包括多個服務的邀約的請求的一部分來接收,或者作為供應單獨的服務的供應請求來接收。在2)20,協調服務屬 性以確定有效服務屬性。例如,來自供應請求2)10的新服務屬性可與當前服務屬性協調。在某些實現中,所述協調包括獲得先前供應給用戶的服務的一個或多個實例的服務屬性(例如,通過基于用戶標識符從供應狀態數據庫中查詢當前服務屬性來獲得),并且基于所獲得的當前服務屬性和新服務屬性來確定服務的有效服務屬性。在2)30,應用有效服務屬性。有效服務屬性是服務提供者在向用戶提供服務時將使用的那些屬性。在某些實現中,協調服務屬性以確定有效服務屬性包括,使用相對權重來比較來自多個服務實例的相同屬性的值,以確定哪個屬性值表示最佳的相對服務水平。圖4)示出用于協調服務屬性的示例性方法4) 00。示例方法4) 00可在接收到供應請求時執行以確定要應用于用戶的服務的有效服務屬性。在4) 10,獲得當前服務屬性。例如,可獲得一個或多個當前供應的服務實例的當前服務屬性。當前服務屬性可由服務供應系統從供應狀態數據庫獲得。在4)20,將新服務屬性于當前服務屬性進行比較。例如,可將新服務屬性值(來自供應請求)與來自該服務的一個或多個當前供應的服務實例的當前值進行比較。可比較每一個特定的服務屬性的值以查看哪個值表示最佳的相對服務水平。例如,該比較可使用與屬性值相關聯的相對權重來執行。在4) 30,基于比較4) 20來選擇表示每一個屬性的最佳的相對服務水平的值。例如,考慮要供應收件箱屬性值為5GB和權重為40的web郵件服務的新的供應請求,以及收件箱屬性值為IOGB和權重為60的web郵件服務的當前供應的服務實例。在比較收件箱屬性的值時(通過比較相對權重40和60),表示最佳的相對服務水平的收件箱屬性值被選為有效屬性值(在這一示例中,IOGB屬性值被選為收件箱屬性的有效屬性值,而5GB屬性值未被選中并因此當前不被應用于該服務)。圖5)示出用于供應服務和協調服務實例的示例性方法。示例方法5)00可在接收到供應請求時執行以確定要應用于用戶的服務的有效服務屬性。在5) 10,接收供應請求(例如,由服務供應系統從服務提供者接收)。供應請求包括向用戶(例如,由唯一的用戶標識符表示)供應服務的請求(例如,由唯一的服務標識符表示)。另外,供應請求包括服務的新服務屬性。一示例供應請求是向特定用戶(例如,用戶1234)供應web郵件服務(例如,服務100)的請求,并且包括特定的服務屬性(例如,值為“20GB”和權重為“100”的收件箱屬性,以及值為“從不”和權重為“100”的期滿屬性)。在5) 20,存儲表示供應請求5) 10的新的服務實例。服務實例可包括唯一的服務標識符、唯一的用戶標識符和新服務屬性。服務實例還可包括唯一的邀約標識符。服務實例可由服務供應系統存儲在供應狀態數據庫中。在5)30,將新的服務實例5)20與同一服務的一個或多個現有服務實例進行協調。執行協調以確定服務的有效服務屬性。為協調新的和現有的服務實例,比較服務實例的屬性(對于同一屬性可具有不同的值)以確定哪個值表示最佳的服務水平。
在5 ) 40,基于協調5 ) 30來確定有效服務屬性。將有效服務屬性用于(應用于)用戶的服務。VIII.示例服務聚合環境圖6)描繪了示例性服務聚合環境6) 00。服務聚合環境6) 00提供用于內部服務提供者6) 40和外部服務提供者6) 50的集中式服務供應解決方案。服務聚合系統6) 10 (能夠支持多個內部和/或外部服務提供者的服務供應系統)提供集中式的供應、取消供應、維護和存儲解決方案。服務聚合系統6) 10通過支持各種服務供應操作(例如,供應、取消供應以及維護服務供應操作)來提供集中式的解決方案。例如,服務聚合系統6) 10從程序6)80以及從內部服務提供者6)40和外部服務提供者6)50接收請求(例如,服務供應請求)。服務聚合系統6)10可適用各種類型的計算設備(例如,月艮務器計算機、數據庫服務器、聯網設備和其他類型的計算設備)來提供供應解決方案。 服務聚合系統6) 10與存儲邀約和服務數據6) 20的數據儲存庫相關聯。服務和邀約數據6) 20包括與邀約(例如,市場營銷邀約)和服務(例如,與邀約有關的單獨服務或服務集合)以及服務屬性有關的信息。例如,可根據上面的章節IV中描述的數據模式來存儲邀約和服務數據。服務聚合系統6) 10還與存儲供應狀態數據6) 30的數據儲存庫相關聯。供應狀態數據6)30包括與用戶以及他們的相關聯的服務實例有關的信息。例如,可根據上面的章節IV中描述的數據模式來存儲供應狀態數據。使用服務聚合環境6) 00,內部服務提供者6) 40和外部服務提供者6) 50可向他們的訂閱者(用戶)6)60提供服務,同時利用服務聚合系統6) 10以存儲供應信息(例如,邀約/服務數據6) 20和供應狀態數據6) 30)以此方式,內部和外部服務提供者(6) 40和6)50)他們自己不必維護邀約/服務數據和供應狀態信息。此外,服務聚合系統6)10的集中式的解決方案允許訂閱者6) 60跨多個服務提供者來維護一致的身份(例如,同一個用戶身份或賬號身份)。例如,考慮經由內部服務提供者6)40之一或經由程序6)80之一(例如,作為特定的市場營銷程序的服務包的一部分)注冊web郵件賬戶服務的訂閱者(訂閱者6)60之一)。為了供應訂閱者的web郵件服務,內部服務提供者(或程序)將供應請求發送發送給服務聚合系統6) 10以供應用戶的web郵件服務。服務聚合系統6) 10將使用所存儲的邀約和服務數據6) 20來獲得邀約和/或服務供應信息(例如,服務可能是單獨的Web郵件邀約的服務100的服務,如上文章節IV中所述)。服務聚合系統6) 10將服務實例存儲在供應狀態數據存儲6) 30中。如果供應狀態數據存儲6) 30中存在服務的多個服務實例(例如,對于服務100的服務),則服務聚合系統6) 10還將協調服務屬性。一旦服務聚合系統6) 10確定有效服務屬性,它將有效服務屬性發送給提供服務的服務提供者(例如,發送給提供服務IOOweb郵件服務的內部服務提供者)。訂閱者還可注冊包括相同服務的其他邀約,該邀約可由服務聚合系統6) 10集中地供應。例如,如果訂閱者通過外部服務提供者6) 50之一或通過程序6) 80之一注冊Web郵件金牌邀約的邀約(如上文章節IV中所述的),則外部服務提供者(或程序)將供應請求發送給服務聚合系統6) 10。服務聚合系統6) 10將使用邀約和服務數據存儲6)20來獲得關于該邀約的信息,并且將一個或多個供應實例(取決于邀約中的服務的數量)存儲在供應狀態數據存儲6)30中。在這一示例中,服務聚合系統6) 10將使用Web郵件金牌邀約的邀約中定義的屬性來存儲服務100的服務的第二服務實例(第一實例是訂閱者的單獨的Web郵件邀約的服務100實例)。服務聚合系統6)10將跨服務100的服務的兩個實例來協調服務屬性(例如,將使用收件箱屬性的相應的權重來比較5GB和20GB收件箱屬性值,并且20GB值將被選為有效收件箱屬性值)。服務聚合系統6)10將更新的有效服務屬性發送給負責服務IOOweb郵件服務的服務提供者(在這一示例中,發送給內部服務提供者6) 40之一)。服務聚合環境6) 00還支持外部供應系統6) 70。支持外部服務供應系統6) 70允許服務提供者(例如,外部服務提供者6) 50)使用除服務聚合系統6) 10之外的供應解決方案來進行供應,但仍然使用服務聚合系統6) 10來存儲供應信息和協調服務屬性。例如,夕卜部服務提供者6) 50可使用外部供應系統6) 70向訂閱者6) 60供應服務,并且在服務聚合系統6)10處存儲(例如,經由供應狀態更新應用編程接口(API))服務實例。同一服務的各
實例也可直接經由服務聚合系統6)10來供應。來自兩個通道的實例(來自外部供應系統和來自內部的實例)可在服務聚合系統6) 10處被集中地存儲和協調。IX.示例計算環境圖7)示出了其中可實現所描述的實施例、技術、和技藝的合適的計算環境7)00的通用示例。例如,計算環境7) 00可以是用于操作服務供應系統I) 10或服務聚合系統6)10的計算設備之一(例如,計算機服務器)。計算環境7) 00不旨在對本技術的使用范圍或功能提出任何限制,因為本技術可以在完全不同的通用或專用計算環境中實現。例如,所公開的技術可用其他計算機系統配置實現,包括手持式設備、多處理器系統、基于微處理器的或可編程的消費者電子設備、網絡PC、小型計算機、大型計算機等。所公開的技術也可以在任務由通過通信網絡鏈接的遠程處理設備執行的分布式計算環境中實現。在分布式計算環境中,程序模塊可位于本地和遠程存儲器存儲設備兩者中。參考圖7),計算環境7) 00包括至少一個中央處理單元7) 10和存儲器7) 20。在圖7)中,這一最基本的配置7) 30被包括在虛線內。中央處理單元7) 10執行計算機可執行指令,且可以是真實或虛擬處理器。在多處理系統中,多個處理單元執行計算機可執行指令以提高處理能力,且由此,多個處理器可同時運行。存儲器7)20可以是易失性存儲器(例如,寄存器、高速緩存、RAM)、非易失性存儲器(例如,ROM、EEPR0M、閃存等)或兩者的某一組合。存儲器7)20存儲可例如實現此處描述的技術的軟件7)80。計算環境可以具有附加特征。例如,計算環境7 ) 00包括存儲7 ) 40、一個或多個輸入設備7)50、一個或多個輸出設備
7)60以及一個或多個通信連接7) 70。諸如總線、控制器或網絡等互連機制(未示出)將計算環境7)00的組件互連。通常,操作系統軟件(未示出)為在計算環境7)00中執行的其他軟件提供了操作環境,并協調計算環境7) 00的組件的活動。存儲7) 40可以是可移動或不可移動的,并包括磁盤、磁帶或磁帶盒、⑶-ROM、CD-RW、DVD或可用于儲存信息并可在計算環境7)00內被訪問的任何其它介質。存儲7)40存儲用于可實現此處描述的技術的軟件7) 80的指令。輸入設備7) 50可以是諸如鍵盤、鍵區、鼠標、筆或跟蹤球等觸摸輸入設備,語音輸入設備,掃描設備或可向計算環境7) 00提供輸入的另一設備。對于音頻,輸入設備7) 50可以是聲卡或接受模擬或數字形式的音頻輸入的類似設備,或向計算環境7) 00提供音頻樣本的⑶-ROM讀取器。輸出設備7) 60可以是顯示器、打印機、揚聲器、⑶刻錄機、或從計算環境7) 00提供輸出的另一設備。通信連接7)70允許通過通信介質(例如,連接網絡)到另一計算實體的通信。通信介質在已調制數據信號中傳達諸如計算機可執行指令、壓縮圖形信息、或其它數據等信息。計算機可讀介質可以是可在計 算環境7) 00內訪問的任何可用介質。作為示例而非局限,對于計算環境7) 00,計算機可讀介質包括存儲器7) 20、存儲7) 40、通信介質(未示出)以及上述的任何組合。計算機可讀介質可以是可在計算環境7) 00內訪問的任何可用介質。作為示例而非局限,對于計算環境7) 00,計算機可讀介質包括存儲器7) 20和/或存儲7) 40。應當容易理解,術語計算機可讀存儲介質包括諸如存儲器7)20和存儲7)40等用于數據存儲的介質,且不包括諸如已調制數據信號等傳輸介質。X.示例實現環境圖8)示出了其中可實現所描述的實施例、技術和技藝的合適的實現環境8)00的通用示例。在示例環境8)00中,由云8) 10提供各種類型的服務(例如,計算服務)。例如,云8)10可包括可位于中央或是分布式的計算設備集,其向經由諸如因特網等網絡連接的各種類型的用戶和設備提供基于云的服務。在示例環境8)00中,云8)10向具有各種屏幕能力的連接的設備8)20A-N提供服務。連接的設備8) 20A表示具有計算機屏幕(例如,中型屏幕)的設備。例如,連接的設備8)20A可以是個人計算機,諸如臺式計算機、膝上型計算機、筆記本、上網本等。連接的設備
8)20B表示具有移動設備屏幕(例如,小型屏幕)的設備。例如,連接的設備8) 20B可以是移動電話、智能電話、個人數字助理、平板計算機等。連接的設備8) 20N表示具有大屏幕的設備。例如,連接的設備8) 20N可以是電視屏幕(例如,智能電視)或連接到電視的另一個設備(例如,機頂盒或游戲控制臺)等。可由云8) 10通過服務提供商I) 20、或通過其他在線服務提供商(未描述)來提供服務。例如,可針對特定連接的設備(例如,連接的設備8)20A-N)的屏幕大小和/或顯示能力來定制云服務。在示例環境8) 00中,云8) 10至少部分地使用服務供應系統I) 10來向各個所連接設備8) 20A-N提供本文中所描述的供應解決方案。例如,服務供應系統I) 10可為各種基于云的服務(例如,由諸如服務提供者1)20之類的各個服務提供者提供的基于云的服務)提供集中式的服務供應解決方案。服務供應系統I) 10可管理用戶和/或設備(例如,所連接設備8) 20A-N和/或其相應的用戶)的服務訂閱。代替服務提供者1)20和服務供應系統1)10或作為其補充,服務和供應解決方案可由使用服務聚合環境6) 00的云來提供。XI.示例替換和組合本申請中描述的服務供應技術和解決方案可以各種組合來使用,以提供對服務實例(包括重疊服務的服務實例)的更高效的管理。此處所描述的方法中的任一個可以經由包括(例如,具有或存儲)用于執行(例如,使計算設備執行)這些方法的計算機可執行指令的一個或多個計算機可讀介質(例如,存儲或其他有形介質)來執行。操作可以是全自動的,半自動的或者涉及人工介入。在詳細描述和附圖中描述并例示本發明的原理之后,可以認識到,各實施方式可以在排列和細節上進行修改而不脫離這些原理。應該理解,此處所描述的程序、進程或方法未涉及或僅限于任何特定類型的計算環境,除非另外特別聲明。根據此處所描述的原理,可以使用各種類型的的通用或專門的計算環境,或執行操作。可以以硬件實現以軟件示出的實施例的元件,反之亦然。鑒于可應用本發明的原理的許多可能的實施例,要求保護落入所附權利要求書及 其等效技術方案的范圍和精神之內的所有這樣的實施例作為本發明。
權利要求
1.一種至少部分地由服務供應系統實現的用于向用戶供應服務的方法,所述方法包括 由所述服務供應系統接收供應請求,其中所述供應請求包括要向用戶供應服務的請求,所述服務由服務標識符來表示,所述用戶由用戶標識符來表示,并且其中所述供應請求還包括服務的新服務屬性; 由所述服務供應系統將服務的新服務屬性與服務的當前服務屬性進行協調,其中所述協調包括 由所述服務供應系統獲得用戶的服務的一個或多個先前供應的實例的當前服務屬性;以及 基于所獲得的當前服務屬性和新服務屬性,由所述服務供應系統確定服務的有效服務屬性;以及 由所述服務供應系統將所述有效服務屬性作為要用于用戶的服務的屬性來應用。
2.如權利要求I所述的方法,其特征在于,應用服務的有效服務屬性包括,由所述服務供應系統將所述有效服務屬性存儲在數據庫中。
3.如權利要求I所述的方法,其特征在于,確定服務的有效服務屬性包括 將來自新服務屬性的服務屬性的新值與來自當前服務屬性的服務屬性的當前值進行比較,以標識新值和當前值中哪個表示最佳的相對服務水平;以及 基于所述比較,選擇值,并且其對應的被標識為表示最佳的相對服務水平的屬性作為有效服務屬性。
4.如權利要求3所述的方法,其特征在于,服務屬性的新值與第一相對權重相關聯,月艮務屬性的當前值與第二相對權重相關聯,且其中將服務屬性的新值與服務屬性的當前值進行比較包括比較所述第一相對權重和所述第二相對權重。
5.如權利要求I所述的方法,其特征在于,確定服務的有效服務屬性包括 對于新服務屬性和當前服務屬性中每一個重疊的服務屬性 標識重疊的服務屬性的哪個值表示最佳的相對服務水平;以及 將所標識的值和重疊的服務屬性添加為有效服務屬性之一。
6.如權利要求I所述的方法,其特征在于,所述服務供應系統為多個內部服務提供者和多個外部服務提供者提供供應服務以及服務實例的集中式存儲。
7.如權利要求I所述的方法,其特征在于,還包括 由所述服務供應系統接收第二供應請求,其中所述第二供應請求包括取消向用戶供應服務的請求; 由所述服務供應系統移除表示新服務屬性的服務實例;以及 由所述服務供應系統協調服務的當前服務屬性。
8.如權利要求I所述的方法,其特征在于,所述服務是用戶能經由因特網獲得的web郵件賬戶服務。
9.一種存儲有用于使得所述服務供應系統被編程從而執行權利要求1-8中任意一項的方法的計算機可執行指令的計算機可讀介質。
10.一種用于向用戶供應服務的服務供應系統,所述系統包括 一個或多個計算設備;以及存儲邀約/服務數據和供應狀態數據的一個或多個數據儲存庫; 其中所述一個或多個計算設備被配置成執行服務供應操作,所述操作包括 由所述服務供應系統接收供應請求,其中所述供應請求包括要向用戶供應服務的請求,所述服務由服務標識符來表示,所述用戶由用戶標識符來表示,并且其中所述供應請求還包括服務的新服務屬性; 由所述服務供應系統將服務的新服務屬性與服務的當前服務屬性進行協調,其中所述協調包括 由所述服務供應系統獲得用戶的服務的一個或多個先前供應的實例的當前服務屬性;以及 基于所獲得的當前服務屬性和新服務屬性,由所述服務供應系統確定服務的有效服務屬性;以及 由所述服務供應系統將所述有效服務屬性作為要用于用戶的服務的屬性來應用。
11.如權利要求10所述的服務供應系統,其特征在于,所述供應請求由所述服務供應系統從外部服務提供者接收。
12.如權利要求10所述的服務供應系統,其特征在于,還包括 多個內部服務提供者;以及 多個外部服務提供者; 其中所述服務供應系統為多個內部服務提供者和多個外部服務提供者存儲邀約/服務數據以及供應狀態數據,且其中所述服務供應系統為多個內部服務提供者和多個外部服務提供者提供集中式的服務聚集解決方案。
13.如權利要求10所述的服務供應系統,其特征在于,確定服務的有效服務屬性包括 將來自新服務屬性的服務屬性的新值與來自當前服務屬性的服務屬性的當前值進行比較,以標識新值和當前值中哪個表示最佳的相對服務水平;以及 基于所述比較,選擇值,并且其對應的被標識為表示最佳的相對服務水平的屬性作為有效服務屬性。
14.如權利要求13所述的服務供應系統,其特征在于,服務屬性的新值與第一相對權重相關聯,服務屬性的當前值與第二相對權重相關聯,且其中將服務屬性的新值與服務屬性的當前值進行比較包括比較所述第一相對權重和所述第二相對權重。
15.如權利要求10所述的服務供應系統,其特征在于,確定服務的有效服務屬性包括 對于新服務屬性和當前服務屬性中每一個重疊的服務屬性 標識重疊的服務屬性的哪個值表示最佳的相對服務水平;以及 將所標識的值和重疊的服務屬性添加為有效服務屬性之一。
全文摘要
可執行服務供應任務來向用戶供應服務或取消供應服務、協調重疊的服務并應用有效服務屬性。可通過以下來供應服務接收要向用戶供應服務的請求、將新服務屬性與來自一個或多個服務實例的當前服務屬性進行協調以確定有效服務屬性、以及將有效服務屬性作為要用于用戶的服務的屬性來應用。還可通過以下來供應服務接收要向用戶供應服務的請求、存儲新的服務實例、以及將新的服務實例與同一服務的一個或多個先前存儲的服務實例進行協調以確定有效服務屬性。服務供應系統可為一個或多個內部和外部服務提供者執行供應操作。
文檔編號G06F9/06GK102713881SQ201080061062
公開日2012年10月3日 申請日期2010年12月31日 優先權日2010年1月11日
發明者B·R·多爾蒂, D·S·卡拉漢, S·B·科帕拉姆 申請人:微軟公司