两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于在計(jì)算機(jī)設(shè)備之間傳送數(shù)據(jù)的方法和設(shè)備的制作方法

文檔序號(hào):7634536閱讀:239來源:國(guó)知局
專利名稱:用于在計(jì)算機(jī)設(shè)備之間傳送數(shù)據(jù)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種在多個(gè)計(jì)算機(jī)設(shè)備之間傳送數(shù)據(jù)的方法和設(shè)備,具體地,涉及一種用于允許多個(gè)后端服務(wù)按高效的方式發(fā)起與使用這些后端服務(wù)的多個(gè)應(yīng)用之間的通信的方法和設(shè)備,這些后端服務(wù)由諸如移動(dòng)無(wú)線網(wǎng)絡(luò)的單個(gè)后端系統(tǒng)提供,并且這些后端服務(wù)使得(內(nèi)部或外部)應(yīng)用開發(fā)者可以對(duì)后端系統(tǒng)的一個(gè)或更多個(gè)特征進(jìn)行受控訪問。
背景技術(shù)
本發(fā)明人開發(fā)了一種系統(tǒng)(以下稱為網(wǎng)關(guān)或平臺(tái)),通過該系統(tǒng),移動(dòng)網(wǎng)絡(luò)(或其他類似的“后端”系統(tǒng))可以向第三方應(yīng)用開發(fā)者提供許多(基本成批的)服務(wù),這些第三方應(yīng)用開發(fā)者接著可以容易地開發(fā)并向最終客戶部署新的(零售)服務(wù)。這為移動(dòng)網(wǎng)絡(luò)操作者和第三方應(yīng)用開發(fā)者均提供了商業(yè)機(jī)會(huì)。
例如,大部分GSM移動(dòng)電話網(wǎng)絡(luò)都具有對(duì)連接到該網(wǎng)絡(luò)的移動(dòng)手機(jī)(即,用戶單元)(即,當(dāng)開機(jī)并且位于合適基站的范圍內(nèi)時(shí))進(jìn)行定位的能力。然而,大部分這種網(wǎng)絡(luò)目前并不向最終用戶提供該服務(wù)。這是因?yàn)?,網(wǎng)絡(luò)不能簡(jiǎn)單地以不受控制的方式向第三方提供該服務(wù),因?yàn)槔绱嬖诰芙^服務(wù)型攻擊的可能性(在該服務(wù)型攻擊中,第三方可以不斷地請(qǐng)求用戶單元的位置,直到由網(wǎng)絡(luò)提供的服務(wù)水平由于過大負(fù)荷而劣化到可能降低其他用戶單元執(zhí)行和接收電話呼叫的能力的程度)。另一方面,開發(fā)(在或大或小的程度上)包括了這種設(shè)施的受到良好控制具有完整功能并且有利可圖的服務(wù),是通常由專業(yè)的第三方應(yīng)用開發(fā)者更高效地完成的活動(dòng)。然而,這仍然要求網(wǎng)絡(luò)運(yùn)營(yíng)商控制對(duì)這種設(shè)施的訪問,并且針對(duì)每個(gè)新提出的應(yīng)用逐個(gè)地進(jìn)行這種控制是相對(duì)緩慢和低效的事情。
因此本發(fā)明人開發(fā)了一種無(wú)線應(yīng)用程序接口(API)服務(wù)網(wǎng)關(guān)以提供用于在應(yīng)用開發(fā)者與網(wǎng)絡(luò)運(yùn)營(yíng)商的需求之間架設(shè)橋梁的基礎(chǔ)設(shè)施。該網(wǎng)關(guān)使得運(yùn)營(yíng)商可以向開發(fā)者的廣大市場(chǎng)提供商業(yè)無(wú)線API服務(wù)(如定位、消息傳遞以及計(jì)費(fèi)),而這又使得可以開發(fā)并在成本上高效地推廣新應(yīng)用。該網(wǎng)關(guān)向開發(fā)者提供了寬范圍的容易使用、可靠并且安全的服務(wù)。
該網(wǎng)關(guān)的一個(gè)重要特征在于,它包括服務(wù)暴露引擎(SEE),其上運(yùn)行有各應(yīng)用的遠(yuǎn)程設(shè)備可以在諸如因特網(wǎng)的標(biāo)準(zhǔn)網(wǎng)絡(luò)上聯(lián)系該SEE。這向各許可應(yīng)用提供了對(duì)由網(wǎng)絡(luò)運(yùn)營(yíng)商提供的服務(wù)的受限訪問。該SEE包括許多公共特征,這些公共特征確保了在應(yīng)用與網(wǎng)關(guān)之間的連接是安全的和經(jīng)認(rèn)證的,并且網(wǎng)關(guān)還包括如下機(jī)制,該機(jī)制使得在任何時(shí)候都可以對(duì)應(yīng)用可以導(dǎo)致施加于網(wǎng)絡(luò)上的最大負(fù)荷進(jìn)行控制。
為了通過網(wǎng)關(guān)訪問網(wǎng)絡(luò)服務(wù),應(yīng)用發(fā)起與網(wǎng)關(guān)的安全連接。注意,總是由應(yīng)用而不是由網(wǎng)關(guān)發(fā)起該連接。其原因是,非發(fā)起方需要執(zhí)行一定量的處理,以尤其確保發(fā)起方是它所要求的(即,確保正確的認(rèn)證)。這是通過向網(wǎng)關(guān)提供所謂的“web服務(wù)器”功能來實(shí)現(xiàn)的。如果每個(gè)應(yīng)用還必須具有處理建立由網(wǎng)關(guān)使用web服務(wù)器功能發(fā)起的連接的能力,那么所有應(yīng)用的復(fù)雜性必定會(huì)顯著增大。如果網(wǎng)關(guān)開發(fā)者帶來了額外的復(fù)雜性,那么這將為網(wǎng)關(guān)管理員帶來額外的維護(hù)問題(優(yōu)選地,總是避免需要遠(yuǎn)程支持安裝在遠(yuǎn)程第三方機(jī)器上的軟件的情況)。另選地,這將給應(yīng)用開發(fā)者/管理員帶來相當(dāng)大的額外負(fù)擔(dān),因此只要有可能就應(yīng)當(dāng)使該復(fù)雜性理想地最小化。
因此,目前,應(yīng)用為了在某個(gè)未知時(shí)刻從服務(wù)接收數(shù)據(jù),它必須按等時(shí)間間隔不斷地聯(lián)系服務(wù)并詢問所述服務(wù)是否有要提供給該應(yīng)用的任何新數(shù)據(jù)。該間歇式通信方法被廣泛用于數(shù)據(jù)通信系統(tǒng)中,并且通常工作良好,只要在以下兩種情況之間找到了正確的平衡頻繁聯(lián)系網(wǎng)關(guān),以至于導(dǎo)致網(wǎng)關(guān)上的過大負(fù)荷;和不頻繁聯(lián)系網(wǎng)關(guān),以至于在某個(gè)數(shù)據(jù)到達(dá)網(wǎng)關(guān)服務(wù)與它被傳送到相應(yīng)應(yīng)用之間可能存在不希望的長(zhǎng)延遲。不幸的是,在目前的情況下網(wǎng)關(guān)運(yùn)營(yíng)商與應(yīng)用運(yùn)營(yíng)商(它們的需求是完全不相一致的,因?yàn)檩喸冊(cè)讲活l繁網(wǎng)關(guān)上的負(fù)荷就越小,但是應(yīng)用就越可能必須等待某個(gè)數(shù)據(jù))是分離的商業(yè)實(shí)體,因此就任何一方而言都根本沒有試圖犧牲其需求的動(dòng)機(jī)。

