# Patent

## Title
Method and system for managing network resources based on a dynamic quorum

## Abstract

A method and system is disclosed for dynamically administering a quorum of multiple members based on their involvements in using at least one network resource in a computer network. At least one system administrator responsible for managing a particular network resource will divest his power to the members of the quorum so that his own involvement can be minimized. After identifying one or more stakeholders out of a group of users of the network resource, a weight for each user is updated in one or more rounds of evaluation based on his use of the network resource. The quorum membership is then modified accordingly based on the updated weights of the users so that the network resource is managed appropriated by relevant users.

## Background
TECHNICAL FIELD
The present invention relates to computer networks and, more particularly, to a method and system for managing network resources based on a dynamic quorum in a computer network environment.
BACKGROUND INFORMATION
As the size and complexity of computer networks increase, administration of network users and resources is a tedious job. For instance, the traditional way of managing application servers in a network involves an administrator or a group of administrators who are responsible for having the best interests of all their users in mind (in line with the usage policy if one exists) and for making administrative decisions that affects service quality or functionality. As such, administration of application server resources has always been one of the cost intensive areas in terms of time and manpower in the operation of a business. For example, for those networks whose resource allocation is based on directory, a variety of tools have been developed to automate repetitive chores of administration. Such tools like NetIQ, Entevo, Quest, Bind-view, etc. are specific to certain directory software platforms. The general methodology for the administration tools is to automate and simplify tasks so that a self-management mechanism can be implemented.
Out of a group of users of a particular resource, there are a subgroup/quorum of stakeholders affected by almost every administrative operation on the resource. Ideally, the administrator is expected to take the opinions of these stakeholders into consideration. Based on how much they depend on the resource, some users have higher stake than others. As such, even in a group of stakeholders, they may have varying levels of dependency on the resource, and hence varying levels of stake of the quorum. In practice, this makes the process of getting to know the list of users/stakeholders and their dependencies in different parts of the network services or resources difficult. In fact, users of a computer network system would be willing to participate in decision making of an administrative nature if the decision had a direct impact on any aspect of their primary interests. For example, on a network file system, a user would be interested in the right to delete files he uses in a common area that are also accessible by other users. With the advent of peer-to-peer systems, a host of user owned services are now well known in today's IT networks. There are a number of software applications that allow users to share files in a peer-to-peer fashion. The success of any such application invariably depends on how well it is managed. As such, what is needed is a mechanism that will help users for providing better utilization of resources they place in the services of their peers, while reducing the load of a centrally managed application administration.
More specifically, what is needed is a dynamic method for allowing the users to manage their interested network resources so as to relieve the burden on “labor intensive” network administration by designated administrators.
SUMMARY OF THE INVENTION
A method and system is disclosed for dynamically administering a quorum of multiple members based on their involvements in using at least one network resource in a computer network. At least one system administrator responsible for managing a particular network resource will divest his power to the members of the quorum so that his own involvement can be minimized. After identifying one or more stakeholders out of a group of users of the network resource, a weight for each user is updated in one or more rounds of evaluation based on his use of the network resource. The quorum membership is then modified accordingly based on the updated weights of the stakeholders so that the network resource is managed appropriated by relevant users.



BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1 and 2 illustrate graphs showing weight accumulation for a group of users in different rounds of evaluation.



