Language selection

Search

Patent 2599407 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2599407
(54) English Title: MANAGING MEDIA SERVER RESOURCES IN A VOIP NETWORK
(54) French Title: GESTION DE RESSOURCES DE SERVEUR MULTIMEDIA DANS UN RESEAU VOIP
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04L 65/1043 (2022.01)
  • H04L 65/1069 (2022.01)
  • H04L 65/403 (2022.01)
  • H04L 67/14 (2022.01)
  • H04L 67/51 (2022.01)
  • H04L 67/52 (2022.01)
  • H04L 67/563 (2022.01)
  • H04L 29/06 (2006.01)
(72) Inventors :
  • BANNER, BARBARA LESLIE (United States of America)
  • DIETRICH, THOMAS J. (United States of America)
  • DOBIN, JAY (United States of America)
  • HEFELE, CHRISTOPHER (United States of America)
  • IBEZIM, JAMES A. (United States of America)
  • MUNSON, GARY A. (United States of America)
  • MURPHY, JAMES WILLIAM (United States of America)
  • RICCIARDI, DOMINIC M. (United States of America)
  • STOKEY, ROBERT JR. (United States of America)
(73) Owners :
  • AT&T CORP. (United States of America)
(71) Applicants :
  • AT&T CORP. (United States of America)
(74) Agent: KIRBY EADES GALE BAKER
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2006-04-17
(87) Open to Public Inspection: 2006-11-02
Examination requested: 2007-08-27
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2006/014882
(87) International Publication Number: WO2006/115976
(85) National Entry: 2007-08-27

(30) Application Priority Data:
Application No. Country/Territory Date
60/674,244 United States of America 2005-04-22
11/321,734 United States of America 2005-12-29
11/321,760 United States of America 2005-12-29

Abstracts

English Abstract




Methods of managing media server resources are disclosed. In an embodiment, a
media server resource broker (140) receives a request for a set of media
server resources from an application server (120). The media server resource
broker determines the service request should be handled by a first media
server (160) based on the type of request and the availability of the first
media server and provides an address of the first media server to the
application server. In another embodiment, an IP node (210) provides a service
request. An application server (120) receives the service request and sends a
request for media server resources to a media server resource broker (140).
The media server resource broker determines that the request should be handled
by a first media server (160). The media server resource broker queries the
first media server to obtain an IP address and port number for use in
establishing a call between the IP node and the first media server. The media
server resource broker then provides a signal to the IP Node so that it can
establish the call with the appropriate port on the media server.


French Abstract

L'invention concerne des procédés de gestion de ressources de serveur multimédia. Dans un mode de réalisation, un courtier de ressources de serveur multimédia (140) reçoit une demande d'un ensemble de ressources de serveur multimédia provenant d'un serveur d'applications (120). Le courtier de ressources de serveur multimédia détermine si la demande de service doit être traitée par un premier serveur multimédia (160) en fonction du type de demande et de la disponibilité du premier serveur multimédia et fournit une adresse du premier serveur multimédia au serveur d'applications. Dans un autre mode de réalisation, un noeud IP (210) fournit une demande de service. Un serveur d'applications (120) reçoit la demande de service et envoie une demande de ressources de serveur multimédia à un courtier de ressources de serveur multimédia (140). Le courtier de ressources de serveur multimédia détermine que la demande doit être traitée par un premier serveur multimédia (160). Le courtier de ressources de serveur multimédia interroge le premier serveur multimédia afin d'obtenir une adresse IP et un numéro de port destinés à être utilisés pour établir un appel entre le noeud IP et le premier serveur multimédia. Le courtier de ressources de serveur multimédia fournit ensuite un signal au noeud IP de sorte qu'il peut établir l'appel avec le port approprié sur le serveur multimédia.

Claims

Note: Claims are shown in the official language in which they were submitted.




17

We claim:


1. A method of providing services to a IP node (210) comprising:
(a) receiving a service request from the IP node in an application server
(120);
(b) requesting media server resources from a media server resource broker
(140) in
response to the service request;
(c) using the media server resource broker to provide a selection of a first
media
server (160) to the application server, the media server resource broker
selecting
the first media server from a set of media servers in response to the request
for
media server resources and one or more parameters related to utilization of
the
media servers in the set of media servers;
(d) establishing a call between the IP node and the first media server; and
(e) providing instructions for managing the call to the first media server
from the
application server.

2. The method of claim 1, wherein the set of media servers includes media
servers
in separate geographical regions.

3. The method of claim 1, wherein the service request in (a) is provided in a
protocol selected from the list consisting of Session Initiation Protocol,
H.323, Media Gateway
Control Protocol, Skinny Client Control Protocol, MiNet, CorNet-IP, Inter-
Asterisk eXchange
Protocol, Skype, and Jajah.

4. The method of claim 1, wherein the requesting in (b) is made directly from
the
application server to the media server resource broker using HyperText
Transport Protocol.

5. The method of claim 1, wherein the requesting in (b) comprises:
(i) sending an INVITE message to a call control element; and
(ii) sending a second INVITE message from the call control element to the
media server resource broker.

6. The method of claim 1, wherein the requesting in (b) includes one or more
attributes selected from the list consisting of nature of the media server
usage, number of ports
needed, type of customer-subscribed service, characteristics of a needed port,
duration of port
usage, conference call identification, geographical preference for the
location of the media
server, and preference for the control protocol to be used.



18

7. The method of claim 1, wherein one of the one or more parameters in (c) is
selected from the list consisting of a capability of each media server in the
set, a number of
ports available in each media server in the set, a geographical location of
each media server in
the set, a current utilization of each media server in the set, and a
scheduled utilization of each
media server in the set.

8. The method of claim 1, wherein the establishing of the call in (e) uses a
Real-
time Transport Protocol.

9. The method of claim 1, wherein the first media server comprises a plurality
of
media servers.

10. The method of claim 1, wherein the providing of instructions in (e)
comprises:
(i) sending commands using a language selected from the list consisting of
Media Session Markup Language, Media Object Markup Language,
Media Server Control Markup Language, Voice eXtensible Markup
Language, Call Control eXtensible Markup Language, and Media
Resource Control Protocol.

11. The method of claim 1, wherein the selecting in (c) comprises:
(i) determining the first media server should provide the requested media
server resources based on a number of available ports suitable to provide
the requested media server resources in each of the media servers in the
set of media servers.

12. A method of controlling utilization of a set of media servers, comprising:
(a) receiving a request for a media server resource in a media server resource
broker
(140);
(b) determining an availability of the requested media server resource for
each
media servers in the set of media servers;
(c) providing an address of a selected first media server (160), the media
server
resource broker selecting the first media server from the set of media servers

based on the determined availability; and
(d) tracking a change in an assignment level of the first media server, the
change
based on the request for the media server resource.



19

13. The method of claim 12, wherein the request in (a) includes one or more
attributes selected from the list consisting of nature of the media server
usage, number of ports
needed, type of customer-subscribed service, characteristics of a needed port,
duration of port
usage, conference call identification, geographical preference for the
location of the media
server, and preference for the control protocol to be used.

14. The method of claim 12, wherein the media server resource broker comprises
at
least one server coupled to a database module and the tracking in (d)
comprises:
(i) updating a record of the assignment level of the first media server stored

in the database module.

15. The method of claim 12, wherein the set of media servers comprises a
plurality
of media servers positioned in different regions.

16. The method of claim 12, wherein the determining of availability in (b)
comprises:
(i) comparing a number and type of ports requested with a number and type
of ports available in each media server in the set of media servers;
(ii) for the media servers capable of providing sufficient ports to meet the
requested quantity and type, selecting the first media server as the media
server with a greatest level of spare ports available after providing the
requested number of ports.

17. The method of claim 12, further comprising:
(e) receiving an update regarding a utilization level of the media server, the
update
coining from a module selected from the list consisting of a media server (16)

and an operation support system (170).

18. The method of claim 17, wherein the update to the utilization level
includes at
least one factor selected from the list consisting of planned downtime,
unplanned downtime,
equipment additions, equipment deletions, per-service reservations, per-
conference
reservations, and media server utilization status.



20

19. The method of claim 12, further comprising:
(e) receiving a request for future media server resources in the media server
resource broker; and
(f) storing a planned assignment associated with the request for future media
server
resources in a database module (150), wherein the determining of availability
of
the media servers in the set of media servers in (b) includes the planned
assignment.
20. A method of processing teleconference call legs over a network,
comprising:
(a) providing to an application server (120) a first request to be connected
to a
conference controlled by the application server based on an incoming call
request received from a border element (215) associated with a first call
origination device (210);
(b) in response to the first request, providing a first resource request for
media
server resources to a media server resource broker (140);
(c) receiving an address of a first media server (160) on the network from the
media
server resource broker; and
(d) establishing a first call leg between the first call origination device
and the first
media server.

21. The method of claim 20, wherein the receiving in (c) comprises:
(i) using the media server resource broker to determine that the first media
server is available to handle the request; and
(ii) providing the address of the first media server.

22. The method of claim 20, wherein the providing in (b) comprises:
(i) receiving a request for media server resources from an application
server; and
(ii) providing the request to the media server resource broker, wherein the
request includes a number of ports required and a preference for
geographic location.

23. The method of claim 20, further comprising:



21

(e) providing a second resource request to the media server resource broker,
the
second resource request modifying a parameter of the resources needed to
support the conference call.

24. The method of claim 20, further comprising:
(e) receiving in the application server a second request to be connected to
the
conference call from a second call origination device (212); and
(f) establishing a second call leg between the first media server and the
second call
origination device, the second call leg being established without querying the

media server resource broker.

25. A method of providing services to a IP node (210) comprising:
(a) receiving a service request from the IP node in an application server
(120);
(b) requesting a media server resource from a media server resource broker
(140) in
response to the service request;
(c) determining with the media service resource broker that a first media
server
(160) is available to meet the service request, the first media server
selected
from a set of media servers in response to the request for media server
resources
and one or more parameters related to utilization of the media servers in the
set
of media servers;
(d) connecting the first media server with the IP node through the media
server
resource broker, the connecting providing an IP address and port number for
use
in establishing a call between the first media server and the IP node;
(e) establishing a call between the IP node and the first media server; and
(f) providing instructions for managing the call to the first media server
from the
application server.

26. The method of claim 25, wherein the set of media server includes media
servers
located in separate geographical regions.

27. The method of claim 25, wherein the service request in (a) is provided in
a
protocol selected from the list consisting of Session Initiation Protocol,
H.323, Media Gateway
Control Protocol, Skinny Client Control Protocol, MiNet, CorNet-IP, Inter-
Asterisk eXchange
Protocol, Skype, and Jajah.



22

28. The method of claim 25, wherein the requesting in (b) is made directly
from the
application server to the media server resource broker using HyperText
Transport Protocol.
29. The method of claim 25, wherein the requesting in (b) comprises:
(i) sending an INVITE message to a call control element (130); and
(ii) sending a second INVITE message from the call control element to the
media server resource broker.

30. The method of claim 25, wherein the requesting in (b) includes one or more

attributes selected from the list consisting of nature of the media server
usage, number of ports
needed, type of customer-subscribed service, characteristics of a needed port,
duration of port
usage, conference call identification, geographical preference for the
location of the media
server, and preference for the control protocol to be used.

31. The method of claim 25, wherein one of the one or more parameters in (c)
is
selected from the list consisting of a capability of each media server in the
set, a number of
ports available in each media server in the set, a geographical location of
each media server in
the set, a current utilization of each media server in the set, and a
scheduled utilization of each
media server in the set.

32. The method of claim 25, wherein the establishing of the call in (e) uses a
Real-
time Transport Protocol.

33. The method of claim 25, wherein the first media server comprises a
plurality of
media servers.

