throbber
US007324637B2
`
`(12) United States Patent
`Brown et a].
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,324,637 B2
`*Jan. 29, 2008
`
`(54)
`
`(75)
`
`RESOURCE ALLOCATION SYSTEM AND
`METHOD
`
`Inventors: Barry D. Brown, Mesquite, TX (US);
`John S. Hogg, Hurst, TX (US)
`
`(73)
`
`Assignee: Securus Technologies, Inc., Dallas, TX
`(Us)
`
`(51)
`
`(52)
`
`(58)
`
`Int. Cl.
`
`US. Cl. .......... ..
`
`(2006.01)
`(2006.01)
`379/207.02; 370/259; 379/201.05;
`379/201.12; 709/226; 718/104
`Field of Classi?cation Search .............. .. 370/259;
`379/201.01, 201.05, 201.12, 207.02, 220.01,
`379/229, 230, 242, 268, 269; 709/226; 718/104
`See application ?le for complete search history.
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`USC 154(b) by 0 days.
`
`(56)
`
`References Cited
`
`U. S. PATENT DOCUMENTS
`
`This patent is subject to a terminal dis
`claimer.
`
`(21)
`
`(22)
`
`(65)
`
`(63)
`
`Appl. N0.: 11/609,397
`
`Filed:
`
`Dec. 12, 2006
`
`Prior Publication Data
`
`US 2007/0127672 A1
`
`Jun. 7, 2007
`
`Related US. Application Data
`
`Continuation of application No. 11/147,979, ?led on
`Jun. 7, 2005, noW Pat. No. 7,164,761, Which is a
`continuation of application No. 10/421,990, ?led on
`Apr. 22, 2003, noW Pat. No. 6,904,139, Which is a
`continuation of application No. 10/115,488, ?led on
`Apr. 2, 2002, noW Pat. No. 6,560,325, Which is a
`continuation of application No. 09/072,436, ?led on
`May 4, 1998, noW Pat. No. 6,381,321.
`
`6,381,321 Bl* 4/2002 Brown et a1. ........ .. 379/20702
`
`* cited by examiner
`
`Primary ExamineriHarry S. Hong
`(74) Attorney, Agent, or F irmiFenWick & West LLP
`
`(57)
`
`ABSTRACT
`
`A telecommunication system includes telecommunication
`resources, points, and a connection manager. The connection
`manager is con?gured to establish connections between the
`telecommunications resources and the points in response to
`a request from an application. The connection manager uses
`routing tables to select the most ef?cient route from the
`available routes between a telecommunications resource and
`a point. The routing tables establish the connection by
`sending a request to allocate a telecommunications resource
`to a session manager.
`
`8 Claims, 12 Drawing Sheets
`
`START
`
`1 1 10
`
`TRKQ'GER
`
`EVENT SIGNAL
`
`“.15
`
`1130
`ALLOCATlON ~—/
`OF A TR
`
`V
`
`1120
`TR RECEIVES \/
`EVENT SIGNAL
`
`APPLICATION 1135
`COMPLETES —/
`EXECUTION
`
`‘7
`PASS EVENT 1125
`SIGNAL TO
`TELECOMM
`UNICATION
`SERVCE
`KERNEL
`
`V
`
`1140
`DE-ALLOCATE J
`TR
`
`‘7
`
`RESULT
`RE-ALLOCABLE
`
`1145
`
`GTL 1001
`IPR of U.S. Patent 7,324,637
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 1 0f 12
`
`US 7,324,637 B2
`
`ZQEQQZDEEOOMJMP
`
`
`
`EmFw>w wO_>mm_m
`
`.0:
`
`vEO>>PwZ
`
`owe
`
`mPw
`
`ZPmQ OF
`
`v .QE
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 2 of 12
`
`US 7,324,637 B2
`
`1103
`
`
`
`/
`
`Q1
`
`FIG.2a
`
`CPU 205
`
`MEM 210
`
`i
`
`\STORAGE 215
`
`V
`
`Ii
`m. -l '3
`
`MEZZANIN:BUS 230
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 3 0f 12
`
`US 7,324,637 B2
`
`wuuw
`EDD U
`
`0
`
`
`
`amsu EMF-m
`
`00000“. D Em mm
`
`00000.“. D Em mm
`
`
`xmobmwz op EEG m m.
`non §whm>w XKOZFmZ
`
`
`ummnmU D
`
`momm E.
`
`
`
`.wDm m7:
`
`UH
`DUB
`
`momw
`
`EU mm
`
`DUUQDHD
`
`$8 unnmmnug
`
`EU mm 6%
`
`QN .QE
`
`0175
`N.LSd OJ.
`
`98E
`ELLS 0.1.
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 4 0f 12
`
`US 7,324,637 B2
`
`ZQEQQZDEEOOM-EP
`
`
`
`.mzmmx mOSMmw
`
`0mm
`
`m _‘ m M33002
`
`
`
`wwosmmw wmOO
`
`mow 3&0
`
`m .GE
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 5 of 12
`
`US 7,324,637 132
`
`Ewkm>w
`
`OZ’V EOVdHEJiNI EOIAEIG 'lVfliHlA
`
`
`
`orrL_mwv.¢‘mo<mm~2mmo<z<5
`
` <I20.23%A3300.2wwoSmmmmmoozofiomzzoo
`
`
`
`mm0<z<_2mw0<z<2
`
`
`
`m3»omv
`
`mm<>>om<I
`
`mwO<Z<E
`
`mmv
`
`momDOmmm
`
`mwO<Z<E
`
`03V
`
`
`
`ZOflmwmw ommszmmx
`
`ZOfi<QZDEEOOM4mF
`
`mo_>mm_w
`
`
`
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 29, 2008
`Jan. 29, 2008
`
`Sheet 6 0f 12
`Sheet 6 of 12
`
`9
`US 7,324,637 B2
`US 7
`324,637 B2
`
`AzO:.<o_u:._.2mo_
`
`o::23
`
`>._.3m_<.:<><
`
`.523kiwi
`
`m:
`
`mjm<|:<><
`
`.223400a
`
`0N5
`
`HZm>m
`
`ZO_._.<O_n=._.OZ
`
`
`
`mg.:23
`
`ZOF<Ofiaa<
`
`ZO_._.<m._.w_Om_m
`
`.EZD
`
`OE
`
`OZEMMXXOOm
`
`.523
`
`omm
`
`>mOkzm>Z_
`
`
`
`own.223
`
`ZO_._.<O_.En_<
`
`owm.523ngb
`
`ZO_._.<O_._n_n_<
`
`.EZDmwmmZ/ch.
`
`0mm
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 7 0f 12
`
`US 7,324,637 B2
`
`
`
`.223 >|Ewm
`
`05
`
`
`
`\kwmDOmE WE.
`
`UZEDOKU
`
`.223
`
`0%
`
`03.
`
`m .QI
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 8 0f 12
`
`US 7,324,637 B2
`
`
`0mm mOmDOwwm
`292223220055 2
`
`
`
`.ZZD 02mm
`
`0N0?
`
`02422200
`
`2, .GE
`
`17
`
`
`
`E23 mZmOmK
`
`05?
`
`A /V.
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 9 0f 12
`
`US 7,324,637 B2
`
`1110
`
`TRIGGER
`
`1115
`‘J
`EVENT SIGNAL
`
`1130
`ALLOCATION -/
`OF ATR
`
`1120
`/
`
`TR RECEIVES
`
`EVENT SIGNAL
`
`1135
`
`APPLICATION
`COMPLETES -/
`EXECUTION
`
`PASS EVENT 1125
`SIGNAL TO ~/
`TELECOMM-
`UNICATION
`SERVCE
`KERNEL
`
`1140
`DE-ALLOCATE J
`TR
`
`RESULT
`RE-ALLOCAB LE
`
`1145
`
`FIG. 11
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 10 0f 12
`
`US 7,324,637 B2
`
`START
`
`1 O
`'1
`2
`
`1
`
`START
`
`1
`B13,’ 0
`
`If
`DETECT EvENT 1215
`SIGNAL AT
`HARDWARE J
`MANAGER
`MODULE
`
`v
`
`NOTIFY SYSTEM 1220
`MANAGER __/
`MODULE OF
`EVENT SIGNAL
`
`v
`ESTABLTSH
`1225
`APPLICATION R/
`SESSION
`
`NOTIFYSESSION 1230
`MANAGER
`/
`MODULE
`APPLICATION
`INITIALIZATION
`
`1235
`RESULT P
`
`(
`
`FIG. 12
`
`f
`
`PROVIDE
`REQUIREMENTS
`FOR TR
`
`‘1315
`
`TR AVAILABLE?
`
`1325
`
`1330
`
`REQUEST TR FROM
`RESOURCE
`MANAGER MODULE
`
`7
`
`REQUEST TR FROM
`HARDWARE
`MANAGER MODULE
`
`1335
`
`RESULT
`
`FIG. 13
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 11 0f 12
`
`US 7,324,637 B2
`
`1415
`\/ REQUEST
`RECEIVED FROM
`APPLICATION
`
`"
`1420
`M BEST ROUTE
`DETERMINED
`AND SETUP
`
`RETURN TELE
`COMMUNICATION
`RESOURCES TO
`POOL
`
`1455
`
`RETURN NO
`VERIFY To
`APPLICATION
`
`1450
`
`v
`
`RESULT
`
`143D
`\/ RETURN
`VERIFICATION TO
`APPLICATION
`
`FIG. 14
`
`