發(fā)明內(nèi)容
本發(fā)明試圖提供這樣一種方法,其在不明顯偏離上述網(wǎng)關(guān)的設(shè)計(jì)特征的情況下至少在某種程度上解決了上述沖突。
注意,對(duì)這種網(wǎng)關(guān)的使用并不限于移動(dòng)電話網(wǎng)絡(luò)的情況,可以將相同類型的網(wǎng)關(guān)應(yīng)用于具有可用于生成許多不同端用戶應(yīng)用的某些基本功能的任何大系統(tǒng),只要可以按直接、簡(jiǎn)單、安全并且可靠的方式將這些功能提供給第三方應(yīng)用開發(fā)者即可。
根據(jù)本發(fā)明的第一方面,提供了一種通過網(wǎng)關(guān)設(shè)備向一個(gè)或更多個(gè)應(yīng)用宿主子系統(tǒng)提供由第一子系統(tǒng)提供的服務(wù),將所述網(wǎng)關(guān)和所述或每個(gè)應(yīng)用宿主子系統(tǒng)配置成使得允許所述或每個(gè)應(yīng)用宿主子系統(tǒng)通過非安全數(shù)據(jù)網(wǎng)絡(luò)連接發(fā)起到所述網(wǎng)關(guān)的安全并且經(jīng)認(rèn)證的連接,并且在邏輯上將所述網(wǎng)關(guān)連接到第一子系統(tǒng),以使得可以將由第一子系統(tǒng)提供的服務(wù)提供給所述或每個(gè)應(yīng)用宿主子系統(tǒng),所述網(wǎng)關(guān)包括通知裝置,該通知裝置用于通知所述多個(gè)應(yīng)用宿主子系統(tǒng)中的一個(gè)或更多個(gè)它或它們應(yīng)當(dāng)發(fā)起與所述網(wǎng)關(guān)的安全的經(jīng)認(rèn)證的連接。
優(yōu)選地,由所述通知服務(wù)器提供的所述多個(gè)通知不包括任何敏感或有價(jià)值的數(shù)據(jù)(這是為了如果在非安全數(shù)據(jù)網(wǎng)絡(luò)上惡意的第三方攔截了該信息或者無(wú)意地將該信息無(wú)寄送給惡意的第三方,那么不能誤用該信息,使得給對(duì)該系統(tǒng)的任一方感興趣的多方中的任一方帶來?yè)p害或不便)。優(yōu)選地,在所述多個(gè)通知不包括任何可執(zhí)行代碼的意義上,所述多個(gè)通知是完全被動(dòng)的。優(yōu)選地,所述多個(gè)通知是簡(jiǎn)單文本文件,優(yōu)選地,具有所述簡(jiǎn)單文本文件具有可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件的具體形式。
該形式的系統(tǒng)與其中應(yīng)用宿主子系統(tǒng)必須不斷地對(duì)網(wǎng)關(guān)進(jìn)行輪詢以查看它們是否有任何新消息(等,等待這些新消息)的上述系統(tǒng)相比具有所述多個(gè)應(yīng)用宿主子系統(tǒng)所需的額外復(fù)雜性最低的優(yōu)點(diǎn),并且還在不增大在第一子系統(tǒng)上的服務(wù)接收到應(yīng)用的某個(gè)信息與所述應(yīng)用接收到該數(shù)據(jù)之間的最大延遲的情況下避免了對(duì)所述網(wǎng)關(guān)的過大負(fù)荷。
優(yōu)選地,所述多個(gè)通知精確地指定哪個(gè)服務(wù)希望聯(lián)系所述應(yīng)用宿主子系統(tǒng)(或者更精確地說,希望由所述應(yīng)用宿主子系統(tǒng)來聯(lián)系哪個(gè)服務(wù))。優(yōu)選地,在所述通知服務(wù)器與由第一子系統(tǒng)提供的所有服務(wù)之間存在公共接口,并且在所述通知服務(wù)器與所述多個(gè)應(yīng)用宿主子系統(tǒng)中的每一個(gè)之間存在公共接口,使得所述通知服務(wù)器能夠?qū)νㄖ獔?zhí)行與源無(wú)關(guān)并且與接受者無(wú)關(guān)的操縱、擇路以及分派。
優(yōu)選地,由第一子系統(tǒng)提供的在所述通知服務(wù)器與所述多個(gè)服務(wù)中的每一個(gè)之間的公共接口允許一服務(wù)針對(duì)單個(gè)通知指定標(biāo)識(shí)了所述目的地應(yīng)用的標(biāo)識(shí)符、標(biāo)識(shí)了所述請(qǐng)求服務(wù)的標(biāo)識(shí)符以及一個(gè)或更多個(gè)操縱行為參數(shù)。優(yōu)選地,所述多個(gè)操縱行為參數(shù)可以包括以下兩者中的一個(gè)或兩個(gè)在發(fā)生了一次或更多次對(duì)所述通知的發(fā)送的不成功嘗試的情況下應(yīng)當(dāng)嘗試發(fā)送所述通知的嘗試次數(shù);和在發(fā)生了一次或更多次對(duì)所述通知的發(fā)送的不成功嘗試的情況下在再次嘗試發(fā)送所述通知之間的延遲。
優(yōu)選地,所述通知服務(wù)器可進(jìn)行操作以生成用于控制在所述不安全數(shù)據(jù)網(wǎng)絡(luò)上對(duì)各個(gè)不同的通知的發(fā)送的不同執(zhí)行線程。這具有如下優(yōu)點(diǎn)如果使用不同的線程來發(fā)送許多不同的通知,由于可以“并行地”發(fā)送它們,因此使得所述通知服務(wù)器為多個(gè)通知生成服務(wù)提供對(duì)通知的足夠的吞吐量,盡管存在每個(gè)通知都可能耗費(fèi)大量時(shí)間來穿過網(wǎng)絡(luò)的可能性。
優(yōu)選地,所述通知服務(wù)器保留對(duì)其的傳送失敗了的多個(gè)通知,并在達(dá)到了服務(wù)指定或默認(rèn)次數(shù)的嘗試的服務(wù)指定或默認(rèn)延遲之后重新試圖傳送它們。
本發(fā)明還提供了一種用于本發(fā)明的上述第一方面的系統(tǒng)的通知服務(wù)器,及其相對(duì)應(yīng)的方法、計(jì)算機(jī)程序以及計(jì)算機(jī)程序產(chǎn)品。