34. The method of claim 25, wherein the providing of instructions in (f)
comprises:
(i) sending commands using a language selected from the list consisting of
Media Session Markup Language, Media Object Markup Language,
Media Server Control Markup Language, Voice eXtensible Markup
Language, Call Control eXtensible Markup Language, and Media
Resource Control Protocol.

35. The method of claim 25, wherein the determining in (c) is based on a
number of
available ports suitable to provide the requested media server resources in
each of the media
servers in the set of media servers.



23

36. A method of controlling utilization of a set of media servers, comprising:
(a) receiving a request for a media server resource in a media server resource
broker
(140);
(b) determining an availability of the requested media server resource for
each
media servers (160) in the set of media servers;
(c) providing an IP address and a number of a port of the first media server
to an IP
node (210); and
(d) tracking a change in an assignment level of the first media server, the
change
based on the request for the media server resource.

37. The method of claim 36, wherein the request in (a) is provided in Session
Initiation Protocol.

38. The method of claim 36, wherein the request in (a) includes one or more
attributes selected from the list consisting of nature of the media server
usage, number of ports
needed, type of customer-subscribed service, characteristics of a needed port,
duration of port
usage, conference call identification, geographical preference for the
location of the media
server, and preference for the control protocol to be used

39. The method of claim 36, wherein the media server resource broker comprises
at
least one server coupled to a database module and the tracking in (d)
comprises:
(i) updating a record of the assignment level of the first media server stored

in the database module.

40. The method of claim 36 wherein the set of media servers comprises a
plurality
of media servers positioned in different regions.

41. The method of claim 36, wlierein the determining of availability in (b)
comprises:
(i) comparing a number and type of ports requested with a number and type
of ports available in each media server in the set of media servers; and
(ii) for the media servers capable of providing sufficient ports to meet the
requested quantity and type, selecting the first media server as the media
server with a greatest level of spare ports available after providing the
requested number of ports.




24



42. The method of claim 36, further comprising:
(e) receiving an update regarding a utilization level of the media server, the
update
coming from a module selected from the list consisting of a media server (160)

and an operation support system (170).


43. The method of claim 42, wherein the update to the utilization level
includes at
least one factor selected from the list consisting of planned downtime,
unplanned downtime,
equipment additions, equipment deletions, per-service reservations, per-
conference
reservations, and media server utilization status.


44. The method of claim 36, further comprising:
(e) receiving a request for future media server resources in the media server
resource broker; and
(f) storing a planned utilization of the request in a database module (150),
wherein
the determining of availability in (b) includes the planned utilization.


45. A method of processing an interactive voice response call over a VoIP
network,
comprising:
(a) providing a service request to an application server (120), the service
request
received from a border element (215) associated with a VoIP phone (210);
(b) providing a request for media server resources to a media server resource
broker
(140);
(c) determining an IP address of a first media server (160) on the VoIP
network;
(d) querying the first media server with the media server resource broker to
determine an IP address and a port number;
(e) connecting the first media server to the border element through the media
server
resource broker; and
(f) establishing a call between the VoIP phone and the first media server.

46. The method of claim 45, wherein the determining in (c) comprises:
(i) comparing the request for media server resources with an availability of
a set of media servers; and
(ii) selecting the first media server from the set of media servers to provide

the media server resources.





25



47. The method of claim 46, wherein the selecting in (ii) comprises:
(1) determining the first media server has a lower assignment level
then the other media servers in the set of media servers.


48. The method of claim 45, wherein the establishing of the call in (f) uses a
Real-
time Transport Protocol.

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
1

MANAGING MEDIA SERVER RESOURCES IN A VOIP NETWORK
BACKGROUND OF THE INVENTION

[01] This international application claims the benefit of provisional
application number
60/674,244, filed on Apri122, 2005, and claims priority to U.S. patent
application Serial
No. 11/321,760 filed on December 29, 2005 and further claims priority to U.S.
patent
application Serial No. 11/321,734 filed on December 29, 2005.

FIELD OF THE INVENTION

[02] The present invention relates to the field of managing media server
resources in a
network configured for use with VoIP.

DESCRIPTION OF RELATED ART

[03] The use of VoIP is known. Basically, VoIP involves using a codec, such as
but not
limited to G.711 with mu-law, to encode a person's audible coriversation
(which is
analog) into data packets (that are digital) so that the digital packets can
be sent over an
Internet Protocol (IP) network. As is known, IP networks may carry other kinds
of
traffic besides voice, such as video or fax in addition to data services (file
transfer,
email, instant messaging, etc.). Such converged or consolidated networks have
economic and operational benefits to network providers and users.

[04] VoIP services may involve media-based caller interactions with equipment
inside the
network, typically Media Servers. Such interactions may be, for example but
without
limitation, for dual tone multi-frequency (DTMF) or speech prompt-and-collect
routines
(which may, for example, be used for Toll-Free services or retrieving
voiceinail), for
hearing announcements, or for participating in audio conference calls. That
notion
generalizes to services other than VoIP, more generally known as Services over
IP
(SoIP) that could include, for example but without limitation, fax store and
forward or
video conferencing.

[05] The logic driving how a media server provides a particular service may be
provided by
an application server. The basic architecture for using application servers
with media
servers is known. However, there may be numerous applications servers working
with


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
2

a larger number of media servers. Therefore, something is needed to manage the
utilization of the media servers with respect to the various application
servers.

BRIEF SUMMARY OF THE INVENTION

[06] Aspects of the invention relate to a method for managing media server
resources
assigned to VoIP calls, and more generally to SoIP. In an embodiment, an
application
server receives a service request originating from an IP node such as a VoIP
phone or
other customer equipment. In response, the application server requests media
server
resources to provide the requested service. The media server resource request
may be
passed to a media seiver resource broker. The media server resource broker
determines
an appropriate media server to provide the requested service and provides this
information to the application seiver. The application server can then cause
the media
server and the IP node to be connected and the application server provides the
logic that
allows the media server to interact with the IP node as needed.

[07] In another embodiment, an application server receives a service request
originating
from an IP node such as a VoIP phone or other customer equipment. In response,
the
application server requests media server resources to provide the requested
service. The
media server resource request may be passed to a media server resource broker.
The
media server resource broker determines an appropriate media server to provide
the
requested service and queries the media server to determine an IP address. The
media
server resource broker can then cause the media server to be connected to the
IP node.
The application server can then provide the logic that allows the media server
to
manage a call with the IP node.

BRIEF DESCRIPTION OF THE DRAWINGS

[08] The present invention is illustrated by way of exainple and not limited
in the
accompanying figures in which like reference numerals indicate similar
elements and in
which:

[09] Figure 1 illustrates a schematic of an embodiment of a system for use in
distributing
VOIP in accordance with an aspect of the present invention.


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
3

[10] Figure 2 illustrates a schematic of an embodiment of a system for use in
distributing
VOIP using an indirect method in accordance with an aspect of the present
invention.
[11] Figure 3 illustrates an embodiment of a method of using the system
depicted in Figure 2
in accordance with an aspect of the present invention.

[12] Figure 4 illustrates a scheinatic of an embodiment of a system for use in
distributing
VOIP using a relay method in accordance with an aspect of the present
invention.

[13] Figure 5 illustrates an embodiment of a method of using the system
depicted in Figure 4
in accordance with an aspect of the present invention.

[14] Figure 6 illustrates an einbodunent of an indirect method in accordance
with an aspect
of the present invention.

[15] Figure 7 illustrates an embodiment of a relay method in accordance with
an aspect of
the present invention.

[16] Figure 8 illustrates an embodiment of a schematic of a distributed set of
media servers
in accordance with an aspect of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[17] As noted above, the architecture for providing VoIP is known and one
example is
disclosed in a white paper entitled "Common VoIP Architecture," AT&T Point Of
View/VoIP, December 22, 2003 and this paper is incorporated by reference in
its
entirely herein. However, motivated by the benefits of sharing, there may be
numerous
applications seivers (AS) supporting various services working with a shared
pool of
media servers (MS).

[18] The use of a shared pool of MSs can make more efficient use of the
resources used to
provide VoIP. For example, greater efficiencies are possible if MS resources
are
managed at a regional level. As the number of MSs being managed increases and
the
locations of the MSs becomes more dispersed, the additional efficiencies that
may be
obtained are even more noticeable.


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
4

[19] Turning to Figure 1, a high level schematic of a system is disclosed. It
should be noted
that each of the elements depicted in the system may be a module comprising
one or
more physical or logical elements linked together. An AS 120 is illustrated as
connected to a call control element (CCE) 130. In general, an AS can provide
services
to users of the telephone system such as voice inail and these services may
include
network resources such as a lightweight directory access protocol (LDAP)
lookup. The
AS can also handle the logic behind connecting multiple parties to a multicast
conference and can provide a script for interacting with users through the
providing of
audible prompts and the collection of responses to those prompts. Therefore,
an AS can
provide the logic necessary to provide a caller with the desired services and
is not
limited to the use of a particular protocol in communicating with other
devices.
Typically, an AS will be programmed for specific functionality. Thus, in an
embodiment, the AS may be programmed to provide the logic needed to handle a
call to
a call center by providing instructions to play one or more recorded messages,
to
provide stractured responses to user inputs and to process received digits as
is coinmon
in interactive voice response (IVR) interfaces.

[20] Typically, the AS 120 will not perform the media interaction with the end-
user itself but
may instead provide instructions to a MS 160. In an einbodiment, the MS 160
may
include a speech recognition engine, a conferencing bridge, a Text-To-Speech
(TTS)
engine, or may play recorded messages and collect digits entered by the caller
so that
the individual may interact with the logic provided by the AS 120.

[21] The AS 120 potentially could interact with the signals received from the
incoming call,
which may be provided using Session Initiation Protocol (SIP), directly.
However, it
may preferably use a call control element (CCE) to act as a proxy for the AS
120.
Therefore, incoming calls can be routed by the CCE and call legs can be added,
modified or removed by the CCE as desired, under the guidance of service logic
in an
AS. Thus, as depicted in Figure 1, the CCE 130 allows the AS 120 to ignore the
details
of how the calls access or egress the network so that the AS 120 can instead
focus on
the logic of how the calls are handled.

[22] While the AS 120 may be configured so as to not directly handle incoming
calls, a
certain amount of information from incoming calls may be helpful to provide
the


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882

desired service. Thus, the AS 120 can be configured to communicate with the
CCE
130. One method of communicating between an AS and the CCE 130 is the use of
the
SIP. Additionally, the AS 120 can be configured to communicate with the MS 160
to
instruct it on what do with respect to the media interaction with the caller.
Such
communication may involve, for example but without limitation, Media Sessions
Markup Langauge (MSML) and Media Objects Markup Language (MOML) or Voice
eXtensible Markup Language (VXML).

[23] The AS 120, the CCE 130 and the MS 160 handle the instructions and the
details of
processing calls. However, as depicted in Figure 8, AS 120a may interact with
MS
modules 161-166, where each MS module is situated in a different region. As
used
herein, each MS module may consist of one or more physical seivers and the
region
may consist of a physical site, a city, a county, a state or a country. Thus,
manageinent
at a regional level would manage two or more regions. It should be noted that
the
provision of MSs in different regions has the benefit of being able to provide
services to
individuals located near or in those regions without the need to span vast
distances.
However, efficient utilization of the various MSs becomes more complex because
simply being aware of what is happening in a particular region does not ensure
that the
total available MS resources in all the regions are being utilized
efficiently.

[24] Additional ASs such as AS 120b may also use the MS 161-166 (the
connections not
shown between AS 120b and the MSs within Figure 8 for the purpose of improving
clarity). However, as the AS 102a and the AS 120b may be operating
independently,
may support different services, and may be provided by different service
providers,
neither the AS 120a, the AS 120b or the MS 161 can be expected to be aware of
the
load on the MS 161 with respect to other MSs.

