IP Library Granted Patent US 8,554,799
Granted Patent B2
US 8,554,799 · App. 11/289,840 · Granted Oct 8, 2013

Blocks of time with metadata

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,554,799
App. No.
11/289,840
Granted
Oct 8, 2013
Kind
B2
Abstract

A method of adding and analyzing metadata to discrete variables, such as time intervals and a system to implement to method is disclosed. The metadata can be aggregated and analyzed using analysis operations such as intersection, union, subtraction and inversion.

Claims (56)

1. A computer system, comprising:

a memory;

a display;

an input device that is adapted to receive input from a user of the computer system;

a processor that is operatively coupled to the memory, the display and the input device;

wherein computer executable instructions are stored in the memory that, when executed by the processor, causes the following steps to be performed:

assigning a first time interval to a first block of time, the first time interval comprising a first start time and a first end time;

assigning a first metadata to the first block of time, the first metadata having a first numerical value and a first type;

assigning a second time interval to a second block of time, the second time interval comprising a second start time and a second end time;

assigning a second metadata to the second block of time, the second metadata having a second numerical value and a second type;

determining that the first type of the first metadata matches the second type of the second metadata;

in response to determining the first type of the first metadata matches the second type of the second metadata, aggregating the first block of time with the second block of time by:

determining an aggregate time interval using at least one of four different operations between the first time interval and the second time interval, the operations including a union operation, an intersection operation, a subtraction operation, and an inversion operation;

determining an aggregate metadata by combining the first numerical value of the first metadata with the second numerical value of the second metadata;

generating an aggregate time block having the aggregate time interval and the aggregate metadata.

2. The computer system of claim 1 , wherein the first metadata type and second metadata type comprises an effort indication.

3. The computer system of claim 1 , wherein the first metadata type and second metadata type comprise an indication of capacity.

4. The computer system of claim 1 , wherein the first metadata and second metadata are user definable.

5. The computer system of claim 1 , wherein the first metadata and second metadata comprise static scheduling rules.

6. The computer system of claim 5 , wherein the static scheduling rules comprise working hours for a resource.

7. The computer system of claim 5 , wherein the static scheduling rules comprise appointment hours for a resource.

8. The computer system of claim 5 , wherein the static scheduling rules comprise break times for a resource.

9. A computer implemented method comprising:

assigning a first time interval to a first block of time, the first time interval comprising a first start time and a first end time;

assigning a first metadata to the first block of time, the first metadata having a first numerical value and a first type;

assigning a second time interval to a second block of time, the second time interval comprising a second start time and a second end time;

assigning a second metadata to the second block of time, the second metadata having a second numerical value and a second type;

determining that the first type of the first metadata matches the second type of the second metadata;

in response to determining the first type of the first metadata matches the second type of the second metadata, aggregating the first block of time with the second block of time by:

determining an aggregate time interval using one or more aggregate operations;

determining an aggregate metadata by combining the first numerical value of the first metadata with the second numerical value of the second metadata;

generating an aggregate time block, having the aggregate time interval and the aggregate metadata.

10. The computer implemented method of claim 9 , wherein the first metadata type and second metadata type comprise an effort indication.

11. The computer implemented method of claim 9 , wherein the first metadata type and second metadata type comprise an indication of capacity.

12. The computer implemented method of claim 9 , wherein the first metadata and second metadata are user definable.

13. The computer implemented method of claim 12 , wherein the first metadata and second metadata comprise static scheduling rules.

14. The computer implemented method of claim 13 , wherein the static scheduling rules comprise working hours for a resource.

15. The computer implemented method of claim 13 , wherein the static scheduling rules comprise appointment hours for a resource.

16. The computer implemented method of claim 13 , wherein the static scheduling rules comprise break times for a resource.

17. A computer-readable storage medium having computer-executable instructions that when executed by a processor perform steps comprising:

assigning a first time interval to a first block of time, the first time interval comprising a first start time and a first end time;

assigning a first metadata to the first block of time, the first metadata having a first numerical value and a first type;

assigning a second time interval to a second block of time, the second time interval comprising a second start time and a second end time;

assigning a second metadata to the second block of time, the second metadata having a second numerical value and a second type;

determining that the first type of the first metadata matches the second type of the second metadata;

in response to determining the first type of the first metadata matches the second type of the second metadata, aggregating the first block of time with the second block of time by:

determining an aggregate time interval using one or more operations;

determining an aggregate metadata by combining the first numerical value of the first metadata with the second numerical value of the second metadata;

generating an aggregate time block, having the aggregate time interval and the aggregate metadata.

18. The computer-readable storage medium of claim 17 , wherein the first metadata type and second metadata type comprise an effort indication.

19. The computer-readable storage medium of claim 17 , wherein the first metadata type and second metadata type comprise an indication of capacity.

20. The computer-readable storage medium of claim 17 , wherein the first metadata and second metadata are user definable.

21. The computer-readable storage medium of claim 20 , wherein metadata comprises static scheduling rules.

22. The computer-readable storage medium of claim 21 , wherein the static scheduling rules comprise working hours for a resource.

23. The computer-readable storage medium of claim 21 , wherein the static scheduling rules comprise appointment hours for a resource.

24. The computer-readable storage medium of claim 21 , wherein the static scheduling rules comprise break times for a resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →