TW201023565A - Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port - Google Patents

Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port Download PDF

Info

Publication number
TW201023565A
TW201023565A TW098133653A TW98133653A TW201023565A TW 201023565 A TW201023565 A TW 201023565A TW 098133653 A TW098133653 A TW 098133653A TW 98133653 A TW98133653 A TW 98133653A TW 201023565 A TW201023565 A TW 201023565A
Authority
TW
Taiwan
Prior art keywords
sip
socket
load balancing
multimedia
inbound
Prior art date
Application number
TW098133653A
Other languages
English (en)
Other versions
TWI419518B (zh
Inventor
Kirill Tsym
Original Assignee
Polycom Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Polycom Inc filed Critical Polycom Inc
Publication of TW201023565A publication Critical patent/TW201023565A/zh
Application granted granted Critical
Publication of TWI419518B publication Critical patent/TWI419518B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1106Call signalling protocols; H.323 and related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)

Description

201023565 六、發明說明: 【發明所屬之技術領域】 本申請案主張對Kirill Tsym於200 8年11月25日提出申請 之標題為「Method and System for Dispatching Received Sessions Between a Plurality of Instances of an Application Using the Same IP Port」之美國臨時專利申請案第 61/117619號之優先權,該案全文以引用方式併入本文 中 〇 φ 本發明之標的物係關於在相同IP主機上運行且同時經由 網際網路通信之多個應用程式之領域,且更具體而言係關 於對使得相同應用程式之多個執行個體能夠同時在相同IP 埠上收聽之系統及方法之需要。 【先前技術】 隨著網路訊務繼續其快速增長且越來越多的研發者引入 網路產品及解決方案,故使用一預定義之眾所周知網路埠-之應用程式(處理程序)之數量日益增加。此等應用程式中 • 之一些應用程式需要在一單個眾所周知之預定義傳輸控制 協定(TCP)及/或傳送層安全(TLS)及/或使用者資料報協定 • (UDP)埠號碼(舉例而言)上收聽。通話起始協定(SIP)及 H.323協定係需要在此一眾所周知之TCP或UDP埠號碼上收 聽之此等應用程式(處理程序)之實例。H.323協定應用程式 在TCP埠號碼1720上收聽,而SIP應用程式可收聽TCP或 UDP埠號碼5060,或針對基於TLS/TCP傳送協定之經加密 視訊及/或聲訊會議通話經由埠5061收聽(舉例而言)。在視 143443.doc 201023565 訊會議網路之一常見架構中,SIP用戶端經由一SIP代理連 接至一多點控制單元(MCU)。可由一管理者組態SIP代理 與MCU之間的傳送協定。存在一些其中在代理與MCU之 間可使用一個以上傳送協定之情形。 若不同類型之網路裝置具有一應用程式(處理程序)之兩 個或兩個以上執行個體同時使用相同特定埠號碼運行之能 力,則該等網路裝置可能夠達成更佳之可縮放性、穩健性 及負載平衡。此一網路裝置之一實例係一 MCU。一 MCU 係位於一網路之一節點或一終端機中之一會議控制實體。 根據某些準則,一 MCU接收並處理來自接入埠之多個媒 體、發訊及控制頻道且將其等分佈至連接之頻道。MCU之 實例包括MGC-100及RMX 2000(Polycom公司)。MCU可由 兩個邏輯單元組成:一媒體控制器(MC)及一媒體處理器 (MP)。在諸如(但不限於)H.320、H.324及H.323標準等國 際電信聯盟(「ITU」)標準中可找到一端點(終端機)及一 MCU之一更透徹定義。需要MCU同時處置多個使用者(用 戶端)之間的多個通話。因此,MCU可需要針對不同通話 同時使用相同應用程式(舉例而言,H.323)之一個以上執行 個體。遺憾的係,作業系統(OS)具有一埠收聽限制,在於 僅一單個應用程式/應用程式執行個體(處理程序)可在相同 IP主機上之一特定埠號碼上收聽。在本發明中,術語應用 程式(application)、應用程式(application program)及處理 程序(process)可互換使用。 H.323係一國際電信聯盟(ITU)標準,其向電腦、裝備及 143443.doc 201023565 服務提供用於經由基於封包之網路之多媒體通信之規範, 該規範定義如何傳輸即時聲訊、視訊及資料資訊β H.323 通常用於VoIP、網際網路電話及基於IP之視訊會議中。使 用者可經由網際網路與其他使用者連接且使用支援H.323 之不同產品《此標準包括網際網路工程任務組(IEtf)即時 協定(RTP)及即時控制協定(RTCP),其中額外協定用於呼 叫發訊以及資料及視聽通信。 IETF SIP係一應用層控制協定,用於網際網路電話之一 發訊協定。SIP可針對諸如欲經由IP網路部署之聲訊/視訊 會議、互動遊戲及呼叫轉接等特徵建立通話,從而使得服 務提供商能夠將基本IP電話服務與網路網際、電子郵件及 聊天服務整合在一起。除使用者鑑定、重定向及登記服務 之外’ SIP伺服器基於被呼叫之個人之地理位置亦支援諸 如個人行動性、路由及呼叫轉接等傳統電話特徵。 存在提供一應用程式在多個埠上收聽傳入呼叫之能力之 技術。但此一系統需要在作業系統(〇s)中添加傳送組件及 網路組件(不總係可行的)。此系統亦可需要預定義一使用 者(用戶端)為連接至彼應用程式將需要傳輸之串。不知曉 該所預定義之串之一使用者(用戶端)將不能夠參考且連接 至此一應用程式。此外,此系統將不能夠使得相同應用程 式之夕個執行個體在相同埠上收聽。其他技術提供分配連 接服務(多個不同應用程式執行個體)以在一單個靜態埠上 收聽之能力。彼等方法需要預定義針對每一應用程式/執 行個體之唯一 ID且將此等唯一 ID通知給用戶端,否則該等 143443.doc 201023565 用戶端將不被伺服。在本發明中,術語使用者及用戶端可 互換使用。 因此,此項技術中需要將使得多個應用程式執行個體能 夠同時使用相同收聽埠運作之一方法及一系統。期望此一 方法及系統將不需要將一預定義唯一 ID或特殊串通知給欲 伺服之用戶端。亦期望將不需要OS級之改變。 【發明内容】 使用所揭示之使得多個應用執行個體能夠使用一負載平 衡方案同時使用相同收聽埠之方法及設備/系統可滿足上 述需要。該方法及設備不需要作業系統之任何改變。 稱作負載平衡器模組(LBM)之一邏輯模組收聽某一共同 預定義埠號碼。埠號碼1720係用於接收基於H.323協定之 通信之一眾所周知之皡(舉例而言)。一實例性H. 323 LB Μ 可經組態以收聽埠號碼1720以用於接收所有Η.323執行個 體(任務)之Η.323連接請求。另一實例性LBM可經組態以針 對基於SIP協定(SIP LBM)之通信收聽眾所周知之埠號碼 5060及/或5061。H.323通信係基於TCP,而SIP通信可基於 TCP、TLS/TCP或UDP。在視訊會議網路之一實例性架構 中,SIP用戶端可經由一 SIP代理連接至一 MCU,從而實施 如本文所揭示之實例性技術。SIP代理與MCU之間的傳送 協定可由一管理者(舉例而言)組態。在某些情形中,在代 理與MCU之間可使用一個以上傳送協定。 H.323 LBM連接至一 H.323堆疊之多個執行個體(任務)。 SIP LBM連接至SIP堆疊之多個執行個體(任務)。在一個實 143443.doc 201023565 施例中,每一 LBM與其相關聯執行個體之間的内部連接可 經由一連接,該連接由LBM使用一檔案描述符轉移機制 (諸如但不限於Unix域套接字)設定(舉例而言)。在其他實 施例中,LBM與執行個體之間的連接可經由一共用記憶體 . (舉例而言)。可在通電時建立不同執行個體(諸如但不限於 SIP及H.3 23)與LBM之間的連接(舉例而言)。 一實例性LBM可請求收聽相關埠。作為回應,OS界定 一收聽套接字。一旦經由該相關埠(諸如埠1720)接收到對 φ 新TCP連接之一請求,則作業系統(OS)將該請求轉移至 H.323 LBM。因此僅H.323 LBM接收該H.3 23連接請求。作 為接受該新TCP連接之回應,由OS選擇欲與新接收之TCP 連接相關聯之一隨機選擇之套接字號碼。新套接字被轉移 至H.323 LBM。接下來,H.323 LBM可定位一可用H.323執 行個體(任務)以處置該呼叫。 用於每一 H.323執行個體之一主動-呼叫計數器可協助 H.323 LBM決定將該呼叫轉移至哪個H.323執行個體。該 ^ 主動-呼叫計數器可係對特定H.323執行個體正處置之主動 呼叫量進行計數之一計數器。每當已終止一主動呼叫或已 ' 接收針對彼特定執行個體之一新呼叫,更新該主動-呼叫 計數器。H.323 LBM可根據具有最小主動呼叫計數器值之 H.323執行個體決定轉移新連接請求(舉例而言)。在一些實 施例中,若無應用程式之執行個體(任務)可用,則LBM可 起始^一個。 H.323 LBM可使用一描述符共用機制(諸如但不限於 143443.doc 201023565 UNIX域套接字)轉發相關聯之套接字號碼其中標頭指示 一套接子被轉移。作為回應,選定執行個體將經由用於接 收及發送資料之相同IP埠接收用於處置呼叫之一新套接字 號碼。根據其中使用外掛矽作業系統(pS〇s)(piug in
Silicon Operating System)之另一實例性實施例,可將一共 用套接字系統呼叫「shr—s〇cket」用作套接字共用機制。 另外,可使用其他方法來使兩個或兩個以上應用程式共用 相同描述符。 繁於附圖及詳細說明,本發明之此等及其他態樣將係顯 易見的别述摘要並不意欲總結本發明之每一潛在實施 例或每個態樣,但在參照附圖及隨附申請專利範圍閱讀以 下對實施例之詳細說明之後本發明之其他特徵及優點將變 得顯而易見。 此外,儘管詳細闡述具體實例性實施例以向熟習此項技 術者圖解說明發明概念,但易於得出此等實施例之各種修 改及替代形式。因此,圖式及文字說明並不意欲以任何方 式限定本發明概念之範_。 【實施方式】 現翻至其中相同編號在所有若干視圖中表示相同元件之 圖式,闡述所揭示方法、系統及設備之實例性實施例、態 似特徵。為方便起見,可能僅藉由編號標記相同群組之 -些7L件。圖式之目的係、闡述實例性實施例而非進行限 制。在計時圖中,不同事件之間的計時間隔未必按比例示 出。 143443.doc 201023565 圖1係圖解說明一實例性多點控制單元(MCU) 100之一部 分之一簡化方塊圖。MCU 100之所闡述部分包含且闡述一 MCU之可處置基於H.323或SIP之控制及發訊之相關元件。 未闡述一常見MCU之其他部分,諸如媒體(聲訊、視訊、 . 資料)處理等部分(舉例而言)。除其他元件之外,MCU 100 可包括:一個或多個插頭110、一個或多個網路介面卡115 及一作業系統120。在MCU 100之應用層處,MCU 100可 包括:一 H.323負載平衡器模組(LBM)130、多個H.323執行 參 個體140a-c、一 SIP負載平衡器模組(LBM)150、及多個SIP 執行個體160a-c。熟習此項技術者應瞭解取決於其組態及 系統之需要,每一MCU可每一協定具有多個而非3個執行 個體。然而,出於簡單理解之目的,顯示每一協定3個執 行個體。 MCU 100可係在IP網路上工作之一網路裝置/應用伺服 器。MCU 100僅係可實施本說明之教示之諸多不同網路裝 置/應用伺服器中之一者。 w 插頭110經由一適當鏈路將MCU 100連接至基於以太網 路(舉例而言)之一 LAN(區域網路)。網路介面卡115處理 ' OSI(開放系統互連)之通信實體層及資料鏈路層。除其他 - 功能之外,作業系統(〇S)120根據適當協定(IP協定、 TCP、UDP等)處理通信之網路層及傳送層。 OS 120可包括一網路模組121、一 TCP傳送模組122a及 一UDP傳送模組122b。除其他物件之外,網路模組121可 包括一 IP網路堆疊(舉例而言)。網路模組121自NIC 115接 143443.doc -11 - 201023565 收其通信且處理OSI之網路層。網路模組121剖析封包之IP 標頭。除其他之外,IP標頭可包括目的IP位址、目的埠號 碼、源IP位址、源埠號碼及傳送協定之類型。OS 120根據 以上4個參數(目的IP位址、目的埠號碼、源IP位址及源埠 號碼)隨機界定用於所接收之通信之一套接字號碼127a-c及/ 或129。根據標頭中所提及之協定(舉例而言,TCP或 UDP),網路模組121可將通信轉移至TCP傳送模組122a或 轉移至UDP傳送模組122b。經由埠1720,轉移H.323呼叫 請求之TCP通信。經由埠5060,轉移SIP通話之未經加密之 參 UDP通信或TCP通信。經由埠5061 ,轉移SIP通話之經加密 TLS通信。針對SIP通話所使用之傳送協定可不同且可由一 管理者週期性地組態。在一些情形中,僅UDP與一埠號碼 5060 —同使用。在其他情形中,TCP與埠5060或與用於 TLS經加密通話之埠5061 —同使用。然而在替代實施例 中,可使用所有三個選擇。 TCP傳送模組122a處理OSI之傳送層級且除其他物件之 外可包含一 TCP傳送堆疊。TCP傳送模組122a處理來自埠 © 1720、5060及5061之通信。TCP傳送模組122a可根據自其 接收資料之收聽埠及所使用之傳送協定將對通信之請求轉 移至一 H.323收聽套接字126或轉移至一 SIP收聽套接字 128a或128b或128c(舉例而言)。 UDP傳送模組122b處理OSI之傳送層級且除其他元件之 外可包含一 UDP傳送堆疊。UDP傳送模組122b處理自埠 5060接收之通信且可將對通信之請求轉移至一收聽套接字 143443.doc -12- 201023565 128c。下文揭示關於OS 120之作業之更多資訊。 MCU 100應用層可包含兩個負載平衡器模組-H.323 LBM 130及SIP LBM 150。每一負載平衡器包括一 API(應用程式 化介面)138或158,以分別與H.323執行個體140a-c或與SIP 執行個體160a-e通信。可添加、刪除、清除實例性API命 令等。在起始時,每一 LBM可自OS 120請求一收聽套接 字。針對埠1720上之TCP通信,H.323 LBM 130可與一收 聽套接字126相關聯。SIP LBM 150可與三個收聽套接字 # 128a-c相關聯,收聽套接字128a用於經由埠5061接收之經 加密TLS/TCP通信,收聽套接字128b用於經由埠5060接收 之未經加密之TCP通信,且收聽套接字128c用於經由埠 5060接收之未經加密之UDP通信。可由一管理者組態SIP 代理與MCU 100之間的傳送協定。存在一些其中可在代理 與MCU 100之間的連接上使用一個以上傳送協定之情形。 在另一實例中,可使用三個LBM : —個用於H.323,一 個用於未經加密之SIP,且一個用於基於TLS協定之經加密 ® SIP。再或者,可使用一單個LBM來處置三種類型之通信 (經由埠5060接收之TCP通信、經由埠5060接收之未經加密 之UDP通信及TCP通信以及經由埠5061接收之基於 TLS/TCP之經加密通信)。
每一 SIP呼叫與一呼叫-ID相關聯。該呼叫-ID(CID)表示 與一特定SIP用戶端之一特定SIP呼叫。因此,SIP LBM 150可包括一剖析器152,其部分地剖析所接收之通信以確 定CID且將該CID轉移至處置與彼用戶端之通信之適當SIP 143443.doc •13· 201023565 執行個體160a-c。SIP LBM 150亦可包括一解密器與TLS堆 疊154以解密經由埠5061自TCP傳送模組122a接收之TLS通 信以能夠剖析通信並確定CID。 可創建及終止多個套接字127a-c及/或129aa-cc以分別啟 用不同H.323執行個體140a-c或SIP執行個體160a-c與H_323 用戶端或SIP用戶端之間的通信。如上文所提及,OS 120 根據4個參數(目的IP位址、目的埠號碼、源IP位址及源埠 號碼)隨機界定用於通信之套接字號碼127a-c及/或129aa-cc。用於SIP執行個體之套接字號碼129aa-cc表示收聽套接 字128a-c及執行個體160a-c。第一個字母表示收聽套接字 128a-c且第二個字母表示執行個體號碼160a-c。因此,一 實例性套接字129bc表示收聽套接字128b及SIP執行個體 160c(舉例而言)。因此存在其中SIP執行個體160a-c所使用 之套接字之數量係收聽套接字之數量(依據傳送協定及埠) 與SIP執行個體之數量之乘積之組態。在圖1之實例中,其 可係9個套接字。 然而,在另一實例性實施例中,MCU 100與SIP代理之 間可使用傳送協定之其他組合。一些實施例可僅使用 TLS/TCP(舉例而言)。在此一實施例中,MCU 100可包含 一個傳送協定模組、TCP傳送模組122a、一個收聽套接字 128a及三個執行個體之套接字129aa、129ab & 129ac(舉例 而言)。 在MCU 100應用層處,以套接字號碼更新兩個套接字 表。與H.323通信相關聯之一 H.323套接字表135及與SIP通 143443.doc -14· 201023565 信相關聯之一 SIP呼叫-ID(CID)表153。Η·323套接字表135 由 Η.323 LBM 130 管理。SIP CID 表 156 由 SIP LBM 150 管 理。H.323套接字表135中之每一條目包括與一H.323通話 相關之資訊,諸如但不限於一條目ID、經指配以處置該通 話之一相關聯套接字號碼127a-c及一相關聯H.323執行個 體140a-c。SIP CID表153中之每一條目包含與一 SIP通話相 關之資訊,諸如但不限於SIP通話之CID、經指配以處置該 通話之一相關聯SIP執行個體160a-c及自其接收呼叫之收 • 聽套接字128a-c等。由適當LBM創建並管理該等表且由相 關LBM使用該等表以將呼叫路由至適當執行個體。 每一 LBM、H_323 LBM 130及 SIP LBM 150可包括多個 主動-呼叫計數器。H.323 LBM 130可包括用於每一H.323 執行個體140a-c之主動-呼叫計數器。主動-呼叫計數器針 對用於特定H.323執行個體140a-c之每一新傳入呼叫遞增1 及針對在特定H.323執行個體140a-c處終止之每一主動呼 叫遞減1。SIP LBM 150可包括用於每一 SIP執行個體160a-c之一主動-呼叫計數器,其以類似於用於SIP執行個體 160a-c之H.323主動-呼叫計數器之方式運作。根據每一主 動呼叫計數器之值,可平衡執行個體上之通信負載。 一實例性H.323執行個體140a-c可包含一H.323堆疊,其 用於處置與已與相關執行個體相關聯之多個與會者之 H.323發訊及控制通信。另外,每一 H.323執行個體140a-e 可包括用於與H_323 LBM 130通信之一 API模組142。一實 例性SIP執行個體160a-c可包含一 SIP堆疊及一 API模組 143443.doc •15- 201023565 162。該SIP堆疊處置與已與相關執行個體相關聯之多個與 會者之SIP發訊及控制通信。API模組162可與SIP LBM 150 通信。在其中基於TLS/TCP加密通信之SIP執行個體160a-c 之實例性實施例中,實例性SIP執行個體160a-c可包括一 TLS加密器模組。該TLS加密器可用於在朝向相關與會者 發送SIP發訊及控制資料之前對其進行加密。 圈2a&圈2b係圖解說明經由TCP之一 H.323呼叫處置之一 實例性流程中之相關事件之一時間圖。為方便並清楚地表 達,僅圖解說明具有少數事件之一單個呼叫。然而,熟習 ❽ 此項技術者將瞭解可以一類似方式處置具有多個事件之多 個呼叫。在起始T0至TOc期間,H.323 LBM 130(圖1)經由 Unix域套接字(UDS)建立與H.323執行個體140a-c中之每一 者之連接。該等新連接可用於攜載在API模組138與每一執 行個體處之API模組142(圖1)之間轉移之API命令。其他實 例性實施例可使用應用程式之間的其他通信方法,諸如但 不限於pSOS中之一共用套接字機制(舉例而言)。 在T1處,H.323 LBM 130自OS 120(圖1)請求收聽經由埠 © 1720接收之TCP連接請求。作為答復,在T2處,OS 120 (圖1)向H.323 LBM 130發送一套接字號碼126(圖1)以用作 埠1720上之收聽套接字。然後,自埠1720上請求建立一新 TCP連接之一用戶端接收(T10) — TCP SYN。OS 120藉由在 T11處發送一 TCP SYN ACK(確認)進行回應。一旦已接收 到該TCP SYN ACK,則該用戶端發送(T12) —TCP ACK作 為建立一 H.323通信通話之一指示請求。 143443.doc -16- 201023565 接下來,在T13處,OS 120經由收聽套接字126向Η.323 LBM 130發送設定與用戶端之一Η_323連接之請求。作為 答復,Η.323 LBM 130在Τ14處發送一 Η.323接受-連接。 0S 120藉由新套接字127a返回(Τ15)—接受,舉例而言該 .通話將係藉由該新套接字127a來處置。在接收到該新套接 字時,LBM可確定哪個H.323執行個體140a-c將處置該呼 叫。該選擇可基於與每一執行個體相關聯之主動-呼叫計 數器之值。在選擇一執行個體之後,以新套接字號碼127a 〇 及對該選定執行個體140a(圖1)之識別(舉例而言)更新 H.323套接字表。 在T16處,H.323 LBM 130向選定H.323執行個體140a發 送一 API命令以’添加'新通話,該API命令經由套接字127a 被接收到。該ADD命令係經由Unix域套接字轉移,其中標 頭指示一套接字被轉移且套接字號碼127a被作為有效負載 轉移。作為回應,一第二套接字號碼127a’(其可隨機選擇) 被遞送至選定執行個體140a(舉例而言)。每一號碼,127a ® 及127a’可由不同應用程式(分別由LBM H.323 130及選定 執行個體140a)用來存取相同檔案描述符。作為一結果, 針對通話127a’指配選定執行個體可在其上執行該通話之 • 一新套接字號碼。因此,創建用於該通話之一對套接字 (127a、127a’)。127a 由 H.3 23 LBM使用且 127a’由選定執行 個體使用。選定H.323執行個體140a使用套接字號碼127a’ 進行與用戶端之Η.323通話之剩餘部分。以一類似方式, 可針對由Η.323執行個體140b處置之通話指配套接字127b 143443.doc •17- 201023565 及127b,且可針對由Η.323執行個體140c處置之通話指配套 接字 127c及 127c’。 在T18處,H.323用戶端發送可包括H.323呼叫設置資訊 之Η·323資料以建立H.323通話。在T19處,在套接字127a 及127a,兩者上轉移該Η.323資料。然而,僅選定H.323執 行個體(舉例而言,140a)讀取該Η.323資料且回應請求。 現翻至圖2b(其係相同H.323通話之時間表之續表)’在 T20處,選定H.323執行個體(舉例而言,140a)使用套接字 號碼127a,發送H.3 23資料。在T21處,OS 12〇朝向用戶端 _ 發送該H.323資料。在T22處,用户端發送一資料(H.323封 包)。在T23處,OS 120經由套接字127a,將H.323資料之封 包轉移至選定H.323執行個體(140a)。該通話可經由套接字 127a’繼續直至該通話結束。 在通話結束時(T30),用戶端可發送一H.323通話結束指 示。在T32處可經由套接字127a’將該通話結束指示自OS 120(圖1)發送至選定執行個體140a。在T34處,經由套接 字127a’發送關閉套接字127a*之一釋放呼叫指示。在T38 Q 處經由在T0打開之連接使用UDS將一 API命令DELETE(刪 除)自H.323執行個體140a發送至H.323 LBM 130。一旦接 收到一 API DELETE命令,貝|JH.323 LBM 130向 OS 120發送 (T39)—關閉套接字127a命令。然後,OS 120在T40處藉由 使用TCP FIN命令向用戶端發送一關閉TCP連接。將瞭 解,類似過程可針對使用其他套接字與其他執行個體之其 他H.323通話同時執行。 143443.doc *18- 201023565 圖3a&圈3b圖解說明用於經由TCP連接處置一 Η.323呼 叫-設置之一實例性方法300。可藉由Η.323 LBM 130(圖1) 之一實例性實施例來實施方法300。在MCU 100(圖1)通電 期間可起始(302)方法300且只要MCU係活動的方法300便 可運行。在起始304時,Η.323 LBM 130可被引入至相關模 組或可起始Η.323 LBM 130之作業中所涉及之模組。實例 性模組可係Η.323套接字表135、一組Η.323執行個體140a-c (圖1)、一組主動-呼叫計數器(每一 Η.323執行個體140a-c 一個)等。 在起始過程302&304之後,建立(305)H.323 LBM 130與 H.323執行個體140a-c中之每一者之間的一内部連接。該 内部連接可基於檔案描述符轉移及/或檔案描述符共用機 制,諸如但不限於Unix域套接字(舉例而言)。 在此點處,H.323 LBM 130可向OS 120(圖1)請求(306)收 聽TCP埠1720。若未接收到一收聽套接字號碼,則可向OS 120發送(316)—錯誤訊息且可終止(318)方法300。 當接收到(310)—收聽套接字號碼時,方法300開始步驟 320與342(圖3b)之間的一循環以處置H_323通信通話。在步 驟320及322處,方法300等待接收一事件。可自OS 120(圖 1)或自H.323執行個體140a-c(圖1)中之一者接收一事件。 若所接收(323)之事件係經由在步驟305中設定之連接中之 一者來自執行個體140a-c中之一者之一 DELETE API命 令,則檢索並剖析來自Η.323套接字表之一相關條目。基 於可與API DELETE命令相關聯之條目ID號碼來檢索該相 關條目。根據該條目之内容,發出一關閉-套接字請求 143443.doc -19- 201023565 323,其用於關閉被指配至LBM以用於處置相關通話之套 接字。被指配至相關執行個體之主動_呼叫計數器遞減】且 釋放H.323套接子表135中之相關條目。回應於關閉套接字 命令,OS 120向相關用戶端發送一 Tcp FIN以關閉TCp連 接。 若在322處經由收聽套接字126接收到指示一新H 323連 接請求之事件,則LBM 130可接受該新呼叫,該新呼叫係 經由收聽套接字126(圖1)接收。作為回應,接收(326) 一新 套接字號碼以用於攜載新H.323通話且方法3〇〇繼續(33〇)至 圖3b中所圖解說明之步驟。該新套接字可係套接字 (圖1)中之一者’舉例而言,l27a。 在步驟332(圖3b)處,方法300可確定哪個H 323執行個體 14〇a-c可用於處置呼叫。該決策可基於檢查執行個體中之 每一者之主動-呼叫計數器且選擇具有最小通話數量之一 個執行個體(舉例而言)。若在334處發現一可用H 323執行 個體(舉例而言,140a) ’則遞增其相關聯主動-呼叫計數 器。針對該通話指配(340)H.323套接字表135(圖”中之一 _ 條目,以一條目ID、所指配之套接字(例如,127幻及選定 執行個體(例如,140a)更新該條目。然後經由υηίχ域套接 字向選定執行個體發送API ADD命令。Unix域套接字訊息 之標頭可指示其係,套接字轉移訊息。該訊息之内容可Z 括新套接字號碼127a及條目ID號碼(舉例而言)。作為回 應,該選定執行個體(舉例而言,14〇a)將得到用於通話之 另一套接字號碼:^、,。或者,可使用另一槽案描述符丘 -20· 201023565 用機制。在此點342處,方法300返回至步驟320(圖3a)以等 待下一個事件。 若在334處無可用H.323執行個體,則LBM 130可創建 (336)—新執行個體140d(未顯示於圖式中)且設定與新執行 個體140d之一内部連接(如在以上步驟305中所做)且繼續 至步驟340。在一替代實施例中,若未發現一可用執行個 體,則可拒絕呼叫。 圖4圖解說明一 SIP呼叫處置中之事件之一實例性流程之 一時間圖。在圖4之實例中,SIP呼叫係基於UDP傳送協定 且經由UDP埠5060被接收。為方便並清楚地表達,僅圖解 說明經由UDP埠5060之具有少數事件之一單個呼叫。然 而,熟習此項技術者將瞭解可以一類似方式處置具有多個 事件之多個呼叫。此外,圖4圖解說明其中用戶端經由一 SIP代理連接至MCU 100(圖1)之一實例性實施例之流程。 在一替代實施例中,可使用兩個或更多個SIP代理,或替 代地用戶端可直接連接至MCU。在彼等情形中,可根據連 接之類型修改時間圖。 在所圖解說明之流程圖之開始,在TIOOa至TIOOc處, SIP LBM 150(圖1)建立與SIP執行個體160a-c(圖1)中之每 一者之連接。可藉由檔案描述符轉移機制(諸如但不限於 Unix域套接字(UDS))進行與執行個體之連接。在設定與執 行個體160a-c中之每一者之連接之後,在T102處,SIP LBM 150可自OS 120(圖1)請求經由UDP埠5060打開一 SIP 傳送套接字。作為答復,在T103處,OS 120(圖1)向SIP LBM 150發送一套接字號碼128c(圖1),其將用作UDP埠 143443.doc -21 - 201023565 5 060上用於傳入SIP資料之SIP傳送套接字(STS)。 在T104a-T104c處經由Unix域套接字連接(之前在TlOOa-TlOOc處建立)將套接字號碼128c轉移至SIP執行個體160a-c 中之每一者。Unix域套接字訊息之標頭可指示其係一套接 字轉移訊息。該訊息之内容可包括SIP傳送套接字號碼, 舉例而言,128c。因此,SIP執行個體160a-c中之每一者接 收欲用作STS之另一號碼129aa-cc(圖1),藉由該STS每一 SIP執行個體將經由UDP埠5 060及SIP代理向相關用戶端發 送SIP資料。 在T110處,一 SIP用戶端可朝向UDP埠號碼5060發送具 有SIP資料或SIP邀請請求之一 SIP封包。該SIP資料與某一 呼叫-ID(CID)相關聯,該呼叫-ID(CID)由起始SIP呼叫之用 戶端指配。在Till處,代理將該SIP封包轉移至MCU 100(圖1)。在處理IP標頭及UDP標頭之後,OS 120(圖1)在 T112處經由SIP傳送套接字128c將SIP資料轉移至SIP LBM 150。SIP LBM 150可藉由剖析器152(圖1)剖析該SIP資料 且確定該資料係否係一新SIP通話之一邀請請求或一現有 SIP通話之SIP資料。若其係一現有SIP通話,基於該通話 之CID,在SIP CID表153(圖1)中搜尋一條目。剖析該條目 以識別處置該通話之所指配SIP執行個體160a-c,舉例而 言,執行個體160a。然後,在T113處,該SIP資料經由在 TIOOa期間建立之連接被作為一 Unix域套接字訊息轉移(舉 例而言)。 若該SIP資料包括一SIP邀請請求,則SIP LBM 150可確 143443.doc -22- 201023565 定哪個SIP執行個體係可用的,舉例而言,160a。然後, 在SIP CID表153處針對通話指配一條目且將選定執行個體 及通話之CID儲存於該條目中。與選定SIP執行個體160a相 關聯之主動-呼叫計數器遞增1。在T113處,該SIP邀請請 . 求經由在TIOOa期間與選定執行個體建立之連接被作為一
Unix域套接字訊息轉移(舉例而言)。然後在T113處,該 SIP資料經由在TIOOa期間與選定執行個體(舉例而言, 160a)建立之連接被作為一 Unix域套接字訊息轉移。 參 選定SIP執行個體160a可進一步處理SIP資料且在T114處 一SIP回應由適當SIP執行個體(舉例而言,160a)經由套接 字129ca(「c」表示其係經由SIP傳送套接字128c接收之一 UDP通話,且「a」表示SIP執行個體160a)發送(舉例而言) 至用戶端(經由OS 120)。在T116處,在添加適當UDP及IP 標頭之後,將封包發送至代理且在T118處自彼處將該封包 轉移至用戶端。該通話可以一類似方式進行直至選定執行 個體160a確定所接收之SIP資料係終止該呼叫之一請求, W 或該SIP執行個體確定終止該SIP通話。然後在T120處,選 定SIP執行個體160a向SIP LBM 150發送具有通話之CID之 一 API DELETE命令。該命令經由在TIOOa期間與選定執行 個體(舉例而言,160a)建立之連接被作為一 Unix域套接字 訊息發送。在接收到具有被終止呼叫之CID之DELETE命 令時,在SIP CID表153中搜尋相關條目且釋放該條目。與 選定SIP執行個體160a相關聯之主動-呼叫計數器遞減1。 由於涉及一代理,故與該代理之連接不受一個呼叫之終止 I43443.doc -23- 201023565 影響。與該代理之連接保持活動以用於伺服其他用戶端。 可針對經由TCP攜載之一 SIP通話圖解說明之一類似流 程圖。針對一基於TCP之SIP通話,TCP傳送模組122a將取 代UDP傳送模組122b(圖1),SIP傳送套接字128b將取代SIP 傳送套接字128c且套接字129ba將取代套接字129ca。針對 一基於TCP及TLS之SIP通話,TCP傳送模組122a將取代 UDP傳送模組122b(圖1),SIP傳送套接字128a將取代SIP傳 送套接字128c且套接字129aa將取代套接字129ca。另外, 在T113處將添加一解密過程以用於在剖析sip資料之前對 馨 其解密。 處置經由TCP/IP(埠5060)或TLS/TCP/IP(埠5061)播載之 SIP通話之一實例性實施例可需要首先在MCU與SIP代理之 間建立一 TCP連接。在此實施例中,為經由埠5060或5061 打開用於經由一 TCP連接攜載SIP資料之一 SIP傳送套接 字,首先可在SIP LBM 150與琿5060或5061之間打開一收 聽套接字以在MCU與SIP代理之間建立TCP連接。在建立 該TCP連接之後,一 SIP傳送套接字I28a&128b可經指配以 G 用於處置該SIP資料且被轉移至SIP LBM 150。用於在MCU 與SIP代理之間打開一 TCP連接且指配SIP傳送套接字之一 實例性過程可類似於圖2a中所揭示之一者,自T1至T14(用 於設定TCP連接)及Τ15(用於指配SIP傳送套接字)。在基於 TCP之SIP通話中’只要MCU係活動的則TCP連接可保持打 開。 圖5圖解說明用於同時經由三個可能傳送協定選項處置 143443.doc •24· 201023565 SIP呼叫之一實例性方法500 :經由TCP連接及埠5060、經 由UDP及埠5060或經由用於經加密TLS通話之埠5061上之 TCP。可藉由SIP LBM 150(圖1)之一實例性實施例實施方 法500。另一實例性實施例可經組態以與一單個類型之SIP 通話(UDP,或TCP,或TLS/TCP)—同工作。然而另一實树 性實施例可藉由兩個類型之SIP通話之一組合組態。在彼 等實施例中,方法500可經修改以匹配所使用之傳送協 定。 Φ 在MCU 100(圖1)通電期間可起始(502)方法500且只要 MCU係活動的方法500便可運行。在起始504時,SIP LBM 150可被引入至MCU 100之相關模組且可起始SIP LBM 150 之作業中所涉及之模組。實例性模組可係SIP CID表153、 一組SIP執行個體160a-c(圖1)、一組主動-呼叫計數器(每一 SIP執行個體160a-c—個)等。 在起始過程502&504之後,建立(506)SIP LBM 150與SIP 執行個體160a-c中之每一者之間的一内部連接。該内部連 — 接可基於檔案描述符轉移及/或檔案描述符共用機制,諸 如但不限於Unix域套接字(舉例而言)。
在設定(506)與SIP執行個體160a-c中之每一者之一連接 之後,相依於組態,SIP LBM 150可請求(508)經由一個或 多個埠打開一 SIP傳送套接字。該等埠可係:TCP埠5060、 UDP埠5060及TCP埠5061。然後,SIP LBM可等待(510)針 對該等對的傳送-協定與一埠中之每一者接收一 SIP傳送套 接字號碼。若未接收該等套接字號碼中之一者,則可向OS 143443.doc -25- 201023565 120發送(516)—錯誤訊息且可終止(518)方法300。使用TCP 傳送協定來攜載SIP通信之實例性實施例可需要首先藉由 經由適當埠(用於TLS/TCP之5060或5061)打開收聽套接字 來在MCU與SIP代理之間建立一 TCP連接且僅僅在建立該 TCP連接之後即可遞送一 SIP傳送套接字。 當(510)接收到SIP傳送套接字之適當號碼時,相依於代 理及MCU之組態(舉例而言,套接字128a用於埠5061上之 TLS/TCP;及/或128b用於埠5060上之TCP;及/或128c用於 埠5060上之UDP),則將該等套接字號碼(128a-c)中之每一 藝 者轉移(520)至SIP執行個體160a-c中之每一者。向SIP執行 個體中之每一者發送SIP傳送套接字可經由在步驟506期間 建立的與SIP執行個體中之每一者之連接作為一 Unix域套 接字訊息進行。Unix域套接字訊息之標頭可指示其係一套 接字-轉移訊息。該訊息之内容可包括被轉移之套接字號 碼,128a或128b或128c。因此,在每一執行個體處接收之 套接字號碼將係129a,a-c或129b,a-c或129c,a-c,其中第一 個字母表示SIP傳送套接字且第二個字母表示執行個體號 © 碼。因此,套接字129c,a-c表示三個套接字:用於經由套 接字128c接收至執行個體160a之通話之129ca ;用於經由 套接字128c接收至執行個體160b之通話之129cb ;及用於 經由套接字128c接收至執行個體160c之通話之129cc(圖 1)。 在將一個或多個SIP傳送套接字發送至一 SIP執行個體之 後,SIP LBM 150可自具有其所接收之套接字號碼之執行 143443.doc -26- 201023565 個體得到一回應。該回應經由在步驟506中建立之連接被 作為一Unix域套接字訊息發送。SIP LBM 150將該對套接 字號碼儲存於一 SIP套接字表中。一實例性SIP套接字表可 包括其中列與SIP傳送套接字128a-c相關聯且行與SIP執行 個體160a-e相關聯之一矩陣(舉例而言)。在此實例中,該 矩陣中之每一胞將包括將由適當執行個體160a-c使用之套 接字 129aa-cc。
在步驟522及530處,方法500等待接收一事件。可自OS Φ 120(圖1)或自SIP執行個體160a-c(圖1)中之一者接收一事 件。若自執行個體160a-c中之一者接收到(530)事件,則做 出(536)其係否係一 DELETE API命令之一決策。若(536)其 係經由在步驟506中設定之連接中之一者接收之一 DELETE API命令,則該API DELETE命令可指向通話之CID。基於 該通話CID,檢索(538)來自SIP CID表153(圖1)之相關條目 且將其釋放。與相關SIP執行個體相關聯之主動-呼叫計數 器縮減至1且方法500返回步驟522。若該事件不係(536)— • DELETE API命令,貝丨J方法500返回至步驟522以等待下-個事件。 ' 若(530)所接收之事件係經由SIP傳送套接字128a-c(圖1) • 中之一者自OS 120(圖1)接收,則做出通話係否基於TLS之 一決策(540)。該決策可基於SIP傳送套接字。若經由套接 字128a接收SIP訊息,則該通話係基於TLS之一經加密通 話。因此,由TLS DEC 154(圖1)解密(542)該訊息且將該經 解密之訊息轉移至剖析器152(圖1)以用於進一步分析 143443.doc -27- 201023565 (544)。若(540)SIP訊息並非基於TLS,該訊息係經由套接 字128b或128c接收,則將該訊息轉移至剖析器152(圖1)以 用於進一步分析(544)且方法500進行至圖5b中之步驟552。 現參照圖5b,在步驟552處做出經分析之SIP訊息係否係 來自一用戶端之一 INVITE(遨請)請求之一決策。可自想要 開始一新SIP通話之一用戶端發送該INVITE請求。若(552) 係,則方法500可搜尋(554)可用於處置呼叫之一 SIP執行個 體160a-c(圖1)。該選擇可基於執行個體中之每一者之主 動-呼叫計數器,從而尋找具有最小通話數量之執行個 體,舉例而言’ 160a。若(560)發現一可用SIP執行個體(舉 例而言,160a),則針對新通話指配(564)SIP匚①表15%圖 1)中之一條目。以該通話之CID、選定執行個體(舉例而 言,162a)及欲由選定SIP執行個體(舉例而言,160a)使用 之相關套接字129a-c,a更新該條目。該相關套接字係自來 自胞之SIP套接字表中檢索’該胞係處於自其接收通話之 SIP傳送套接字128a-c與選定執行個體(舉例而言’ 160a)之 接合點處。執行個體之主動-呼叫計數器遞增1 ’且所接收 之SIP訊息經由適當Unix域套接子連接(於步驟5〇6(圖5a)或 如下文所闡述之562中建立)被發送至選定執行個體。自經 剖析之SIP訊息中檢索通話之CID。一替代實施例可使用其 他檔案描述符共用機制代替Unix域套接字。在此點570 處’方法500返回至步驟522(圖5a)以等待下一個事件。 若(560)未發現一可用SIP執行個體’則實例性方法500可 創建(562) —新執行個體。可以與上文結合步驟506(圖5a) 143443.doc -28· 201023565 所揭示之方式類似之一方式建立SIP LBM與該新SIP執行 個體之間的一連接。在設定與該新執行個體之連接之後, SIP LBM 150可將SIP傳送套接字128a-c中之每一者發送至 該新執行個體’如上文結合步驟520(圖5a)所揭示。此外, SIP LBM可得到且儲存由該執行個體所接收之套接字號 碼,以與步驟520之說明類似之一方式更新SIP套接字表且 繼續至步驟564。 現返回至步驟552,若SIP資料不係一 INVITE請求,則 搜尋(556)SIP CID以尋找與經剖析之CID相關聯之一條 目。檢索並剖析該條目以確定哪個SIP執行個體與該通話 相關聯。然後’該SIP資料經由在步驟506中建立之連接被 作為一 UNIX域套接字訊息轉移至相關聯SIP通話且方法 500返回(570)至圖5a中之步驟522。 本文使用對所揭示之方法及系統之實施例之詳細說明闡 述了該專所揭示之方法及系統,此等實施例僅作為實例提 出且並非意欲限定本發明之範疇。所闡述實施例包含不同 特徵’但並非所有實施例中皆需要所有該等特徵。一些實 施例僅利用該等特徵中之一些特徵或該等特徵之可能的組 合°所闡述實施例之變化形式及包含所闡述實施例中所提 及之特徵之不同組合之實施例對熟習此項技術者係顯而易 見的。 在此申請案中措詞「單元」及r模組」可互換使用。被 叫做一單元或模組之任何東西可係一獨立單元或一專用模 、、且 單元或一模組可係模組化的或具有允許其易於被移 143443.doc -29- 201023565 除且由另一類似單元或模組取代之模組化態樣。每一單元 或模組可係軟體、硬體及/或韌體中之任一者或其任一組 合。一邏輯模組之軟體可實現於一電腦可讀媒體(諸如一 讀取/寫入硬磁碟、CDROM、快閃記憶體、ROM等)上。 為執行某一任務’可視需要將一軟體程式載入至一適當處 理器。 在不背離以下專利申請範圍之範疇之前提下所圖解說明 之運作方法之細節中之各種改變係可能的。比如,說明性 處理過程300及500可以不同於本文所揭示之次序執行所識 別之步驟。或者,一些實施例可組合本文闡述為分離步驟 之活動。類似地,相依於在其中實施方法之特定運作環 境,可省略所闡述步驟中之一個步驟或多個步驟。另外, 根據圏1至囷5之動作可由執行組織於一個或多個程式模組 中之指令之一可程式化控制裝置執行。一可程式化控制裝 置可係一單個電腦處理器、—特殊用途處理器(例如,一 數位信號處理器,「DSP」)、由—通信鏈路揭合之多個處 理器或-定製設計之狀態機。定製設計之狀態機可實現於 一硬體裝置中,諸如·積體電路,包括但不限於專用積體 電路(「ASIC」)或現場可程式化閘陣列(「FpGAj卜適於 有形地實現程式指令之儲存裝置(有時稱作電腦可讀媒體) 包括但不限於:磁碟(固定磁碟、 ^軟磁碟及可抽換式磁碟) 及磁帶;諸如CD-ROM及數位視訊光碟(「_」)等光與 媒體;及諸如電可程式化唯讀記憶體(「咖⑽」)、電; 擦除可程式化唯讀記憶體(「EEPR〇M」)、可程式化問陣 143443.doc -30- 201023565 列等半導體記憶體裝置及快閃裝置。 熟習此項技術者應瞭解,本發明並不受上文所特定顯示 及闡述之内谷之限制。而係,本發明之範嘴由以下申請專 利範圍來界定。 【圖式簡單說明】 結合圖式將自以上詳細說明更全面地理解及瞭解本發明 之實例性實施例,圖式中: 圖1係圖解說明一實例性MCU之一部分之一簡化方塊 ❿ 圖。 圖2a&圖2b係圖解說明經由TCP之一 H.323呼叫-設置處 置之一實例性流程之一時間圖。 圖3a&圖3b係圖解說明經由TCP之H.323呼叫-設置處置 之一實例性方法之一流程圖。 圖4係圖解說明基於udp傳送協定呼叫-設置處置之SIP 之一實例性流程之一時間圖。 圖5&&圖5b係圖解說明基於UDP傳送協定之SIP呼叫-設 置處置之一實例性方法之一流程圖。 【主要元件符號說明】 100 多點控制單元(MCU) 110 插頭 115 網路介面卡 120 作業系統 121 網路模組 122a TCP傳送模組 143443.doc 201023565 122b UDP傳送模組 126 Η.323收聽套接字 127a&a' 套接字 127b&b' 套接字 127c&c' 套接字 128a SIP收聽套接字 128b SIP收聽套接字 128c SIP收聽套接字 129aa-cc 套接字 130 H.323負載平衡器模組 135 H.323套接字表 140a H.323執行個體 140b H.323執行個體 140c H.323執行個體 150 SIP負載平衡器模組 153 Sip呼叫-ID表 154 TLS DEC 160a SIP執行個體 160b SIP執行個體 160c SIP執行個體 143443.doc -32-