[25] Therefore, to help improve resource utilization, a media server resource
broker (MSRB)
140 may be utilized. The MSRB 140 receives requests for MS services and
determines
the appropriate MS to provide the requested service, depending on the request
and
current utilization of MSs. The MSRB 140 may consider additional paraineters
related
to utilization other than a simple percentage of usage of available bandwidtll
such as,
but not limited to, geographical origin of the call, proximity of the origin
of the call to
the various MSs, capabilities of the MS, the number of call legs that need to
be


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
6

supported, the type of resources needed (e.g. whether a speech recognition
engine or a
digit collection will be required), the length of time the call legs will be
active, future
reservations (e.g., minimum capacity for a given service, or an upcoming
scheduled
conference call) and any other parameter that may affect the utilization of
the MS and,
therefore, the delivery of the desired service. Soine of the information that
the MSRB
140 employs for selecting MS resources may come in attributes of the request
from the
AS 120, such as, but without limitation, the type of codec needed for the
ports, likely
duration of port usage, geographic preference, number of ports needed,
preference for
control protocol (such as VXML or Media Server Control Markup Language (MSCML)
or Media Resource Control Protocol (MRCP) or the like), conference
identification
number (for scheduled conference calls), the customer service the request is
being made
for or whether DTMF collection or a type of speech recognition is needed.

[26] For example, returning to Figure 1, the MSRB SIP controller 145 may
receive a request
for a MS with speech recognition capability. The request can include a demand
for one
hundred ports for a period of two hours. It should be noted that as used
herein, the term
port is not limited to a physical port but instead refers to a logical port.
Thus, a port can
be considered to be a unit of bandwidth and processing power and capabilities
sufficient
for providing a desired service for each incoming call. Therefore, the need
for one
lhundred logical ports may be satisfied by using a portion of a single
physical port that
has sufficient capacity to handle one hundred or more calls simultaneously.
Moreover, it
suffices for the MSRB to identify an MS address where ports of a desired type
can be
accessed, and track resource assignment at that level, as opposed to
identifying and
tracking the assignment of individual ports.

[27] The MSRB SIP controller 145, which may be a server, can query the MSRB
database
150 to deterinine current utilization, planned utilization and capacity of all
the available
MSs in the network. Continuing with the above example, after determining that
the MS
160 has sufficient capacity to provide one hundred ports for 2 hours, the
address of the
MS 160 may be provided to the AS 120 via the CCE 130. In an embodiment, the AS
and CCE will then deal directly with the MS 160 along connections 122 and 164
to set
up call legs to the MS 160 without further involvement of the MSRB 140. In an
alternative embodiment, the signals will flow through the CCE 130 to the MSRB
140
and onto the MS 160. These two methods will be discussed in greater detail
below.


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
7

[28] When the MSRB 140 provides the AS with the identification of an MS that
can provide
the requested services, the MSRB 140 stores the usage of the MS in the MSRB
database
150. Thus, to continue with the above example, future requests for MS services
will
take into account the fact that MS 160 has one hundred ports that are assigned
for the
two hour period. As the MSRB 140 receives requests for all ASs using the set
of MSs
on the network and the MSRB 140 keeps track of the assignment, based on both
current
requests and reservations, of all the MSs on the network, the MSRB 140 is able
to
provide greater utilization of the various MSs while ensuring that the service
needed by
each AS is provided.

[29] While one hundred ports were requested for a period of two hours in the
above
example, it may be that after one hour almost all the ports are free. For
example, if the
MS 160 was providing IVR for customers calling in response to an advertisement
such
as an infomercial, the end of the infomercial might cause the number of
incoming calls
to be substantially reduced. Because the AS 120 is in the call signaling path,
it is aware
of how many call legs are connected to the MS 160 at any point in time. After
one hour,
the AS 120 handling the calls for the infomercial may decide that the incoming
call
volume is such that only 40 ports are needed for the last hour, and so the AS
120 at that
point may free up 60 of the ports by notifying the MSRB 140 that that many may
be
returned to the MS idle pool. This approach can allow the MSRB to more
effectively
manage the network resources and may also provide other potential benefits. As
depicted, a communication path 175 is provided between one or more Operations
Support Systems (OSS) 170 and the MSRB 140 in order for the MSRB to keep track
of
actual MS utilization as a precaution against the MSRB 140 and set of AS
getting out of
synchronization due to such things as signaling errors or AS failures. The OSS
may
provide utilization updates that include factors such as per-service
reservations, per-
conference reservations, MS planned downtime, MS unplanned downtime, MS
equipment additions and MS equipment deletions. In an embodiinent, MS
utilization
information may come to the MSRB 140 from the MS 160 via the OSS 170 using
path
180. In an alternative embodiment, the utilization information may be provided
directly
using path 162.


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
8

[30] In an embodiment, instead of reducing the number of ports assigned, the
AS 120 may
instead request additional ports from the MSRB 140, if, for example, the call
volume
observed is higher than it had anticipated.

[31] It should be noted, however, that not all requests may be fully met. For
example, a
request for X ports may be received for a first AS in conjunction with a
request from a
second AS for Y ports and a request for Z ports from a third AS and the sum of
X and Y
and Z may exceed the capacity of N ports that is available on the MS. As can
be
appreciated, different MSs have a different number of ports available and
therefore may
have a different utilization level. If the request for X ports from the first
AS is related
to a conference call, and the other requests are related to IVR, then one
possible
response is to grant the request for X ports to the AS and grant a portion of
the requests
for Y and Z ports to the second and third ASs. The second and third ASs can
then
decide whetller to accept the partial provision. Assuining that botll the
second and third
ASs do accept the partial provision, the MSRB notes the number of ports
assigned for
each AS request.

[32] In addition, a request for X ports to support a conference call may
overestimate (or
underestimate) the number of callers that will connect and also may
overestimate (or
underestimate) the time the calls will be connected. Furthennore, an AS can
change its
request to the MSRB for how many ports or types of ports it wants. The MSRB
also is
aware of the utilization of the provided ports by the other ASs. Thus, as
ports become
available they can be shifted to support another AS, as is appropriate.

[33] As depicted in Figure 1, an operation support system (OSS) 170 is
connected to the
MSRB 140. In an embodiment, the OSS 170 can request the MSRB to schedule
future
utilization of resources in response to request for future service. For
example, an
individual planning to have a large conference call with 2000 call legs might
want to
schedule the conference call in advance so as to ensure all 2000 people
planning to
participate in the conference call can actually join the conference call. The
MSRB
could determine, based on any previously schedule utilization, the preferred
MS to
handle the conference call. It should be noted that the MSRB could also adjust
the
scheduled use of MSs so that a more consistent utilization level of each MS
was
provided. Thus, in an embodiment with a first and a second MS, the MSRB might
shift


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
9

the previously scheduled utilization of the first MS to the second MS and
schedule the
first MS to handle the new request. Changes may also be made in response to
varying
priorities (for example, an assignment of ports for a conference call may have
a higher
priority than an assignment of ports for IVR). Additional changes may be made
in
response to technical issues such as the loss of a MS. Thus, the MSRB provides
a
robust and efficient means of utilizing the MSs on the network.

[34] As is well known in the use of VoIP technology, the underlying signaling
among BE,
CCE, MS and AS network elements and between the BE and SIP Phone would be some
combination of protocols, for example without limitation, SIP, H.323, or Media
Gateway Control Protocol (MGCP). In an embodiment using SIP, which could be
einployed between any two of the above elements, a series of request messages
(e.g.,
INVITE, BYE, ACK) and response messages (e.g., 180 Alerting, 200 OK) are used
to
establish and clear media sessions. SIP messages convey address information,
for
example in the form of a SIP URI, to identify SIP signaling entities. SIP
messages may
also convey various types of payload information, including media inforination
using
the Session Description Protocol (SDP), in which case the SDP content would
indicate
such things as the media receive IP addresses and port nuinbers of the media
endpoints
and the cliaracteristics of the media (e.g., G.726-encoded audio). The
exchange of
media addresses establishes the media connection. The media itself is
transferred using
a protocol such as the Real-time Transport Protocol (RTP).

[35] Additionally, Figure 1 is a representation of a VoIP network. The
elements such as the
BE, the CCE, the AS and the MS embody certain typical groupings of functions
found
in VoIP networks. Therefore, these elements should not be limited to disclosed
embodiments but rather are directed to the elements that perform the discussed
functions. For example, in an embodiment the BE may be a Session Border
Controller,
and may perform various security, policy and protocol interworking and
transcoding
functions with respect to network-external entities, which may include
translating
between network-internal and network-external addresses. In an embodiment, the
CCE
may be a Call Agent or Softswitch, and may perfornn basic call handling
functions, such
as routing or AS invocation and interaction. As can be appreciated, these
elements are
not so limited and other known variations of the various elements may be used
as is
appropriate.


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882

[36] Turning to Figure 2 and 3, an embodiment of a method of handling incoming
calls is
illustrated. First in step 305, a phone 210, which is an example of an IP
node, sends an
INVITE message, which is a format used in SIP, to a BE 215. The message may
also
be provided in any other known protocol and this message is an example of a
service
request. The INVITE message may include a destination address and/or some
indication of the type of service desired. The BE 215 then determines whether
to admit
the call based on local policy (e.g. whether the incoming signaling is from an
allowed
IP address, or the requested call bandwidth is within allowed parameters). A
SIP phone
(such as, but not limited to, a Linksys RT41P2) is one example of a call
origination
device, and a call origination device may be connected directly to the network
or via
intermediate networks.

[37] Next, after admitting the call, the BE 215 sends the INVITE message to
the CCE 130 in
step 310. Upon receipt of the message, the CCE 130 can query a service broker
(SB) to
determine if there is any service feature associated with the telephone number
(TN) or
other information in the INVITE. The SB may respond with the address of the
appropriate AS. Then, in step 315, the CCE 130 sends the INVITE message to AS
120,
which is the AS associated witll the TN or other information contained in the
INVITE.

[38] In step 320, the AS 120 requests additional inforination from a network
server (NS)
220. This request, which may be a directory request, may by provided by SOAP,
LDAP, SMTP or some other protocol and may be directed to a server within the
network supported by the MSRB or may be outside the network (e.g. somewhere on
the
Internet).

[39] In step 325, the AS 120 sends an INVITE message to the CCE 130 requesting
MS
resources and desired MS attributes. In step 340 the CCE 130 forwards the
request to
MSRB 140. It should be noted that the MSRB 140 may consist of multiple servers
and
the CCE 120 may send a message to a different server via a round-robin
fashion,
however, a single logical database of activity for all the MSs associated with
the MSRB
140 is required so that the MSRB 140 can keep track of the activity of all the
MS
resources. In other words, different MSRBs should not be able to use the same
MS
resources.


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
11

[40] In step 345, the MSRB 140 determines the appropriate MS in light of the
request and
current/planned utilization levels. For conference calls it may be preferable
to use a
single MS to handle all the call legs for a given conference. For IVR type
calls,
however, multiple MS may be used effectively and therefore the MSRB 140 may
determine that different MSs may provide a portion of the requested ports,
either in a
pure split or in a weighted allocation depending on the existing utilization
of the various
MSs.

