| CPC G06F 9/5016 (2013.01) | 12 Claims |

|
1. A computer-implemented method for governing memory allocation, the method comprising:
receiving a job request from a user, the job request specifying a data processing job to be completed;
retrieving memory settings for a plurality of user groups associated with the user;
determining a plurality of memory usage limits assigned to a plurality of direct user groups among the plurality of user groups, each direct user group being directly associated with the user;
determining a plurality of memory usage limits assigned to a plurality of indirect user groups among the plurality of user groups, each indirect user group being associated with one or more direct user groups and not directly associated with the user;
determining a memory usage limit for the data processing job as:
a largest memory usage limit assigned to a direct user group among the plurality of user groups upon determining that at least one direct user group among the plurality of direct user groups is assigned a memory usage limit, or
the largest memory usage limit assigned to an indirect user group among the plurality of indirect user groups upon determining that no direct user group among the plurality of direct user groups is assigned a memory usage limit, or
a default memory usage limit upon determining that no user group among the plurality of user groups is assigned a memory usage limit;
automatically monitoring a plurality of executions of the data processing job;
calculating a quantity of memory needed for each of the plurality of executions of the data processing job by automatically analyzing computer readable code generated for the job;
determining an aggregate quantity of memory needed for the data processing job based on the monitoring;
determining whether the quantity of memory needed for the data processing job exceeds the memory usage limit; and
upon determining that the quantity of memory needed for the data processing job exceeds the memory usage limit, providing instructions to cancel the data processing job; or
upon determining that the quantity of memory needed for the data processing job does not exceed the memory usage limit, allowing execution of the data processing job.
|