專利名稱:網絡設備匹配的制作方法
技術領域:
本發(fā)明涉及計算機網絡,尤其涉及網絡中的設備匹配。
背景技術:
計算設備可以通過各種網絡彼此相連以交換數據。例如,不同移動設備(諸如蜂窩電話或便攜式數字助理(PDA))上的應用的兩個用戶可以通過各種協商方案來匹配以便交換數據或彼此交互,所述協商方案諸如交易通行碼、創(chuàng)建大廳、或建立信息檢索或藍牙會話。所連接的或所匹配的設備可以經由設備上運行的各種應用彼此交互。
發(fā)明內容
公開了和對計算設備中的網絡設備進行匹配有關的各個實施例。例如,一個公開的實施例提供了ー種操作計算設備的方法,該方法包括從第一客戶機設備接收匹配請求;基于ー個或多個約束查找第二客戶機設備;如果找到第二客戶機設備,則向第二客戶機設 備發(fā)送匹配請求;以及如果基于一個或多個約束未找到第二客戶機設備,則放寬ー個或多個約束,直到找到第二客戶機設備,并且向第二客戶機設備發(fā)送匹配請求。提供本發(fā)明內容以便以簡化形式介紹將在以下具體實施例中進ー步描述的ー些概念。本發(fā)明內容并不g在標識所要求保護主題的關鍵特征或必要特征,也不g在用于限制所要求保護主題的范圍。此外,所要求保護的主題不限于解決在本公開的任一部分中所提及的任何或所有缺點的實現。
圖I示出根據本發(fā)明的計算系統(tǒng)的實施例。圖2示出用于對網絡設備進行匹配的方法的實施例。圖3示出了描繪計算設備的一實施例的框圖。
具體實施例方式如上所述,計算設備的用戶可能希望通過各種網絡連接這些設備上的應用以交換數據。對于ー個應用,可以執(zhí)行復雜協商以便對網絡上的計算設備的用戶進行配對,所述用戶例如,要交互的伙伴、游戲中的對手、或要與之交易數據的某人。例如,用戶可以經由各種協商方案通過網絡來匹配,所述協商方案諸如交易通行碼、創(chuàng)建大廳(游戲加上可任選的ロ令查找)、或建立信息檢索或藍牙會話。然而,這種協商方案可能占用時間并且對用戶來說可能是復雜和易混淆的。結果,這些應用就會較少被使用??紤]到以上事項,這里公開了對網絡設備進行匹配的各實施例,其中使用各種約束來匹配用戶。而且,這些約束可以被放寬,直到找到合適的匹配。圖I示出根據本發(fā)明的計算系統(tǒng)100的實施例。計算系統(tǒng)100包括服務器102,服務器102包括匹配應用編程接ロ(API) 112,匹配應用編程接ロ(API) 112被配置成通過ー個或多個網絡(諸如可以是相同網絡或不同網絡的網絡106和網絡110)對客戶機設備(例如第一客戶機設備104和第二客戶機設備108)進行匹配。如果設備被配對,則服務器102可用作設備間的通信信道(中繼)來交易信息。匹配API包括查找功能114,查找功能被配置成響應于來自第一客戶機設備104的調用來查找第二客戶機設備(例如第二客戶機設備108)。由此,調用118可以是指明第一客戶機設備104的用戶希望與另ー客戶機設備的用戶配對的匹配請求。調用可以包括諸如全球定位系統(tǒng)(GPS)位置數據、移動運算符、制造商、用戶證書、操作系統(tǒng)、應用、設備配置設置等設備信息。在一些例子中,查找功能114可以查找多個客戶機設備并且向第一客戶機設備返回匹配列表,使得設備的用戶可以從列表中選擇ー個匹配或者與多個設備交互。服務器102可以響應于從第一客戶機設備104接收到匹配請求,使用各個因素或約束來查找伙伴計算機。在一些例子中,這些約束可由第一客戶機設備104傳送至服務器102,并用于基于約束來查找ー個或多個其他客戶機設備。而且,在一些例子中,如果未找到匹配設備,可以放寬約束中的ー個或多個,直到找到匹配設備。這ー放寬可以在服務器上自動執(zhí)行,或者可由隨后決定并將決定傳送給服務器的客戶機來控制。在其他實施例中,ー個或多個約束可以被存儲在服務器處,而非由客戶機設備發(fā)送。調用118可以向查找功能114發(fā)送的約束的示例包括、但不限于期望的匹配、應用和/或數據類型標識符,作出調用的終端用戶的證書,時間容限(例如,等待時間),容許衰減(如果服務器持有應答,容限如何隨時間放寬),緯度/經度,距離容限,距離容許衰減,通行碼(這允許兩個客戶機都輸入特定的通行碼來得到匹配),空間坐標(例如,說明客戶機設備的定位的三維向量,諸如設備傾斜),空間距離容限和衰減,字節(jié)數據(發(fā)送給另ー客戶機的數據),以及指示服務器是否應等待匹配返回(例如,指示通行碼已被匹配接受)的標志。如果匹配API找到第二客戶機設備,服務器102就經由調用120向第二客戶機設備108發(fā)送匹配請求,查找功能114經由調用124進行返回,一個合適的返回可以包括來自配對客戶機的標識符(如GUID)和/或數據,它們在未找到匹配時可以為空。在一些例子 中,如果未找到設備,服務器可以等待以便用匹配來響應于客戶機,或者可以返回指示沒有匹配的空值。在一些例子中,兩個配對客戶機設備間的其他數據交換可由服務器102上的更新功能116來處理。例如,來自第二客戶機設備108的調用122可被服務器102上的更新功能116所接收以更新服務器側的數據。然后,服務器可經由調用124將更新數據發(fā)送至第ー客戶機設備104。這樣,服務器102用作設備間的通信信道(中繼)以便在第一客戶機設備104和第二客戶機設備108之間交易數據。在一些例子中,數據可以在作出匹配時被交易。服務器102上的更新功能允許數據的后續(xù)交易以及執(zhí)行更新計數,或者直到已從匹配的設備接收到確認才共享數據。匹配API 112還可以被配置成例如響應于從客戶機設備接收到終止調用,來處理匹配會話的終止。而且,在一些例子中,匹配會話可以在時間閾值之后超吋。例如,匹配會話可以是在五秒之后超時的短暫會話,或者可以是可保持無限活動或在客戶機設備發(fā)送終止調用前保持活動的長期會話。這種時間閾值可以取決于客戶機設備所使用的應用。而且,在一些實施例中,匹配API可具有預匹配的超時設置(例如,在放棄前保持可能匹配的時間量)和后匹配的超時設置(例如,在一旦作出匹配時保持匹配的時間量)。這種設置可以被存儲在服務器102上和/或由對服務器102作出調用的客戶機設備來設置?,F在轉向圖2,示出用于在計算設備(例如,服務器102)上對網絡設備進行匹配的方法200的實施例。在202,方法200包括例如經由從客戶機設備到匹配API 112的調用,來從第一客戶機設備接收匹配請求。如上所述 ,匹配請求可以包括諸如GPS數據、設備的地區(qū)、設備的移動運營商、設備的制造商、設備用戶的用戶證書、設備的操作系統(tǒng)、設備上運行的應用以及其他設備配置設置等信息。在204,方法200包括基于ー個或多個約束來查找第二客戶機設備。如上所述,一個或多個約束可以包括應用約束、用戶證書、時間容限、時間容許衰減、距離容限、距離容許衰減以及通行碼中的ー個或多個。在206,方法200包括確定是否找到第二客戶機設備。如果在206找到第二客戶機設備,方法200前進至208。在208,方法200包括向第二客戶機設備發(fā)送匹配請求。例如,服務器102可以響應于來自第一客戶機設備的請求向第二客戶機設備發(fā)送匹配請求。在210,方法200包括發(fā)送數據。例如,標識符可以被發(fā)送至第一和第二客戶機設備,更新數據可以從第二客戶機設備被接收然后被發(fā)送至第一客戶機設備。在212,方法200包括確定是否發(fā)生終止事件。例如,客戶機設備的用戶可以向服務器102發(fā)送終止請求以終止匹配會話。舉另ー個例子,可以達到超時,在超時點處,匹配會話被自動終止。在還有ー個例子中,客戶機設備上運行的應用可以例如響應于應用功能的完成而終止匹配會話。如果終止事件在212未發(fā)生,則方法200返回至210以繼續(xù)發(fā)送數據。然而,如果終止事件在212發(fā)生,則方法200包括在214終止匹配請求。如上所述,匹配請求可以響應于由第一客戶機設備的用戶或第二客戶機設備的用戶作出的輸入而終止,或者在時間閾值后未找到第二客戶機設備的情況下終止。返回206,如果在206未找到第二客戶機設備,則方法200前進至216。在216,方法200包括放寬ー個或多個約束,直到找到第二客戶機設備為止。約束可以以任何合適的方式來放寬。例如,在一些實施例中,可以使用客戶機設備和/或服務器上的衰減功能來放寬約束中的ー個或多個。舉ー個具體的例子,約束可以使用從第一值到第二值、第三值等的衰減功能來隨時間放寬,直到找到匹配為止。由此,如果約束之一是距離,則可以基于距離來隨時間増加距離約束,直到找到匹配為止。在218,方法200包括確定是否發(fā)生終止事件。例如,第一客戶機設備的用戶可以向服務器102發(fā)送終止請求以終止匹配請求。舉另ー個例子,可以達到超時,在超時點處,匹配請求期滿,請求被自動終止。在還有ー個示例中,如果在合適的時間幀內未找到匹配,則第一客戶機設備上運行的應用可以終止匹配請求。舉還有ー個例子,可能僅將ー個或多個約束放寬到所允許的最大值。在該例中,如果約束中的ー個或多個被放寬到最大允許量,則可以終止匹配請求。如果在218處未發(fā)生終止事件,方法200就返回至206以確定在已放寬約束之后是否找到第二客戶機設備。
然而,如果在218,檢測到終止事件,則方法200前進至220。在220,方法200包括向第一客戶機設備發(fā)送表明尚未找到匹配的空消息。在一些例子中,如果未找到匹配,則第一設備可以基于客戶機放寬約束來發(fā)起另一匹配請求。在一些例子中,方法200可用于基于一個或多個約束來查找多個客戶機設備,多個客戶機設備的每ー個客戶機設備的標識符可以被發(fā)送至第一客戶機設備。多個找到的匹配可以以列表形式被發(fā)送至第一客戶機設備,使得第一客戶機設備的用戶可以選擇ー個匹配或者與多個客戶機設備交互。而且,在一些例子中,這一匹配列表可以基于各種加權因子來排序或區(qū)分優(yōu)先級。例如,列表頂部的用戶可以是以前已連接的用戶、物理上最接近的用戶等用戶。在某些實施例中,以上所描述的方法和過程可捆綁到包括一個或多個計算機的計算系統(tǒng)。具體而言,此處所述的方法和過程可被實現為計算機應用、計算機服務、計算機API、計算機庫、和/或其他計算機程序產品。
圖3示意性示出了可以執(zhí)行上述方法和過程之中的一個或更多個的非限制性計算系統(tǒng)300。以簡化形式示出了計算設備300。應當理解,可使用基本上任何計算機架構而不背離本公開的范圍。在不同的實施例中,計算設備300可以采取大型計算機、服務器計算機、臺式計算機、膝上型計算機、平板計算機、家庭娛樂計算機、網絡計算設備、移動計算設備、移動通信設備、游戲設備等等的形式。計算設備300包括邏輯子系統(tǒng)302和數據保持子系統(tǒng)304。計算設備300可以任選地包括顯示子系統(tǒng)306、通信子系統(tǒng)308、GPS子系統(tǒng)309和/或在圖3中未示出的其他組件。計算設備300還可以任選地包括諸如下列用戶輸入設備例如鍵盤、鼠標、游戲控制器、相機、話筒和/或觸摸屏等等。邏輯子系統(tǒng)302可包括被配置為執(zhí)行ー個或多個機器可讀指令的ー個或多個物理設備。例如,邏輯子系統(tǒng)可被配置為執(zhí)行ー個或多個指令,該ー個或多個指令是ー個或多個應用、服務、程序、例程、庫、對象、組件、數據結構、或其它邏輯構造的部分。可實現此類指令以執(zhí)行任務、實現數據類型、變換ー個或多個設備的狀態(tài)、或以其他方式得到所需結果。邏輯子系統(tǒng)可包括被配置成執(zhí)行軟件指令的一個或多個處理器。另外地或替換地,邏輯子系統(tǒng)可包括被配置成執(zhí)行硬件或固件指令的一個或多個硬件或固件邏輯機器。邏輯子系統(tǒng)的處理器可以是單核或多核,且在其上執(zhí)行的程序可被配置為并行或分布式處理。邏輯子系統(tǒng)可以任選地包括遍布兩個或多個設備的獨立組件,所述設備可遠程放置和/或被配置為進行協同處理。該邏輯子系統(tǒng)的ー個或多個方面可被虛擬化并由以云計算配置進行配置的可遠程訪問的聯網計算設備執(zhí)行。數據保持子系統(tǒng)304可包括ー個或更多個物理、非瞬時設備,這些設備被配置成保持數據和/或可由該邏輯子系統(tǒng)執(zhí)行的指令,以實現此處描述的方法和過程。在實現這樣的方法和過程時,可以變換數據保持子系統(tǒng)304的狀態(tài)(例如,以保持不同的數據)。數據保持子系統(tǒng)304可包括可移動介質和/或內置設備。數據保持子系統(tǒng)304尤其是可以包括光學存儲器設備(例如,⑶、DVD、HD-DVD、藍光盤等)、半導體存儲器設備(例如,RAM、EPROM、EEPROM等)和/或磁存儲器設備(例如,硬盤驅動器、軟盤驅動器、磁帶驅動器、MRAM等)。數據保持子系統(tǒng)304可包括具有以下特性中的ー個或多個特性的設備易失性、非易失性、動態(tài)、靜態(tài)、讀/寫、只讀、隨機存取、順序存取、位置可尋址、文件可尋址、以及內容可尋址。在某些實施例中,可以將邏輯子系統(tǒng)302和數據保持子系統(tǒng)304集成到 一個或更多個常見設備中,如專用集成電路或片上系統(tǒng)。圖3還示出以可移動計算機可讀存儲介質310形式的數據保持子系統(tǒng)的一方面, 可移動計算機可讀存儲介質310可用于存儲和/或傳輸可執(zhí)行以實現本文描述的方法和過 程的數據和/或指令??梢苿佑嬎銠C可讀存儲介質310尤其是可以采?、?、DVD、HD-DVD、 藍光盤、EEPR0M和/或軟盤形式。應當理解,如此處所使用的“服務”可以是跨越多個用戶會話可執(zhí)行的、且對一個 或更多系統(tǒng)組件、程序、和/或其他服務可用的應用程序。在一些實現中,服務可以響應于 來自客戶機的請求而在服務器上運行。當被包括時,顯示子系統(tǒng)306可用于呈現由數據保持子系統(tǒng)304所保持的數據的 可視表示。由于此處所描述的方法和過程改變由數據保持子系統(tǒng)保持的數據,并由此變換 數據保持子系統(tǒng)的狀態(tài),因此同樣可以變換顯示子系統(tǒng)306的狀態(tài)以在視覺上表示底層數 據的改變。顯示子系統(tǒng)306可以包括使用實際上任何類型的技術的一個或多個顯示設備。 可將此類顯示設備與邏輯子系統(tǒng)302和/或數據保存子系統(tǒng)304 —起組合在共享封裝中, 或此類顯示設備可以是外圍顯示設備。當被包括在內時,通信子系統(tǒng)308可以被配置成將計算設備300與一個或多個其 他計算設備可通信地耦合。通信子系統(tǒng)308可包括與一個或多個不同的通信協議相兼容的 有線和/或無線通信設備。作為非限制性示例,該通信子系統(tǒng)可以被配置成經由無線電話 網、無線局域網、有線局域網、無線廣域網、有線廣域網等進行通信。在某些實施例中,通信 子系統(tǒng)可允許計算設備300經由網絡(比如因特網)向其他設備發(fā)送消息和/或從其他設 備接收消息。在被包括時,GPS子系統(tǒng)309可以被配置成標識計算設備300的全球定位數據或 其他合適的位置數據,所述數據可以通過網絡、經由通信子系統(tǒng)308發(fā)送至其他計算設備 或系統(tǒng)。應該理解,此處所述的配置和/或方法在本質上是示例性的,并且,由于可能存在 多個變體,所以這些特定實施例或示例不具有限制意義。本文中所述的具體例程或方法可 表示任意數量的處理策略中的一個或多個。由此,所示的各個動作可按所述的順序執(zhí)行、按 其他順序執(zhí)行、并行地執(zhí)行、或者在某些情況下被省略。同樣,可改變上述過程的次序。本公開的主題包括各種過程、系統(tǒng)和配置的所有新穎和非顯而易見的組合和子組 合,和此處所公開的其他特征、功能、動作、和/或特性、以及其任何和全部等效物。
權利要求
1.ー種操作計算設備(102)的方法(200),所述方法包括 從第一客戶機設備(104)接收(202)匹配請求(118); 基于ー個或多個約束查找(204)第二客戶機設備; 如果找到第二客戶機設備(108),則向第二客戶機設備(108)發(fā)送(208)匹配請求(118);以及 如果基于一個或多個約束未找到第二客戶機設備,則放寬(216) —個或多個約束,直到找到第二客戶機設備(108),并且向第二客戶機設備(108)發(fā)送(208)匹配請求(118)。
2.如權利要求I所述的方法,還包括響應于由第一客戶機設備的用戶或第二客戶機設備的用戶作出的輸入,終止匹配請求。
3.如權利要求I所述的方法,還包括,如果在將約束放寬到所允許的最大值之后未找到第二客戶機設備,則向第一客戶機設備發(fā)送空消息。
4.如權利要求I所述的方法,其特征在于,所述ー個或多個約束包括應用約束、用戶證書、時間容限、時間容許衰減、距離容限、距離容許衰減以及通行碼中的ー個或多個。
5.如權利要求I所述的方法,還包括,如果找到第二客戶機設備,則向第一和第二客戶機設備發(fā)送標識符。
6.如權利要求I所述的方法,還包括,如果找到第二客戶機設備,則向第二客戶機設備發(fā)送數據。
7.如權利要求I所述的方法,還包括,如果找到第二客戶機設備,則從第二客戶機設備接收更新數據,并將更新數據發(fā)送至第一客戶機設備。
8.如權利要求I所述的方法,還包括,如果在時間閾值之后未找到第二客戶機設備,則終止匹配請求。
9.如權利要求I所述的方法,還包括,基于ー個或多個約束查找多個客戶機設備,并且將多個客戶機設備的每一個的標識符發(fā)送至第一客戶機設備。
10.ー種計算設備(300),包括 邏輯子系統(tǒng)(302);以及 數據保持子系統(tǒng)(304),包含存儲其上的可由所述邏輯子系統(tǒng)執(zhí)行的機器可讀指令以 從第一客戶機設備(104)接收(202)匹配請求(118); 基于ー個或多個約束查找(204)第二客戶機設備; 如果找到第二客戶機設備(108),則向第二客戶機設備(108)發(fā)送(208)匹配請求(118);以及 如果基于一個或多個約束未找到第二客戶機設備,則放寬(216) —個或多個約束,直到找到第二客戶機設備(108),并且向第二客戶機設備(108)發(fā)送(208)匹配請求(118)。
全文摘要
本發(fā)明涉及網絡設備匹配。公開了和對計算設備上的網絡設備進行匹配有關的各個實施例。例如,一個所公開的實施例提供了一種操作計算設備的方法。該方法包括從第一客戶機設備接收匹配請求;基于一個或多個約束查找第二客戶機設備;如果找到第二客戶機設備,則向第二客戶機設備發(fā)送匹配請求;以及如果基于一個或多個約束未找到第二客戶機設備,則放寬一個或多個約束,直到找到第二客戶機設備,并且向第二客戶機設備發(fā)送匹配請求。
文檔編號H04L29/06GK102664865SQ20121002883
公開日2012年9月12日 申請日期2012年2月9日 優(yōu)先權日2011年2月10日
發(fā)明者A·N·布林恩, D·吉勒特, J·埃利奧特 申請人:微軟公司