TWI466502B - 訊息傳送路由安排平臺 - Google Patents
訊息傳送路由安排平臺 Download PDFInfo
- Publication number
- TWI466502B TWI466502B TW098127099A TW98127099A TWI466502B TW I466502 B TWI466502 B TW I466502B TW 098127099 A TW098127099 A TW 098127099A TW 98127099 A TW98127099 A TW 98127099A TW I466502 B TWI466502 B TW I466502B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- intended recipient
- server
- registry
- recipient
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 39
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 239000012634 fragment Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/222—Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本發明申請案係有關於用來路由安排資訊之系統與方法。特定地但不排他地,本發明係有關於路由安排一行動通訊網路中之訊息與資訊。
諸如SMS、MMS、VOLP、電子郵件、即時傳訊、視訊傳訊、現場視訊串流等之傳訊及行動資料格式的日益普及給網路容量造成日益增加的壓力。該增加的流量影響網路效率。為了提高資料通量,許多提供者使用成形(shaping),其中限制提供給超過設定資料使用極限之不同使用者的資料速率。
在許多目前行動通訊平臺中,增加的資料流量之該等影響尤為明顯。實質上,由於行動技術已自第一代行動裝置發展至第二及2.5代且最近至第三代,資料流量已以指數方式成長。這主要是由於提供額外的頻寬。然而,透過行動網路之資料傳輸的效率在速率上受該網路之該等硬體元件限制。該硬體不僅限制該資料速率,其還限制該網路中之任一節點可在任何特定時間服務之使用者數量。
鑑於日益增加的資料量遭放置在行動通訊網路上,明顯地存在對不僅能夠處理當前網路資料流量而且還可快捷地縮放以滿足資料的增加之一傳訊系統及方法的一需求。
因此,在本發明之一層面中提供了用來路由安排在一通訊網路中的訊息之一系統,該系統包括:多個節點,該等節點用來接收供傳送至一預期接受者之一封包,其中該系統適於判定該預期接受者是否連接至該等多個節點中之一第一選定節點,及如果該預期接受者連接至該第一選定節點,傳送該封包,及如果判定該預期接受者未連接至該等多個節點中之該第一選定節點,該系統進一步適於判定該預期接受者連接在該等多個節點中之哪一節點並將該封包轉送至該預期接受者所連接至之該節點。
較佳地,該等多個節點中的每個節點包括多個彼此互相耦接之伺服器。適當地,每個節點包含該等多個伺服器之一第一伺服器,該第一伺服器適於判定該預期接受者是否連接至該節點上之該等多個伺服器中之至少一伺服器。該第一伺服器可適於判定該封包是否包含該封包應該被路由安排至之該節點的一目的地位址。較佳地,該第一伺服器適於在將該封包轉送至該希望的目的地的時候清除在該封包中之該路由安排資訊。
如果該訊息封包不包含任何路由安排資訊且該第一伺服器判定出該預期接受者未連接至它的節點,則該第一伺服器適於將該訊息封包路由安排至一註冊處。該註冊處可包含一或多個伺服器。適當地,該註冊處包括一第一伺服器,該第一伺服器適於針對與該預期接受者連接至之該最後節點的位置有關的資訊查詢至少一資料庫。如果該至少一資料庫包含關於該預期接受者之該最後已知位置的資訊,該第一註冊伺服器則將該封包轉送至該已識別的節點之該第一伺服器。
適當地,該註冊處可同步或順序地諮詢多個資料庫。該資料庫可在一單一位置或遍及該網路分佈。
較佳地,在每個節點及/或每個註冊處中的該等多個伺服器可佔據同一實體位置。可選擇地,在每個節點及/或每個註冊處中的該等伺服器可遍及該節點/註冊處中的不同位置分佈,在此實例中,該等伺服器被分組成叢集。
該等封包可包括訊息封包、資訊封包或存在封包。如果該封包是一訊息封包且該系統無法判定該接受者的位置,該系統嘗試依據一預定的規則集來傳送該封包。該等傳送規則可包括(但不局限於)SMS傳送、電子郵件傳送及/或透過其它可選擇的媒體之傳送。如果該封包是一資訊封包,該系統發回一“未發現”錯誤封包給該訊息發起者。如果該訊息封包是一存在封包,該系統丟棄該封包。
在本發明之一進一步的層面中提供了用來路由安排在一通訊系統中的訊息之一方法,該方法包括以下步驟:在多個節點中的一第一節點為一預期接受者接收一封包;判定該預期接受者是否連接至該節點,及如果該預期接受者連接至該節點,傳送該封包給該預期接受者,及如果該接受者未連接至該第一節點,判定該預期接受者連接在該等多個節點中之哪一節點並將該封包轉送至該預期接受者所連接至之該節點。
該方法進一步包括,如果判定之該步驟未能識別該預期接受者所連接至之該節點則將該封包轉送至一註冊處之步驟。
該方法還可包括查詢一或多個資料庫以判定該預期接受者最後連接至之該節點並根據自該一或多個資料庫所擷取之該資訊將該封包轉送至該節點之步驟。
較佳地,該方法包括根據預定的規則將該封包轉送至一接受者之步驟。
為了本發明可較容易的理解並付諸實施,現在將參考說明本發明之較佳實施例的該等附圖,及其中:第1圖是說明依據本發明之一實施例之用來路由安排封包之一系統之一示意圖;第2圖是說明依據本發明之一實施例之該路由安排程序之一流程圖;第3圖是說明依據本發明之一實施例在該路由安排程序中之該等網路元件間的該等連接性關係之一示意圖;第4圖是說明依據本發明之一實施例由一註冊伺服器用來定位一資料碎片之該程序之一示意圖。
將要明白的是,貫穿該描述的該等術語“連接(Connect)”及“註冊處(Registry)”,當結合該系統架構的討論使用時,是指處理終端使用者/裝置(連接)及資料庫/持續資料存取(註冊處)的連接性之邏輯伺服器元件。類似地,該術語“位置”用來表示“一使用者或裝置的位置”,其意指針對上面定義的“連接”之一唯一識別符。這例如可為一IP位址,但是該架構也涵蓋任一其它位址方案。該術語“資料庫”也輕度地用來指一資料儲存,並不意味著儲存資料之任一特定方法(諸如一SQL資料庫)或任一特定資料庫管理系統或產品。
參考第1圖,本文說明了依據本發明之一實施例之用來路由安排一封包102的一系統100之一例子。該等封包在此特定例子中可包括訊息(message)封包、資訊封包及存在(presence)封包。如果使用該XMPP協定,這些分別地與<message>、<iq>及<presence>節(stanza)相關聯。
在此例子中,該發端客戶端101格式化該封包102並轉送至來自多個節點103a、103b、103c及103d(網路)中的第一選定節點103a中之多個伺服器(叢集)104a、104b、104c當中之一第一選定伺服器104a,供傳送至一預期的接受者108。一旦該封包102被傳送至在該選定節點103a中的該第一伺服器104a,第一伺服器104a判定該預期接受者108是否連接至第一伺服器104a。如果該接受者連接至伺服器104a,則該伺服器繼續將該封包傳送(本地傳送)至該預期接受者108。
如果該接受者108未連接至該叢集中之一伺服器104a、104b、104c,則該第一伺服器104a繼續核對該封包102是否包含一目的地位址。例如,該封包102可指定節點103c中的伺服器104c為該目的地位址,在這種情況下在節點103a中的該伺服器104a直接地將該封包102路由安排至在節點103c中的伺服器104c。熟於此技者將明白的是,該封包透過該節點103b、103d至103c可間接地路由安排至在節點103c中的伺服器104c,接著,節點103c中的一第一伺服器104a在將該封包102轉送至伺服器104c供傳送至該接受者108之前可提取該封包102。
如果該接受者108未連接至一伺服器104a且該封包不包含一特定目的地位址,則節點103a中的伺服器104a將該封包轉送至一註冊處105。為了描述的簡明,所顯示的當前例子只包括一個註冊處105,然而,熟於此技者將明白的是,該系統可包括任何數目的註冊處105。
如所示,該註冊處105包括多個伺服器106a、106b、106c(註冊伺服器之叢集)。一旦該封包102被傳送至來自多個伺服器(叢集)106a、106b、106c中的一第一伺服器106a,伺服器106a針對與該預期接受者108之該最後已知的位置相關的資訊查詢資料庫107a、107b、107c中的一或多個資料庫。如果可得關於該預期接受者108之該最後已知位置之該資訊,則該第一伺服器106a將該封包轉送至該接受者108最後所連接至之該適當節點103a、103b、103c及103d中的該伺服器104a、104b、104c。在此例子中,自資料庫所獲得的該資訊指示的是接受者108最後連接至節點103d中的伺服器104a,在此情況下,伺服器106a將該封包102轉送至在節點103d中的伺服器104a供傳送。如果該接受者108自此已改變了位置,則伺服器104a可如上討論或進一步路由安排來處理該封包。下面結合第2圖討論關於不同節點等之間的封包的路由安排所採用之方式的進一步的細節。
在本發明之一進一步的實施例中,該第一伺服器104a在判定該預期接受者108未連接至該第一伺服器104a的時候,可首先實施對包含在該節點103a中的該叢集中的該等剩餘伺服器104b、104c之一搜尋以判定該預期接受者108是否連接至該等剩餘伺服器104b、104c中之一伺服器。如果該預期接受者連接至該等剩餘伺服器104b、104c中之一伺服器,則伺服器104a將該封包轉送至該接受者108所連接至之該伺服器(在此實例中伺服器104b)。伺服器104b接著將該封包傳送至接受者108。
如上所述,在該等節點103a、103b、103c及103d與該註冊處105中之該等伺服器遭配置成叢集。該等叢集通常由多個伺服器構成,該等伺服器之間具有至少一個可得的網路連接。因此,假如在該等伺服器之間的該網路連接可得,該等伺服器可地理分佈遍及該節點的該服務區域。儘管上述討論已描繪了註冊處與節點之間的一區別,但是熟於此技者將明白的是,只是為了描述的清晰才描述該區別,在一給定節點中的伺服器之任一叢集可能為連接或註冊處型叢集。
參考第2圖,說明可在上面討論的第1圖之該系統中使用之一路由安排程序之一例子之一流程圖。這裡該封包102被格式化並被傳送至在一節點103a中之一“連接”伺服器104a。由於在該網路中存在多個節點103a、103b、103c、103d,該接受者108可連接至被包含在一給定節點中伺服器之一叢集中的該等伺服器104a、104b、104c中之任一伺服器。因此,處置該封包的該連接伺服器104a執行一核對201來查看該預期接受者是否本地地連接至處理該封包的該伺服器104a。如果此核對結果為“是”,意味著該封包接受者已被發現且目前連接至處置該處理之該伺服器104a。因此,該伺服器104a繼續進行該封包102之本地傳送202(即在接受者108連接至伺服器104的情況下)。
如果自該核對201返回一“否”,則該連接伺服器104a必須啟動一搜尋程式來決定該預期接受者之位置203。根據此搜尋程序,該連接伺服器104a繼續核對該封包102是否包含“路由安排目的地”203。該路由安排資訊在此實例中是指定在一叢集104a、104b、104c中的該封包應該被轉送至之一給定連接伺服器之一唯一的識別符(這可為,例如該伺服器之該IP位址,但是也可應用其它尋址方案)。因此,該發送客戶端可使用該封包102中之該可取捨的“路由安排目的地”欄位來請求路由安排至一特定連接伺服器,其中該客戶端知道或可推導包含該接受者所連接至之伺服器104a、104b、104c的該節點103a、103b、103c、103d之位置或可能的位置。
如果該封包102包含路由安排資訊,處置該封包102之處理的該連接伺服器104a則將該封包102轉送至在該路由安排資訊中識別的該連接伺服器104a、104b、104c。當該封包受在該相關目的地節點中的該相關連接伺服器處理時,該路由安排資訊接著遭“清除”或刪除204以阻止該封包102沿著一循環中的同一目的地無限地路由安排。
如果該目的接受者未連接至執行該處理的該連接伺服器104a,且如果在該封包102中無指定的路由安排目的地,該連接伺服器104a將該封包102轉送至在註冊伺服器106a、106b、106c之一叢集中的一選定註冊伺服器106a(步驟205)以確定該預期接受者108之位置。取決於執行該處理的該連接伺服器104a來就此決定一適當的註冊伺服器106a、106b、106c,使用任一希望的方案(此適當的註冊伺服器可為最近的註冊伺服器或具有最少負載的註冊伺服器或只是自該已知可得的註冊伺服器隨機選取的註冊伺服器或任何其它方法)。
一旦該封包102到達該註冊伺服器106a,該註冊伺服器1006a則在一或多個資料庫107a、107b、107c中搜尋該接受者的資料(例如該接受者的使用者帳戶等)。該等資料庫107a、107b、107c可與該等連接或註冊伺服器一樣被配置成遍及該網路分佈的叢集,藉此允許接受者資料被保存在該網路中之多於一資料庫中。在此類實例中,所有的註冊伺服器106a、106b、106c遭組配具有所需要的該資訊以決定一給定使用者的資料儲存在哪裡及如何與之連接。處理該封包102的該註冊伺服器106 a使用其組態資訊連接至該適當的資料庫107a、107b、107c(如果早先未連接),並向該資料庫206查詢該預期接受者108之該使用者設定檔資料。
一旦該註冊伺服器106a在該相關資料庫107a、107b、107c中定位該使用者設定檔資料,該註冊伺服器106a則繼續核對是否已知該接受使用者帳戶的最新位置(這裡使用的“位置”如上文所定,這是在該網路中的一給定節點中的一連接伺服器之一唯一識別符)。類似地,“最新位置”這裡指最近為該預期接受者108服務的該連接伺服器104a、104b、104c。在該註冊伺服器106a將該封包102轉送至最後為該預期接受者服務之該最後已知的連接伺服器104a、104b、104c之前,執行一進一步的核對208以判定該封包是否已由一註冊伺服器106a、106b、106c轉送至一連接伺服器104a、104b、104c。如果是,則該封包將不會被再次轉送。
如果一註冊處106a、106b、106c還沒有轉送該封包102,一目前處理該封包的該註冊處106a以表示該封包由目前處理該封包的該註冊伺服器106a轉送之資訊來標記該封包102。該註冊伺服器106a接著轉送209該封包102至該適當的連接伺服器104a、104b、104c。該相關的連接伺服器104a、104b、104c接著如上所述繼續處理該封包。以此方式標記該封包102確保了下一次該封包102通過核對208而不會形成將把該封包在一註冊處與一連接伺服器之間彈跳之無限循環。
如果該註冊伺服器106a無法決定該接受者的位置,則斷定該封包的接受者108在目前時間未連接至任一連接伺服器104a、104b、104c,210。不妨說,該預期接受者108是“離線”。該協定接著判定該封包102屬於哪一類211(即訊息、資訊或存在)。視該封包所屬類型而定,該路由安排程序處置該封包所採用的方式不同。
在被認為“最重要”之“訊息封包”的情況下,該系統將諮詢一組路由安排規則212,並在該封包接著被傳送的方式上作出適當的決策。控制訊息傳送方式之該等路由安排規則212可包括(但不局限於)SMS傳送、電子郵件傳送及/或透過其它可選擇的媒體之傳送。
在“資訊封包”(對應於該XMPP協定中的IQ節)的情況下,發回一“未發現”錯誤封包(一般也稱為404錯誤)至該原始封包之該發送者213。該錯誤封包的傳送接著也將遵循這裡描述的相同的訊息路由安排演算法。如果該原始封包已經是一錯誤封包,將不轉送該錯誤封包(即針對錯誤回覆將不發送錯誤回覆)。這又將阻止一無限循環的發生。
在“存在封包”的情況下,這些封包在該資訊的接受者沒有連接至一叢集的實例中被認為是無關緊要的。這些封包因此遭默默丟棄而不發回任何資訊至該轉送者214。
自上述討論可見,依據本發明之一實施例之該路由安排程序涵蓋一網路系統,該網路系統由以下該等主要元件構成:
‧客戶端101、108
‧連接104a、104b、104c
‧註冊處106a、106b、106c
‧資料庫107a、107b、107c
在第3圖中說明了在這些元件間的該等連接性關係。該路由安排演算法指定下面的該等連接性關係。發端101及接收108客戶端只連接至連接伺服器104a、104b、104c。如所示,一或多個客戶端101、108可連接至一個連接伺服器104a。可在任何給定的時間連接任何數目的客戶,然而,一個客戶端/使用者帳戶一次只可連接至一個連接伺服器104a。可在任何給定時間使任何數目的連接伺服器104a、104b、104c可得。任一連接伺服器可連接至任一註冊伺服器106a、106b、106c。一連接伺服器104a可同時連接至多個註冊處,如果這樣要求。任一註冊伺服器106a、106b、106c可存取任一資料庫107a、107b、107c。一註冊處可同時連接至多個資料庫,如果這樣要求。任一註冊伺服器可連接至任一連接伺服器(供訊息轉送,如上所述)。
上面所使用的“連接”、“註冊處”及“資料庫”是作為該系統的邏輯元件,且它們可能或可能不部署在一單一實體伺服器上或可部署在一系列硬體上。大體上,容量需求將決定該希望的系統之實體佈局。
本發明之該路由安排程序不需要依賴一特定資料庫管理系統或方法。然而,在本發明之一實施例中,該程序可利用下面將詳細描述之資料庫碎片及複製之一結合。
這裡使用一“碎片”(Shard)來指一“資料庫分區”,該“資料庫分區”表示將一大量資料分佈在幾個分離安裝的資料儲存後端上之一方式。一“資料儲存後端”這裡通常用來指運行一RDBMS(關係資料庫管理系統)的一特定伺服器,然而,這未必一定是這樣,且任一儲存資料的方法這裡將是可接受的。
如第4圖所示,在一共享的環境中,一註冊伺服器106a需要始終針對任一給定動作判定正確的資料儲存位置,並在一適當碎片上執行該操作。例如,如果該需要的碎片是碎片“編號2”,則該註冊伺服器106a判定該碎片儲存在資料庫107a中。註冊伺服器106a接著自資料庫107a中擷取該碎片並執行該必要的動作。如果該需要的碎片是碎片“編號1”,及該操作是一讀取操作,該註冊伺服器106a將判定資料庫107b、107c中的任一者包含該相關碎片,然而,如果該需要的碎片是碎片“編號1”,而該操作是一寫入操作(資料的加入或修改),則註冊伺服器106a將選擇資料庫107b(假定該複製是一主從型)。儘管已結合對該等碎片遍及其等分佈之3個分離的資料庫的存取來討論碎片的選擇,但是熟於此技者將明白的是可利用包含多個位置之一單一資料庫。
如上所述,一大資料庫可劃分成多個碎片(或“分區”),針對在該資料庫中的每一記錄,該碎片演算法判定哪一分區擁有該記錄。該碎片演算法可以以各種方式來實施,再一次,該精確的演算法應該受可縮放性需求指定。針對一碎片演算法之一大體指導方針可如下:
‧對於與在該系統中一特定使用者帳戶相關的資料,首先判定該使用者帳戶之該唯一識別符(“使用者id”)。
‧使用一適當的散列函數來計算該用戶id的一散列(“散列”是在運算術語中所使用的一術語,經常用來指一字串之一數字表示,及“散列函數”是決定提供此表示的該特定演算法之一函數)。這給出該使用者id之一數字表示,該使用者id本身可以或可以不是數字的。
‧使用該散列數作為分配該碎片的基礎。如果已知該可得碎片數,則這可透過簡單除法及標記該餘數簡單地獲得。例如:
1.給定具有8個資料庫碎片之一系統,及
2.該散列(使用者id)=84529823
3.擁有此使用者id記錄的該資料庫碎片編號可以是84529823% 8=7(記法”a % b”這裡指執行該除法“a/b”並接著擷取該運算的餘數)
4.在此情況中,該資料庫碎片將為碎片編號7
除了該碎片演算法以外,在該系統中需要另一機制來決定註冊伺服器106a、106b、106c如何到達一給定碎片。針對讀取或寫入操作可組配不同的機制以適應在一主從組態(其中只有一個實體伺服器可被寫入,但針對讀取操作多個伺服器可受存取)中的資料庫複製。
可藉由在註冊伺服器106a中的簡單組態表來實施用來定位碎片的此機制,其中每一碎片索引受組配具有可作為該給定碎片之資料庫節點之伺服器的該等(IP)位址。這些位址可藉由“讀取”及/或“寫入”旗標來標記以使在任何給定時間,給定該資料庫需求,一註冊處將知道連接至哪裡。
要明白的是,上述該等實施例只是作為本發明之範例來提供,及對於熟於相關技藝者而言明顯的進一步修改及改進被認為落入本文所描述之本發明之該廣泛範圍及界限中。
101...發端客戶端
102...封包
103a、103b、103c、103d...節點
104a、104b、104c...連接伺服器
105...註冊處
106a、106b、106c...伺服器、註冊伺服器
107a、107b、107c...資料庫
108...預期接受者、接受者
202~214...步驟
第1圖是說明依據本發明之一實施例之用來路由安排封包之一系統之一示意圖;
第2圖是說明依據本發明之一實施例之該路由安排程序之一流程圖;
第3圖是說明依據本發明之一實施例在該路由安排程序中之該等網路元件間的該等連接性關係之一示意圖;
第4圖是說明依據本發明之一實施例由一註冊伺服器用來定位一資料碎片之該程序之一示意圖。
101...發端客戶端
102...封包
103a、103b、103c、103d...節點
104a、104b、104c...連接伺服器
105...註冊處
106a、106b、106c...伺服器、註冊伺服器
107a、107b、107c...資料庫
108...預期接受者、接受者
Claims (23)
- 一種用來路由安排在通訊網路中的訊息之系統,其包含:多個節點,每個節點包括多個彼此耦接之伺服器,其中當接收由該等多個節點中的一第一節點之該等多個伺服器的一第一伺服器所傳送到一預期接受者、且選自於一訊息封包類別、一資訊封包類別和一存在封包類別中的至少一類別之一封包時,該系統係可操作來作下列動作:當判定該預期接受者係連接至該第一伺服器時,則傳送該封包,當判定該預期接受者未連接至該第一伺服器時,則重新檢視針對一目的地位址之封包,並將該封包轉送至該目的地位址以供傳送,以及當判定該封包在重新檢視之後沒有含有一目的地位址時,則將該封包轉送至一註冊處,其中該註冊處可操作來詢問至少一資料庫以獲得該預期接受者的一使用者設定檔,並基於該使用者設定檔中所含有的資訊將該封包轉送至該預期接受者;其中,若該預期接受者的該使用者設定檔不能夠由該註冊處判定,則該系統可操作來從下述類別中的一者:一訊息封包類別、一資訊封包類別和一存在封包類別,判定該封包的類別, 根據該封包的該類別處理該封包。
- 如請求項1所述之系統,其中該系統係更可操作來判定該預期接受者係連接至該第一節點的多個伺服器中之一伺服器,以及將該封包傳送至該伺服器,在判定該封包是否含有一目的地位址之前,該預期接受者係連接至該第一節點內。
- 如請求項1所述之系統,其中來自該等多個伺服器之該第一伺服器可操作來在將該封包轉送至該目的地位址時,清除該封包中的路由安排資訊。
- 如請求項1所述之系統,其中該註冊處包括彼此互相耦接之多個伺服器。
- 如請求項1所述之系統,其中各個節點之該等多個伺服器係橫跨各個節點的服務區域之數個地理位置分佈。
- 如請求項1所述之系統,其中該使用者設定檔含有關於在該通訊網路內之該預期接受者的最後知悉位置之資訊,以及該封包係被轉送至該預期接受者的該最後知悉位置。
- 如請求項1所述之系統,其中該系統係可操作來響應於該註冊處沒有獲得該預期接受者的使用者設定檔,根據針對各個類別設定之一預定規則處理每個封包。
- 如請求項7所述之系統,其中該系統係可操作來經由在該使用者設定檔中所指定的一替換媒體,將該等訊息封包轉送到該預期接受者。
- 如請求項8所述之系統,其中該替換媒體係一短訊息服 務(SMS)。
- 如請求項7所述之系統,其中該系統係可操作來針對被指派為該資訊封包類別的封包,發送一錯誤訊息給該封包的一來源。
- 如請求項7所述之系統,其中該系統係可操作來放棄被指派為該存在封包類別的封包。
- 如請求項1所述之系統,其中該封包係經由XMPP協定通訊,該等訊息封包、資訊封包或存在封包係分別與<message>、<iq>和<presence>節相關聯。
- 一種用來路由安排在具有多個節點的通訊系統中的訊息之方法,各個節點包括多個彼此耦接之伺服器,該方法包含以下步驟:在多個節點中的一第一伺服器為一預期接受者接收一封包,該封包選自於一訊息封包類別、一資訊封包類別和一存在封包類別中的至少一類別;判定該預期接受者是否連接至該第一伺服器,及如果該預期接受者連接至該第一伺服器,則傳送該封包至該預期接受者;當判定該預期接受者沒有連接至該第一伺服器時,判定該封包是否含有一目的地位址,並將該封包轉送到用以傳送該目的地位址;以及響應於判定該封包未含有一目的地位置,將該封包轉送到一註冊處,該註冊處係組配來詢問至少一資料庫以獲得該預期接受者的使用者設定檔,並基於該使用者 設定檔中所含有的資訊將該封包轉送至該預期接受者;其中,若該預期接受者的該使用者設定檔不能夠由該註冊處判定,則該系統可操作來從下述類別中的一者:一訊息封包類別、一資訊封包類別和一存在封包類別,判定該封包的類別,根據該封包的該類別處理該封包。
- 如請求項13所述之方法,其更包含在將該封包轉送至該目的地位址時,清除該封包內之該目的地位址。
- 如請求項13所述之方法,其中由該註冊處將該封包轉送至該預期接受者之步驟係根據有關於在該預期接受者的使用者設定檔中所內含之該通訊網路內之該預期接受者的最後知悉位置之資訊。
- 如請求項13所述之方法,其更包含響應於該註冊處沒有獲得該預期接受者的使用者設定檔,根據針對各個類別設定之一預定規則處理每個封包類別。
- 如請求項16所述之方法,其更包含經由在該使用者設定檔中所指定的一替換媒體,將被指派為該訊息封包類別的一封包轉送到該預期接受者。
- 如請求項17所述之方法,其中該替換媒體係一短訊息服務(SMS)。
- 如請求項17所述之方法,其更包含針對被指派為該資訊封包類別的封包,發送一錯誤訊息給該封包的一來源。
- 如請求項17所述之方法,其更包含放棄被指派為該存在 封包類別的封包。
- 如請求項13所述之方法,其中該封包係經由XMPP協定通訊,該等訊息封包、資訊封包或存在封包係分別與<message>、<iq>和<presence>節相關聯。
- 一種用來路由安排在通訊網路中的訊息之系統,其包含:多個節點,每個節點包括多個彼此耦接之伺服器,其中當接收由該等多個節點中的一第一節點之該等多個伺服器的一第一伺服器所傳送到一預期接受者時,該系統係可操作來作下列動作:當判定該預期接受者係連接至該第一伺服器時,則傳送該封包,當判定該預期接受者未連接至該第一伺服器時,則重新檢視針對一目的地位址之封包,並將該封包轉送至該目的地位址以供傳送,當判定該封包在重新檢視之後沒有含有一目的地位址時,則將該封包轉送至一註冊處,其中該註冊處可操作來詢問至少一資料庫以獲得該預期接受者的一使用者設定檔,並基於該使用者設定檔中所含有的資訊將該封包轉送至該預期接受者;其中當基於該使用者設定檔成功地獲得該使預期接受者的位置時,該系統係可操作來進一步判定該封包稍早是否有已經被路由安排通過該註冊處,且若沒有的話,將資訊附加於該封包,該封包表示 出該封包曾由目前處理該封包的該註冊處所轉送。
- 一種用來路由安排在具有多個節點的通訊系統中的訊息之方法,各個節點包括多個彼此耦接之伺服器,該方法包含以下步驟:在多個節點中的一第一伺服器為一預期接受者接收一封包;判定該預期接受者是否連接至該第一伺服器,及如果該預期接受者連接至該第一伺服器,則傳送該封包至該預期接受者;當判定該預期接受者沒有連接至該第一伺服器時,判定該封包是否含有一目的地位址,並將該封包轉送到用以傳送該目的地位址;以及響應於判定該封包未含有一目的地位置,將該封包轉送到一註冊處,該註冊處係組配來詢問至少一資料庫以獲得該預期接受者的使用者設定檔,並基於該使用者設定檔中所含有的資訊將該封包轉送至該預期接受者;其中當基於該使用者設定檔成功地獲得該使預期接受者的位置時,該系統係可操作來進一步判定該封包稍早是否有已經被路由安排通過該註冊處,且若沒有的話,將資訊附加於該封包,該封包表示出該封包曾由目前處理該封包的該註冊處所轉送。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG200805997-4A SG159399A1 (en) | 2008-08-13 | 2008-08-13 | Message routing platform |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201025943A TW201025943A (en) | 2010-07-01 |
TWI466502B true TWI466502B (zh) | 2014-12-21 |
Family
ID=41669090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098127099A TWI466502B (zh) | 2008-08-13 | 2009-08-12 | 訊息傳送路由安排平臺 |
Country Status (18)
Country | Link |
---|---|
US (1) | US8798001B2 (zh) |
EP (1) | EP2316205B1 (zh) |
JP (1) | JP5441041B2 (zh) |
KR (1) | KR101384794B1 (zh) |
CN (1) | CN102124702B (zh) |
AU (1) | AU2009282526B2 (zh) |
CA (1) | CA2734048C (zh) |
CO (1) | CO6351836A2 (zh) |
ES (1) | ES2567272T3 (zh) |
HK (1) | HK1157966A1 (zh) |
MX (1) | MX2011001608A (zh) |
MY (1) | MY161672A (zh) |
RU (1) | RU2483457C2 (zh) |
SG (1) | SG159399A1 (zh) |
TW (1) | TWI466502B (zh) |
UA (1) | UA100582C2 (zh) |
WO (1) | WO2010019105A1 (zh) |
ZA (1) | ZA201100748B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110252083A1 (en) * | 2010-04-13 | 2011-10-13 | Rebelvox, Llc | Apparatus and method for transmitting media using either network efficient protocol or a loss tolerant transmission protocol |
US8924472B1 (en) * | 2011-08-20 | 2014-12-30 | Datastax, Inc. | Embedding application services in a distributed datastore |
US10354310B2 (en) * | 2013-05-10 | 2019-07-16 | Dell Products L.P. | Mobile application enabling product discovery and obtaining feedback from network |
US10523619B2 (en) | 2013-12-20 | 2019-12-31 | Rovio Entertainment Ltd. | Stateless message routing |
EP2887589A1 (en) * | 2013-12-20 | 2015-06-24 | Rovio Entertainment Ltd | Stateless message routing |
US9560315B1 (en) * | 2015-12-07 | 2017-01-31 | Dell Software, Inc. | Reducing videoconferencing bandwidth usage |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040062267A1 (en) * | 2002-03-06 | 2004-04-01 | Minami John Shigeto | Gigabit Ethernet adapter supporting the iSCSI and IPSEC protocols |
US20070180123A1 (en) * | 2006-01-27 | 2007-08-02 | Bennett James D | Multi user client terminals operable to support network communications |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006272A (en) * | 1998-02-23 | 1999-12-21 | Lucent Technologies Inc. | Method for network address translation |
US6452915B1 (en) * | 1998-07-10 | 2002-09-17 | Malibu Networks, Inc. | IP-flow classification in a wireless point to multi-point (PTMP) transmission system |
US8085813B2 (en) | 1999-10-28 | 2011-12-27 | Lightwaves Systems, Inc. | Method for routing data packets using an IP address based on geo position |
US7102996B1 (en) * | 2001-05-24 | 2006-09-05 | F5 Networks, Inc. | Method and system for scaling network traffic managers |
JP3664388B2 (ja) * | 2001-11-22 | 2005-06-22 | エヌイーシーシステムテクノロジー株式会社 | 双方向通信システムおよび方法 |
EP1324560B1 (en) * | 2001-12-28 | 2008-01-16 | Motorola, Inc. | Communication over a selected part of a network |
US7050416B2 (en) * | 2002-05-14 | 2006-05-23 | Thomson Licensing | Technique for IP communication among wireless devices |
JP2003333178A (ja) * | 2002-05-15 | 2003-11-21 | Takeshi Aoki | 一般電話機によるインターネット電話システム |
US7313128B2 (en) * | 2003-01-09 | 2007-12-25 | Siemens Aktiengesellschaft | Method and mobile radio communication network for the transmission of packet data |
KR20040070557A (ko) * | 2003-02-04 | 2004-08-11 | 주식회사 케이티프리텔 | 이동통신 시스템에서 메시지 전송 방법 및 장치 |
JP2005080176A (ja) * | 2003-09-03 | 2005-03-24 | Uniden Corp | ゲートウェイ装置及びその制御方法 |
CN100454882C (zh) * | 2003-12-19 | 2009-01-21 | 华为技术有限公司 | 多isp局域网的出口选择方法及装置 |
US7181217B2 (en) * | 2004-08-30 | 2007-02-20 | Talara Systems, Inc. | Mobile services control platform providing a message forwarding service |
US7426389B2 (en) * | 2004-10-15 | 2008-09-16 | Utstarcom, Inc. | Method and apparatus for implementing direct routing |
US7711362B2 (en) * | 2005-03-29 | 2010-05-04 | Research In Motion Limited | System and method for personal identification number messaging |
US7496678B2 (en) * | 2005-05-11 | 2009-02-24 | Netapp, Inc. | Method and system for unified caching of media content |
US7567553B2 (en) * | 2005-06-10 | 2009-07-28 | Swift Creek Systems, Llc | Method, system, and data structure for providing a general request/response messaging protocol using a presence protocol |
KR100727069B1 (ko) * | 2005-10-27 | 2007-06-12 | 주식회사 케이티프리텔 | Sip 기반의 무선 패킷 교환망 시스템에서의 타망 연동방법 및 그 시스템 |
US7996467B2 (en) * | 2006-08-29 | 2011-08-09 | Oracle International Corporation | Techniques for applying policies for real time collaboration |
GB0623621D0 (en) * | 2006-11-27 | 2007-01-03 | Skype Ltd | Communication system |
US8782274B2 (en) * | 2007-10-19 | 2014-07-15 | Voxer Ip Llc | Method and system for progressively transmitting a voice message from sender to recipients across a distributed services communication network |
EP2258128B1 (en) * | 2008-03-07 | 2017-01-11 | Tekelec Global, Inc. | Methods, systems, and computer readable media for routing a message service message through a communications network |
US8149840B2 (en) * | 2008-06-02 | 2012-04-03 | Huawei Technologies Co., Ltd. | Method, system and processor for processing network address translation service |
-
2008
- 2008-08-13 SG SG200805997-4A patent/SG159399A1/en unknown
-
2009
- 2009-07-29 WO PCT/SG2009/000266 patent/WO2010019105A1/en active Application Filing
- 2009-07-29 MX MX2011001608A patent/MX2011001608A/es active IP Right Grant
- 2009-07-29 AU AU2009282526A patent/AU2009282526B2/en not_active Ceased
- 2009-07-29 JP JP2011522941A patent/JP5441041B2/ja not_active Expired - Fee Related
- 2009-07-29 KR KR1020117005128A patent/KR101384794B1/ko not_active IP Right Cessation
- 2009-07-29 RU RU2011104073/08A patent/RU2483457C2/ru not_active IP Right Cessation
- 2009-07-29 UA UAA201102783A patent/UA100582C2/uk unknown
- 2009-07-29 US US13/055,824 patent/US8798001B2/en active Active
- 2009-07-29 ES ES09806926.3T patent/ES2567272T3/es active Active
- 2009-07-29 CN CN200980131547.2A patent/CN102124702B/zh not_active Expired - Fee Related
- 2009-07-29 CA CA2734048A patent/CA2734048C/en active Active
- 2009-07-29 MY MYPI2011000488A patent/MY161672A/en unknown
- 2009-07-29 EP EP09806926.3A patent/EP2316205B1/en not_active Not-in-force
- 2009-08-12 TW TW098127099A patent/TWI466502B/zh not_active IP Right Cessation
-
2011
- 2011-01-28 ZA ZA2011/00748A patent/ZA201100748B/en unknown
- 2011-02-28 CO CO11024141A patent/CO6351836A2/es active IP Right Grant
- 2011-11-09 HK HK11112085.8A patent/HK1157966A1/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040062267A1 (en) * | 2002-03-06 | 2004-04-01 | Minami John Shigeto | Gigabit Ethernet adapter supporting the iSCSI and IPSEC protocols |
US20070180123A1 (en) * | 2006-01-27 | 2007-08-02 | Bennett James D | Multi user client terminals operable to support network communications |
Also Published As
Publication number | Publication date |
---|---|
CA2734048C (en) | 2015-10-13 |
CN102124702A (zh) | 2011-07-13 |
RU2011104073A (ru) | 2012-09-20 |
CO6351836A2 (es) | 2011-12-20 |
EP2316205A4 (en) | 2013-09-11 |
WO2010019105A1 (en) | 2010-02-18 |
CN102124702B (zh) | 2014-04-09 |
EP2316205B1 (en) | 2016-01-06 |
SG159399A1 (en) | 2010-03-30 |
EP2316205A1 (en) | 2011-05-04 |
ES2567272T3 (es) | 2016-04-21 |
ZA201100748B (en) | 2012-05-01 |
MY161672A (en) | 2017-05-15 |
TW201025943A (en) | 2010-07-01 |
CA2734048A1 (en) | 2010-02-18 |
JP2011530953A (ja) | 2011-12-22 |
US8798001B2 (en) | 2014-08-05 |
KR101384794B1 (ko) | 2014-04-24 |
MX2011001608A (es) | 2011-04-07 |
HK1157966A1 (zh) | 2012-07-06 |
AU2009282526A1 (en) | 2010-02-18 |
JP5441041B2 (ja) | 2014-03-12 |
AU2009282526B2 (en) | 2014-08-14 |
US20120002601A1 (en) | 2012-01-05 |
KR20110044273A (ko) | 2011-04-28 |
UA100582C2 (uk) | 2013-01-10 |
RU2483457C2 (ru) | 2013-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7376749B2 (en) | Heuristics-based peer to peer message routing | |
KR101337039B1 (ko) | 통신 네트워크 내의 패킷을 라우팅하는 방법 및 통신 네트워크 내의 패킷을 라우팅하기 위한 네트워크 노드 | |
EP2719133B1 (en) | A generalized dual-mode data forwarding plane for information-centric network | |
TWI466502B (zh) | 訊息傳送路由安排平臺 | |
CN110149274B (zh) | 基于位置信息和内容推送的命名数据网络综合路由方法 | |
EP2560321B1 (en) | Ethernet multicast method and device | |
US20160087881A1 (en) | Method, apparatus, and system for routing and forwarding | |
KR20170037818A (ko) | 작은 다중 경로 또는 단일 경로 포워딩 상태를 이용한 정보 중심 네트워킹 | |
WO2011150830A1 (zh) | 获取内容的方法、节点及内容网络 | |
CN105519053A (zh) | 用于信息中心网络的动态兴趣转发机制 | |
WO2010022767A1 (en) | Packet forwarding in a network | |
WO2009039796A1 (fr) | Procédé, système et dispositif d'acheminement de messages et procédé et système de sélection de ressource de sauvegarde | |
JP2013502860A (ja) | ネームアドレスマッピングシステム、データ伝送方法及びネームアドレスマッピングメンテナンス方法 | |
Ascigil et al. | Opportunistic off-path content discovery in information-centric networks | |
WO2014161460A1 (zh) | 会话方法、网络节点、服务器、系统和计算机存储介质 | |
Sourlas et al. | Enhancing information resilience in disruptive information-centric networks | |
JP2005244880A (ja) | 情報転送装置、情報転送システム及び情報転送方法 | |
CN114650296B (zh) | 一种信息中心网络副本选择方法 | |
JP2011035686A (ja) | 経路情報管理システム、経路情報管理方法、およびプログラム | |
JP2018049473A (ja) | コンテンツ配信システムのサーバ装置、転送装置及びプログラム | |
CN114490758A (zh) | 一种基于改进dbscan聚类的ccn路由转发方法 | |
CN117499483A (zh) | 一种基于缓存的星上网络大数据转发方法 | |
Nguyen et al. | A Proposed Architecture for the Realization and Management of an Information-Centric Network | |
JP2008011331A (ja) | データ管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |