IP Library Granted Patent US 10,146,832
Granted Patent B2
US 10,146,832 · App. 15/016,373 · Granted Dec 4, 2018

Prefetching for computing airline routes

Inventors: Pradeep CK (Bangalore Karnataka, IN); Raksha R. (Bangalore Karnataka, IN); Venkatesh Ramachar Sanjeeva (Bangalore Karnataka, IN); Nishanth S. (Bangalore Karnataka, IN)
Assignee: UNISYS CORPORATION
G06F17/30457G06F17/3048
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 10,146,832
App. No.
15/016,373
Granted
Dec 4, 2018
Kind
B2
Abstract

Airline route information may be pre-fetched and cached in a routings engine to improve response time of the routings engine to generate routes from an origin to a destination location. For example, a method may include receiving, at a routings engine from an airline reservation system, a request for first airline routes between an origin and a destination based on specified route parameters; storing, by the routings engine, the request in a historical record of requests; fetching, by the routings engine, first airline routes matching the origin, the destination, and the specified route parameters; and pre-fetching, by the routings engine, second airline routes based, at least in part, on the historical record of requests.

Claims (60)

1. A method, comprising:

receiving, at a routings engine from an airline reservation system, a request for first airline routes between an origin and a destination based on specified route parameters;

storing, by the routings engine, the request in a historical record of requests;

fetching, by the routings engine, first airline routes matching the origin, the destination, and the specified route parameters; and

pre-fetching, by the routings engine, second airline routes based, at least in part, on the historical record of requests, by:

computing a weighted arithmetic mean for a day of the historical record of requests;

determining an idle time of the routings engine during which a load of the routings engine is below a mean between the total weighted arithmetic mean and a lowest load, and

pre-fetching during the determined idle time of the routings engine.

2. The method of claim 1 , wherein the step of pre-fetching the second airline routes comprises pre-fetching the second airline routes at a scheduled time.

3. The method of claim 2 , wherein the step of pre-fetching the second airline routes further comprises:

identifying a frequency of requests in the historical record of requests;

retrieving schedule information based on the identified frequency; and

determining a busy time of the routings engine during which a load of the routings engine is above a mean between a total weighted arithmetic mean and a highest load.

4. The method of claim 2 , wherein the scheduled time is during a non-peak time range of the routings engine.

5. The method of claim 1 , wherein the step of pre-fetching the airline routes comprises storing the airline routes in a cache.

6. The method of claim 5 , wherein the step of fetching the airline routes comprises:

determining whether the cache stores a response to the request;

when the cache is determined to store a response to the request, fetch, by the routings engine, the first airlines routes from the cache; and

when the cache is determined to not store a response to the request, fetch, by the routings engine, the first airlines routs from a database.

7. A computer program product, comprising:

a non-transitory computer readable medium comprising instructions that, when executed by a processor of a computing system, cause the processor to perform the steps of:

receiving, at a routings engine from an airline reservation system, a request for first airline routes between an origin and a destination based on specified route parameters;

storing, by the routings engine, the request in a historical record of requests;

fetching, by the routings engine, first airline routes matching the origin, the destination, and the specified route parameters; and

pre-fetching, by the routings engine, second airline routes based, at least in part, on the historical record of requests by:

computing a weighted arithmetic mean for a day of the historical record of requests;

determining an idle time of the routings engine during which a load of the routings engine is below a mean between the total weighted arithmetic mean and a lowest load, and

pre-fetching during the determined idle time of the routings engine.

8. The computer program product of claim 7 , wherein the step of pre-fetching the second airline routes comprises pre-fetching the second airline routes at a scheduled time.

9. The computer program product of claim 8 , wherein the step of pre-fetching the second airline routes further comprises:

identifying a frequency of requests in the historical record of requests;

retrieving schedule information based on the identified frequency; and

determining a busy time of the routings engine during which a load of the routings engine is above a mean between a total weighted arithmetic mean and a highest load.

10. The computer program product of claim 8 , wherein the scheduled time is during a non-peak time range of the routings engine.

11. The computer program product of claim 7 , wherein the step of pre-fetching the airline routes comprises storing the airline routes in a cache.

12. The computer program product of claim 11 , wherein the step of fetching the airline routes comprises:

determining whether the cache stores a response to the request;

when the cache is determined to store a response to the request, fetch, by the routings engine, the first airlines routes from the cache; and

when the cache is determined to not store a response to the request, fetch, by the routings engine, the first airlines routs from a database.

13. An apparatus, comprising:

a memory;

a processor coupled to the memory, wherein the processor is further configured to perform the steps of:

receiving, at a routings engine from an airline reservation system, a request for first airline routes between an origin and a destination based on specified route parameters;

storing, by the routings engine, the request in a historical record of requests;

fetching, by the routings engine, first airline routes matching the origin, the destination, and the specified route parameters; and

pre-fetching, by the routings engine, second airline routes based, at least in part, on the historical record of requests by:

computing a weighted arithmetic mean for a day of the historical record of requests;

determining an idle time of the routings engine during which a load of the routings engine is below a mean between the total weighted arithmetic mean and a lowest load, and

pre-fetching during the determined idle time of the routings engine.

14. The apparatus of claim 13 , wherein the step of pre-fetching the second airline routes comprises pre-fetching the second airline routes at a scheduled time.

15. The apparatus of claim 14 , wherein the step of pre-fetching the second airline routes further comprises:

identifying a frequency of requests in the historical record of requests;

retrieving schedule information based on the identified frequency; and

determining a busy time of the routings engine during which a load of the routings engine is above a mean between a total weighted arithmetic mean and a highest load.

16. The apparatus of claim 14 , wherein the scheduled time is during a non-peak time range of the routings engine.

17. The apparatus of claim 13 , wherein the step of pre-fetching the airline routes comprises storing the airline routes in a cache.

18. The apparatus of claim 17 , wherein the step of fetching the airline routes comprises:

determining whether the cache stores a response to the request;

when the cache is determined to store a response to the request, fetch, by the routings engine, the first airlines routes from the cache; and

when the cache is determined to not store a response to the request, fetch, by the routings engine, the first airlines routs from a database.

Assignments (9)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
SECURITY INTEREST Recorded Jan 31, 2020
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 051682/0465 →
SECURITY INTEREST Recorded Mar 13, 2019
From: UNISYS CORPORATION
To: WELLS FARGO NATIONAL ASSOCIATION
Reel/Frame 048581/0126 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2018
From: CK, PRADEEP; R., RAKSHA; SANJEEVA, VENKATESH RAMACHAR; S., NISHANTH
To: UNISYS CORPORATION
Reel/Frame 046989/0579 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 044416/0114 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
SECURITY INTEREST Recorded Jun 3, 2016
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 038792/0820 →
Continuity (1)
Related Publication 20170228424A1 · Aug 10, 2017