IP Library Granted Patent US 7,340,523
Granted Patent B2
US 7,340,523 · App. 10/748,373 · Granted Mar 4, 2008

High performance call distribution system using a dispatcher and multiple processors for processing session initiation dialogs

Assignee: Dialogic Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,340,523
App. No.
10/748,373
Granted
Mar 4, 2008
Kind
B2
Abstract

A media server system includes a dispatcher and a set of processors either in the same physical system or in separate physical systems. The dispatcher receives the initial messages of respective session initiation dialogs from sources such as application servers. For each message, the dispatcher selects one of the processors to conduct the session initiation dialog and forwards the message to the selected processor using a port number uniquely associated with the processor and a switch fabric that routes the message to the processor associated with the modified port number. Upon receiving an initial session dialog message from the dispatcher, each processor creates a response message including the processor's port identifier, and sends the response message to the application server that was the source of the initial message. Subsequent messages of the session initiation dialog are sent directly to the selected processor by the application server, bypassing the dispatcher.

Claims (23)

1. A method of processing a plurality of session initiation dialogs, each session initiation dialog including a respective initial message sent by a source of the session initiation dialog, each initial message including a well-known port identifier used to identify the recipient of the message, the method comprising:

receiving the initial message for each of the session initiation dialogs at a dispatcher;

at the dispatcher, upon receiving the initial message for each of the session initiation dialogs, (1) selecting one of a plurality of processors to conduct the respective session initiation dialog, and (2) forwarding the initial message to the selected processor; and

at each of the processors, upon receiving the initial message of one of the session initiation dialogs from the dispatcher, (1) creating a corresponding response message including a port identifier uniquely associated with the processor to identify a port to which subsequent messages of the session initiation dialog are to be directed, and (2) sending the response message to the source of the initial message to enable subsequent messages of the session initiation dialog to be sent directly to the selected processor.

2. A method according to claim 1 , further comprising at the dispatcher, modifying each initial message to include the port identifier associated with the processor selected for that message, and wherein forwarding the initial message comprises forwarding the modified initial message.

3. A method according to claim 1 , wherein the dispatcher and the processors are co-located in a single physical system, and wherein forwarding the initial message comprises sending the initial message through a switch fabric in the system.

4. A method according to claim 1 , wherein the dispatcher and the processors are located in separate physical systems, and wherein forwarding the initial message comprises sending the initial message across a local area network (LAN) interconnecting the separate physical systems.

5. A method according to claim 1 , wherein the session initiation dialogs are conducted according the Session Initiation Protocol.

6. A method according to claim 1 , wherein the session initiation dialogs are conducted according to the Media Gateway Control Protocol.

7. A method according to claim 1 , further comprising, at each of the processors, sending information regarding the loading of the processor to the dispatcher, and wherein the dispatcher is operative when selecting a processor to achieve a desired distribution of loading of the processors based on the loading information from the processors.

8. A method according to claim 1 , wherein the dispatcher is operative when selecting a processor for a session initiation dialog to achieve a desired distribution of loading of the processors based on a session size indication contained in the initial message of the session initiation dialog.

9. A media server system for providing media services to at least one application server, the media services employing respective sessions and corresponding session initiation dialogs, each session initiation dialog including a respective initial message sent by a source of the session initiation dialog, the source being one of the application servers, each initial message including a well-known port identifier used to identify the recipient of the message, the system comprising:

a dispatcher; and

a plurality of processors,

the dispatcher being operative to (1) receive the initial message for each of the session initiation dialogs, and (2) upon receiving the initial message for each of the session initiation dialogs, (i) select one of the processors to conduct the respective session initiation dialog, and (ii) forward the initial message to the selected processor, and

each of the processors being operative, upon receiving the initial message of one of the session initiation dialogs from the dispatcher, to (1) create a corresponding response message including a port identifier uniquely associated with the processor to identify a port to which subsequent messages of the session initiation dialog are to be directed, and (2) send the response message to the application server that was the source of the initial message to enable subsequent messages of the session initiation dialog to be sent directly to the selected processor.

10. A media server system according to claim 9 , wherein the dispatcher is operative to modify each initial message to include the port identifier associated with the processor selected for that message, and is further operative when forwarding the initial message to forward the modified initial message.

11. A media server system according to claim 9 , comprising a single physical system containing the dispatcher, the processors, and a switch fabric interconnecting the dispatcher and the processors, the switch fabric being operative to carry the initial messages from the dispatcher to the processors.

