RELATED APPLICATIONS  
       [0001]     The subject application is a continuation-in-part of commonly assigned application Ser. No. 11/295,977 filed Dec. 7, 2005 and incorporated herein by reference, now ______. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     A. Field of Invention  
         [0003]     This invention pertains to systems providing IP communications over the Internet including VOIP (Voice Over IP) and VIP (Video over IP). More specifically, a system and method is described that provides efficient IP (VOIP, VIP etc. . . . ) communications between various different internet service providers (ISPs).  
         [0004]     B. Description of the Prior Art  
         [0005]     Providing telephone (and video) communications wholly or partially over the Internet has been found to be advantageous, More and more entities (including large and small businesses, non-profit organizations, state and federal agencies and individuals) have Internet connections, and most of these connections are broadband connections that provide much more bandwidth than dial-up connections. Wireless Internet connections are becoming common, thereby providing an effective means of replacing or at least supplementing cellular communications. Another advantage is that, at least for the moment, Internet communications are governed by less stringent regulations than telephone communications.  
         [0006]     Currently VOIP and VIP services are provided by various communication and Internet-related companies, including both conventional telephone carriers making use of Plain Old Telephone Switching (POTS) and Internet Service Providers (ISPs). Competition between these companies for customers is very strong.  
         [0007]     A major stumbling block for the spread of VOIP communications is that each user has a telephone line assigned by a telephone company and an Internet connection (such as a Domain Name or IP address) that is separate and unrelated to the user&#39;s telephone line. Since there is no centralized directory correlating telephone lines with Internet connections, ISPs can typically establish fast Internet communications only for their own users. In other words, fast Internet communications can be provided only between two customers of the same ISP. For all other connections, the ISPs have to establish hybrid communication lines, e.g., lines including both Internet connections and standard telephone lines and switches including PSTNs (Public Switched Telephone Networks) and PBXs (Private Branch Exchanges). One such system is described in U.S. Pat. No. 6,069,890. Understandably, this approach is much slower than the pure Internet lines, and more expensive.  
         [0008]     Another approach is to have the ISP interrogate sequentially various intermediate nodes (including routers and gateways) until a node is found that provides service for a device associated with the requested telephone number. Of course, depending on the distance between the respective nodes, this may be a very slow process.  
         [0009]     A further problem faced by ISPs is that each has its own type of equipment and internal protocols; hence, even if a line is established between two subscribers of different ISPs, communication may not take place because of system incompatibilities.  
         [0010]     Various schemes have been suggested for overcoming these problems. Most of these schemes involve providing massive data banks correlating telephone numbers and IP addresses. Some of these schemes are described in U.S. Pat. Nos. 6,674,745; 6,772,210; 6,810,034, as well as U.S. Applications S.N. 2003/00024762003/0095542; and 2004/0081141. Some of the other schemes include LNP-Telephone Number Translation, DNS-Domain Name to IP address mapping, ENUM-Electronic Number Mapping, DUNDi-Distributed Universal Number Discovery. However, the problem with all these schemes is that if the data banks contain entries for all the subscribers, the amount of time required to find the proper IP address from a telephone number becomes prohibitive and unacceptable to subscribers who are used to the almost instantaneous response of most POTS switching systems.  
       SUMMARY OF THE INVENTION  
       [0011]     Briefly, our invention is a system for providing IP communications (VOIP, VIP, etc. . . . ) over the Internet including a plurality of ISPs, each ISP providing one or more gateways to the Internet for various devices. The devices may include telephone sets, computers, PDAs, and other typical means used by subscribers to request voice/video or other communication channels to other subscribers.  
         [0012]     Preferably, the system includes a central directory. The primary function of the central directory is to correlate a requested telephone number with a specific ISP gateway serving the device associated with the requested telephone number. The central directory may also be used to store SIP URLs and other data elements which maintain information required to communicate between ISP gateways.  
         [0013]     Importantly, within the central directory, each listed telephone number is used as a record with an entry associated with each data number. This data at each entry identifies, directly or indirectly, the respective ISP gateway by an Internet designation such as its IP address or SIP URL. This configuration insures that a request by any subscriber for a connection (VOIP, VIP, etc. . . . ) to another subscriber of any ISP is executed quickly and effectively. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]      FIG. 1  shows a prior art VOIP system limited to communications between subscribers of specific ISPs;  
         [0015]      FIG. 2  shows a prior art VOIP system with communication between subscribers of different ISPs;  
         [0016]      FIG. 3  shows a VOIP system constructed in accordance with this invention;  
         [0017]      FIG. 4  shows the database structure used in the system of  FIG. 1 ; and  
         [0018]      FIG. 5  shows a flow chart illustrating the operation of the system of  FIG. 3 . 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0019]      FIG. 1  is a somewhat simplified block diagram of a prior art VOIP system that provides communication only between the subscribers of the same ISP. More specifically, in system  10 , two devices  12 ,  14  are subscribers of an ISP  16  while two other devices  22 ,  24  are subscribers of an ISP  26 . Gateways  16 A,  16 B are controlled by ISP  16  and connect devices  12 ,  14 , respectively, to the Internet  50 . Similarly, gateways  26 A,  26 B are controlled by ISP  26  and connect devices  22 ,  24 , respectively, to the Internet  50 . The two ISPs  16 ,  26  have no knowledge of each other&#39;s gateway, and do not have any means of handling requests for services that are not within their networks. Therefore, in this configuration, the users of devices  12 ,  14  can request direct VOIP/VIP communications only between each other or with other subscribers of ISP  16  but not with subscribers  22 ,  24  of ISP  26 . Other voice communication can be established only through external PBXs and/or POTS (these have been omitted from  FIG. 1  for the sake of clarity). Devices  12 ,  14  can be desktop PCs, laptop PCs, PDAs, and various other devices configurable to provide various types of services, including audio, video and text communications.  
         [0020]      FIG. 2  shows an improvement over the system of  FIG. 1 . In this system  10 A, the gateways  16 A,  16 B are connected, respectively, to a data storage system, such as a data server  18 A,  18 B. Similarly, the gateways  26 A,  26 B are connected to data servers  28 A,  28 B. Each data server  18 A,  18 B,  28 A,  28 B includes a standard database that holds the information required to provide voice communication between ISP  16  and ISP  26 . In this system  10 A, a subscriber using device  12  requests voice communication with a user associated with ISP  26 . In response to the request, the IP gateway  16 A accesses the information on server  18 A. At the server, the telephone number of each user is correlated with an appropriate URL address and protocol. The server  18 A performs a search of all its entries until the appropriate telephone number is located. The information for communicating with this user is then transmitted back to the gateway  16 A. The gateway  16 A then contacts the gateway  26 A and, using the appropriate protocol, establishes a voice communication link that is then used for voice communication between devices  12  and  22 . A similar process is used for calls from subscribers  22  or  24  of ISP  26  to others, including subscribers  12 ,  14 . A problem with this approach is that for each request, servers  18 A,  18 B,  28 A,  28 B have to look up each called telephone. Of course, the system can only work if all the subscribers register so their information is stored on the servers. Since, potentially, several hundred million subscribers could access the system, the time required to access the server and find the right information becomes prohibitively lengthy.  
         [0021]      FIG. 3  shows a novel system ( 60 ) for providing voice communication. In this system, the servers  18 A,  18 B,  28 A,  28 B in  FIG. 2  are replaced with a central directory  20 . In the embodiment shown, the directory  20  is accessible by any ISP through a distributed communication network such as the Internet, a private WAN/LAN (Wide Area Network/Local Area Network) or a combination thereof. Alternatively, a directory may be provided for each ISP, in a manner similar to the one shown in  FIG. 2 . This latter configuration may be less efficient because individual entries for various ISPs are more difficult to update.  
         [0022]     The new central directory  20  is used to store information in a very specific manner. This information is provided to allow each ISP to establish prompt voice/video communication with other ISPs or even with itself. Importantly, the ISPs provide this connection seamlessly as far as the users of the devices  12 ,  14 ,  22 ,  24  are concerned. In the same manner the ISPs perform this function independently of the nature and structure of the devices  12 ,  14 ,  22 ,  24 .  
         [0023]     The present invention makes use of the fact that every communication device (i.e., land-based telephones, cellular telephones, fax machines, and computer-related accessories) is associated with or is assigned a unique number. As illustrated by the table of  FIG. 4 , all telephone numbers in North America have ten digits (including the area code). Therefore, for North America, the data bank is provided, at least theoretically, with 10 10  addresses arranged in increasing order. For other countries the data bank is established using the local telephone number structure, as discussed in more detail below.  
         [0024]     As shown in  FIG. 4 , in a preferred embodiment, the central directory includes three tables A, B, C. Table A is the main conversion table and exemplifies the entries for the North American phone system. The 10-digit phone number is used as the identifier for each unique entry or data block of the table A. Conventionally, these entries or data blocks are referred to as records, words, or cells of a table. Preferably this table A is implemented as RELATIVE records/words/cells in a RANDOM ACCESS TABLE (RRAT) that is stored as a file parsed internally by a specific byte count called a word, a cell, or a record. Typically, each word, record, or cell is 4 bytes long. This type of table is accessed very fast due to the nature of its structure. More specifically, each entry in the directory is a record, word, or cell that has a unique local address that is used to look up and access the respective entry. In the present invention, this unique local address is the respective 10 digit telephone number of the respective connection or device as discussed before. The number is used either in its original sequence or in another sequence. For example, some of the numbers may be reversed (i.e. 212-555-1234 or 4321555212) to distribute entries more evenly in the table.  
         [0025]     In the preferred embodiment, Table A consists of a single entry in any given record/word/cell. Each ISP is assigned one or more gateway numbers. For example, as shown in Table A, the gateway numbers may be  1001 ,  2005 ,  3017 , etc. . . . . For the sake of clarity, the entries are shown vertically adjacent to each other; however, in actuality they are not adjacent because there are many interposed entries.  
         [0026]     Table B is the ISP gateway conversion table and is used to relate each gateway number to the actual IP address or SIP URL of each of the gateways. For example, ISP gateway number  2005  has the IP address 102.111.222.121. Since each ISP is providing Internet access to a large number of devices (ranging anywhere from several thousands to several millions), the number of ISP gateway numbers and, therefore, the number of entries in Table B is much smaller than the number of entries in Table A.  
         [0027]     Table B is also built as a RELATIVE records/words/cells in a RANDOM ACCESS TABLE (RRAT). The record numbers in this table define the ISP gateway number. The data set for each ISP gateway mainly holds the gateway&#39;s IP address, an alternate gateway IP address, and/or a gateway SIP URL. The data set for each gateway may consist of additional information, such as the ISP name, a designation of the protocol necessary for the communication, and any additional information required by the specific gateway.  
         [0028]     Table C is an optional table that is part of a larger database for the purpose of holding additional information about the phone numbers (i. e. device type—Wireless, VOIP phone, VIP device, PDA, Computer etc. . . . ; language, protocol, device capabilities etc. . . . ). Table C may include several columns relating different parameters.  
         [0029]     While an important function of the system described herein is to provide voice communication, it may be used to exchange other types of signals as well, including text (e.g., AIM messages and the like), voice and video clips, and so on. Moreover, if the devices are equipped with video cameras, then the parties could also be engaged in live video conferencing. Additionally, the same system may also be used for conferencing-type of communications wherein several different parties are on the same line and can talk to each other.  
         [0030]     Of course, the data set may include various other information as well.  
         [0031]     The operation of system  60  is now described in conjunction with the flow chart of  FIG. 5  and the tables of  FIG. 4 . As described above, each device that is capable of providing a voice communication channel over the Internet is designated by a unique telephone number. For example, device  12  may be designated by telephone number 212-999-8000. Internet connection for device  12  is provided by ISP  16 A. This ISP is designated in the central directory  20  as ISP  2005  (Of course, the designations of the ISP gateway are arbitrary and  2005  is used herein strictly for illustrative purposes).  
         [0032]      FIG. 4  lists other addresses of the central directory with the designation of the respective ISP. For example, address and telephone number 213-342-7623 is serviced by ISP  16 B, 317-733-4567 is serviced by ISP  18 A, 657-232-4329 is serviced by ISP  18 B and so forth. Each ISP provides Internet service to any number of devices. In the example provided, device  24  may be assigned telephone number 657-232-4329 and, therefore, its ISP  18 B is designated as  3017 .  
         [0033]     In step  100  ( FIG. 5 ), a user activates device  12  and requests a voice connection to another device, e.g.  24 , by ‘dialing’ its designated telephone number 657-232-4329. In step  102 , the ISP  16 A receives the request for the voice channel from device  12 . In step  104 , the ISP  16 A sends a request to the central directory  20  for the ISP of the requested device  24 .  
         [0034]     In step  106 , the directory  20  receives the request and uses the telephone number of device  24  as an address in its data bank, shown in  FIG. 4 , Table A. The ISP gateway number for ISP  18 B is  5056 .  
         [0035]     In step  107 , if the entry for the queried phone number in Table A has no corresponding gateway number, the directory sends back a message to the requesting ISP indicating that it should proceed over the PSTN, and the query ends.  
         [0036]     Otherwise, the central directory looks up the ISP address for ISP gateway  5056  in Table B. In step  108 , the directory  20  returns the ISP gateway address. Optionally, the central directory  20  also returns any additional information from Table B, such as the alternate gateway IP address.  
         [0037]     In step  110 , the ISP  16 A then uses the information obtained from the central directory  20  and generates an appropriate connection handle. (The connection handle is the identifier used between ISPs to route the call. It may include the originating phone number and IP address etc. . . . ) The ISP  16 A then sends a message to ISP  18 B, including the connection handle, and requests a voice channel with device  24 .  
         [0038]     In step  112 , the ISP  18 B responds to ISP  16 A confirming that it is servicing device  24 . ISP  18 B may provide other information to ISP  16 A as well, including a status report as to whether device  24  is presently on-line and available for a conversation.  
         [0039]     In step  114 , ISP  16 A and/or ISP  18 B also determine what protocol is being used by ISP  18 B and device  24 , and whether protocol conversion is necessary (unless this information has been transmitted previously). This information may be obtained from the central directory  20  or from other sources.  
         [0040]     If protocol conversion is necessary, the necessary conversion parameters are obtained in step  116 . These parameters are used by ISP  16 A and/or  18 B to translate signals between the two devices to conform with the appropriate protocols.  
         [0041]     In step  118 , the requested voice channel is established and the two devices can start exchanging voice signals, preferably in a full duplex mode. If the devices  16  and  24  are suited for it, in addition to voice signals, other information may be exchanged including video signals, multi-channel audio signals, etc. . . . .  
         [0042]     In one embodiment of the invention, as mentioned above, Tables A, B, and C are all stored with the central directory. In another embodiment of the invention, Table A, B, and C are stored in each of the individual ISPs  16 A,  16 B, etc. . . . .  
         [0043]     In  FIG. 4 , Table B is used to store the additional information associated with the various ISPs, while Table C is used to store the additional information associated with the various individual devices. In an alternate embodiment, Table B is eliminated; and in Table A, every telephone number points directly to an Internet address (either an IP, a SIP, or other similar address) of the corresponding ISP gateway or subscriber.  
         [0044]     In the embodiments discussed so far, the central directory is used to provide the addresses of ISPs in North America. The invention can be extended to cover any other country. When this is presented to Table A, assuming that a gateway for that country/ISP exists, the table provides an address for that country&#39;s directory service; Directory  30  in this case, or as an alternative, supply the address to the UK&#39;s main international gateway.  
         [0045]     Numerous modifications may be made to this invention without departing from its scope as defined in the appended claims.
An Internet-based system provides substantially instantaneous communication between two devices for exchanging voice and multimedia signals. The system includes ISP gateways with unique IDs that service a plurality of devices with unique telephone numbers. The system further includes a directory which correlates the devices with ISP gateways. More specifically, the directory includes a RELATIVE records/words/cells in a RANDOM ACCESS TABLE (RRAT) with each entry being identified by a record number, which in this case corresponds to the telephone numbers (as they are or in reverse). The entry relates directly or indirectly the telephone number with the respective ISP gateway. Communication is established by having the ISP gateway of the calling device looking up the ISP gateway of the called device in the directory using the telephone number of the called device. The ISP gateway then generates a handle for the called ISP and uses the handle to establish a communication channel between two devices quickly and efficiently.