專利名稱:用于同步不同網(wǎng)絡(luò)上的數(shù)據(jù)的適配器的制作方法
用于同步不同網(wǎng)絡(luò)上的數(shù)據(jù)的適配器背景
過(guò)去已經(jīng)執(zhí)行了應(yīng)用程序之間的數(shù)據(jù)同步。在執(zhí)行這種同步時(shí)必須解決許多難 點(diǎn)。例如,應(yīng)用程序可駐留在具有對(duì)網(wǎng)絡(luò)的不同類型的連接的系統(tǒng)上。給定網(wǎng)絡(luò)的特定特 質(zhì)可以是生成在帶有不同應(yīng)用程序的不同網(wǎng)絡(luò)上操作的通用同步系統(tǒng)的障礙。當(dāng)前用于同步數(shù)據(jù)的一種類型的系統(tǒng)使用用于發(fā)布諸如web博客條目、新聞標(biāo) 題、播客等頻繁更新內(nèi)容的web訂閱源格式族。該web訂閱源格式族被稱為“真正簡(jiǎn)單聚 合” (RSS)格式。這些系統(tǒng)還可使用被稱為“ATOM訂閱源格式”的類似格式。可使用RSS或 ATOM訂閱源格式來(lái)發(fā)送的數(shù)據(jù)通常在用戶訂閱給定訂閱源時(shí)發(fā)送。用戶的系統(tǒng)上的讀取器 檢查用戶所訂閱的鏈接來(lái)尋找新內(nèi)容并下載用戶所需的內(nèi)容的任何更新。提供以上討論僅用作一般的背景信息,并不旨在幫助確定所要求保護(hù)的主題的范 圍。概述簡(jiǎn)單共享擴(kuò)展(也被稱為訂閱源同步)是通過(guò)使用各種數(shù)據(jù)源來(lái)實(shí)現(xiàn)信息的聚集 的RSS和ATOM訂閱源格式的擴(kuò)展。這些擴(kuò)展提供了一種同步使用RSS或ATOM訂閱源格式 的端點(diǎn)網(wǎng)格上的數(shù)據(jù)的方式。這種類型的同步的典型且當(dāng)前的實(shí)現(xiàn)需要端點(diǎn)之間持續(xù)且高速的網(wǎng)絡(luò)連接。例 如,在這種類型的同步系統(tǒng)的某些當(dāng)前實(shí)現(xiàn)中,客戶機(jī)節(jié)點(diǎn)定期地輪詢服務(wù)器節(jié)點(diǎn)來(lái)請(qǐng)求 對(duì)訂閱源的更新??蛻魴C(jī)節(jié)點(diǎn)還將其自己的本地變更發(fā)送回服務(wù)器從而使得那些變更可以 向其他端點(diǎn)發(fā)布。各節(jié)點(diǎn)通過(guò)持續(xù)連接的高速網(wǎng)絡(luò)來(lái)連接。在這種類型的實(shí)現(xiàn)中,開(kāi)發(fā)員 通常不需要考慮對(duì)于每一發(fā)布請(qǐng)求在客戶機(jī)和服務(wù)器之間傳遞的數(shù)據(jù)大小。開(kāi)發(fā)員也不需 要考慮正在同步的數(shù)據(jù)集的總體大小。這些類型的網(wǎng)絡(luò)僅僅是足夠穩(wěn)健從而使得它們可容 易地處理典型的數(shù)據(jù)集。然而,可能期望在甚至具有能力小得多的網(wǎng)絡(luò)的實(shí)現(xiàn)中同步數(shù)據(jù)。這種類型的網(wǎng) 絡(luò)的示例是蜂窩電話短消息服務(wù)(SMS)網(wǎng)絡(luò)。SMS定義用于將最多160個(gè)字符的消息與全 球移動(dòng)通信系統(tǒng)(GSM)上操作的移動(dòng)手機(jī)往來(lái)發(fā)送的通信協(xié)議,其中GSM指定移動(dòng)通信的 標(biāo)準(zhǔn)。在這種場(chǎng)景中,每一請(qǐng)求的數(shù)據(jù)大小和數(shù)據(jù)集的總體大小都會(huì)引起嚴(yán)重的問(wèn)題。 如上所述,SMS消息限于每條消息大約160個(gè)字符并相對(duì)較慢地發(fā)送。同樣,消息經(jīng)常發(fā)送 了但從未接收到。因此,本系統(tǒng)包括連接兩個(gè)不同網(wǎng)絡(luò)上的兩個(gè)同步端點(diǎn)的橋(或適配器)。該橋首 先接收要同步的信息并生成元數(shù)據(jù)來(lái)將其形成為要根據(jù)第一協(xié)議通過(guò)第一網(wǎng)絡(luò)來(lái)傳輸?shù)?消息。網(wǎng)關(guān)通過(guò)第一傳輸機(jī)制接收消息并生成可根據(jù)第二協(xié)議通過(guò)第二網(wǎng)絡(luò)傳輸?shù)耐接?閱源。在一個(gè)實(shí)施例中,第一傳輸機(jī)制傳輸SMS消息而第二傳輸機(jī)制包括在使用超文本傳 輸協(xié)議(HTTP)的網(wǎng)絡(luò)上提供的同步訂閱源。提供本概述以便以簡(jiǎn)化形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本 概述并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。所要求保護(hù)的主題不限于解決在背景中提及的任何或所有缺點(diǎn)的實(shí) 現(xiàn)。附圖簡(jiǎn)述
圖1是一個(gè)說(shuō)明性通信系統(tǒng)的框圖。圖2是示出圖1所示的系統(tǒng)的一個(gè)實(shí)施例的流程圖。圖3是示出圖1所示的系統(tǒng)的操作的另一實(shí)施例的流程圖。圖4是通信系統(tǒng)的更詳細(xì)的實(shí)施例。圖5是一個(gè)說(shuō)明性計(jì)算環(huán)境的框圖。詳細(xì)描述圖1是一個(gè)說(shuō)明性同步系統(tǒng)100的框圖。系統(tǒng)100將數(shù)據(jù)從數(shù)據(jù)源102同步到同 步端點(diǎn)104。系統(tǒng)100包括同步適配器106、移動(dòng)設(shè)備108、通過(guò)第一傳輸111連接到移動(dòng)設(shè) 備108的移動(dòng)設(shè)備110、同步網(wǎng)關(guān)112、以及通過(guò)第二傳輸116連接到網(wǎng)關(guān)112的同步web 服務(wù)114。在圖1示出的實(shí)施例中,數(shù)據(jù)源102說(shuō)明性地可以是具有要與一個(gè)或多個(gè)同步端 點(diǎn)104處的數(shù)據(jù)同步的應(yīng)用程序數(shù)據(jù)的任何所需的應(yīng)用程序。例如,在圖1示出的實(shí)施例 中,數(shù)據(jù)源102可以是數(shù)據(jù)庫(kù)應(yīng)用程序。同樣,在圖1示出的實(shí)施例中,移動(dòng)設(shè)備108和110沿第一傳輸111彼此通信。第 一傳輸111說(shuō)明性地可以是諸如短消息服務(wù)(SMS)鏈路等的低速鏈路。SMS鏈路111不支 持諸如RSS或ATOM訂閱源格式等的同步格式。因此,在圖1示出的實(shí)施例中,同步適配器 106從數(shù)據(jù)源102接收要同步的數(shù)據(jù)并將其轉(zhuǎn)換成移動(dòng)設(shè)備108可以使用第一傳輸111來(lái) 發(fā)送的短消息。移動(dòng)設(shè)備110接收這些消息并將其提供給同步網(wǎng)關(guān)112。在圖1示出的實(shí)施例中, 第二傳輸116是支持同步格式的傳輸。例如,第二傳輸116說(shuō)明性地可以是使用超文本傳 輸協(xié)議(HTTP)進(jìn)行通信的傳輸。這是相對(duì)于其上實(shí)現(xiàn)第一傳輸111的網(wǎng)絡(luò)的相對(duì)較快且 穩(wěn)健的網(wǎng)絡(luò)。因此,同步網(wǎng)關(guān)112從移動(dòng)設(shè)備110接收短消息并生成按同步格式放置消息 所必要的元數(shù)據(jù)從而使得這些消息可通過(guò)使用同步格式的第二傳輸116來(lái)傳遞到同步web 服務(wù)114。在一個(gè)實(shí)施例中,同步web服務(wù)114通過(guò)持續(xù)高速的傳輸116來(lái)接受帶有簡(jiǎn)單共 享擴(kuò)展的消息并根據(jù)所需同步格式(諸如RSS或ATOM訂閱源格式)生成要發(fā)布到端點(diǎn)104 網(wǎng)格的同步訂閱源118。圖2是更詳細(xì)地示出圖1所示的系統(tǒng)100的總體操作的流程圖?,F(xiàn)在將一起描述 圖1和2。然而,在描述圖1和2之前,應(yīng)該注意,同步適配器106和同步網(wǎng)關(guān)112可被配置 成將要同步的數(shù)據(jù)通過(guò)任何相對(duì)低速且脆弱的第一傳輸111從數(shù)據(jù)源102傳遞到同步端點(diǎn) 104。即,本系統(tǒng)可以使用多個(gè)非常低帶寬且高等待時(shí)間的信道。SMS是一個(gè),但是這種傳輸 機(jī)制的另一示例是其上發(fā)送業(yè)余無(wú)線電發(fā)射的信道。關(guān)于SMS的描述僅僅是示例性的。在任何情況下,同步適配器106首先從數(shù)據(jù)源102接收要同步的數(shù)據(jù)。如上所討 論的,數(shù)據(jù)源102可以是具有要與同步端點(diǎn)104處的數(shù)據(jù)同步的應(yīng)用程序數(shù)據(jù)的任何應(yīng)用 程序。在適配器106處接收要同步的數(shù)據(jù)由圖2中的框150指示。同步適配器106或另一單獨(dú)的組件隨后可任選地壓縮要同步的數(shù)據(jù)。因?yàn)榈谝粋鬏攊ll是相對(duì)低帶寬、高等待時(shí)間的傳輸,所以減少通過(guò)第一傳輸111發(fā)送的數(shù)據(jù)量是有益 的,從而使得要同步的數(shù)據(jù)實(shí)際上可更快地到達(dá)同步端點(diǎn)104。壓縮要同步的數(shù)據(jù)由圖2中 的框152指示。還應(yīng)注意到,適配器106可按各種不同的方式從應(yīng)用程序102接收要同步的數(shù)據(jù)。 應(yīng)用程序102可將已經(jīng)改變并因此需要同步的任何新的數(shù)據(jù)推送到同步適配器106,或者 適配器106可輪詢數(shù)據(jù)源102來(lái)尋找新的數(shù)據(jù)。要同步的數(shù)據(jù)由圖1中的框119指示。
可以用時(shí)間戳來(lái)標(biāo)記數(shù)據(jù),從而使得當(dāng)同步適配器106尋找新的數(shù)據(jù)時(shí),其可只 檢索具有超過(guò)最近同步操作的時(shí)間戳的時(shí)間戳的數(shù)據(jù)?;蛘?,當(dāng)然,要同步的數(shù)據(jù)中的每一 項(xiàng)可與不斷增長(zhǎng)的值相關(guān)聯(lián),該值在每一次對(duì)該項(xiàng)作出變更時(shí)就增加。適配器106隨后可 檢查與要同步的項(xiàng)中的每一個(gè)相關(guān)聯(lián)的值來(lái)查看自從上一次同步操作以來(lái)其是否增加。也 可以使用用于確定數(shù)據(jù)源102中的數(shù)據(jù)是否改變并因此需要同步的各種其他方式。那些所 描述的僅作為示例來(lái)使用。一旦同步適配器106獲得要與端點(diǎn)104同步的數(shù)據(jù)項(xiàng),同步適配器106隨后將數(shù) 據(jù)分段成適當(dāng)?shù)臄?shù)據(jù)分組以供設(shè)備108通過(guò)第一傳輸111來(lái)發(fā)送。在其中設(shè)備108是蜂窩 電話并且傳輸111是SMS傳輸?shù)膶?shí)施例中,適配器106將從數(shù)據(jù)源102接收的數(shù)據(jù)分段成 短消息(最多160個(gè)字符)并生成要通過(guò)第一傳輸111發(fā)送所必要的元數(shù)據(jù)。元數(shù)據(jù)可包 括例如,首部信息、校驗(yàn)和信息、或描述適配器106生成的消息的任何其他所需元數(shù)據(jù)。這 些消息由圖1中的框120指示。在該實(shí)施例中,將數(shù)據(jù)分段成移動(dòng)設(shè)備消息以及生成元數(shù) 據(jù)由圖2中的框154指示。消息120隨后被提供給移動(dòng)設(shè)備108并由移動(dòng)設(shè)備108通過(guò)第一傳輸111來(lái)發(fā)送。 這由圖2中的框156指示。消息120通過(guò)傳輸111在移動(dòng)設(shè)備110處接收,移動(dòng)設(shè)備110將消息提供給同步 網(wǎng)關(guān)112。在網(wǎng)關(guān)112處接收移動(dòng)設(shè)備消息由圖2中的框158指示。網(wǎng)關(guān)112隨后將消息120組裝成適當(dāng)格式以供在第二傳輸116上發(fā)送。在圖1示 出的實(shí)施例中,第二傳輸116使用HTTP來(lái)操作。例如,同步網(wǎng)關(guān)112說(shuō)明性地將消息120 中的數(shù)據(jù)格式化為RSS格式,RSS格式是用于發(fā)布頻繁更新內(nèi)容的web訂閱源格式族。或 者,網(wǎng)關(guān)112可將來(lái)自消息120的數(shù)據(jù)置于也是用于發(fā)布頻繁更新內(nèi)容的格式的ATOM訂閱 源格式。這些格式作為示例來(lái)給出,也可以使用其他web同步格式。將移動(dòng)設(shè)備消息120 組裝成web同步格式消息由圖2中的框160指示。web同步格式消息由圖1中的框122指
7J\ ο同步網(wǎng)關(guān)112還說(shuō)明性地檢查來(lái)確保從同步適配器106作為要同步的數(shù)據(jù)的一部 分發(fā)送的所有消息120在同步網(wǎng)關(guān)112將消息120格式化為web格式消息122之前被接 收。在諸如第一傳輸111等的傳輸機(jī)制中某些消息或部分消息在傳遞期間可能丟失或從未 被目標(biāo)系統(tǒng)接收到是常見(jiàn)的。因此,在可以準(zhǔn)備完整的web格式消息122之前必須重新發(fā) 送消息是可能的。在這種情況下,同步網(wǎng)關(guān)112說(shuō)明性地在招致生成web格式消息122所 必要的處理開(kāi)銷之前等待直到接收了所有要同步的數(shù)據(jù)。一旦接收了所有消息,同步網(wǎng)關(guān)112說(shuō)明性地按設(shè)備110可通過(guò)第一傳輸111發(fā) 送的消息格式來(lái)生成響應(yīng)124。該響應(yīng)向適配器106指示已經(jīng)接收了所有消息。發(fā)送響應(yīng) 由圖2中的框159指示。
將web同步格式消息122提供給同步web服務(wù)114。web同步格式消息122說(shuō)明 性地可用簡(jiǎn)單共享擴(kuò)展來(lái)格式化從而使得它們可以使用RSS或ATOM訂閱源來(lái)跨端點(diǎn)104 網(wǎng)格同步。因?yàn)榈诙鬏?16是相對(duì)高速的持續(xù)的網(wǎng)絡(luò),所以可以使用這些格式來(lái)發(fā)送web 同步格式消息122。 同步web服務(wù)114隨后將web同步格式消息122作為同步訂閱源118發(fā)布到同步 端點(diǎn)104。這由圖2中的框612指示。圖3是示出圖1中示出的通過(guò)兩個(gè)不同的傳輸111和116將在同步端點(diǎn)104中的 一個(gè)處改變的數(shù)據(jù)與數(shù)據(jù)源102中的數(shù)據(jù)同步的系統(tǒng)100的操作的流程圖。在執(zhí)行這種類 型的同步時(shí),同步網(wǎng)關(guān)112說(shuō)明性地輪詢同步web服務(wù)114來(lái)尋找同步端點(diǎn)104中的一個(gè) 所發(fā)布的并且要與數(shù)據(jù)源102中的數(shù)據(jù)同步的任何數(shù)據(jù)。網(wǎng)關(guān)112可以使用與上文關(guān)于同步適配器106所描述的相比相同或不同的技術(shù)來(lái) 確定是否存在要同步的任何新的數(shù)據(jù)。例如,同步網(wǎng)關(guān)112可保持與其最近的同步操作相 關(guān)聯(lián)的時(shí)間戳。隨后,當(dāng)其輪詢web服務(wù)114時(shí),同步網(wǎng)關(guān)112忽略在其最近同步操作之前 已經(jīng)作出的所有變更而只尋找從那之后作出的變更。當(dāng)同步網(wǎng)關(guān)112對(duì)多個(gè)不同的同步適 配器106操作時(shí),其說(shuō)明性地記住對(duì)每一適配器106執(zhí)行的最近同步操作。例如,同步網(wǎng)關(guān) 112服務(wù)多個(gè)不同的同步適配器106,每一個(gè)與一個(gè)或多個(gè)不同的數(shù)據(jù)源102相關(guān)聯(lián)是可能 的。在那種情況下,同步網(wǎng)關(guān)112記住對(duì)每一適配器106執(zhí)行的最近同步操作。也可以使用用于確定同步端點(diǎn)104所發(fā)布的數(shù)據(jù)是否需要與數(shù)據(jù)源102同步的其 他機(jī)制。例如,網(wǎng)關(guān)112可以查詢每一同步適配器106來(lái)確定其何時(shí)執(zhí)行最后一次的同步 操作。按照那種方式,網(wǎng)關(guān)112不需要對(duì)每一客戶機(jī)記住該信息,而客戶機(jī)適配器本身可以 記住該信息。此外,要與端點(diǎn)104同步的每一數(shù)據(jù)項(xiàng)可具有其自己的指示其變更的最后時(shí)間的 時(shí)間戳。網(wǎng)關(guān)112隨后可檢查同步web服務(wù)114所發(fā)布供同步的每一數(shù)據(jù)項(xiàng)上的時(shí)間戳, 以便確定自從該數(shù)據(jù)項(xiàng)最后被變更以來(lái)是否執(zhí)行過(guò)同步操作。用于標(biāo)識(shí)哪些數(shù)據(jù)項(xiàng)需要同 步的所有這些技術(shù)僅作為示例來(lái)描述,也可以使用其他技術(shù)。在任何情況下,同步網(wǎng)關(guān)112確定同步web服務(wù)114是否正在發(fā)布需要同步到同 步網(wǎng)關(guān)112對(duì)其操作的客戶機(jī)同步適配器106的任何數(shù)據(jù)。這由圖3中的框200指示,并 且要同步的數(shù)據(jù)由圖1中的web格式消息框122指示。如果存在這種數(shù)據(jù),則同步網(wǎng)關(guān)112 (或另一設(shè)備)可任選地壓縮消息122中的數(shù) 據(jù)從而使得最小化通過(guò)低速低等待時(shí)間傳輸111來(lái)發(fā)送的數(shù)據(jù)量或至少在某種程度上使 其降低。壓縮數(shù)據(jù)由圖3中的框202指示。網(wǎng)關(guān)112隨后將要同步的數(shù)據(jù)250分段成可由移動(dòng)設(shè)備110通過(guò)傳輸111來(lái)發(fā)送 的消息120。如上參考客戶機(jī)同步適配器106所述,其中傳輸111是SMS傳輸,隨后要同步 的數(shù)據(jù)250被分段成不超過(guò)160個(gè)字符的SMS消息,并且網(wǎng)關(guān)112還生成SMS傳輸使用的 必要的元數(shù)據(jù)(諸如首部和校驗(yàn)和數(shù)據(jù))。將數(shù)據(jù)分段成移動(dòng)設(shè)備消息由圖3中的框204 指示。消息120隨后被提供給移動(dòng)設(shè)備110,在那里通過(guò)第一傳輸111發(fā)送到移動(dòng)設(shè)備 108。移動(dòng)設(shè)備108隨后將消息120提供給客戶機(jī)同步適配器106。通過(guò)第一傳輸(例如, 移動(dòng)設(shè)備網(wǎng)絡(luò))111來(lái)發(fā)送消息由圖3中的框206指示。
客戶機(jī)同步適配器106隨后準(zhǔn)備消息120中的數(shù)據(jù)從而使得該數(shù)據(jù)可與數(shù)據(jù)源 102中的相應(yīng)數(shù)據(jù)同步。例如,在數(shù)據(jù)源102是期待特定格式的數(shù)據(jù)的特定應(yīng)用程序的情況 下,適配器106將消息120中包含的數(shù)據(jù)組裝成數(shù)據(jù)源102所需的格式。合適格式的要同 步的數(shù)據(jù)119隨后被提供給數(shù)據(jù)源102,在那里該數(shù)據(jù)與數(shù)據(jù)源102中的相應(yīng)數(shù)據(jù)項(xiàng)同步。 從消息120檢索數(shù)據(jù)并同步數(shù)據(jù)源102中的數(shù)據(jù)由圖3中的框208指示。
圖4是用于通過(guò)兩個(gè)不同的數(shù)據(jù)傳輸來(lái)同步數(shù)據(jù)的系統(tǒng)100的一個(gè)說(shuō)明性實(shí)施例 的更詳細(xì)的框圖,其中一個(gè)數(shù)據(jù)傳輸是相對(duì)低速的低等待時(shí)間的傳輸111而另一個(gè)是高速 持續(xù)的傳輸116。圖4示出其中數(shù)據(jù)從公司的第一區(qū)域辦公室300通過(guò)低等待時(shí)間傳輸111 發(fā)送到第二區(qū)域辦公室302的實(shí)施例。隨后準(zhǔn)備數(shù)據(jù)以供在高頻傳輸116上發(fā)送并將數(shù)據(jù) 提供給web服務(wù)114以供發(fā)布到多個(gè)同步端點(diǎn)104。圖4示出數(shù)據(jù)源102可以是作業(yè)管理器組件306訪問(wèn)的數(shù)據(jù)庫(kù)應(yīng)用程序304。作 業(yè)管理器組件306與數(shù)據(jù)庫(kù)應(yīng)用程序304交互、從數(shù)據(jù)庫(kù)應(yīng)用程序304檢索數(shù)據(jù)、并將數(shù)據(jù) 寫(xiě)入數(shù)據(jù)庫(kù)應(yīng)用程序304,并且一般地維護(hù)數(shù)據(jù)庫(kù)應(yīng)用程序304中的數(shù)據(jù)。在圖4示出的 實(shí)施例中,客戶機(jī)同步適配器106被實(shí)現(xiàn)為SMS桌面客戶機(jī)組件308。SMS桌面客戶機(jī)組件 308說(shuō)明性地使用API或作業(yè)管理器306展示的任何其他接口耦合到作業(yè)管理器306,如圖 4中的箭頭310所指示的。圖4中示出的實(shí)施例示出移動(dòng)設(shè)備108說(shuō)明性地被實(shí)現(xiàn)為可以 使用例如USB連接314連接到SMS桌面客戶機(jī)組件308的個(gè)人數(shù)字助理312。在圖4示出 的實(shí)施例中,移動(dòng)設(shè)備110也被實(shí)現(xiàn)為個(gè)人數(shù)字助理316。移動(dòng)設(shè)備312和316在圖4中被 示為包括移動(dòng)電話的個(gè)人數(shù)字助理,并通過(guò)在傳輸111上發(fā)送SMS分組來(lái)通過(guò)傳輸111彼 此通信。在一個(gè)實(shí)施例中,圖4還示出同步網(wǎng)關(guān)112被實(shí)現(xiàn)為使用例如USB連接320連接 到移動(dòng)設(shè)備316的SMS網(wǎng)關(guān)組件318。圖4還示出同步web服務(wù)114可以使用簡(jiǎn)單共享擴(kuò)展來(lái)生成同步訂閱源118并將 其發(fā)布到同步端點(diǎn)104。因此,SMS桌面客戶機(jī)組件308被配置成通過(guò)作業(yè)管理器306從數(shù)據(jù)庫(kù)應(yīng)用程序 304接收要同步的數(shù)據(jù),并將該數(shù)據(jù)形成為通過(guò)USB連接314發(fā)送到客戶機(jī)312的SMS分 組。SMS桌面客戶機(jī)組件308還被配置成通過(guò)USB連接314來(lái)接收SMS分組并按所需格式 將其提供給作業(yè)管理器306以便與數(shù)據(jù)庫(kù)應(yīng)用程序304中的數(shù)據(jù)同步。SMS網(wǎng)關(guān)組件318被配置成接收發(fā)送到移動(dòng)設(shè)備316并通過(guò)USB連接320轉(zhuǎn)發(fā)到 SMS網(wǎng)關(guān)組件318的SMS分組。SMS網(wǎng)關(guān)組件318還被配置成生成web訂閱源格式的消息 以供通過(guò)HTTP鏈路116發(fā)送到同步web服務(wù)114,同步web服務(wù)114生成要發(fā)布到同步端 點(diǎn)104的同步訂閱源118。類似地,SMS網(wǎng)關(guān)組件318可以按相反方向操作,通過(guò)HTTP鏈路 16接收同步訂閱源118,并從這些訂閱源中生成要通過(guò)鏈路320發(fā)送到移動(dòng)設(shè)備316的SMS 分組,在移動(dòng)設(shè)備316處這些分組通過(guò)SMS鏈路111被進(jìn)一步發(fā)送到移動(dòng)設(shè)備312。因此,可以看到本系統(tǒng)允許同步來(lái)自諸如SMS網(wǎng)絡(luò)等甚至非常慢的傳輸111上的 應(yīng)用程序的數(shù)據(jù)。隨后按web訂閱源格式來(lái)準(zhǔn)備數(shù)據(jù)以供使用高速傳輸116來(lái)同步。當(dāng)然, 一旦使用web訂閱源格式來(lái)準(zhǔn)備,便可以與同步端點(diǎn)104網(wǎng)格進(jìn)行同步。組件106和112 因此用作使用web訂閱源格式連接兩個(gè)端點(diǎn)102和104的橋,即使端點(diǎn)由其中使用web訂 閱源格式可能相當(dāng)困難的相對(duì)較慢的網(wǎng)絡(luò)分開(kāi)。
當(dāng)然還應(yīng)該明白,適配器106可以直接在移動(dòng)設(shè)備108中實(shí)現(xiàn)而網(wǎng)關(guān)112可以直 接在移動(dòng)設(shè)備Iio中實(shí)現(xiàn)。類似地,移動(dòng)設(shè)備108和110還可包含適配器106和網(wǎng)關(guān)112 兩者。此外,移動(dòng)設(shè)備316可包括組件304、306和310。因此,即使這些組件在圖1和4中 分開(kāi)示出,但它們實(shí)際上不一定是單獨(dú)組件或設(shè)備。圖5示出了可在其上實(shí)現(xiàn)本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境400的示例。計(jì)算系統(tǒng) 環(huán)境400只是合適計(jì)算環(huán)境的一個(gè)示例,而非意在暗示對(duì)本發(fā)明使用范圍或功能有任何限 制。也不應(yīng)該將計(jì)算環(huán)境400解釋為對(duì)示例性操作環(huán)境400中示出的任一組件或其組合有 任何依賴性或要求。本發(fā)明可用各種其他通 用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來(lái)操作。適合在本發(fā)明中使 用的公知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、 手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng) 絡(luò)PC、小型機(jī)、大型計(jì)算機(jī)、包含上述系統(tǒng)或設(shè)備中的任一個(gè)的分布式計(jì)算環(huán)境等。本發(fā)明可在諸如程序模塊等由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的通用上下文中 描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、 組件、數(shù)據(jù)結(jié)構(gòu)等。本發(fā)明也可以在其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的 分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備在 內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。參考圖5,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括計(jì)算機(jī)410形式的通用計(jì)算設(shè)備。計(jì) 算機(jī)410的組件可以包括,但不限于,處理單元420、系統(tǒng)存儲(chǔ)器430和將包括系統(tǒng)存儲(chǔ)器 在內(nèi)的各種系統(tǒng)組件耦合至處理單元420的系統(tǒng)總線421。系統(tǒng)總線421可以是幾種類型 的總線結(jié)構(gòu)中的任何一種,包括存儲(chǔ)器總線或存儲(chǔ)控制器、外圍總線、以及使用各種總線體 系結(jié)構(gòu)中的任一種的局部總線。作為示例而非限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié) 構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié) 會(huì)(VESA)局部總線和外圍部件互連(PCI)總線(也稱為夾層(Mezzanine)總線)。計(jì)算機(jī)410通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能由計(jì)算機(jī) 410訪問(wèn)的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為 示例而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包 括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或 技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于, RAM、ROM、EEPR0M、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)、 磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由計(jì)算機(jī)410 訪問(wèn)的任何其它介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)來(lái)體現(xiàn) 計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任意信息傳送介質(zhì)。術(shù)語(yǔ)“已調(diào) 制數(shù)據(jù)信號(hào)”是指以在信號(hào)中對(duì)信息進(jìn)行編碼的方式來(lái)設(shè)置或改變其一個(gè)或多個(gè)特征的信 號(hào)。作為示例而非限制,通信設(shè)備介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接線連接,以及諸如 聲學(xué)、射頻(RF)、紅外線及其他無(wú)線介質(zhì)之類的無(wú)線介質(zhì)。以上的任何組合也應(yīng)包括在計(jì)算 機(jī)可讀介質(zhì)的范圍內(nèi)。系統(tǒng)存儲(chǔ)器430包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),如只 讀存儲(chǔ)器(ROM) 431和隨機(jī)存取存儲(chǔ)器(RAM) 432?;据斎?輸出系統(tǒng)433 (BIOS)包括如在啟動(dòng)時(shí)幫助在計(jì)算機(jī)410內(nèi)的元件之間傳輸信息的基本例程,它通常儲(chǔ)存在ROM 431中。 RAM 432通常包含處理單元420可以立即訪問(wèn)和/或目前正在操作的數(shù)據(jù)和/或程序模塊。 作為示例而非限制,圖5示出操作系統(tǒng)434、應(yīng)用程序435、其他程序模塊436和程序數(shù)據(jù) 437。計(jì)算機(jī)410還可以包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介 質(zhì)。僅作為示例,圖5示出了從不可移動(dòng)、非易失性磁介質(zhì)中讀取或向其寫(xiě)入的硬盤驅(qū)動(dòng)器 441,從可移動(dòng)、非易失性磁盤452中讀取或向其寫(xiě)入的磁盤驅(qū)動(dòng)器451,以及從諸如⑶ROM 或其他光學(xué)介質(zhì)等可移動(dòng)、非易失性光盤456中讀取或向其寫(xiě)入的光盤驅(qū)動(dòng)器455??梢栽?示例性操作環(huán)境中使用的其他可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括 但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng) 器441通常由不可移動(dòng)存儲(chǔ)器接口,諸如接口 440連接至系統(tǒng)總線421,磁盤驅(qū)動(dòng)器451和 光盤驅(qū)動(dòng)器455通常由可移動(dòng)存儲(chǔ)器接口,諸如接口 450連接至系統(tǒng)總線421。以上討論并在圖5中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)410提 供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲(chǔ)。在圖5中,例如,硬盤驅(qū)動(dòng) 器441被示為存儲(chǔ)操作系統(tǒng)444、應(yīng)用程序445、其他程序模塊446和程序數(shù)據(jù)447。注意, 這些組件可以與操作系統(tǒng)434、應(yīng)用程序435、其他程序模塊436和程序數(shù)據(jù)437相同,也可 以與它們不同。操作系統(tǒng)444、應(yīng)用程序445、其他程序模塊446和程序數(shù)據(jù)447在這里被 標(biāo)注了不同的標(biāo)號(hào)是為了說(shuō)明至少它們是不同的副本。系統(tǒng)100的不同部分可被存儲(chǔ)在模 塊446、程序445或其他位置中,包括遠(yuǎn)程。用戶可以通過(guò)諸如鍵盤462、話筒463以及諸如鼠標(biāo)、跟蹤球或觸摸墊等定點(diǎn)設(shè)備 461等輸入設(shè)備來(lái)將命令和信息輸入至計(jì)算機(jī)410中。其它輸入設(shè)備(未示出)可以包括 操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。這些和其他輸入設(shè)備通常由耦合至系統(tǒng)總 線的用戶輸入接口 460連接至處理單元420,但也可以由其他接口和總線結(jié)構(gòu),諸如并行端 口、游戲端口或通用串行總線(USB)連接。監(jiān)視器491或其他類型的顯示設(shè)備也經(jīng)由接口, 諸如視頻接口 490連接至系統(tǒng)總線421。除監(jiān)視器以外,計(jì)算機(jī)還可以包括其他外圍輸出設(shè) 備,諸如揚(yáng)聲器497和打印機(jī)496,它們可以通過(guò)輸出外圍接口 495連接。計(jì)算機(jī)410可使用至一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī)480的邏輯連接在網(wǎng) 絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)480可以是個(gè)人計(jì)算機(jī)、手持設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、 對(duì)等設(shè)備或其它常見(jiàn)的網(wǎng)絡(luò)節(jié)點(diǎn),且一般包括以上關(guān)于計(jì)算機(jī)410描述的多個(gè)或所有的元 件。圖5中所示的邏輯連接包括局域網(wǎng)(LAN)471和廣域網(wǎng)(WAN)473,但也可以包括其他網(wǎng) 絡(luò)。這樣的 聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見(jiàn)的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)410通過(guò)網(wǎng)絡(luò)接口或適配器470連接至LAN 471。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)410通常包括調(diào)制解調(diào)器472或用于通過(guò)諸如因 特網(wǎng)等WAN 473建立通信的其他裝置。調(diào)制解調(diào)器472可以是內(nèi)置或外置的,它可以經(jīng)由 用戶輸入接口 460或其他適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線421。在網(wǎng)絡(luò)化環(huán)境中,關(guān)于計(jì)算機(jī) 410所描述的程序模塊或其部分可被儲(chǔ)存在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例,而非限制, 圖5示出了遠(yuǎn)程應(yīng)用程序485駐留在遠(yuǎn)程計(jì)算機(jī)480上??梢岳斫?,所示的網(wǎng)絡(luò)連接是示 例性的,且可以使用在計(jì)算機(jī)之間建立通信鏈路的其他手段。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了本主題,但可以理解,所附權(quán)利要求書(shū)中定義的主題 不必限于上述具體特征或動(dòng)作。相反,上文所描述的具體特征和動(dòng) 作是作為實(shí)現(xiàn)權(quán)利要求的示例形式來(lái)公開(kāi)的。
權(quán)利要求
1.一種用于同步多個(gè)應(yīng)用程序之間的數(shù)據(jù)的方法,所述方法包括通過(guò)第一網(wǎng)絡(luò)傳輸機(jī)制從第一應(yīng)用程序接收包含要同步的數(shù)據(jù)的消息,所述第一網(wǎng)絡(luò) 傳輸機(jī)制根據(jù)第一協(xié)議來(lái)傳輸消息;將所述要同步的數(shù)據(jù)根據(jù)web訂閱源格式組裝成要通過(guò)web傳輸機(jī)制來(lái)發(fā)送的同步訂 閱源,所述web傳輸機(jī)制使用與所述第一協(xié)議不同的第二協(xié)議來(lái)傳輸數(shù)據(jù);以及 通過(guò)所述web傳輸機(jī)制將所述同步訂閱源發(fā)布到包括第二應(yīng)用程序的同步端點(diǎn)。
2.如權(quán)利要求1所述的方法,其特征在于,還包括 從第一應(yīng)用程序接收所述要同步的數(shù)據(jù);以及將所述數(shù)據(jù)組裝成要通過(guò)所述第一網(wǎng)絡(luò)傳輸機(jī)制來(lái)發(fā)送的消息。
3.如權(quán)利要求2所述的方法,其特征在于,還包括 通過(guò)所述第一網(wǎng)絡(luò)傳輸機(jī)制來(lái)發(fā)送所述消息。
4.如權(quán)利要求3所述的方法,其特征在于,所述第一網(wǎng)絡(luò)傳輸機(jī)制包括短消息服務(wù)傳輸機(jī)制,并且其中將所述數(shù)據(jù)組裝成所述消息包括將所述數(shù)據(jù)分段成不 超過(guò)一百六十個(gè)字符的短消息并生成所述短消息的元數(shù)據(jù)。
5.如權(quán)利要求4所述的方法,其特征在于,根據(jù)web訂閱源格式將所述數(shù)據(jù)組裝成同步 訂閱源包括將所述數(shù)據(jù)組裝成web訂閱源格式以供通過(guò)根據(jù)超文本傳輸協(xié)議來(lái)發(fā)送數(shù)據(jù)的所述 web傳輸機(jī)制來(lái)發(fā)送。
6.如權(quán)利要求4所述的方法,其特征在于,還包括在通過(guò)所述短消息服務(wù)傳輸機(jī)制發(fā)送所述消息之前,壓縮所述要同步的數(shù)據(jù)。
7.如權(quán)利要求1所述的方法,其特征在于,所述接收消息包括從客戶機(jī)同步適配器接收所述消息,并且還包括根據(jù)所述第一協(xié)議來(lái)生成對(duì)所述客戶 機(jī)同步適配器的響應(yīng);以及通過(guò)所述第一網(wǎng)絡(luò)傳輸機(jī)制來(lái)發(fā)送對(duì)所述客戶機(jī)同步適配器的所述響應(yīng)。
8.如權(quán)利要求1所述的方法,其特征在于,還包括通過(guò)所述web傳輸機(jī)制從所述同步端點(diǎn)接收要同步的其他數(shù)據(jù); 生成包含要根據(jù)所述第一協(xié)議通過(guò)所述第一網(wǎng)絡(luò)傳輸機(jī)制來(lái)發(fā)送的所述其他數(shù)據(jù)的 消息;以及通過(guò)所述第一網(wǎng)絡(luò)傳輸機(jī)制來(lái)發(fā)送包含所述要同步的其他數(shù)據(jù)的消息。
9.如權(quán)利要求8所述的方法,其特征在于,還包括在生成包含所述其他數(shù)據(jù)的消息之前,壓縮所述其他數(shù)據(jù)。
10.如權(quán)利要求9所述的方法,其特征在于,所述接收所述要同步的其他數(shù)據(jù)包括 從通過(guò)所述web傳輸機(jī)制來(lái)發(fā)送數(shù)據(jù)的同步web服務(wù)接收要與多個(gè)不同的同步端點(diǎn)同步的所述其他數(shù)據(jù)。
11.一種用于同步多個(gè)不同的同步端點(diǎn)之間的數(shù)據(jù)的同步系統(tǒng),所述系統(tǒng)包括第一移動(dòng)設(shè)備,所述第一移動(dòng)設(shè)備被配置成根據(jù)第一協(xié)議通過(guò)第一傳輸機(jī)制來(lái)接收包 含要同步的數(shù)據(jù)的消息;以及網(wǎng)關(guān)組件,所述網(wǎng)關(guān)組件被配置成根據(jù)與所述第一協(xié)議不同的第二協(xié)議來(lái)生成包含要 通過(guò)web傳輸機(jī)制來(lái)發(fā)送的要同步的數(shù)據(jù)的同步訂閱源,并通過(guò)在所述web傳輸機(jī)制上發(fā)送所述同步訂閱源來(lái)將所述同步訂閱源發(fā)布到所述多個(gè)不同的同步端點(diǎn)。
12.如權(quán)利要求11所述的同步系統(tǒng),其特征在于,還包括同步適配器,所述同步適配器被配置成從應(yīng)用程序接收所述要同步的數(shù)據(jù)并生成要通 過(guò)所述第一傳輸機(jī)制來(lái)發(fā)送的所述消息。
13.如權(quán)利要求12所述的同步系統(tǒng),其特征在于,還包括第二移動(dòng)設(shè)備,所述第二移動(dòng)設(shè)備耦合到所述同步適配器并被配置成通過(guò)所述第一傳 輸機(jī)制來(lái)發(fā)送所述消息。
14.如權(quán)利要求13所述的同步系統(tǒng),其特征在于,所述第一傳輸機(jī)制包括短消息服務(wù) (SMS)傳輸機(jī)制。
15.如權(quán)利要求14所述的同步系統(tǒng),其特征在于,所述第一和第二移動(dòng)設(shè)備包括第一 和第二蜂窩電話。
16.如權(quán)利要求15所述的同步系統(tǒng),其特征在于,所述第一蜂窩電話包括所述網(wǎng)關(guān)組件。
17.如權(quán)利要求16所述的同步系統(tǒng),其特征在于,所述第二蜂窩電話包括所述同步適配器。
18.如權(quán)利要求11所述的同步系統(tǒng),其特征在于,還包括耦合到所述網(wǎng)關(guān)的web服務(wù)組件,所述web服務(wù)組件被配置成將所述同步訂閱源發(fā)布 到所述同步端點(diǎn)。
19.一種用于同步多個(gè)應(yīng)用程序之間的數(shù)據(jù)的方法,所述方法包括 從第一應(yīng)用程序接收要同步的數(shù)據(jù);將所述數(shù)據(jù)組裝成要通過(guò)短消息服務(wù)(SMS)傳輸機(jī)制來(lái)發(fā)送的消息; 通過(guò)SMS傳輸機(jī)制從所述第一應(yīng)用程序接收包含要同步的數(shù)據(jù)的消息,所述SMS傳輸 機(jī)制根據(jù)SMS協(xié)議來(lái)傳輸消息;根據(jù)web訂閱源格式將所述要同步的數(shù)據(jù)組裝成要通過(guò)web傳輸機(jī)制來(lái)發(fā)送的同步訂 閱源,所述web傳輸機(jī)制使用超文本傳輸協(xié)議來(lái)傳輸數(shù)據(jù);以及通過(guò)所述web傳輸機(jī)制將所述同步訂閱源發(fā)布到包括第二應(yīng)用程序的同步端點(diǎn)。
20.如權(quán)利要求19所述的方法,其特征在于,還包括在通過(guò)所述短消息服務(wù)傳輸機(jī)制發(fā)送所述消息之前,壓縮所述要同步的數(shù)據(jù)。
全文摘要
本系統(tǒng)包括連接兩個(gè)不同網(wǎng)絡(luò)上的兩個(gè)同步端點(diǎn)的橋(或適配器)。橋首先接收要同步的信息并生成元數(shù)據(jù)來(lái)將其形成為根據(jù)第一協(xié)議通過(guò)第一網(wǎng)絡(luò)傳輸?shù)南ⅰ>W(wǎng)關(guān)通過(guò)第一傳輸機(jī)制接收消息并生成可根據(jù)第二協(xié)議通過(guò)第二網(wǎng)絡(luò)傳輸?shù)耐接嗛喸础?br>
文檔編號(hào)H04L12/28GK102077517SQ200980124942
公開(kāi)日2011年5月25日 申請(qǐng)日期2009年6月25日 優(yōu)先權(quán)日2008年6月25日
發(fā)明者M·劉, N·斯諾德, P·蘇塞 申請(qǐng)人:微軟公司