12. A media server system according to claim 9 , comprising separate physical systems containing the dispatcher and the processors respectively, the separate physical systems being interconnected by a local area network (LAN) operative to carry the initial messages from the dispatcher to the processors.

13. A media server system according to claim 9 , wherein the session initiation dialogs are conducted according the Session Initiation Protocol.

14. A media server system according to claim 9 , wherein the session initiation dialogs are conducted according to the Media Gateway Control Protocol.

15. A media server system according to claim 9 , wherein each of the processors is further operative to send information regarding the loading of the processor to the dispatcher, and wherein the dispatcher is further operative when selecting a processor to achieve a desired distribution of loading of the processors based on the loading information from the processors.

16. A media server system according to claim 9 , wherein each application server is operative when creating an initial message of a session initiation dialog to include an indication of the size of the session, and wherein the dispatcher is operative when selecting a processor for a session initiation dialog to achieve a desired distribution of loading of the processors based on the session size indication contained in the initial message of the session initiation dialog.

Assignments (10)
SECURITY AGREEMENT Recorded Jun 30, 2015
From: DIALOGIC (US) INC.; DIALOGIC INC.; DIALOGIC US HOLDINGS INC.; DIALOGIC DISTRIBUTION LIMITED; DIALOGIC MANUFACTURING LIMITED; DIALOGIC CORPORATION; DIALOGIC GROUP INC.
To: SILICON VALLEY BANK
Reel/Frame 036037/0165 →
RELEASE OF SECURITY INTEREST Recorded Nov 25, 2014
From: OBSIDIAN, LLC
To: DIALOGIC CORPORATION, F/K/A EICON NETWORKS CORPORATION; DIALOGIC INC.; DIALOGIC (US) INC., F/K/A DIALOGIC INC. AND F/K/A EICON NETWORKS INC.; DIALOGIC DISTRIBUTION LIMITED, F/K/A EICON NETWORKS DISTRIBUTION LIMITED; DIALOGIC MANUFACTURING LIMITED, F/K/A EICON NETWORKS MANUFACTURING LIMITED; DIALOGIC US HOLDINGS INC.; DIALOGIC RESEARCH INC., F/K/A EICON NETWORKS RESEARCH INC.; DIALOGIC JAPAN, INC., F/K/A CANTATA JAPAN, INC.; CANTATA TECHNOLOGY, INC.; EAS GROUP, INC.; SHIVA (US) NETWORK CORPORATION; EXCEL SWITCHING CORPORATION; EXCEL SECURITIES CORPORATION; CANTATA TECHNOLOGY INTERNATIONAL, INC.; BROOKTROUT NETWORKS GROUP, INC.; BROOKTROUT TECHNOLOGY, INC.; SNOWSHORE NETWORKS, INC.; BROOKTROUT SECURITIES CORPORATION
Reel/Frame 034468/0654 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 23, 2008
From: DIALOGIC CORPORATION
To: OBSIDIAN, LLC
Reel/Frame 022024/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2007
From: SNOWSHORE NETWORKS, INC.
To: DIALOGIC CORPORATION
Reel/Frame 020288/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2007
From: SNOWSHORE NETWORKS, INC.
To: DIALOGIC CORPORATION
Reel/Frame 020227/0661 →
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2007
From: COMERICA BANK
To: SNOWSHORE NETWORKS INC.
Reel/Frame 020092/0678 →
SECURITY AGREEMENT Recorded Nov 6, 2007
From: DIALOGIC CORPORATION
To: OBSIDIAN, LLC
Reel/Frame 020072/0203 →
RELEASE OF SECURITY INTEREST Recorded Oct 5, 2007
From: COMERICA BANK
To: EXCEL SWITCHING CORPORATION; BROOKTROUT, INC; EAS GROUP, INC.
Reel/Frame 019920/0425 →
SECURITY AGREEMENT Recorded Jan 6, 2006
From: SNOWSHORE NETWORKS, INC.
To: COMERICA BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 016976/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2003
From: VAN DYKE, JOHN J.; BURKE, CHRISTOPHER J.
To: SNOWSHORE NETWORKS, INC.
Reel/Frame 014866/0049 →
Continuity (2)
Provisional Application 6043793700 · Jan 3, 2003
Related Publication 20040153497A1 · Aug 5, 2004