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.

Description:
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&#39;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&#39;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 S i   n  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, S i   0 =I, where 0≦I≦A and iεE. If the i th  user participates in n-th round of evaluation, then
 
 S   i   n   =S   i   n-1   e   −(τ/Δ)   +A (1 −e   −(τ/Δ) )  [1]
 
If i th  user does not participate in n-th round then,
 
 S   i   n   =S   i   n-1   e   −(τ/Δ)   [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&#39; past behavior may wish to grant certain users the stakeholders&#39; 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&#39;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 S n -S n-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&#39;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&lt;S&lt;250, then τ=τ 1 =10, but if 250&lt;=S&lt;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.