DETAILED DESCRIPTION OF THE INVENTION
The present disclosure will be described below in more details. Although the network resources can be of any form, in the disclosure below, the network application service is used as one example. For example, a group of users are using certain application service in a computer system, and a subset of them form a quorum for deciding the use of the application service by filtering mechanisms according to a predetermined criteria based on their involvements with or usage of the application service. For these stakeholders, they may have certain primary interest in the application service, and they may also have certain secondary interests. For the purpose of this disclosure, a primary interest is defined as the reasons that motivate the user to seek a service. For example, in a file system directory that contains binary objects published by a user which are further used by a number of others as part of a software development workflow. In this case, users of these published objects would have a primary interest in reading them, or the operation “file read,” which brings them to use this service. As a contrast, the backup policies of this directory, while of certain interest to this user, may not be of a primary interest. Therefore, the backup policy controlling what, when and how files in the directory should be backed up is considered to be of secondary interest to the user. A primary interest may be understood as an interest arising out from a use of network resource or an operation of the network that has a direct impact on a user, who desires to have his voice heard for such an operation or use. Comparing to the primary interest, a secondary interest arises from a use of network resource or an operation of the network that may have a relatively indirect impact on a user, who may not like to have any control over such an operation or use.
Since the network is still managed largely by the administrators, and the primary objective is to allow the administrator of a service to empower a group of stakeholders to handle a selected operation on a selected resource. The selection criteria of the quorums are thus determined by the administrators as well as the configurations of the quorums themselves. When selected appropriately, the quorums should represent a cross section of users whose decision on the network resource should represent the overall concerns of all involved users.
As described above, a prioritized list of stakeholders must be identified under certain current condition pertaining to the predetermined criteria. As a given individual or user's involvement in an operation varies proportionately to its primary interest in the concerned resource, and his or her interests change from time to time, the stakeholder identification process must be designed in a very dynamic fashion.
In one example, a system of weights is used to represent the stakes users have in participating the decision quorum and making the decision. Based on certain configuration parameters which control how users will score, the “weight” of each participating user is updated at every round of stake evaluation or scoring based on whether the user has participated or not. A mathematical representation of the weight-assigning process is further described below, wherein A denotes the maximum attainable score per user, E the group of stakeholders, ti a programmable configuration parameter, I the initial score, and Sin the weight of the i-th user at n-th evaluation. Let Δ be the time difference between successive rounds of stake evaluation. If time does not have a bearing on a specific application, then Δ=1. Alternatively, Δ could also be an indicator of the time elapsed from the beginning round of evaluation or in the form of the sequence number of the stake evaluation round. It is then obvious that, initially, Si0=I, where 0≦I≦A and iεE. If the ith user participates in n-th round of evaluation, then

Sin=Sin-1e−(τ/Δ)+A(1−e−(τ/Δ))  [1]

If ith user does not participate in n-th round then,

Sin=Sin-1e−(τ/Δ)  [2]

