US 20100208634 A1
The present invention provides for bidirectional or duplex transmission of multimedia content such as live video and/or audio between access devices of a calling party and a called party in a convergent network. The quality of transmission is managed through a convergent communications platform, which periodically tests performance characteristics of network routes in operative communication with the platform, categorizes the network routes based on measured performance metrics, and selects network operators whose network characteristics meet the desired quality parameters of a particular multimedia content to be transmitted (e.g., real-time high definition video conference). The management of transmissions is transparent to the end users who will be able to communicate with others regardless of the type of devices or networks the called parties use or subscribe to.
1. A computer-implemented method for optimized routing of a multimedia communication between access devices across a plurality of communications networks having different communications protocols, comprising the steps of:
determining, by a control node, a quality of each IP network of a plurality of IP networks connected to the control node;
creating, by the control node, a quality matrix including the determined quality for the each IP network;
setting up, by the control node, a media session between an originating access device and a receiving access device across a plurality of communications networks having different communications protocols including internet protocol;
upon successful setup of the media session, routing by the control node the multimedia communication between the originating and receiving access devices along a select path through at least a portion of one of the IP networks based on the quality matrix; and
converting by a gateway the multimedia communication from one communication protocol to another as required by the different communications protocols of the plurality of communications networks along the select path.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
17. The method of
18. A computer system for managing multimedia communications between access devices across a plurality of communications networks having different telecommunications protocols, comprising:
a registrar server configured for collecting subscriber information and storing the subscriber information in a subscriber registry, the subscriber information including at least one of a subscriber identifier, a device type, a device identifier, subscription level and MAC address;
a control node configured for determining quality of each of the plurality of IP networks in operative communication with the control node, and for managing a media session and routing of communication between originating and receiving access devices of subscribers;
a route optimizer for selecting a path of communication through at least a portion of the plurality of IP networks based on the determined quality of the each IP network and access device capabilities inferred from device-related information in the subscriber registry; and
a switch for routing communications between the originating and receiving access devices through the selected path through the IP network upon successful setup of the media session by the control node.
19. The system of
20. The system of
21. The system of
22. The system of
23. The system of
24. An apparatus for communicating across communication networks having different telecommunications protocols, comprising:
an access device capable of establishing a media session through a cellular network, a circuit-switched network or an IP network, and configured to include contact information of a called party that comprises a telephone number and user identification for an IP based communication service provider, the access device being responsive to a user selection of the called party for communication and establishing the media session with the called party via the IP based communication service provider when the IP based communication service provider indicates the called party is available or via the cellular network or circuit-switched network when the IP based communication service provider indicates the called party is not available.
25. The apparatus of
26. The apparatus of
27. The apparatus of
28. The apparatus of
29. A method of communicating across a plurality of communications networks having different telecommunications protocols using a multi-modal access device configured to communicate via a PSTN and an IP network, comprising the steps of:
storing, by the access device, contact information of a called party comprising a telephone number and a user identifier of an IP based communications service provider;
determining, by the access device, availability of the called party by accessing presence information of the called party from the IP based communications service provider;
establishing, by the access device, a media session with the called party via the IP based communications service provider when the presence information indicates the called party is available; and
establishing, by the access device, a media session with the called party via the cellular network when the presence information indicates the called party is not available.
30. The method of
31. The method of
32. An apparatus for communicating across communication networks having different telecommunications protocols, comprising:
a switch node capable of establishing a media session through a cellular network, a circuit-switched network or an IP network, and configured to include contact information of a called party that comprises a telephone number and user identification for an IP based communication service provider, the switch node being responsive to a user selection of the called party for communication and establishing a media session with the called party via the IP based communication service provider when the IP based communication service provider indicates the called party is available or via the cellular network or the circuit-switched network when the IP based communication service provider indicates the called party is not available.
33. The apparatus of
34. The apparatus of
1. Cross Reference to Related Applications
The present application is a continuation-in-part of U.S. patent application Ser. No. 11/042,597 filed on Jan. 24, 2005, which claims priority to an earlier filed U.S. Provisional Patent Application No. 60/538,320, filed on Jan. 22, 2004. U.S. patent application Ser. No. 11/042,597 is a Continuation-in-Part of U.S. patent application Ser. No. 10/671,315, filed on Sep. 25, 2003, which is a continuation-in-part of application Ser. No. 09/368,828, filed Aug. 5, 1999, which is a continuation-in-part of application Ser. No. 09/213,703 (now U.S. Pat. No. 6,144,727), filed Dec. 17, 1998, which is a continuation-in-part of application Ser. No. 09/129,413 (now U.S. Pat. No. 6,226,365) filed Aug. 5, 1998; and application Ser. No. 08/927,443, (now U.S. Pat. No. 6,005,926) filed Sep. 11, 1997, which is a continuation-in-part of U.S. patent application Ser. No. 08/920,567, filed Aug. 29, 1997, all of which are incorporated herein by reference.
The present application is also a continuation-in-part of U.S. patent application Ser. No. 11/895,460, filed on Aug. 24, 2007, which is a continuation of U.S. patent application Ser. No. 10/941,471, filed Sep. 15, 2004, which is a continuation of U.S. patent application Ser. No. 09/551,189, filed Apr. 17, 2000, which is a continuation of U.S. patent application Ser. No. 08/727,681, filed Oct. 8, 1996, issued as U.S. Pat. No. 6,188,756, which is a continuation-in-part of U.S. patent application Ser. No. 08/320,269, filed Oct. 11, 1994, now abandoned.
2. Field of the Invention
The present invention relates to the managing of communications through the IP network. In particular, the present invention relates to the optimization of the routing of multimedia communications among user devices across convergent networks.
Not so long ago, Voice over the Internet (VoIP) revolutionized the telecommunications world, and accelerated the obsolescence of the Public Switched Telephone Network (PSTN), which is defined herein as the hierarchical Time Division Multiplexing (TDM) network of mobile and fixed line switches and dedicated transmission links. The world of telecommunications is now approaching another inflection point. With computing devices rapidly evolving to include sophisticated communicating functions, consumers or end users are becoming more and more exposed to the possibilities of communicating with each other via audio and visual media. Voice calls no longer suffice as a means of communication. This phenomenon is what some may call telecommunications media convergence which transcends traditional telecom industries such as fixed, mobile, and IP service providers. Convergence is the combination of different media into one operating platform. Thus, a convergent network (as used herein) is a network comprising various protocol-specific networks such as circuit-switched, mobile, and IP networks which are interconnected with each other. It is the merger of telecom, data processing and imaging technologies. This convergence is shepherding in a new era of multimedia communication, wherein voice, data, images and video are merged and become part and parcel of any telecommunications services demanded by the end users.
In this convergent world, the network operators must be capable of routing high quality multimedia contents between fixed or mobile devices such as, for example, smart phones, laptops, iPads, desktops, and audio-video equipment. To provide a quality user experience, network operators need to ensure their networks have the requisite or appropriate transmission characteristics such as bandwidth, latency, and jitter in the case of an IP network for the transmission of multimedia content. However, traditional network operators' ability to choose routes are confined to their own networks and typically do not have control over communications that transcend across multiple networks. Moreover, the transmission of multimedia content, especially broadcast quality high definition video, requires the networks to transport the content with high fidelity, i.e. with little or no loss of data. This is a difficult task in a world where the IP networks dominate and offer the least cost alternative for content transmission, but which are notorious for latency and packet loss. When the multimedia communications occur over the disparate networks of different technologies and protocols, the management of high quality multimedia communications can become insurmountable or very expensive.
Accordingly, there is a need for a cost-effective system that can manage and selectively route multimedia communications among multiple parties, transparent and seamless to the users, through one or more service providers or network operators based on user requirements. Such requirements may be based on, for example, whether the content comprises high definition video or merely voice data coupled with low fidelity video or based on the hardware and/or client software characteristics of the access devices. In the case of internet service providers, and as explained below, the system can perform practical quality test measurements of each route available or offered by the internet service providers for routing subscriber communications traffic.
Some insight into the workings of the Internet is in order. It is widely known that the Internet is a worldwide network of interconnected networks. Each individual host connected to the internet has an IP address. To send a data packet from one host to another, the data packet must be routed through the Internet. To accomplish this, each host includes a routing table the host uses to determine which physical interface address to use for sending the data. When a host receives a data packet, the data packet is either intended for that host or intended for another host. When the latter occurs, the host retransmits the packet using its own route table. Route tables are based on static rules or dynamic rules via routing protocols. Accordingly, the quality of the route depends on the quality of each host that the packet passes through and the network elements that connect the hosts. It would be useful to know the quality level of each particular host along a route so that packets requiring a higher quality could be routed using hosts having a high quality measurement score.
Some individual quality indicators such as, for example, latency, availability, packet loss may be determined for certain routes on the Internet. However, depending on the type of multimedia content to be delivered, the best route for one application (e.g. near real-time broadcast) may be the route with the lowest latency characteristics, while the best route for another application (e.g. high definition video) may require the least packet loss characteristic.
An object of the present invention is to provide a method and system for optimized routing of bidirectional or duplex multimedia communications among multiple parties in a convergent network.
Another object of the invention is to facilitate communication between otherwise incompatible communication networks in a manner that is transparent to the calling and called parties. Preferably, the communication is routed based on the results from an evaluation of all available communication networks even though the calling party may have direct access to only one type of communication network. Control information in the form of an inquiry of the availability status of the party to be called may be sent through different networks by routing it through a control location or gateway of the inventive system that converts it into a compatible form. For instance, the called party may be using one type of network, such as a data network (e.g. IP network, GPRS or 3G), while the calling party is using another, such as a GSM cellular network (or circuit switched network). A system that delivers and converts telecommunications traffic across multiple networks including IP network(s) such as the Internet is disclosed in a parent application, U.S. patent application Ser. No. 11/895,460 (the '460 patent application), which is incorporated herein by reference in its entirety.
Still another object of the invention is to enable a user device to communicate audio and/or video content on a one-to-one (i.e. unicast) or one-to-many (multicast) basis using optimized routes through the IP network.
In one aspect of the invention, a convergent communications platform interconnects Internet Backbone Providers (IBPs), as sellers, and Internet Service Providers (ISPs) as buyers of IP capacity in the form of routes within networks owned by the sellers (on-net routes), routes in networks that are not owned by the seller (off-net routes), or routes which include both on-net and off-net portions. The platform routes traffic to the sellers based on the type of service required for transmitting the communications traffic between the calling (i.e. transmitting) and called (i.e. receiving) parties.
In another aspect of the invention, the convergent communications platform includes (1) a control node for call signaling or session control of communications between user devices and the delivery of the multimedia content, and (2) a database for storing profiles and data related to the user devices. The control node is configured to include SIP servers for call session controls, media servers for the manipulation and delivery of content, and switches for switching communications traffic to selected seller networks. Gateways in operable communication with the control node convert signals and multimedia content between otherwise incompatible telecommunications networks. The user devices may be identified by MAC address, IMSI, TMSI, URI, IMEI, MSISDN, or a universal identifier selected by or assigned to the user and registered with the convergent communications platform for identifying all of his devices capable of accessing the various networks through the platform.
In one embodiment, the platform facilitates bidirectional communications (e.g., video conferencing), or unicast and/or multicast by distributing the multimedia streams from a transmitting user device to one or more receiving user devices as designated by the users, and vice versa. Such functions would be desirable in a broadcast mode (i.e. one way transmission) or a video conferencing mode (i.e. bidirectional transmission). The user or transmitting device specifies the one or more receivers for receiving the communication and the control node contacts the receivers using signaling control systems such as SIP servers, SS7 networks, or their equivalents.
In another embodiment, the platform, in a multicast mode, directs one or more receiving device to report the available bandwidth in its local network so as to enable the platform to select a receiving device (or node) to retransmit or uplink the multimedia content to another receiving device (in a manner that may be referred to as P2P or P4P). In this manner, the platform need not establish a one-to-one client-server relationship with each receiving device, thereby reducing the bandwidth requirement on the platform and shifting the bandwidth usage onto the local network of the user devices. An advantage of this streaming technique is to allow for real time scaling of a multicast audience without overwhelming the allocated channel capacities of the platform. Another advantage of such technique is to enable a service provider to optimize the local bandwidth usage of local networks.
Secure bidirectional multimedia communication may be provided by creating a secure channel between the platform and the user devices through the use of secure web protocols similar to the HTTPS protocol. In this case, the platform serves as the hub for encrypting and decrypting the multimedia communications between the sending and receiving devices.
The routing of communications traffic may be driven by an optimized routing application, which determines traffic distribution to participating sellers (i.e. IBPs selling IP routes) with the desired quality within certain pricing and quality parameters based on user defined preferences or otherwise required by user devices. The platform may generate an optimized routing table customized for each buyer to suit their unique combination of price and quality parameters.
According to another aspect of the invention, the platform measures the quality of the IP routes of the sellers by testing the penultimate hop router or the last network device in accordance with the quality measuring system more described herein and in the parent application U.S. patent application Ser. No. 11/042,597 (the '597 patent application), which is incorporated herein by reference in its entirety.
According to yet another aspect, there is provided a multi-modal access device capable of establishing a call session through a cellular, a circuit switched or an IP network. It is configured to include contact information of a called party that comprises a telephone number and a user identification for an IP based communication service provider (e.g. Google Voice™ or Skype™), the access device being responsive to a user selection of the called party for communication. The access device establishes a call session with the called party via the IP based communication service provider when the IP based communication service provider indicates the called party is available or via the cellular or circuit switched network when the IP based communication service provider indicates the called party is not available. The access device may have direct access to presence information database to determine availability of a called party. The presence information includes status information such as “on-line”, “away”, “mobile”, etc. of a user of services (e.g. instant messaging or chat) of an IP based communications service provider.
Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. It should be further understood that the drawings are not necessarily drawn to scale and that, unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein.
In the drawings:
The present invention provides for bidirectional or duplex transmission of multimedia content between access devices of the calling and called parties in a convergent network. The quality of transmission is managed through a convergent communications platform, which periodically tests performance characteristics of network routes in operative communication with the platform, categorizes the network routes based on measured performance metrics, and selects network operator whose network characteristics meet the desired quality parameters of a particular multimedia content to be transmitted (e.g., real-time high definition video conference). The management of transmissions is transparent to the end users who will be able to communicate with others regardless of the type of devices or networks the called parties use or subscribe to.
A. Convergent Network
In a preferred embodiment as shown in
As shown in
A Registrar Server is employed to perform subscription management as it receives and registers user profiles and their access devices so that the platform 74 will grant only registered users access to the service. As shown in
The Registrar Server may also perform Subscriber Location Service if the platform has access to Subscriber Location data (e.g., from network operators) for locating the whereabouts of each registered access device. The Subscriber Location data may be, for example, GPS data in the case of mobile devices provided by the subscriber devices or location of home router or last network device location in the case of non-mobile devices such as desktop PCs or equivalents, or if there is a commercial arrangement with other network operators, direct access to the Subscriber Location service on their networks.
In one embodiment, a subscriber with a multimodal smart phone (or any computing device with telecommunications capability that can access a cellular network and an IP network through a WiFi router) enters contact information of friends and associates into the Registrar Server, either direct or via a supporting software application, which contact details would include their usernames or identifiers for an IP based communications service provider such as, for example, Skype ID, AOL ID, Google Voice ID etc. When the subscriber decides to initiate a call (or any future communications session) to one of the registered contacts by, for example, selecting the called party by telephone number or by name using smart phone tools such as, for example, voice recognition or keyboard, the Registrar Server receives the called party information including the relevant IP based communications service provider (e.g., AOL Instant Messenger, Skype, Google Voice ID, etc.) and accesses a database containing the called party's presence information or status (e.g., “online,” “away,” “idle,” “mobile,” etc.). If a called party is “on-line,” the platform instructs the smart phone to set up the call session to the distant IP client (i.e. the called party) through the Internet using an appropriate client application (from the IP based communications service provider) on the smart phone for the call session. This method bypasses the alternative PSTN call flow (e.g., avoiding a call termination by an expensive cellular network), thereby allowing reduced costs of transmission and a more advanced feature set to the subscriber because of the end to end IP nature of the session. The interface to the user preferably remains the same or consistent regardless of how the call is established. If no called party is “on-line” (as indicated by the presence information) the call is routed via their chosen or contracted telecommunications provider (e.g., a cellular network operator) associated with the multi-modal smart phone.
Alternatively, as shown in
In another embodiment, a Private Branch Exchange (PBX), or a switch node for routing communications for an enterprise network, is connected to an IP network and a circuit-switched network and is capable of setting up media sessions with access devices regardless of whether they are in a cellular network, a circuit switched network, an IP network, or any other aforementioned network. The PBX may be configured with a client application to access the services of one or more IP based communication service provider such as Google Voice™ or Skype™ and has access to the login credentials (e.g., login IDs and passwords) of the enterprise users for using the services of such IP based communication service providers. Preferably, the enterprise users provide to the PBX contact details of their potential called parties (e.g., friends and associates) including their telephone numbers and usernames associated with the one or more IP based communication service providers. Advantageously, when an enterprise user selects a called party from his list of contacts, the PBX would first determine the availability of the called party by accessing the presence information (e.g., “online”, and “away”) provided by an applicable IP based communication service provider the calling party subscribes to. If the called party is available, the PBX proceeds to connect the call using the IP based communication service provider in a manner that is transparent to the calling party (i.e. the enterprise user). Advantageously, the enterprise would realize the cost saving provided by such implementation since any calls made over IP will avoid the termination costs imposed by a typical PSTN operator. If the presence information of all of the IP based communication service providers on the calling party's contact list indicates that the called party is not available, then the PBX proceeds to set up a call session using the telephone number listed by the enterprise caller.
It is contemplated that this technique can be applied to simultaneous call session setups with multiple called parties.
It is also contemplated that the Registrar Server may also maintain a secure on-line backup of all the contact details of a subscriber in case his access device is lost. With the on-line copy, the platform 74 scans all available contacts and keeps an updated mapping of the on-line status of all contacts and all potential clients. When the user makes a call, the application on the smart phone sends a call setup message to the platform 74, the platform 74 then immediately identifies the correct called party to contact if such party is on-line. If no called party is “on-line” via data from an IP based communications service provider, then the platform 74 seamlessly routes the call or multimedia content over a VoIP connection to the called party at the dialed number (using a lower cost retail route plan than the mobile operator) and connect the call.
In yet another embodiment of the platform, a carrier or service provider can lower its cost of termination by querying the Registrar Server whenever it receives a call to a mobile number for termination. If the mobile number matches an available IP client and that client is “on-line,” the carrier may convert the call to an appropriate format for the available client and send the call attempt directly, over a quality IP connection, to the client application on the called party's smart phone. This not only sets up a direct IP path to the distant or called party, it also avoids the payment of the normal Mobile Termination Rate (MTR) by the carrier and potentially a roaming charge by the called customer, resulting in a lower cost of providing the service by the carrier which could translate into cost savings for the consumers.
The SIP proxy server handles call sessions initiated by registered users. It authenticates the registered users by looking up the subscriber registry of the Registrar Server and the characteristics of the calling party's access device 72, directly or inferentially from a cross reference product database. It identifies the unique identifier (e.g., telephone number) of the called party and initially determines if it's in the Registry Server's database. Upon receipt of a call request, the proxy server looks up the list of registered users and list of URIs and proceeds to contact each of the URIs in an order that may be pre-selected by the subscriber and as indicated by the Subscriber Registry. If the proxy server contacts the receiving access devices in parallel (provided that is specified by the registered user), it will terminate the call signaling to all other devices when one is deemed available. If the called party is not a registered user or subscriber, the proxy server routes the call setup message directly to the associated network operator and have such operator routes or forwards the call setup signal to the called device.
A redirect server redirects a call session request to another SIP server in a different domain. The redirect server may, for example, be a public WiFi router that receives a call request from a dual mode cellular or smart phone and forwards the request to the proxy server for registered user authentication and call session control and setup. The redirect server may be deployed by an enterprise for handling call setups for devices on the enterprise network and for other functions such as media content conversion.
A Signaling Gateway 82 (see
A Session Border Controller (SBC) may be provided to interface with enterprise networks, preferably at the premises of the enterprises and integrated with the enterprise network. In this case, the SBC may direct the SIP messages between the platform and the registered access device inside the enterprise network. The SBC may also perform media content formatting, if required, and media delivery.
A more detailed description of the servers on the platform 74 is provided below.
Once the platform 74 determines that the intended access devices 72 are available, the call or media session is set up, and the access device 72 is directed to begin sending multimedia content to the receiving access devices 72. If, according to the Registrar Server, the access device 72 requires a different media format, a media server will be directed to reformat the media content from the transmitting access device 72 and convert it into one that is compatible with the receiving access device 72 and host network. It may be further instructed to take the stream from the originating party and direct it to all connected parties such that all receiving parties in a manner that may be referred to as multicast (except the platform creates a bidirectional streaming). The platform 74, upon receipt of the multimedia stream from the transmitting access device 72, will process and direct one or more streams to one or more of the access devices 72. A bidirectional or duplex communication occurs when the receiving access device 72 also transmits multimedia content to the original transmitting access device 72 and any other access devices 72 in the same call session. In effect, the platform 74 has established a video-conference for the multiple devices.
In the event the access device 72 is connected to a circuit switched network 68, the media application server converts between real-time transport protocol (RTP) in the IP network 60 to the pulse code modulation (PCM) in the circuit-switched network 68 and transcodes the media content when the codecs of the networks do not match or are otherwise incompatible.
b. Route Optimizer
The platform 74 preferably includes a Route Optimizer that identifies the best-suited route to transport the multimedia content by, for example, pre-testing available routes offered by multiple internet service or backbone providers. The pre-testing may include penultimate hop router testing as described in detail below. Using the results from the route testing, the Route Optimizer constructs a route plan for routing traffic based on characteristics of the multimedia content to be transmitted corresponding to the access device registered in the subscriber registry. For example, a phone with video capabilities will send audio/video content encoded in a specific format and would require networks with low latency and low jitter and the Route Optimizer would find a network path from its Route Plan that provides, for example, less than 100 ms from starting point (i.e. the calling party) to end point (i.e. the called party) for this phone. For another example, a cell phone without video capabilities will not need as high quality as that required by a video phone. For yet another example, a Blackberry™ phone sending out an email or text message can make use of a low quality IP network for transmission of such content.
The subscriber access device interface includes communication networks such as digital and analog telephone, paging and cellular, and data. The central local node includes an authorizer, converters for each communication network, a main processor and router, a main data base, compression and coding system and decompressing and decoding system. The global networks of high capacity data networks include the internet, frame relay and digital and analog voice lines.
The authorizer is responsible for providing clearing transactions to provide authorization for making communication. The authorizer checks with a main data base within the central local node to determine whether the subscriber's credit is good and to what extent to ensure that service providers get paid. The data base may contain a history of the subscriber's usage and outstanding unpaid balance and other information relating to credit history. The main database's information may be updated from information in other nodal data bases and vice versa, including that of the central node, which should contain the most current information and whose global authorizer may be responsible for authorizing all transactions in advance. By the same process, the global authorizer can check on the creditworthiness of service providers if the service providers will be responsible for paying each other.
According to the invention, a quality analysis is performed to determine a quality score for connectivity to each IP network prefix announced for sale by a member, so that if a member announces 20,000 IP network prefixes to the exchange for trading, the system returns 20,000 quality scores for that member. This requires the quality measuring system to scan each IP network prefix for its quality. The inventors of the present invention have discovered that the penultimate hops, and not the end points of the Internet, may be tested to determine the quality level of an endpoint. To do this, the inventive system takes in a full view of the Internet (full routing table of all unique IP network prefixes announced into the Internet), in relation to the IP network prefixes announced to the exchange for trading. This can be achieved by receiving a view from a route-view on a public route server, or some private route server that contains all of the IP network prefixes announced publicly to the Internet for routing. Alternatively, a private peering session may be conducted with each member where their route announcements can be received and processed for further internal propagation. At this point the system will need to sort all of the IP network prefixes to find the smallest publicly announced components. Thereafter, as shown in
In order to reduce what is needed to be monitored for quality, the system will need to find the penultimate hop for each/24 (The/24 is the smallest publicly announced component of the public IPv4 Internet). This allows 2-3 billion testing points to be reduced to 100-400 k testing points. There are two ways to find these penultimate hops, once we have a full view of all IP network prefixes announced for the Internet. One would be to find the penultimate hops through each member, and another would be to use either a third party transit provider or another member that offers full transit. The reasoning for the first solution is that some end points may be multi-homed, and the system will miss different paths to those/24s. This could make a/24 look worse if the only path that is taken is the one least preferred by that end ISP controlling the IP network prefix.
To do this makes for a more accurate quality measurement, but it also adds a large amount of complexity to the system. This would cause multiple penultimate hops for specific/24s, and force the system to try and test both paths and figure out a fair way to combine the scores to give a useful quality score. In the preferred embodiment, one or more transit providers, who may be members or third parties, will be used to find the penultimate hop for each IP network prefix. This process should be done periodically (e.g., once a day).
Initially, a full route table consisting of the union of the route tables from all (or a subset) of the members is retrieved and filtered to determine the useful IP network prefixes for testing. This process is shown in
The process of finding the penultimate hop is shown in
Once all of the IP network prefixes in the table have been used to find their penultimate hop, the system may consolidate each router's list of/24s into the most efficient CIDR block to facilitate searching in later phases of the quality measurement system. Each entry is stored in a database in Table 2.
Even though we have a list of all the end routes in the Internet, we require quality information only for those endpoints that have been announced to the trading exchange, i.e., only the endpoints that are on sale.
Packet loss is stored as a percentage. A “0%” indicates that there were no packets lost, and “100%” indicates that all of the packets were lost. Latency is the ms Round Trip Time (RTT) for the ping packet. Jitter is the difference between various measurements of latency, wherein a lower measurement indicates a more consistent latency.
Testing availability of a router may be achieved relatively easily. All that needs to be done is to check the port on the iEDP switch 12 (see
Testing the availability of the router may be done as one large batch to get the current status of all members' ports and then add them to the quality table in the availability column. If the port is online, it may be designated as “1” in the database. If the port is down, it gets a “0” designation. Availability may also be derived from 100% packet loss for all pings to a member, as well as from accessing the port status by telnet or by other methods.
Testing is also performed for the stability of an IP network prefix. If the IP network prefix is injected and removed many times an hour, then there may be some issue with it, or there may be some strange policies associated with it. This modifies the quality of the ASN you are getting if parts of those controlled IP network prefixes are unstable. To determine stability of a route, a log of all the IP network prefixes that this member has injected and removed from the route server is acquired. This is done by parsing the log file specifically for this task that the Route Server exports and appends each time a BGP route change happens. The easiest way for this to be done would be to run the following script per IP network prefix:
cat <logfile> |grep <IP network prefix> |wc-I
Once all of the testing for a router as shown in
From the member quality matrix table, one or more optimized routing tables may be built. The idea is to take, for each buyer, a full route view and compare it with all of the routes that are announced by any member who wishes to participate and meets the buyer's price bids and other qualifications. For each IP network prefix in the full route table, the system chooses the best quality IP network prefix route from the available routes from qualifying members. This is performed by the IP route optimizer 18. It does this for each IP network prefix in the table, creating a new, optimized route table which is saved in the IP route database 22. This new optimized route table is transmitted to the Route Server for use by one or more members. The table is created for each member, according to their bid options. The formula used for the quality comparison can be customized to the traffic type of the customer (VoIP vs. bulk data)
The choice for quality by default follows this priority list, with ties going to the next step down:
1. Lowest score in packet loss,
2. Lowest score in latency,
3. Lowest score in jitter,
4. Highest score in availability
5. Highest score in BGP Stability,
6. Follow conventional BGP rules.
Other formulas are possible and can be modularly updated.
The originating access device 72 may be able to contact the control node 110 directly if it is configured as a SIP user agent and connected to the Internet. Otherwise, the access device 72 sends call setup messages through a non-IP network and a gateway 76 and then via ISP 101 to the control node 110. If the access device 72 is connected to a non-IP compatible network such as a GSM network, the access device 72 may initiate call setup through, for example, a pre-installed client application on the access device 72, to contact the control node 110. In such case, the call setup message will be converted at a gateway 76 and forwarded by a redirect/proxy server to the control node 110. Once the control node 110 sets up the call or media session with the desired subscribers, the service is delivered in the aforementioned manner.
Thus, while there have shown and described and pointed out fundamental novel features of the invention as applied to a preferred embodiment thereof, it will be understood that various omissions and substitutions and changes in the form and details of the devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit of the invention. For example, it is expressly intended that all combinations of those elements and/or method steps which perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Moreover, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.