Network license compliance apparatus and method
First Claim
1. A method for managing network license compliance in a multi-user computer system comprising:
- storing a plurality of applications;
storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications, and wherein at least first and second licenses are suite licenses which allow a single user to use any or all of a plurality of applications within a suite and prohibit another user from using another one of the applications within the suite at the same time, wherein all applications in said first suite also appear in said second suite and wherein there is at least one application in said second suite which is not in said first suite;
in response to a request for a requested application by a requesting user, determining whether there is any distribution of said plurality of licenses among a plurality of users which includes at least said requesting user, wherein the assignment of said licenses is based upon the applications contained in said first and second suites, which would result in a license for each current user and a license for said requesting user; and
outputting a signal preventing the launch of said requested application only if there is no distribution of said plurality of licenses among said plurality of users that would result in a license for each current user to use each application currently being used by said current user and would also include a license for said requesting user to use said requested application, and otherwise outputting a signal permitting the launch of said requested application.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for controlling operation of remote networked devices, such as computers, in compliance with licensed restrictions is provided. In one embodiment, licenses are assigned to users in the order of application requests that are made. When a request is made and no licenses are available, an analysis is performed to determined whether licenses may be swapped in such a fashion so as to free up a license for the requested application. In another embodiment, whenever a new request is made, an analysis performed by considering the needs of users. Information needed to perform the analysis is stored in the database which is updated when a new program launch occurs.
-
Citations
33 Claims
-
1. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications, and wherein at least first and second licenses are suite licenses which allow a single user to use any or all of a plurality of applications within a suite and prohibit another user from using another one of the applications within the suite at the same time, wherein all applications in said first suite also appear in said second suite and wherein there is at least one application in said second suite which is not in said first suite; in response to a request for a requested application by a requesting user, determining whether there is any distribution of said plurality of licenses among a plurality of users which includes at least said requesting user, wherein the assignment of said licenses is based upon the applications contained in said first and second suites, which would result in a license for each current user and a license for said requesting user; and outputting a signal preventing the launch of said requested application only if there is no distribution of said plurality of licenses among said plurality of users that would result in a license for each current user to use each application currently being used by said current user and would also include a license for said requesting user to use said requested application, and otherwise outputting a signal permitting the launch of said requested application.
-
-
2. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing a plurality of user identifiers, each identifying a user; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications, and wherein at least one license is a suite license allowing a single user to use any or all of a suite of said plurality of applications and prohibiting other users from using another application within the suite at the same time; in response to a request for a requested application by a requesting user, (a) determining a trial set of applications which includes all currently running applications plus said requested application and identifying a plurality of users, including at least said requesting user and those users who are currently using said requested application, and defining a license pool initially containing said plurality of licenses for said plurality of applications; (b) sorting the user identifiers for said plurality of users in order of the number of applications each user would be running if said requesting user is permitted to launch said requested application, to define a first order of users, (c) for each of said plurality of users, in order of said first order of users; (i) assigning, from said license pool, non-suite licenses to said user if all applications used or requested by said user in said trial set have corresponding non-suite licenses in said license pool, wherein the licenses thus assigned from the license pool are deleted from the license pool; (ii) if said non-suite licenses have not been assigned to said user, assigning, from said license pool, a combination of licenses to said user, including at least one suite license, wherein, if more than one combination of licenses was available for said user, there remains, after assigning a combination to said user, at least one combination not assigned to said user which, had it been assigned to said user, would have included a number of unused licenses which is greater than or equal to the number of unused licenses in the combination which was assigned to said user; and (d) if any of said plurality of users is running or has requested an application which is not assigned a license under (i) or (ii), outputting an indication that a license is not currently available for the requesting user'"'"'s requested application. - View Dependent Claims (3)
-
-
4. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing a plurality of user identifiers, each identifying a user; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications, and wherein at least one license is a suite license allowing a single user to use any or all of a suite of said plurality of applications and prohibiting another user from using at the same time another of the applications within the suite; in response to a request for a requested application by a requesting user, (a) determining a trial set of applications which includes all currently running applications plus said requested application and identifying a plurality of users, including at least said requesting user and those users who are currently using said requested application, and defining a license pool initially containing said plurality of licenses for said plurality of applications; (b) sorting the user identifiers for said plurality of users in order of the number of applications each user would be running if said requesting user is permitted to launch said requested application, to define a first order of users (c) for each of said plurality of users, in order of said first order of users; (i) assigning, from said license pool, non-suite licenses to said user if all applications used or requested by said user in said trial set have corresponding non-suite licenses in said license pool, wherein the licenses thus assigned from the license pool are deleted from the license pool; (ii) if said non-suite licenses have not been assigned to said user, assigning, from said license pool, a combination of licenses to said user, including at least one suite license, wherein, if more than one combination of licenses was available for said user, there remains after assigning a combination to said user, at least one combination not assigned to said user which, had it been assigned to said user, would have included a number of unused licenses which is greater than or equal to the number of unused licenses in the combination which was assigned to said user; and (d) if any of said plurality of users is running or has requested an application which is not assigned a license under (i) or (ii), outputting an indication that a license is not currently available for the requesting user'"'"'s requested application. - View Dependent Claims (5)
-
-
6. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing a plurality of user identifiers, each identifying a user; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications, and wherein at least first and second licenses are suite licenses allowing a single user to use any or all of first and second suites of said plurality of applications, respectively, wherein there is at least one application in said first suite which is not said second suite and wherein there is at least one application in said second suite which is not in said first suite, and prohibiting other users from using another application within the suite at the same time, wherein those applications being run by or requested by a user define the user'"'"'s needs and wherein a user'"'"'s needs are filled by the assignment of licenses which cover at least all applications being run by or requested by the user; in response to a request for a requested application by a requesting user, determining whether there is any distribution of said plurality of licenses among a plurality of users which includes at least said requesting user, which would result in a license for each current user and a license for said requesting user; and outputting a signal preventing the launch of said requested application only if there is no distribution of said plurality of licenses among said plurality of users that would result in a license for each current user to use each application currently being used by said current user and would also include a license for said requesting user to use said requested application, and otherwise outputting a signal permitting the launch of said requested application.
-
-
7. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing a plurality of user identifiers, each identifying a user; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications, and wherein at least one license is a suite license allowing a single user to use any or all of a suite of said plurality of applications, and prohibiting other users from using another application within the suite at the same time, wherein those applications being run by or requested by a user define the user'"'"'s needs and wherein a user'"'"'s needs are filled by the assignment of licenses which cover at least all applications being run by or requested by the user; in response to a request for a requested application by a requesting user, (a) assigning licenses to a plurality of users, including assigning sets of licenses to those users who do not have needs which can be filled by more than one set of licenses; (b) if any users have licensing needs that are not filled following step (a), allocating licenses to users by selecting, for a given user, sets of licenses from among those sets which can fill the needs of the given user; and (c) if any of said plurality of users is running or has requested an application which is not assigned a license by steps (a) or (b), outputting an indication that a license is not currently available for the requesting user'"'"'s requested application. - View Dependent Claims (8, 9)
-
-
10. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing a plurality of user identifiers, each identifying a user; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications; in response to a request for a requested application by a requesting user, (a) sorting said user identifiers for said plurality of users in order of the number of applications each user would be running if said requesting user is permitted to launch said requested application, to define a first order of users; (b) for each of said plurality of users, in order of said first order of users, determining whether that user'"'"'s computing needs can be fulfilled within said plurality of licenses; (c) if any of said plurality of users has needs that can not be fulfilled within said plurality of licenses, placing the requesting user list on a waiting list; and checking whether the requested application can be launched wherein said checking avoids allowing said requesting user to launch said requested application prior to permitting launch of a prior requested application requested by a first user who was placed on said waiting list before said requesting user and whose computing needs could be fulfilled within said plurality of licenses if said requesting user is not allowed to launch said requested application. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing a plurality of user identifiers, each identifying a user; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications, and wherein at least one license is a suite license allowing a single user to use any or all of a suite of said plurality of applications, and prohibiting other users from using another application within the suite at the same time; in response to a request for a requested application by a requesting user, (a) determining a trial set of applications which includes all currently running applications plus said requested application and identifying a plurality of users, being those users who are currently using or have requested an application, and defining a license pool initially containing said plurality of licenses for said plurality of applications; (b) sorting the user identifiers for said plurality of users in order of the number of applications each user would be running if said requesting user is permitted to launch said requested application, to define a first order of users (c) for each of said plurality of users, in order of said first order of users; (i) assigning, from said license pool, non-suite licenses to said user if all applications used or requested by said user in said trial set have corresponding non-suite licenses in said license pool, wherein the licenses thus assigned from the license pool are deleted from the license pool; (ii) if said non-suite licenses have not been assigned to said user, assigning, from said license pool, at least one suite license, if said at least one suite license corresponds to the applications used or requested by said user; (d) if any of said plurality of users is running or has requested an application which is not assigned a license under (i) or (ii),placing the requesting user on a waiting list; and checking whether the requested application can be launched wherein said checking avoids allowing said requesting user to launch said requested application prior to permitting launch of a prior requested application requested by a first user who was placed on said waiting list before said requesting user and whose computing needs could be fulfilled within said plurality of licenses if said requesting user is not allowed to launch said requested application.
-
-
16. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing a plurality of user identifiers, each identifying a user; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications; determining whether an application requested by a requesting user can be launched without violating the licenses for said applications; placing the requesting user on a waiting list is said application requested by said requesting user can not be launched without violating the licenses for said applications; and checking whether the requested application can be launched wherein said checking avoids allowing said requesting user to launch said requested application prior to permitting launch of a prior requested application requested by a first user who was placed on said waiting list before said requesting user and whose computing needs could be fulfilled within said plurality of licenses if said requesting user is not allowed to launch said requested application. - View Dependent Claims (17, 18, 19)
-
-
20. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications; determining whether an application requested by a requesting user can be launched without violating the licenses for said applications; and storing an indication of the additional license purchases that would fulfill the needs of said requesting user, if said application requested by said requesting user can not be launched without violating the licenses for said applications. - View Dependent Claims (21)
-
-
22. A method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications; analyzing license availability, using a first license analysis system, in response to each of a plurality of requests for launching one of said plurality of applications, to provide a first license analysis result; storing said first license analysis result; launching a plurality of said applications using a second license analysis system to provide a second license analysis result; and comparing said first license analysis result and said second license analysis result. - View Dependent Claims (23, 24)
-
-
25. a method for managing network license compliance in a multi-user computer system, including determining whether an application is being effectively utilized by a user, comprising:
-
storing a plurality of applications; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications; in response to a request for a requested application by a requesting user, outputting a signal permitting the launch of said requested application only if, following said launch of said requested application, all running applications, among said plurality of applications, are covered by said plurality of licenses; monitoring input events in connection with said running applications, among said plurality of applications; and outputting a first signal if more than a predetermined time has elapsed during which there have been no input events in connection with at least one of said running applications. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. a method for managing network license compliance in a multi-user computer system comprising:
-
storing a plurality of applications; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications; determining whether an application requested by a requesting user can be launched without violating the licenses for said applications; placing the requesting user on a waiting list if said application requested by said requesting user can not be launched without violating the licenses for said applications; and checking whether the requested application can be launched wherein the average time a user waits for a license is less than the average time using a Simple Application Waiting Queue (SAWQ) system.
-
-
32. a computer readable medium containing a computer program which when run on a computer system causes the system to perform a network license compliance method comprising the steps of:
-
storing a plurality of applications; storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications, and wherein at least first and second licenses are suite licenses allowing a single user to use any or all of first and second suites of said plurality of applications, respectively, and prohibiting other users from using another application within a suite at the same time, wherein all applications in said first suite are in said second suite and wherein there is at least one application in said second suite which is not in said first suite; in response to a request for a requested application by a requesting user, determining whether there is any distribution of said plurality of licenses among a plurality of users which includes at least said requesting user, which would result in a license for each current user and a license for said requesting user; and outputting a signal preventing the launch of said requested application only if there is no distribution of said plurality of licenses among said plurality of users that would result in a license for each current user to use each application currently being used by said current user and would also include a license for said requesting user to use said requested application, and otherwise outputting a signal permitting the launch of said requested application.
-
-
33. A device for managing network license compliance in a multi-user computer system comprising:
-
means for storing a plurality of applications; means for storing information regarding a plurality of licenses for said plurality of applications, said information including the number of users licensed to use each of said plurality of applications; means for determining, in response to a request for a requested application by a requesting user, whether there is any distribution of said plurality of licenses among a plurality of users which includes at least said requesting user, which would result in a license for each current user and a license for said requesting user; and means for outputting a signal preventing the launch of said requested application only if there is no distribution of said plurality of licenses among said plurality of users that would result in a license for each current user to use each application currently being used by said current user and would also include a license for said requesting user to use said requested application, and otherwise outputting a signal permitting the launch of said requested application.
-
Specification