METHOD AND APPARATUS FOR ALLOCATING BANDWIDTH
This invention relates to data communication systems.
Any system for electronically transferring data between two or more points has a certain bandwidth, essentially being the amount of information that can carried within a given period of time. For electronic communication systems, such as the Internet, this is usually expressed in terms of the amount of data that can be transmitted per second over the link. For example, a conventional dialup modem system may have a bandwidth of up 56 kb per second, an ISDN system up to 128 kb per second, an ADSL system of about 500 kb to 2 Mb, and so on.
Many service providers will give their customer the option of choosing the level of service, ie bandwidth, they will require and the user then subscribes to a system which nominally provides this bandwidth and the user is charged at a certain subscription rate for this service.
Even if the user only periodically requires a high bandwidth, he is still charged the rate for this bandwidth for all his uses. For example, a customer who requires most of the time simply to send e-mail and view simple web pages will normally not require a significant bandwidth for doing this. If, however, he or she occasionally wishes to view streaming video, use video conferencing, download large files or have other uses then he will sometimes have a need for a higher bandwidth either to reduce download times or to
make viewing video or other multimedia acceptable in terms of performance. The customer will then have no choice but to subscribe to a higher bandwidth service and pay a generally higher subscription fee for this, even though more often than not he does not require this high bandwidth.
ISDN users sometimes have a degree of flexibility in that an ISDN channel can use either one or two communication lines, each of which has a maximum bandwidth of 64 kB per second. By combining these, the user double his bandwidth to 128 kB per second. The user can choose each time he connects by a dialup method to the Internet, whether to use a single channel or both channels and, as ISDN is generally charged by the time a call makes, he will be charged for two calls simultaneously and therefore charged a higher amount for this extra bandwidth. However, the bandwidth requirement cannot be changed midway through a session, instead the user must disconnect and then reconnect using his chosen configuration.
The present invention arose in an attempt to provide an improved system for dynamic selection and charging for bandwidth, when required.
According to the present invention there is provided a data transfer system, comprising a server adapted to transmit information to and from a terminal via a communications network at a nominal maximum bandwidth; a variable time delay in the transmission path capable of causing the bandwidth at the terminal to be reduced and means for selectably altering the time delay and thereby altering the bandwidth available at the
terminal.
The terminal may be a personal computer or computer network, or alternatively it may be any other electronic terminal such as a mobile telephone connected to a wireless network, a personal digital assistant (PDA), a television receiver connected to a television transmission network (typically a digital television transmission network), or any other terminal.
The delay means is preferably a memory means such as a FIFO RAM, the clock speed of which is deteπnined by a microprocessor. By varying the clock speed of the FIFO, a delay is introduced into the signals to and from the terminal and this therefore increases or reduces the bandwidth available to the terminal.
The invention further provides a method of dynamically altering the bandwidth available to a customer, using the above apparatus, where the user at a terminal selects, at any time, a desired bandwidth and a message is transmitted to the server requesting this. The server acknowledges this request and the terminal, or an associated microprocessor, is enabled to reduce the delay (which was previously set at a maximum or some other value) to thereby increase bandwidth. Upon the user wishing to decrease bandwidth again, he sends a signal to the server requesting this. The server acknowledges this and the delay is then increased.
Most preferably, the server is connected to a charging system which is adapted to
increase the rate of charging for the customer between the times that increased bandwidth has been requested and terminated.
In embodiments of the invention, the action of changing the bandwidth dynamically is instigated by the server, generally after a request from the user.
Embodiments of the invention will now be described, by way of example only, with reference to the accompanying schematic drawings, in which:
Figure 1 shows a communications system allowing for variations in bandwidth at a users terminal;
Figure 2 shows the users end of the system; and
Figure 3 is a series of explanatory diagrams showing an embodiment of the ' invention.
Figure 1 shows an Internet based communication system, although of course the invention is applicable to other types of system and this is just shown by way of example.
The system comprises a central server 1 which provides Internet access and billing to a user who has a terminal 2. The terminal may be a fixed terminal such as a PC or other computer or television apparatus or it may be a portable terminal. It may have a static or dynamic IP address. The server communicates with the terminal by means of the Internet 3, in this example. Messages to and from the terminal will generally be passed through a router 4 (shown in Figure 2) at or in the vicinity of the terminal and then to a RAM which
may be a FIFO (first in first out) device 5. Each packet of data in turn then passes to or from the terminal for processing and/or viewing at the terminal.
Since all data passes through the FIFO ram 5, the speed at which this operates directly determines the speed at which data is received at or transmitted from the terminal 2. In effect it therefore directly affects the bandwidth.
The maximum bandwidth allowed by the system will depend upon the type of communications systems and the slowest part of any node in the system. In embodiments of the present invention, the system has a maximum allowable bandwidth. Increasing the delay at the FIFO 5 causes the bandwidth useable by the terminal to be reduced. This is caused by altering the clock setting by a clock 7 controlled by a microprocessor 8 which is in turn connected to the terminal 2. The clock 7 simply alters the rate at which data is transferred to or from the FIFO and therefore puts a delay into the system. The microprocessor 8 may be one which is associated with, or used to control, the system.
It should be noted that other methods of introducing a delay into the signal path may be used, within the scope of the invention.
In order that the service provider is able to charge the user only for the time he wishes to use a higher bandwidth, it is important that instigation of the process for increasing bandwidth temporarily comes from the server end. Figure 3 shows one method how this may be achieved.
It is assumed that the customer normally users, and is content with, a relatively low bandwidth, as will generally be the case for a customer who wishes to simply use e-mail, view simple web pages, and so on. The customer is charged a particular subscription, be it . monthly, yearly or whatever for this. The clock rate of the FIFO is therefore set normally to achieve the desired relatively low bandwidth. At a point in time, the customer may wish, to have an increased bandwidth. This may be, for example, because he wishes to use video conferencing software, to download software, to view streaming multimedia or for other reasons. Referring to Figure 3(a), the customer first requests higher bandwidth from the server. This may be made by a simple telephone request 11 of by any other communications channel, indeed it may be made by using the postal services.
Alternatively, the request can made over the Internet or other communications channel upon which the desired bandwidth is chosen and for this the customer, via his terminal 2 and the communications link 3, communicates directly with the server 1. Note that the term server is used generally, and includes the IP's business generally, in addition to its more specific meaning.
The server then instigates the process by sending a signal 12 to the terminal, via the communications network. The terminal receives this signal and in turn sends a message 13 to the microprocessor 8. This in turn causes the microprocessor to increase the clock rate at clock 7 to thereby increase the clock rate at the FIFO 5. The increased clock rate at the FIFO accordingly increases the bandwidth and the user can then start to use this higher bandwidth for his requirements.
At this time the terminal checks with the microprocessor C that the new clock rate is being achieved and, upon being satisfied that this is, it then sends a message 14 back to the server confirming that the upgrade has been taken up.
Finally, the server confirms that the upgrade has been taken up with the terminal by a message 15 and the terminal confirms this to the microprocessor.
Because of this process, or any similar process, the increased bandwidth is instigated and the server is aware of the increased bandwidth and can charge the user accordingly. When the user wishes to terminate his use of the increased bandwidth, a similar process occurs; he sends a message to the server which then instigates a dialogue between it, the terminal and the microprocessor to increase the delay and therefore reduce bandwidth and to cease charging at the higher rate.
Most preferably, some kind of serial number manipulation and transfer takes place at each stage. This will make sure that messages are being transferred to and from the right places and makes the system relatively unspoofable, meaning that hackers are not able to increase bandwidth by fooling the system into thinking it has authorised an increase in bandwidth.
Instead of the customer specifically requesting a higher bandwidth, some software programs may automatically request higher bandwidth. Thus, a video conferencing programming for example may have a first piece of code which connects to the users ISP
and specifically requests higher bandwidth. Upon receiving this message, the server enters a routine such as that of Figure 3 and instigates the higher bandwidth automatically. When the video conferencing software has finished, or the user wishes to finish using it, before it closes it sends a further signal to the ISP declaring that the higher bandwidth requirement is finished and then the server begins the process of reducing the bandwidth again.
The passing of serial numbers or other tokens, represents an important security step.
The present technique may be used for dynamically altering other parameters of communication system.