After the initial score is given, depending on whether or not the users participate and how they participate, their scores are updated. The quantum of increment to the current weight is determined by the value of A, the previous weight, and the value of τ. The parameter τ decides the number of rounds within which a consistently participating user reaches the saturation (very close to maximum score A). As such, the parameters τ and Δ both together give the administrator relatively static way to manage the dynamic quorum.
The update algorithm should capture the participation patterns or resource usage patterns of the users, and represent that to a single numeric value. The administrator has to use various data sources including the usage patterns in the past to predict the future behavior of the resource usage. For example, an administrator with the knowledge of users' past behavior may wish to grant certain users the stakeholders' role in a quorum for a particular collaborative resource after they have participated in eight successive rounds of evaluation. This, in turn, decides what the value of τ/Δ should be. Obviously, this ratio differs significantly for particular resources since it tries to represent the administrator's decisions on particular user groups.
For a given value of τ, it can be designed in such a way that the weight increments are relatively larger to start with. That is, when the user begins to participate initially (or has a weight very close to the bottom), they increment faster for the first few rounds, and as the participation level increases, the increments are actually in small units. Similarly, weight decrements are larger when the current weight is closer to the bottom portion of the curve and relatively smaller as the participant gains a certain amount of weight and moves up in the curve.
The rate of the increments or decrements can be controlled by the value of τ. In one example, for the larger values of τ, the increment or decrement would be smaller, which means the curve takes a longer time to saturate. As τ get close to 0, the Sn-Sn-1 (increment/decrement) tends to be close to A, the saturation weight. Therefore, since the threshold for adding or expelling members in the quorum is related to the value of τ, τ captures the resource administrator's perception of the amount of consistent usage by the users. If he wishes, the user can also be classified in different groups in terms of their stakes in the quorum. The above-described process also allows the administrator to fine control how he should provide weights to the users by having a different value of τ for formula [1] and [2] above. In another example, in more complicated scenarios, the administrators may use different values of τ for a range of weights. Suppose the maximum weight of A is 1000 and the τ-values changes. If 0<S<250, then τ=τ1=10, but if 250<=S<1000, then τ=τ2=90. It can also be designed in such a way that the more regularly participating users are found to have weights closer to A than the non-participating ones. In this way, the weight for each user is calculated and accumulated, and the membership of the quorum is managed accordingly.
For illustration purposes, consider four users (stakeholders), numbered 1 to 4, participating in a decision evaluation process. The parameters are set as τ=10, A=100 and Δ=1, and it is expected that a user reaches the saturation in about 50 steps if it participates regularly. The results of weight accumulated by the users up to 10 rounds of evaluation are shown in FIG. 1. It can be seen that the user-1 is the most consistent of all up to 10 rounds of stake evaluation and probably the first user to reach saturation. The user-2 does participate regularly from the second evaluation round onwards and closely follows user-1. The user-3 and user-4 are somewhat irregular.
Once users related to a particular network resource are associated with different weights based on their usage patterns, a quorum needs to be formed in order to further manage the network resource. For instance, the administrator can specify the size of the quorum in form of percentage ratio. In addition, a threshold weight T can be specified, above which the users will be included. The administrator may also set a minimum number of users needed for the quorum. This ensures that the quorum will be of a certain size for managing the network resource. Also, the enrollment/addition and disenrollment/deletion of members in the quorum is based on the weights of the members in the most recent round of evaluation. If the weight falls below the threshold T, the member would be a candidate for disenrollment. If the weight of another user increases above T, he will be admitted as a stakeholder of the quorum.
Referring back to FIG. 1, if the threshold for the quorum membership is fixed at 60 in terms of the weight value, then only user-1 qualifies for the membership after the 9th round of stake evaluation. If the threshold is relaxed to 50, then both user-1 and user-2 become members of the quorum at the 9th round. Similarly, if the threshold is 30, after the 6th stake evaluation, all four users will qualify to be members of the quorum. However, the user-4 loses his stakeholder status by the 8th evaluation due to non-participation.
Once such a quorum is created and maintained, the quorum can be used in various ways to make decisions on how a network resource can be managed. Examples of using such quorums can be found in U.S. patent application Ser. No. 10/082,854, entitled “A Method and System for Amassment of Authorization in a Computer System,” which is herein incorporated by reference in its entirety.
As stated above, the weight accrued by an user can be affected by appropriately setting the value of τ. As shown in the FIG. 2, with the parameters A=100 and Δ=1, the variation of τ is between 3 and 100, the curves in FIG. 2 look totally different from those in FIG. 1. It is understood that the smaller the τ, the earlier the user reaches the saturation. On the other side, the penalty is more severe for non-participation although the recovery is fast by the same token. As mentioned above, it is not necessary to have the same value of τ for both rewarding and reducing weights. Choosing different values of τ depending upon the needs of the application is a very practice-oriented exercise, which largely depends on the experience of the administrator and the usage history of network resources.
In the network environment, various quorums can be set up following the same principle described above. For example, separate quorums can be established to manage tasks such as administration of public or shared file system volumes, administration of shared folders in an email software, or administration of web resources.
It may be noted that the above process of quorum membership could be used to make a recommendation to the application administrator that a particular user has met certain criteria for inclusion or exclusion, rather than allow/disallow membership automatically.
The present disclosure does not require a software or application rewrite. Using the existing applications, every application server can log application events in an audit log. A software module implementing the above algorithms for quorum membership could then analyze the audit log for relevant events and act in a recommendatory (notifications to app server admin expecting him to take action) or otherwise direct fashion (sending quorum configuration messages). This software module can review the audit log at periodic intervals of time, if necessary.
It is understood that several modifications, changes and substitutions are intended in the foregoing disclosure and in some instances some features of the invention will be employed without a corresponding use of other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the invention.

## Claims

1. A method for dynamically determining a quorum having one or more members based on their involvements in using at least one network resource in a computer network, the method comprising:
identifying one or more stakeholders having a primary interest in the network resource;
periodically conducting rounds of evaluation to determine for each stakeholder an amount that the stakeholder has participated in use of the network resource since an immediately preceding evaluation round;
for each evaluation round, a computer updating a weight by an incremental amount for each stakeholder, wherein the incremental amount is based on the determined amount of participation in use of the network resource for the stakeholder and a predetermined configuration parameter; and
after each evaluation round, modifying a membership of the quorum based on the updated weights of the stakeholders, wherein for each of the stakeholders, the stakeholder is included in the quorum membership if the updated weight of the stakeholder has a first relationship to a threshold weight and the stakeholder is excluded from the quorum membership if the updated weight of the stakeholder has a second relationship to the threshold weight,
wherein changing the value of the predetermined configuration parameter controls the rate of a progress of the weight between different rounds.

2. The method of claim 1 further comprising collectively managing the network resource by the quorum membership.

3. The method of claim 1 wherein the identifying further comprises analyzing usage patterns of the network resource pertaining to each stakeholder.