為了可以更好地理解本發(fā)明,以下僅以示例的方式參照附圖對(duì)本發(fā)明的多個(gè)實(shí)施例進(jìn)行描述,在附圖中
圖1是根據(jù)本發(fā)明一實(shí)施例的系統(tǒng)的示意性例示圖;圖2是使用圖1的系統(tǒng)來提供端用戶定位服務(wù)的示例應(yīng)用的示意性例示圖;圖3是示出在提供上述端用戶定位服務(wù)時(shí)在圖1和2的系統(tǒng)的各種要素之間交換的信號(hào)的信號(hào)圖;圖4是例示由與端用戶和在客戶機(jī)應(yīng)用與后端系統(tǒng)之間的網(wǎng)關(guān)相交互的客戶機(jī)應(yīng)用執(zhí)行的步驟的流程圖;圖5是例示由在客戶機(jī)應(yīng)用與后端系統(tǒng)之間的網(wǎng)關(guān)中的服務(wù)插件執(zhí)行的步驟的流程圖;圖6是圖1的通知服務(wù)器的原理功能結(jié)構(gòu)的示意性例示圖;以及圖7(a)到7(e)是由圖1和6的通知服務(wù)器的5個(gè)重要模塊/對(duì)象執(zhí)行的步驟的流程圖。
具體實(shí)施例方式
參照?qǐng)D1,優(yōu)選實(shí)施例的系統(tǒng)具有3個(gè)域客戶機(jī)應(yīng)用域100、網(wǎng)關(guān)域200以及后端系統(tǒng)域300。通過不安全數(shù)據(jù)網(wǎng)絡(luò)將客戶機(jī)應(yīng)用域100與網(wǎng)關(guān)域200連接起來。在本實(shí)施例中,還通過不安全網(wǎng)絡(luò)將網(wǎng)關(guān)域200與后端系統(tǒng)域300連接起來,然而,在另選實(shí)施例中該不安全網(wǎng)絡(luò)通常可以是安全網(wǎng)絡(luò)連接。
客戶機(jī)應(yīng)用域100包括以各種第三方服務(wù)器機(jī)器(未示出)為宿主的多個(gè)客戶機(jī)應(yīng)用110、120、130、140、150(注意,客戶機(jī)應(yīng)用通常既充當(dāng)客戶機(jī)應(yīng)用又充當(dāng)服務(wù)器應(yīng)用,因?yàn)閷?duì)于與它們進(jìn)行聯(lián)系的端用戶客戶機(jī)它們將充當(dāng)服務(wù)器應(yīng)用,而當(dāng)它們與網(wǎng)關(guān)域200進(jìn)行聯(lián)系時(shí)它們將充當(dāng)客戶機(jī)應(yīng)用)。在圖1所示的這些具體示例中,由包圍框101表示的單個(gè)組織通過網(wǎng)關(guān)域200的操作員使用單個(gè)顧客賬號(hào)來操作所有應(yīng)用110、120、130,以下將對(duì)其意義進(jìn)行更詳細(xì)的說明。此外,如圖1所示,某些應(yīng)用(如應(yīng)用150)可以訪問諸如數(shù)據(jù)庫(kù)152的不同資源,所有這些應(yīng)用都被視為落在當(dāng)前應(yīng)用域100內(nèi)。
網(wǎng)關(guān)域200包括以下主要組件主入口205和平臺(tái)操作員入口210;Java消息傳遞服務(wù)器(JMS)隊(duì)列軟件組件215;通知服務(wù)器軟件組件220(以下待更詳細(xì)描述)和服務(wù)暴露引擎(SEE)250。SEE 250包括一組分級(jí)服務(wù)層252和一組服務(wù)插件模塊254到257。所述一組分級(jí)服務(wù)層252向所有服務(wù)插件254到257提供多個(gè)基本服務(wù),包括對(duì)在不安全網(wǎng)絡(luò)上傳送的數(shù)據(jù)進(jìn)行加密和解密處理、對(duì)在不安全網(wǎng)絡(luò)上相互進(jìn)行通信的多方進(jìn)行認(rèn)證等。多個(gè)服務(wù)插件254中的一個(gè)是完整性管理器服務(wù)器站插件(IMSS)254,其執(zhí)行對(duì)如何允許各客戶機(jī)應(yīng)用110到150與SEE 250相通信進(jìn)行調(diào)控的特殊功能。
在相關(guān)專利申請(qǐng)EP01308317.5中可以找到包含在各客戶機(jī)應(yīng)用110到215內(nèi)的IMSS和相對(duì)應(yīng)的完整性管理器客戶機(jī)端(IMCS)組件的全部詳情,通過引用將該專利申請(qǐng)并入于此。簡(jiǎn)言之,IMSS 254與多個(gè)客戶機(jī)應(yīng)用中的每一個(gè)中的對(duì)應(yīng)的IMCS進(jìn)行通信,以對(duì)各客戶機(jī)應(yīng)用可以與SEE 250進(jìn)行聯(lián)系的頻度進(jìn)行調(diào)控;網(wǎng)關(guān)平臺(tái)操作員可以利用該機(jī)制來“遏制”任何特定應(yīng)用可以與SEE進(jìn)行聯(lián)系的頻度,以減小在使用強(qiáng)度高時(shí)SEE上的負(fù)荷。該機(jī)制包括所謂的“心跳(heart beat)”,在該“心跳”中,各客戶機(jī)應(yīng)用IMCS聯(lián)系IMSS,并從IMSS更新一組當(dāng)前參數(shù),該組當(dāng)前參數(shù)指定了當(dāng)前應(yīng)用可以與SEE內(nèi)的指定服務(wù)插件進(jìn)行聯(lián)系的頻度(或者,在另選實(shí)施例中,它們那可以簡(jiǎn)單地(即,與它希望聯(lián)系的實(shí)際服務(wù)插件無(wú)關(guān)地)指定該應(yīng)用可以與SEE進(jìn)行聯(lián)系的頻度)。
在本實(shí)施例中,所示出的其他服務(wù)插件是GSM定位服務(wù)插件255、GPS定位服務(wù)插件255、GPS定位服務(wù)插件256以及短信服務(wù)(SMS服務(wù)插件257)。以下對(duì)這些服務(wù)插件的功能進(jìn)行更詳細(xì)的描述。
在本實(shí)施例中,由網(wǎng)關(guān)平臺(tái)操作員和網(wǎng)關(guān)的客戶均可以瀏覽的網(wǎng)站服務(wù)提供主入口205和平臺(tái)操作員入口210,并且,在合適的情況下,對(duì)在網(wǎng)關(guān)操作員與客戶機(jī)應(yīng)用設(shè)備之間的商業(yè)關(guān)系的詳情進(jìn)行更改。例如,特定客戶機(jī)應(yīng)用可以與網(wǎng)關(guān)平臺(tái)操作員進(jìn)行協(xié)商,以訪問特定服務(wù)并且按商定的價(jià)格在特定時(shí)段內(nèi)對(duì)該服務(wù)進(jìn)行最大次數(shù)的請(qǐng)求。如果當(dāng)前應(yīng)用操作員接著要求增加他希望能夠在特定時(shí)段中對(duì)SEE內(nèi)的特定服務(wù)插件進(jìn)行的請(qǐng)求的最大次數(shù),那么可以使用主入口來改變它,只要存在用于允許相應(yīng)地提高對(duì)當(dāng)前應(yīng)用計(jì)費(fèi)的價(jià)格的合適的配置即可。類似地,如果客戶通過某種另選機(jī)制(例如,通過電子郵件)與網(wǎng)關(guān)操作員進(jìn)行聯(lián)系以請(qǐng)求對(duì)在多方之間的契約關(guān)系的這種改變,那么可以使用平臺(tái)操作員入口來標(biāo)識(shí)并修改各客戶賬戶的所有詳情。
在本實(shí)施例中,后端系統(tǒng)域300是GSM移動(dòng)電話網(wǎng)絡(luò)310,該GSM移動(dòng)電話網(wǎng)絡(luò)310包括移動(dòng)定位中心312和SMS中心314(以下將參照?qǐng)D2和3對(duì)其功能進(jìn)行更詳細(xì)的描述),還包括通常與諸如基站的移動(dòng)網(wǎng)絡(luò)基礎(chǔ)設(shè)施相關(guān)聯(lián)的各種特征和通過數(shù)據(jù)網(wǎng)絡(luò)互連并與各種其他電信和數(shù)據(jù)網(wǎng)絡(luò)相連接的關(guān)聯(lián)廣播天線桿305。
作為圖1所示的系統(tǒng)的操作的示例,以下參照?qǐng)D2對(duì)圖1的客戶機(jī)應(yīng)用110的操作進(jìn)行描述。以下將當(dāng)前應(yīng)用110稱為iLocate。iLocate應(yīng)用110使得用戶(例如“爸爸”)9可以使用他的經(jīng)由因特網(wǎng)連接到iLocate應(yīng)用110的個(gè)人計(jì)算機(jī)10通過另一用戶(例如“爸爸”的女兒“凱特”)19的GSM移動(dòng)電話20來確定她的位置。為此,客戶機(jī)應(yīng)用iLocate 110將使用GSM定位服務(wù)插件255和/或GPS定位服務(wù)256來搜索凱特的手機(jī)20的位置,并且還可以使用SMS服務(wù)插件257,以向凱特的手機(jī)20發(fā)送SMS和從該手機(jī)20接收SMS。服務(wù)插件255、256以及257接著與后端系統(tǒng)300進(jìn)行通信,后端系統(tǒng)300通過基站天線桿305向凱特的手機(jī)20發(fā)送數(shù)據(jù)并從該手機(jī)20獲得數(shù)據(jù)。
為了確定移動(dòng)手機(jī)裝置的位置,GSM定位服務(wù)插件255和GPS定位服務(wù)插件256實(shí)質(zhì)上簡(jiǎn)單地與移動(dòng)定位中心312進(jìn)行聯(lián)系并詢問它以獲得所述信息。移動(dòng)定位中心獲得該信息的方式與本發(fā)明并不相關(guān),因此不對(duì)它進(jìn)行詳細(xì)描述。簡(jiǎn)言之,如由這些服務(wù)的名稱表示的,對(duì)于GSM服務(wù),移動(dòng)定位中心確定用戶在哪個(gè)小區(qū)中,并通過將其與該小區(qū)覆蓋的地理區(qū)域相關(guān)聯(lián)來給出該移動(dòng)站的大致位置;對(duì)于GPS服務(wù)(僅當(dāng)待定位手機(jī)包括GPS接收器時(shí)才可用該服務(wù)),移動(dòng)定位中心發(fā)送一SMS消息,該SMS消息使得手機(jī)使用它的機(jī)載GPS接收器自動(dòng)查找它的位置,然后向移動(dòng)定位中心發(fā)送回帶有所確定的位置的詳情的SMS。其意義在于對(duì)移動(dòng)定位系統(tǒng)進(jìn)行操作的后端系統(tǒng)信任網(wǎng)關(guān),以確保該網(wǎng)關(guān)既不會(huì)使移動(dòng)定位中心過載也不會(huì)不恰當(dāng)?shù)厥褂盟姆?wù)。
下面參照?qǐng)D3,對(duì)為了允許用戶9(爸爸)向用戶19(他的女兒凱特)發(fā)送SMS并從用戶19接收SMS而在圖2所例示的各種組件之間交換的信號(hào)進(jìn)行描述。
為了使得可以對(duì)SMS進(jìn)行這種交換,iLocate應(yīng)用110發(fā)起與網(wǎng)關(guān)200的連接。它通過首先從iLocate應(yīng)用111的開發(fā)者控制部分向由平臺(tái)操作員提供的完整性管理器客戶機(jī)端(IMCS)模塊114發(fā)送請(qǐng)求發(fā)起信號(hào)405,來執(zhí)行所述發(fā)起。IMCS 114在接收到發(fā)起請(qǐng)求信號(hào)405時(shí)生成另一發(fā)起信號(hào)410,該發(fā)起信號(hào)410被發(fā)送給位于網(wǎng)關(guān)域200內(nèi)的完整性管理器服務(wù)器端(IMSS)服務(wù)插件模塊254。信號(hào)410是在IMCS 114與IMSS 254(其具有被設(shè)置為服務(wù)暴露引擎250的一部分的一組分級(jí)服務(wù)層252的優(yōu)點(diǎn))之間經(jīng)完全認(rèn)證并加密的通信。在該通信過程中,IMCS114向IMSS提供與iLocate應(yīng)用110有關(guān)的各種詳情,在本實(shí)施例中,這些詳情包括與監(jiān)聽器地址(即,服務(wù)器的網(wǎng)際協(xié)議(IP)地址和端口號(hào))有關(guān)的詳情,iLocate應(yīng)用110針對(duì)由通知服務(wù)器220提供的通知消息對(duì)該監(jiān)聽器地址進(jìn)行監(jiān)聽。此外,作為通信410的一部分,IMSS 254向IMCS 114傳送與IMCS 114應(yīng)當(dāng)發(fā)起心跳通信的頻度有關(guān)的詳情。
當(dāng)完成了通信410時(shí),IMCS 114發(fā)起心跳通信415a。這同樣是利用了所述一組分級(jí)服務(wù)層252的安全的經(jīng)認(rèn)證的通信,所述一組分級(jí)服務(wù)層252確保呼叫方確實(shí)是iLocate應(yīng)用110而不是假冒者并且此時(shí)IMCS確實(shí)是經(jīng)授權(quán)而與IMSS 254進(jìn)行聯(lián)系的。通信415a(以及隨后的心跳通信415n)的規(guī)則心跳的主要功能是為了指定iLocate應(yīng)用110可以從服務(wù)插件255到257(應(yīng)用110被適時(shí)地與它們注冊(cè)在一起)中的任一個(gè)請(qǐng)求服務(wù)的頻度。(由主入口205或平臺(tái)操作員入口210執(zhí)行注冊(cè))。隨后的心跳通信415按等時(shí)間間隔發(fā)生,并被用作遏制應(yīng)用110可以與服務(wù)暴露引擎250進(jìn)行聯(lián)系的頻率的機(jī)制,而且提供了用于確保服務(wù)暴露引擎250和應(yīng)用110(以及互連數(shù)據(jù)網(wǎng)絡(luò))均仍然正在正確地運(yùn)行的機(jī)制。在相關(guān)歐洲專利申請(qǐng)EP01308317.5中可以找到心跳通信的全部詳情。
按此方式在應(yīng)用110與網(wǎng)關(guān)200之間建立了通信線路之后,然后應(yīng)用110等待用戶請(qǐng)求。由此,當(dāng)接收到來自PC 10的登錄請(qǐng)求通信420時(shí),應(yīng)用110將向PC 10提供到它的網(wǎng)站的接入口,從該網(wǎng)站向PC 10的用戶(“爸爸”)提供各種服務(wù)。在登錄之后,PC 10的用戶從由應(yīng)用110提供的網(wǎng)站中選擇發(fā)送帶有用戶指定的插入文本“你好嗎?”的SMS信號(hào),希望將該SMS信號(hào)發(fā)送給由其移動(dòng)電話號(hào)碼標(biāo)識(shí)的移動(dòng)電話,這使得將已發(fā)送SMS信號(hào)425從PC 10發(fā)送到iLocate應(yīng)用110。
當(dāng)完成了發(fā)送SMS通信425時(shí),應(yīng)用110試圖使用SMS插件257發(fā)起發(fā)送SMS通信430。為了實(shí)現(xiàn)該目的,執(zhí)行許多較低層活動(dòng)(對(duì)于其詳情,請(qǐng)讀者參見相關(guān)歐洲專利申請(qǐng)EP01308317.5),但是這些活動(dòng)包括使用IMCS 114檢查應(yīng)用110當(dāng)前有權(quán)利發(fā)起這種連接以及在服務(wù)暴露引擎250內(nèi)與分級(jí)服務(wù)層組252進(jìn)行協(xié)商。一旦已經(jīng)成功地完成了通信430,SMS服務(wù)插件257(通過包括SMS中心314和移動(dòng)網(wǎng)絡(luò)基礎(chǔ)設(shè)施305在內(nèi)的各種中間體)發(fā)起向手機(jī)20的又一發(fā)送SMS通信435。
在本示例中,當(dāng)接收到SMS時(shí),手機(jī)20的用戶(“凱特”)希望發(fā)送響應(yīng)SMS。注意,在本實(shí)施例中,SMS服務(wù)插件257只具有與其相關(guān)聯(lián)的單個(gè)電話號(hào)碼,必須將所有來達(dá)SMS文本消息都定址到該電話號(hào)碼。在本實(shí)施例中,SMS服務(wù)插件257保持有它先前已向其發(fā)送了文本消息的目的地電話號(hào)碼的記錄,并使用在該文本消息中包括的呼叫者ID來確定應(yīng)當(dāng)將所接收到的SMS傳送給哪個(gè)應(yīng)用。在另選實(shí)施例中,SMS服務(wù)插件257可以具有任意大數(shù)量個(gè)移動(dòng)電話號(hào)碼,可以將來達(dá)SMS寄給這些移動(dòng)電話號(hào)碼;或者SMS服務(wù)插件257可以包括一種用于更明確地指定應(yīng)當(dāng)將來達(dá)SMS傳送給誰(shuí)的另選標(biāo)識(shí)機(jī)制。
由此,在本示例中,手機(jī)20生成回復(fù)SMS(“很好”),將該回復(fù)SMS從手機(jī)20通過與在發(fā)送SMS通信435中使用的中間體相同的中間體發(fā)送到SMS服務(wù)插件257。
當(dāng)接收到回復(fù)SMS 440時(shí),服務(wù)插件257向JMS隊(duì)列215“投入”一“事件”,該事件指定要向應(yīng)用110發(fā)送請(qǐng)求它與SMS服務(wù)插件257進(jìn)行聯(lián)系的通知。隨后,通知服務(wù)器220從該JMS隊(duì)列取出該事件并(按以下待更詳細(xì)地描述的方式)對(duì)其進(jìn)行處理。將事件投入JMS隊(duì)列與隨后由通知服務(wù)器220從JMS隊(duì)列獲取該事件的組合構(gòu)成了如圖3所例示的事件通信445。
作為由通知服務(wù)器220執(zhí)行的處理的結(jié)果,通知服務(wù)器220發(fā)起與監(jiān)聽器112的簡(jiǎn)單(未認(rèn)證并且未加密的)TCP/IP連接450,并通過該連接向監(jiān)聽器112發(fā)送一通知(以下對(duì)該通知的本質(zhì)進(jìn)行更詳細(xì)的描述)。
當(dāng)接收到該通知時(shí),監(jiān)聽器112通過轉(zhuǎn)發(fā)通知通信455將該通知轉(zhuǎn)發(fā)給位于應(yīng)用110的主(客戶機(jī)應(yīng)用專用)部分111內(nèi)的通知處理模塊(未示出),應(yīng)用110對(duì)該通知進(jìn)行處理,從而確定它應(yīng)當(dāng)試圖與SMS服務(wù)插件257進(jìn)行聯(lián)系。
因此應(yīng)用110試圖(按與建立發(fā)送SMS通信430相對(duì)應(yīng)的方式)建立收集SMS通信460;注意,在本實(shí)施例中,該通知并不具體指定應(yīng)用110應(yīng)當(dāng)與SMS服務(wù)插件257進(jìn)行聯(lián)系的目的,而僅僅是回調(diào)型通知,該通知使得應(yīng)用110與服務(wù)插件257進(jìn)行聯(lián)系,并通知該服務(wù)插件它是由于接收到通知而進(jìn)行該聯(lián)系的。當(dāng)建立了收集SMS通信460時(shí),服務(wù)插件257將它具有的針對(duì)應(yīng)用110的任何數(shù)據(jù)(包括它已從手機(jī)20接收到的SMS)傳遞給應(yīng)用110。
作為接收到該回復(fù)SMS的結(jié)果,應(yīng)用110對(duì)信息進(jìn)行更新(在其網(wǎng)站上將該信息顯示給PC 10),當(dāng)PC 10接著刷新(即,重新加載)來自應(yīng)用110的網(wǎng)頁(yè)時(shí),將通知該P(yáng)C 10有一SMS正在等待它,并且可以通過按常規(guī)方式從該網(wǎng)頁(yè)選擇合適的鏈接來收集該SMS。由iLocate應(yīng)用110執(zhí)行的方法在參照?qǐng)D3對(duì)在圖1和2所示的系統(tǒng)的各種要素之間的交互示例組進(jìn)行了描述之后,以下參照?qǐng)D4對(duì)當(dāng)應(yīng)用110在圖1的系統(tǒng)內(nèi)正常地操作時(shí)由應(yīng)用110執(zhí)行的多個(gè)步驟進(jìn)行更一般性的描述。由此,在該方法開始時(shí),流程進(jìn)行到步驟405,在步驟405處該應(yīng)用執(zhí)行任何初始化過程,重要的是,這些初始化過程包括建立監(jiān)聽器112。如上所述,監(jiān)聽器112是這樣一種簡(jiǎn)單的編程結(jié)構(gòu)只要給出了正確的IP地址和端口號(hào),該編程結(jié)構(gòu)就使得第三方可以建立與該監(jiān)聽器的TCP連接。本領(lǐng)域的技術(shù)人員很好理解,通過指定只可以按此方式向監(jiān)聽器發(fā)送簡(jiǎn)單的文本文件,即使在相當(dāng)強(qiáng)有力的防火墻(如希望針對(duì)經(jīng)由因特網(wǎng)的未授權(quán)訪問來保護(hù)其內(nèi)部網(wǎng)絡(luò)的組織經(jīng)常使用的防火墻)的背后也可以建立這種監(jiān)聽器。
在步驟405完成后,本方法進(jìn)行到步驟410,在步驟410處,IMCS 114建立與IMSS 254的通信,以按上述并且在相關(guān)申請(qǐng)EP 01308317.5中更詳細(xì)地描述的方式將所述應(yīng)用與網(wǎng)關(guān)200注冊(cè)在一起。
在步驟410完成后,本方法進(jìn)行到步驟415,在步驟415中,確定該應(yīng)用是否已接收到從應(yīng)用110請(qǐng)求服務(wù)的用戶請(qǐng)求。如果接收到了請(qǐng)求,則處理進(jìn)行到步驟420,在步驟420處對(duì)該請(qǐng)求進(jìn)行及時(shí)的處理;為了完成該請(qǐng)求,如果有必要,則該處理包括與服務(wù)暴露引擎250中的一個(gè)或更多個(gè)服務(wù)進(jìn)行聯(lián)系。在步驟420完成之后,本方法回到步驟415。
如果在步驟415中確定不存在等待處理的已接收請(qǐng)求,則本方法進(jìn)行到步驟425,在步驟425中,確定應(yīng)用是否已通過其監(jiān)聽器112接收到來自通知服務(wù)器220的通知。如果沒有接收到這種通知,則本方法返回到步驟415并繼續(xù)下去,然后等待新用戶請(qǐng)求或新通知。
如果在步驟425中確定已接收到新通知,則本方法進(jìn)行到步驟430,在步驟430中對(duì)該通知進(jìn)行處理以識(shí)別出服務(wù)插件255到257中的哪個(gè)服務(wù)插件發(fā)起了對(duì)該通知的發(fā)送。
在步驟430完成后,本方法進(jìn)行到步驟435,在步驟435中與在步驟430中識(shí)別出的服務(wù)插件進(jìn)行聯(lián)系。在與有關(guān)服務(wù)插件進(jìn)行聯(lián)系時(shí),所述應(yīng)用接著對(duì)它從服務(wù)插件接收到的信息執(zhí)行任何必要的后續(xù)步驟。例如,在SMS插件257的情況下,可能已接收到新的SMS文本消息,以由應(yīng)用110將該新SMS文本消息向前發(fā)送給它的多個(gè)用戶中的一個(gè)。類似地,如果有關(guān)服務(wù)插件是GPS定位插件256,則可能GPS定位插件256最近已接收到如先前由應(yīng)用110的用戶所請(qǐng)求的關(guān)于一移動(dòng)裝置的所在之處的信息。
在步驟435完成后,本方法返回到步驟415,在步驟415中,等待其他用戶請(qǐng)求或通知以進(jìn)行合適的處理。
由服務(wù)插件255到257執(zhí)行的方法下面參照?qǐng)D5,以下對(duì)服務(wù)插件(如服務(wù)插件255到257中的任何一個(gè))的基本操作方法進(jìn)行描述。當(dāng)啟動(dòng)服務(wù)插件時(shí),本方法進(jìn)行到步驟505,在步驟505中確定是否已從一應(yīng)用(如該服務(wù)插件被與其注冊(cè)在一起的應(yīng)用110)接收到新服務(wù)請(qǐng)求。若是,則本方法進(jìn)行到步驟510,在步驟510中對(duì)該請(qǐng)求進(jìn)行處理。該處理包括檢查該請(qǐng)求是否合法,并且,為了完成該請(qǐng)求,如果有必要,服務(wù)插件與遠(yuǎn)程服務(wù)(如由后端系統(tǒng)310提供的服務(wù)312、314中的一個(gè))進(jìn)行聯(lián)系。在510完成后,本方法返回到步驟505。
如果在步驟505中確定尚未從應(yīng)用接收到新請(qǐng)求,則本方法進(jìn)行到步驟515,在步驟515中,確定服務(wù)插件是否已接收到針對(duì)與該服務(wù)插件注冊(cè)在一起的多個(gè)應(yīng)用中的一個(gè)(如應(yīng)用110)的任何數(shù)據(jù)(注意,這里“數(shù)據(jù)”是指如下任何種類的事件服務(wù)插件注意到該事件,并且,對(duì)于該事件,該插件服務(wù)認(rèn)為應(yīng)當(dāng)通知與該插件服務(wù)注冊(cè)在一起的多個(gè)應(yīng)用中的一個(gè))。如果確定尚未接收到這種數(shù)據(jù),則本方法返回到步驟505。否則,本方法進(jìn)行到步驟520,在步驟520中,確定待向其通知新接收到的數(shù)據(jù)的應(yīng)用是否具有與服務(wù)暴露引擎250注冊(cè)在一起的監(jiān)聽器,如果所關(guān)注的應(yīng)用沒有合適的監(jiān)聽器,則本方法返回到步驟505。在此情況下,服務(wù)插件僅僅進(jìn)行等待,直到所討論的應(yīng)用下一次試圖與服務(wù)插件進(jìn)行聯(lián)系,此時(shí)服務(wù)插件會(huì)自動(dòng)將數(shù)據(jù)或其他事件通知給該應(yīng)用。
然而,如果在步驟520中確定所關(guān)注的應(yīng)用確實(shí)具有合適的監(jiān)聽器,則本方法進(jìn)行到步驟525,在步驟525中,該應(yīng)用生成一通知請(qǐng)求。在本實(shí)施例中,該通知請(qǐng)求具有如在公知的Java消息傳遞服務(wù)(JMS)中使用的消息對(duì)象的形式。
接著本方法進(jìn)行到步驟525,在步驟525中,使用Java消息傳遞服務(wù)將所生成的通知請(qǐng)求消息發(fā)送給通知服務(wù)器。具體地,在本實(shí)施例中,通過服務(wù)插件將該通知請(qǐng)求消息置于JMS隊(duì)列215上來執(zhí)行該發(fā)送,隨后通知服務(wù)器220從該JMS隊(duì)列215消耗通知請(qǐng)求消息。在由通知服務(wù)器消耗通知消息時(shí),通知服務(wù)器對(duì)請(qǐng)求進(jìn)行處理并生成具有XML文檔的形式的通知并將該通知發(fā)送給合適的應(yīng)用監(jiān)聽器。在圖5中通過子例程700例示了由通知服務(wù)器執(zhí)行的操作。由圖5中的點(diǎn)線例示了在服務(wù)插件與通知服務(wù)器之間的間接(解耦)連接,這表示該連接是經(jīng)由JMS隊(duì)列215的異步連接。
在步驟525完成后,服務(wù)插件的方法返回到步驟505。注意,以下參照?qǐng)D7a到7d對(duì)在子例程700中執(zhí)行的步驟進(jìn)行更詳細(xì)的描述。通知服務(wù)器220下面參照?qǐng)D6,對(duì)本實(shí)施例中的通知服務(wù)器220的構(gòu)架軟件特征或模塊進(jìn)行描述。
監(jiān)聽器模塊610執(zhí)行從JMS隊(duì)列215取出尋址到通知服務(wù)器220的消息的功能,并將它們作為事件(可以根據(jù)如從JMS隊(duì)列215接收到的消息在格式上對(duì)這些事件進(jìn)行修改)存儲(chǔ)在先入先出(FIFO)事件存儲(chǔ)部620中。
假脫機(jī)程序(spooler)模塊625取出存儲(chǔ)在FIFO事件存儲(chǔ)部620中的事件,并將它們提供給“調(diào)度器”,該調(diào)度器定期地調(diào)用假脫機(jī)程序以使用假脫機(jī)程序625查看是否存在任何未處理事件。該假脫機(jī)程序與高速緩存模塊630進(jìn)行通信,該高速緩存模塊630又與地址映射存儲(chǔ)部635進(jìn)行通信,以使得假脫機(jī)程序可以找出作為待派發(fā)事件的目的地的應(yīng)用的監(jiān)聽器的IP地址和端口號(hào)(高速緩存630和地址映射635按常規(guī)方式進(jìn)行操作,使得如果在高速緩存中不存在希望的地址詳情,則該高速緩存從地址映射中請(qǐng)求這些地址詳情,將這些詳情傳遞給假脫機(jī)程序625并將這些詳情的拷貝存儲(chǔ)預(yù)定時(shí)段,以使得可以在不必與地址映射635進(jìn)行聯(lián)系的情況下直接由高速緩存回答對(duì)同一詳情的隨后查詢)。假脫機(jī)程序625還與重試控制器模塊640進(jìn)行通信,該重試控制器模塊640接收調(diào)度器未成功地嘗試派發(fā)的多個(gè)事件,并確定是否應(yīng)當(dāng)在某個(gè)隨后時(shí)間點(diǎn)重試派發(fā)它們;若是,則存儲(chǔ)它們直到這種時(shí)間點(diǎn),然后將它們?cè)偬峤唤oFIFO事件存儲(chǔ)部620。
通知服務(wù)器220還包括調(diào)度器工廠模塊670,該調(diào)度器工廠模塊670對(duì)FIFO事件存儲(chǔ)部620進(jìn)行監(jiān)測(cè),如果它檢測(cè)到在FIFO事件存儲(chǔ)部中存在需要派發(fā)的新事件,則它生成新調(diào)度器對(duì)象671、672。每個(gè)調(diào)度器對(duì)象671、672都按它自己的執(zhí)行線程運(yùn)行,并且在任何一個(gè)時(shí)刻都只負(fù)責(zé)單個(gè)通知,使得網(wǎng)絡(luò)延遲不會(huì)累積增加到使隨后的通知延遲得不被發(fā)送,直到已成功發(fā)送先前的通知(或者對(duì)先前的通知進(jìn)行了嘗試然后失敗)為止。一旦調(diào)度器671、672完成了對(duì)通知的處理(要么通過成功地發(fā)送它,要么通過將其報(bào)告回假脫機(jī)程序625),它就使用假脫機(jī)程序625進(jìn)行檢查以查看是否存在待派發(fā)的未處理通知,若是,則它取出該通知并嘗試派發(fā)該通知,否則它自我銷毀;該自動(dòng)池大小確定行為針對(duì)當(dāng)前需求使派發(fā)容量均衡化。
在圖6中示出的還有這樣的機(jī)制諸如iLocate Live應(yīng)用111的應(yīng)用通過該機(jī)制可以將它們的監(jiān)聽器112套接字ID(即,IP地址和端口號(hào))與通知服務(wù)器注冊(cè)在一起。如圖6所示,在本實(shí)施例中,通過以下兩者中的任一個(gè)可以執(zhí)行該注冊(cè)應(yīng)用直接通知服務(wù)插件(例如SMS服務(wù)插件257),然后該服務(wù)插件將地址詳情傳遞給地址映射635本身;或者另選地,應(yīng)用使用它的監(jiān)聽器地址詳情與訪問控制模塊680的公共點(diǎn)進(jìn)行聯(lián)系,然后由控制部680將該監(jiān)聽器地址詳情傳遞給地址映射635。
通知服務(wù)器操作概要由此可以對(duì)通知服務(wù)器的總體操作進(jìn)行如下描述。調(diào)度器工廠670對(duì)FIFO事件存儲(chǔ)部620進(jìn)行監(jiān)測(cè),當(dāng)它確定存在過多等待派發(fā)的事件時(shí),它啟動(dòng)新調(diào)度器671、672。如上所述,調(diào)度器671、672按它們自己的執(zhí)行線程運(yùn)行;這是有必要的,因?yàn)榫W(wǎng)絡(luò)延遲會(huì)使各派發(fā)操作延遲極其長(zhǎng)的時(shí)段(幾秒)。調(diào)度器671、672調(diào)用假脫機(jī)程序625以給予它們待派發(fā)事件;如果假脫機(jī)程序625報(bào)告不存在等待事件,則調(diào)度器671、672自我銷毀。
客戶機(jī)應(yīng)用開發(fā)者從提供XML-感知監(jiān)聽器的許多提供者中的一個(gè)尋找這種組件,并將其與應(yīng)用的其余部分相集成。開發(fā)者理解來自服務(wù)平臺(tái)的所有事件將遵循一個(gè)標(biāo)準(zhǔn)形式(例如,服務(wù)ID、事件類型、事件參數(shù))。
在操作中,執(zhí)行以下步驟1)客戶機(jī)(對(duì)于服務(wù)平臺(tái),通過唯一ID對(duì)該客戶機(jī)進(jìn)行了認(rèn)證)通過接入部680的公共點(diǎn)或通過任何服務(wù)256、257報(bào)告它的監(jiān)聽器地址(IP地址和端口)。
2)將客戶機(jī)監(jiān)聽器的[ID+地址]提交給地址映射635。
3)客戶機(jī)通過它們的API使用多個(gè)服務(wù)256、257。
4)出現(xiàn)了一事件,有關(guān)服務(wù)256、257生成被發(fā)送給通知服務(wù)器事件隊(duì)列215的事件。該事件包括它所尋址到的客戶機(jī)110的ID。
5)監(jiān)聽器610獲取該事件并將它置于FIFO(先入先出)事件存儲(chǔ)部620中。
6)調(diào)度器671、672調(diào)用假脫機(jī)程序625以向它供應(yīng)一事件。
7)假脫機(jī)程序625從FIFO事件存儲(chǔ)部620中取出下一事件。
8)假脫機(jī)程序625提取客戶機(jī)ID并針對(duì)一地址對(duì)高速緩存630進(jìn)行查詢。如果有必要,高速緩存630對(duì)地址映射存儲(chǔ)部635進(jìn)行查詢。假脫機(jī)程序625將該事件和傳送地址提供給調(diào)度器671、672。調(diào)度器將該事件轉(zhuǎn)換成XML文件并試圖將它傳送給客戶機(jī)監(jiān)聽器112。
9)假設(shè)第一次傳送嘗試失敗了,則調(diào)度器671、672報(bào)告?zhèn)魉鸵咽 ?br> 10)假脫機(jī)程序625將該事件提交給重試控制器640,該重試控制器640丟棄該事件(如果它已達(dá)到它的重試極限)或?qū)⒃撌录3忠欢〞r(shí)段(重試時(shí)段)。
11)一旦已經(jīng)過了該事件的重試時(shí)段,則重試控制器640將它提交給FIFO事件存儲(chǔ)部620。
12)調(diào)度器671、672調(diào)用假脫機(jī)程序以向它供應(yīng)一事件。
13)假脫機(jī)程序625從FIFO事件存儲(chǔ)部620中取出下一事件。
14)假脫機(jī)程序625提取客戶機(jī)ID并針對(duì)一地址對(duì)高速緩存630進(jìn)行查詢。如果有必要,高速緩存630對(duì)地址映射存儲(chǔ)部635進(jìn)行查詢。假脫機(jī)程序625將該事件和傳送地址供應(yīng)給調(diào)度器671、672。
15)調(diào)度器671、672將該事件轉(zhuǎn)換成XML文件并將它傳送給客戶機(jī)監(jiān)聽器112。
16)調(diào)度器671、672調(diào)用假脫機(jī)程序625以向它供應(yīng)一事件。如果假脫機(jī)程序作出表示不存在其他入隊(duì)事件的響應(yīng),則調(diào)度器671、672自我銷毀。
對(duì)該處理的更改允許通知服務(wù)器220為事件設(shè)置不同的重試嘗試極限、重試時(shí)段、持久性等。在本實(shí)施例中由服務(wù)用于提交事件(以上步驟4)的事件記錄的形式包括用于表示所需事件處理行為的占位符。
通知服務(wù)器220可以對(duì)傳送失敗進(jìn)行檢測(cè)并通過另選方式(例如,電子郵件)向客戶機(jī)所有者告警。
當(dāng)接收到該通知時(shí),監(jiān)聽器112與客戶機(jī)應(yīng)用111相交互,該客戶機(jī)應(yīng)用111采取合適的動(dòng)作(典型地,引起到服務(wù)器中對(duì)合適的服務(wù)API的調(diào)用,以例如獲取來達(dá)SMS消息)。
在本實(shí)施例中還根據(jù)接入部680的公共點(diǎn)或通過任何服務(wù)255、256、257提供了測(cè)試方法。在請(qǐng)求時(shí),生成一測(cè)試事件。按照任何其他事件來處理該測(cè)試事件,并將其傳送給合適的已注冊(cè)監(jiān)聽器。如果未傳送測(cè)試事件通知,則客戶機(jī)111能夠檢測(cè)到事件傳送機(jī)制的故障。對(duì)通知服務(wù)器220的具體模塊的詳細(xì)考察下面參照?qǐng)D7a到7e,對(duì)由通知服務(wù)器220內(nèi)的5個(gè)主要模塊/對(duì)象執(zhí)行的具體步驟進(jìn)行描述。
監(jiān)聽器模塊610的方法首先參照?qǐng)D7a,在步驟705處在啟動(dòng)本方法之后,由監(jiān)聽器模塊610執(zhí)行的方法啟動(dòng)了,在步驟705中,確定在JMS隊(duì)列215中是否存在尋址到通知服務(wù)器220的新消息。如果不存在這種等待消息,則本方法繼續(xù)返回到步驟705,直到檢測(cè)到這種消息為止。
如果在步驟705處檢測(cè)到尋址到通知服務(wù)器220的消息,則本方法進(jìn)行到步驟710,在步驟710中,從JMS隊(duì)列獲取該消息。在步驟710完成后,本方法進(jìn)行到步驟715,在步驟715中將所獲取的事件存儲(chǔ)在FIFO事件存儲(chǔ)部620中。在本實(shí)施例中,通過簡(jiǎn)單地獲得如從JMS隊(duì)列215獲取的消息對(duì)象并按不修改方式存儲(chǔ)它,將它存儲(chǔ)在FIFO事件存儲(chǔ)部620中。然而,在另選實(shí)施例中,可以讀取該消息的主要內(nèi)容并將其調(diào)整為另選格式(例如不同的Java對(duì)象),然后按該修改的格式存儲(chǔ)在FIFO事件存儲(chǔ)部中。在步驟715完成后,本方法返回到步驟705,并等待其他待處理消息。
調(diào)度器工廠模塊670的方法下面參照?qǐng)D7b,在調(diào)度器工廠670執(zhí)行的方法啟動(dòng)之后,該方法進(jìn)行到步驟720,在步驟720中,確定在FIFO存儲(chǔ)部620中是否存在等待派發(fā)的任何事件。如果不存在這種等待派發(fā)的事件,則本方法繼續(xù)返回到步驟720,直到在FIFO存儲(chǔ)部620中檢測(cè)到這種待處理的事件為止。
如果在FIFO存儲(chǔ)部620中檢測(cè)到事件,則本方法進(jìn)行到步驟725,在步驟725中,生成新調(diào)度器對(duì)象。在本實(shí)施例中,在步驟725完成后,本方法返回到步驟720,并再次查看是否存在等待派發(fā)的事件。這意味著在本實(shí)施例中,如果在本方法回到步驟720之前假脫機(jī)程序仍然未從FIFO存儲(chǔ)部中獲得事件,那么即使實(shí)際上只需要一個(gè)調(diào)度器對(duì)象,也可能會(huì)生成一個(gè)或更多個(gè)其他調(diào)度器對(duì)象。這不會(huì)帶來問題,因?yàn)檫@種過多的調(diào)度器對(duì)象會(huì)在適當(dāng)?shù)臅r(shí)候自我銷毀。然而,可以使用更復(fù)雜的方法來避免發(fā)生該情況,如在生成調(diào)度器之后在返回步驟720之前引入小的延遲,或者針對(duì)特定事件檢查是否已生成了調(diào)度器,等等。在圖7b的步驟725與圖7d的開始步驟之間的點(diǎn)線表示對(duì)新調(diào)度器對(duì)象(圖7d例示了其操作方法)的實(shí)例化。
假脫機(jī)程序模塊625的方法下面參照?qǐng)D7c,由假脫機(jī)程序模塊625執(zhí)行的方法在它啟動(dòng)之后進(jìn)行到步驟730,在步驟730中,確定是否一調(diào)度器已請(qǐng)求一新事件以將其派發(fā)給客戶機(jī)應(yīng)用(如應(yīng)用110)。如果未檢測(cè)到調(diào)度器對(duì)象的這種請(qǐng)求,則本方法進(jìn)行到步驟735,在步驟735中,確定調(diào)度器是否試圖返回失敗事件(即,調(diào)度器已嘗試并且未能成功地派發(fā)給合適的監(jiān)聽器的事件)。若是,則在步驟740中假脫機(jī)程序625獲取該失敗事件并將其傳遞給重試控制器640。否則,本方法返回到步驟730,并等待調(diào)度器與其進(jìn)行聯(lián)系以接收待派發(fā)的新事件或返回失敗事件。
如果在步驟745處確定存在等待要派發(fā)的新事件的空閑調(diào)度器,則本方法進(jìn)行到步驟745,在步驟745中,從FIFO存儲(chǔ)部620中取出待派發(fā)的下一事件(注意,即使在圖7c中未明確示出,但是如果在FIFO存儲(chǔ)部中不存在等待派發(fā)的事件,則跳過步驟750,并且在步驟735處,通知調(diào)度器不存在等待事件,于是調(diào)度器簡(jiǎn)單終止)。
在步驟745完成后,本方法進(jìn)行到步驟750,在步驟750中,從高速緩存中(或者,如果必要的話,通過高速緩存從地址映射中)查找作為所述事件待發(fā)送到的目的地的監(jiān)聽器地址,然后本方法進(jìn)行到步驟755,在步驟755中,將該事件傳遞給調(diào)度器,然后調(diào)度器試圖適當(dāng)?shù)嘏砂l(fā)該事件。在步驟755完成后,本方法返回到步驟730,并再次等待調(diào)度器與其進(jìn)行聯(lián)系以接收待派發(fā)的新事件或返回失敗事件。
調(diào)度器對(duì)象671、672的方法下面參照?qǐng)D7d,由各調(diào)度器對(duì)象671、672執(zhí)行的方法在(在步驟725處由調(diào)度器工廠模塊670)實(shí)例化了之后進(jìn)行到步驟760,在步驟760中,調(diào)度器671、672與假脫機(jī)程序625進(jìn)行聯(lián)系以請(qǐng)求待派發(fā)的新事件。在步驟765處,調(diào)度器確定它是否從假脫機(jī)程序625接收到了待派發(fā)的新事件,或者確定假脫機(jī)程序是否已報(bào)告它當(dāng)前沒有等待派發(fā)的事件。如果后者是本情況(即不存在等待派發(fā)的事件),則調(diào)度器對(duì)象自我終止(該自我終止的能力是在Java和其他面向?qū)ο笳Z(yǔ)言中的標(biāo)準(zhǔn)特征,其防止了不被使用的對(duì)象占用計(jì)算資源)。
然而,如果在步驟765中確定向調(diào)度器給予了待派發(fā)的新事件,則本方法進(jìn)行到步驟770,在步驟770中,調(diào)度器根據(jù)在由假脫機(jī)程序傳遞給它的事件中包含的信息生成形成了待傳送給客戶機(jī)應(yīng)用的通知的內(nèi)容的XML文件;在生成了該XML文件之后,調(diào)度器接著使用在假脫機(jī)程序向它傳遞事件時(shí)由假脫機(jī)程序傳遞給調(diào)度器的地址詳情,試圖將該通知發(fā)送給監(jiān)聽器。
在步驟770完成后,本方法進(jìn)行到步驟775,在步驟775中確定傳送是否成功。如果傳送成功了,則本方法返回到步驟760,以請(qǐng)求其他待派發(fā)事件。然而,如果由于某種原因而傳送不成功,則本方法進(jìn)行到步驟780,在步驟780中將未成功傳送(即,失敗)的事件傳遞回假脫機(jī)程序(該假脫機(jī)程序又將該失敗事件傳遞給重試控制器640)。在步驟780完成后,本方法再次返回到步驟760。
重試控制器模塊640的方法下面參照?qǐng)D7e,由重試控制器模塊640執(zhí)行的方法在啟動(dòng)之后進(jìn)行到步驟782,在步驟782中,確定是否已從假脫機(jī)程序625向它傳遞了失敗事件。若是,則本方法進(jìn)行到步驟784,在步驟784中,確定該事件是否為待重試的事件。在本實(shí)施例中,通過讀取與該事件相關(guān)聯(lián)的重試參數(shù)以查看它是否具有零值,確定該事件是否為待重試的事件。重試參數(shù)指定了在對(duì)事件的傳送失敗的情況下待對(duì)其進(jìn)行重試的次數(shù),并且可以具有在表示根本不重試的零與某個(gè)預(yù)定最大值之間的任何整數(shù)值;首先由最初生成該事件(其被置于JMS隊(duì)列215上)的服務(wù)插件來設(shè)置該重試參數(shù)。
如果在步驟784中確定不對(duì)事件進(jìn)行重試,則本方法進(jìn)行到步驟786,在步驟786中由重試控制器簡(jiǎn)單地刪除該事件并且本方法返回到步驟782。另選地,如果在步驟784中確定要對(duì)事件進(jìn)行重試,則本方法進(jìn)行到步驟788,在步驟788中,由重試控制器存儲(chǔ)該事件并對(duì)重試該事件的時(shí)間進(jìn)行計(jì)算和監(jiān)測(cè)。在本實(shí)施例中,通過讀取重試時(shí)間間隔參數(shù)并將其加上由系統(tǒng)時(shí)鐘(未示出)給出的當(dāng)前時(shí)間來計(jì)算重試該時(shí)間的時(shí)間。在計(jì)算了該重試時(shí)間之后,本方法回到步驟782。
如果在步驟782處確定未接收到失敗事件,則本方法不進(jìn)行到步驟784,而是進(jìn)行到步驟790,在步驟790中,確定是否已達(dá)到或經(jīng)過所述(多個(gè))事件等待重試的(最早)重試時(shí)間。若否,則本方法返回到步驟782。否則,本方法進(jìn)行到步驟792,在步驟792中使已達(dá)到或超過了其重試時(shí)間的事件的重試參數(shù)遞減1。在步驟792完成后,本方法進(jìn)行到步驟794,在步驟794中接著將該事件置于FIFO存儲(chǔ)部620中,隨后將按前述方式再?gòu)腇IFO存儲(chǔ)部620中拾取出該事件并由假脫機(jī)程序625來重試。在步驟794完成后,重試控制器640的方法返回到步驟782。
通知格式在本實(shí)施例中,如在網(wǎng)關(guān)域200與應(yīng)用域100之間的不安全網(wǎng)絡(luò)上發(fā)送的每個(gè)通知都具有可由以下文件類型定義(DTD)文件來驗(yàn)證的可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件的形式<!ELEMENT event(parameter*)><!ATTLIST eventappAccID CDATA #REQUREDserviceID CDATA #REQUREDtype CDATA #REQURED><!ELEMENT parameter(#PCDATA)><!ATTLIST parametername CDATA #REQURED>
該形式實(shí)質(zhì)上規(guī)定按可由該DTD驗(yàn)證的XML文件的形式提供的通知是可以包含零個(gè)或更多個(gè)“參數(shù)”(它們構(gòu)成了“事件”的子“元素”)的“事件”。事件必須具有被稱為“appAccID”(其為作為該通知的目的地的客戶機(jī)應(yīng)用的標(biāo)識(shí))、“serviceID”(其為發(fā)送通知的服務(wù)插件的標(biāo)識(shí))以及“type”(其指定了通知的類型(例如測(cè)試通知或回調(diào)通知))的三個(gè)屬性。它還規(guī)定每個(gè)參數(shù)必須具有被稱為“name”(其給出了參數(shù)的名稱)并含有可解析的字符數(shù)據(jù)(即幾乎是任何事情)的屬性。
例如,以下XML文件可由該DTD來驗(yàn)證。< xml version=”1.0” ><!DOCTYPE event SYSTEM“event.dtd”><event appAccID=”iLocate”serviceID=”SMS”type=”callBack”><parameter name=”Event_Number”>1</parameter><parameter name=”Param2”>Val2</parameter><parameter name=”Param3”>Val3</parameter></event>
該XML文件實(shí)質(zhì)上表明該通知是針對(duì)iLocate應(yīng)用110的,它發(fā)自SMS服務(wù)插件257并且其類型是回調(diào)型。此外,它含有3個(gè)參數(shù),第一個(gè)參數(shù)被稱為Event Number并具有值1(即,這是一個(gè)序列號(hào),它使得接收應(yīng)用可以將該通知與隨后的類似通知區(qū)分開,還使得應(yīng)用可以在網(wǎng)絡(luò)錯(cuò)誤地對(duì)該通知發(fā)送了一次以上的情況下避免對(duì)同一通知作用一次以上)。它還含有被稱為Param2和Param3的分別具有值Val2和Val3的兩個(gè)其他參數(shù),在本示例中這些參數(shù)是冗余的,但是可用于指定例如各方9、19(在它們之間正在發(fā)送由客戶機(jī)應(yīng)用拾取的文本消息)的標(biāo)識(shí)等。
監(jiān)聽器112在本實(shí)施例中,使用XML(SAX)工具箱(其為用于對(duì)XML進(jìn)行解析的工具箱)的Simple API并將XML類事件推發(fā)到應(yīng)用中,來形成監(jiān)聽器112。Java以及諸如Microsoft的其他環(huán)境提供了該監(jiān)聽器。在本實(shí)施例中,采用Java編寫iLocate應(yīng)用110。
在本實(shí)施例中,通過使用SAX工具箱形成監(jiān)聽器112,如本領(lǐng)域的技術(shù)人員很好地理解的,SAX工具箱要求注冊(cè)內(nèi)容處理程序,該內(nèi)容處理程序是客戶機(jī)應(yīng)用110內(nèi)的(Java)方法(對(duì)象),其知道在XML內(nèi)預(yù)期會(huì)有什么元素并且在傳送這些元素時(shí)如何處理它們(以及它們的值)。同樣,本領(lǐng)域的技術(shù)人員很好理解,按如下方式使用SAX工具箱通過DTD來建立監(jiān)聽器112監(jiān)聽器112將針對(duì)DTD對(duì)來達(dá)XML進(jìn)行驗(yàn)證,并且在XML中存在任何錯(cuò)誤的情況下將調(diào)用(同樣在客戶機(jī)110內(nèi)的)錯(cuò)誤處理器方法??蛻魴C(jī)應(yīng)用110接著在網(wǎng)絡(luò)上打開一套接字,當(dāng)它從服務(wù)器得到連接時(shí)它打開該連接作為輸入流并將該XML傳遞給內(nèi)容處理程序(作為由SAX工具箱提供的parse()方法上的參數(shù))。在它對(duì)XML進(jìn)行解析時(shí),由SAX工具箱提供的繼承方法使得該內(nèi)容處理程序方法可以在對(duì)XML進(jìn)行解析的過程中注意任何重要點(diǎn)(起始文件、起始元素等)。按此方式(這是對(duì)SAX的所有標(biāo)準(zhǔn)使用),內(nèi)容處理程序能夠建立來自XML內(nèi)的所有值(appAccID、serviceID、類型、參數(shù))的記錄。當(dāng)使內(nèi)容處理程序知道已達(dá)到事件元素的末端時(shí),內(nèi)容處理程序獲取它在對(duì)XML文件進(jìn)行解析的過程中使用被傳遞給它的值填充后的事件對(duì)象,并將該事件對(duì)象傳遞給按合適的方式對(duì)該事件起反應(yīng)(例如,與所標(biāo)識(shí)的服務(wù)插件進(jìn)行聯(lián)系,由此,例如從服務(wù)器中取出SMS消息)的事件處理器。
出于如下幾個(gè)原因,客戶機(jī)端事件對(duì)象(即,在應(yīng)用域100中)與代表服務(wù)器端(即,在網(wǎng)關(guān)域200中)的事件的對(duì)象不同在服務(wù)器端的事件對(duì)象內(nèi)有在對(duì)事件進(jìn)行傳送時(shí)使用的許多參數(shù)(例如,重試參數(shù)),因此不適合于客戶機(jī)看到。此外,使用XML的全部要義是將服務(wù)器端與客戶機(jī)端解耦開。同樣顯見的是,在SAX的外部定義客戶機(jī)端的事件對(duì)象。SAX僅僅告訴內(nèi)容處理程序它正在XML中尋找什么,而內(nèi)容處理程序使用該信息作為應(yīng)用所需的信息。
注意,可以采用任何希望的開發(fā)范式(如Java、Perl、Microsoft等)來開發(fā)諸如iLocate應(yīng)用110的客戶機(jī)應(yīng)用。Java開發(fā)者可以決定使用其他XML工具箱來開發(fā)諸如DOM或JDOM的監(jiān)聽器模塊(等同于監(jiān)聽器112)。Microsoft開發(fā)者可以使用SAX或Microsoft XML Parser(MSXML)。Perl開發(fā)者也可以使用SAX,或使用為Perl專門提供的某些其他工具箱。其他客戶機(jī)開發(fā)環(huán)境可以使用它們自己的XML工具箱。
權(quán)利要求
1.一種在不安全網(wǎng)絡(luò)上從服務(wù)器應(yīng)用向客戶機(jī)應(yīng)用提供數(shù)字服務(wù)的方法,其中,所述客戶機(jī)應(yīng)用能夠在所述不安全網(wǎng)絡(luò)上發(fā)起安全的客戶機(jī)到服務(wù)器連接,以請(qǐng)求服務(wù)并從所述服務(wù)器應(yīng)用接收所得輸出數(shù)據(jù),該方法包括以下步驟響應(yīng)于當(dāng)在所述客戶機(jī)應(yīng)用與所述服務(wù)器應(yīng)用之間不存在安全連接時(shí)所述服務(wù)器應(yīng)用檢測(cè)到一事件的發(fā)生,生成標(biāo)識(shí)了所述服務(wù)器應(yīng)用并定址到所述客戶機(jī)應(yīng)用的通知;將所述通知轉(zhuǎn)發(fā)給通知服務(wù)器應(yīng)用;將所述通知從所述通知服務(wù)器應(yīng)用轉(zhuǎn)發(fā)給所述客戶機(jī)應(yīng)用;以及,響應(yīng)于接收到所述通知,所述客戶機(jī)應(yīng)用發(fā)起在所述客戶機(jī)應(yīng)用與所述服務(wù)器應(yīng)用之間的所述不安全網(wǎng)絡(luò)上的安全連接。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述通知具有非可執(zhí)行數(shù)據(jù)文件的形式。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述通知具有含有可擴(kuò)展標(biāo)記語(yǔ)言文件的簡(jiǎn)單文本文件的形式。
4.根據(jù)前述任一權(quán)利要求所述的方法,該方法還包括以下步驟在所述通知服務(wù)器應(yīng)用內(nèi)運(yùn)行用于對(duì)將多個(gè)分立通知轉(zhuǎn)發(fā)到所述客戶機(jī)應(yīng)用的步驟進(jìn)行控制的多個(gè)分立線程。
5.根據(jù)前述任一權(quán)利要求所述的方法,該方法還包括以下步驟如果對(duì)所述通知的傳送失敗,那么所述服務(wù)器應(yīng)用指定要重試傳送所述通知的次數(shù);如果在所述不安全網(wǎng)絡(luò)上對(duì)所述通知的傳送失敗,那么所述通知服務(wù)器重試傳送所述通知達(dá)指定的次數(shù)。
6.根據(jù)前述任一權(quán)利要求所述的方法,其中,單個(gè)通知服務(wù)器從多個(gè)服務(wù)器應(yīng)用接收多個(gè)通知,并將所述多個(gè)通知轉(zhuǎn)發(fā)給多個(gè)客戶機(jī)應(yīng)用。
7.一種客戶機(jī)服務(wù)器系統(tǒng),其包括客戶機(jī)子系統(tǒng)、服務(wù)器子系統(tǒng)以及互連數(shù)據(jù)網(wǎng)絡(luò),所述客戶機(jī)子系統(tǒng)包括可進(jìn)行操作以發(fā)起在所述互連網(wǎng)絡(luò)上與所述服務(wù)器子系統(tǒng)的安全連接的客戶機(jī)應(yīng)用,所述服務(wù)器子系統(tǒng)包括服務(wù)器應(yīng)用,所述服務(wù)器應(yīng)用可進(jìn)行操作以與所述客戶機(jī)應(yīng)用相協(xié)作,來在所述客戶機(jī)應(yīng)用發(fā)起所述連接時(shí)完成對(duì)與所述客戶機(jī)應(yīng)用的安全連接的建立,并且所述服務(wù)器應(yīng)用還可進(jìn)行操作以響應(yīng)于對(duì)由所述客戶機(jī)應(yīng)用提供的服務(wù)的請(qǐng)求而在這種連接上傳送輸出數(shù)據(jù),其中,所述服務(wù)器子系統(tǒng)還包括通知服務(wù)器,并且其中所述服務(wù)器應(yīng)用還可進(jìn)行操作以響應(yīng)于檢測(cè)到在所述服務(wù)器應(yīng)用與所述客戶機(jī)應(yīng)用之間當(dāng)前尚未建立安全連接時(shí)發(fā)生了事件而生成一通知,并將所述通知發(fā)送給所述通知服務(wù)器,并且其中所述通知服務(wù)器可進(jìn)行操作以在所述互連網(wǎng)絡(luò)上將所述通知轉(zhuǎn)發(fā)給所述客戶機(jī)應(yīng)用。
8.根據(jù)權(quán)利要求7所述的客戶機(jī)服務(wù)器系統(tǒng),該客戶機(jī)服務(wù)器系統(tǒng)還包括向所述服務(wù)器子系統(tǒng)提供服務(wù)的后端系統(tǒng),其中,所述服務(wù)器子系統(tǒng)充當(dāng)在所述客戶機(jī)子系統(tǒng)與所述后端系統(tǒng)之間的受信中間體。
9.一種用于在權(quán)利要求7或權(quán)利要求8的系統(tǒng)中使用的通知服務(wù)器,該通知服務(wù)器包括用于從一個(gè)或更多個(gè)服務(wù)器應(yīng)用接收通知的裝置;用于處理所述通知以建立所述通知的目的地地址的裝置;以及用于將所述通知傳送給在所述通知中標(biāo)識(shí)的相應(yīng)客戶機(jī)應(yīng)用的裝置。
10.一種用于在權(quán)利要求7或權(quán)利要求8的系統(tǒng)中使用的通知服務(wù)器,該通知服務(wù)器包括用于從一個(gè)或更多個(gè)服務(wù)器應(yīng)用接收通知的接收模塊;用于處理所述通知以建立所述通知的目的地地址的處理器;以及用于將所述通知傳送給在所述通知中標(biāo)識(shí)的相應(yīng)客戶機(jī)應(yīng)用的傳送模塊。
11.一種用于在權(quán)利要求7或權(quán)利要求8的系統(tǒng)中使用的服務(wù)器應(yīng)用,該服務(wù)器應(yīng)用包括如下裝置,該裝置用于響應(yīng)于檢測(cè)到在所述服務(wù)器應(yīng)用與客戶機(jī)應(yīng)用之間當(dāng)前尚未建立安全連接時(shí)發(fā)生了事件而生成一通知,并將所述通知發(fā)送給通知服務(wù)器,以將所述通知向前轉(zhuǎn)發(fā)給所述客戶機(jī)應(yīng)用。
12.一種用于在權(quán)利要求7或權(quán)利要求8的系統(tǒng)中使用的客戶機(jī)應(yīng)用,該客戶機(jī)應(yīng)用包括監(jiān)聽器模塊,所述監(jiān)聽器模塊用于通過通知服務(wù)器從服務(wù)器應(yīng)用接收通知,并用于使得所述客戶機(jī)應(yīng)用通過發(fā)起到所述服務(wù)器應(yīng)用的安全連接對(duì)所述通知進(jìn)行響應(yīng)。
13.一種客戶機(jī)服務(wù)器系統(tǒng),該客戶機(jī)服務(wù)器系統(tǒng)包括客戶機(jī)子系統(tǒng)、服務(wù)器子系統(tǒng)以及互連數(shù)據(jù)網(wǎng)絡(luò),所述客戶機(jī)子系統(tǒng)包括客戶機(jī)應(yīng)用,所述客戶機(jī)應(yīng)用具有用于發(fā)起在所述互連網(wǎng)絡(luò)上與所述服務(wù)器子系統(tǒng)的安全連接的裝置,所述服務(wù)器子系統(tǒng)包括服務(wù)器應(yīng)用,所述服務(wù)器應(yīng)用具有用于與所述客戶機(jī)應(yīng)用相協(xié)作以在所述客戶機(jī)應(yīng)用發(fā)起所述連接時(shí)完成對(duì)與所述客戶機(jī)應(yīng)用的安全連接的建立的裝置;和用于響應(yīng)于對(duì)由所述客戶機(jī)應(yīng)用提供的服務(wù)的請(qǐng)求而在這種連接上傳送輸出數(shù)據(jù)的裝置,其中,所述服務(wù)器子系統(tǒng)還包括通知服務(wù)器,并且其中所述服務(wù)器應(yīng)用還包括用于響應(yīng)于檢測(cè)到在所述服務(wù)器應(yīng)用與所述客戶機(jī)應(yīng)用之間當(dāng)前尚未建立安全連接時(shí)發(fā)生了事件而生成一通知的裝置,和用于將所述通知發(fā)送給所述通知服務(wù)器的裝置,并且其中所述通知服務(wù)器包括用于在所述互連網(wǎng)絡(luò)上將所述通知轉(zhuǎn)發(fā)給所述客戶機(jī)應(yīng)用的裝置。
14.一種計(jì)算機(jī)程序或計(jì)算機(jī)程序套件,其用于在執(zhí)行所述計(jì)算機(jī)程序或計(jì)算機(jī)程序套件的過程中對(duì)一個(gè)或更多個(gè)計(jì)算機(jī)處理器進(jìn)行控制以執(zhí)行根據(jù)權(quán)利要求1到6中的任何一項(xiàng)所述的步驟。
15.承載有根據(jù)權(quán)利要求14所述的計(jì)算機(jī)程序或計(jì)算機(jī)程序套件的計(jì)算機(jī)可讀介質(zhì)。
全文摘要
本發(fā)明提供了用于在計(jì)算機(jī)設(shè)備之間傳送數(shù)據(jù)的方法和設(shè)備。客戶機(jī)服務(wù)器系統(tǒng)(100、200、300)包括客戶機(jī)子系統(tǒng)(100)、服務(wù)器子系統(tǒng)(200)以及互連數(shù)據(jù)網(wǎng)絡(luò)??蛻魴C(jī)子系統(tǒng)包括可進(jìn)行操作以發(fā)起在互連網(wǎng)絡(luò)上與服務(wù)器子系統(tǒng)(200)的安全連接的客戶機(jī)應(yīng)用(110、120、130、140、150)。服務(wù)器子系統(tǒng)包括服務(wù)器應(yīng)用(254、255、256、257),該服務(wù)器應(yīng)用可進(jìn)行操作以與客戶機(jī)應(yīng)用相協(xié)作,來在客戶機(jī)應(yīng)用發(fā)起連接時(shí)完成對(duì)與客戶機(jī)應(yīng)用的安全連接的建立,并且服務(wù)器應(yīng)用還可進(jìn)行操作以響應(yīng)于對(duì)由客戶機(jī)應(yīng)用提供的服務(wù)的請(qǐng)求而在這種連接上傳送輸出數(shù)據(jù)。服務(wù)器子系統(tǒng)還包括通知服務(wù)器(220),并且服務(wù)器應(yīng)用還可進(jìn)行操作以響應(yīng)于檢測(cè)到在服務(wù)器應(yīng)用與客戶機(jī)應(yīng)用之間當(dāng)前尚未建立安全連接時(shí)發(fā)生了事件而生成一通知,并將該通知發(fā)送給通知服務(wù)器(220)。通知服務(wù)器(220)還可進(jìn)行操作以在互連網(wǎng)絡(luò)上將通知轉(zhuǎn)發(fā)給客戶機(jī)應(yīng)用。
文檔編號(hào)H04L29/06GK1939035SQ200580010782
公開日2007年3月28日 申請(qǐng)日期2005年3月23日 優(yōu)先權(quán)日2004年3月31日
發(fā)明者大衛(wèi)·羅克斯巴勒, 西蒙·亞歷山大·貝德斯, 帕特里克·布賴恩·法利, 邁克爾·羅伯特·霍斯金 申請(qǐng)人:英國(guó)電訊有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
克山县| 尚志市| 枞阳县| 曲靖市| 班戈县| 定边县| 威宁| 永和县| 武平县| 菏泽市| 榆林市| 福泉市| 兴国县| 宿迁市| 吐鲁番市| 仁化县| 临邑县| 类乌齐县| 三河市| 射洪县| 泰来县| 湖北省| 鹤庆县| 赣榆县| 区。| 中超| 朝阳市| 吉木萨尔县| 盐山县| 乌兰浩特市| 讷河市| 武陟县| 开江县| 周宁县| 斗六市| 治多县| 赫章县| 象州县| 和林格尔县| 鲁山县| 扶沟县|