Network bandwidth division on a per-user basis
The present invention relates to division of network bandwidth between users in a closed computer environment.
Published United States patent application US 2002/0118699 discloses a method of, in a network through which users (such as homes and businesses) communicate with various service providers, providing network access across a shared communications medium between competing users. Users network access is allocated for a future time interval, and then network access is reallocated to the users during a succeeding time interval. The level of network access allocated to each user for each time interval is determined in accordance with fairness considerations, contractual provisions regarding network access, forecasted network access that will be utilized, and/or forecasted network access that will be requested. The user allocations determine user allowances of network access representing limits on the amount of network access users can consume in a time interval.
It is an object of the present invention to provide a method and a system for managing sharing of bandwidth between users in a home network in which bandwidth- occupying applications may be initiated by a plurality of users. In a first aspect, the invention provides a method for managing sharing of bandwidth resources between a plurality of users in a computer network system in which a plurality of bandwidth-occupying applications are executed by a plurality of electronic devices integrated in or connected to the computer network system, wherein a bandwidth share of a total bandwidth is assigned to each of the bandwidth-occupying applications, the computer network system comprising memory means storing a representation of an identity of each of the users, the method comprising the steps of: identifying a first one of the users, the first user operating a first one of the electronic devices, and
in response to the first user instructing the first electronic device to initiate a first application and thereby causing the first electronic device to request a portion of the total bandwidth: determining the bandwidth share for the first application in dependence from at least the identity of the first user. It will thus be appreciated that, in the method according to the invention, sharing of bandwidth resources may be carried out in dependence from user identifications. Accordingly, if a first user initiates an application, such as download of a file or streaming of a movie, a limited bandwidth share may be allocated to the application, so that it is assured that a certain bandwidth share is available for a second user who might, while the download or streaming initiated by the first user is still in process, initiate a further bandwidth- occupying application. Thus, contrary to known methods, the present invention offers the possibility of assuring one or more users a certain amount of bandwidth that will always be available to that user or users.
In a preferred embodiment, each user is assigned a bandwidth quota, which is a total amount of bandwidth the user is allowed to occupy while executing one or more applications. The bandwidth quota may be an absolute amount of bandwidth or a fraction of a total available bandwidth. When the first user initiates an application, the minimum bandwidth needed for running the application is assigned only if it does not exceed the remaining part of the first user's bandwidth quota, that is the bandwidth quota minus the sum of bandwidth used by any other applications run by the first user.
In another preferred embodiment, each user is assigned a priority level. If no bandwidth is available, the first user requesting an amount of bandwidth maybe allotted an amount of bandwidth anyway if the first user has a higher priority level than other users running one or more applications. In this case, the other user(s) will experience that one or more of his/their applications will have reduced available bandwidth or even be aborted. Preferably, the identification of the first user may be done by means of a biometric method as stated in claim 4. However, it should be understood, that identification of the first user could also be based on a standard logon, i.e. the first user giving a username and possibly a password. In yet another preferred embodiment, as described in claim 5, the bandwidth share for the first application is further determined in dependence from an identified first context class. The context class may be dependent on the position of the first electronic device. The position of the first electronic device may be identified from a list stored in the
memory means. Alternatively, the position of the first electronic device may be found by means of one or more positioning sensors, such as a GPS unit.
In a second aspect, the invention provides a computer network system for managing sharing of bandwidth resources between a plurality of users in the system, the system comprising: a plurality of electronic devices integrated in or connected to the computer network system, the electronic devices being programmed to execute a plurality of bandwidth-occupying applications and to assign a share of a total bandwidth to each of the bandwidth-occupying applications, memory means for storing a representation of an identity of each of the users, the system being programmed to: identify a first one of the users, the first user operating a first one of the electronic devices, and in response to the first user instructing the first electronic device to initiate a first application and thereby causing the first electronic device to request a portion of the total bandwidth: determine the bandwidth share for the first application in dependence from at least the identity of the first user. h a third aspect, the invention provides a computer program product for managing sharing of bandwidth resources between a plurality of users in a computer network system in which a plurality of bandwidth-occupying applications are executed by a plurality of electronic devices integrated in or connected to the computer network system, wherein a bandwidth share of a total bandwidth is assigned to each of the bandwidth-occupying applications, the computer network system comprising memory means storing a representation of an identity of each of the users, the computer program product comprising means for: identifying a first one of the users, the first user operating a first one of the electronic devices, and in response to the first user instructing the first electronic device to initiate a first application and thereby causing the first electronic device to request a portion of the total bandwidth: determining the bandwidth share for the first application in dependence from at least the identity of the first user.
In a fourth aspect, the invention provides a computer-readable data carrier loaded with a computer program product according to the third aspect of the invention.
In a fifth aspect, the invention provides a computer program product according to the third aspect of the invention, the computer program product being available for download via the Internet.
These and other aspects of the invention will be apparent from and elucidated with references to the embodiments described hereinafter.
Fig. 1 shows a closed network connected to the internet. Fig. 2 is a flow chart showing how bandwidth can be shared between users according to priority.
Fig. 1 shows a closed network, such as a home, office or hospital network comprising a limited number of devices which are being used by a limited number of users, in which network the present invention may be used. The network consists of a server 102 connected to the Internet 101 by e.g. a DSL connection. The server is further connected to a plurality of electronic devices 106, 107 and via a wireless access point 103 it is also connected to a plurality of wireless electronic devices 104, 105. The devices 104, 105 and 106 are each connected to or incorporating an identification sensor 108 for identifying the user(s) of the device, hi the following sections, the invention will be described in relation to this home network. This should not indicate that the specific elements in this network are essential to the invention, and should not be interpreted as limiting the scope of the invention.
The present invention provides a method for managing sharing of bandwidth between a plurality of users running bandwidth occupying applications via the terminals 104, 105, 106 and 107. The actual managing is preferably performed by a computer program executed on the server 102, but may also be executed on one or more other devices in the network.
The electronic devices 104, 105, 106 and 107 can be PC's, PDA's, Telephones, Television sets etc. The wireless devices 104, 105 and the access point 103 may for example communicate via Bluetooth or under the IEEE 802. l ib standard, while the wired connections may be Ethernet, USB or Firewire connections, etc.
When a user attempts to initiate a bandwidth demanding application, such as download of a file from the Internet or streaming of a movie, via one of the devices 104, 105 or 106, the user is identified by means of the identification sensor 108 connected to the actual
device. Based upon the identity of the user, it is determined if the requested bandwidth is available.
The identification sensor 108 may be a fingerprint scanner, a camera/scanner for face or iris recognition, a microphone for speech recognition, etc.. The identification sensor 108 could also be a keyboard or a keypad for entering a user ID and possibly an accompanying password.
When a user attempts to initiate an application from the device 107, which does not comprise an identification sensor, the determination of whether the requested bandwidth is available may be done in accordance with a virtual user ID assigned to the device itself and/or in accordance with an identified context, which may depend on the position of the device and/or the user. In an embodiment where the device 107 is a television set, a virtual user ID such as "family" could be assigned to the device. This way, the assigned bandwidth does not depend on how many family members are actually watching TV. More than one device could be identified with one virtual user, a virtual user "children" could for example include the children's TV and the telephone in the children's room.
Several criteria's for determining whether the requested bandwidth is available exist within the scope of the invention, h one preferred embodiment, each user has a personal bandwidth quota, which is either an absolute amount or a fraction of the actual total bandwidth available via the connection to the Internet. The user can in general not occupy more bandwidth than his personal quota permits, however, if other users are not using their quotas the user may be able to obtain a temporarily increased bandwidth share on the condition that his aρplication(s) will still be able to run within his quota, i.e. when another user requires his share of the bandwidth, the application(s) will have to be able to scale back its (their) bandwidth usage to minimum. This condition is important in relation to applications that utilizes streaming of data, such as a movie or a piece of music, since such applications will need a certain minimum amount of bandwidth to be able to deliver a satisfying quality to the user(s). For streaming data, there will also be an upper level for the bandwidth from which further increasing of the bandwidth will no longer provide improved quality to the user. In other words, the bandwidth necessary for streaming data falls within a range between the aforementioned minimum and upper levels. This is in contrast to e.g. downloading files from the Internet, where it will just take longer to get the file when bandwidth is reduced.
In another preferred embodiment, priority levels are assigned to each user. As depicted in the flow chart of Fig. 2, the identity of the user attempting to initiate a bandwidth
demanding application is first determined, in step 201, and thereafter it is checked if the mimmum bandwidth within the range of bandwidth needed is available, in step 202. If it is, it is assigned right away to the user requesting it for an application, in step 205. If not, it is checked if the user requesting the bandwidth has a higher priority level than one or more applications ran by one or more other users in the network and if these one or more applications occupy at least the mimmum bandwidth needed to launch the user's application, in step 203. If this is the case, one or more of the applications run by the one or more users with lower priority will have reduced amounts of bandwidth reassigned to them or will even be aborted, in step 204. This step is performed while respecting mutual priority relations between the users with lower priority, i.e. the user with the lowest priority level will be the first one to give up bandwidth. The freed bandwidth is then assigned to the user requesting the bandwidth, in step 205. If the requesting user does not have a higher priority level than any of the other users or if the total bandwidth occupied by the users with lower priority is below the minimum amount of bandwidth needed by the requesting user, the request is refused, in step 206.
The above mentioned bandwidth quotas and priority levels may be stored on the server 102 and changed/updated by e.g. a network administrator.