[41] In step 350 the MSRB 140 provides the MS address and any other
appropriate
information to the AS 120 via the CCE 130. If the AS request could not be
granted as
stated, the MSRB may respond with an alternative (e.g., 50 ports can be
provided at a
MS in the western United States, whereas the request was for 100 in the
eastern United
States). In step 355, the AS 120 instructs the CCE 130 to set up a call leg
with the MS
160. In step 360, the CCE 130 sends an INVITE message to MS 160, requesting
the
MS 160 to participate in the call. In step 365, the MS 160 sends a response to
the CCE
130, accepting the call. In step 370, the CCE 130 relays the response to BE
215. In
step 375, the BE sends the response to the phone 210 so that the phone 210 and
the MS
160 may establish a media link. In step 380, the AS 120 provides instructions
to the
MS 160 for handling the phone call fiom 210. If the AS 120 determines that
some or
all of the MS resources are no longer needed, for example a call or conference
has
ended or fewer ports are needed, it may communicate with the MSRB 140 to have
all or
some number of the ports returned to the MS idle resource pool. In an
embodiment, the
AS may determine the current need for ports does not correspond witli initial
request for
the number, type or mix of types of ports. In addition, the currently-assigned
ports may
be needed for an additional period of time. For example, an AS may initially
request a
number of ports with G.711 coding, and at some subsequent time determine that
a mix
of three quarters of G.711 ports and one quarter G.726 ports are required. The
AS can
send a new request to the MSRB requesting the new mix. Depending on wllat MS
resources are available and whether the MS resources currently assigned for
that
conference can also support G.726, the MSRB may respond to the AS with
requested
G.726 ports from the same MS resources or from a different MS resource.

[42] It should be noted that the actual media stream travels between the phone
210 and the
MS 160 via link 280 (via the BE 215), thus the prior discussion relates to the
routing of


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
12

requests for service and signals relating to providing service rather than the
routing of
the actual media streain, which may be provided in real-time transport
protocol (RTP).
[43] As can be appreciated, the above method allows a MSRB to make an initial
determination of an appropriate MS for a conference call for up to X legs and
provide
the information to an AS. From that point on, additional call legs attempting
to join the
conference call can simply be sent by the AS to the already-known MS address
for the
MS resources handling that conference. The AS does not have to make a request
to
MSRB for each individual call. This "indirect" inethod of utilizing the MSRB,
where
the AS requests to MSRB for MS resources and notifies the MSRB when the MS
resources are no longer being used in separate steps from the step of setting
up of call
legs to or clearing call legs from the MS, has some advantages over other
methods.
Some of the possible advantages may include (1) allowing it to be the AS to
determine
when assigned MS resources are no longer needed, as opposed to the MSRB
inferring it
from call clearing messages - which, for exainple, may be useful in a
conferencing
situation; (2) allowing for the AS to revise a request for more or less or
different
resources for a call or collection of calls; (3) allowing for resource
negotiation between
the AS and MSRB; (4) allowing for a conference call to span multiple MS
physical
units and have the AS be the network elelnent that links them together and
manages the
conference as a whole. The indirect method can also be used in an IVR
solution. One
possible disadvantage of the indirect method in a case where an IVR service is
being
provided, (in such a scenario it can generally be safely inferred that the MS
port can be
freed up when the call is cleared), is that there may be a greater delay in
determining
that an MS port can be freed. However, the indirect method allows the AS to
have
greater control over how the resources are allocated and reduces the burden on
the
MSRB and these benefits may outweigh any disadvantage.

[44] The interaction between AS and MSRB can be fundamentally regarded as
database
requests and responses, where MSRB is the database. While the above discussion
provides details regarding the communication between the AS and MSRB via the
CCE
using SIP, in an alternative embodiment, the AS and MSRB may communicate
directly.
In an embodiment, the AS and MSRB may communicate using HTTP instead of SIP.
For example, the AS may use HTTP GET messages to request MS resources and HTTP
POST messages to have MSRB return them to the idle pool. As can be
appreciated, any


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
13

other suitable protocol for direct communication between the AS and MSRB may
also
be used.

[45] Turning to Figures 4 and 5, an alternative embodiment of a method of
handling
incoming calls is illustrated. Steps 504 through steps 520 are essentially the
same as
steps 305 through steps 320 in Figure 3. In step 524, the AS 140 sends an
INVITE to
the CCE 130 that is both together a request for MS resources for that call and
a request
to establish that call to a MS. In step 530, the CCE 130 forwards the request
for MS
resources and call establislunent to the MSRB 140 and the MSRB 140 determines
that
MS 160 is the appropriate MS in light of the request and known/planned
utilization. In
step 534, the MSRB 140 sends an INVITE message to MS 160 to set up the call
leg. In
step 540, the MS 160 responds to the MSRB 140 accepting the incoming call
request.
In step 544, the MSRB sends the response message to the AS 120 through
pat11460 so
that the information passes through the CCE 130. In step 560, the AS 120 sends
a call
setup response message via the CCE 130 to the BE 415. In step 564, the BE 415
provides a call setup response messages to the phone 210. In step 570, the MS
160
retrieves a script from AS 120. In step 574, the MS 160 sends audio to the
phone 210
over link 280 so as to begin to the interactive service. In step 580 the call
ends and the
MSRB 140 infers from the SIP clearing signaling that the MS resource can be
returned
to the idle pool.

[46] As can be appreciated, the MSRB 140 relays call establishment requests
from the AS
120 to the MS 160. Thus, for services such as IVR, the embodiment of this
"relay"
method depicted in Figures 4-5 provides a different interaction with the MSRB
than the
embodiment of the indirect method depicted in Figures 2-3. The relay metlzod
allows
the MSRB to more quickly determine when MS resources can be returned to idle
in the
case where it can be infeiTed from observing call clearing, and it involves
fewer steps
between the AS and MSRB than does the indirect method. However, the relay
method
may be more restrictive than the indirect method with regard to the amount of
control
that an AS can exert, as previously described.

[47] Figures 6 and 7 provide additional illustrations of indirect and relay
methods,
respectively. As can be appreciated, both methods have certain advantages.


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
14

