The field of the present invention is cloud-based communication networks, particularly cloud-based networks in which sessions may be established and controlled from a software-based or hardware-based communication terminal.
By way of non-limiting example only, a cloud-based system refers to a network of connected computing and communication resources. A cloud-based system may represent a packet-switched network, like the Internet. The network may contain transmission lines, repeaters, routers, network backbones, network interconnect points, etc., depending upon the extent of the network which it represents. Voice over Internet Protocol (“VoIP”) is a general term for a family of transmission technologies for delivery of voice communications over Internet Protocol (“IP”) networks such as the Internet or other packet-switched networks.
When establishing a VoIP session over a traditional Time Division Multiplex (“TDM”) or IP based communication system, a client or endpoint (irrespective of whether it is hardware or software based) configures and registers itself with a specific service or provider. For example, a Skype™ user downloads a Skype™ client on a laptop or on a phone, and registers for the services. A TDM based system uses an E.164 based phone number to make a phone call. However, if a service does not exist for any reason (e.g. overload, disaster, etc.), a VoIP session may not be established.
Accordingly, there is a need to support computing and communications services using the available resources of a cloud-based system without any significant investments for building and maintenance of networks, storage, servers, network management, operations, and provisioning systems.
The present invention is directed toward systems and methods for establishing and controlling a session over cloud-based networks from a software or hardware based communication terminal.
In a first aspect of the present invention, a system for implementing VoIP over a cloud-based network comprises a first edge proxy server operatively connected to target servers, and receives resource information from the target servers, which are associated with the cloud-based network. A first endpoint is operatively connected to the first edge proxy server and is configured for voice communications with a second endpoint over the cloud-based network. The system also includes a second endpoint operatively connected to a second edge proxy server. The first and second endpoints are configured for voice communications over the cloud-based network. The voice communications are facilitated by the first edge proxy server using the received resource information.
In a second aspect of the present invention, a first edge proxy server receives resource information from one or more target proxy servers associated with a cloud-based network, wherein the first edge proxy server is registered with a first endpoint. Based at least in part on the received resource information, the first edge proxy server facilitates voice communications with a second endpoint over the cloud based network.
Any of the above aspects may be implemented alone or in combination.
Additional aspects and advantages of the improvements will appear from the description of the preferred embodiment.
Embodiments of the present invention are illustrated by way of the accompanying drawings, in which:
Referring now to
Inter-cloud interfaces facilitate exchanges of resources and the resource availability information to and/or from all the clouds, 2, 3, and 4, of which they are attached. If the middle cloud 3 belongs to an administrative domain as the respective inter-cloud interface, the inter-cloud interfaces will be null. However, if the middle cloud 3 belongs to a different administrative domain; security, policy, and load balancing features must be properly managed across the inter-cloud interfaces. For purposes of non-limiting explanation only, an administrative domain refers to a network domain having authority to manage or control users with internal components of that domain.
For non-limiting purposes of explanation only, a “computer”, as referred to herein, refers to a general purpose computing device that includes a processor. “Processor”, as used herein, refers generally to a device including a Central Processing Unit (“CPU”), such as a microprocessor. A CPU generally includes an arithmetic logic unit (“ALU”), which performs arithmetic and logical operations, and a control unit, which extracts instructions (e.g., code) from memory and decodes and executes them, calling on the ALU when necessary. “Memory”, as used herein, refers to one or more devices capable of storing data, such as in the form of chips. Memory may take the form of one or more random-access memory (“RAM”), read-only memory (“ROM”), programmable read-only memory (“PROM”), erasable programmable read-only memory (“EPROM”), or electrically erasable programmable read-only memory (“EEPROM”) chips. Memory may be internal or external to an integrated unit including the processor. Memory may be internal or external to the computer. Such memory may store a computer program, e.g., code or a sequence of instructions being operable by the processor. Such a computer may include one or more data inputs. Such a computer may include one or more data outputs. The code stored in memory may cause the processor, when executed by the processor, to set an output to a value responsive to a sensed input.
One type of computer executable code typically stored in memory so as to be executable by an Internet enabled computer is a browser application. For non-limiting purposes of explanation only, “browser” as used herein generally refers to computer executable code used to locate and display web pages. Two commercially available browsers are Microsoft Internet Explorer, Netscape Navigator, Apple Safari and Firefox, which all support text, graphics and multimedia information, including sound and video (sometimes through browser plug-in applications).
“Server”, as used herein, generally refers to a computing device communicatively coupled to a network and that manages network resources. A server may refer to a discrete computing device, or may refer to an application that is managing resources rather than the entire computing device. An edge proxy server may be a proxy server which is designed to run at the edge of the network, e.g., separating a local network from the Internet.
Referring now to
While embodiments of this invention have been shown and described, it will be apparent to those skilled in the art that many more modifications are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the following claims.
Priority is claimed to U.S. Provisional Patent Application No. 60/304,642, filed Feb. 15, 2010, the disclosure of which is incorporated herein by reference in its entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2011/024901 | 2/15/2011 | WO | 00 | 9/13/2012 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2011/100744 | 8/18/2011 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6496477 | Perkins et al. | Dec 2002 | B1 |
7123598 | Chaskar | Oct 2006 | B1 |
7418092 | Brown | Aug 2008 | B2 |
20020178269 | Suckow | Nov 2002 | A1 |
20040006615 | Jackson | Jan 2004 | A1 |
20050027788 | Koopmans et al. | Feb 2005 | A1 |
20050091399 | Candan et al. | Apr 2005 | A1 |
20060007914 | Chandra et al. | Jan 2006 | A1 |
20060026288 | Acharya et al. | Feb 2006 | A1 |
20060123470 | Chen | Jun 2006 | A1 |
20070140262 | Wang | Jun 2007 | A1 |
20080091811 | Wing et al. | Apr 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20130003537 A1 | Jan 2013 | US |
Number | Date | Country | |
---|---|---|---|
61304642 | Feb 2010 | US |