使用查詢語言修改用于web服務的訪問控制的方法【專利摘要】要求保護的主題內容的實施例提供控制對社交圖中的資源的訪問的方法。該方法的一個實施例包括接收用于響應于服務被調用而配置查詢的信息。服務被配置為使用查詢來請求訪問與在社交圖中的與第一用戶關聯(lián)的部分中的節(jié)點關聯(lián)的資源。該方法也包括關聯(lián)查詢與節(jié)點。查詢對與節(jié)點關聯(lián)的資源操作并且根據(jù)社交圖的當前狀態(tài)返回信息,該信息指示對訪問資源的請求是否被批準或者拒絕。【專利說明】使用查詢語言修改用于WEB服務的訪問控制的方法[0001]相關申請的交叉引用[0002]本申請是LawrenceΕ.Menten于2012年3月19日提交的標題為“MethodofExtendingWebServiceApplicat1nProgrammingInterfacesusingQueryLanguages,,的美國專利申請13/423,697的部分繼續(xù)申請?!?br>技術領域:
】[0003]本申請一般地涉及基于處理器的系統(tǒng)并且更具體地涉及用于基于處理器的系統(tǒng)的訪問控制?!?br>背景技術:
】[0004]本節(jié)介紹可以有助于更好理解要求保護的主題內容的方面。因而,本節(jié)的陳述將據(jù)此來解讀而不會被理解為關于什么是現(xiàn)有技術或者什么不是現(xiàn)有技術的承認。[0005]在一些已知通信方案中,用戶使用社交網(wǎng)絡來相互通信??梢詫⑸缃宦?lián)網(wǎng)服務定義為基于在可以共享公共背景、興趣或者活動的人們之中的社交關系的表示而向訂戶提供服務的在線服務、平臺或者站點。社交網(wǎng)絡通常由每個用戶的表示(經(jīng)常為簡檔)、他的/她的社交鏈接和多種附加元素、諸如照片、狀態(tài)報告、web鏈接等構成。多數(shù)社交網(wǎng)絡服務是基于web的并且提供允許用戶通過因特網(wǎng)交互的工具/服務,諸如電子郵件和即時消息收發(fā)。社交聯(lián)網(wǎng)站點允許用戶在他們的個人網(wǎng)絡內共享想法、活動、事件和興趣。示例社交網(wǎng)絡包括Facebook、Google+、Twitter、Linkedln、VKonkatke>Orkut和RenRen。[0006]社交網(wǎng)絡使用社交圖來表示個人及其關系。一般而言,社交圖描述在訂戶的在線形象(其也可以被稱為用戶的化身)與其他訂戶的在線形象之間的關系。社交圖因此反映訂戶之間的現(xiàn)實世界的關系,其一般被稱為社交網(wǎng)絡。例如,社交網(wǎng)絡的社交圖可以被構造為使用節(jié)點之間的關系所定義的邊(其也可以被稱為鏈接或者連接)而相互關聯(lián)的一系列節(jié)點(例如,“訂戶”、“好友列表”、“密友”等)。葉節(jié)點與父節(jié)點關聯(lián),但是它們沒有子節(jié)點。例如,與“密友”節(jié)點關聯(lián)的葉節(jié)點可以各自包括數(shù)據(jù)結構,該數(shù)據(jù)結構包括用于訂戶的好友之一的信息。社交圖也可以包括用于不同類型的關系、諸如與特定興趣關聯(lián)的群的節(jié)點以及用于不同類型的信息、諸如相片、音樂和web鏈接的節(jié)點。組成社交圖的節(jié)點、邊、信息和關系可以被稱為社交圖的資源。[0007]社交圖中的資源可以與在社交圖中未被表示關系的邊顯式地連接的用戶或者訂戶關聯(lián)。例如,訂戶可以發(fā)表所有校友在重逢餐會的群照片。群照片可以包括在訂戶的好友列表或者密友群中列舉的人和在社交圖中未鏈接到訂戶的其他人的圖像。訂戶或者訂戶的好友可以標識或者“標注”群照片中的未被鏈接到訂戶的人。又例如,訂戶可以定義群、諸如“業(yè)務午餐群”,該群包括都被鏈接到定義了該群但是可能在社交圖中未被相互鏈接的訂戶的其他訂戶。鏈接在一起的訂戶可能不能通過社交網(wǎng)絡交換信息,諸如計劃用于安排業(yè)務午餐的消息。[0008]社交網(wǎng)絡的提供者使用他們的社交圖中的信息來實施服務或者應用(app)。開發(fā)者可以使用社交網(wǎng)絡提供者開發(fā)和支持的應用編程接口(API)來創(chuàng)建服務或者app。用于社交網(wǎng)絡的API通常實施由客戶端和服務器構成的代表狀態(tài)轉移(REST)架構。客戶端向服務器發(fā)起請求,這些服務器處理請求并且向客戶端返回適當響應。請求和響應是圍繞資源表示的傳送而構建的。資源可以是可以被尋址的實質上任何相干和有意義的概念。資源的表示通常是捕獲資源的當前或者既定狀態(tài)的文檔。一般而言,REST式架構必須基于客戶端-服務器、無狀態(tài)、可高速緩存、分層、使用統(tǒng)一接口并且可以按需求提供代碼。例如,用于社交網(wǎng)絡、諸如Facebook的API包括定義的超文本傳送協(xié)議(HTTP)請求消息集合以及響應消息的結構的定義,例如具有可擴展標記語言(XML)或者JavaScript對象符號表示(JSON)格式的結構?!?br/>發(fā)明內容】[0009]下文呈現(xiàn)公開的主題的簡化概要以便提供公開的主題的一些方面的基本理解。該【
發(fā)明內容】不是公開的主題的窮盡概述。它不旨在于標識公開的主題的重要或者關鍵要素或者界定公開的主題的范圍。它的唯一目的是以簡化形式呈現(xiàn)一些概念作為隨后討論的更具體描述的前序。[0010]在一個實施例中,提供了一種用于控制對社交圖中的資源的訪問的方法。該方法的一個實施例包括響應于服務被調用而接收用于配置查詢(query)的信息。該服務被配置為使用該查詢來請求訪問與社交圖中關聯(lián)于第一用戶的部分中的節(jié)點關聯(lián)的資源。該方法還包括將該查詢與該節(jié)點關聯(lián)。所述查詢對與所述節(jié)點關聯(lián)的資源進行操作,并且根據(jù)社交圖的當前狀態(tài)返回信息,該信息指示對訪問所述資源的請求是否被批準或者拒絕。[0011]在另一實施例中,提供了一種用于控制對社交圖中的資源的訪問的方法。該方法的一個實施例包括調用被配置為對與社交圖的一部分中由第一用戶擁有的節(jié)點關聯(lián)的資源執(zhí)行查詢的服務。該方法的該實施例還包括響應于調用所述服務而將該查詢與該節(jié)點關聯(lián)。所述查詢根據(jù)所述社交圖的當前狀態(tài)確定是否批準或者拒絕對于訪問與所述節(jié)點關聯(lián)的資源的請求?!緦@綀D】【附圖說明】[0012]可以通過參照結合附圖進行的以下描述來理解公開的主題內容,在附圖中,相似的附圖標記標識相似要素,并且在附圖中:[0013]圖1在概念上圖示通信系統(tǒng)的一個示例性實施例;[0014]圖2在概念上圖示社交圖的一部分的第一示例性實施例;[0015]圖3在概念上圖示用于修改用于社交圖的訪問控制的方法的第一示例性實施例;[0016]圖4在概念上圖示查詢用于社交圖的修改的應用編程接口的方法的一個示例性實施例;[0017]圖5在概念上圖示去除或者反轉對用于社交圖的應用編程接口的修改的方法的一個示例性實施例;[0018]圖6在概念上圖示社交圖的一部分的第二示例性實施例;以及[0019]圖7在概念上圖示用于修改用于社交圖的訪問控制的方法的第二示例性實施例?!揪唧w實施方式】[0020]以下描述示例實施例。為了清楚,在本說明書中未描述實際實現(xiàn)方式的所有特征。當然將認識到,在開發(fā)任何這樣的實際實施例時,應當進行許多實現(xiàn)方式特有的決策以實現(xiàn)開發(fā)者的特定目的,諸如遵從從一個實現(xiàn)方式到另一實現(xiàn)方式變化的與系統(tǒng)有關和與業(yè)務有關的約束。另外,將理解這樣的開發(fā)工作可能復雜并且耗時,但是對于受益于本公開內容的本領域普通技術人員而言將是例行工作。該描述和附圖僅舉例說明要求保護的主題的原理。因此,將認識到本領域技術人員可以能夠設計各種布置,雖然這里未明確地描述或者示出,但是該各種布置體現(xiàn)這里描述的原理并且可以在要求保護的主題內容的范圍內被包括。另外,這里記載的所有示例主要旨在于僅用于示范目的以輔助讀者理解要求保護的主題內容的原理和發(fā)明人貢獻的用于發(fā)展本領域的概念并且將被解釋為不限于這樣具體記載的示例和條件。[0021]現(xiàn)在將參照附圖描述公開的主題內容。在附圖中示意地描繪各種結構、系統(tǒng)和設備僅為了說明并且避免因本領域技術人員公知的細節(jié)而模糊該描述。然而,包括附圖以描述和說明公開的主題內容的說明性示例。這里所用詞語和短語應當被理解和解釋為具有與本領域技術人員對那些詞語和短語的理解一致的含義。這里對術語或者短語的非特殊的定義、即與如本領域技術人員理解的普通和習慣含義不同的定義將由對這些術語或短語的一致性使用來暗示。在術語或者短語旨在于具有特殊含義——即除了本領域技術人員理解的含義之外的含義——范圍內,將以直接地和明確地提供用于術語或者短語的特殊定義的定義方式在說明書中明確地闡述這樣的特殊定義。此外,術語“或者”如這里所用除非另有指示(例如,“或者其它”或者“在備選中”)則是指非排他的“或者”。而且,這里描述的各種實施例也未必互斥,因為一些實施例可以與一個或者多個其它實施例組合以形成新實施例。[0022]社交網(wǎng)絡服務的訂戶(或者它們的其他用戶)依賴于社交網(wǎng)絡服務提供者以保持訂戶的個人信息安全和私密。然而,訂戶也使用社交網(wǎng)絡服務以向選擇的訂戶、例如在“好友列表”中指示的訂戶廣播、發(fā)送或者顯示個人信息。社交網(wǎng)絡服務提供者嘗試通過定義訪問控制策略來平衡用于使信息公開和保持它私密的競爭愿望,這些訪問控制策略確定用戶是否能夠訪問與社交圖的特定部分關聯(lián)的資源。例如,已經(jīng)在Joe訂戶的“好友列表”中指明的用戶通常能夠看見狀態(tài)更新、相片或者Joe訂戶發(fā)表的任何其它信息。Joe在網(wǎng)絡中的好友也可以能夠例如通過在他的“墻”上書寫或者關于他已經(jīng)發(fā)表的信息做評論來向Joe訂戶發(fā)送或者發(fā)表信息。其他用戶通常不能看見Joe訂戶發(fā)表的信息或者關于他已經(jīng)發(fā)表的信息做評論。訂戶具有用于例如通過使一些信息類別公開或者使對其它信息類別的訪問限于好友或者好友的好友來控制對他們的信息的訪問的有限能力。[0023]確定誰可以訪問社交圖中的信息的訪問控制策略一般是靜態(tài)的。例如,當前REST式web服務API靜態(tài)地定義社交圖中的資源和訪問控制方案二者,該訪問控制方案門控(gate)對那些資源的訪問。訪問控制方案不可被終端用戶/訂戶或者被應用開發(fā)者或者其它第三方擴展。因此,即使訂戶可以使用預定義的安全設置來限制對他們的個人信息的訪問,訂戶和第三方仍然不能更改預定義的安全設置。因而,不能創(chuàng)建許多潛在地有價值的應用,因為批準該應用的操作所需要的訪問將需要批準比終端用戶或者服務提供者(例如在所有時間對于所有用戶在全局基礎上)愿意允許的對資源的訪問更廣泛的訪問。[0024]在本申請中描述的技術的實施例可以允許開發(fā)者或者第三方將查詢附著到(現(xiàn)有或者新的)資源,這些查詢基于社交圖的當前狀態(tài)批準對關聯(lián)資源的訪問。例如,查詢可以基于請求用戶與擁有資源的用戶的關系、請求用戶與資源的關系或者兩個標準的組合來批準對資源的訪問。也可以基于在資源所有者與資源請求者之間的以往交互來批準或者拒絕對資源的訪問,例如,可以向已經(jīng)在相片中頻繁地出現(xiàn)或者關于資源所有者擁有的資源頻繁地評論的請求者批準訪問。訪問批準查詢返回指示是否允許訪問資源的布爾值。用戶或者社交網(wǎng)絡服務提供者可以在訪問控制查詢可以被添加到社交圖之前授權將查詢附著到資源。開發(fā)者或者其它第三方可以創(chuàng)建可以提供對用戶的資源的有條件訪問的查詢、然后使用這些查詢來創(chuàng)建應用或者服務,這些應用或者服務利用用戶的資源的擴展的可訪問性。例如,開發(fā)者可以創(chuàng)建如下應用,該應用批準對資源、諸如第一用戶發(fā)表的相片的訪問,從而即使在相片中標注的用戶或者訂戶通常未被授權讀取或者向第一用戶擁有的資源進行寫入,他們也仍然可以對相片做評論。訪問控制查詢可以是動態(tài)或者臨時的。例如,授權的訪問控制查詢可以響應于用戶發(fā)起使用訪問控制查詢的服務而被附著到用戶的資源,然后訪問控制查詢可以在服務終止時被去除。[0025]圖1在概念上圖示通信系統(tǒng)100的一個示例性實施例。在所示實施例中,通信系統(tǒng)100包括多個訂戶或者用戶105。如這里所用,術語“訂戶”將被理解為是指已經(jīng)預訂了支持社交圖的社交網(wǎng)絡服務的用戶。術語“用戶”將是指如下人或者實體,這些人或者實體可以在社交圖中被引用或者與社交圖關聯(lián),但是其未必是社交網(wǎng)絡服務的訂戶。訂戶因此可以是與社交網(wǎng)絡服務關聯(lián)的用戶的子集。例如,訂戶可以被稱為社交網(wǎng)絡服務的注冊用戶。用戶105被描繪為移動通信設備、諸如智能電話。然而,受益于本公開內容的本領域技術人員應當認識到術語“用戶”可以指用來訪問通信系統(tǒng)100的電子設備或者指擁有或者操作設備的個人。另外,本領域普通技術人員應當認識到電子設備不限于移動通信設備,并且在一些實施例中,諸如寫字板計算機、膝上型計算機、桌面型計算機等的設備也可以用來訪問通信系統(tǒng)100。在各種實施例中,用戶105可以使用有線連接、無線連接或者其任何組合來訪問通信系統(tǒng)100。[0026]用戶105可以預訂一個或者多個社交網(wǎng)絡服務110、115。示例性社交網(wǎng)絡服務包括Facebook提供的社交網(wǎng)絡服務110和Google+提供的社交網(wǎng)絡服務115。然而,受益于本公開內容的本領域普通技術人員應當認識到通信系統(tǒng)100的備選實施例可以包括其它社交網(wǎng)絡服務,諸如Twitter、Linkedln、VKonkatke、Orkut、RenRen等。在所示實施例中,用戶105(1-4)已經(jīng)預定社交網(wǎng)絡服務110,并且用戶105(4-5)已經(jīng)預定社交網(wǎng)絡服務115。用戶105因此可以已經(jīng)創(chuàng)建簡檔并且建立與社交網(wǎng)絡服務110、115的社交圖中的其他訂戶的關系。用戶105、與用戶105有關的信息和用戶105之間的關系可以由社交圖的結構表示。例如,社交網(wǎng)絡110的社交圖可以包括如下節(jié)點(例如,“訂戶”、“好友列表”、“密友”等),這些節(jié)點使用通過節(jié)點之間的關系所定義的邊而相互關聯(lián)。[0027]應用開發(fā)者120可以開發(fā)如下應用(app)或者服務,這些應用或者服務使用社交網(wǎng)絡110、115的社交圖中的信息來生成并且向用戶105或者其它第三方、諸如嘗試向用戶105提供目標廣告的廣告發(fā)布者提供有用信息。應用開發(fā)者120分別使用用于社交網(wǎng)絡服務110、115的應用編程接口(API)125、130來創(chuàng)建或者定義應用或者服務。API125、130初始地由社交網(wǎng)絡服務110、115的提供者或者所有者定義,并且對于所有用戶105支持相同API125、130。在一個實施例中,API125、130遵從代表狀態(tài)轉移(REST)架構所施加的約束。與社交聯(lián)網(wǎng)站點110、115的REST式web服務API125、130可以提供資源分級(由服務API定義)并且支持對與每個用戶105關聯(lián)的社交網(wǎng)絡信息的各種元素的讀取或者寫入訪問。例如,資源分級可以定義包括非葉節(jié)點的樹,這些非葉節(jié)點定義信息類別或者子集。樹也可以定義節(jié)點或者葉,這些節(jié)點或者葉代表可以通過web服務API125、130讀取或者寫入的數(shù)據(jù)的實例。該布置對于許多web服務是典型的。在常規(guī)web服務中,資源命名方案由服務提供者定義并且不可擴展。[0028]如這里討論的那樣,用于社交聯(lián)網(wǎng)站點110、115的REST式web服務API125、130靜態(tài)地定義資源和訪問控制方案,該訪問控制方案控制或者門控對資源的訪問。這里描述的技術的實施例允許例如通過在按用戶或者按服務或者按應用的基礎上擴展訪問控制權來擴展或者延伸API125、130以支持更靈活的訪問控制。擴展的訪問控制權可以用來根據(jù)社交圖的當前狀態(tài)批準訪問。例如,對選擇的資源的訪問可以根據(jù)用戶或者訂戶與選擇的資源的關系或者他們與資源的所有者的關系而被有條件地批準給他們。在一個實施例中,取代嘗試預期用于新服務或者應用可能需要的REST式web服務的訪問控制粒度,應用開發(fā)者可以能夠使用適當定義的查詢表達來定制訪問控制。[0029]訪問控制查詢的各種實施例可以使用邏輯表達來定義并且可以返回不同值。在一個實施例中,開發(fā)者可以選擇或者指定可以針對web服務資源應用的布爾值(真/假)查詢表達以確定用戶是否可以訪問web服務資源。開發(fā)者可以備選地選擇或者指定查詢表達,這些查詢表達返回可以用來指示用戶的訪問控制狀態(tài)的其它參數(shù)。例如,返回指示用戶先前已經(jīng)訪問有關資源的次數(shù)的計數(shù)器值的查詢表達用來確定是否向用戶給予對web服務資源的訪問。也可以定義更復雜的查詢。例如,批準訪問控制的查詢表達可以是返回邏輯表達的查詢,該邏輯表達組合查詢的結果與邏輯運算符(例如,“AND”、“0R”或者“NOT”)或者數(shù)學比較運算符(〈、〈=、>、>+、==、!=)以提供布爾(真或者假)結果。又例如,可以提供動態(tài)語言的函數(shù),例如以JavaScript表達的函數(shù),該函數(shù)對一個或者多個查詢“結果集合”的行和列進行運算以提供真/假結果。因此,例如包含兩個查詢的訪問控制查詢表達可以是以下形式:[0030]“(O<(SELECTcount!romfricnds_tabicwhere…))AND(6<(SELECTcountIromphotos—tablewhere…備選地,利用JavaScript函數(shù),查詢表達可以是以下形式:'Muncl1nhasRcqucslcdAcccss(Request—URI){varrs=db.execute(6selectfriendfromfriends—tablewhere■..,);while(rs.1sValidRow()){}returnisAcccssGrantcd;r,[0031]受益于本公開內容的本領域技術人員應當認識到前述示例查詢旨在于舉例說明。訪問控制查詢的備選實施例可以使用這些格式、其它查詢格式或者其組合。[0032]查詢表達可以與REST式動作(GET,PUT/POST,DELETE)關聯(lián)并且可以確定對于web服務請求是否批準訪問??梢杂冒⊿QL、SPARQL或者XPath的任何查詢語言實施查詢表達。查詢表達可以與目標資源直接關聯(lián)或者可以備選地被添加到web服務作為可以在單個操作中針對多個資源應用的并且對于它們中的一些或者所有資源而廢除或者修改的附加資源。建議或者描述查詢表達所批準的權限的性質的名稱或者描述可以與查詢表達關聯(lián)。如果查詢表達被添加作為對web服務的擴展,則名稱可以用作URI中的資源名稱的元素,其用來通過REST式PUT/POST、GET和DELETE操作來建立、讀取和刪除查詢表達。[0033]在所示實施例中,用戶105可以向社交網(wǎng)絡服務110、115中的一個或者多個社交網(wǎng)絡服務發(fā)表資源并且可以調用服務,這些服務可以提供對發(fā)表的資源的有條件的訪問。例如,用戶105(4)可以在Facebook上發(fā)表群相片、然后調用如下服務,該服務向與群相片關聯(lián)的節(jié)點附著查詢以向在相片中標注的用戶有條件地批準訪問而不管用戶可能必須與在相片上的用戶105(4)具有的任何其它關系如何。如果用戶105(1)是用戶105(4)的Facebook好友,則用戶105(1)可以對相片做評論。用戶105(2)可以不是用戶105(4)的Facebook好友,但是該服務可以使用查詢以向用戶105(2)批準有條件的訪問,從而如果用戶105(2)在相片中被標注,則用戶105(2)可以對相片做評論。用戶105(3)可以不是用戶105(4)的Facebook好友并且可以在相片中未被標注。查詢因此不向用戶105(3)批準訪問。[0034]通信系統(tǒng)100的實施例可以允許具有適當權限的開發(fā)者120通過添加葉節(jié)點來擴展資源樹,這些葉節(jié)點表示新葉節(jié)點被附著到的節(jié)點所表示的數(shù)據(jù)的新“視圖”。這些節(jié)點可以被開發(fā)者120命名并且與對樹的、其中插入新葉節(jié)點的分支所標識的數(shù)據(jù)子集(或者子樹)進行操作的一個或者多個訪問控制查詢關聯(lián)。可以通過離線web界面添加或者通過HTTPPOST請求來插入節(jié)點或者查詢。查詢/視圖可以被開發(fā)者120命名或者定義或者可以從社交網(wǎng)絡服務110、115的提供者可用的預定義“查詢/視圖”菜單中選擇該查詢/視圖。在各種備選實施例中,查詢參數(shù)可以由開發(fā)者定義、由上下文/節(jié)點確定或者由服務或者應用動態(tài)地確定。[0035]圖2在概念上圖示社交圖的一部分200的第一示例性實施例。在所示實施例中,該部分200是全社交圖的子樹,并且子樹200包括與特定訂戶“Joe訂戶”關聯(lián)的節(jié)點??梢越?jīng)由入口節(jié)點或者父節(jié)點205訪問該部分200。該部分200可以被存儲于一個或者多個服務器中,并且客戶端可以通過向服務器發(fā)送適當?shù)慕y(tǒng)一資源指示符(URI)或者其它地址來訪問入口節(jié)點205。例如,入口節(jié)點205可以通過發(fā)送URI地址http://www.fakesocialnetwork.com/Joe.Subscriber來訪問。該部分200也包括連接到入口節(jié)點205或者連接到該部分200內的其它節(jié)點的子節(jié)點210。子節(jié)點210可以與信息、類別、其它訂戶等關聯(lián)。例如,子節(jié)點210可以與“好友”、“相片”、“簡檔”、“音樂”等關聯(lián)。節(jié)點200也可以與共享興趣的訂戶或者用戶群或者如下群關聯(lián),這些群指示用戶/訂戶之間的關系的性質、諸如家人、密友、熟人、業(yè)務聯(lián)系人等??梢允褂脤刂穪碓L問節(jié)點210,諸如:[0036]http://www.fakesocialnetwork.com/Joe.Subscriber/FriendsLists/CloseFriends以及[0037]http://www.fakesocialnetwork.com/Joe.Subscriber/Photographs。[0038]在所示實施例中,開發(fā)者或者其他第三方可以將一個或者多個訪問控制查詢215附著到社交圖的部分200中的與訂戶對應的節(jié)點210。訪問控制查詢215可以對與節(jié)點210(1)關聯(lián)的資源220、諸如相片或者其它資源進行操作。在一個實施例中,開發(fā)者可以使用消息或者命令來定義查詢215并且將查詢215附著到一個或者多個節(jié)點以修改用于社交圖200的應用編程接口(API)。例如,查詢215可以響應于Joe訂戶調用如下服務而被附著到節(jié)點210(I)(例如,相片節(jié)點),該服務利用查詢215以修改用于與節(jié)點210(I)關聯(lián)的資源220的訪問控制。調用查詢的地址的一個示例是:[0039]http://www.fakesocialnetwork.com/Joe.Subscriber/Photographs/PhotoI/Tagged_User,[0040]該地址調用向相片節(jié)點210(1)附著的查詢215。如果在查詢215中指示的用戶在照片I中被標注,則查詢215可以返回布爾真、由此向用戶批準訪問資源,例如對相片做評論。否則,查詢215可以返回布爾假以指示對于訪問的請求已經(jīng)被拒絕。例如,照片I這一相片可以包括用于FrankFriendly和BobWhatsisname的標簽。標簽可以在標簽列表225中被指示或者使用任何其它指示符來指示。FrankFriendly如在標簽列表225中的“Y”指示的那樣是Joe訂戶的好友,并且BobWhatsisname如在標簽列表225中的“N”指示的那樣不是Joe訂戶的好友。然而,查詢215可以向BobWhatsisname批準對照片I這一相片的有條件的訪問權,因為BobWhatsisname在照片I這一相片中被標注。[0041]常規(guī)查詢語言的實施例通常可以靈活到足以允許設計可以在社交圖200內的不同位置或者節(jié)點中應用的單個查詢。節(jié)點可以對于每個查詢215由開發(fā)者選擇或者節(jié)點可以使用自動化過程或者算法來選擇。例如,社交聯(lián)網(wǎng)站點可以檢查查詢215、選擇將查詢215應用到的適當節(jié)點、將查詢215迭代地(或者并行地)應用于樹中的選擇的節(jié)點并且組合結果。在一些實施例中,開發(fā)者或者第三方可能需要獲得用于將查詢215附著到社交圖200的權限或者授權。例如,開發(fā)者或者第三方可能需要從Joe訂戶或者社交圖的服務提供者或者所有者獲得權限或者授權。授權僅可以對于有限量的時間有效,例如在訂戶已經(jīng)調用或者發(fā)起利用查詢215的應用或者服務之后并且在訂戶終止該應用或者服務之前有效。查詢215因此可以是臨時或者動態(tài)查詢。[0042]圖3在概念上圖示用于修改用于社交圖的訪問控制的方法300的第一示例性實施例。在所示實施例中,訪問控制查詢由開發(fā)者或者第三方生成(在305)。訪問控制查詢可以用作開發(fā)者或者第三方創(chuàng)建的服務或者應用的一部分。訪問控制查詢可以對開發(fā)者或者第三方定義的節(jié)點的子樹進行操作并且旨在于被插入到社交圖中的與一個或者多個用戶、例如已經(jīng)調用了利用查詢的服務的訂戶關聯(lián)的部分中。開發(fā)者或者第三方然后可以向一個或者多個指明的節(jié)點發(fā)送(在310)對于附著查詢的請求。例如,可以將查詢表達編寫為REST式PSOT請求,其請求修改對社交圖的資源的訪問控制。[0043]在常規(guī)訪問控制方案中,REST式服務的用戶向服務呈現(xiàn)訪問令牌(或者應用代表終端用戶來呈現(xiàn)訪問令牌),并且訪問令牌標識已經(jīng)向用戶/應用批準的訪問。服務的預定資源可以指定什么訪問權限被批準給特定用戶。例如,在Google日歷中,用戶可以被指派確定該用戶的訪問權的角色(role)。對于給定的資源(例如,Google:“/calendar/v3/calendars/KidsEvents”),該角色確定用戶是否具有對資源的訪問(通過HTTPGET請求)、可以更新日歷(通過HTTPPUT請求)或者可以刪除日歷(通過HTTPDELETE請求)。這些角色批準為該角色預定義的訪問權的匯集。預定角色由服務提供者固定并且不可被用戶、開發(fā)者或者第三方擴展。[0044]在所示實施例中,請求(在305)的訪問控制查詢可以用來批準對資源的個別訪問權、由此繞過基于角色的訪問控制。備選地,用戶可以基于請求(在305)的訪問控制查詢的結果而與特定角色關聯(lián),該結果可以通過訪問令牌超越(或者擴充)向用戶批準的訪問。訪問控制查詢將被附著到資源樹中的節(jié)點,并且查詢節(jié)點的放置可以確定角色的范圍。例如,查詢范圍可以限于查詢被附著到的子樹中的資源。查詢節(jié)點可以被給予有意義的名稱。例如,用于確定是否向看護者給予對訂戶的列舉孩子的事件的日歷的訪問的查詢的查詢節(jié)點可以被命名為“GrantCaregiverAccess”并且可以使用關聯(lián)URI來替換或者刪除。[0045]http://www.fakesocialnetwork.com/Joe.Subscriber/Calendar/CalendarsKidsEvents/GrantCaregiversAccess[0046]在適當授權的情況下,用來為Google日歷式服務創(chuàng)建查詢的post請求可以使用格式(JSON):[0047]【權利要求】1.一種方法,包括:響應于服務被調用而接收用于配置查詢的信息,其中所述服務被配置為使用所述查詢來請求訪問與社交圖中關聯(lián)于第一用戶的部分中的節(jié)點關聯(lián)的資源;將所述查詢與所述節(jié)點關聯(lián),其中所述查詢對與所述節(jié)點關聯(lián)的所述資源進行操作,并且其中所述查詢根據(jù)所述社交圖的當前狀態(tài)返回信息,所述信息指示對訪問所述資源的請求是否被批準或者拒絕。2.根據(jù)權利要求1所述的方法,包括從第二用戶接收對訪問與所述節(jié)點關聯(lián)的所述資源的請求并且響應于接收所述請求而調用所述查詢,并且其中調用所述查詢包括基于下述關系中的至少一種關系來確定是否批準或者拒絕所述請求:所述第二用戶與所述第一用戶的關系或者所述第二用戶與所述資源的關系,其中所述關系由所述社交圖中的邊表示。3.根據(jù)權利要求1所述的方法,其中將所述查詢與所述節(jié)點關聯(lián)包括響應于所述第一用戶調用請求訪問與所述節(jié)點關聯(lián)的所述資源的所述服務而將所述查詢附著到所述節(jié)點,并且還包括響應于所述第一用戶調用所述服務而將所述節(jié)點添加到所述社交圖中與所述第一用戶關聯(lián)的所述部分并且然后將所述查詢附著到新添加的所述節(jié)點,或者響應于所述第一用戶終止所述服務而刪除所述查詢。4.根據(jù)權利要求1所述的方法,其中將所述查詢與所述節(jié)點關聯(lián)包括響應于確定所述第一用戶授權將所述查詢附著到所述第一用戶擁有的所述節(jié)點、或者擁有所述社交圖的服務提供者授權將所述查詢附著到所述第一用戶擁有的所述節(jié)點,而將所述查詢附著到所述節(jié)點。5.一種方法,包括:調用被配置為對與在社交圖的一部分中被第一用戶擁有的節(jié)點關聯(lián)的資源執(zhí)行查詢的服務;以及響應于調用所述服務而將查詢與所述節(jié)點關聯(lián),其中所述查詢根據(jù)所述社交圖的當前狀態(tài)確定是否批準或者拒絕對訪問與所述節(jié)點關聯(lián)的所述資源的請求。6.根據(jù)權利要求5所述的方法,其中將所述查詢與所述節(jié)點關聯(lián)包括響應于所述第一用戶調用請求訪問與所述節(jié)點關聯(lián)的所述資源的所述服務而將所述查詢附著到所述節(jié)點,并且還包括以下操作中的至少一種操作:響應于所述第一用戶調用所述服務而將所述節(jié)點添加到所述社交圖中與所述第一用戶關聯(lián)的所述部分并且然后將所述查詢附著到新添加的所述節(jié)點,或者響應于所述第一用戶終止所述服務而刪除所述查詢。7.根據(jù)權利要求5所述的方法,其中將所述查詢與所述節(jié)點關聯(lián)包括響應于確定所述第一用戶授權將所述查詢附著到所述第一用戶擁有的所述節(jié)點、或者擁有所述社交圖的服務提供者授權將所述查詢附著到所述第一用戶擁有的所述節(jié)點,而將所述查詢附著到所述節(jié)點。8.根據(jù)權利要求5所述的方法,包括從第二用戶接收對使用所述服務來訪問與所述節(jié)點關聯(lián)的所述資源的請求并且響應于接收所述請求而調用所述查詢,其中調用所述查詢包括基于下述關系中的至少一種關系來確定是否批準或者拒絕所述請求:所述第二用戶與所述第一用戶的關系或者所述第二用戶與所述資源的關系,其中所述關系由所述社交圖中的邊表示。9.一種用于提供對社交圖的部分的訪問控制的裝置,所述裝置包括數(shù)據(jù)存儲裝置和通信地耦合到所述數(shù)據(jù)存儲裝置的處理器,所述處理器被配置為執(zhí)行根據(jù)權利要求1-4中的任一權利要求所述的方法。10.一種用于提供對社交圖的部分的訪問控制的裝置,所述裝置包括數(shù)據(jù)存儲裝置和通信地耦合到所述數(shù)據(jù)存儲裝置的處理器,所述處理器被配置為執(zhí)行根據(jù)權利要求5-8中的任一權利要求所述的方法。【文檔編號】G06F15/173GK104205086SQ201380015067【公開日】2014年12月10日申請日期:2013年3月18日優(yōu)先權日:2012年3月19日【發(fā)明者】L·E·門滕申請人:阿爾卡特朗訊