A media resources card for use with a converged services platform. The media resources card, which includes one or more arrays of digital signal processors (dsps), s operable to perform a variety of communication services including recording and playback of voice recorded announcements. A caching arrangement is provided in which a given recording (file) may have either a persistence level or timer expiration attribute or both.
|
20. In a converged services platform, a media resources card comprising:
a central processing unit (cpu);
a plurality of digital signal processors (dsps), one of said dsps being assigned for playback of a requested file;
means for executing a caching algorithm for said requested file, said caching algorithm resulting in a cached file stored on a cache memory of at least one of said cpu and said dsps; and
means for assigning at least one of a persistence level attribute and a timer expiration attribute to said cached file, said persistence level attribute specifying how readily or not said cached file may be deleted from one or more of said cache memories in relation to a number of remaining cached files of other persistence levels.
10. A method for use in a converged services platform having a central processing unit (cpu) and a plurality of digital signal processors (dsps), one of said dsps being assigned for playback of a requested file, said method comprising the steps of:
executing a caching algorithm for said requested file, said caching algorithm resulting in a cached file stored on a cache memory of at least one of said cpu and said dsps; and
assigning at least one of a persistence level attribute and a timer expiration attribute to said cached file, said persistence level attribute specifying how readily or not said cached file may be deleted from one or more of said cache memories in relation to a number of remaining cached files of other persistence levels.
1. In a converged services platform, a media resources card comprising:
a central processing unit (cpu) and an associated cpu cache memory;
a plurality of digital signal processors (dsps), each of which has an associated dsp cache memory, coupled in communicating relationship with said cpu; and
a network interface, coupled in communicating relationship with said cpu, through which said media resources card may communicate with a file server;
wherein said cpu and dsps execute a caching algorithm in which a cached file may be assigned at least one of a persistence level attribute and a timer expiration attribute, wherein said persistence level attribute includes programming for specifying how readily or not said cached file may be deleted from one or more of said cache memories in relation to a number of remaining cached files of other persistence levels.
19. A method for use in a converged services platform having a central processing unit (cpu) and a plurality of digital signal processors (dsps), one of said dsps being assigned for playback of a requested file, said method comprising the steps of:
executing a caching algorithm for said requested file, said caching algorithm resulting in a cached file stored on a cache memory of at least one of said cpu and said dsps;
assigning at least one of a persistence level attribute and a timer expiration attribute to said cached file;
determining whether or not said requested file is contained within a cache memory of said converged services platform;
in response to a file not contained within a cache memory of said converged services platform:
i) retrieving, at said cpu, said requested file from an associated file server;
ii) caching said requested file in a cache memory of at least one of said cpu and said assigned playback dsp;
in response to a file contained within said cache memory of said assigned playback dsp:
i) performing a playback of said file from said cache memory of said assigned playback dsp; and
in response to a file contained within said cache memory of said converged services platform, but not contained within said cache memory of said assigned playback dsp:
i) caching said file to said cache memory of said assigned playback dsp contemporaneously with playback of said file from said cache memory of said converged services platform containing said file.
2. The media resources card as in
3. The media resources card as in
4. The media resources card as in
5. The media resources card as in
6. The media resources card as in
7. The converged services platform as in
8. The media resources card as in
9. The media resources card as in
11. The method as in
12. The method as in
13. The method as in
14. The method as in
15. The method as in
16. The method as in
17. The method as in
18. The method as in
|
1. Field of the Invention
The present inventions relates generally to the field of telecommunications and, more specifically, to a media resource card which may be used, in conjunction with a converged services platform, to provide a wide variety of enhanced communications services.
2. Background Information
A continuing trend of convergence between the circuit-switched public switched telephone network (PSTN) and packet-switched networks, such as Internet Protocol (IP) networks, has created demand for systems capable of interfacing with both types of networks while supporting a large number of diverse applications. Such applications include toll-free calling, wireless/wireline prepaid calling, directory assistance, voicemail, call centers, conferencing and many others. In order to support such diverse applications, it is generally necessary to provide a capability for performing DTMF tone generation/detection, voice recorded announcements and similar communications services. Such basic capability, conventionally packaged as a “card” or printed circuit board which interfaces with an industry standard bus, has been commercially available for some time from a variety of vendors including Intel Corporation and NMS Communications.
However, marketplace demands indicate that greater scalability, density, smaller packaging and greater performance/cost ratios are needed in order for telecommunication carriers and other service providers to operate profitably and to be in position to rapidly deploy new applications which represent new revenue sources. As a result, there is need for greater flexibility and programmability in delivering the communications services which enable the applications.
In brief summary, the present invention provides a media resource card which, when integrated into a converged services platform, is operable to perform a variety of enhanced telecommunication services. Such services include tone detection/tone generation, conferencing, recording and playback, and numerous others.
In a preferred embodiment, the media resource card includes a plurality of digital signal processors (DSPs), each of which has an associated cache memory, and a communications interface to the main microprocessor. The main microprocessor supports a network interface through which the media resource card may communicate with a networked media (file) server. In accordance with one aspect of the present invention, a file may be retrieved from the media server or other source and cached in one or more cache memories. The cached file preferably has at least two programmable attributes associated with it: a persistence level and an expiration time. The persistence level attribute may be used to specify how readily or not a particular file may be deleted from the cache. The expiration time attribute may be used to specify a time period after which a particular file may be deleted from the cache.
In a preferred embodiment, both attributes are programmable by way of an application program. That is, an application program may set one or both attributes on a per file basis, thus permitting an application developer to optimize cache performance for a given application.
The invention description below refers to the accompanying drawings, of which:
As shown, platform 2 includes redundant switching buses 10a and 10b. Redundant CPU cards 12a, 12b are connected to buses 10a, an HDLC bus 14, and to host 4 by way of input/output (I/O) cards 16a, 16b. Depending upon the requirements of a particular application, various combinations of the following “line” cards, each of which supports a particular digital telecommunications protocol, may be included within platform 2: T1 card 16; E1 card 18, DS3 cards 20a, 20b. For redundancy, a standby card 22, which is a duplicate of one of the other line cards, may also be included. All such line cards have an associated I/O card, denoted collectively by reference number 26, which serves as an interface to PSTN 6.
If a particular application requires ISDN signaling, ISDN PRI cards 24a, 24b may be included within platform 2. Similarly, if a particular application requires SS7 signaling, SS7 cards 28a, 28b may be included. If a particular application requires IP media transport, platform 2 may include IPN cards 30a, 30b or an IPS card 32. Also, if a particular application requires media services, a media resource card 38 may be included. Cards 30, 32 and 38 each have an associated I/O card, denoted collectively by reference number 40. Power cards 34a, 34b and cooling fans 36a, 36b are also present within platform 2.
Referring now to
DSPs 46a–46d are connected to a time division multiplex (TDM) switch 50. Each of DSPs 46a–46d is capable of receiving and transmitting up to 512 DS0s (time-slots) from TDM switch 50. If desired, a second DSP module 44b, containing an additional four DSPs (not shown) may added to media resources card.
Overall control of the operation of media resources card 38 is carried out by a CPU 56, which is preferably a Motorola PowerQUICC 8260 processor, having an associated cache memory 58 and a local memory 60. CPU 56 also has an associated Ethernet network interface through which the CPU may communicate with a Network File System (NFS) file server 42. Any of a number of other commercially available microprocessors or other file system protocols, including CIFS or TFTP, could readily be adapted for use with the present invention.
Cache memories 48a–48d and 58 are preferably used to cache voice recorded announcements or other recordings which are intended for playback to callers (not shown) as directed by an application running on host computer 4 (
We will now describe the operation of a preferred embodiment of a caching algorithm, preferably executed by CPU 56, which may be considered an adjunct to a conventional Least Recently Used (LRU) algorithm (ie., a file which is least recently used is normally the first candidate to be deleted from the cache memory). We shall consider as a first example the case of a “cache miss” in which a file needed for playback is not present in any of the cache memories 48a–48d or 58. First, CPU 56 must retrieve (read) the file from file server 42. Assuming that the file does not exceed a predetermined size, CPU 56 will cache the retrieved file in both cache memory 58 and the one of cache memories 46a–46d which is associated with the DSP that CPU 56 has assigned to initially playback the file. The assignment of DSPs by CPU 56 may be done in any of a number of ways including a “round robin” approach.
An advantage of caching the file in the CPU cache memory 58 is that, in the event the same file is needed for playback in the future, but playback is to be performed by a different DSP than the one that performed the initial playback, the file may be retrieved from cache memory 58 (thus avoiding another file server access) and cached in the appropriate DSP cache memory.
Contemporaneously with beginning playback of the file, either of two (or both) attributes are assigned to the file by CPU 56 in response to messages received the application running on the host computer 4. The first such attribute, referred to as a persistence level, is a value which specifies how readily or not the associated cached file may be deleted from one or more of said cache memories. In a preferred embodiment, one of four possible persistence levels is specified: none; soft; firm; and hard. A persistence level of “none” means that the cached file is transient and may be freely deleted to make room for other files. A “soft” persistence level means that the cached file should remain in the cache memory until the LRU algorithm deletes it. A “firm” persistence level means that the cached file should remain in the cache memory until all of the “soft” persistence level files have been removed by the LRU algorithm. A “hard” persistence level means that the cached file should not be deleted from the cache memory.
As noted above, persistence levels are preferably specified by an application program and are thus under the control of the application developer who, given his or her knowledge of the application's expected performance, can choose persistence levels to optimize cache performance. One exception to this arrangement is the case of a cached recording (e.g., a voicemail message or a directory assistance call) made by the media resources card 38. Because a cached recording is “one of a kind” and is initially not stored anywhere except in one of the cache memories 48a–48d, CPU 56 will assign a “hard” persistence level to such a file to ensure that it is not deleted from the cache memory before being stored elsewhere or there is certainty it is no longer needed.
The second such attribute is a timer expiration, which simply represents a time period after which a cached file may be deleted. If set, the timer expiration attribute may override the persistence level attribute.
We will now consider a second example in which we have a “cache hit” meaning that a file that is needed for playback is present in at least one of cache memories 48a–48d and 58. In this example, CPU 56 will assign one of DSPs 46a–46d to perform the playback. If the cache memory associated with the assigned DSP contains the needed file, the assigned DSP may proceed with playback. If the needed file is contained in the cache memory associated with a different DSP or cache memory 58, then file will be cached to the assigned DSP's cache memory contemporaneously with playback.
Jain, Rajnish, Locascio, Timothy Ray, DellaMorte, Sr., James Thomas, DeCesare, John R., Baldino, Gary
Patent | Priority | Assignee | Title |
7417982, | Nov 19 2003 | Dialogic Corporation | Hybrid switching architecture having dynamically assigned switching models for converged services platform |
Patent | Priority | Assignee | Title |
6879266, | Aug 08 1997 | Intellectual Ventures I LLC | Memory module including scalable embedded parallel data compression and decompression engines |
6888925, | Oct 26 2001 | Dialogic Corporation | Method for testing large-scale audio conference servers |
6952407, | Feb 22 2001 | Dialogic Corporation | Minimizing latency with content-based adaptive buffering |
20020016899, | |||
20020154646, | |||
20030009343, | |||
20030051101, | |||
20030053461, | |||
20030219029, | |||
20040174973, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 24 2003 | Excel Switching Corporation | (assignment on the face of the patent) | / | |||
Feb 26 2004 | DECESARE, JOHN R | Excel Switching Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015149 | /0593 | |
Feb 27 2004 | DELLAMORTE, SR , JAMES THOMAS | Excel Switching Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015149 | /0593 | |
Feb 27 2004 | JAIN, RAJNISH | Excel Switching Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015149 | /0593 | |
Mar 01 2004 | BALDINO, GARY | Excel Switching Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015149 | /0593 | |
Mar 02 2004 | LOCASCIO, TIMOTHY RAY | Excel Switching Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015149 | /0593 | |
Oct 24 2005 | Excel Switching Corporation | Comerica Bank, as Administrative Agent | SECURITY AGREEMENT | 016967 | /0915 | |
Jun 15 2006 | COMERICA BANK | BROOKTROUT, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 019920 | /0425 | |
Jun 15 2006 | COMERICA BANK | Excel Switching Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 019920 | /0425 | |
Jun 15 2006 | COMERICA BANK | EAS GROUP, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 019920 | /0425 | |
Oct 04 2007 | Excel Switching Corporation | Dialogic Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020783 | /0183 | |
Oct 05 2007 | Dialogic Corporation | OBSIDIAN, LLC | SECURITY AGREEMENT | 020072 | /0203 | |
Oct 05 2007 | Dialogic Corporation | OBSIDIAN, LLC | INTELLECTUAL PROPERTY SECURITY AGREEMENT | 022024 | /0274 | |
Nov 24 2014 | OBSIDIAN, LLC | BROOKTROUT TECHNOLOGY, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | SNOWSHORE NETWORKS, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | BROOKTROUT SECURITIES CORPORATION | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | DIALOGIC DISTRIBUTION LIMITED, F K A EICON NETWORKS DISTRIBUTION LIMITED | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | DIALOGIC INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | DIALOGIC CORPORATION, F K A EICON NETWORKS CORPORATION | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | BROOKTROUT NETWORKS GROUP, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | CANTATA TECHNOLOGY INTERNATIONAL, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | DIALOGIC US INC , F K A DIALOGIC INC AND F K A EICON NETWORKS INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | DIALOGIC MANUFACTURING LIMITED, F K A EICON NETWORKS MANUFACTURING LIMITED | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | DIALOGIC US HOLDINGS INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | DIALOGIC RESEARCH INC , F K A EICON NETWORKS RESEARCH INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | DIALOGIC JAPAN, INC , F K A CANTATA JAPAN, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | EXCEL SECURITIES CORPORATION | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | CANTATA TECHNOLOGY, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | Excel Switching Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | SHIVA US NETWORK CORPORATION | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Nov 24 2014 | OBSIDIAN, LLC | EAS GROUP, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 034468 | /0654 | |
Jun 29 2015 | DIALOGIC US INC | Silicon Valley Bank | SECURITY AGREEMENT | 036037 | /0165 | |
Jun 29 2015 | DIALOGIC GROUP INC | Silicon Valley Bank | SECURITY AGREEMENT | 036037 | /0165 | |
Jun 29 2015 | DIALOGIC MANUFACTURING LIMITED | Silicon Valley Bank | SECURITY AGREEMENT | 036037 | /0165 | |
Jun 29 2015 | DIALOGIC DISTRIBUTION LIMITED | Silicon Valley Bank | SECURITY AGREEMENT | 036037 | /0165 | |
Jun 29 2015 | DIALOGIC INC | Silicon Valley Bank | SECURITY AGREEMENT | 036037 | /0165 | |
Jun 29 2015 | DIALOGIC US HOLDINGS INC | Silicon Valley Bank | SECURITY AGREEMENT | 036037 | /0165 | |
Jan 08 2018 | Dialogic Corporation | SANGOMA US INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 045111 | /0957 | |
Jan 25 2018 | Silicon Valley Bank | DIALOGIC US INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 044733 | /0845 |
Date | Maintenance Fee Events |
Sep 03 2009 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 29 2013 | REM: Maintenance Fee Reminder Mailed. |
Mar 31 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 31 2014 | M1555: 7.5 yr surcharge - late pmt w/in 6 mo, Large Entity. |
Jul 03 2014 | ASPN: Payor Number Assigned. |
Jul 07 2017 | LTOS: Pat Holder Claims Small Entity Status. |
Nov 16 2017 | M2553: Payment of Maintenance Fee, 12th Yr, Small Entity. |
Nov 16 2017 | M2556: 11.5 yr surcharge- late pmt w/in 6 mo, Small Entity. |
Date | Maintenance Schedule |
Apr 18 2009 | 4 years fee payment window open |
Oct 18 2009 | 6 months grace period start (w surcharge) |
Apr 18 2010 | patent expiry (for year 4) |
Apr 18 2012 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 18 2013 | 8 years fee payment window open |
Oct 18 2013 | 6 months grace period start (w surcharge) |
Apr 18 2014 | patent expiry (for year 8) |
Apr 18 2016 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 18 2017 | 12 years fee payment window open |
Oct 18 2017 | 6 months grace period start (w surcharge) |
Apr 18 2018 | patent expiry (for year 12) |
Apr 18 2020 | 2 years to revive unintentionally abandoned end. (for year 12) |