`

`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 12 0f 12
`
`US 7,324,637 B2
`
`(
`
`START
`
`'ID'IU
`
`> /
`
`<
`
`START
`
`1610
`
`v
`
`1515
`RECEIVE COMMAND _/
`FROM APPLICATION
`
`V
`1615
`NOTIFY SESSION
`MANAGER MODULE /
`EXECUTION
`COMPLETED
`
`1520
`
`'
`TRANSLATE
`COMMAND TO __/
`TELE
`COMMUNICATION
`SPECIFIC
`COMMAND
`
`17
`
`ISSUE COMMAND 1525
`TO TELE-
`“J
`COMMUNICATION
`RESOURCE
`
`r
`
`1530
`
`(
`
`RESULT
`
`>—-/
`
`V
`1620
`SHUT DOWN
`APPLICATION “/
`
`1625
`
`NOTIFY RESOURCE
`MANAGER MODULE /
`OF EXECUTION
`COMPLETION
`
`"
`RETURN
`RESOURCES TO
`HARDWARE
`MANAGER MODULE
`
`1630
`/
`
`V
`RESULT
`
`1635
`}\ /
`
`I
`
`FIG. 15
`
`F1G_ 15
`
`

`

`US 7,324,637 B2
`
`1
`RESOURCE ALLOCATION SYSTEM AND
`METHOD
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of US. patent applica
`tion Ser. No. 11/147,979, ?led on Jun. 7, 2005 now US. Pat.
`No. 7,164,761, Which is a continuation of US. patent
`application Ser. No. 10/421,990, ?led on Apr. 22, 2003,
`issued as US. Pat. No. 6,904,139 on Jun. 7, 2005, Which is
`a continuation of US. patent application Ser. No. 10/115,
`488, ?led on Apr. 2, 2002, issued as US. Pat. No. 6,560,325
`on May 6, 2003, Which is a continuation US. patent appli
`cation Ser. No. 09/072,436, ?led on May 4, 1998, issued as
`US. Pat. No. 6,381,321 on Apr. 30, 2002, the contents of
`each of Which is incorporated by reference herein.
`
`BACKGROUND
`
`1. Field of the Art
`This invention relates to the ?eld of telecommunications
`systems, and more particularly, to systems and methods for
`allocating telecommunication resources to an application in
`a telecommunications system.
`2. Description of the Related Art
`Conventional computer telephony products alloW for con
`necting applications to particular computer telephony
`resources, or components. To connect these components
`Within a computer telephony product, the application must
`be Written to use each manufacturers programming interface
`for the application to be able to communicate With the
`telephony resources. For each telephony resource Within a
`computer telephony product, it is necessary to Write a
`portion of the application that is dedicated to issuing instruc
`tions to that particular type of telephony resource.
`In conventional computer telephony products, each appli
`cation includes a design phase, coding phase, testing phase,
`and integration phase. Speci?cally, each portion of the
`application must be designed to integrate With a speci?c
`functionality of each dedicated computer telephony resource
`and the overall product. This functionality is speci?cally
`coded, or Written, using computer language code. Each
`coded portion of the application is then tested to ensure that
`it functions exactly as designed. Finally, each portion of the
`application must be integrated to create the ?nal product.
`In creating such conventional computer telephony prod
`ucts, multiple development paths are folloWed during the
`development cycle. Further, the complexity of conventional
`computer telephony products requires a large number of
`paths and a large number of operations along each path.
`Speci?cally, these paths must be folloWed for each portion
`of the overall system, such as an interface to a particular
`computer telephony resource or a particular user interface.
`Moreover, in every instance that a computer telephony
`resource is changed or added, the appropriate development
`paths must also be changed or added. This is particularly
`troublesome When the computer telephony resource
`involves different types of hardWare.
`To help ease development, a ?rst generation of softWare
`based computer telephony products used Computer Aided
`SoftWare Engineering (CASE) tools to design systems.
`These conventional CASE development systems make it
`easier to determine hoW many paths or What changes are
`needed on a given path to build or recon?gure a computer
`telephony product. These conventional systems, hoWever,
`do not reduce complexity because they can not, for example,
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`reduce the number of paths needed to complete changes in
`a conventional computer telephony product.
`A second generation of softWare based computer tele
`phony products used Code Generators (CG) to design sys
`tems. The CG development systems automated the process
`for developing paths to completion. This makes the actual
`time spent folloWing the paths to completion more reason
`able. Conventional CG developed or derived systems, hoW
`ever, have numerous drawbacks. For example, similar to the
`conventional CASE developed systems the CG developed
`systems cannot reduce the number of paths necessary to be
`folloWed for completion.
`Moreover, any additional computer code input beyond
`that generated by the CG program is lost and must to be
`re-done for each change in the path to completion. These
`changes, of course, are tedious and laborious and the process
`is prone to introducing neW or additional errors into the
`computer telephony product.
`To further help ease the development process, a third
`generation of computer telephony products developed
`through the vendor companies that produce the computer
`telephony resources. Speci?cally, these vendors developed
`tWo divergent design schemes that provide design speci?
`cations that computer telephony resource manufactures
`might folloW. If folloWed, the speci?cations alloW for com
`puter telephony resources from different vendors to operate
`Within the same computer telephony product.
`The ?rst of the tWo design schemes developed is Multi
`Vendor Interface Protocol (“MVIP”) and the second design
`scheme is SCBus. It is noted that the original design scheme
`Was called SCSA for Signal Computing System Architec
`ture, later this Was modi?ed to SCBus, Which is Signal
`Computing Bus, and it has noW been extended for multi
`chassis integration and is call SCxBus for Signal Computing
`extended Bus.
`Although these design schemes alloW for having multi
`vendor computer telephony resources Within a single con
`ventional computer telephony product, there are still draW
`backs to this generation of computer telephony products.
`Foremost among the problems is that these standards only
`apply to the communications betWeen telephony resources
`and make no changes in the application to telephony
`resource communication. That is, With the MVIP or SCBus
`protocol, it is possible to put different vendor’s hardWare
`into the same product, but the application must still be
`Written to each individual telephony resource Within the
`product.
`In an attempt to address the shortcomings of the previous
`three generations, a fourth generation of computer telephony
`products Was developed. These conventional computer tele
`phony products Were developed using the MVIP and SCBus
`design schemes and layered on a neW application protocol
`that alloWed multiple applications to run on a given set of
`computer telephony resources.
`These conventional computer telephony products do
`alloW for allocating multiple computer telephony resources
`among multiple applications, but only in a static manner.
`That is, resource allocation in these products is ?xed during
`an initialiZation of the product by using a con?guration ?le
`provided by a product administrator and this con?guration
`?le cannot be changed Without re-starting or re-initialiZing
`the product Which, of course, requires all applications to be
`shut doWn.
`This fourth generation of computer telephony products
`still has a number of draWbacks. For example, the computer
`telephony resources must be allocated to an application
`before any application goes into operation. Further, these
`
`

`

