Patent ID: 8635689

Claim:
In a data processing system associated with a plurality of users, wherein at least a portion of the users have each been previously assigned one or more permissions which correspond respectively to specified system resources, a method comprising: acquiring, by the data processing system, data from a first data source, wherein said first data source contains information pertaining to the users of said portion and to the permissions previously assigned thereto; acquiring, by the data processing system, data from a second data source, wherein said second data source contains information pertaining to one or more specified attributes of each user of said plurality; determining, by the data processing system, a set of permissions for a given role, wherein said set of permissions are determined using information from at least one of said first data source and said second data source, and said set of permissions comprises one or more specified permissions associated with resources of said system; determining, by the data processing system, a first criterion for assigning users to said given role from information contained in said first data source; determining, by the data processing system, a second criterion for assigning users to said given role from information contained in said second data source; selecting, by the data processing system, a particular user for admission to said given role only if said particular user is in compliance with both said first criterion and said second criterion, wherein each user admitted to said given role is assigned each of the specified permissions of said permission set; assigning, by the data processing system, a task to the particular user to resolve a problem associated with the data processing system; responsive to the data processing system determining that a solution to the task for resolving the problem does not exist in a repository, finding, by the data processing system, a similar task with a solution; identifying, by the data processing system, a required role for each action step in a set of action steps associated with the similar task; responsive to the data processing system determining that a required role for a particular action step in the set of action steps associated with the similar task does not exist, determining, by the data processing system, whether a role exists for a similar action step; and responsive to the data processing system determining that a role does not exist for the similar action step, using, by the data processing system, a similarity ranking to propose a suitable role.