4. The method of claim 1 wherein the updating further comprises calculating the weight mathematically by Sin=Sin-1e−(τ/Δ)+A(1−e−(τ/Δ)) for the ith stakeholder participating in the n-th round and Sin=Sin-1e−(τ/Δ) for the ith stakeholder not participating in the n-th round, wherein A is the maximum attainable weight, τ is the predetermined configuration parameter, and Δ is the time difference between successive rounds.

5. The method of claim 1 wherein the modifying further comprising setting up a required threshold for the weights for qualifying a member to the quorum.

6. The method of claim 1 wherein the modifying further comprising setting up a minimum number of members for administering the membership of the quorum.

7. A method for managing at least one network resource in a computer network by a dynamic user quorum, the quorum admitting one or more members based on their minimum involvements in using the network resource, the method comprising:
identifying one or more stakeholders having a primary interest in using the network resource;
determining an expected quorum membership requirement over a period of time based on usage patterns of the network resource pertaining to the members;
periodically conducting rounds of evaluation to determine for each stakeholder an amount that the stakeholder has participated in use of the network resource since an immediately preceding evaluation round;
for each round of evaluation, a computer updating a weight by an incremental amount for each member, wherein the incremental amount is based on the determined amount of participation in use of the network resource for the member and a predetermined configuration parameter; and
modifying a membership of the quorum after each round of evaluation based on the updated weights of the stakeholders, wherein for each of the stakeholders, the stakeholder is included in the quorum membership if the updated weight of the stakeholder has a first relationship to a threshold weight and the stakeholder is excluded from the quorum membership if the updated weight of the stakeholder has a second relationship to the threshold weight,
wherein changing the value of the predetermined configuration parameter controls the rate of a progress of the weight between different rounds.

8. The method of claim 7 wherein the updating further comprises calculating the weight mathematically by Sin=Sin-1e−(τ/Δ)+A(1−e−(τ/Δ)) for the ith stakeholder participating in the n-th round and Sin=Sin-1e−(τ/Δ)) for the ith stakeholder not participating in the n-th round, wherein A is the maximum attainable weight, τ is the predetermined configuration parameter, and Δ is the time difference between successive rounds.

9. The method of claim 7 wherein the membership requirement is a required threshold for the weights to qualify a member of the quorum.

10. The method of claim 7 wherein the modifying further comprising modifying the quorum by considering a required minimum number of members to be included in the quorum.

11. A computer program product for dynamically determining a quorum having one or more members based on their involvements in using at least one network resource in a computer network, the computer program product comprising:
non-volatile computer readable medium having stored thereon instructions for:
identifying one or more stakeholders having a primary interest in the network resource;
periodically conducting rounds of evaluation to determine for each stakeholder an amount that the stakeholder has participated in use of the network resource since an immediately preceding evaluation round;
for each of the evaluation rounds, updating a weight by an incremental amount for each stakeholder, wherein the incremental amount is based on the determined amount of participation in use of the network resource for the stakeholder and a predetermined configuration parameter; and
after each evaluation round, modifying a membership of the quorum based on the updated weights of the stakeholders by considering at least one predetermined requirement,

wherein changing the value of the predetermined configuration parameter controls the rate of a progress of the weight between different rounds.

12. The computer program product of claim 11 wherein the computer-readable medium further has stored thereon instructions for collectively managing the network resource by the quorum membership.

13. The computer program product of claim 11 wherein the instructions for identifying further comprise instructions for analyzing usage pattern of the network resource pertaining to each stakeholder.

14. The computer program product of claim 11 wherein the instructions for updating further includes instructions for calculating the weight mathematically by Sin=Sin-1e−(τ/Δ)+A(1−e−(τ/Δ)) for the ith stakeholder participating in the n-th round and Sin=Sin-1e−(τ/Δ) for the ith stakeholder not participating in the n-th round, wherein A is the maximum attainable weight, τ is the predetermined configuration parameter, and Δ is the time difference between successive rounds.

15. The computer program product of claim 11 wherein the instructions for modifying further comprising instructions for setting up a required threshold for the weights for qualifying a member to the quorum.

16. The computer program product of claim 11 wherein the instructions for modifying further comprising instructions for setting up a minimum number of members for administering the membership of the quorum.

17. The method of claim 2 wherein the managing the network resource includes managing administration of file systems volumes and managing administration of web resources.