Claims (1)

  1. 201023565 七、申請專利範圍: 1· 一種負載平衡經由一網際網路協定網路支援多個多媒體 會議之處理程序之多個執行個體之方法,其包含: 樣例化一主機處理單元上之一負載平衡模組; 樣例化該主機處理單元上之一協定堆疊之多個應用程 式執行個體; 將該負載平衡模組連接至控制該主機處理單元之一作 業系統之一收聽埠; ❿㈣乡個應㈣執行個财之每—者與該貞載平衡 模組之間傳遞至少一個套接字描述符; 在該收聽埠處接收來自參與多個多媒體會議之多個端 點入站多媒體資料封包; 藉由選自該協定堆疊之該多個應用程式執行個體之一 選定應用程式執行個體處理自來自該多個端點之一端點 接收之每一所接收入站多媒體資料封包,其中該端點已 與該選定應用程式執行個體相關聯達一多媒體會議之持 • 、續時間;及 朝向該相關聯端點轉移該經處理之資料; 其中該多媒體資料包含選自由符合該協定堆疊之控制 及發訊組成之群組之至少一個資料類型。 2.如明求項1之方法,其中該負載平衡模組服務使用h 協定之多媒體會議。 3·如請求項2之方法,其中來自一端點之入站及出站多媒 體資料封包係直接由該協定堆疊之關聯至該端點達—多 143443.doc 201023565 媒體會議之該持續時間之一選定應用程式執行個體處 置。 4.如請求項1之方法,其中該負載平衡模組服務通話起始 協定(SIP)訊息。 5.如請求項4之方法,其進一步包含: 藉由該負載平衡模組接收所有入站多媒體資料封包; 檢查每一所接收之入站多媒體資料封包以確定其係否 與該協定堆疊之一已選定應用程式執行個體相關;及 使用一檔案描述符轉移機制將該經檢查之入站多媒體 資料傳遞至該選定應用程式執行個體。 6.如請求項4之方法,其進一步包含: 藉由該負載平衡模組接收所有入站多媒體資料封包; 檢查每一所接收之入站多媒體資料封包以確定其係否 與該協定堆疊之一已選定應用程式執行個體相關; 若未已選擇一個應用程式執行個體,則選擇該協定堆 叠之一應用程式執行個體;及 使用一檔案描述符轉移機制將該經檢查之入站多媒體 資料封包傳遞至該選定應用程式執行個體。 7如明求項1之方法’其中在該-個或多個應用程式執行 個艘中之每-者與該負載平衡模組之間傳遞之該套= 描述符係經由UNIX域套接字傳遞。 8. 如請求項5或6之方法,兑 UNDC域套接字。 、〃㈣Μ符轉移機制係 9. 如4求項4之方法,其中用於機載該仙資料之該傳送協 143443.doc 201023565 定係使用者資料報協定(UDP)。 10. 如請求項丨之方法,其中該主機處理單元係一多點控制 〇〇 一 早兀。 11. 一種網際網路協定(IP)主機,其包含: 一可程式化處理單元; 一電腦可讀媒體;及 一作業系統,其係儲存於該電腦可讀媒體中以用於控 制該可程式化處理單元; 其中該可程式化處理單元經組態以·· 樣例化該可程式化處理單元上之一負載平衡模組; 樣例化該可程式化處理單元上之一協定堆疊之多個 應用程式執行個體; 將該負載平衡模組連接至該作業系統之一收聽埠; 在該多個應用程式執行個體中之每一者與該負載平 衡模組之間傳遞至少一個套接字描述符; 在該收聽埠處接收來自參與多個多媒體會議之多個 端點之入站多媒體視訊會議資料封包; 藉由選自該協定堆疊之該多個應用程式執行個體之 一選定應用程式執行個體處理自該多個端點接收之每— 所接收入站多媒體會議資料封包,其中該端點已與該選 定應用程式執行個體相關聯達一多媒體會議之持續時 間;及 朝向該相關聯端點轉移該經處理之資料; 其中該多媒體資料包含選自由符合該協定堆疊之控 143443.doc 201023565 制及發訊組成之群組之至少—個資料類型。 12.如响求項丨丨之主機,其中該負載平衡模組服務使用 H.323協定之多媒體會議。 B·如請求項12之主機,其中來自一端點之入站及出站多媒 體會議資料封包係直接由該協定堆#之關聯至該端點達 一多媒體會議之持續時間之一選定應用程式執行個體處 置。 14. 如凊求項11之主機,其中該負載平衡模組服務通話起始 協定(SIP)訊息。 15. 如請求項14之主機,其中該可程式化處理單元經進一步 組態以: 藉由該負載平衡模組接收入站多媒體資料封包; 檢查每一所接收之入站多媒體資料封包以確定其係否 與一協定堆疊之一已選定應用程式執行個體相關;及 使用一權案描述符轉移機制將該經檢查之入站多媒體 資料傳遞至該選定應用程式執行個體。 16. 如請求項14之主機,其中該可程式化處理單元經進—步 組態以: 藉由該負載平衡模組接收所有入站多媒體資料封包·, 檢查每一所接收之入站多媒體資料封包以確定其係否 與該協定堆疊之一已選定應用程式執行個體相關; 若未已選擇一個應用程式執行個體,則選擇該協定堆 疊之一應用程式執行個體;及 使用一標案描述符轉移機制將該經檢查之入站多媒體 143443.doc 201023565 資料傳遞至該選定應用程式執行個體。 17•如請求項η之主機,其中該可程式化處理單元經進—步 組態以經由UNIX域套接字在每一應用程式執行個體與該 負載平衡模組之間傳遞一套接字描述符。 18·如請求項15或16之主機,其中該轉描述符轉移機制係 UNIX域套接字。 ’、 , 19.如請求項14之主機’其中用於攜載該sip資料之該傳送 協定係使用者資料報協定(UDP)。 瘳20.如請求項U之主機,其中該可程式化處理單元被併入至 一多點控制單元内。 •-種電腦可讀媒體’其具有儲存於其上之可程式化處理 器指令以致使一可程式化處理單元: 樣例化該可程式化處理單元上之—負載平衡模組; 樣例化該可程式化處理單元上之一協定堆疊之多個應 用程式執行個體; 將該負載平衡模組連接至控制該可程式化處理單元之 一作業系統之一收聽埠; 在該多個應用程式執行個體中之每一者與該負載平衡 模組之間傳遞至少一個套接字描述符; 在該收聽埠處接收來自參與多個多媒體會議之多個端 點之入站多媒體資料封包; 藉由選自該協定堆疊之該多個應用程式執行個體之一 選定應用程式執行個體處理自來自該多個端點之一端點 接收之每一所接收入站多媒體資料封包,其中該端點已 143443.doc 201023565 與該選定應用程式執行個體相關聯達一多媒體會議之該 持續時間;及 朝向該相關聯端點轉移該經處理之資料; 其中該多媒體資料包含選自由符合該協定堆疊之控制 及發§fl組成之群組之至少一個資料類型。 22. 如請求項2〗之電腦可讀媒體,其中儲存於其上之該等指 令致使該負載平衡模組服務多媒體會議η·323協定訊 息。 23. 如請求項22之電腦可讀媒體,其中儲存於其上之該等指 令致使來自一端點之入站多媒體資料封包直接由該協定 堆疊之關聯至一選定應用程式執行個體達一多媒體會議 之持續時間之該選定應用程式執行個體處置。 24. 如請求項21之電腦可讀媒體,其_儲存於其上之該等指 令致使該負载平衡模組服務通話起始協定(SIp)訊息。 25. 如請求項24之電腦可讀媒體,其中儲存於其上之該等指 令進一步致使該可程式化處理單元: 藉由該負載平衡模組接收所有入站多媒體資料封包; 檢查每一所接收之入站多媒體資料封包以確定其係否 與一協定堆墨之-已選定應用程式執行個體相關;及 使用一檔案描述符轉移機制將該經檢查之入站多媒體 資料封包傳遞至該選定應用程式執行個體。 26. 如請求項24之電腦可讀媒體,其中健存於其上之該等指 令進一步致使該可程式化處理單元: 藉由該負載平衡模組接收所有入站多媒體資料封包; 143443.doc 201023565 檢查每一所接收之入站多媒體資料封包以確定其係否 與一協定堆疊之一已選定應用程式執行個體相闕; 若未已確定選擇一個應用程式執行個體,則選擇一協 定堆疊之一應用程式執行個體;及 - 使用一檔案描述符轉移機制將該經檢查之入站多媒體 .資料封包傳遞至該選定應用程式執行個體。 27·如請求項21之電腦可讀媒體,其中儲存於其上之該等指 令進-步致使該可程式化處s單元經由職乂域套接字= ❿ 每—應用程式執行個體與該負載平衡模組之間傳遞一套 接字描述符。 28. 如請求項25或26之電腦可讀媒體,其中儲存於其上之該 等指令進—步致使該可程式化處理單元使用-⑽X域: 接字作為該播案描述符轉移機制。 29. 如請求項24之電腦可讀桩鞞 ^ J項媒體’其中儲存於其上之該等指 令進一步致使該可程式 —4理卓70使用使用者資料報協 疋(UDP)作為該傳送協定來攜載該仙資料。 30. 如請求項21之電腦可讀媒體,其中儲存於其上之該等产 令意欲控制併入至—多點 曰 單元。 制卓70内之一可程式化處理 143443.doc