`US 7,324,637 B2
`
`3
`products lack ?exibility, such as dynamic con?guration,
`because all resources must be allocated at initialiZation to
`particular applications. Moreover, these products lack
`dynamic scalability because the addition or subtraction of
`neW computer telephony resources requires re-start and
`re-initialiZing of the computer telephony product.
`Therefore, there is a need for a telecommunication system
`and method that (1) allows for dynamic con?gurability of
`telecommunication resources that (2) does not require appli
`cations to be dedicated to particular telecommunication
`resources at development or system initialization, While (3)
`providing system ?exibility and scalability by allowing for
`addition or subtraction of telecommunication resources
`Without re-initialiZing the telecommunication services sys
`tem and (4) provides feWer and shorter paths to completion
`for applications.
`
`SUMMARY
`
`The present invention includes a telecommunication (in
`cluding computer telephony) system and a method for
`dynamically allocating one or more telecommunication
`resources to a requesting telecommunications application
`Within a telecommunications product. The present invention
`includes computer hardWare components; for example, a
`central processing unit, a memory, and a storage device that
`are coupled through a data bus line. The present invention
`may also include other computer hardWare components; for
`example, a video card, a serial port, a device controller, and
`a netWork card.
`In one embodiment, the telecommunication system or
`product also a plurality of telecommunication resources and
`a telecommunication services kernel. The telecommunica
`tion system Works With one or more applications that
`provide telecommunication functions. Each application is
`capable of responding to an event generated Within the
`telecommunication system. Further, at least one telecommu
`nication resource is capable of generating an event for a
`requested application. This event may include executing
`(processing) a requested application.
`The telecommunication services kernel couples the
`requested application With a required telecommunication
`resource or resources for that application. When the appli
`cation completes execution and ?nishes use of the telecom
`munication resource or resources, the telecommunication
`services kernel de-couples the required telecommunication
`resource or resources from the requested application and
`makes it available for another instance of that application or
`another application Within the system.
`In one embodiment, the telecommunication services ker
`nel includes a system manager module, a session manager
`module, a hardWare manager module, a resource manager
`module, and a connection manager module. The modules are
`coupled through a core services module interface to a core
`services module. The core services module passes messages
`betWeen an operating system that interfaces With the hard
`Ware components of the telecommunication system, and the
`modules of the telecommunication services kernel.
`The system manager module provides an inventory of the
`plurality of logical telecommunication resources in the tele
`communication system. In addition, the system manager
`starts applications as requested in response to the event. The
`session manager module is coupled to the system manager
`and registers each application that is started and currently
`executing in the telecommunication system.
`The hardWare manager module initially con?gures each
`physical telecommunication resource and maps physical
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`resources into logical units that is in or added to the
`telecommunication system. The hardWare manager module
`also tracks each telecommunication resource that is not
`allocated from the plurality of telecommunication resources.
`The resource manager is coupled to the hardWare manager
`module. The resource manager module tracks each telecom
`munication resource that is allocated to and in use by any
`application.
`The connection manager module is coupled to the
`resource manager module. The connection manager module
`establishes routing information in the telecommunication
`system using internal routing tables, internal and external
`telephony resource mapping, and it’s oWn internal connec
`tion map. The routing information includes voice and data
`paths both internally, as Well as externally to, the telecom
`munication system.
`Where possible, the connection manager provides a route
`from this routing information to a telecommunication
`resource in response to the telecommunication resource
`needing a particular voice or data path. The connection
`manager then noti?es the application that the path is either
`successfully set up or Was not successful, in Which case each
`application must determine What further action may be
`necessary.
`The telecommunication system also includes a virtual
`device interface that is coupled, or may be integrated With,
`to the telecommunication services kernel. The virtual device
`interface provides an interface betWeen an application and
`the telecommunication services kernel. The virtual device
`interface is a virtual telephony resource having all possible
`telecommunication resource capabilities. The virtual device
`interface includes a translation unit, a command receive unit,
`and a command send unit.
`The command receive unit receives a request from the
`application to perform a particular function. The translation
`unit translates this virtual device command from the appli
`cation to the speci?c hardWare-related commands that can
`be understood by the vendor- or standards-speci?c telecom
`munication resources in the telecommunication system. The
`command send unit issues the speci?c commands to the
`speci?c telecommunication resource. The components and
`process also function vice versa so that a telecommunication
`resource command is translated for the application.
`Thus, applications may be Written to this single interface
`rather than to each speci?c interface associated With each
`telecommunication resource. This alloWs development of
`systems Without prior knoWledge or understanding of the
`capabilities of particular hardWare vendors or other tele
`phony resources, thereby reducing and shortening the num
`ber of development paths necessary.
`The telecommunication system provides a process for
`dynamically assigning at least one telecommunication
`resource to the application requesting the telecommunica
`tion resources in response to the triggering event signal.
`Speci?cally, the event signal is received by the telecommu
`nication services kernel. The telecommunication system
`starts and executes an application in response to the event
`signal.
`The application then signals a request for a telecommu
`nication resource from the telecommunication services ker
`nel. In response to this request, the telecommunication
`services kernel determines if a telecommunication resource
`is available for allocation. If a telecommunication resource
`is available for allocation it proceeds to allocate that avail
`able telecommunication resource to the application. If tele
`communication resources are not available, the application
`
`

