IP Library Granted Patent US 8,694,295
Granted Patent B2
US 8,694,295 · App. 12/804,750 · Granted Apr 8, 2014

System and method for time virtualization in computer systems

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,694,295
App. No.
12/804,750
Granted
Apr 8, 2014
Kind
B2
Abstract

A system and method for time virtualization, comprising a time virtualizer running on a first digital computer and adapted to intercept time-dependent requests from a plurality of applications executing on the first or another digital computer, wherein on intercepting a time-dependent request from an application, the time virtualizer returns an expected result to the requesting application comprising a virtual time rather than a clock time, the virtualized time being established by the time virtualizer and differing from the clock time, is disclosed.

Claims (29)

1. A system for virtualizing time in contact center simulation, comprising:

a first digital computer comprising a time virtualizer software module running on said first digital computer and configured to intercept time-dependent requests to a system library or operating system from a plurality of applications executing on said first digital computer or a second digital computer, the plurality of applications being unmodified to reflect any use of virtual time;

a contact center routing server software stored and operating on said first or second digital computer; and

a statistics server software module stored and operated on said first digital computer, said second digital computer or a third digital computer;

wherein the time virtualizer maintains an event queue of upcoming time-based contact center events, wherein each upcoming contact center event in the event queue comprises at least an event time at which the upcoming contact center event is to take place, and the event queue is arranged with upcoming contact center events sorted in ascending order based on each upcoming contact center event's respective event time;

wherein the time virtualizer inserts new time-based contact center events into the event queue upon receipt of time-dependent requests from the plurality of applications while maintaining the sort order of the event queue;

wherein the time virtualizer and maintains a virtual system time that jumps directly from an event time associated with a first time-based contact center event to a time associated with a second time-based contact center event to advance virtual system time, the first time-based contact center event corresponding to an a contact center event whose handling is completed and the second time-based contact center event corresponding to the event time of the topmost upcoming contact center event in the event queue;

wherein on intercepting a time-dependent request from an application, the time virtualizer returns an expected result to the requesting application comprising a virtual time rather than a clock time, the virtualized time being established by the time virtualizer and differing from the clock time; and

further wherein the contact center routing server software and the statistics server software perform simulated contact center operations substantially faster than real-time using virtual times provided by the time virtualizer.

2. A system for virtualizing time in a contact center simulation environment, comprising:

a digital computer;

a call routing application running on said digital computer;

a statistics application running on said digital computer;

a contact center activity simulator application running on said digital computer;

a time virtualizer running on said digital computer wherein the time virtualizer maintains an event queue of upcoming time-based events;

wherein each upcoming event in the event queue comprises at least an event time at which the upcoming event is to take place, and the event queue is arranged with upcoming events sorted in ascending order based on each upcoming event's respective event time;

wherein on intercepting a time-dependent request to a system library or operating system from a plurality of applications executing on said digital computer, the time virtualizer returns an expected result to the requesting application comprising a virtual time rather than a clock time, the virtualized time being established by the time virtualizer and differing from the clock time;

wherein the time virtualizer inserts new time-based events into the event queue upon receipt of time-dependent requests from the plurality of applications while maintaining the sort order of the event queue;

wherein the time virtualizer maintains a virtual system time that jumps directly from a time associated with a first time-based event to a time associated with a second time-based event to advance virtual system time, the first time-based event corresponding to an event whose handling is completed and the second time-based event corresponding to the event time of the topmost upcoming event in the event queue; and

further wherein the call routing application and the statistics application perform simulated contact center operations substantially faster than real-time using virtual times provided by the time virtualizer.

3. The system of claim 2 , wherein the time virtualizer uses a thread table and advances virtual time whenever all threads in the thread table are idle.

4. A computer-implemented method of virtualizing time in a contact center simulation, comprising the steps of:

sending a time-dependent request from an application to a system library or operating system, the application being unmodified to reflect any use of virtual time;

intercepting the time-dependent request and redirecting it to a time virtualizer, wherein the time virtualizer maintains an event queue of upcoming time-based events, wherein each upcoming event in the event queue comprises at least an event time at which the upcoming event is to take place, and the event queue is arranged with upcoming events sorted in ascending order based on each upcoming event's respective event time;

wherein the time virtualizer inserts new time-based events into the event queue upon receipt of time-dependent requests from the application while maintaining the sort order of the event queue;

wherein the time virtualizer and maintains a virtual system time that jumps directly from a time associated with a first time-based event to a time associated with a second time-based event to advance virtual system time, the first time-based event corresponding to an event whose handling is completed and the second time-based event corresponding to the event time of the topmost upcoming event in the event queue;

returning, from the time virtualizer, an expected response to the request to the requesting application comprising a virtual time rather than a clock time;

wherein the virtual time is established by the time virtualizer and differs from the clock time; and

further wherein a contact center routing server software and a statistics server software perform simulated contact center operations substantially faster than real-time using virtual times provided by the time virtualizer.

Assignments (9)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 24, 2025
From: TTEC HOLDINGS, INC.
To: TTEC HOLDINGS, INC.
Reel/Frame 070609/0504 →
SECURITY INTEREST Recorded Oct 17, 2024
From: TTEC HOLDINGS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 069206/0225 →
CHANGE OF NAME Recorded Aug 19, 2024
From: TELETECH HOLDINGS, INC.
To: TTEC HOLDINGS, INC.
Reel/Frame 068701/0308 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2022
From: AVTEX SOLUTIONS, LLC
To: TELETECH HOLDINGS, INC.
Reel/Frame 059077/0401 →
PATENT RELEASE AND REASSIGNMENT Recorded Apr 24, 2021
From: VARAGON CAPITAL PARTNERS AGENT, LLC, AS ADMINISTRATIVE AGENT
To: AVTEX SOLUTIONS, LLC
Reel/Frame 056034/0545 →
SECURITY INTEREST Recorded Dec 8, 2020
From: AVTEX SOLUTIONS, LLC
To: VARAGON CAPITAL PARTNERS AGENT, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 054582/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2020
From: ARIA SOLUTIONS INC.
To: AVTEX SOLUTIONS, LLC
Reel/Frame 054252/0663 →
CHANGE OF ADDRESS Recorded Feb 12, 2019
From: ARIA SOLUTIONS, INC.
To: ARIA SOLUTIONS, INC.
Reel/Frame 048322/0007 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2010
From: NIELSEN, KORRAN
To: ARIA SOLUTIONS, INC.
Reel/Frame 024811/0562 →