TW098133653A 2008-11-25 2009-10-02 使用相同網際網路協定(ip)埠應用程式之多個執行個體之間分配接收的通話之方法及系統 TWI419518B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11761908P 2008-11-25 2008-11-25
US12/357,001 US8849972B2 (en) 2008-11-25 2009-01-21 Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port

Publications (2)

Publication Number Publication Date
TW201023565A true TW201023565A (en) 2010-06-16
TWI419518B TWI419518B (zh) 2013-12-11

Family

ID=42173165

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098133653A TWI419518B (zh) 2008-11-25 2009-10-02 使用相同網際網路協定(ip)埠應用程式之多個執行個體之間分配接收的通話之方法及系統

Country Status (6)

Country Link
US (4) US8849972B2 (zh)
EP (1) EP2202946A3 (zh)
JP (1) JP5629086B2 (zh)
CN (2) CN103533065A (zh)
DE (1) DE09013668T1 (zh)
TW (1) TWI419518B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8406744B2 (en) * 2009-11-19 2013-03-26 At&T Mobility Ii Llc Client management of visual voicemail data communications
US8978042B2 (en) * 2012-02-15 2015-03-10 Google Inc. Method and system for maintaining game functionality for a plurality of game instances running on a computer system
GB2520451B (en) 2012-03-20 2015-09-30 Media Network Services As Data distribution system
CN102843289B (zh) * 2012-08-08 2015-05-27 苏州阔地网络科技有限公司 一种会议漂移方法及系统
US9282124B2 (en) * 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
CN104580124B (zh) * 2013-10-29 2019-04-05 华为技术有限公司 协议栈选择方法、装置及设备
CN104639578B (zh) * 2013-11-08 2018-05-11 华为技术有限公司 多协议栈负载均衡方法及装置
CN104811432A (zh) 2014-01-29 2015-07-29 华为技术有限公司 基于并行协议栈实例的数据包处理方法和装置
CN104811431B (zh) 2014-01-29 2018-01-16 华为技术有限公司 基于并行协议栈实例的数据包处理方法和装置
CN104951357B (zh) * 2014-03-28 2018-06-26 华为技术有限公司 并行用户态协议栈的管理方法和协议栈系统
US9614853B2 (en) 2015-01-20 2017-04-04 Enzoo, Inc. Session security splitting and application profiler
US10257123B2 (en) * 2015-05-05 2019-04-09 Dell Products Lp Software-defined-networking (SDN) enabling operating-system containers for real-time application traffic flow improvement
CN105120204B (zh) * 2015-08-06 2018-08-28 苏州科达科技股份有限公司 兼容多协议的会议中分享双流音频的方法、装置及系统
CN105426253A (zh) * 2015-12-18 2016-03-23 广州广电运通金融电子股份有限公司 一种自助设备硬件管理方法和装置
NO20160593A1 (en) * 2016-04-12 2017-10-13 Pexip AS Improvements in multimedia conferencing
US10341855B2 (en) * 2016-04-28 2019-07-02 Polycom, Inc. Detection of unsecure calls by communications device
GB2554069B (en) * 2016-09-14 2019-12-25 Starleaf Ltd A system for managing software versions in multitenant cloud IP video-telephony services
CN108270813B (zh) 2016-12-30 2021-02-12 华为技术有限公司 一种异构多协议栈方法、装置及系统
US10348784B2 (en) * 2017-02-15 2019-07-09 Microsoft Technology Licensing, Llc Conferencing server directly accessible from public internet
CN109344058B (zh) * 2018-09-18 2021-06-15 北京云测信息技术有限公司 一种小程序自动化测试方法
US10749900B2 (en) * 2018-09-28 2020-08-18 The Mitre Corporation Deploying session initiation protocol application network security
US10785271B1 (en) * 2019-06-04 2020-09-22 Microsoft Technology Licensing, Llc Multipoint conferencing sessions multiplexed through port
EP4072078A4 (en) * 2019-12-06 2023-06-21 Sony Interactive Entertainment Inc. DISTRIBUTION CONTROL DEVICE, DISTRIBUTION CONTROL METHOD AND DISTRIBUTION CONTROL PROGRAM
JP7100331B1 (ja) * 2022-02-12 2022-07-13 国立大学法人 東京大学 折り構造

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295549B1 (en) * 1996-05-08 2001-09-25 Apple Computer, Inc. Method and apparatus for listening for incoming calls on multiple port/socket combinations
US6192389B1 (en) 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US6363081B1 (en) * 1998-03-04 2002-03-26 Hewlett-Packard Company System and method for sharing a network port among multiple applications
US20020065919A1 (en) * 2000-11-30 2002-05-30 Taylor Ian Lance Peer-to-peer caching network for user data
US6831971B2 (en) * 2001-05-15 2004-12-14 Spiderphone.Com, Inc. Fault-tolerant load balancing of conference call bridges
US20040186918A1 (en) * 2003-03-21 2004-09-23 Lonnfors Mikko Aleksi Method and apparatus for dispatching incoming data in a multi-application terminal
US7953860B2 (en) * 2003-08-14 2011-05-31 Oracle International Corporation Fast reorganization of connections in response to an event in a clustered computing system
US7562145B2 (en) * 2003-08-28 2009-07-14 International Business Machines Corporation Application instance level workload distribution affinities
CN1323533C (zh) * 2003-09-29 2007-06-27 王生安 Ip网多媒体会议系统中分布式多点控制单元的部署方法
US7376129B2 (en) * 2003-10-29 2008-05-20 International Business Machines Corporation Enabling collaborative applications using Session Initiation Protocol (SIP) based Voice over Internet protocol Networks (VoIP)
US7734829B2 (en) * 2004-06-09 2010-06-08 Emc Corporation Methods, systems, and computer program products for transparently controlling communications between network applications and a plurality of network communications protocol stacks using deferred protocol stack association
US8166175B2 (en) * 2005-09-12 2012-04-24 Microsoft Corporation Sharing a port with multiple processes
US20070091907A1 (en) * 2005-10-03 2007-04-26 Varad Seshadri Secured media communication across enterprise gateway
CN101047531B (zh) * 2006-03-31 2012-12-05 联想(北京)有限公司 分布式会议系统
CN100558109C (zh) * 2006-05-16 2009-11-04 华为技术有限公司 基于会话初始协议的负载均衡实现方法及系统
US8817668B2 (en) 2006-09-15 2014-08-26 Microsoft Corporation Distributable, scalable, pluggable conferencing architecture
US8788620B2 (en) * 2007-04-04 2014-07-22 International Business Machines Corporation Web service support for a multimodal client processing a multimodal application
US7979645B2 (en) * 2007-09-14 2011-07-12 Ricoh Company, Limited Multiprocessor system for memory mapping of processing nodes

