Dispatching messages among registered software modules in telecommunications system including telephony internet server coupled between packet network and PBX
First Claim
Patent Images
1. A system comprising:
- a telephony Internet server coupling a packet network to a private branch exchange, external communications from said private branch exchange passing through said telephony Internet server;
a software dispatcher in said telephony Internet server, said software dispatcher maintaining a list of all messages in said system and dynamically adding packet network software system application features to said private branch exchange;
a plurality of dispatcher clients, each identifying to said software dispatcher particular messages for receipt; and
said software dispatcher managing listed messages in a pool of threads and sending messages to said plurality of dispatcher clients synchronously and asynchronously, said software dispatcher balancing system workload between said pool of threads, wherein said software dispatcher saves asynchronous messages for later transmission in logical message queues in one or more message threads, sent said messages being sent as flexible message parameters comprising name, type, and value fields and, wherein said value field further comprises another flexible message parameter.
12 Assignments
0 Petitions
Accused Products
Abstract
A telecommunications system having a software dispatcher is provided for delivering messages between dispatcher clients, i.e., software subsystems that may be in the same process, a different process, or on a different machine. The dispatcher manages a pool of threads to balance the workload. The dispatcher can process both synchronous and asynchronous messages by dispatching the message to all registered subsystems in order of their registered priority.
40 Citations
15 Claims
-
1. A system comprising:
-
a telephony Internet server coupling a packet network to a private branch exchange, external communications from said private branch exchange passing through said telephony Internet server; a software dispatcher in said telephony Internet server, said software dispatcher maintaining a list of all messages in said system and dynamically adding packet network software system application features to said private branch exchange; a plurality of dispatcher clients, each identifying to said software dispatcher particular messages for receipt; and said software dispatcher managing listed messages in a pool of threads and sending messages to said plurality of dispatcher clients synchronously and asynchronously, said software dispatcher balancing system workload between said pool of threads, wherein said software dispatcher saves asynchronous messages for later transmission in logical message queues in one or more message threads, sent said messages being sent as flexible message parameters comprising name, type, and value fields and, wherein said value field further comprises another flexible message parameter. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
interfacing a packet network to a private branch exchange (PBX) in an existing private network of a plurality of coupled telephony devices, external communications to said PBX from said plurality of coupled telephony devices passing through said packet network; dynamically adding packet network software features to said existing private network, said packet network software features being added by a software dispatcher; maintaining a list of all messages in said packet network system at said software dispatcher; registering dispatcher clients to receive listed messages with said dispatcher, said dispatcher clients including packet network software subsystems and being identified in said list by a unique identifying integer and node; and dispatching messages to said dispatcher clients synchronously and asynchronously in a pool of threads, asynchronously dispatching messages comprising saving asynchronous messages for later transmission in logical message queues in one or more message threads, said software dispatcher maintaining a balanced workload between said pool of threads. - View Dependent Claims (6, 7, 8)
-
-
9. A telecommunication system comprising:
-
a private branch exchange connected a private communications network; a packet network server interfacing the private branch exchange to a packet network and passing external communications from said private communications network through said packet network; a plurality of software subsystems in said packet network; and a software dispatcher dynamically adding packet network software features to said private communications network, said software dispatcher in said packet network server managing a pool of message threads, said software dispatcher receiving, and synchronously and asynchronously dispatching, messages in each thread to software subsystems responsive to a unique identifying integer and node in each message, asynchronously dispatching messages comprising saving asynchronous messages for later transmission in logical message queues in one or more message threads, while said software dispatcher balances system workload between threads in said pool. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system comprising:
-
a software dispatcher dynamically adding software system features to dispatcher clients, maintaining a list of all messages in the system and managing a pool of message threads the system including one or more processing entities; a plurality of the dispatcher clients including one or more software applications, each dispatcher client identifying to said software dispatcher particular messages for receipt, ones of said dispatcher clients identifying to said software dispatcher messages for sending; and said software dispatcher selectively sending messages synchronously and asynchronously from said pool of message threads to dispatcher clients identified for receipt, said software dispatcher balancing system workload among said pool of message threads, wherein said software dispatcher saves asynchronous messages for later transmission in logical message queues in one or more message threads, sent said messages being sent as flexible message parameters comprising name, type, and value fields and, wherein said value field further comprises another flexible message parameter. - View Dependent Claims (15)
-
Specification