`

`US 7,324,637 B2
`
`5
`is noti?ed and the application provides further responses as
`to a relevant course of action.
`When the application completes execution, it noti?es the
`telecommunication services kernel. The telecommunication
`services kernel de-allocates the telecommunication resource
`from the application. The telecommunication resource is
`noW available to be allocated for a future request for a
`telecommunication resource by an application.
`The telecommunication system and method of the present
`invention advantageously alloWs for allocating a telecom
`munication resource to an application in a dynamic manner.
`By keeping a single pool or multiple administrator de?ned
`pools of telecommunication resources, rather than dedicat
`ing each particular telecommunication resources to particu
`lar applications, the present invention bene?cially increases
`overall system utiliZation and ef?ciency. Moreover, the
`present invention decreases system costs because more
`applications can be introduced into the system Without
`having to arrange for additional dedicated telecommunica
`tion resources.
`In addition, the present invention alloWs for telecommu
`nication resources to be dynamically added or subtracted
`from the telecommunication system Without having to re
`start and re-initialiZe because the telecommunication ser
`vices kernel manages the telecommunication resources and
`the applications are not dedicated to any particular telecom
`munication resource. Further, application developments
`costs are also reduced because applications can be Written to
`a single, standardiZed virtual device interface so that con
`cerns of Writing to speci?c or particular vendor or manu
`facturer de?ned telecommunication resource speci?cations
`are eliminated.
`The features and advantages described in the speci?cation
`are not all inclusive and, in particular, many additional
`features and advantages Will be apparent to one of ordinary
`skill in the art in vieW of the draWings, speci?cation, and
`claims. Moreover, it should be noted that the language used
`in the speci?cation has been principally selected for read
`ability and instructional purposes, and may not have been
`selected to delineate or circumscribe the inventive subject
`matter.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram illustrating one embodiment of
`a telecommunication system in accordance With the present
`invention;
`FIG. 2a is a block diagram illustrating one embodiment of
`a telecommunication service system in accordance With the
`present invention;
`FIG. 2b is a block diagram illustrating another embodi
`ment of a telecommunication service system in accordance
`With the present invention;
`FIG. 3 is a block diagram illustrating one embodiment of
`a telecommunication sub-system in a memory that interfaces
`With a central processing unit in accordance With the present
`invention;
`FIG. 4 is a block diagram illustrating one embodiment of
`a telecommunication service kernel in accordance With the
`present invention;
`FIG. 5 is a block diagram illustrating one embodiment of
`a system manager module in accordance With the present
`invention;
`FIG. 6 is a block diagram illustrating one embodiment of
`a session manager module in accordance With the present
`invention;
`
`5
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`FIG. 7 is a block diagram illustrating one embodiment of
`a hardWare manager module in accordance With the present
`invention;
`FIG. 8 is a block diagram illustrating one embodiment of
`a resource manager module in accordance With the present
`invention;
`FIG. 9 is a block diagram illustrating one embodiment of
`a connection manager module in accordance With the
`present invention;
`FIG. 10 is a block diagram illustrating one embodiment of
`a virtual device interface in accordance With the present
`invention;
`FIG. 11 is a How diagram illustrating one embodiment of
`a general process for allocating a telecommunication
`resource to an application in a telecommunication system in
`accordance With the present invention;
`FIG. 12 is a How diagram illustrating one embodiment of
`a process for executing an application in a telecommunica
`tion system in accordance With the present invention;
`FIG. 13 is a How diagram illustrating one embodiment of
`a process for preparing allocation of a telecommunication
`resource to an application in a telecommunication system in
`accordance With the present invention;
`FIG. 14 is a How diagram illustrating one embodiment of
`a process for establishing a connection betWeen a telecom
`munication resource allocated to an application and another
`point in accordance With the present invention;
`FIG. 15 is a How diagram illustrating one embodiment of
`a process for communication betWeen an application and an
`allocated telecommunication resource through a virtual
`device interface in accordance With the present invention;
`and
`FIG. 16 is a How diagram illustrating one embodiment of
`a process for de-coupling and returning an assigned tele
`communication resource from an application back to a pool
`of telecommunication resources in a telecommunication
`system in accordance With the present invention.
`
`DETAILED DESCRIPTION
`
`The present invention includes a telecommunication (in
`cluding computer telephony) system and a method for
`dynamically allocating one or more telecommunication
`resources to a requesting telecommunication application.
`FIG. 1 is a block diagram illustrating one embodiment of
`a telecommunication system 100 in accordance With the
`present invention. The telecommunication system 100
`includes a primary telecommunication service system 110.
`The telecommunication system 100 may also include one or
`more additional telecommunication service systems 110' and
`a netWork 120.
`The primary telecommunication service system 110 and
`the additional telecommunication service systems 110' are
`coupled as nodes on the netWork 120. The netWork 120 can
`be any data passing netWork, for example, local area net
`Work, Wide area netWork, telecommunication netWork, or
`computer system data bus. Further, a connection to a public
`sWitched telephone netWork (“PSTN”) can be made from
`any node (i.e., the primary node 110 or any of the additional
`nodes 110') Within the system.
`FIG. 2a is a block diagram illustrating a second embodi
`ment of the telecommunication service system 11011 in
`accordance With the present invention. The telecommunica
`tion service system 110a includes a central processing unit
`(“CPU”) 205, a memory 210, a storage device 215, one or
`more telecommunication (including computer telephony)
`resources 22011-22011 (generally 220), a data bus 225, and a
`
`

`