Also Published As

Publication number Publication date
US10609096B2 (en) 2020-03-31
US20150026328A1 (en) 2015-01-22
TWI419518B (zh) 2013-12-11
US20100131656A1 (en) 2010-05-27
US8849972B2 (en) 2014-09-30
EP2202946A2 (en) 2010-06-30
CN101741832A (zh) 2010-06-16
US9992247B2 (en) 2018-06-05
CN103533065A (zh) 2014-01-22
US20180248921A1 (en) 2018-08-30
EP2202946A3 (en) 2014-11-19
DE09013668T1 (de) 2011-01-20
JP2010154518A (ja) 2010-07-08
JP5629086B2 (ja) 2014-11-19
CN101741832B (zh) 2013-11-06
US20160308921A1 (en) 2016-10-20
US9379984B2 (en) 2016-06-28

Similar Documents

Publication Publication Date Title
TWI419518B (zh) 使用相同網際網路協定(ip)埠應用程式之多個執行個體之間分配接收的通話之方法及系統
US7009984B2 (en) Mechanism for implementing Voice Over IP telephony behind network firewalls
EP1790149B1 (en) Method and session initiation protocol (sip) server for the exchange of end-point capabilities
US9014369B2 (en) Voice-over internet protocol (VoIP) scrambling mechanism
EP2991318B1 (en) Hybrid cloud architecture for media communications
WO2010078380A1 (en) A method and apparatus for emergency call processing
US8743871B2 (en) Media identification, classification, forwarding, and management for voice and video communications
US20140059241A1 (en) Multiple Core Session Initiation Protocol (SIP)
US20210152612A1 (en) Ip tolerance and signaling interworking
EP2186290B1 (en) System and method for identifying encrypted conference media traffic
US8898317B1 (en) Communications system and related method of distributing media
US8605712B1 (en) Method and apparatus for distributing video with offload engine
Chang et al. Load balancing studies on an H. 323 gatekeeper prototype
Nasir et al. A comparison of SIP with IAX an efficient new IP telephony protocol
Davies et al. Quantitative experiences in bidirectional mobile to mobile audio & video streaming

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees