US20150350063A1 - Routing Data In A Network - Google Patents
Routing Data In A Network Download PDFInfo
- Publication number
- US20150350063A1 US20150350063A1 US14/646,576 US201314646576A US2015350063A1 US 20150350063 A1 US20150350063 A1 US 20150350063A1 US 201314646576 A US201314646576 A US 201314646576A US 2015350063 A1 US2015350063 A1 US 2015350063A1
- Authority
- US
- United States
- Prior art keywords
- controller
- data streams
- network
- priority parameter
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5022—Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2491—Mapping quality of service [QoS] requirements between different networks
Definitions
- the invention concerns a method of delivering data streams in a network comprising devices connected to the network via adapters, a system for delivering data streams, where the system comprises a network of devices attached to the network via adapters, and a controller for a network of devices in which the devices are attached to the network via an adapter.
- LAN local area network
- devices which may be connected or coupled to each other include computers, both desktop and laptop, printers, electronic devices generally which process information, and also hand held devices such as mobile phones, tablet devices and personal assistants.
- a network can be established in a home environment and includes personal computers, laptops, video recorders, DVD players, television set top boxes and other devices which process information which is of use to the persons residing in the home.
- devices in a network are known as nodes.
- a network can be set up using an existing shared network, such as a power line network, a network using existing coaxial or hybrid fiber-coaxial cables, for example a DOCSIS network, or a bus network, if any of these is already present in the physical locality where the network of devices is required.
- Power line networks are described, for example, in Medium Access Control for Power Line Communications: An Overview of the IEEE 1901 and ITU-T G.hn Standards, by Md. Mustafizur Rahman et al., IEEE Communications Magazine, July 2011, pp. 183-191.
- a shared network has a limited physical capacity and will at any one time have a limited bandwidth due to the signals it is carrying. Bandwidth cannot be exceeded, therefore when devices that are attached to such a shared physical network attempt to deliver data to each other within the network, and there is insufficient bandwidth in the shared segments of the network, delivery of the signals is disrupted.
- prioritisation for example by using DiffServ, as is known in the art, however there are several different schedules of prioritisation and in the event of a local area network constructed from different devices it may be that the different devices use different prioritisation schedules from each other, or in some cases use none at all.
- Adapters are relatively unsophisticated devices which may or not have the ability to apply or enforce prioritisation of data streams.
- a group of devices are typically networked because there is some advantage to the user in coupling them for the transfer of data.
- a network data is typically transferred between networked devices and in the case of a home network in a domestic environment these devices would include home computers, laptops, internet broadcast controllers for the control and delivery of broadcast content for for example television, and other devices.
- Devices in a network typically communicate with each other using streams of data, i.e. data streams.
- the data stream can be any sequence of data, information, or for example bits, used to communicate between devices.
- Such data streams include the transmission of routine signaling between devices but also more complex streams for example programs, video clips and video streams, gaming programs and music streams etc.
- Prioritisation schedules are known to the skilled person.
- a typical example of a prioritisation schedule is DiffServ.
- Alternative schemes include Priority Point Code (PCP) from 802.1p, user_priority parameter as specified in 802.1D and used in IEEE 1901, the channel access priority in 1901 FFT MAC and ITU-T G.hn or the Homeplug Channel Access (CA) priority.
- PCP Priority Point Code
- user_priority parameter as specified in 802.1D and used in IEEE 1901
- the channel access priority in 1901 FFT MAC and ITU-T G.hn or the Homeplug Channel Access (CA) priority.
- Prioritisation schemes use priority parameters to indicate relative priority between data or data streams.
- QoS Quality of Service
- QoS control Quality of Service
- priority parameters allows one data stream, to take priority over another data stream. Typically this means that the data stream with higher priority will be delivered before streams of lower priority. In effect, data with higher priority is allowed access to bandwidth before data of lower priority. If the data of higher priority functionally uses up bandwidth then other data may not be delivered at all or may only be partially delivered.
- priority schedules otherwise known as priority schemes, allow one data stream to be given right of way over another.
- priority is a multiple step process. Firstly the priority of a particular stream or flow must be determined. To do this the stream must first be identified and then the correct priority identified, perhaps from a look up table, database or other data table or memory. Typically, certain types of flow will be given priority over other types.
- the allocation of priority is normally formalised in some way within a scheme. For example, video or voice traffic will normally have priority over file downloads. As such if a video or voice stream is identified it will be due a higher priority than, say, the download of an upgrade. In another example, if a VoIP session is initiated then voice traffic may require priority over all other types of traffic so that a live discussion between participants can proceed without undue latency or interruption. Alternatively, priority may be allocated to certain devices or types of device, or to certain programs.
- the identified priority must be allocated to the data stream. This is typically done by the allocation of a priority parameter, typically by insertion of the parameter into the data stream, normally into the header of the data stream.
- priority is marked using an index called a DiffServ Code Point, or DSCP.
- priority queuing techniques in which devices read the priority parameters attached to the data streams and queue the data streams in order of their inserted priority parameters. In such a case a stream containing a higher priority parameter will be placed in the queue ahead of a stream with a lower priority parameter.
- An adapter converts signals between two types of network and is therefore able to convert signals between devices on a local area network and, say, the shared network segments.
- the adapter is built into the device, in which case the adapter allows the device to have a direct connection to the shared segment.
- the adapters would typically be power line adapters.
- Other forms of shared network would require other forms of adapters.
- Adapters are normally relatively unsophisticated devices and there is no guarantee that the adapters will be able to apply priority enforcement. Thus the problem arises that devices in a network may be able to prioritise data streams, but the adapters, through which the data streams feed into the network, may not be able to.
- the controller can oversee and manage prioritisation functions. Such functions undertaken include determining priority, inserting priority parameters, transforming priority parameters and enforcing prioritisation and all of these functions can be undertaken when and if necessary.
- the controller is also attached to the network via an adapter.
- the duties undertaken by the controller depend on the functionality available in the controller's own adapter. If the controller adapter is programmed or otherwise knows the functionality of all prioritisation schemes or technologies used within the network, or at least those used in the data streams which are rerouted to the controller, then two major embodiments of the invention occur. The working of the preferred embodiments, however, depends on the content of the priority parameters already inserted, or not, into the data streams at the network devices before they are routed to the controller.
- the invention relates to a method of delivering data streams in a network.
- the network typically comprises devices connected to the network via adapters, and at least some of the devices are programmed to indicate priority of a data stream using priority parameter values of respective priority parameter types.
- the skilled person knows the priority parameter types.
- One device operates as a controller, in effect is designated as a controller and the controller adapter, i.e. the adapter through which the controller couples to the network, is either configured to perform priority enforcement on data streams according to all priority parameter types used within the data streams in the network, or configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, or is not configured to prioritise data streams according to any priority parameter types used within the network.
- priority parameters are inserted into data streams in devices in the network and the data streams are introduced into the network at the devices. This will occur through the adapters at those devices. These data streams are for delivery to respective destination addresses within the network. However, instead of being addressed directly to their respective destination addresses, or final destination addresses, the data streams are routed first to the controller. This can be performed by addressing the data streams firstly to the controller, and by inserting the address of the intended final destination of each stream further down the header of each packet of the data stream. As the skilled person would appreciate, this could mean addressing packets to the controller on one layer and addressing packets to the intended destination in another layer. In particular the packets could be addressed to their intended destination at a lower layer than the layer used to address packets to the controller. As an alternative, a device could set up an IP tunnel between itself and the controller, as would be known by the skilled person, or, the network could be set up on the IP layer with a star topology centred on the controller device.
- the difference between the preferred embodiments of the invention occurs once the packets have been received at the controller, in case the controller adapter is configured to perform priority enforcement on data streams according to all priority parameter types used within the data streams in the network.
- the controller has the functionality to perform the following steps.
- the controller transmits the data streams unaltered to the controller adapter when, i.e. in the event that, the priority parameter values of the data streams indicate that the data streams have different priorities from each other and where the priority parameter values are of priority parameter types supported by the gateway adapter. This may typically occur, for example, by arranging for the controller to read the priority values of all data streams as they arrive at the controller with an indication in the header that there is a further, final address to which the data streams must be sent. Ingress of the data streams into the network is then performed, for delivery to the respective destination addresses, at the controller adapter according to the priority parameter values carried in the data streams.
- the controller further determines prioritisation of the data streams at the controller and inserts new priority parameter values which indicate the further determined prioritisation. This occurs when the priority parameter values of the data streams inserted at the devices indicate that the data streams cannot be prioritised by the controller adapter. This would occur for example if multiple streams had been given identical priorities, or when no priorities had been inserted. In a common example, some streams might have been prioritised but some not. In such an event the controller adapter would not know how to handle the unprioritised streams relative to the prioritised ones.
- the new priority parameter values inserted at the controller allow the controller adapter to perform prioritisation of the data streams.
- the data streams are then transmitted from the controller to the controller adapter and ingress of the data streams into the network is performed, for delivery to the respective destination addresses, at the controller adapter according to the priority parameter values carried in the data streams.
- these new priority parameter values will have been inserted by the controller, but in some cases, where for example priority parameter values were correctly inserted at the network devices and the controller judges that the controller adapter will be able to perform prioritisation, they may be the priority parameter values originally inserted at the network devices.
- the method allows data streams to be delivered using prioritisation even when some or all of the adapters which are attached to the devices in the network from which the streams arise do not themselves enforce prioritisation. It also allows data streams to be delivered using prioritisation even when some or all of the devices in the network from which the streams arise do not themselves apply prioritisation values.
- controller adapter configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network
- the controller has the functionality to perform the following steps.
- the controller translates priority parameter values in the data streams that are of priority parameter types not supported by the controller adapter into those of a priority parameter type supported by the controller adapter.
- the controller further transmits the data streams from the controller to the controller adapter when the priority parameter values of the data streams indicate that the data streams have different priorities from each other.
- the data streams now include priority parameter values that are supported by the controller adapter, but also, the controller has ascertained that the priorities are such that the controller adapter can unambiguously enforce the priorities.
- the controller adapter then performs ingress into the network of the data streams for delivery to the respective destination addresses according to the priority parameter values carried in the data streams.
- the controller performs two actions.
- the controller further determines prioritisation of the streams at the controller and translates priority parameter values in the data streams that are of priority parameter types that are not supported by the controller adapter to those of a priority parameter type supported by the controller adapter, and inserts new priority parameter values which indicate the further determined prioritisation.
- the controller assesses the priority parameter values inserted at the devices in the network to ascertain if the priority parameter values can be read and understood by the controller adapter, in other words if they are of priority parameter types which are supported by the controller adapter.
- the controller assesses the priority parameter values inserted at the devices to ascertain if the priority parameter values could be unambiguously enforced by the controller adapter.
- the controller further determines prioritisation of the data streams. The controller then inserts or translates appropriate priority values depending on the circumstances it finds. The controller may overwrite existing priority values with different values of the same priority parameter type when multiple streams appear to have identical priorities and the type is supported by the controller adapter.
- the controller then transmits the data streams to the controller adapter.
- the controller adapter performs ingress into the network of the data streams for delivery to the respective destination addresses according to the priority parameter values carried in the data streams.
- the method according to these last two embodiments allows data streams to be delivered using prioritisation even when some or all of the adapters which are attached to the devices in the network from which the streams arise do not themselves enforce prioritisation. It also allows data streams to be delivered using prioritisation even when some or all of the devices in the network from which the streams arise do not themselves apply prioritisation values.
- controller adapter is not configured to prioritise data streams according to any priority parameter types used within the network, the controller has the functionality to perform the following steps.
- the controller enforces prioritisation of the data streams by transmitting the data streams according to the priority parameter values to the controller adapter for ingress into the network for delivery to the respective destination addresses, when the priority parameter values of the data streams indicate that the data streams have different priorities from each other. This may typically occur, for example, by arranging for the controller to read the priority values of all data streams as they arrive at the controller with an indication in the header that there is a further, final address to which the data streams must be sent. The controller then knows the relative priorities of the data streams and also knows that since they are different from each other that no further determination of priority need occur.
- the controller may queue data streams to the controller adapter in an appropriate order, according to the relative priority values of the data streams. Ingress of the data streams into the network is then performed, for delivery to the respective destination addresses, at the controller adapter.
- the controller may use other enforcement methods, such as scheduling or access control.
- the controller further determines prioritisation of the data streams, and then enforces the determined prioritisation of the data streams by transmitting the data streams according to the determined priority to the controller adapter for ingress into the network for delivery to the respective destination addresses. This embodiment occurs when there is insufficient information to prioritise the data steams based on the priority parameter values of the data streams inserted at the devices.
- the controller further determines relative priority of the data streams.
- the data streams are then transmitted from the controller to the controller adapter and ingress of the data streams into the network is performed, for delivery to the respective destination addresses.
- the controller performs prioritisation.
- the method according to these last two embodiments allows data streams to be delivered using prioritisation even when some or all of the adapters which are attached to the devices in the network from which the streams arise do not themselves enforce prioritisation. It also allows data streams to be delivered using prioritisation even when some or all of the devices in the network from which the streams arise do not themselves apply prioritisation values.
- the invention further relates to a system for delivering data streams.
- the system comprises a network of devices attached to the network via adapters and one of the devices is a controller which is attached to the network via a controller adapter. At least some of the devices are configured to generate data streams, i.e. to produce data streams for egress out of the device, each for delivery to a destination address within the network, and these devices are further configured to indicate priority of the data streams using priority parameter values of a respective priority parameter type. The devices are further configured to route the data streams to the controller.
- the controller is configured to receive the data streams and the controller adapter is either configured to prioritise data streams according to all priority parameter types used within the network, or configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, or not configured to prioritise data streams according to any priority parameter types used within the network.
- controller adapter is configured to prioritise data streams according to all priority parameter types used within the network, there are two preferred system embodiments.
- the controller is configured to transmit the data streams unaltered to the controller adapter when the priority parameter values of the data streams indicate that the data streams have different priorities from each other and where the priorities are readable by the controller adapter.
- the controller adapter is configured to perform ingress of the data streams into the network for delivery to the respective destination addresses according to the inserted priority parameter values.
- the controller is configured to further determine prioritisation of the data streams and insert new priority parameters which indicate the further determined prioritisation when the priority parameter values of the data streams inserted at the devices indicate that the data streams cannot be prioritised by the controller adapter.
- the new priority parameters inserted at the controller allow the gateway adapter to perform prioritisation of the data streams.
- the controller is further configured to transmit the data streams comprising new priority parameters to the controller adapter, and the controller adapter is configured to perform ingress of the data streams into the network for delivery to the respective destination addresses according to the inserted new priority parameter values.
- controller adapter is configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network.
- the controller is configured to translate the inserted priority parameters that are of a priority parameter type not supported by the controller adapter to those of a priority parameter type supported by the controller adapter and is further configured to transmit the data streams from the controller to the controller adapter.
- the controller performs these actions when the priority parameter values of the data streams indicate that the data streams have different priorities from each other. Typically the controller will ascertain this by examining the data streams that arrive at the controller for delivery somewhere else in the network.
- the controller adapter Having received the data streams the controller adapter is configured to perform ingress of the data streams into the network for delivery to the respective destination addresses according to the priority parameter values carried in the data streams.
- the controller is configured to further determine prioritisation of the data streams and translate priority parameter values in the data streams that are of a priority parameter type not supported by the controller adapter to those of a priority parameter type supported by the controller adapter, and configured to insert new priority parameters which indicate the further determined prioritisation when the priority parameter values of the data streams inserted at the devices indicate that the priority of the data streams cannot be enforced by the controller adapter.
- the controller is further configured to then transmit the data streams to the controller adapter, which is configured to perform ingress of the data streams into the network for delivery to the respective destination addresses according to the priority parameter values carried in the data streams.
- the controller performs two actions. It translates priority parameter values into a type supported by the controller adapter when data streams arrive at the controller bearing priority parameter values that the controller adapter will not understand. Also, the controller determines prioritisation when the contained priority parameter values would not be clear or unambiguous for the controller adapter, and inserts priority parameter values in the data streams before sending them to the controller adapter.
- controller adapter is not configured to prioritise data streams according to any priority parameter types used within the network, there are even two further preferred embodiments.
- the controller is configured to enforce prioritisation of the data streams by transmitting the data streams according to the priority parameter values to the controller adapter for ingress into the network for delivery to the respective destination addresses, when the priority parameter values of the data streams indicate that the data streams have different priorities from each other.
- the controller reads the priority parameter values inserted at the devices in the network and sees that the streams are prioritised relative to each other. The controller then knows which priorities to enforce and proceeds to enforce the priorities determined at the devices.
- the controller is configured to further determine prioritisation of the data streams and enforce prioritisation of the data steams by transmitting the data streams according to the determined priority to the controller adapter for ingress into the network for delivery to the respective destination addresses, when there is insufficient information to prioritise the data steams based on the priority parameter values of the data streams inserted at the devices.
- the controller reads the priority parameter values inserted at the devices and sees that priority cannot be unambiguously determined. This could occur for example because priority parameter values have not been inserted into all streams, or because they have been inserted but are unreadable or have become corrupted in some or all streams.
- the controller then proceeds to determine relative priority where appropriate and enforce the priorities of the data streams. Typically enforcement might occur by for example queuing, scheduling or access control.
- the invention also relates to a controller for a network of devices in which the devices are attached to the network via an adapter and are configured to generate data streams for delivery within the network and are further configured to indicate priority of the data streams using priority parameter values of a respective priority parameter type.
- the controller is configured to be attached to the network via a controller adapter which is either configured to prioritise data streams according to all priority parameter types used within the data streams in the network, or configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, or not configured to prioritise data streams according to any priority parameter types used within the network.
- the controller adapter may be integrated into the controller or it may be provided as a separate device.
- the controller is configured to receive data streams from devices in the network.
- the data streams are for delivery to destination addresses within the network and carry priority parameter values indicating relative priority of the data streams.
- controller adapter is configured to prioritise data streams according to all priority parameter types used within the data streams in the network
- both embodiments can be worked in the same controller if the controller is provided with sufficient functionality.
- the controller is configured to transmit the data streams unaltered to the controller adapter when the priority parameter values of the data streams indicate that the data streams have different priorities from each other.
- the priorities are readable by the controller adapter.
- the controller is configured to further determine prioritisation of the data streams and insert new priority parameters which indicate the further determined prioritisation when the priority parameter values of the data streams inserted at the devices indicate that the data streams cannot be prioritised by the controller adapter.
- the new priority parameters inserted at the controller allow the controller adapter to perform prioritisation of the data streams.
- the controller is further configured to transmit the data steams comprising new priority parameters to the controller adapter.
- the controller is configured to read data streams that arrive at the controller bearing an indication that they are for delivery to another device with in the network, and is configured to assess or determine any priority parameters attached to the data streams, and to assess priority of the data stream if priority parameters are somehow not available, have become scrambled or are somehow degraded or unreadable.
- the controller can be a stand-alone device within the network.
- the controller is a gateway device in the network.
- a gateway device is a device which allows data streams into and out of the network, it therefore resides on the edge of the network, as is known by the skilled person, and as such is particularly well placed to perform the method of the invention because typically all other devices in the network will be coupled to the gateway in order to receive data from outside the network. In many networks all devices will be coupled directly to the gateway and this means that the gateway is an efficient place in the network to perform the invention.
- the skilled person knows how to construct a gateway and in particular a gateway for a home or residential network.
- controller functionality can be incorporated into an existing device in the network.
- the controller and its functionality could be added as a program to a home computer or other networked device.
- the controller is also a gateway device for the network then the data streams which are rerouted to the gateway device for priority management must also compete for delivery with data streams coming into the network from outside.
- the method of the invention further comprises only transmitting the data streams unaltered from the gateway to the gateway adapter when the priority parameter values of the data streams indicate that the data streams also have different priorities from any further streams entering the network through the gateway.
- the new priority parameters inserted at the gateway allow the gateway adapter to perform prioritisation of the data streams relative to further streams entering the network through the gateway.
- a controller will be programmed to perform the above and the skilled person will know how to do this. This can be done using rulesets, for example.
- the rulesets can be programmable for the particular network so that, for example, the data steams coming out of one particular device can always be prioritised over other data streams in the network.
- the controller could be programmed to ensure priority for data streams addressed to a particular device, or to particular types of data stream, such as voice or video streams.
- the controller is a gateway device it can be pre-programmed with the appropriate functionality.
- an existing gateway can be upgraded to the new functionality over the internet, either by downloading programming itself or by being the recipient of programming sent from outside the network, say from an appropriate configuration server.
- controller adapter is configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network
- both embodiments can be worked in the same controller if the controller is provided with sufficient functionality.
- the controller is configured to translate the inserted priority parameters that are of a priority parameter type not supported by the controller adapter to those of a priority parameter type supported by the controller adapter and to transmit the data streams from the controller to the controller adapter for ingress into the network, when the priority parameter values of the data streams indicate that the data streams have different priorities from each other.
- the controller is configured to further determine prioritisation of the data streams and translate priority parameter values in the data streams that are of a priority parameter type not supported by the controller adapter to those of a priority parameter type supported by the controller adapter, and insert new priority parameters which indicate the further determined prioritisation when the priority parameter values of the data streams inserted at the devices indicate that the priority of the data streams cannot be enforced by the controller adapter.
- the controller is further configured to transmit the data streams from the controller to the controller adapter for ingress into the network.
- the controller is configured to read data streams that arrive at the controller bearing an indication that they are for delivery to another device with in the network, and is configured to assess or determine any priority parameters attached to the data streams, and to assess priority of the data stream if priority parameters are somehow not available, have become scrambled or are somehow degraded or unreadable.
- the controller can be a stand-alone device within the network.
- the controller is a gateway device in the network.
- a gateway device is a device which allows data streams into and out of the network, it therefore resides on the edge of the network, as is known by the skilled person, and as such is particularly well placed to perform the method of the invention because typically all other devices in the network will be coupled to the gateway in order to receive data from outside the network. In many networks all devices will be coupled directly to the gateway and this means that the gateway is an efficient place in the network to perform the invention.
- the skilled person knows how to construct a gateway and in particular a gateway for a home or residential network.
- controller functionality can be incorporated into an existing device in the network.
- the controller and its functionality could be added as a program to a home computer or other networked device.
- the controller is also a gateway device for the network then the data streams which are rerouted to the gateway device for priority management must also compete for delivery with data streams coming into the network from outside.
- the translated priority parameters allow prioritisation relative to any data streams entering the network through the gateway.
- priority parameter values in the data streams that arrive at the controller adapter allow prioritisation relative to any data streams entering the network through the gateway.
- Either embodiment can be used with either main embodiments of the method, system or controller of the invention.
- a controller will be programmed to perform the above and the skilled person will know how to do this. This can be done using rulesets, for example.
- the rulesets can be programmable for the particular network so that, for example, the data steams coming out of one particular device can always be prioritised over other data streams in the network.
- the controller could be programmed to ensure priority for data streams addressed to a particular device, or to particular types of data stream, such as voice or video streams.
- the rulesets can include conversion data which allows the controller to translate priority parameter values from priority parameter types not supported by the controller adapter to priority parameter types which are supported by the controller adapter.
- the controller is a gateway device it can be pre-programmed with the appropriate functionality.
- an existing gateway can be upgraded to the new functionality over the internet, either by downloading programming itself or by being the recipient of programming sent from outside the network, say from an appropriate configuration server.
- controller adapter is not configured to prioritise data streams according to any priority parameter types used within the network, there are two further controller embodiments and both embodiments can be worked in the same controller if the controller is provided with sufficient functionality.
- the controller is configured to enforce prioritisation of the data streams by transmitting the data streams according to the priority parameter values to the controller adapter for ingress into the network for delivery to the respective destination addresses, when the priority parameter values of the data streams indicate that the data streams have different priorities from each other.
- the controller is configured to further determine prioritisation of the data streams and enforce prioritisation of the data streams by transmitting the data streams according to the determined priority to the controller adapter for ingress into the network for delivery to the respective destination addresses, when there is insufficient information to prioritise the data steams based on the priority parameter values of the data streams inserted at the devices.
- the controller transmits the data streams to the controller adapter which then performs ingress of the data streams onto the network.
- the controller is configured to read data streams that arrive at the controller bearing an indication that they are for delivery to another device with in the network, and is configured to assess or determine any priority parameters attached to the data streams, and to assess priority of the data stream if priority parameters are somehow not available, have become scrambled or are somehow degraded or unreadable.
- the controller can be a stand-alone device within the network.
- the controller is a gateway device in the network.
- a gateway device is a device which allows data streams into and out of the network, it therefore resides on the edge of the network, as is known by the skilled person, and as such is particularly well placed to perform the method of the invention because typically all other devices in the network will be coupled to the gateway in order to receive data from outside the network. In many networks all devices will be coupled directly to the gateway and this means that the gateway is an efficient place in the network to perform the invention.
- the skilled person knows how to construct a gateway and in particular a gateway for a home or residential network.
- controller functionality can be incorporated into an existing device in the network.
- the controller and its functionality could be added as a program to a home computer or other networked device.
- the controller is also a gateway device for the network then the data streams which are rerouted to the gateway device for priority management must also compete for delivery with data streams coming into the network from outside.
- the method of the invention further comprises only enforcing the priority of the data streams when the priority parameter values of the data streams indicate that the data streams also have different priorities from any further streams entering the network through the gateway.
- controller In the event that there is a clash of priority between data streams from within the network and data streams arriving from outside the network the controller must perform further actions. Typically the controller must further determine relative priority of the data streams, taking into account the priority of the data streams entering the network. In an alternative, the controller may also be able to alter the priority parameter values of the data streams entering the network and this provides an extra degree of freedom for the controller.
- the prioritisation determined at the controller allows the controller to perform, in other words enforce, prioritisation of the data streams relative to further streams entering the network through the gateway.
- a controller will be programmed to perform the above and the skilled person will know how to do this. This can be done using rulesets, for example.
- the rulesets can be programmable for the particular network so that, for example, the data steams coming out of one particular device can always be prioritised over other data streams in the network.
- the controller could be programmed to ensure priority for data streams addressed to a particular device, or to particular types of data stream, such as voice or video streams.
- the controller is a gateway device it can be pre-programmed with the appropriate functionality.
- an existing gateway can be upgraded to the new functionality over the internet, either by downloading programming itself or by being the recipient of programming sent from outside the network, say from an appropriate configuration server.
- the bandwidth of the network is first probed and the invention is worked only if the bandwidth requirements of the data streams exceeds the capacity of the network.
- Probing of the network is known by the skilled person. Probing can be performed by the controller or in fact by any device. This embodiment is particularly advantageous when more than one data stream originates from a device within the network, or when data streams originate from more than one device in the network.
- the controller can, for example, signal devices in the network to start rerouting data streams to the controller for priority management.
- signal devices for example using DHCP.
- adapters are typically unsophisticated devices some are programmed with rudimentary ability to communicate with each other and to perform a degree of priority enforcement, as is known by the skilled person. This can be used by the controller to further manage data streams on the network.
- the adapters are able to communicate with each other on the priority indications in the streams that arrive at the various adapters for entering the shared segment, as is known by the person skilled in the art.
- This helps the adapters to give higher priority to streams with a higher priority indication, even though data streams enter the shared segment through different adapters.
- the invention can make use of this ability in certain situations.
- the controller may give a certain priority to a data stream for entering the shared segment.
- the adapter of the controller may communicate on the priority of this stream with other adapters.
- other adapters can limit or entirely stop the data streams they put into the network, in favour of the stream given priority by the controller and entering the shared segment through the controller adapter.
- the controller may signal the device sending this lower priority stream to stop the rerouting. In this situation, the adapter for this sending device will limit or stop the data stream of this lower priority stream.
- the invention is still advantageous because rerouting to the controller means that one device, the controller, can still take the ultimate decision. But even further this is particularly advantageous if the controller is also a gateway and further data streams enter into the network from outside. While adapters may have the ability to enforce some prioritisation they, or the devices which are behind them, will not necessarily know when data streams come into the network from outside so rerouting streams to the controller when the controller is a gateway still ensures that the device with the most knowledge takes ultimate decisions about prioritisation within the network.
- the network is a shared network and includes shared network segments and in a particularly advantageous embodiment the invention is worked when the combined bandwidth of the data streams exceeds the capacity of the network.
- the network is a power line network and the adapters are power line adapters.
- Power line communication is common in domestic residences and this embodiment has the particular advantage that it allows the creation of an efficient and fairly economical network in a domestic residence using existing structures. Therefore the invention allows management of priority of different traffic flows, and in particular IP flows, in a home network that uses power line communication.
- a network can be constructed which uses existing wires to carry data traffic and that data traffic can be carried without experiencing reduced traffic flow due to lack of capacity in the network.
- the network is a coaxial cable network and the adapters are adapters suitable for converting signals between the devices and the coaxial cables.
- the adapters will be DOCSIS-like adapters. This embodiment is particularly advantageous where there is an existing system of coaxial cabling.
- the invention allows the managing of the QoS of different traffic flows in a packetised network.
- a controller which manages prioritisation, wherein the controller performs further management of prioritisation according to the prioritisation parameter values which may or may not already be inserted into the streams, it can be ensured that signals can be delivered in a local area network.
- FIG. 1 shows a shared network in which the invention can be advantageously applied.
- FIG. 2 shows a shared network in which the invention can be advantageously applied.
- FIG. 3 shows an embodiment of the invention.
- FIG. 4 shows an embodiment of the invention.
- FIG. 1 shows a shared network 101 as might be established in a physical location, for example a residential home. Such a network may also be established in a commercial building or any other location with an existing shared network.
- the network 101 connects devices A 103 , B 105 , C 107 and D 109 via their respective adapters 102 , 104 , 106 and 108 .
- the adapters are typically layer 2 devices, as is known by the skilled person, layer 2 being the data link layer.
- Devices A, B and C might a combination of home computers, laptops, set top boxes and may also include a gateway device which regulates the flow of data into and out of the network.
- device C for example, might be a gateway device, in which case it is further coupled to the internet 110 .
- the invention can be worked in an enclosed network in which the networked devices simply talk to each other and do not communicate with or receive data from outside the network.
- the invention can be worked in a network with a gateway device even when the gateway device is not communication with the internet.
- the network 101 comprises existing power wires as a carrier to carry data traffic within the network. Since all power wires are interconnected it is by definition a shared medium and therefore any signal put onto the wires at a certain point will arrive at all other points.
- FIG. 2 shows the shared network 201 , which may be for example a power line network, and which will have a limited capacity, say 65 MBit/sec as a typical realistic value, as measured on layer 4 , the TCP/UDP layer. There are typically multiple traffic flows on the network at any one time and when these exceed the capacity not all flows will get through in real time.
- a limited capacity say 65 MBit/sec as a typical realistic value, as measured on layer 4 , the TCP/UDP layer.
- Giving priority to certain flows allows at least certain services to use the network unhindered. Traffic flows which are allocated lower priority will typically experience insufficient bandwidth and this will typically result in late or extended delivery times.
- a 203 were to try to send a data stream 211 of 40 MBits/sec to B 205 while at the same time D 209 attempted to send another, different data stream 212 of 40 MBits/sec to B 205 , available capacity of 65 MBit/sec will be exceeded. Neither data stream, 211 or 212 is likely to be delivered unhindered.
- FIG. 3 shows an alternative embodiment of the invention.
- C 307 is also a gateway device connecting shared network 301 to internet 310 .
- steam of data 311 of say 30 Mbits per second
- stream 312 of say 40 Mbits per second, from outside the network arrives at gateway device 307 for delivery to device B 305 .
- controller 307 is able to read the packet headers of both data streams 311 and 312 and either send both streams on to controller adapter 306 if controller 307 judges that the controller adapter can correctly enforce prioritisation, or, the controller 307 assesses that the controller will be unable to correctly enforce prioritisation and responds by determining the correct prioritisation and inserting priority parameter values that the controller adapter 306 will be able to enforce.
- the controller 307 is able to read the packet headers of both data streams 311 and 312 and priority parameter values are translated when they are of a priority parameter type not supported by controller adapter 306 .
- controller 307 discovered that any data stream could not be unambiguously prioritised by controller adapter 306 it determines prioritisation and inserts appropriate priority parameters, possibly overwriting existing priority parameter values.
- controller 307 is able to read the packet headers of both data streams 311 and 312 and if both data streams have different priorities will simply send both streams on to controller adapter 306 in such a way that both arrive on the network according to their relative priority. If data streams 311 and 312 do not clearly have different priorities, for example if the priorities are the same or if the priority of stream 311 is for some reason unreadable then the controller 307 determines the correct prioritisation where appropriate, and then transmits the data streams onto to the controller adapter 306 , in the appropriate manner according to their determined relative priority.
- the controller may simply read off the prioritisation already indicated in the stream 312 originating from outside the network and translate it into a priority parameter type readable by the controller adapter 306 , or, if data stream 312 does not already include priority parameters it may involve the controller determining the content of data stream 312 and determining a priority in such a way that the controller adapter 306 can correctly enforce priority between the two streams 311 and 312 when they are transmitted to the adapter 306 for ingress back into network 301 .
- controller C 307 is a home gateway device this is not necessary for the working of the invention.
- a gateway is a very sophisticated device and offers advantages, because it can be programmed from outside the network with the functionality to perform the invention and can also be programmed to determine the functionality of its own adapter. This is particularly advantageous when the controller adapter is a separate device from the controller.
- stream 311 has priority then it can be delivered before stream 312 , but as has been previously described, if the controller judges that stream 312 has priority it can signal device 303 to stop rerouting stream 311 while stream 312 is delivered.
- FIG. 4 shows an alternative embodiment of the invention in which an extra device E 411 is behind, in network terms, the adapter 406 which already serves device C 407 . If device E 411 wishes to send data stream 412 to device B 405 and A 403 also wishes to send data stream 413 to, say, B 405 , then by routing both first to the controller C 407 , their prioritisation and relative delivery can be managed by C 407 . The same applies if device E 411 is behind any other adapter, say, adapter 408 .
- device E 411 wishes to send data stream 412 to device B 405 and data stream 414 arrives from outside the network, also for delivery to B 405 , then by routing stream 412 first to the controller C 407 , the prioritisation and relative delivery of both streams can be managed by C 407 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
- The invention concerns a method of delivering data streams in a network comprising devices connected to the network via adapters, a system for delivering data streams, where the system comprises a network of devices attached to the network via adapters, and a controller for a network of devices in which the devices are attached to the network via an adapter.
- It is known to form a local area network, or LAN, by coupling or connecting a selection of devices to each other for the purposes of communication. Examples of devices which may be connected or coupled to each other include computers, both desktop and laptop, printers, electronic devices generally which process information, and also hand held devices such as mobile phones, tablet devices and personal assistants. In particular such a network can be established in a home environment and includes personal computers, laptops, video recorders, DVD players, television set top boxes and other devices which process information which is of use to the persons residing in the home. As is known by the skilled person, sometimes devices in a network are known as nodes.
- The installation of a physical network between devices can be complex and require sophisticated knowledge and skills. Additionally, sometimes it is neither appropriate nor desirable to provide additional cabling to connect up or couple devices in a network. In such a case a network can be set up using an existing shared network, such as a power line network, a network using existing coaxial or hybrid fiber-coaxial cables, for example a DOCSIS network, or a bus network, if any of these is already present in the physical locality where the network of devices is required. Power line networks are described, for example, in Medium Access Control for Power Line Communications: An Overview of the IEEE 1901 and ITU-T G.hn Standards, by Md. Mustafizur Rahman et al., IEEE Communications Magazine, July 2011, pp. 183-191.
- A shared network has a limited physical capacity and will at any one time have a limited bandwidth due to the signals it is carrying. Bandwidth cannot be exceeded, therefore when devices that are attached to such a shared physical network attempt to deliver data to each other within the network, and there is insufficient bandwidth in the shared segments of the network, delivery of the signals is disrupted.
- This problem can be overcome by prioritisation, for example by using DiffServ, as is known in the art, however there are several different schedules of prioritisation and in the event of a local area network constructed from different devices it may be that the different devices use different prioritisation schedules from each other, or in some cases use none at all.
- Further to this, however, in such a shared network devices are connected to the network via adapters. Adapters are relatively unsophisticated devices which may or not have the ability to apply or enforce prioritisation of data streams.
- Therefore it is a problem to ensure signal delivery in a local area network.
- This problem is solved by the invention which is described in the claims.
- A group of devices are typically networked because there is some advantage to the user in coupling them for the transfer of data. In a network data is typically transferred between networked devices and in the case of a home network in a domestic environment these devices would include home computers, laptops, internet broadcast controllers for the control and delivery of broadcast content for for example television, and other devices.
- Devices in a network typically communicate with each other using streams of data, i.e. data streams. In this case the data stream can be any sequence of data, information, or for example bits, used to communicate between devices. Such data streams include the transmission of routine signaling between devices but also more complex streams for example programs, video clips and video streams, gaming programs and music streams etc.
- Prioritisation schedules are known to the skilled person. A typical example of a prioritisation schedule is DiffServ. Alternative schemes include Priority Point Code (PCP) from 802.1p, user_priority parameter as specified in 802.1D and used in IEEE 1901, the channel access priority in 1901 FFT MAC and ITU-T G.hn or the Homeplug Channel Access (CA) priority. Prioritisation schemes use priority parameters to indicate relative priority between data or data streams. In some literature priority parameters are referred to as QoS, or Quality of Service, parameters and priority schemes are referred to as QoS control.
- As is known by the skilled person, the use of priority parameters allows one data stream, to take priority over another data stream. Typically this means that the data stream with higher priority will be delivered before streams of lower priority. In effect, data with higher priority is allowed access to bandwidth before data of lower priority. If the data of higher priority functionally uses up bandwidth then other data may not be delivered at all or may only be partially delivered. As is known by the skilled person, priority schedules, otherwise known as priority schemes, allow one data stream to be given right of way over another.
- As is known by the skilled person, giving priority to a certain data stream, or data flow, is a multiple step process. Firstly the priority of a particular stream or flow must be determined. To do this the stream must first be identified and then the correct priority identified, perhaps from a look up table, database or other data table or memory. Typically, certain types of flow will be given priority over other types. The allocation of priority is normally formalised in some way within a scheme. For example, video or voice traffic will normally have priority over file downloads. As such if a video or voice stream is identified it will be due a higher priority than, say, the download of an upgrade. In another example, if a VoIP session is initiated then voice traffic may require priority over all other types of traffic so that a live discussion between participants can proceed without undue latency or interruption. Alternatively, priority may be allocated to certain devices or types of device, or to certain programs.
- Secondly, the identified priority must be allocated to the data stream. This is typically done by the allocation of a priority parameter, typically by insertion of the parameter into the data stream, normally into the header of the data stream. In DiffServ, for example, priority is marked using an index called a DiffServ Code Point, or DSCP.
- Thirdly, priority must be enforced. This can be done, for example and as would be known by the skilled person, by priority queuing techniques in which devices read the priority parameters attached to the data streams and queue the data streams in order of their inserted priority parameters. In such a case a stream containing a higher priority parameter will be placed in the queue ahead of a stream with a lower priority parameter.
- However, not all devices in a network will necessarily either all use methods of prioritisation, or all necessarily use the same method.
- Even if all devices in a network could be relied upon to both use prioritisation and all use the same scheme, an additional problem arises when a network is formed using a shared network.
- Devices in a network using shared network segments are connected to the network via adapters. An adapter converts signals between two types of network and is therefore able to convert signals between devices on a local area network and, say, the shared network segments. Sometimes the adapter is built into the device, in which case the adapter allows the device to have a direct connection to the shared segment. In the event that the network uses power line technology, for example, the adapters would typically be power line adapters. Other forms of shared network would require other forms of adapters. Adapters are normally relatively unsophisticated devices and there is no guarantee that the adapters will be able to apply priority enforcement. Thus the problem arises that devices in a network may be able to prioritise data streams, but the adapters, through which the data streams feed into the network, may not be able to.
- In a further problem which occurs with such network, for example power line communication networks or coaxial cable networks, all wires or cables in the network are interconnected and therefore constitute a shared medium. Any signal entering onto any of the wires or cables will arrive at all other points within the network. This means that bandwidth must be shared, potentially amongst different data streams and has the potential to reduce bandwidth available for one signal, say, as other signals take bandwidth in the network.
- All of these problems can be solved by rerouting traffic flows through a single device in the network, chosen to operate as a controller for the network, and in which problems of prioritisation, or of reduced bandwidth, say, can be solved.
- If all data streams are rerouted to the controller, before being routed to the intended recipient of the data stream, then the controller can oversee and manage prioritisation functions. Such functions undertaken include determining priority, inserting priority parameters, transforming priority parameters and enforcing prioritisation and all of these functions can be undertaken when and if necessary.
- However, the controller is also attached to the network via an adapter. The duties undertaken by the controller depend on the functionality available in the controller's own adapter. If the controller adapter is programmed or otherwise knows the functionality of all prioritisation schemes or technologies used within the network, or at least those used in the data streams which are rerouted to the controller, then two major embodiments of the invention occur. The working of the preferred embodiments, however, depends on the content of the priority parameters already inserted, or not, into the data streams at the network devices before they are routed to the controller.
- The invention relates to a method of delivering data streams in a network. The network typically comprises devices connected to the network via adapters, and at least some of the devices are programmed to indicate priority of a data stream using priority parameter values of respective priority parameter types. The skilled person knows the priority parameter types. One device operates as a controller, in effect is designated as a controller and the controller adapter, i.e. the adapter through which the controller couples to the network, is either configured to perform priority enforcement on data streams according to all priority parameter types used within the data streams in the network, or configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, or is not configured to prioritise data streams according to any priority parameter types used within the network. In the method priority parameters are inserted into data streams in devices in the network and the data streams are introduced into the network at the devices. This will occur through the adapters at those devices. These data streams are for delivery to respective destination addresses within the network. However, instead of being addressed directly to their respective destination addresses, or final destination addresses, the data streams are routed first to the controller. This can be performed by addressing the data streams firstly to the controller, and by inserting the address of the intended final destination of each stream further down the header of each packet of the data stream. As the skilled person would appreciate, this could mean addressing packets to the controller on one layer and addressing packets to the intended destination in another layer. In particular the packets could be addressed to their intended destination at a lower layer than the layer used to address packets to the controller. As an alternative, a device could set up an IP tunnel between itself and the controller, as would be known by the skilled person, or, the network could be set up on the IP layer with a star topology centred on the controller device.
- The difference between the preferred embodiments of the invention occurs once the packets have been received at the controller, in case the controller adapter is configured to perform priority enforcement on data streams according to all priority parameter types used within the data streams in the network. The controller has the functionality to perform the following steps.
- In the first embodiment the controller transmits the data streams unaltered to the controller adapter when, i.e. in the event that, the priority parameter values of the data streams indicate that the data streams have different priorities from each other and where the priority parameter values are of priority parameter types supported by the gateway adapter. This may typically occur, for example, by arranging for the controller to read the priority values of all data streams as they arrive at the controller with an indication in the header that there is a further, final address to which the data streams must be sent. Ingress of the data streams into the network is then performed, for delivery to the respective destination addresses, at the controller adapter according to the priority parameter values carried in the data streams.
- In a second embodiment, the controller further determines prioritisation of the data streams at the controller and inserts new priority parameter values which indicate the further determined prioritisation. This occurs when the priority parameter values of the data streams inserted at the devices indicate that the data streams cannot be prioritised by the controller adapter. This would occur for example if multiple streams had been given identical priorities, or when no priorities had been inserted. In a common example, some streams might have been prioritised but some not. In such an event the controller adapter would not know how to handle the unprioritised streams relative to the prioritised ones. In this second embodiment the new priority parameter values inserted at the controller allow the controller adapter to perform prioritisation of the data streams.
- The data streams are then transmitted from the controller to the controller adapter and ingress of the data streams into the network is performed, for delivery to the respective destination addresses, at the controller adapter according to the priority parameter values carried in the data streams. In some cases these new priority parameter values will have been inserted by the controller, but in some cases, where for example priority parameter values were correctly inserted at the network devices and the controller judges that the controller adapter will be able to perform prioritisation, they may be the priority parameter values originally inserted at the network devices.
- The method allows data streams to be delivered using prioritisation even when some or all of the adapters which are attached to the devices in the network from which the streams arise do not themselves enforce prioritisation. It also allows data streams to be delivered using prioritisation even when some or all of the devices in the network from which the streams arise do not themselves apply prioritisation values.
- In case the controller adapter is configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, the controller has the functionality to perform the following steps.
- In another embodiment the controller translates priority parameter values in the data streams that are of priority parameter types not supported by the controller adapter into those of a priority parameter type supported by the controller adapter. The controller further transmits the data streams from the controller to the controller adapter when the priority parameter values of the data streams indicate that the data streams have different priorities from each other. The data streams now include priority parameter values that are supported by the controller adapter, but also, the controller has ascertained that the priorities are such that the controller adapter can unambiguously enforce the priorities. The controller adapter then performs ingress into the network of the data streams for delivery to the respective destination addresses according to the priority parameter values carried in the data streams.
- In yet another embodiment, the controller performs two actions. The controller further determines prioritisation of the streams at the controller and translates priority parameter values in the data streams that are of priority parameter types that are not supported by the controller adapter to those of a priority parameter type supported by the controller adapter, and inserts new priority parameter values which indicate the further determined prioritisation. In doing this the controller assesses the priority parameter values inserted at the devices in the network to ascertain if the priority parameter values can be read and understood by the controller adapter, in other words if they are of priority parameter types which are supported by the controller adapter. But also the controller assesses the priority parameter values inserted at the devices to ascertain if the priority parameter values could be unambiguously enforced by the controller adapter. If they could not be unambiguously enforced, for example if they are fully missing or partially missing, if they have been corrupted or if several data streams appear to have identical priorities, the controller further determines prioritisation of the data streams. The controller then inserts or translates appropriate priority values depending on the circumstances it finds. The controller may overwrite existing priority values with different values of the same priority parameter type when multiple streams appear to have identical priorities and the type is supported by the controller adapter.
- The controller then transmits the data streams to the controller adapter. The controller adapter performs ingress into the network of the data streams for delivery to the respective destination addresses according to the priority parameter values carried in the data streams.
- The method according to these last two embodiments allows data streams to be delivered using prioritisation even when some or all of the adapters which are attached to the devices in the network from which the streams arise do not themselves enforce prioritisation. It also allows data streams to be delivered using prioritisation even when some or all of the devices in the network from which the streams arise do not themselves apply prioritisation values.
- In case the controller adapter is not configured to prioritise data streams according to any priority parameter types used within the network, the controller has the functionality to perform the following steps.
- In yet another embodiment the controller enforces prioritisation of the data streams by transmitting the data streams according to the priority parameter values to the controller adapter for ingress into the network for delivery to the respective destination addresses, when the priority parameter values of the data streams indicate that the data streams have different priorities from each other. This may typically occur, for example, by arranging for the controller to read the priority values of all data streams as they arrive at the controller with an indication in the header that there is a further, final address to which the data streams must be sent. The controller then knows the relative priorities of the data streams and also knows that since they are different from each other that no further determination of priority need occur.
- Typically the controller may queue data streams to the controller adapter in an appropriate order, according to the relative priority values of the data streams. Ingress of the data streams into the network is then performed, for delivery to the respective destination addresses, at the controller adapter. Alternatively, the controller may use other enforcement methods, such as scheduling or access control.
- In yet another embodiment, the controller further determines prioritisation of the data streams, and then enforces the determined prioritisation of the data streams by transmitting the data streams according to the determined priority to the controller adapter for ingress into the network for delivery to the respective destination addresses. This embodiment occurs when there is insufficient information to prioritise the data steams based on the priority parameter values of the data streams inserted at the devices.
- This might occur for example if multiple streams had been given identical priorities at the devices, or when no priorities had been inserted. In a common example, some streams might have been prioritised but some not. In such an event the controller further determines relative priority of the data streams.
- The data streams are then transmitted from the controller to the controller adapter and ingress of the data streams into the network is performed, for delivery to the respective destination addresses.
- In the last two embodiments the controller performs prioritisation.
- The method according to these last two embodiments allows data streams to be delivered using prioritisation even when some or all of the adapters which are attached to the devices in the network from which the streams arise do not themselves enforce prioritisation. It also allows data streams to be delivered using prioritisation even when some or all of the devices in the network from which the streams arise do not themselves apply prioritisation values.
- The invention further relates to a system for delivering data streams. The system comprises a network of devices attached to the network via adapters and one of the devices is a controller which is attached to the network via a controller adapter. At least some of the devices are configured to generate data streams, i.e. to produce data streams for egress out of the device, each for delivery to a destination address within the network, and these devices are further configured to indicate priority of the data streams using priority parameter values of a respective priority parameter type. The devices are further configured to route the data streams to the controller. The controller is configured to receive the data streams and the controller adapter is either configured to prioritise data streams according to all priority parameter types used within the network, or configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, or not configured to prioritise data streams according to any priority parameter types used within the network.
- In case the controller adapter is configured to prioritise data streams according to all priority parameter types used within the network, there are two preferred system embodiments.
- In the first embodiment the controller is configured to transmit the data streams unaltered to the controller adapter when the priority parameter values of the data streams indicate that the data streams have different priorities from each other and where the priorities are readable by the controller adapter. The controller adapter is configured to perform ingress of the data streams into the network for delivery to the respective destination addresses according to the inserted priority parameter values.
- In the second embodiment the controller is configured to further determine prioritisation of the data streams and insert new priority parameters which indicate the further determined prioritisation when the priority parameter values of the data streams inserted at the devices indicate that the data streams cannot be prioritised by the controller adapter. The new priority parameters inserted at the controller allow the gateway adapter to perform prioritisation of the data streams. The controller is further configured to transmit the data streams comprising new priority parameters to the controller adapter, and the controller adapter is configured to perform ingress of the data streams into the network for delivery to the respective destination addresses according to the inserted new priority parameter values.
- In case the controller adapter is configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, there are two further preferred embodiments.
- In one embodiment the controller is configured to translate the inserted priority parameters that are of a priority parameter type not supported by the controller adapter to those of a priority parameter type supported by the controller adapter and is further configured to transmit the data streams from the controller to the controller adapter. The controller performs these actions when the priority parameter values of the data streams indicate that the data streams have different priorities from each other. Typically the controller will ascertain this by examining the data streams that arrive at the controller for delivery somewhere else in the network.
- Having received the data streams the controller adapter is configured to perform ingress of the data streams into the network for delivery to the respective destination addresses according to the priority parameter values carried in the data streams.
- In the other embodiment the controller is configured to further determine prioritisation of the data streams and translate priority parameter values in the data streams that are of a priority parameter type not supported by the controller adapter to those of a priority parameter type supported by the controller adapter, and configured to insert new priority parameters which indicate the further determined prioritisation when the priority parameter values of the data streams inserted at the devices indicate that the priority of the data streams cannot be enforced by the controller adapter.
- The controller is further configured to then transmit the data streams to the controller adapter, which is configured to perform ingress of the data streams into the network for delivery to the respective destination addresses according to the priority parameter values carried in the data streams. Again, in this embodiment the controller performs two actions. It translates priority parameter values into a type supported by the controller adapter when data streams arrive at the controller bearing priority parameter values that the controller adapter will not understand. Also, the controller determines prioritisation when the contained priority parameter values would not be clear or unambiguous for the controller adapter, and inserts priority parameter values in the data streams before sending them to the controller adapter.
- In case the controller adapter is not configured to prioritise data streams according to any priority parameter types used within the network, there are even two further preferred embodiments.
- In one embodiment the controller is configured to enforce prioritisation of the data streams by transmitting the data streams according to the priority parameter values to the controller adapter for ingress into the network for delivery to the respective destination addresses, when the priority parameter values of the data streams indicate that the data streams have different priorities from each other.
- In this embodiment the controller reads the priority parameter values inserted at the devices in the network and sees that the streams are prioritised relative to each other. The controller then knows which priorities to enforce and proceeds to enforce the priorities determined at the devices.
- In a further embodiment the controller is configured to further determine prioritisation of the data streams and enforce prioritisation of the data steams by transmitting the data streams according to the determined priority to the controller adapter for ingress into the network for delivery to the respective destination addresses, when there is insufficient information to prioritise the data steams based on the priority parameter values of the data streams inserted at the devices. In this embodiment the controller reads the priority parameter values inserted at the devices and sees that priority cannot be unambiguously determined. This could occur for example because priority parameter values have not been inserted into all streams, or because they have been inserted but are unreadable or have become corrupted in some or all streams. The controller then proceeds to determine relative priority where appropriate and enforce the priorities of the data streams. Typically enforcement might occur by for example queuing, scheduling or access control.
- The invention also relates to a controller for a network of devices in which the devices are attached to the network via an adapter and are configured to generate data streams for delivery within the network and are further configured to indicate priority of the data streams using priority parameter values of a respective priority parameter type. The controller is configured to be attached to the network via a controller adapter which is either configured to prioritise data streams according to all priority parameter types used within the data streams in the network, or configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, or not configured to prioritise data streams according to any priority parameter types used within the network. The controller adapter may be integrated into the controller or it may be provided as a separate device. The controller is configured to receive data streams from devices in the network. The data streams are for delivery to destination addresses within the network and carry priority parameter values indicating relative priority of the data streams.
- In case the controller adapter is configured to prioritise data streams according to all priority parameter types used within the data streams in the network, there are two preferred controller embodiments and both embodiments can be worked in the same controller if the controller is provided with sufficient functionality.
- In the first embodiment the controller is configured to transmit the data streams unaltered to the controller adapter when the priority parameter values of the data streams indicate that the data streams have different priorities from each other. In this embodiment the priorities are readable by the controller adapter.
- In the second embodiment the controller is configured to further determine prioritisation of the data streams and insert new priority parameters which indicate the further determined prioritisation when the priority parameter values of the data streams inserted at the devices indicate that the data streams cannot be prioritised by the controller adapter. In this embodiment the new priority parameters inserted at the controller allow the controller adapter to perform prioritisation of the data streams. In this embodiment the controller is further configured to transmit the data steams comprising new priority parameters to the controller adapter.
- In both embodiments the controller is configured to read data streams that arrive at the controller bearing an indication that they are for delivery to another device with in the network, and is configured to assess or determine any priority parameters attached to the data streams, and to assess priority of the data stream if priority parameters are somehow not available, have become scrambled or are somehow degraded or unreadable.
- The controller can be a stand-alone device within the network. However, in a particularly advantageous embodiment the controller is a gateway device in the network. A gateway device is a device which allows data streams into and out of the network, it therefore resides on the edge of the network, as is known by the skilled person, and as such is particularly well placed to perform the method of the invention because typically all other devices in the network will be coupled to the gateway in order to receive data from outside the network. In many networks all devices will be coupled directly to the gateway and this means that the gateway is an efficient place in the network to perform the invention.
- The skilled person knows how to construct a gateway and in particular a gateway for a home or residential network.
- In an alternative embodiment the controller functionality can be incorporated into an existing device in the network. For example the controller and its functionality could be added as a program to a home computer or other networked device.
- If the controller is also a gateway device for the network then the data streams which are rerouted to the gateway device for priority management must also compete for delivery with data streams coming into the network from outside. In another particularly advantageous embodiment the method of the invention further comprises only transmitting the data streams unaltered from the gateway to the gateway adapter when the priority parameter values of the data streams indicate that the data streams also have different priorities from any further streams entering the network through the gateway.
- In an alternative embodiment the new priority parameters inserted at the gateway allow the gateway adapter to perform prioritisation of the data streams relative to further streams entering the network through the gateway.
- Typically a controller will be programmed to perform the above and the skilled person will know how to do this. This can be done using rulesets, for example. The rulesets can be programmable for the particular network so that, for example, the data steams coming out of one particular device can always be prioritised over other data streams in the network. Alternatively the controller could be programmed to ensure priority for data streams addressed to a particular device, or to particular types of data stream, such as voice or video streams. Where the controller is a gateway device it can be pre-programmed with the appropriate functionality. In an alternative embodiment an existing gateway can be upgraded to the new functionality over the internet, either by downloading programming itself or by being the recipient of programming sent from outside the network, say from an appropriate configuration server.
- In case the controller adapter is configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, there are two further controller embodiments and both embodiments can be worked in the same controller if the controller is provided with sufficient functionality.
- In one embodiment the controller is configured to translate the inserted priority parameters that are of a priority parameter type not supported by the controller adapter to those of a priority parameter type supported by the controller adapter and to transmit the data streams from the controller to the controller adapter for ingress into the network, when the priority parameter values of the data streams indicate that the data streams have different priorities from each other.
- In the other embodiment the controller is configured to further determine prioritisation of the data streams and translate priority parameter values in the data streams that are of a priority parameter type not supported by the controller adapter to those of a priority parameter type supported by the controller adapter, and insert new priority parameters which indicate the further determined prioritisation when the priority parameter values of the data streams inserted at the devices indicate that the priority of the data streams cannot be enforced by the controller adapter.
- The controller is further configured to transmit the data streams from the controller to the controller adapter for ingress into the network.
- In both embodiments the controller is configured to read data streams that arrive at the controller bearing an indication that they are for delivery to another device with in the network, and is configured to assess or determine any priority parameters attached to the data streams, and to assess priority of the data stream if priority parameters are somehow not available, have become scrambled or are somehow degraded or unreadable.
- The controller can be a stand-alone device within the network. However, in a particularly advantageous embodiment the controller is a gateway device in the network. A gateway device is a device which allows data streams into and out of the network, it therefore resides on the edge of the network, as is known by the skilled person, and as such is particularly well placed to perform the method of the invention because typically all other devices in the network will be coupled to the gateway in order to receive data from outside the network. In many networks all devices will be coupled directly to the gateway and this means that the gateway is an efficient place in the network to perform the invention.
- The skilled person knows how to construct a gateway and in particular a gateway for a home or residential network.
- In an alternative embodiment the controller functionality can be incorporated into an existing device in the network. For example the controller and its functionality could be added as a program to a home computer or other networked device.
- If the controller is also a gateway device for the network then the data streams which are rerouted to the gateway device for priority management must also compete for delivery with data streams coming into the network from outside. In another particularly advantageous embodiment the translated priority parameters allow prioritisation relative to any data streams entering the network through the gateway.
- In an alternative embodiment the priority parameter values in the data streams that arrive at the controller adapter allow prioritisation relative to any data streams entering the network through the gateway.
- Either embodiment can be used with either main embodiments of the method, system or controller of the invention.
- Typically a controller will be programmed to perform the above and the skilled person will know how to do this. This can be done using rulesets, for example. The rulesets can be programmable for the particular network so that, for example, the data steams coming out of one particular device can always be prioritised over other data streams in the network. Alternatively the controller could be programmed to ensure priority for data streams addressed to a particular device, or to particular types of data stream, such as voice or video streams. The rulesets can include conversion data which allows the controller to translate priority parameter values from priority parameter types not supported by the controller adapter to priority parameter types which are supported by the controller adapter. Where the controller is a gateway device it can be pre-programmed with the appropriate functionality. In an alternative embodiment an existing gateway can be upgraded to the new functionality over the internet, either by downloading programming itself or by being the recipient of programming sent from outside the network, say from an appropriate configuration server.
- In case the controller adapter is not configured to prioritise data streams according to any priority parameter types used within the network, there are two further controller embodiments and both embodiments can be worked in the same controller if the controller is provided with sufficient functionality.
- In one embodiment the controller is configured to enforce prioritisation of the data streams by transmitting the data streams according to the priority parameter values to the controller adapter for ingress into the network for delivery to the respective destination addresses, when the priority parameter values of the data streams indicate that the data streams have different priorities from each other.
- In the other embodiment the controller is configured to further determine prioritisation of the data streams and enforce prioritisation of the data streams by transmitting the data streams according to the determined priority to the controller adapter for ingress into the network for delivery to the respective destination addresses, when there is insufficient information to prioritise the data steams based on the priority parameter values of the data streams inserted at the devices. The controller transmits the data streams to the controller adapter which then performs ingress of the data streams onto the network.
- In both embodiments the controller is configured to read data streams that arrive at the controller bearing an indication that they are for delivery to another device with in the network, and is configured to assess or determine any priority parameters attached to the data streams, and to assess priority of the data stream if priority parameters are somehow not available, have become scrambled or are somehow degraded or unreadable.
- The controller can be a stand-alone device within the network. However, in a particularly advantageous embodiment the controller is a gateway device in the network. A gateway device is a device which allows data streams into and out of the network, it therefore resides on the edge of the network, as is known by the skilled person, and as such is particularly well placed to perform the method of the invention because typically all other devices in the network will be coupled to the gateway in order to receive data from outside the network. In many networks all devices will be coupled directly to the gateway and this means that the gateway is an efficient place in the network to perform the invention.
- The skilled person knows how to construct a gateway and in particular a gateway for a home or residential network.
- In an alternative embodiment the controller functionality can be incorporated into an existing device in the network. For example the controller and its functionality could be added as a program to a home computer or other networked device.
- If the controller is also a gateway device for the network then the data streams which are rerouted to the gateway device for priority management must also compete for delivery with data streams coming into the network from outside. In another particularly advantageous embodiment the method of the invention further comprises only enforcing the priority of the data streams when the priority parameter values of the data streams indicate that the data streams also have different priorities from any further streams entering the network through the gateway.
- In the event that there is a clash of priority between data streams from within the network and data streams arriving from outside the network the controller must perform further actions. Typically the controller must further determine relative priority of the data streams, taking into account the priority of the data streams entering the network. In an alternative, the controller may also be able to alter the priority parameter values of the data streams entering the network and this provides an extra degree of freedom for the controller.
- In an alternative embodiment the prioritisation determined at the controller allows the controller to perform, in other words enforce, prioritisation of the data streams relative to further streams entering the network through the gateway.
- Typically a controller will be programmed to perform the above and the skilled person will know how to do this. This can be done using rulesets, for example. The rulesets can be programmable for the particular network so that, for example, the data steams coming out of one particular device can always be prioritised over other data streams in the network. Alternatively the controller could be programmed to ensure priority for data streams addressed to a particular device, or to particular types of data stream, such as voice or video streams. Where the controller is a gateway device it can be pre-programmed with the appropriate functionality. In an alternative embodiment an existing gateway can be upgraded to the new functionality over the internet, either by downloading programming itself or by being the recipient of programming sent from outside the network, say from an appropriate configuration server.
- In another advantageous embodiment the bandwidth of the network is first probed and the invention is worked only if the bandwidth requirements of the data streams exceeds the capacity of the network. Probing of the network is known by the skilled person. Probing can be performed by the controller or in fact by any device. This embodiment is particularly advantageous when more than one data stream originates from a device within the network, or when data streams originate from more than one device in the network.
- If the probing is performed by the controller and a period of high traffic is detected then the controller can, for example, signal devices in the network to start rerouting data streams to the controller for priority management. The skilled person knows how to signal devices, for example using DHCP.
- Although adapters are typically unsophisticated devices some are programmed with rudimentary ability to communicate with each other and to perform a degree of priority enforcement, as is known by the skilled person. This can be used by the controller to further manage data streams on the network.
- Sometimes the adapters are able to communicate with each other on the priority indications in the streams that arrive at the various adapters for entering the shared segment, as is known by the person skilled in the art. This helps the adapters to give higher priority to streams with a higher priority indication, even though data streams enter the shared segment through different adapters. The invention can make use of this ability in certain situations. For example, the controller may give a certain priority to a data stream for entering the shared segment. The adapter of the controller may communicate on the priority of this stream with other adapters. In this way, other adapters can limit or entirely stop the data streams they put into the network, in favour of the stream given priority by the controller and entering the shared segment through the controller adapter. Even further, if a lower priority stream was rerouted to the controller previously, the controller may signal the device sending this lower priority stream to stop the rerouting. In this situation, the adapter for this sending device will limit or stop the data stream of this lower priority stream.
- Even though the adapters may have some ability to enforce prioritisation, the invention is still advantageous because rerouting to the controller means that one device, the controller, can still take the ultimate decision. But even further this is particularly advantageous if the controller is also a gateway and further data streams enter into the network from outside. While adapters may have the ability to enforce some prioritisation they, or the devices which are behind them, will not necessarily know when data streams come into the network from outside so rerouting streams to the controller when the controller is a gateway still ensures that the device with the most knowledge takes ultimate decisions about prioritisation within the network.
- Typically the network is a shared network and includes shared network segments and in a particularly advantageous embodiment the invention is worked when the combined bandwidth of the data streams exceeds the capacity of the network.
- In a particularly advantageous embodiment the network is a power line network and the adapters are power line adapters. Power line communication is common in domestic residences and this embodiment has the particular advantage that it allows the creation of an efficient and fairly economical network in a domestic residence using existing structures. Therefore the invention allows management of priority of different traffic flows, and in particular IP flows, in a home network that uses power line communication. Thus a network can be constructed which uses existing wires to carry data traffic and that data traffic can be carried without experiencing reduced traffic flow due to lack of capacity in the network.
- In another particularly advantageous embodiment the network is a coaxial cable network and the adapters are adapters suitable for converting signals between the devices and the coaxial cables. In fact, and as will be appreciated by the skilled person, they will be DOCSIS-like adapters. This embodiment is particularly advantageous where there is an existing system of coaxial cabling.
- As such the invention allows the managing of the QoS of different traffic flows in a packetised network. By performing a combination of rerouting data within the network to a controller which manages prioritisation, wherein the controller performs further management of prioritisation according to the prioritisation parameter values which may or may not already be inserted into the streams, it can be ensured that signals can be delivered in a local area network.
- Further embodiments of the invention are described in the Figures.
-
FIG. 1 shows a shared network in which the invention can be advantageously applied. -
FIG. 2 shows a shared network in which the invention can be advantageously applied. -
FIG. 3 shows an embodiment of the invention. -
FIG. 4 shows an embodiment of the invention. - As will be appreciated equivalent numbering is used across the figures to represent equivalent, similar or identical items.
-
FIG. 1 shows a sharednetwork 101 as might be established in a physical location, for example a residential home. Such a network may also be established in a commercial building or any other location with an existing shared network. - The
network 101 connects devices A 103,B 105,C 107 andD 109 via theirrespective adapters - Devices A, B and C might a combination of home computers, laptops, set top boxes and may also include a gateway device which regulates the flow of data into and out of the network. In
FIG. 1 device C, for example, might be a gateway device, in which case it is further coupled to theinternet 110. However this is not necessary and the invention can be worked in an enclosed network in which the networked devices simply talk to each other and do not communicate with or receive data from outside the network. In an embodiment, the invention can be worked in a network with a gateway device even when the gateway device is not communication with the internet. - In the embodiment in which the shared network is a power line communication network then the
network 101 comprises existing power wires as a carrier to carry data traffic within the network. Since all power wires are interconnected it is by definition a shared medium and therefore any signal put onto the wires at a certain point will arrive at all other points. -
FIG. 2 shows the sharednetwork 201, which may be for example a power line network, and which will have a limited capacity, say 65 MBit/sec as a typical realistic value, as measured on layer 4, the TCP/UDP layer. There are typically multiple traffic flows on the network at any one time and when these exceed the capacity not all flows will get through in real time. - Giving priority to certain flows allows at least certain services to use the network unhindered. Traffic flows which are allocated lower priority will typically experience insufficient bandwidth and this will typically result in late or extended delivery times.
- If either or neither of
adapters D 209, respectively, then data streams 211 and 212 may not be efficiently delivered toB 205. - If for example A 203 were to try to send a
data stream 211 of 40 MBits/sec toB 205 while at thesame time D 209 attempted to send another,different data stream 212 of 40 MBits/sec toB 205, available capacity of 65 MBit/sec will be exceeded. Neither data stream, 211 or 212 is likely to be delivered unhindered. -
FIG. 3 shows an alternative embodiment of the invention. In thisembodiment C 307 is also a gateway device connecting sharednetwork 301 to internet 310. In this case steam ofdata 311, of say 30 Mbits per second, fromdevice A 303 is to be delivered todevice B 305 but additionally,stream 312, of say 40 Mbits per second, from outside the network arrives atgateway device 307 for delivery todevice B 305. - In the situation that the controller adapter is configured to prioritise data streams according to all priority parameter types used within the data streams in the network,
controller 307 is able to read the packet headers of bothdata streams controller adapter 306 ifcontroller 307 judges that the controller adapter can correctly enforce prioritisation, or, thecontroller 307 assesses that the controller will be unable to correctly enforce prioritisation and responds by determining the correct prioritisation and inserting priority parameter values that thecontroller adapter 306 will be able to enforce. - In the situation that the controller adapter is configured to perform priority enforcement on data streams according to at least one but not all priority parameter types used within the data streams in the network, the
controller 307 is able to read the packet headers of bothdata streams controller adapter 306. Whencontroller 307 discovered that any data stream could not be unambiguously prioritised bycontroller adapter 306 it determines prioritisation and inserts appropriate priority parameters, possibly overwriting existing priority parameter values. - In the situation that the controller adapter is not configured to prioritise data streams according to any priority parameter types used within the network,
controller 307 is able to read the packet headers of bothdata streams controller adapter 306 in such a way that both arrive on the network according to their relative priority. If data streams 311 and 312 do not clearly have different priorities, for example if the priorities are the same or if the priority ofstream 311 is for some reason unreadable then thecontroller 307 determines the correct prioritisation where appropriate, and then transmits the data streams onto to thecontroller adapter 306, in the appropriate manner according to their determined relative priority. - In determining the correct prioritisation the controller may simply read off the prioritisation already indicated in the
stream 312 originating from outside the network and translate it into a priority parameter type readable by thecontroller adapter 306, or, ifdata stream 312 does not already include priority parameters it may involve the controller determining the content ofdata stream 312 and determining a priority in such a way that thecontroller adapter 306 can correctly enforce priority between the twostreams adapter 306 for ingress back intonetwork 301. - While the
controller C 307 is a home gateway device this is not necessary for the working of the invention. A gateway, however, is a very sophisticated device and offers advantages, because it can be programmed from outside the network with the functionality to perform the invention and can also be programmed to determine the functionality of its own adapter. This is particularly advantageous when the controller adapter is a separate device from the controller. - In the above example if
stream 311 has priority then it can be delivered beforestream 312, but as has been previously described, if the controller judges that stream 312 has priority it can signaldevice 303 to stop reroutingstream 311 whilestream 312 is delivered. - A single adapter can serve more than one device.
FIG. 4 shows an alternative embodiment of the invention in which anextra device E 411 is behind, in network terms, theadapter 406 which already servesdevice C 407. Ifdevice E 411 wishes to senddata stream 412 todevice B 405 and A 403 also wishes to senddata stream 413 to, say,B 405, then by routing both first to thecontroller C 407, their prioritisation and relative delivery can be managed byC 407. The same applies ifdevice E 411 is behind any other adapter, say,adapter 408. Further, Ifdevice E 411 wishes to senddata stream 412 todevice B 405 anddata stream 414 arrives from outside the network, also for delivery toB 405, then by routingstream 412 first to thecontroller C 407, the prioritisation and relative delivery of both streams can be managed byC 407. - Even if data stream 413 from device A 403 were intended for a different device, say
D 409, the invention would still provide advantages, because thenetwork 401 is a shared network. Bothstreams same network 401.
Claims (21)
Applications Claiming Priority (19)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12194177.7 | 2012-11-26 | ||
EP12194175.1 | 2012-11-26 | ||
EP12194181 | 2012-11-26 | ||
EP12194175 | 2012-11-26 | ||
EP12194177 | 2012-11-26 | ||
EP12194178.5 | 2012-11-26 | ||
EP12194175 | 2012-11-26 | ||
EP12194164 | 2012-11-26 | ||
EP12194181.9 | 2012-11-26 | ||
EP12194164.5 | 2012-11-26 | ||
EP12194171 | 2012-11-26 | ||
EP12194171.0 | 2012-11-26 | ||
EP12194171 | 2012-11-26 | ||
EP12194181 | 2012-11-26 | ||
EP12194177 | 2012-11-26 | ||
EP12194178 | 2012-11-26 | ||
EP12194164 | 2012-11-26 | ||
EP12194178 | 2012-11-26 | ||
PCT/EP2013/074541 WO2014079999A1 (en) | 2012-11-26 | 2013-11-25 | Routing data in a network |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150350063A1 true US20150350063A1 (en) | 2015-12-03 |
US10148553B2 US10148553B2 (en) | 2018-12-04 |
Family
ID=49641751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/646,576 Active 2034-03-09 US10148553B2 (en) | 2012-11-26 | 2013-11-25 | Routing data in a network |
Country Status (6)
Country | Link |
---|---|
US (1) | US10148553B2 (en) |
EP (1) | EP2923471B1 (en) |
JP (1) | JP6088658B2 (en) |
KR (1) | KR101698286B1 (en) |
CN (1) | CN104937890A (en) |
WO (1) | WO2014079999A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10627902B2 (en) | 2014-04-01 | 2020-04-21 | Apple Inc. | Devices, methods, and graphical user interfaces for a wearable electronic ring computing device |
US11165716B2 (en) * | 2017-06-06 | 2021-11-02 | Huawei Technologies Co., Ltd. | Data flow processing method and device |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030062990A1 (en) * | 2001-08-30 | 2003-04-03 | Schaeffer Donald Joseph | Powerline bridge apparatus |
US20040039833A1 (en) * | 1998-07-15 | 2004-02-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication device and method |
US20050141482A1 (en) * | 2002-04-03 | 2005-06-30 | Patrick Kleiner | Control of a speech communication link in a packet-switched communication network between communication devices associated with different domains |
US20080089237A1 (en) * | 2006-10-11 | 2008-04-17 | Ibahn Corporation | System and method for dynamic network traffic prioritization |
US20100049830A1 (en) * | 2006-08-02 | 2010-02-25 | Siemens Transportation Systems S.A.S. | High Availability Network System |
US20110047278A1 (en) * | 2008-04-25 | 2011-02-24 | Jeremy Penston | Data synchronisation |
US20110190967A1 (en) * | 2010-02-03 | 2011-08-04 | Panasonic Automotive Systems Company Of America, Division Of Panasonic Corporation Of North America | Power line communication system and method |
US8391255B2 (en) * | 2006-08-17 | 2013-03-05 | Cisco Technology, Inc. | Content throughput on wireless mesh networks |
US20130058320A1 (en) * | 2010-04-06 | 2013-03-07 | Fujitsu Limited | Wireless communication apparatus, information processing apparatus, and wireless communication control method |
US20130142055A1 (en) * | 2011-12-06 | 2013-06-06 | Cygnus Broadband, Inc. | Systems and methods for preserving application identification information on handover in a communication network |
US20140019646A1 (en) * | 2012-07-12 | 2014-01-16 | International Business Machines Corporation | Service Channel For Connecting A Host Computer To Peripheral Devices |
US8687965B2 (en) * | 2007-05-24 | 2014-04-01 | Federal Law Enforcement Development Services, Inc. | LED light dongle communication system |
US20140330990A1 (en) * | 2013-03-29 | 2014-11-06 | Citrix Systems, Inc. | Application with Multiple Operation Modes |
US20150130276A1 (en) * | 2012-04-27 | 2015-05-14 | Vioearth Holdings Limited | Energy saving and/or safety device |
US20160044542A1 (en) * | 2013-04-02 | 2016-02-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Traffic Classification Over the Bast Station Subsystem Transport Network |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0567217B1 (en) * | 1992-04-20 | 2001-10-24 | 3Com Corporation | System of extending network resources to remote networks |
JP3433923B2 (en) | 2000-08-17 | 2003-08-04 | 日本電信電話株式会社 | Packet relay processing method |
US7376198B2 (en) * | 2003-09-10 | 2008-05-20 | Cisco Technology, Inc. | Methods and apparatus for multicasting content |
DE60332877D1 (en) * | 2003-12-22 | 2010-07-15 | Ericsson Telefon Ab L M | Technology-independent access selection is based on application requirements and network health |
KR100730610B1 (en) | 2005-09-27 | 2007-06-21 | 삼성전자주식회사 | Network communication system and control method thereof |
CN1997014A (en) | 2006-01-05 | 2007-07-11 | 三星电子株式会社 | Streaming service providing method adaptive to dynamic network changes |
US7684391B2 (en) | 2006-01-13 | 2010-03-23 | Comcast Cable Holdings, Llc | Communications system for delivering multimedia internet protocol packets across network boundaries |
CN100527883C (en) * | 2006-03-01 | 2009-08-12 | 华为技术有限公司 | Method and system for insuring service chain service quality |
US20070258459A1 (en) * | 2006-05-02 | 2007-11-08 | Harris Corporation | Method and system for QOS by proxy |
JP4652276B2 (en) * | 2006-05-17 | 2011-03-16 | 富士通株式会社 | COMMUNICATION SYSTEM AND MANAGEMENT DEVICE AND RELAY DEVICE USED FOR THE SAME |
US20090300153A1 (en) * | 2008-05-29 | 2009-12-03 | Embarq Holdings Company, Llc | Method, System and Apparatus for Identifying User Datagram Protocol Packets Using Deep Packet Inspection |
US8165021B2 (en) | 2007-09-05 | 2012-04-24 | Cisco Technology, Inc. | Policy-based resource management |
JP4865658B2 (en) | 2007-09-07 | 2012-02-01 | シャープ株式会社 | COMMUNICATION DEVICE AND ITS CONTROL METHOD, COMMUNICATION SYSTEM, DATA TRANSMISSION SYSTEM, COMMUNICATION DEVICE CONTROL PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM |
CN102244612B (en) * | 2011-08-03 | 2014-06-11 | 华为技术有限公司 | Method and device for receiving data, and communication system |
-
2013
- 2013-11-25 US US14/646,576 patent/US10148553B2/en active Active
- 2013-11-25 JP JP2015543445A patent/JP6088658B2/en active Active
- 2013-11-25 EP EP13795481.4A patent/EP2923471B1/en active Active
- 2013-11-25 WO PCT/EP2013/074541 patent/WO2014079999A1/en active Application Filing
- 2013-11-25 CN CN201380071373.1A patent/CN104937890A/en active Pending
- 2013-11-25 KR KR1020157014921A patent/KR101698286B1/en active IP Right Grant
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040039833A1 (en) * | 1998-07-15 | 2004-02-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication device and method |
US20030062990A1 (en) * | 2001-08-30 | 2003-04-03 | Schaeffer Donald Joseph | Powerline bridge apparatus |
US20050141482A1 (en) * | 2002-04-03 | 2005-06-30 | Patrick Kleiner | Control of a speech communication link in a packet-switched communication network between communication devices associated with different domains |
US20100049830A1 (en) * | 2006-08-02 | 2010-02-25 | Siemens Transportation Systems S.A.S. | High Availability Network System |
US8391255B2 (en) * | 2006-08-17 | 2013-03-05 | Cisco Technology, Inc. | Content throughput on wireless mesh networks |
US20080089237A1 (en) * | 2006-10-11 | 2008-04-17 | Ibahn Corporation | System and method for dynamic network traffic prioritization |
US8687965B2 (en) * | 2007-05-24 | 2014-04-01 | Federal Law Enforcement Development Services, Inc. | LED light dongle communication system |
US20110047278A1 (en) * | 2008-04-25 | 2011-02-24 | Jeremy Penston | Data synchronisation |
US20110190967A1 (en) * | 2010-02-03 | 2011-08-04 | Panasonic Automotive Systems Company Of America, Division Of Panasonic Corporation Of North America | Power line communication system and method |
US20130058320A1 (en) * | 2010-04-06 | 2013-03-07 | Fujitsu Limited | Wireless communication apparatus, information processing apparatus, and wireless communication control method |
US20130142055A1 (en) * | 2011-12-06 | 2013-06-06 | Cygnus Broadband, Inc. | Systems and methods for preserving application identification information on handover in a communication network |
US20150130276A1 (en) * | 2012-04-27 | 2015-05-14 | Vioearth Holdings Limited | Energy saving and/or safety device |
US20140019646A1 (en) * | 2012-07-12 | 2014-01-16 | International Business Machines Corporation | Service Channel For Connecting A Host Computer To Peripheral Devices |
US20140330990A1 (en) * | 2013-03-29 | 2014-11-06 | Citrix Systems, Inc. | Application with Multiple Operation Modes |
US20160044542A1 (en) * | 2013-04-02 | 2016-02-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Traffic Classification Over the Bast Station Subsystem Transport Network |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10627902B2 (en) | 2014-04-01 | 2020-04-21 | Apple Inc. | Devices, methods, and graphical user interfaces for a wearable electronic ring computing device |
US11165716B2 (en) * | 2017-06-06 | 2021-11-02 | Huawei Technologies Co., Ltd. | Data flow processing method and device |
Also Published As
Publication number | Publication date |
---|---|
JP2016502341A (en) | 2016-01-21 |
WO2014079999A1 (en) | 2014-05-30 |
US10148553B2 (en) | 2018-12-04 |
EP2923471B1 (en) | 2020-01-08 |
KR101698286B1 (en) | 2017-01-19 |
KR20150083893A (en) | 2015-07-20 |
CN104937890A (en) | 2015-09-23 |
JP6088658B2 (en) | 2017-03-01 |
EP2923471A1 (en) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9614788B2 (en) | All delivered network switch | |
US10009189B2 (en) | System and method for a managed network with quality-of-service management | |
KR100809261B1 (en) | High speed plc network-ethernet bridge system supporting qos | |
CN101843056B (en) | Packet level prioritization in interconnection networks | |
US20040081127A1 (en) | Method and apparatus for establishing circuit connections over local area networks with frequency selective impairments | |
US20090161682A1 (en) | Managing Bandwidth during a Contention Free Period in a LAN | |
JP4663761B2 (en) | Packet relay device | |
KR20040077957A (en) | Data communication system, data communication management device and method, and computer program | |
EP2606620B1 (en) | Method and apparatus for transmitting and receiving data based on secured path bandwidth in network established by using audio/video interface | |
US20190260812A1 (en) | Allocating capacity of a network connection to data streams based on type | |
US10148553B2 (en) | Routing data in a network | |
WO2021208529A1 (en) | Port resource reservation method, electronic device, and storage medium | |
US8953449B2 (en) | Virtual subport data traffic management | |
US20060198316A1 (en) | System for remote configuration of QoS parameters | |
JP5254916B2 (en) | Communication device and communication control method in ring network | |
CN103155483A (en) | Method and apparatus for determining a coordinator | |
JP2004504788A (en) | System and method for communicating data through multiple networks | |
KR100850353B1 (en) | Method of providing QoS using address system and address resolution protocol | |
KR100975519B1 (en) | Network end apparatus and network data switching method | |
Cuomo | An Architectural Model to Provide QoS in a Home Network and its Evaluation in a Real Testbed. | |
US20080240007A1 (en) | Inter-ring fairness control method and rpr node device | |
Engel | Bandwidth management and quality of service | |
KR20010019068A (en) | Method for appointing gateway to root for interface between dual network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NEDERLANDSE ORGANISATIE VOOR TOEGEPAST-NATUURWETEN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STOKKING, HANS MAARTEN;HARTOG, FRANK DEN;HILLEN, BERNARDUS;AND OTHERS;SIGNING DATES FROM 20150602 TO 20150603;REEL/FRAME:036124/0918 Owner name: KONINKLIJKE KPN N.V., NETHERLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STOKKING, HANS MAARTEN;HARTOG, FRANK DEN;HILLEN, BERNARDUS;AND OTHERS;SIGNING DATES FROM 20150602 TO 20150603;REEL/FRAME:036124/0918 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |