This application is related to the following commonly owned and assigned applications: application Ser. No. 11/343,212, “Adaptive Feedback for Session Over Internet Protocol,” filed herewith; and application Ser. No. 11/343,218, “Session Data Records and Related Alarming within a Session Over Internet Protocol (SoIP) Network,” filed herewith; each of which is incorporated herein by reference in its entirety.
The invention relates generally to Session-over-Internet-Protocol (SoIP) networks. More specifically, but without limitation, the invention relates to methods and apparatuses for partitioning resources within a SoIP session controller (SC).
Voice telecommunication has traditionally been conducted via dedicated telephone networks using telephone switching offices and either wired or wireless connections for transmitting the voice signal between users' telephones. Such telecommunications, which use the Public Switched Telephone Network (PSTN), may be referred to as circuit-switched communications. Because of the circuit-based nature of the PSTN, modifying a connection by setting up circuits and implementing routing changes can be a relatively slow process that often requires manual intervention. If considered in the context of the Open System Interconnection (OSI) model, PSTN modifications generally occur on layers one, two, and three. Another disadvantage of the PSTN is that, despite most conversations including significant intervals of silence, each call requires a dedicated point-to-point circuit throughout its duration, resulting in inefficient use of network bandwidth.
Session-over-Internet-Protocol (SoIP) provides an alternative telecommunication architecture using discrete internet-protocol (IP) packets of digitized data to transmit media content over the Internet or within an intranet via wired and/or wireless connections. One type of SoIP technology, Voice-over-Internet-Protocol (VoIP), is becoming increasingly popular. VoIP technology provides an alternative to the PSTN for voice communications. SoIP technology can transmit other forms of multimedia communication such as video voice content, video content and/or data. Because SoIP technology is based on IP packet switching, SoIP connections and routes can be defined and managed quickly. Also, because SoIP does not require a dedicated circuit between endpoints throughout a session (e.g., a voice call), SoIP technology makes more efficient use of network bandwidth.
A Session Controller (SC) and/or its related functionality is a part of a SoIP network. When a SC is located at the border of a network (e.g., where the SoIP network connects with another network such as a private enterprise network), it is typically called a Session Border Controller (SBC). A SC or SBC facilitates the flow of two-way SoIP traffic between different parts of a network or between different networks. Without a SC or SBC, network “firewalls” may interfere with the flow of SoIP traffic.
In many situations, it is economically advantageous to subdivide large resources so that the subdivided resources can be sold or leased to separate customers. Known SoIP SCs, however, do not provide for such a subdivision of their session-capacity resources.
In some embodiments, methods and apparatuses partition resources within a Session-over-Internet-Protocol (SoIP) Session Controller (SC). One illustrative embodiment is a method comprising selling a block of SoIP session capacity associated with a SoIP SC to a first customer, a session capacity for a virtual partition from a plurality of virtual partitions and from the block of SoIP session capacity being resold by the first customer to a second customer after the selling, each virtual partition from the plurality of virtual partitions being mutually exclusive from the remaining virtual partitions from the plurality of virtual partitions.
Another illustrative embodiment is an apparatus comprising data access logic configured to receive an instruction to define at least one virtual partition in a SoIP SC, grant a primary entity access to data associated with each virtual partition, and grant each secondary entity from a plurality of secondary entities exclusive access, relative to the remaining secondary entities from the plurality of secondary entities, to data associated with a virtual partition associated with that secondary entity; and session administration logic configured to generate, for each SoIP session traversing a given virtual partition, a session data record (SDR), also referred to as a session detail record (SDR) throughout this specification, uniquely associated with that given virtual partition. These and other embodiments are described in more detail herein.
The session-capacity resources of a Session-over-Internet-Protocol (SoIP) Session Controller (SC) can be subdivided by defining multiple mutually exclusive virtual partitions of session capacity within the SC. Such partitioning supports a business model in which a SC manufacturer sells a SC capable of being partitioned by a first customer that, in turn, defines multiple virtual partitions within the SC and resells the virtual partitions to various partition customers. Each partition customer can be a separate business such as a SoIP carrier, and each partition customer can have exclusive access, relative to the remaining partition customers, to the configuration of its virtual partition and to SoIP-session-related data associated with its virtual partition. Service agreements between partition customers can enable SoIP sessions between different mutually exclusive virtual partitions. A separate session data record (SDR) can be generated in the SC for each virtual partition that participates in an interpartition SoIP session, allowing for billing by and/or apportioned reimbursement of the associated partition customers. The multiple SDRs generated for an interpartition SoIP session can be sent, upon termination of the SoIP session, to a suitable destination in the SoIP network for processing.
Referring now to the drawings, where like or similar elements are designated with identical reference numerals throughout the several views,
In
Controller 205 in
SBC-network-controller communication interface 215 provides a communication interface between SBC 110 and SBC-network controller 105. Network communication interface 220 provides a communication interface between SBC 110 and network destinations such as those shown in
Memory 225 may be any type of system capable of storing programs and data. Memory 225 may include, for example, random-access memory (RAM), read-only memory (ROM), optical or magnetic disk drives, or any combination thereof. In the illustrative embodiment of
Data access logic 230 is configured to receive an instruction defining at least one virtual partition, within SBC 110, of the block of SoIP session capacity associated with SBC 110. In an illustrative embodiment, the instruction defining the at least one virtual partition is received from SBC-network controller 105. In another embodiment, SBC 110 includes its own user interface for inputting such an instruction. In the illustrative embodiment of
In the illustrative embodiment of
Data access logic 230 can also be configured to define, within SBC 110, an administrative realm associated with the primary entity (first customer). The administrative realm acts as an intermediary between virtual partitions to enable SoIP sessions between different virtual partitions (“interpartition sessions”). For example, the administrative realm can act as an intermediary between the virtual partitions within SBC 110 and an external route server.
Session administration logic 240 is configured to generate, for each SoIP session traversing a given virtual partition, whether the SoIP session is intrapartition or interpartition, a SDR that is uniquely associated with that given virtual partition. In conjunction with the exclusive data access among partition customers just described, generating SDRs that are mapped to their respective associated virtual partitions supports a business model in which each partition customer is a separate business entity that has its respective usage of SBC 110 separately tracked. For example, each partition customer can easily bill its end customers using its exclusive access, among the partition customers, to SDRs associated with its virtual partition. Each SDR can contain, for example, a source identification, a destination identification, a session duration indicator, and a quality-of-service indicator. In one illustrative embodiment, each SDR can contain multiple quality-of-service indicators.
SBC 110 can also include session routing logic 235. Session routing logic 235 can be configured to receive SoIP session-routing information for each virtual partition within SBC 110. In an illustrative embodiment, the SoIP session-routing information includes a set of source endpoints and a set of destination endpoints, each endpoint from the set of source endpoints and the set of destination endpoints being associated with a logical address (Internet-Protocol address) that is mutually exclusive from a logical address for each remaining endpoint from the set of source endpoints and the set of destination endpoints. Thus, the virtual partitions within SBC 110 are mutually exclusive in this illustrative embodiment. Each endpoint associated with SBC 110 is also associated with a realm. Realms are explained in a later portion of this detailed description. Though a given physical endpoint may be associated with more than one virtual partition, it has a distinct logical address within each virtual partition. This allows session administration logic 240 to track separately the respective endpoints for each virtual partition. This also allows the partition customers to maintain anonymity among themselves and their business partners that own/control the endpoints. For example, when two partition customers share a physical endpoint, neither the two partition customers nor the endpoint operator will be aware of the commonality. In other embodiments, the functionality of session routing logic 235 can be implemented in a device separate from SBC 110, such as a route server.
As explained above, the primary entity can resell the virtual partitions 305 to partition customers (secondary entities). Each partition customer can then use a user interface of SBC-network controller 105 or another user interface to configure a set of source endpoints 310 and destination endpoints 315 for its virtual partition. For simplicity, only two source endpoints 310 and two destination endpoints 315 are shown for each virtual partition 305 in
In the illustrative embodiment of
At 520, a first connection is established between the source endpoint 310 in the first virtual partition 305 and the RSA 340 of the second virtual partition. Upon establishment of the SoIP session, session administration logic 240 can also initiate a SDR that is associated with the first virtual partition 305 so that the partition customer associated with the first virtual partition 305 can, for example, bill its end customer and/or seek apportioned reimbursement from the destination network or the called party. At 525, a second connection is established between the RSA of the first virtual partition and destination endpoint 315 in the second virtual partition 305. Upon establishment of the SoIP session, session administration logic 240 can initiate an additional SDR that is associated with the second virtual partition 305 so that the partition customer associated with the second virtual partition 305 can bill its end customer and/or seek apportioned reimbursement from the destination network or the called party. The first and second connections, in tandem, define the SoIP session between source endpoint 310 in the first virtual partition 305 and destination endpoint 315 in the second virtual partition 305. Thus, when this SoIP session is established, two separate SDRs are established, one for each partition customer and associated with that portion of the SoIP session for that partition customer.
If, at 510, no service agreement is found to exist between the respective partition customers associated with the first and second virtual partitions 305, the process proceeds to step 530 in
At 540, administrative realm 320 sends, to the third virtual partition 305, the RSA 340 of the second virtual partition. At 545, a second connection is established between the RSA 340 of the third virtual partition 305 and the RSA 340 of the second virtual partition. At 550, a third connection is established between the RSA 340 of the second virtual partition 305 and the destination endpoint 315 associated with the second virtual partition 305. The first, second, and third connections, in tandem, define a SoIP session.
In general, session administration logic 240 can generate a separate SDR for each virtual partition 305 that participates in an interpartition SoIP session. In the illustrative embodiment shown in
At the completion of step 525 or 550, at which point a SoIP session has been established, the process proceeds to step 555 in
In conclusion, among other things, a method and apparatus for partitioning resources within a SoIP SC are described. Although such partitioning is described above in reference to certain embodiments, many variations are possible. For example, exclusive access of each partition customer, relative to the remaining partition customers, to data associated with its virtual partition can include exclusive access to the configuration of user-defined alarms (alarm services) associated with that partition customer's virtual partition 305. Alarm services are discussed more fully in U.S. patent application Ser. No. 11/343,212, “Adaptive Feedback for Session Over Internet Protocol”; and U.S. patent application Ser. No. 11/343,212, “Session Data Records and Related Alarming within a Session Over Internet Protocol (SoIP) Network,” each of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5796424 | Ely et al. | Aug 1998 | A |
6738813 | Reichman | May 2004 | B1 |
6775269 | Kaczmarczyk et al. | Aug 2004 | B1 |
6775280 | Ma et al. | Aug 2004 | B1 |
6895429 | Banga et al. | May 2005 | B2 |
6904017 | Meempat et al. | Jun 2005 | B1 |
6944678 | Lu et al. | Sep 2005 | B2 |
6980526 | Jang et al. | Dec 2005 | B2 |
7002973 | MeLampy et al. | Feb 2006 | B2 |
7028092 | MeLampy et al. | Apr 2006 | B2 |
7031311 | MeLampy et al. | Apr 2006 | B2 |
7072303 | MeLampy et al. | Jul 2006 | B2 |
7133923 | MeLampy et al. | Nov 2006 | B2 |
7142532 | Penfield et al. | Nov 2006 | B2 |
7151781 | MeLampy et al. | Dec 2006 | B2 |
7193996 | Dobbins et al. | Mar 2007 | B2 |
7260085 | Dobbins et al. | Aug 2007 | B2 |
7362707 | MeLampy et al. | Apr 2008 | B2 |
7376731 | Khan et al. | May 2008 | B2 |
7433315 | Bhatia et al. | Oct 2008 | B2 |
7447160 | Croak et al. | Nov 2008 | B1 |
7466710 | Clemm et al. | Dec 2008 | B1 |
7483380 | Metke | Jan 2009 | B2 |
20010033551 | Busuioc et al. | Oct 2001 | A1 |
20020024954 | Cunetto et al. | Feb 2002 | A1 |
20020087689 | Chen | Jul 2002 | A1 |
20020087721 | Sato et al. | Jul 2002 | A1 |
20030005152 | Diwan et al. | Jan 2003 | A1 |
20030072271 | Simmons et al. | Apr 2003 | A1 |
20030161310 | Dobbins et al. | Aug 2003 | A1 |
20030186702 | McConnell et al. | Oct 2003 | A1 |
20030225893 | Roese et al. | Dec 2003 | A1 |
20040015583 | Barrett et al. | Jan 2004 | A1 |
20040025186 | Jennings et al. | Feb 2004 | A1 |
20040044871 | Weber et al. | Mar 2004 | A1 |
20040066782 | Nassar | Apr 2004 | A1 |
20040086093 | Schranz | May 2004 | A1 |
20040109541 | Celi et al. | Jun 2004 | A1 |
20040117624 | Brandt et al. | Jun 2004 | A1 |
20040128201 | Ofir et al. | Jul 2004 | A1 |
20040213210 | Dube et al. | Oct 2004 | A1 |
20040218614 | Yokomitsu et al. | Nov 2004 | A1 |
20040250114 | Parekh et al. | Dec 2004 | A1 |
20050111382 | Le et al. | May 2005 | A1 |
20050111455 | Nozue et al. | May 2005 | A1 |
20050147031 | Bhatia et al. | Jul 2005 | A1 |
20050213591 | Nakazawa et al. | Sep 2005 | A1 |
20050265231 | Gunther et al. | Dec 2005 | A1 |
20060088025 | Barkley et al. | Apr 2006 | A1 |
20060098577 | MeLampy et al. | May 2006 | A1 |
20060126664 | Horton | Jun 2006 | A1 |
20060147013 | Baumeister et al. | Jul 2006 | A1 |
20060187927 | MeLampy et al. | Aug 2006 | A1 |
20060187942 | Mizutani et al. | Aug 2006 | A1 |
20060215683 | Sukkar et al. | Sep 2006 | A1 |
20060245574 | Phelps et al. | Nov 2006 | A1 |
20070019619 | Foster et al. | Jan 2007 | A1 |
20070036151 | Baeder | Feb 2007 | A1 |
20070058639 | Khan | Mar 2007 | A1 |
20070076591 | Khan | Apr 2007 | A1 |
20070076594 | Khan et al. | Apr 2007 | A1 |
20070076603 | MeLampy et al. | Apr 2007 | A1 |
20070076710 | Khan | Apr 2007 | A1 |
20070076855 | MeLampy et al. | Apr 2007 | A1 |
20070104105 | MeLampy et al. | May 2007 | A1 |
20070116043 | MeLampy et al. | May 2007 | A1 |
20070180124 | Mallesan et al. | Aug 2007 | A1 |
20070180141 | Mallesan | Aug 2007 | A1 |
20070180142 | Small et al. | Aug 2007 | A1 |
20070201472 | Bhatia et al. | Aug 2007 | A1 |
20070201473 | Bhatia et al. | Aug 2007 | A1 |
20070201481 | Bhatia et al. | Aug 2007 | A1 |
20070201494 | Lou et al. | Aug 2007 | A1 |
20070263660 | Mitsumori | Nov 2007 | A1 |
20080101343 | Monette et al. | May 2008 | A1 |
20080159294 | Irish et al. | Jul 2008 | A1 |
20080285569 | Stademann et al. | Nov 2008 | A1 |
20090046720 | Streijl et al. | Feb 2009 | A1 |
20090086728 | Gulati et al. | Apr 2009 | A1 |
Number | Date | Country |
---|---|---|
1043648 | Oct 2000 | EP |
2004193845 | Jul 2004 | JP |
WO 0249279 | Jun 2002 | WO |
WO 0249315 | Jun 2002 | WO |
WO 0249316 | Jun 2002 | WO |
WO 0258349 | Jul 2002 | WO |
WO 02060116 | Aug 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20070180080 A1 | Aug 2007 | US |