[48] Looking first at Figure 6, in step 610, an AS requests MS resources. In
an embodiment,
the request may be to initiate a conference call including X number of ports.
In step
615, the CCE forwards the request to the MSRB (which, as noted above, may be
one or
more physical servers sharing a single logical database). In step 620 the MSRB
determines the MS location. This determination can include a geographical
component
so as to minimize transmission delays. In step 625, the MSRB sends a 200 OK
signal to
the AS via the CCE with the address of the MS.

[49] In step 630, the CCE sets up call legs between the MS and the various
phones at the
request of the AS. In step 635, a control leg is set up between the AS and the
MS. The
control leg allows the AS to provide instructions to the MS, such as muting
all but the
speaker's leg voice input, or playing an announcement to all the conference
legs, or
creating a sidebar conference, or mixing the input from the N loudest legs.
Furthennore,
if all the reserved ports are being used, the AS can request additional ports.
This
typically is not an issue because often the request may include some
additional ports to
provide a safety factor. To further protect against running out of ports, a
percentage of
the requested number of ports can be tentatively assigned for the call period
and once
the AS determines the ports are not needed they can be released for other
usage. It
should be noted that if the extra ports, which would act as a buffer against a
higher than
expected level of participation in the call, are provided, they may be shared
witll more
than one call.

[50] In step 640, the call ends. This can be determined by the termination of
the final call
leg. Once the call ends, in step 640, in step 645 the AS signals the MSRB that
the
resources may be unassigned. In an einbodiinent the signal may be a BYE
message. In
step 650 the previously assigned MS resources are return to the idle pool.

[51] Turning now to Figure 7, a high level illustration of a relay method is
depicted, again
assuming a conference call scenario. In step 705, when the first call leg for
the
conference comes into the network, the AS requests a MS resource in the same
message in which it requests that that call leg be established to a MS. The
request
should include the type of MS resources needed and the number of ports needed.
The
request may also include information about the geographic region of the caller
as well
as the expected time of the call, if known. In the depicted embodiment, the
request is in


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882

the form of an INVITE message sent to the CCE. In step 710, the CCE sends an
INVITE message to the MSRB with the same request information. In step 715, the
MSRB determines the location of the appropriate MS and tracks the assignment
in the
MSRB database so that the assignment of the MS is kept current.

[52] Next, in step 720 the MSRB sends an 1NVITE message to the MS to create
the call leg.
As can be appreciated, less information may be provided to the MS because the
MS
does not have to determine its availability versus other MSs. In step 725, the
MS
responds to the MSRB by sending a response message to the call setup request
that
indicates acceptance of the call (e.g., 200 OK). In step 730, the MSRB
provides this
information to the CCE so that the caller can be connected to the MS. It
should be
noted that the signaling path passes through the AS on the way to the CCE,
thus the
signaling path from the phone to the MS passes from BE to CCE to AS to CCE to
MSRB to MS.

[53] In step 740, the MS retrieves the script and any needed files fiom the
AS. The script
may be in a VXML format and the retrieval can be accomplished via HTTP or some
other appropriate protocol. In step 745, the caller and the MS interact. The
media
interaction, whicli may take place on the link 280 (Figure 4) between the MS
and the
phone, may use any appropriate protocol such as RTP for transmitting the audio
stream
in a known maruier.

[54] Once the interaction is complete, in step 750 the AS clears the call
toward the MS and
the caller. In step 755, the MSRB observes the clearing of the call and
returns the MS
resources to the idle pool. As can be appreciated, as the MSRB is in the
signaling path
for clearing the call, the MSRB receives rapid notification that the port is
no longer
being used in cases where it can be inferred from the clearing of the call
leg. However,
for a large conference call, the fact that the MSRB is in the signaling path
of each call
leg may tend to increase the workload of the MSRB.

[55] Therefore, the indirect metllods can allow the AS to have greater control
over how the
ports are being used and may be preferable, for example, for handling large
conference
calls. However, the relay method may be able to provide a quicker update on
the status
of each call leg and may be preferable for handling IVR type calls. It should
be noted,
however, that neither metlzod is limited to a particular type of call.


CA 02599407 2007-08-27
WO 2006/115976 PCT/US2006/014882
16

[56] The present invention has been described in terms of preferred and
exemplary
embodiments thereof. Numerous other embodiments, modifications and variations
within the scope and spirit of the appended claims will occur to persons of
ordinary skill
in the art from a review of this disclosure.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 2006-04-17
(87) PCT Publication Date 2006-11-02
(85) National Entry 2007-08-27
Examination Requested 2007-08-27
Dead Application 2013-01-14

Abandonment History

Abandonment Date Reason Reinstatement Date
2012-01-16 R30(2) - Failure to Respond
2012-04-17 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $800.00 2007-08-27
Application Fee $400.00 2007-08-27
Maintenance Fee - Application - New Act 2 2008-04-17 $100.00 2008-03-28
Maintenance Fee - Application - New Act 3 2009-04-17 $100.00 2009-03-25
Maintenance Fee - Application - New Act 4 2010-04-19 $100.00 2010-03-26
Maintenance Fee - Application - New Act 5 2011-04-18 $200.00 2011-03-28
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
AT&T CORP.
Past Owners on Record
BANNER, BARBARA LESLIE
DIETRICH, THOMAS J.
DOBIN, JAY
HEFELE, CHRISTOPHER
IBEZIM, JAMES A.
MUNSON, GARY A.
MURPHY, JAMES WILLIAM
RICCIARDI, DOMINIC M.
STOKEY, ROBERT JR.
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2007-08-27 1 78
Claims 2007-08-27 9 398
Drawings 2007-08-27 8 128
Description 2007-08-27 16 931
Cover Page 2007-11-20 2 46
Representative Drawing 2010-08-06 1 6
Description 2011-04-06 19 1,029
Claims 2011-04-06 10 377
PCT 2007-08-27 3 93
Assignment 2007-08-27 5 119
Correspondence 2007-11-15 1 26
Correspondence 2007-11-06 2 68
Prosecution-Amendment 2010-10-14 4 153
Prosecution-Amendment 2011-04-06 20 820
Prosecution-Amendment 2011-07-14 2 93