US 12,293,318 B2
System and method for resource allocation based on resource attributes and electronic feedback
Maharaj Mukherjee, Poughkeepsie, NY (US); and Prashant Thakur, Gujarat (IN)
Assigned to BANK OF AMERICA CORPORATION, Charlotte, NC (US)
Filed by BANK OF AMERICA CORPORATION, Charlotte, NC (US)
Filed on Feb. 9, 2022, as Appl. No. 17/667,670.
Prior Publication US 2023/0252380 A1, Aug. 10, 2023
Int. Cl. G06Q 10/063 (2023.01); G06Q 10/0631 (2023.01); G06Q 10/0639 (2023.01)
CPC G06Q 10/06315 (2013.01) [G06Q 10/06393 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A system for resource allocation, the system comprising at least one device configured to obtain attribute data for attributes of office workspaces;
at least one non-transitory storage device comprising volatile memory and non-volatile memory; and
at least one processing device coupled to the at least one non-transitory storage device, wherein the at least one processing device is configured to:
maintain a database, wherein the database comprises (i) a list of resources comprising a list of the office workspaces, (ii) a list of users comprising a list of employees, (iii) a list user feedback corresponding to a user and a resource, (iv) a list of attributes and (v) a corresponding list of attribute feedback corresponding to a user in the list of users and an attribute in the list of attributes, wherein each user feedback of the list of user feedback and each attribute feedback of the list of attribute feedback is received, via a user interface of a user system, from a user of the list of users;
determine at least one resource cluster comprising a subset of the list of users that correspond to a resource of the list of resources, wherein determining a first resource cluster of the at least one resource cluster further comprises:
mapping, using a machine learning algorithm, a first subset of the list of users, such that the user feedback of each of the users in the first subset matches a first resource of the list of resources;
constructing the first resource cluster comprising the first subset of the list of users; and
storing the first resource cluster in the database;
determine at least one attribute cluster, wherein determining a first attribute cluster of the at least one attribute cluster comprises:
mapping, using the machine learning algorithm, a second subset of the list of users from the database, wherein the attribute feedback and attribute data that corresponds to a first attribute from the list of attributes and corresponds to each user in the second subset of the list of users;
constructing the first attribute cluster comprising the second subset of the list of users; and
storing the first attribute cluster in the database,
determine, for each user of the list of users, a cluster family, wherein the cluster family comprises the at least one resource cluster that is associated with the user and the at least one attribute cluster that is associated with the user, wherein determining the cluster family for a first user of the list of users comprises:
mapping one or more first resource clusters of the at least one resource cluster to the first user, wherein each of the one or more first resource clusters comprises the first user;
constructing a first subset of the list of resources, wherein each resource in the first subset of the list of resources corresponds to the one or more resource clusters;
constructing the cluster family for the first user comprising the first subset of the list of resources; and
storing the cluster family associated with the first user in the database; and
distribute resources to each user of the list of users based on the cluster family, wherein distributing resources comprises assigning, to each user in the list of users, a resource from the cluster family associated with the user,
wherein determining (i) the at least one resource cluster (ii) the at least one attribute cluster and (iii) the cluster family for each user in the list of users provides for dynamically utilizing the volatile memory over the non-volatile memory by storing information using in the mapping and the constructing in the volatile memory, thereby reducing a load on the system and increasing a processing speed of the at least one processing device;
dynamically allocating and de-allocating the volatile memory over the non-volatile memory by storing information using in the mapping and the constructing in the volatile memory, thereby reducing a load on the system and increasing a processing speed of the at least one processing device.