SYSTEM AND METHOD FOR COMMUNICATING DATA OVER MULTIPLE NETWORKS

Abstract: A networking system and controller are disclosed that combine various subnets to more effectively manage and control data communication and available bandwidth. The system integrates the subnets into an overlaid backbone network which can connect different devices such as phone line network devices, power line network devices, radio frequency (RF) cordless devices, and devices clustered around internet protocols to distribute data efficiently and reliably over the subnets.

Description: System and method for communicating data over multiple networks This invention relates to a system and method for data networks; more particularity, the invention relates to a networking architecture that integrates various subnets to more effectively manage and control data communication and available bandwidth. With an increase in the number of households and businesses having multi- digital consumer electronic (CE) equipment, there are greater demands for data networks that link two or more PCs and/or CE devices together. In its simplest form, data communication takes place between any two devices that are connected by some form of transmission medium. However, it is generally impracticable for such devices to be point-to-point connected. To connect all devices directed to each other would be expensive and bulky (in view of the number of connections required) for the home or business. Accordingly, multiple PCs and/or CE devices are generally connected via a network. Fig. 1 shows a prior art communication network 10. The network 10 includes workstations 11, communication nodes 12 and a communication network 13. The workstations 11 may be computers, terminals, telephones, and other communication devices. Each of the workstations 11 attach to respective communication nodes 12 which are capable of transferring data between the workstations 11 via the communication network 13. The communication network 13 may be any conventional-type network such as switched (circuit- or packet-switched) and broadband (packet radio, satellite, bus-local and ring-local) networks. The communication nodes 12 use various communication protocols to allow for proper communication between the workstations 11 via the communication network 13. Essentially, the protocols define the set of rules governing the exchange of data between the two workstations 11. The key functions of the protocol relate to syntax, semantics and timing. The communication may be direct (point-to-point) or indirect (via intervening active agents, e.g., the Internet). In addition, devices are also known that function as bridge protocol data units between two portions of the communication network 13. Such devices, e.g., routers, are used in LANs to transfer data between two different communication media, e.g., wireless to/from wired. These devices include physical layer and link layer communication applications for each respective medium over which data is to be transferred. The routers may be used as the communication node 12 to interface a LAN (e.g., the communication network 13) and an automated appliance (e.g., the workstations 11 which may have an infrared interface). Furthermore, systems are also known that communication commands to remote devices via electric power lines (e.g., intra-building or inter-building). In such systems, message signals are modulated on power signals. Interface nodes, coupling the remote device and the electric power lines, decode the commands. One of the major functions of a home/business network is to distribute data throughout the building or region. This type of data networking concept allows multiple users to perform various useful tasks. For example, these tasks include: - internet-access sharing, with appropriate gateway applications, one PC can provide access to the Internet for an entire household, which eliminates the need for separate modems Internet accounts and phone lines; - folder and hard disk sharing, which makes backup and file transfers easier; - peripheral/appliances sharing, i.e., printers and facsimile machines; and - audio and video entertainment, e.g., children at different location within the home or in the neighborhood can play games or watch a video program simultaneously over the network. Another function for such home/business networks relates to smart systems (e.g., home automation) which allows for control of various home/business functions. The popularity of smart energy modules (which control the building environment) and intelligent security systems are increasing. Similar to routers, interfaces are known that connect such smart systems together and account for different communication parameters. The interface acts like a connection point (i.e., a switching node) for the various smart systems. The conventional market for home/business networking is mainly PC-centric, e.g., PCs connected via a local area network (LAN). Using existing infrastructure and technologies, one can connect devices by various means, e.g., coaxial cable, plastic optical fiber (pof), power line, phone line, integrated service digital network (ISDN), and wireless (ER. and RF). Coaxial cable and plastic optical fiber can provide reliable 10/100 Mbps Ethernet and 100Mbps 1394b connections. Other mediums such as phone lines, power lines and wireless can generally provide low to medium data-rate connections. Of course, the selection of medium depends highly on whether there is a need for intra-room or inter-room connection. For devices in the same room, it is desirable to use cable and pof in order to have reliable and high bandwidth connection. However, for devices in different rooms or on different floors, one will have to drill holes and snake cables/fiber through walls. This is definitely not a preferred solution for many consumers because of the installation costs and disruption in the home. One way to cope with this problem is to use wires that are already in place or to use a wireless solution. The Home Phoneline Networking Alliance (HomePNA) has recently passed a standard for home networking using the phone lines. The first specification will provide data- rate up to 1Mbps but subsequent release will go up to 10Mbps. In this standard, the networking protocol operates over phone line existing within the building without interfering with regular voice communication. This is accomplished by using frequencies outside the range of human- voice communication. These frequencies are also compatible with ISDN services. Another approach is to make use of the power lines, as discussed above, that have the advantage of multiple power outlets located throughout the whole house. Currently, the maximum data-rate over power lines is about 350Kbps. Yet, other technologies include the use of a radio-based wireless network or a wired Ethernet network. Various standards for indoor radio networks have been proposed in the U.S., Europe and Japan. In connection with the present invention, it is foreseen that other wireless networking products may also become popular in the market that include Bluetooth (<lMbps), HomeRF (~2Mbps), IEEE802.1 la and ETSJ7BRAN (~36Mbps). Although radio-based technology can avoid wiring-related shortcomings, such technology, however, also has weaknesses related to interference (from other radio-based sources) and reliability. One major shortcoming related to the conventional home networks discussed above is that they rely on a single medium or technology for communication and interconnection. Moreover, in some cases, there may be multiple networks within a single building or residence. These multiple networks may essentially compete for the same bandwidth, e.g., radio frequencies. Even in the case where the multiple networks do not compete for the same bandwidth, there exists no integrated system for effectively managing and controlling (e.g., demand and allocation of bandwidth) such home/business network mediums. There thus exists in the art a need for improved methods and systems for implementing and controlling home/business networks. The increase in digital consumer appliances will drive the networking market to new areas. It is foreseen that inter-room connections, multiple networking techniques are needed that will complementary each other. The infrastructure of a home, building (assuming no new wiring is to be installed) and proximate geographic regions will be composed of multiple subnets, e.g., a phone line subnet, a power line subnet and/or a wireless subnet. The present invention provides a network architecture that integrates the such subnets into an overlaid backbone network which can connect phone line network devices, power line network devices, radio frequency (RF) cordless devices, and devices clustered around internet protocols (IP), universal serial buses (USB) and P1394, and distribute data efficiently and reliably over the subnets. One aspect of the present invention is directed to an inter-subnet router. The inter-subnet router transfers data to a destination-router via one or more subnets defined in a routing data structure. The setup of the routing structure is done via a route setup mechanism based on the bandwidth and quality of service requirement of each connection. One embodiment of the invention relates to a controller including a plurality of data connections for a plurality of subnets, a plurality of input/output connections for a plurality of data devices and means for combining bandwidth from one or more of the plurality of subnets. The controller also includes means for communicating a data packet from one of the plurality of data devices to another of the plurality of data devices using the combined bandwidth. Another embodiment of the invention relates to a data networking system including a plurality of controllers to which respective data devices are coupled. The system also includes a plurality of subnets coupled to the controllers so that data from one of the controllers can be sent to another of the controllers using one or more of the subnets. In yet another embodiment a method for allocating bandwidth in a network is provided. The method includes the steps of receiving a connection request from a data device and determining whether one of a plurality of subnets has bandwidth available to support the connection request. If not, it is determined whether more than one of the plurality of subnets in combination has bandwidth available to support the connection request. If the bandwidth is available, the available bandwidth for the connection request is allocated. These and other embodiments and aspects of the present invention are exemplified in the following detailed disclosure. The features and advantages of the present invention can be understood by reference to the detailed description of the preferred embodiments set forth below taken with the drawings, in which: Fig. 1 is a schematic block diagram of a prior art communication network; Fig. 2 is a schematic block diagram of a preferred embodiment; Fig. 3. is a block diagram of an inter-subnet router in accordance with one aspect of the invention; Fig. 4 is a flow chart show various step in allocating bandwidth in accordance with a preferred embodiment; and Fig. 5 is a schematic block diagram of another embodiment. Fig. 2 illustrates a preferred embodiment of the present invention relating to the use of inter-subnet routers, i.e., controllers, for a home network 100. Of course, it should be understood that the invention is not limited to home networks. The invention may also be applied to any environment that benefits from data networking such as business and educational facilities. In this example, a residence 200 including a bedroom 201, a living room 202, and a study 203 is shown. Each room has a respective inter-subnet router 101 that connects various devices in the room to at least one of a plurality of subnets. This example includes a phone line subnet 102, a power line subnet 103, a wireless subnet 104, a coaxial subnet 105, a fiber subnet 106 and an external network 107. Each room also include various end-user devices (e.g., TV 110, video recorder 111, laptop 112, phone 113, VCR 114, facsimile 115, printer 116 and personal computer 117) which may transmit and/or receive data over the various subnets. The routers 101 may be connect to all or some of the subnets. For example, the living room router 101 connects to all five subnets, but the study router 101 connects to all but the coaxial subnet 105. Alternatively, all of the end-user deceives at this location may be coupled to a single router 101. In this embodiment, the single router 101 then manages communication between the end-user devices and external devices located in a different building or location that also have access to the various subnets via an inter-subnet router. Each router 101 maintains data related to connectivity and available bandwidth. For example, each router 101 may include tables as shown below, i.e., a connectivity table and a bandwidth availability table. The connectivity table provides information on the availability of the subnets. In operation, the connectivity table is automatically setup when the router 101 is associated with one or more subnets. The bandwidth availability table provides information on the reliability of the subnet 101 and the bandwidth available in each subnet 101. In operation, the bandwidth table is updated when a connection between two routers 101 is setup, released, or modified. In this embodiment, the connectivity and bandwidth tables are used allocate subnet resources and facilitate connection admission control. Table 1: Connectivity table In the connectivity table, the following notational conventions are used: ph - phone line subnet 102; pwr - power line subnet 103; wl - wireless subnet; cox - coaxial subnet 105; and fib - fiber subnet 106. As shown in the connectivity table above, the connection (or communication) paths from and to each router 101 via the various subnets is provided. From such a table, one can easily derive the subnets that are available at a particular router 101. Of course, it will be appreciated by one skilled in the art that other data structures can be defined to store and administer the connection data. The invention is not limited to a matrix-like table. In addition, each router 101 is not required to maintain such connectivity and bandwidth availability data. One of the routers 101 may store such information. The other routers 101 access the information as needed. In another embodiment, such information may be stored in an external device (e.g., a local or remote PC). The routers 101 then access the information from the external device as needed. Table 2: Bandwidth availability table In the Bandwidth availability table, the following notational conventions are used: ph_total represents the total bandwidth available for the phone line subnet, similar notational convention represent the total power the remaining subnets; "a" through "e" respectively represent the amount of bandwidth used within respective subnets at any particular time. The values of a through e are updated as bandwidth within a particular subnet is allocated or released. The available bandwidth at any moment in time can be easily calculated by subtracting the bandwidth used in a particular subnet from the total available bandwidth within the subnet. Table 2 also contains information relating to the reliability of each the subnets 102 through 106. Each of these subnets is rated based on accepted performance criteria or standards. Some subnets are inherently more reliable to use then others. Fig. 3 shows the internal architecture of the router 101. The router 101 includes one or more data connections 322, one or more input/output connections 324, a processor 325, a memory 326, and an internal clock 328. The data connections 322 represent interfaces for the various subnets 102 through 106. As discussed above, data connections 322 may alternatively represent one or more data connections from the subnets 102 through 106 and/or from the external network 107, e.g., a global computer communications network such as the Internet, a wide area network, a metropolitan area network, a local area network, a terrestrial broadcast system, a cable network, a satellite network, a wireless network, or a telephone network, as well as portions or combinations of these and other types of networks. The input/output connections 324 represent interfaces (e.g., hardwired, wireless, inferred, video, analog or digital) for the various end-user devices (e.g., items 110 through 117 shown in Fig. 2). The data connections 322, input/output connections 324, processor 325, memory 326 and clock 328 communicate over a communication medium 327. The communication medium 327 may represent, e.g., a bus, a communication network, one or more internal connections of a circuit, circuit card or other device, as well as portions and combinations of these and other communication media. It should be understood that the particular configuration of the router 101 as shown in FIG. 3 is by way of example only. Those skilled in the art will recognize that the invention can be implemented using a wide variety of alternative system configurations. Fig. 4 shows a flow chart depicting the allocation and control of connections between end-user devices via the various subnets. In step S10, an end-user device requests a connection to one or more other end-user devices. The router 101 to which the particular end- user device is coupled to then processes the request as described below. The request comprises commands and interface protocols routines which are interpreted by the router 101. The following are several such examples of type of connections that may be requested: - TV 101 requests video data from the VCR 114 or the video 111; - PC 117 requests access to the Fax 115 or the printer 116; and - Laptop 112 requests access to the phone 113 or the external network 107 (e.g., to gain access to Internet). In step S 11, the router 101 determines whether a connection to the desired end-user device is possible. For example, if the PC 117 in the study attempts to connection to an end-user device that does not exists or is already in use, an error message is sent in step S12. Otherwise, in step S13, the router 101 checks whether there is available bandwidth to make the connection. This is determined using data such as shown in tables 1 and 2, and data such as shown in table 3 below. Each router 101 may such a version of the end-user device table or equivalent data structure for the end-user devices connected respectively to it. Table 3: End-user device table In the End-user device table, values such as TVJVflN, TV BW and TVJVIAX as set in accordance with the bandwidth demands/requirements for respective end-user devices. These values represent the minimum, typical and maximum bandwidths required for respective end-user devices. For some end-user devices the minimum, maximum and typical values may be the same. The phone 113, for example, may require a set bandwidth for any connection request. On the other hand, the PC 117 may require different bandwidths depending on the type of request (e.g., MAX bandwidth for video data, MLN bandwidth for ASCI data file transfers, and typical BW for all other types of requests). The MEN, BW and MAX values for each end-user device may be pre-set (or system default values may be used) and updated as needed. In addition, different allocation rules may be set for each end-user device. Some end-user devices, for example, may be set to always request the maximum bandwidth with the option of moving to a lower bandwidth if the maximum bandwidth is not available. Other end-user devices may be set to always request the minimum bandwidth and move up to a higher bandwidth if more is available. Yet other end-user devices may be set to only operate using a fixed amount of bandwidth (e.g., the maximum amount). The router 101 checks the connectivity data to determine which subnets 102 through 106 are available (e.g., between the study 203 and the bedroom 201). Even if a particular subnet is not connected to a particular router 101, connectivity can be achieved by routing data through another router 101 that is connected to common subnet. As shown in Fig. 5, router 101B can connect to router 101C through router 101A. In this case, the router 101B uses the fiber subnet 106 and/or power line subnet 103 to connect to the router 101A. The router 101 A then uses the coaxial subnet 105 to connect to router lOlC. In addition, in a preferred embodiment, subnets with higher reliability rating are given preference over lower reliability rated subnets. This reliability rating can be associated along with table 2 as shown above, or a separate data structure can be used. The use of the most reliable subnet ensures that the best available connection is provided. Alternatively, a particular reliability rating (e.g., high) may be requested by the end-user device making the connection request. The reliability ratings for particular connections may also be pre-set according the bandwidth allocation rules. Once it is determined that a connection can be established, the router 101 then checks the bandwidth data to determine the amount of bandwidth currently available from the various subnets 102 through 106. If a single subnet is capable of supporting the required bandwidth, it is used. If not more than one subnet is used. For example, if only the phone line subnet 102 and the wireless subnet 104 have unused bandwidth, (Ph_total - a) + (Wl_total - c) would equal the amount of bandwidth available for the current connection request. If this value is not equal to or more than the required bandwidth (e.g., TVJ3W), then, in step S14, this value is checked verse a lower bandwidth (e.g., TV_MIN). An error message is provided in step S15 if not enough bandwidth is available for the request. Otherwise, in step S16, the necessary bandwidth is allocated. As noted in the example above, the bandwidth may be spread over one or more subnets 102 through 106. The router 101 transmits the data over the allocated bandwidth accordingly. The appropriate router 101 then receives the data. The data transfer may be accomplished using circuit-, message- or packet-switching (or combinations thereof) or any other similar communication protocol. Illustratively, in a packet-switched network, the data is simultaneously sent over one or more of the subnets 102 through 106 in a packetized format. In a circuit-switched network, one or more temporary communication channels are established as required to provide the necessary bandwidth. For example, the phone line subnet 102 may use Tl digital carriers (i.e., Digital Signal level - DSl). A Tl line carries twenty-four 64 Kbps channels (resulting in 1.544 Mbps including overhead bits). Multiple Tl lines may be multiplexed to from higher rate carriers (e.g., 6.312 Mbps (T2)). The higher rate carriers may require the use of a fiber optic network, e.g., fiber subnet 106. In this regard, channels from both the fiber subnet 106 and the phone line subnet 102 may be used to provide the bandwidth necessary for a connection. In this way, bandwidth from two or more of the subnets 102 through 106 is used to transmit a data set or a data packet from one end-user device to another via the routers 101. Essentially, a portion of the data set is sent via one subnet and other portions of the data set are sent via other subnets. To the user, this is transparent and simultaneous. The data set may represent text files, video, voice or any other information required. The data concerning available bandwidth (e.g., table 2) is then updated in step S17. In step SI 8, as discussed above, if the requested bandwidth is not available, a low bandwidth is allocated. The data concerning available bandwidth is then updated in step S17. The process may then jump back to step S13 to check if the higher requested bandwidth has become available. If more bandwidth becomes available, it is allocated accordingly. This step may be repeated as needed. In another embodiment, bandwidth may be allocated is a burst mode. In this situation, the router 101 receiving a connection request from one or more of the end-user devices first determines the maximum available bandwidth using the tables discussed above. Then, based upon the determined maximum available bandwidth, the data from the end-user device is communicated using all, or most, of the determined maximum available bandwidth. One of the routers 101 may coordinate requests from the end-user devices. Shown below is a dynamic connection request table/queue that may be used to facilitate connection requests from the multiple end-user devices. Requests from different end-user devices may be prioritized in the table/queue as needed. Table 4: Request Queue In table 4, BD-TV represents the TV 110 in the bedroom 201, ST-PC represents the PC 117 in the study 203, and LV-VCR represent the digital VCR 114 in the living room 202. As requests are received from the various end-user devices, they are time stamped and logged in the request queue. The time stamps may be based upon the internal clock 327 of the router 101 (see, e.g., Fig. 3). The requests are also assigned a priority, e.g., low, normal and high. The requests having a priority rated "normal" are processed in chronological order. The requests having a priority rated "low" or "high" may be processed later or earlier, respective, as required. Of course, other priority levels may also be assigned as required for a particular type of request or end-user device. In a preferred embodiment, these steps are implemented by computer readable code (e.g., software programs) executed by the processor 325. The code may be stored in the memory 326 or read/downloaded from a memory medium such as a CD-ROM or floppy disk. In other embodiments, hardware circuitry may be used in place of, or in combination with, software instructions to implement the invention. While the present invention has been described above in terms of specific embodiments, it is to be understood that the invention is not intended to be confined or limited to the embodiments disclosed herein. On the contrary, the present invention is intended to cover various structures and modifications thereof included within the spirit and scope of the appended claims.

Claims: CLAIMS: 1. A data networking system comprising: - a plurality of controllers; - at least one data device coupled to each of the plurality of controllers; and - a plurality of subnets coupled to the plurality of controllers, wherein a data set from one of the plurality of controllers can be sent to another of the plurality of controllers using at least two of the plurality of subnets in accordance with bandwidth allocation rules. 2. The system according to Claim 1, wherein the plurality of controllers include means for integrating the plurality of subnets into an overlaid backbone network. 3. The system according to Claim 1, wherein the plurality of subnets including one or more of the following a phone line subnet, power line subnet, a wireless subnet, a coaxial subnets, and a fiber subnet. 4. The system according to Claim 1, wherein the data set is sent over the at least two subnets in a simultaneous manner. 5. The system according to Claim 1, wherein the at least one data device includes one or more of the following a computer, a display device, a video device, a consumer electronic device and a voice communication device. 6. The system according to Claim 1, wherein the plurality of controllers have access to subnet connectivity data, subnet available bandwidth data and reliability data. 7. The system according to Claim 6, wherein the subnet connectivity data and the subnet available bandwidth data is stored in each of the plurality of controllers. 8. A controller comprising: - a plurality of data connections for a plurality of subnets; - a plurality of input/output connections for a plurality of data devices; - means for combining bandwidth from one or more of the plurality of subnets; and - means for communicating a data packet from one of the plurality of data devices to another of the plurality of data devices using the combined bandwidth. 9. The controller according to Claim 8, further comprising means for routing the data packet using a different one of the plurality of subnets to improve reliability. 10. The controller according to Claim 8, further comprising a memory which stores connectivity and bandwidth availability data. 11. The controller according to Claim 9, further comprising a memory which stores reliability data on the plurality of subnets. 12. The controller according to Claim 8, further comprising means for alternate routing of the data packet through an intermediary device. 13. The controller according to Claim 8, wherein the plurality of input/output connections include interfaces for one or more of the following a computer, a display device, a video device, a consumer electronic device and a voice communication device. 14. The controller according to Claim 8, wherein the plurality of data connections include interfaces for one or more of the following a phone line subnet, power line subnet, a wireless subnet, a coaxial subnets, and a fiber subnet. 15. A method for allocating bandwidth over a network, the method comprising the steps of: - receiving a connection request from a data device; - determining whether one of a plurality of subnets has bandwidth available to support the connection request; - if not, determining whether more than one of the plurality of subnets in combination has bandwidth available to support the connection request; and - if the bandwidth is available, allocating the available bandwidth for the connection request in accordance with bandwidth allocation rules. 16. The method according to Claim 15, further comprising the steps of updating bandwidth allocation data after the allocation of the available bandwidth for the connection request. 17. The method according to Claim 15, further comprising the step of selecting the plurality of subnets in accordance with a predetermined reliability of each the plurality of subnets. 18. The method according to Claim 15, further comprising the steps of: - if the bandwidth is not available from more than one of the plurality of subnets in combination, determining whether a lower bandwidth may be used to support the connection request; and - if yes, repeating the steps starting with the step of determining whether one of a plurality of subnets has bandwidth available to support the connection request. 19. The method according to Claim 15, wherein an amount of bandwidth required to support the connection request is determined in accordance with predetermined bandwidth allocation rules. 20. A memory medium including code for allocating bandwidth over a network, the code comprising: - code to receive a connection request from a data device; - code to determine whether one of a plurality of subnets has bandwidth available to support the connection request; - code to determine whether more than one of the plurality of subnets in combination has bandwidth available to support the connection request; and - code to allocate the available bandwidth for the connection request in accordance with bandwidth allocation rules. 21. The memory medium according to Claim 20, further comprising code to update bandwidth allocation data after the allocation of the available bandwidth for the connection request. 22. The memory medium according to Claim 20, further comprising code to select the plurality of subnets in accordance with a predetermined reliability of each the plurality of subnets. 23. The memory medium according to Claim 20, further comprising code to determine, if bandwidth is not available from more than one of the plurality of subnets in combination, whether a lower bandwidth may be used to support the connection request; and - code to repeat the code steps starting with the code to determine whether one of a plurality of subnets has bandwidth available to support the connection request.

Inventors: PIOTROWSKI TONY E, PIOTROWSKI, TONY, E.
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 2001
Main classification: C12Q
IPC codes: H04L12, H04M11