# US 10,121,111 B2 · Coordinating contending resources

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,121,111 B2
- Document ID: US10121111B2
- Status: Granted
- Kind: B2
- Application number: 13/208,316
- Filed: 2011-08-11
- Published: 2013-02-14
- Granted: 2018-11-06
- Earliest claimed: 2011-08-11
- Assignees: Ent. Services Development Corporation LP
- Applicants: Philip Chilton Jackson, Jr.; Frank McPherson; Katherine Tetreault
- Inventors: Philip Chilton Jackson, Jr.; Frank McPherson; Katherine Tetreault
- Web page: https://patentgrep.com/patent/US10121111B2

## CPC

- G06Q 10/0631: Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Systems and methods of coordinating contending resources are disclosed. An example of a method includes analyzing information for activities, resources, and usage of the resources for the activities. The method also includes outputting a description of resource utilization by the activities in a time window, the description of resource utilization coordinating contending resources.

## Claims

### Claim 1

A method of coordinating contending resources, the method carried out by program code stored on non-transient computer-readable medium and executed by a processor, the method comprising:
analyzing by the executing program code, one or more input data files comprising information pertaining to activities, resources, and usage of the resources for the activities;
analyzing, by the executing program code, user-described parameters, including a start date of a time window for the activities and a resource usage threshold;
storing the user-described parameters in an analysis object, wherein the analysis object provides a starting location for a data structure;
storing, by the executing program code, a plurality of resource objects into a first hash table in the analysis object, each resource object being associated with a particular resource described in the one or more input data files;
storing, by the executing program code, a plurality of activity objects into a second hash table in the analysis object, each activity object being associated with a particular activity described in the one or more input data files;
storing, by the executing program code, a plurality of workname objects into a third hash table in the analysis object, each workname object being associated with a particular workname described in the one or more input data files;
outputting, by the executing program code, the data structure; and
displaying, on a user interface of a user device, the data structure including allocation of the resources to the activities over a timespan of the time window, dates when contention of the resources occurs, and projects that are conflicted by the resource contention.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
using default values for a portion of the information for unavailable user-described parameters.

### Claim 3 (depends on 1)

The method of claim 1, further comprising organizing the information as resource data and activity data.

### Claim 4 (depends on 1)

The method of claim 1, further comprising specifying a time window for resource availability.

### Claim 5 (depends on 4)

The method of claim 4, further comprising coordinating the usage of the resources with the time window.

### Claim 6 (depends on 1)

The method of claim 1, further comprising describing supplies of the resources by activities and worknames.

### Claim 7 (depends on 1)

The method of claim 1, further comprising iterating analyzing the usage of the resources over all of the resources available in the time window.

### Claim 8 (depends on 1)

The method of claim 1, further comprising reading input data files describing the resources, for which resource contention is analyzed, and for each described resource, creating a resource object, placing the resource object into a hash table in the analysis object, and assigning a unique identifier for each resource so that any resource can be found regardless of a number of the resources.

### Claim 9

A system for coordinating contending resources, comprising:
a non-transitory computer readable storage to store information for activities, resources, and usage of the resources for the activities;
a processor to execute instructions stored in the non-transitory computer readable storage to:
analyze the information for activities, resources, and usage of the resources for the activities;
analyze user-described parameters, including a start date of a time window for the activities and a resource usage threshold;
store the user-described parameters in an analysis object, wherein the analysis object provides a starting location for a data structure;
store, by the executing program code, a plurality of resource objects into a first hash table in the analysis object, each resource object being associated with a particular resource described in the one or more input data files;
store, by the executing program code, a plurality of activity objects into a second hash table in the analysis object, each activity being associated with a particular activity described in the one or more input data file;
store, by the executing program code, a plurality of workname objects into a third hash table in the analysis object, each workname object being associated with a particular workname described in the one or more input data file; and
output the data structure; and
a user interface to display the data structure including allocation of the resources to the activities over a timespan of the time window, dates when contention of the resources occurs, and projects that are conflicted by the resource contention.

### Claim 10 (depends on 9)

The system of claim 9, wherein the analysis object is to store values for the information and provide a starting location for analyzing the information for the resource contention.

### Claim 11 (depends on 9)

The system of claim 9, wherein the displayed data structure further includes a workname object and a taskname object, wherein a combination of the workname object and the taskname object identify the activities.

### Claim 12 (depends on 9)

The system of claim 9, wherein the displayed data structure further includes a workname object and an activity object describing resource supply.

### Claim 13 (depends on 9)

The system of claim 9, wherein the processor is to iterate through each workname object in the data structure, and retrieve usage data for each of the workname objects in a predefined time.

### Claim 14 (depends on 9)

The system of claim 9, wherein the processor is to determine maximum usage level over all resources for a predefined time.

### Claim 15 (depends on 9)

The system of claim 9, wherein the displayed data structure further includes an output format showing a user if a workname depends on any over-utilized resources.

### Claim 16 (depends on 9)

The system of claim 9, wherein the processor is to increment a total usage as activity objects are created for a corresponding resource.

### Claim 17 (depends on 9)

The system of claim 9 further comprising an object storing all supplies of a corresponding resource for a predefined time.

### Claim 18

A system to coordinate contending resources, the system include a non-transient computer readable storage medium to store program code, and a processor for executing the program code to:
analyze input information for activities, resources, and usage of the resources for the activities;
analyze user-described parameters, including a start date of a time window for the activities and a resource usage threshold;
store the user-described parameters in an analysis object, wherein the analysis object provides a starting location for a data structure;
store, by the executing program code, a plurality of resource objects into a first hash table in the analysis object, each resource object being associated with a particular resource described in the one or more input data files;
store, by the executing program code, a plurality of activity objects into a second hash table in the analysis object, each activity being associated with a particular activity described in the one or more input data file;
store, by the executing program code, a plurality of workname objects into a third hash table in the analysis object, each workname object being associated with a particular workname described in the one or more input data file;
generate the data structure; and
display the data structure including allocation of the resources to the activities over a timespan of the time window, dates when contention of the resources occurs, and projects that are conflicted by the resource contention.

### Claim 19 (depends on 18)

The system of claim 18, wherein the hash tables locate resource supply by a specific activity at a specific time to be found in approximately constant time, independent of total number of activities or worknames.