`US 7,324,637 B2
`
`7
`mezzanine bus 230. The central processing unit 205, the
`memory 210, the storage device 215, and each of the
`telecommunication resources 220a-220n are coupled
`through the data bus 225. Further, each of the telecommu
`nication resources 220a-220n are coupled to each other
`through the meZZanine bus 230.
`The telecommunication service system 11011 is coupled to
`one or more standard telecommunication equipment devices
`or systems (“STE”) 235. Speci?cally, each STE device 235
`may be coupled to a telecommunication resource, e. g., 2200.
`The STE device 235 is coupled to a public sWitched tele
`phone netWork (“PSTN”) 240.
`The central processing unit 205 may be a conventional
`processor or processing device or system, for example, a x86
`or PentiumTM processor by Intel Corporation of Santa Clara,
`Calif., a SPARC processor by Sun Microsystems, Inc. or
`Palo Alto, Calif., a PoWerPC processor by Motorola, Inc. of
`Schaumburg, Ill., or other processing device or system that
`processes computer instructions. The memory 210 may be a
`conventional memory device or system, for example, a
`dynamic random access memory, a static random access
`memory, or other memory device or system that stores dates,
`instruction, or the like. It is noted that the memory 210 may
`extend to include the storage device 215.
`The storage device 215 may be a conventional mass
`storage device or system, for example, a hard disk, a
`CD-ROM, a Write-able CD-ROM, a ?ash memory, tape
`drive, a compression storage drive, or other storage device
`or system that alloWs for longer term storage of data,
`instructions, or the like. The data bus 225 may be a con
`ventional data bus, for example, an Industry Standard Archi
`tecture (“ISA”) data bus, a Peripheral Component Interface
`(“PCI”) data bus, or other data bus capable of transferring
`data, instructions, and the like.
`The telecommunication resource (“TR”) 220 may be a
`conventional or custom line card that interfaces With the
`PSTN 240 or the STE 235, for example, a Rhetorex ASI
`Station Interface Card from Lucent Technologies Inc., of
`Murray Hill, N.J., a Natural MicroSystems Station Interface
`Card from Natural MicroSystems, Inc., of Framingham,
`Mass., or other interface card that is cable of interfacing With
`the PSTN 240 or the STE 235. Moreover, the telecommu
`nication resource 220 can be integrated With the PSTN 240
`or the STE 235. The meZZanine bus 230 may be a conven
`tional meZZanine bus, for example, a Multi-Vendor Interface
`Protocol (“MVIP”) bus, the Signal Computing System
`Architecture SCBus (“SCBus”) or Signal Computing
`extended bus (“SCxBus”), or the like.
`The STE 235 device or system may be a conventional
`STE device or system, for example, a public branch
`exchange (“PBX”), a standard telephone, a pay telephone, a
`cellular telephone, an ansWering system, a playback system,
`a facsimile system, a voice mail system, or other STE device
`or system capable of providing voice, media, or data tele
`communication functions. The PSTN 240 is a conventional
`public sWitched telephone netWork, including Wireless com
`munication netWorks, for example, those oWned and oper
`ated by SBC Communications Inc. of San Antonio, Tex. or
`Cellular One Group of Dallas, Tex., or other public sWitched
`telephone netWork that alloWs for telephone communica
`tions.
`FIG. 2b is a block diagram illustrating a third embodiment
`of a telecommunication service system 1101) in accordance
`With the present invention. The telecommunication service
`system 1101) includes a central processing unit system 20511,
`a data port system 255, a video system 260, a netWork
`system 265, a storage controller system 275, a hard disk
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`21511, a high speed communication system 270, a data bus
`225a, one or more sets (pools or banks) of telecommunica
`tion resources (ports) 220a-220b, a meZZanine bus 230a, and
`one or more telecommunication blocks 250. The telecom
`munication blocks 250 coupled the PSTN 240 or the STE
`235 With the telecommunication system 100. In addition, the
`telecommunication service system 1101) may optionally
`include one or more external telecommunication resource
`systems 28011-28019 (generally 280).
`The central processing unit system 20511, the data port
`system 255, the video system 260, the netWork system 165,
`the storage controller 275, the high speed communication
`system 270, and the telecommunication resources 220 are
`coupled through the data bus 22511, that serves as a back
`plane. The netWork system 265 is coupled to the netWork
`120. The storage controller system 275 is coupled to one or
`more hard disks 21511.
`The telecommunication resources 220 are also coupled
`through the meZZanine bus 23011. In one embodiment, the
`external telecommunication resource system 280 may be
`coupled to one or more telecommunication resources 220,
`the PSTN 240 (through the telecommunication blocks 250),
`the data port system 255, and the high speed communication
`system 270. It is noted that the telecommunication resources
`220, as Well as the external telecommunication resource
`system 280, may be coupled to the one or both of the PSTN
`240 and the STE 235.
`It is noted that the CPU system 205a includes the func
`tionality of the central processing unit 205 described above.
`Further, the CPU system 205a may Work in

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket