本申請總體上涉及電子通信領域,并且在示例性實施例中涉及基于任務的內容支付。
背景技術:
雖然諸如例如音頻內容、視頻內容、音頻/視頻內容、靜止圖像內容、文本內容等等的許多內容經由因特網和其它廣域網(wan)而對所有潛在的觀看者免費,但是包括受版權保護的電影、電視秀、新聞節(jié)目等等的大量的內容經常僅作為某種類型的補償的回報而可訪問。在許多示例中,這樣的補償采取從觀看者到內容的提供者的貨幣支付的形式。在其它情況下,觀看者可同意以某種方式向提供者提供益處的降級的形式觀看或消費內容。例如,觀看者可同意將一個或多個廣告結合內容呈現給觀看者的,諸如在同一個顯示器上向觀看者呈現內容的同時在顯示器的角落或其它位置中。在其它示例中,提供者可以一次或多次中斷向觀看者呈現內容,并且在由中斷創(chuàng)建的內容的時間間隙內插入廣告。
附圖說明
各個實施例作為示例而不是限制在附圖的各圖中示出,在附圖中相同的附圖標記指示相似的元件,并且其中:
圖1是可用于促進基于任務的內容支付的示例性通信系統的框圖;
圖2是可用于促進基于任務的內容支付的另一示例性通信系統的框圖;
圖3是可用在圖1和圖2的示例性通信系統中的示例性內容流傳輸(streaming)系統的框圖;
圖4是促進基于任務的內容支付的示例性方法的流程圖;
圖5是示例的通信示意圖,在該示例中任務的執(zhí)行在用戶設備處被過早地終止;
圖6是示例的通信示意圖,在該示例中內容的流傳輸在用戶設備處被過早地終止;以及
圖7是計算機系統的示例性形式的機器的示意圖,在該計算機系統內可執(zhí)行一組指令以使機器執(zhí)行本文討論的方法中的任何一個或多個。
具體實施方式
在以下描述中,為了解釋的目的,闡述許多具體細節(jié),以便提供對本文所公開的實施例的透徹理解。然而,對于本領域技術人員將清楚的是:可以不利用這些具體細節(jié)來實踐實施例。
圖1是可用于促進基于任務的內容支付的示例性通信系統100的框圖。在通信系統100中,內容流傳輸系統130可經由通信網絡120向具有一個或多個用戶設備110a和110b(統稱為一個或多個用戶設備110)的用戶相關區(qū)域101流傳輸或以其它方式遞送內容。結合圖3更詳細地討論內容流傳輸系統130的示例。內容可以是隨著時間的推移經由通信網絡120向在用戶相關區(qū)域101處的一個或多個用戶設備110流傳輸或以其它方式遞送的任何類型的內容。內容的示例可包括但不限于:視頻內容、音頻內容、音頻/視頻內容、靜止圖像內容、圖形內容和文本內容。該內容項由用戶設備中的顯示資源處理,用于呈現給用戶。
通信網絡120可包括促進內容流傳輸系統130與用戶相關區(qū)域101之間的通信的任何類型的網絡,包括但不限于廣域網(wan)(例如,因特網)、局域網(lan)、蜂窩電話網絡(例如,第三代(3g)或第四代(4g)網絡)或者用于這樣的通信的任何其它有線和/或無線網絡。
在圖1中未具體描繪的其它用戶相關區(qū)域還可經由通信網絡120從內容流傳輸系統130接收相同或不同的內容,但是本文僅僅討論一個用戶相關區(qū)域101以簡化和集中于以下討論。用戶相關區(qū)域101的示例可包括但不限于家庭、商業(yè)辦公室、零售機構、餐館、酒吧、體育場館、體育場或用戶設備可在其內操作的任何其它區(qū)域。在用戶相關區(qū)域101內,一個或多個用戶設備110可經由位于用戶相關區(qū)域101內的通信網關(例如,電纜調制器/解調(調制解調器)或數字用戶線路(dsl)調制解調器)與內容流傳輸系統130通信。在其它示例中,用戶設備110可經由位于用戶相關區(qū)域101外部的一個或多個設備與通信網絡120通信。
用戶設備110可以是能夠接收、存儲、顯示和/或呈現內容的任何設備。用戶設備110的示例可包括但不限于:媒體網關、網絡路由器、電視機頂盒、電視機、游戲系統、流傳輸設備(例如,
在圖1的示例中,第一用戶設備110a至少包括內容輸出接口114和設備資源112a。用戶設備110a的其它組件以及下文討論的其它設備的組件在本文中未被圖示或討論以簡化和集中于以下討論。內容輸出接口114(例如,視覺顯示器、音頻輸出等等)可用于經由通信網絡120向用戶設備110a的用戶呈現從內容流傳輸系統130接收的內容。設備資源112a可以是任何資源,諸如計算資源或單元(例如,中央處理單元(cpu)和/或圖形處理單元(gpu))、通信資源或單元(例如,通信接口和/或通信數據緩沖器)或者對生產者、分發(fā)者、所有者、被許可者或與內容相關聯的其他實體有益的任何其它資源。在本文所述的實施例中,設備資源112a可用于執(zhí)行至少一個任務,為了在用于從內容流傳輸系統130流傳輸到用戶設備110a的內容的交換中(例如,作為支付)內容流傳輸系統130或另一個實體的利益。在其它示例中,與用戶設備110a相關聯的第二用戶設備110b可包括設備資源112b,除了或代替第一用戶設備110a的設備資源112a外,設備資源112b可用于執(zhí)行任務或其一部分。在又一個實施例中,位于用戶相關區(qū)域101內或外部的一個或多個附加用戶設備110可用于向用戶呈現內容和/或執(zhí)行任務。雖然在圖1中示出兩個用戶設備110a、110b,但是在其它實施例中可在用戶相關區(qū)域101內采用任何一個或多個用戶設備110。
圖2是可用于促進基于任務的內容支付的另一示例性通信系統200的框圖。在該示例中,用于將內容流傳輸到一個或多個用戶設備210a、210b、210c和210d(統稱為用戶設備210)的內容流傳輸系統230可包括內容服務器240和支付服務器250。在該示例中,內容服務器240可以用于:在為用戶提供一個或多個設備資源212a、212b、212c和212d(統稱為一個或多個設備資源212)以便執(zhí)行對于實體(例如,生產者、分發(fā)者、所有者和/或被許可者)有益的一個或多個任務的交換中,訪問用戶設備210的用戶感興趣的內容,并且向用戶設備210遞送(例如,流傳輸)該內容。支付服務器250可以用于向一個或多個用戶設備210提供待執(zhí)行的一個或多個任務,并且監(jiān)視該一個或多個任務的執(zhí)行的進展。下面結合圖3討論內容服務器240和支付服務器250的示例。內容服務器240和支付服務器250可共同位于特定地理位置處,或者可處于不同的地理位置處。
本地網絡區(qū)域201可以是有線(例如,以太網)和/或無線(例如,
圖3是可在圖1和圖2的示例性通信系統100和200中使用的示例性內容流傳輸系統330的框圖,例如分別用作圖1的內容流傳輸系統130和圖2的內容流傳輸系統230。如圖3中所示,內容流傳輸系統330可包括在一些示例中可分別用作圖2的內容服務器240和支付服務器250的內容服務器340和支付服務器350。內容服務器340可包括通信接口342、內容流傳輸模塊344和內容項庫346,而支付服務器350可包括通信接口352、流/任務控制模塊354和支付模塊356。內容服務器340和支付服務器350的模塊中的每一個以及本文所述的其它模塊可包括用于執(zhí)行對應于模塊的各種功能的硬件、軟件或其某種組合,如下面更全面地描述的。諸如例如用戶界面之類的其它可能的組件可被包括在內容流傳輸系統330中,但是在圖3中未被明確地圖示以簡化以下討論。另外,不是圖3和其它圖中描繪的所有組件可被包括在所有實施例中。此外,圖3和本文的其它框圖中所示的組件可被進一步劃分成分離的組件,或者可被組合以創(chuàng)建更少的、更大的組件。
在內容服務器340中,通信接口342可用于促進經由通信網絡(例如,圖1的通信網絡120或圖2的內容分發(fā)網絡220)在內容服務器340與支付服務器350之間的通信。這樣的通信例如可包括從支付服務器350接收以向用戶設備(例如,圖1的用戶設備110或圖2的用戶設備210)傳輸內容或其部分的授權消息。通信接口342還可用于經由通信網絡120或內容分發(fā)網絡220向用戶設備110、210傳送授權內容。
內容流傳輸模塊344可用于經由通信接口342向用戶設備110、210流傳輸或以其它方式傳送內容。在一些示例中,每次內容流傳輸模塊344從支付服務器350接收這樣做的授權時,內容流傳輸模塊344可向用戶設備110、210傳送內容的部分、塊或“大塊”。此外,內容流傳輸模塊344可檢測其中用戶設備110、210已經終止內容的接收的情況。
內容項庫346可用于存儲或提供通過內容流傳輸模塊344所正在流傳輸的內容。在圖3中,內容項庫346被示為駐留在內容服務器340內。在其它示例中,內容項庫346位于內容服務器340外部,諸如在可經由通信接口342所采用的通信網絡、或者經由另一個網絡或通信連接進行訪問的分離的服務器、數據庫或存儲系統中。
在支付服務器350中,通信接口352可用于促進經由通信網絡(例如,圖1的通信網絡120或圖2的內容分發(fā)網絡220)在支付服務器350與內容服務器340之間的通信。這樣的通信例如可包括發(fā)送到內容服務器340以向用戶設備(例如,圖1的用戶設備110或圖2的用戶設備210)發(fā)送內容或其部分的授權消息。通信接口352還可用于經由通信網絡120或內容分發(fā)網絡220向用戶設備110、210傳送信息,以使用戶設備110、210或與其相關聯的另一個設備執(zhí)行作為內容支付的一個或多個任務或子任務。此外,通信接口352可用于從已經完成一個或多個任務或子任務的用戶設備110、210接收指示。在一個示例中,這樣的指示可包括一個或多個任務或子任務的結果。
流/任務控制模塊354可用于監(jiān)視由用戶設備110、210執(zhí)行的任務或子任務的完成。例如,流/任務控制模塊354可經由通信接口352傳送消息,以使用戶設備110、210或與其對應的另一個用戶設備執(zhí)行任務或子任務,并且響應于用戶設備110、210完成每個任務或子任務,接收已經完全或成功地執(zhí)行任務或子任務的指示。此外,響應于那些指示,流/任務控制模塊354可經由通信接口352向內容服務器340發(fā)送授權,以向用戶設備110、210流傳輸或遞送內容或其某部分。
將要由用戶設備110、210完成的每個任務或子任務可以是對于與內容相關聯的一些實體(諸如內容所有者、分發(fā)者、零售商、被許可人等)有益的任何任務。這些任務與內容的處理不相關。任務或子任務的示例可包括但不限于:用于數字貨幣(例如,bitcointm)的“挖掘”的計算,用于面部識別算法的計算,用于脫氧核糖核酸(dna)折疊算法的計算,以及向除了用戶設備110、210之外的一個或多個通信設備的通信的重傳,等等。諸如分布式計算或處理示例之類的許多其它示例也是將要由用戶設備110、210完成的可能的任務或子任務。對于數字貨幣的挖掘的計算可被視為直接支付,由于這樣的任務或子任務的結果可被視為直接表示貨幣值,而其它任務或子任務可具有通過支付服務器350附接到它們的一些貨幣值。為了執(zhí)行任務,用戶設備同時接收任務數據和內容。這些任務數據可與內容一起被發(fā)送,并由用戶設備提取以被路由到設備資源。在這種情況下,內容被打包成通過子流描述符進行識別的多個子流。用戶設備識別與設備資源相關的子流,并從發(fā)送的內容提取它。替代地,這些任務數據可經由諸如因特網連接的另一通信信道而被發(fā)送給用戶設備。也可以使用這些通信方式的組合。
支付模塊356可用于選擇一個或多個任務以便針對將被呈現給用戶設備110、210的用戶內容來執(zhí)行。在一個示例中,支付模塊356可向每個任務分配特定值(例如,貨幣值),每個任務可用于由一個或多個用戶設備資源112、212執(zhí)行。支付模塊356還向將被流傳輸或遞送給用戶設備110、210的內容分配諸如貨幣值的值。基于向任務和內容的值的分配,支付模塊356可在用于接收內容的交換中選擇待執(zhí)行的一個或多個任務。此外,支付模塊356可將一個或多個選擇的任務劃分成子任務,以及將內容劃分成對應的部分或“大塊”。支付模塊356可如上所述向流/任務控制模塊354轉發(fā)這些子任務和內容部分的指示。結果,特定子任務的執(zhí)行可允許用戶設備110、210接收、存儲和/或消費內容的對應部分。相應地,由提供任務執(zhí)行設備資源112、212的用戶設備110、210所執(zhí)行的一個或多個子任務的終止可導致流/任務控制模塊354終止內容的流傳輸或遞送。此外,由呈現內容的用戶設備110、210進行的內容流傳輸或遞送的終止可使得流/任務控制模塊354停止提供與內容相關聯的剩余子任務。
圖4是促進基于任務的內容支付的示例性方法400的流程圖。在至少一些示例中,方法400可使用圖1和圖2的通信系統100、200中的內容流傳輸系統130、230來執(zhí)行。此外,用于執(zhí)行方法400的內容流傳輸系統的一個可能的實施例可以是圖3的內容流傳輸系統300。然而,本文未具體描述的其它設備或組件可在其它實施例中執(zhí)行方法400的操作。
在方法400中,內容流傳輸系統130、230可向用戶設備110、210提供一個或多個任務,用于由用戶設備110、210或另一個相關聯的設備所供應的設備資源112、212來執(zhí)行(例如,操作402)。一個或多個任務作為用于接收、存儲和/或消費內容的支付被執(zhí)行,如以上更詳細描述的。如上所討論的,一個或多個任務可被劃分成許多子任務,許多子任務中的每個對應于內容的一部分。因此,當內容正被流傳輸或以其它方式傳送到用戶設備110、210時,一個或多個任務的提供和執(zhí)行可進行,從而創(chuàng)建基于任務的“現用現付(payasyougo)”布置,其中用戶設備110、210可在內容正被流傳輸到用戶設備110、210時停止執(zhí)行一個或多個任務,從而僅僅支付迄今為止已經接收或消費的量。在一些示例中,用戶設備110、210而是可以過早地停止接收內容,從而使一個或多個任務的剩余部分保持未被遞送給用戶設備110、210。
更具體地,當在內容的流傳輸期間一個或多個任務正被提供時,內容流傳輸系統130、230可確定用戶設備110、210是否已經停止一個或多個任務的執(zhí)行(操作404)。如果是這樣,內容流傳輸系統130、230可以終止內容到用戶設備110、210的流傳輸(操作406)。在一些示例中,內容流傳輸系統130、230還可確定正被流傳輸的內容的接收是否已經終止(操作408)。如果是這樣,內容流傳輸系統130、230也可以終止向用戶設備110、210提供任務(操作410)。否則,如果還沒有遇到內容流的結束(操作412),內容流傳輸系統130、230可繼續(xù)流傳輸內容并且向用戶設備110、210(或向與其相關聯的一些用戶設備)提供一個或多個任務,同時確定用戶設備110、210是否已經終止一個或多個任務的執(zhí)行,或者甚至用戶設備110、210是否已經使得內容的流傳輸過早地停止。
雖然圖4的操作402至412被示為以具體次序發(fā)生,但是包括兩個或更多個操作的并發(fā)執(zhí)行的其它操作次序也是可能的。在一個示例中,可以任何次序來執(zhí)行確定一個或多個任務的執(zhí)行是否已經在用戶設備110、210處被過早地終止(操作404)以及確定內容流的接收是否已經在用戶設備110、210處被過早地終止(操作408),并且可被周期性地、連續(xù)地或以一些其它重復方式來執(zhí)行,可能以并行、同時或并發(fā)方式。
圖5是示例的通信示意圖500,在該示例中與正被流傳輸或以其它方式遞送給用戶設備210的內容相關聯的一個或多個任務的執(zhí)行在用戶設備210處被過早地終止。在圖5和圖6的示例兩者中,假設使用圖2的通信系統200。然而,可以通過類似的方式利用除了通信系統200之外的其它通信系統。
如圖5中所示,用戶設備210可以向支付服務器250發(fā)送內容請求消息501。在一個示例中,內容請求消息501可以指示特定的一個或多個內容項,諸如電影、電視節(jié)目、歌曲或歌曲專輯等等。在一些實施例中,內容請求消息501還可指示用戶設備210的用戶愿意向其貢獻一個或多個資源212的特定類型的任務。這樣的指示可以選自通過支付服務器250所提供的多個不同任務類型,諸如經由網頁或經由用戶設備210可訪問的本地應用所提供的選擇。
響應于內容請求消息501,基于關于用戶可能已經選擇的任務類型的任何附加信息,支付服務器250可以選擇特定任務,將所選擇的任務劃分成多個子任務,并且然后發(fā)送消息502以便向用戶設備210提供多個子任務中的第一子任務,用于執(zhí)行或實行。在一些實施例中,支付服務器250還可將內容劃分成對應的部分或大塊,并且通知內容服務器240那些劃分,如上所述。
在一個示例中,提供的子任務可包括向用戶設備210發(fā)送消息,該消息至少包括待執(zhí)行的特定子任務的指示,可能連同通過可執(zhí)行編程或代碼待用于執(zhí)行于任務的任何輸入信息(或任務數據)。在一些實施例中,消息還可提供可執(zhí)行編程或代碼(例如,應用或小程序)以執(zhí)行子任務。在其它示例中,這樣的可執(zhí)行代碼可在構成內容交換中所執(zhí)行的一個或多個任務的任何子任務的執(zhí)行之前,被發(fā)送一次。在那種情況下,該提供然后將包括可執(zhí)行代碼待利用的輸入信息。在又一個示例中,可在從用戶設備210接收的未來內容請求的預期中提供可執(zhí)行代碼。在一些實施例中,可執(zhí)行代碼可以是
在可執(zhí)行代碼在內容項流內由內容服務器進行流傳輸的情況下,將執(zhí)行以下步驟:
-通過用戶設備接收包括內容項的流,
-從內容項流提取可執(zhí)行代碼,
-向設備資源轉發(fā)可執(zhí)行代碼,
-通過設備資源從支付服務器獲得可變數據。
響應于第一子任務,用戶設備210可發(fā)送指示所執(zhí)行的子任務的結果(例如,成功或不成功結果的指示和/或布爾、數字或文本結果)的消息504。在一個示例中,用戶設備210可執(zhí)行整個子任務。在其它示例中,用戶設備210可向諸如局域網絡區(qū)域201內的用戶設備的另一個用戶設備210轉發(fā)子任務的至少一部分。在一個特定示例中,用戶設備210a(例如,媒體網關、路由器和/或機頂盒)可向另一用戶設備210c(例如,臺式或膝上型計算機)轉發(fā)子任務的至少一部分,同時向另一用戶設備210b、210c(例如,電視機、平板電腦或智能手機)轉發(fā)對應于子任務的內容的一部分,用于呈現給用戶。可以接收子任務、轉發(fā)內容呈現和/或轉發(fā)子任務以用于執(zhí)行的用戶設備210的許多其它示例也是可能的。
響應于接收返回子任務結果的消息504,支付服務器250可以發(fā)送消息506,該消息506授權內容服務器240向用戶設備210發(fā)送或者流傳輸內容的對應部分或大塊。作為響應,內容服務器240然后可以向用戶設備210發(fā)送內容的對應部分或大塊508。根據特定示例,用戶設備210然后可以向用戶呈現內容的該部分,或者向另一用戶設備210轉發(fā)內容的該部分,用于呈現給用戶,如上所提及。
在支付服務器250、內容服務器240和用戶設備210之間的通信可以通過類似的方式針對后續(xù)的子任務進行,同時支付服務器250提供子任務(消息512),用戶設備210提供對應結果(消息514),支付服務器250響應于結果而授權對應的內容大塊(消息516),并且內容服務器240響應于授權而流傳輸部分或大塊518,可能同時指示另一子任務的消息512正被從支付服務器250傳送到用戶設備210。雖然通信圖500將各種傳輸或消息501-522顯示為以特定次序發(fā)生,但是通信之間可發(fā)生一些重疊。例如,當支付服務器250向用戶設備210提供下一個子任務時,流的當前部分或大塊繼續(xù)被流傳輸。當先前的內容部分被流傳輸以改進內容到用戶設備210的實際或虛擬連續(xù)流傳輸時,結果的提供和對應內容部分的授權也可發(fā)生。在一些示例中,當內容服務器240向用戶設備210流傳輸或以其它方式遞送當前內容部分時,兩個或更多個后續(xù)內容部分可被授權。
在一些示例中,可以一次向用戶設備210提供多于一個子任務(例如,使用從支付服務器250到用戶設備210的一個消息或傳輸)。作為響應,用戶設備210可以返回針對每個子任務指示一個或多個結果的單獨消息504,導致針對多個子任務的單個提供消息502的多個響應或消息504。相反,用戶設備210可以在向支付服務器250的傳輸和單個消息504內為多個子任務提供結果。此外,支付服務器250可以在向內容服務器240的傳輸或單個消息506內為多個內容部分或大塊508的流傳輸提供授權。
當內容正被流傳輸到用戶設備210時,用戶設備210可以終止子任務的執(zhí)行或者防止未被執(zhí)行的子任務的執(zhí)行。例如,用戶設備210的用戶可以經由用戶設備210的用戶界面指示:用戶設備210將終止在內容的交換中待執(zhí)行的一個或多個任務。在另一示例中,用戶設備210可確定:正被用于執(zhí)行一個或多個任務的設備資源212可能不能夠以及時的方式執(zhí)行一個或多個任務來證明內容的繼續(xù)接收。因此,用戶設備210可以簡單地不返回指示最近的子任務的結果的消息。因此,響應于沒有在預定時間段(例如,超時524)內接收到指示結果的消息,支付服務器250可確定:用于流傳輸到用戶設備210的進一步的內容部分不應當被授權。在一些示例中,支付服務器250可向內容服務器240、并且可能向用戶設備210發(fā)送將終止內容的流傳輸的消息(圖5中未明確圖示)。
圖6是示例的通信示意圖600,在該示例中內容的流傳輸在用戶設備210處被過早地終止。在該特定示例中,如通過消息601至616所指示的針對內容的請求、子任務的提供、子任務結果的供應、流對應的內容部分的授權、以及內容部分的流傳輸可如上關于圖5的消息501至516所述地進行。在內容部分之一618的流傳輸期間,用戶設備210可以中斷內容流的接收。這樣的中斷例如通過用戶設備210不向內容服務器240確認正被流傳輸的內容的當前部分618的接收而引起,這可以使得內容服務器超時,從而使內容服務器240停止進一步的內容流傳輸。在另一個示例中,用戶設備210可以向內容服務器240或支付服務器250發(fā)送指示當前內容部分618的流傳輸的終止的消息(圖6中未具體示出)。作為響應,內容服務器240可以經由消息620向支付服務器250指示內容流已經在用戶設備210處被中斷。作為響應,支付服務器250然后可終止用于流傳輸后續(xù)內容部分的進一步授權(操作624)。
在上述實施例的至少一些中,一個或多個任務可在待流傳輸到用戶設備并且最終呈現給用戶的內容的交換中由用戶設備(或由與該用戶設備相關聯的設備)執(zhí)行。在一些示例中,待執(zhí)行的一個或多個任務表示向與內容相關聯的實體(諸如內容的生產者、供應商、分發(fā)者、受讓人或被許可人)針對內容的直接支付(例如,數字貨幣的計算挖掘)。在其它示例中,一個或多個任務可表示經由用戶設備向與內容相關聯的實體所供應的計算、通信或其它資源的使用(例如,短期出租),以便執(zhí)行可經由該資源執(zhí)行的任何任務。此外,任務和內容兩者都可被劃分成對應的部分,使得如通過子任務的執(zhí)行所表示的內容支付可以與直到該點已經在用戶設備處接收、存儲和/或消費的內容的量一致。因此,如果接收內容的用戶確定內容不是用戶的喜好,用戶可在內容的流傳輸期間終止子任務的執(zhí)行,從而基本上僅僅支付直到該時間點接收到的內容的量。
圖7圖示以計算機系統700的示例性形式的機器的示意圖,在該計算機系統700內可執(zhí)行一組指令724,用于使得機器執(zhí)行本文討論的任何一個或多個方法。在替代實施例中,機器作為獨立設備操作或者可連接(例如,聯網)到其它機器。在聯網部署中,機器可在服務器-客戶端網絡環(huán)境中以服務器或客戶端機器的能力操作,或者在點對點(或分布式)網絡環(huán)境中作為對等機器操作。機器可以是個人計算機、平板計算機、機頂盒(stb)、個人數字助理(pda)、蜂窩電話、網絡設備、網絡路由器、交換機或網橋、或者能夠執(zhí)行指定該機器所采取的動作的一組指令(順序地或以其它方式)的任何機器。此外,雖然僅僅圖示單個機器,但是術語“機器”也應當被認為包括單獨地或聯合地執(zhí)行一組(或多組)指令從而執(zhí)行在此所述的任何一個或多個方法的機器集合。
示例性計算機系統700包括處理器702(例如,中央處理單元(cpu)、圖形處理單元(gpu)或兩者)、經由總線708彼此通信的主存儲器704和靜態(tài)存儲器706。計算機系統700可進一步包括視頻顯示器710(例如,液晶顯示器(lcd)或陰極射線管(crt))。計算機系統700還包括字母數字輸入設備712(例如,鍵盤)、用戶界面(ui)導航設備714(例如,鼠標)、盤驅動單元716、信號生成設備718(例如,揚聲器)和網絡接口設備720。
盤驅動單元716包括機器可讀介質722,在機器可讀介質722上存儲體現或由在此所述的任何一個或多個方法所利用的一組或多組指令和數據結構(例如,指令724)。指令724在其由計算機系統700、主存儲器704和也構成機器可讀介質的處理器702進行執(zhí)行期間還可以完全或至少部分地駐留在靜態(tài)存儲器706內、在主存儲器704內和/或在處理器702內。
可進一步在計算機網絡750上、經由利用許多公知的傳輸協議(例如,超文本傳輸協議(http))中的任何一個的網絡接口設備720來發(fā)送或接收指令724。
雖然機器可讀介質722在示例性實施例中被示為是單個介質,但是術語“機器可讀介質”應當被認為包括存儲一組或多組指令724的單個介質或多個介質(例如,集中式或分布式數據庫,和/或相關聯的高速緩存和服務器)。術語“機器可讀介質”還應當被認為包括如下的任何介質,能夠存儲、編碼或攜帶用于由機器執(zhí)行的一組指令724,并且使得機器執(zhí)行本發(fā)明的主題的任何一個或多個方法,或者能夠存儲、編碼或攜帶由這樣的一組指令724利用或與其相關聯的數據結構。術語“機器可讀介質”相應地應當被認為包括但不限于固態(tài)存儲器以及光和磁介質。
在整個本說明書中,多個實例可實現被描述為單個實例的組件、操作或結構。雖然一個或多個方法的單獨操作被圖示和描述為分離的操作,但是單獨操作中的一個或多個可被同時執(zhí)行,并且操作可以通過除了圖示的次序外的次序來執(zhí)行。在示例性配置中被呈現為分離的組件的結構和功能性可被實現為組合結構或組件。類似地,被呈現為單個組件的結構和功能性可被實現為分離的組件。這些和其它變化、修改、添加和改進落入本文的主題的范圍內。
某些實施例在本文中被描述為包括邏輯或許多組件、模塊或裝置。模塊可構成軟件模塊(例如,體現在機器可讀介質上或傳輸信號中的代碼)或硬件模塊?!坝布K”是能夠執(zhí)行某些操作的有形單元,并且通過某種物理方式來配置或布置。在各種示例性實施例中,一個或多個計算機系統(例如,獨立計算機系統、客戶計算機系統或服務器計算機系統)或計算機系統的一個或多個硬件模塊(例如,處理器或一組處理器)可以通過軟件(例如,應用或應用部分)進行配置,作為運行從而執(zhí)行在此所述的某些操作的硬件模塊。
在一些實施例中,硬件模塊可機械地、電子地或其任何合適的組合來實現。例如,硬件模塊可包括被永久地用于執(zhí)行某些操作的專用電路或邏輯。例如,硬件模塊可以是特殊用途處理器,諸如現場可編程門陣列(fpga)或專用集成電路(asic)。硬件模塊還可包括由軟件暫時配置以執(zhí)行某些操作的可編程邏輯或電路。例如,硬件模塊可以包括在通用處理器或其它可編程處理器內所包含的軟件。應當理解的是,在專用和永久配置的電路中或在暫時配置的電路(例如,由軟件配置)中機械地實現硬件模塊的決定可通過成本和時間考慮來驅動。
因此,術語“硬件模塊”應當被理解為包含有形實體,其是被物理構造、永久配置(例如,硬連線)或暫時配置(例如,編程)而以某些方式操作或執(zhí)行本文所述的某些操作。如本文所使用的,“硬件實現的模塊”是指硬件模塊??紤]其中硬件模塊被暫時配置(例如,編程)的實施例,硬件模塊中的每一個不需要在任何一個時刻被配置或實例化。例如,在硬件模塊包括由軟件配置而變成特殊用途處理器的通用處理器的情況下,通用處理器可在不同時間被配置為分別不同的硬件模塊。軟件可相應地配置處理器,例如,在一個時刻構成特定的硬件模塊,并且在不同時刻構成不同的硬件模塊。
硬件模塊可以向其它硬件模塊提供信息并從其它硬件模塊接收信息。相應地,所述的硬件模塊可被認為是通信耦接的。在多個硬件模塊同時存在的情況下,可通過在兩個或更多個硬件模塊之間或之中的信號傳輸(例如,通過適當的電路和總線)來實現通信。在其中多個硬件模塊在不同時間被配置或實例化的實施例中,例如可通過在多個硬件模塊有權訪問的存儲器結構中的信息的存儲和檢索來實現這樣的硬件模塊之間的通信。例如,一個硬件模塊可執(zhí)行操作,并在其通信地耦接到的存儲器設備中存儲該操作的輸出。另外的硬件模塊然后可在稍后時間訪問存儲器設備以檢索和處理存儲的輸出。硬件模塊還可發(fā)起與輸入或輸出設備的通信,并且可以在資源(例如,信息的集合)上操作。
本文所述的示例性方法的各種操作可以至少部分地通過暫時配置(例如,通過軟件)或永久配置用于執(zhí)行相關操作的一個或多個處理器來執(zhí)行。無論暫時還是永久配置,這樣的處理器可以構成操作從而執(zhí)行本文所述的一個或多個操作或功能的處理器實現的模塊。如本文所使用的,“處理器實現的模塊”是指使用一個或多個處理器來實現的硬件模塊。
類似地,本文所述的方法可以是至少部分地通過處理器來實現,處理器是硬件的示例。例如,方法中的至少一些操作可以通過一個或多個處理器或處理器實現的模塊來執(zhí)行。此外,一個或多個處理器還可操作以支持在“云計算”環(huán)境中或作為“軟件即服務”(saas)的相關操作的執(zhí)行。例如,至少一些操作可以由一組計算機(作為包括處理器的機器的示例)來執(zhí)行,這些操作可經由網絡(例如,因特網)并且經由一個或多個適當的接口(例如,應用程序接口(api))可訪問。
某些操作的執(zhí)行可分布在一個或多個處理器之中,不僅駐留在單個機器內,而且被橫跨許多機器部署。在一些示例性實施例中,一個或多個處理器或處理器實現的模塊可位于單個地理位置中(例如,在家庭環(huán)境、辦公環(huán)境或服務器場內)。在其它示例性實施例中,一個或多個處理器或處理器實現的模塊可橫跨許多地理位置分布。
在此所述的主題的一些部分可以依據操作的符號表示或者算法,呈現在作為位或者二進制數字信號存儲于機器存儲器(例如,計算機存儲器)內的數據上。這些算法或符號表示是由數據處理領域的普通技術人員將他們的工作的實質傳達給本領域其他技術人員的技術的示例。如本文所使用的,“算法”是導致期望結果的操作或類似處理的自洽序列。在該公開文本中,算法和操作涉及物理量的物理操作。典型地但不是必然地,這樣的量可采取能夠通過機器見存儲、訪問、傳送、組合、比較或以其它方式操縱的電、磁或光學信號的形式。主要由于公共使用的原因,有時使用諸如“數據”、“內容”、“位”、“值”、“元素”、“符號”、“字符”、“術語”、“數字”、“數值”等等之類的詞語來指代這樣的信號是方便的。然而,這些詞語僅僅是方便的標記,并且與適當的物理量相關聯。
除非另有特別說明,否則本文使用諸如“處理”、“計算(computing)”、“計算(calculating)”、“確定”、“呈現”、“顯示”等等之類詞語的討論可指代機器(例如,計算機)的動作或過程,該動作或過程操縱或變換被表示為一個或多個存儲器(例如,易失性存儲器、非易失性存儲器或其任何合適的組合)、寄存器或者接收、存儲、發(fā)送或顯示信息的其它機器組件內的物理(例如,電子的、磁的或光的)量的數據。此外,除非另有具體說明,否則如在專利文獻中常見地在本文中使用術語“一”或“一個”包括一個或多于一個實例。最后,如本文所使用的,除非另有具體說明,否則連詞“或”是指非排它性的“或”。
提供公開文本的摘要以符合37c.f.r.§1.72(b),要求將允許讀者快速確定技術公開的本質的摘要。提交摘要,同時理解:其將不用于解釋或限制權利要求的范圍或含義。另外,在前述具體實施方式中,可以看到:為了簡化該公開的目的,在單個實施例中將各種特征組合在一起。公開文本的該方法將不被解釋為反映所要求保護的實施例包括比每個權利要求中明確記載的更多特征的意圖。相反,如以下權利要求所反映的,發(fā)明主題在于少于單個公開的實施例的所有特征。從而以下權利要求由此被并入具體實施方式中,同時每個權利要求自身作為獨立的實施例。
雖然已經參照具體示例性實施例描述了本公開的實施例,但應當清楚的是:可對這些實施例進行各種修改和改變而不脫離這些實施例的更寬范圍。相應地,說明書和圖被認為是說明性的而不是限制性的意義。形成其一部分的附圖通過說明而非限制的方式示出可在其中實踐主題的具體實施例。足夠詳細地描述圖示的實施例,以使得本領域技術人員能夠實踐在此所公開的教導。可利用并從其導出其它實施例,使得可進行結構和邏輯替換和改變而不脫離本公開的范圍。因此該具體實施方式不應當被理解為限制性的意義,并且各種實施例的范圍僅僅由所附權利要求連同將這樣的權利要求被授予的等同物的完全范圍來限定。
該發(fā)明主題的這樣的實施例在本文中可單獨地和/或共同地由術語“發(fā)明”指代,僅僅為了方便,而不旨在自愿地將本申請的范圍限制到任何單個發(fā)明概念,如果事實上公開多于一個的話。因此,雖然本文已經圖示和描述了具體實施例,但是應當理解的是,經計算實現相同目的的任何布置可替代所示的具體實施例。本公開文本旨在覆蓋各種實施例的任何和所有修改或變化。以上實施例的組合和本文未具體描述的其它實施例對于本領域技術人員在回顧以上描述時將是清楚的。