Systems and methods for providing dynamic and real time simulations of matching resources to requests

US10146665B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10146665-B2
Application numberUS-201615079515-A
CountryUS
Kind codeB2
Filing dateMar 24, 2016
Priority dateMar 24, 2016
Publication dateDec 4, 2018
Grant dateDec 4, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Computerized embodiments are disclosed for simulating requests and resources to be assigned to the requests by assignment logic. In one embodiment, a simulation session is initiated by generating test data that includes resource data, request data, and simulation state parameters. The test data is communicated to the assignment logic programmed to generate an assignment solution between resources and requests as represented by the resource data and the request data, respectively. The assignment solution is received from the assignment logic and the test data is updated. The test data can be updated by one or more of updating the simulation state parameters based on the assignment solution, adding at least one new request, or adding at least one new resource. The test data, as updated, is again communicated to the assignment logic and the process repeats until the simulation session is stopped.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method performed by a computing device that includes at least one processor for executing instructions from a memory, the method comprising: (i) initiating a simulation session at least in part by generating test data, via the at least one processor, wherein the test data includes: resource data that simulates characteristics of a plurality of resources, request data that simulates characteristics of a plurality of requests, and simulation state parameters that characterize a simulation state of the simulation session; (ii) communicating the test data, via the at least one processor, to an assignment logic programmed to generate assignment solution data by attempting to assign the plurality of resources to the plurality of requests as simulated and constrained by the test data, wherein the assignment logic executes a constraint solver upon a constraint model to implement a matching heuristic that selects resource values within the resource data to assign to request variables within the request data; (iii) receiving the assignment solution data from the assignment logic, via the at least one processor; (iv) updating the test data, via the at least one processor, by: updating the simulation state parameters based at least in part on the assignment solution data; and adding at least one of a new request to the plurality of requests at least in part by generating new request data that simulates characteristics of the new request or a new resource to the plurality of resources at least in part by generating new resource data that simulates characteristics of the new resource; and (v) iteratively repeating steps (ii) to (iv) until the simulation session is stopped. 2. The method of claim 1 , further comprising, for each iteration of the simulation session, tracking via the at least one processor at least one of: assignments of resources to requests; requests that remain unassigned; new requests; and new resources. 3. The method of claim 1 , wherein the resource data is generated, via the at least one processor, at least in part by applying a random number generator to at least one probability distribution representing at least one characteristic of at least one resource of the plurality of resources. 4. The method of claim 1 , wherein the request data is generated via the at least one processor, at least in part, by applying a random number generator to at least one probability distribution representing at least one characteristic of at least one request of the plurality of requests. 5. The method of claim 1 , wherein the resource data is generated via the at least one processor, at least in part, non-randomly based on specified parameters. 6. The method of claim 1 , wherein the request data is generated via the at least one processor, at least in part, non-randomly based on specified parameters. 7. The method of claim 1 , wherein the adding at least one new request is initiated, via the at least one processor, at least in part by applying a random number generator to a Poisson distribution. 8. The method of claim 1 , wherein the adding at least one new resource is initiated, via the at least one processor, at least in part by applying a random number generator to a Poisson distribution. 9. The method of claim 1 , wherein the characteristics of the plurality of resources include skills and associated skill levels, and the characteristics of the plurality of requests include demanded skills and demanded skill levels. 10. The method of claim 1 , wherein updating the simulation state parameters, via the at least one processor, based at least in part on the assignment solution data includes at least one of: incrementing a value of at least one simulation state parameter based on a number of a current iteration of the simulation session; decrementing a value of at least one simulation state parameter based on the number of the current iteration of the simulation session; changing a value of a remaining capacity parameter for at least one resource based on current assignments of the at least one resource to requests; and increasing a priority level of a priority level parameter for at least one request based on the number of the current iteration of the simulation session and the at least one request not being assigned. 11. A computing system, comprising: an initialization module stored in a non-transitory computer readable medium including instructions that when executed cause a processor to initialize simulation state parameters, of a simulation session, that include a number of resources and a number of requests to be assigned to the resources; a resource generation module stored in the non-transitory computer readable medium including instructions that when executed cause the processor to generate resource data that simulates characteristics of a plurality of resources corresponding to the number of resources; a request generation module stored in the non-transitory computer readable medium including instructions that when executed cause the processor to generate request data that simulates characteristics of a plurality of requests, corresponding to the number of requests, to be assigned to the plurality of resources by an assignment logic, wherein the assignment logic executes a constraint solver upon a constraint model to implement a matching heuristic that selects resource values within the resource data to assign to request variables within the request data; and an update/tracking module stored in the non-transitory computer readable medium including instructions that when executed cause the processor to: receive assignment solution data from the assignment logic; update the simulation state parameters based at least in part on the assignment solution data, wherein the assignment solution data represents at least resources assigned to requests; and add at least one of a new request to the plurality of requests at least in part by generating new request data that simulates characteristics of the new request or a new resource to the plurality of resources at least in part by generating new resource data that simulates characteristics of the new resource. 12. The computing system of claim 11 , wherein the update/tracking module stored in the non-transitory computer readable medium further includes instructions that when executed cause the processor to track at least one of: assignments of resources to requests; requests that remain unassigned; new requests; and new resources. 13. The computing system of claim 11 , wherein the resource generation module stored in the non-transitory computer readable medium further includes instructions that when executed cause the processor to communicate the resource data to the assignment logic. 14. The computing system of claim 11 , wherein the request generation module stored in the non-transitory computer readable medium further includes instructions that when executed cause the processor to communicate the request data to the assignment logic. 15. The computing system of claim 11 , wherein the update/tracking module stored in the non-transitory computer readable medium further includes instructions that when executed cause the processor to communicate at least a portion of the simulation state parameters, as updated, to the resource generation module for a next iteration of the simulation session. 16. The computing system of claim 11 , wherein the update/tracking module stored in the non-transitory computer readable medium further includes instructions that when executed cause the pro

Assignees

Inventors

Classifications

  • Random number generators, i.e. based on natural stochastic processes · CPC title

  • Allocation of resources, e.g. of the central processing unit [CPU] · CPC title

  • Operations research, analysis or management · CPC title

  • Physics · mapped topic

  • for test design, e.g. generating new test cases · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10146665B2 cover?
Computerized embodiments are disclosed for simulating requests and resources to be assigned to the requests by assignment logic. In one embodiment, a simulation session is initiated by generating test data that includes resource data, request data, and simulation state parameters. The test data is communicated to the assignment logic programmed to generate an assignment solution between resourc…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/3664. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 04 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).