IP Library Granted Patent US 7,957,988
Granted Patent B2
US 7,957,988 · App. 11/970,711 · Granted Jun 7, 2011

Systems, methods, and computer program products for storing and retrieving product availability information from a storage cache

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 7,957,988
App. No.
11/970,711
Granted
Jun 7, 2011
Kind
B2
Abstract

The present invention provides methods for efficiently handling product availability queries. The present invention provides a local availability cache that is prepopulated with product availability listings from various product sources. Customer product availability queries are processed using the prepopulated availability cache, as opposed to independently querying each product source. The present invention also uses methods to manage the cache, such as by limiting the length of use data records stored for each start of use day to a maximum length of use and updating of data in the query using a function that updates data for start dates of use that occur sooner in time than for start dates of use that occur later in time. The present invention also uses functions to determine availability for length of use requests that exceed the maximum length of use stored in the cache by piecing together availability information for smaller lengths of use.

Claims (45)

1. An apparatus comprising:

a processor configured to receive and store, in a computer-readable storage medium, availability information for a product, wherein the product is of a type that is usable on different start dates for different lengths of use, wherein the processor being configured to store availability information includes being configured to store availability information for a plurality of different start dates, including for each of one or more of the start dates, availability information for different lengths of use, and

wherein the processor being configured to store availability information includes being configured to store availability information to enable servicing, from the stored availability information, one or more subsequent availability requests for the product from a user, each availability request including a requested start date and a requested length of use.

2. An apparatus according to claim 1 , wherein the processor being configured to store availability information includes being configured to store availability information for a plurality of different start dates, including for each of one or more of the start dates, availability information for different lengths of use up to and including a maximum stored length of use.

3. An apparatus according to claim 2 , wherein the processor is further configured to receive an availability request including a requested length of use greater than the maximum stored length of use,

wherein the processor is configured to divide the requested length of use into at least two shorter lengths of use that are each shorter than the maximum length of use, each shorter length of use having an associated start date, and

wherein the processor is configured to generate a response to the availability request based on availability information for each shorter length of use and associated start date.

4. An apparatus according to claim 3 , wherein each shorter length of use includes at least two days.

5. An apparatus according to claim 3 , wherein the processor being configured to divide the requested length of use includes being configured to create at least two scenarios, wherein each scenario includes at least two shorter lengths of use each of which has an associated start date, and wherein the start date of associated with one of the shorter lengths of use of one of the scenarios is different from the start date associated with one of the shorter lengths of use of another of the scenarios.

6. An apparatus according to claim 1 , wherein the processor being configured to store availability information includes being configured to store availability information for a plurality of different start dates, including for each of one or more of the start dates, availability information for different lengths of use including a maximum stored length of use and one or more shorter lengths of use, at least one of the shorter lengths of use being derivable from the maximum stored length of use, and

wherein the processor is further configured to update at least a portion of the availability information, including being configured to update availability information for the maximum stored length of use without also updating availability information for the respective derivable shorter lengths of use.

7. An apparatus according to claim 6 , wherein a shorter length of use is derivable from a respective maximum stored length of use if a price associated with the shorter length of use is substantially equal to a price associated with the respective maximum stored length of use.

8. A method comprising:

receiving and storing, in a computer-readable storage medium, availability information for a product, wherein the product is of a type that is usable on different start dates for different lengths of use, wherein storing availability information comprises storing availability information for a plurality of different start dates, including for each of one or more of the start dates, availability information for different lengths of use; and

servicing, from the stored availability information, one or more subsequent availability requests for the product from a user, each availability request including a requested start date and a requested length of use,

wherein receiving and storing availability information, and servicing one or more availability requests are performed by a processor configured to receive and store availability information service one or more availability requests.

9. A method according to claim 8 , wherein storing availability information comprises storing availability information for a plurality of different start dates, including for each of one or more of the start dates, availability information for different lengths of use up to and including a maximum stored length of use.

10. A method according to claim 9 further comprising:

receiving an availability request including a requested length of use greater than the maximum stored length of use;

dividing the requested length of use into at least two shorter lengths of use that are each shorter than the maximum length of use, each shorter length of use having an associated start date; and

generating a response to the availability request based on availability information for each shorter length of use and associated start date.

11. A method according to claim 10 , wherein each shorter length of use includes at least two days.

12. A method according to claim 10 , wherein dividing the requested length of use comprises creating at least two scenarios, wherein each scenario includes at least two shorter lengths of use each of which has an associated start date, and wherein the start date of associated with one of the shorter lengths of use of one of the scenarios is different from the start date associated with one of the shorter lengths of use of another of the scenarios.

13. A method according to claim 8 , wherein storing availability information comprises storing availability information for a plurality of different start dates, including for each of one or more of the start dates, availability information for different lengths of use including a maximum stored length of use and one or more shorter lengths of use, at least one of the shorter lengths of use being derivable from the maximum stored length of use, and

wherein the method further comprises updating at least a portion of the availability information, including updating availability information for the maximum stored length of use without also updating availability information for the respective derivable shorter lengths of use.

14. A method according to claim 13 , wherein a shorter length of use is derivable from a respective maximum stored length of use if a price associated with the shorter length of use is substantially equal to a price associated with the respective maximum stored length of use.

15. A computer readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

a first executable portion configured to receive and store, in a computer-readable storage medium, availability information for a product, wherein the product is of a type that is usable on different start dates for different lengths of use, wherein the first executable portion being configured to store availability information includes being configured to store availability information for a plurality of different start dates, including for each of one or more of the start dates, availability information for different lengths of use, and

wherein the first executable portion being configured to store availability information includes being configured to store availability information to enable servicing, from the stored availability information, one or more subsequent availability requests for the product from a user, each availability request including a requested start date and a requested length of use.

16. A computer readable storage medium according to claim 15 , wherein the first executable portion being configured to store availability information includes being configured to store availability information for a plurality of different start dates, including for each of one or more of the start dates, availability information for different lengths of use up to and including a maximum stored length of use.

17. A computer readable storage medium according to claim 16 , wherein the computer-readable program code portions further comprise:

a second executable portion configured to receive an availability request including a requested length of use greater than the maximum stored length of use;

a third executable portion configured to divide the requested length of use into at least two shorter lengths of use that are each shorter than the maximum length of use, each shorter length of use having an associated start date; and

a fourth executable portion configured to generate a response to the availability request based on availability information for each shorter length of use and associated start date.

18. A computer readable storage medium according to claim 17 , wherein each shorter length of use includes at least two days.

19. A computer readable storage medium according to claim 17 , wherein the third executable portion being configured to divide the requested length of use includes being configured to create at least two scenarios, wherein each scenario includes at least two shorter lengths of use each of which has an associated start date, and wherein the start date of associated with one of the shorter lengths of use of one of the scenarios is different from the start date associated with one of the shorter lengths of use of another of the scenarios.

20. A computer readable storage medium according to claim 15 , wherein the first executable portion being configured to store availability information includes being configured to store availability information for a plurality of different start dates, including for each of one or more of the start dates, availability information for different lengths of use including a maximum stored length of use and one or more shorter lengths of use, at least one of the shorter lengths of use being derivable from the maximum stored length of use, and

wherein the computer-readable program code portions further comprise a second executable portion configured to update at least a portion of the availability information, including being configured to update availability information for the maximum stored length of use without also updating availability information for the respective derivable shorter lengths of use.

21. A computer readable storage medium according to claim 20 , wherein a shorter length of use is derivable from a respective maximum stored length of use if a price associated with the shorter length of use is substantially equal to a price associated with the respective maximum stored length of use.

22. An apparatus comprising:

a processor configured to receive an availability request, the availability request indicating a product, a requested start date, and a requested length of use,

wherein the processor is configured to generate a response to the availability request based on at least product availability information that includes start dates upon which the product is available, wherein when the requested length of use exceeds the maximum length of use, wherein the processor being configured to generate a response includes being configured to:

divide the requested length of use into at least two shorter lengths of use that are each shorter than the maximum length of use, each shorter length of use having an associated start date, and

determine availability for each shorter length of use and associated start date to thereby determine availability for the requested start date and the requested length of use.

23. An apparatus according to claim 22 , wherein the processor being configured to divide the requested length of use includes being configured to create at least two scenarios, wherein each scenario includes at least two shorter lengths of use each of which has an associated start date, and wherein the start date of associated with one of the shorter lengths of use of one of the scenarios is different from the start date associated with one of the shorter lengths of use of another of the scenarios.

Assignments (17)
TERMINATION AND RELEASE OF SECURITY INTERESTIN PATENTS Recorded Sep 2, 2025
From: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: SABRE GLBL INC.; TVL LP
Reel/Frame 072809/0498 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS [REEL/FRAME 064091/0576] Recorded Jun 4, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: SABRE GLBL INC.; TVL LP
Reel/Frame 071481/0949 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 15, 2025
From: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: SABRE GLBL INC.; TVL LP
Reel/Frame 070851/0247 →
SECURITY INTEREST Recorded Sep 11, 2023
From: SABRE HOLDINGS CORPORATION; SABRE GLBL INC.; GETTHERE INC.; GETTHERE L.P.; LASTMINUTE.COM HOLDINGS, INC.; LASTMINUTE.COM LLC; SABRE INTERNATIONAL NEWCO, INC.; SABREMARK G.P., LLC; SABREMARK LIMITED PARTNERSHIP; TVL COMMON, INC.; SABRE GDC, LLC; PRISM TECHNOLOGIES, LLC; PRISM GROUP, INC.; NEXUS WORLD SERVICES, INC.; IHS US INC.; INNLINK LLC; TRAVLYNX LLC; RSI MIDCO, INC.; RADIXX SOLUTIONS INTERNATIONAL, INC.; TVL HOLDINGS, INC.; TVL LLC; TVL HOLDINGS I, LLC; TVL LP
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 064859/0026 →
SECURITY INTEREST Recorded Jun 28, 2023
From: SABRE HOLDINGS CORPORATION; SABRE GLBL INC.; TVL LP; GETTHERE L.P.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 064091/0576 →
SECURITY INTEREST Recorded Dec 6, 2022
From: TVL LP
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 061999/0653 →
RELEASE OF SECURITY INTEREST Recorded Jan 12, 2021
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: TVL LP
Reel/Frame 054897/0478 →
RELEASE OF SECURITY INTEREST Recorded Sep 11, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: TVL LP
Reel/Frame 053750/0971 →
SECURITY INTEREST Recorded Sep 11, 2020
From: TVL LP
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 053751/0472 →
SECURITY INTEREST Recorded Apr 17, 2020
From: TVL LP
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052429/0107 →
SECURITY INTEREST Recorded Nov 9, 2015
From: TVL LP
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 036992/0224 →
CHANGE OF NAME Recorded Sep 22, 2015
From: TRAVELOCITY.COM LP
To: TVL LP
Reel/Frame 036645/0115 →
SECURITY INTEREST Recorded Apr 14, 2015
From: TVL LP
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 035407/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 14, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: SABRE HOLDINGS CORPORATION; SABRE GLBL INC.; TVL LP; GETTHERE L.P.; SITE59.COM, LLC
Reel/Frame 035424/0844 →
AMENDMENT OF SECURITY INTEREST IN PATENTS Recorded Feb 19, 2013
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: BANK OF AMERICA, N.A.
Reel/Frame 029834/0757 →
SECURITY AGREEMENT Recorded May 11, 2012
From: TRAVELOCITY.COM LP
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 028194/0623 →
SECURITY AGREEMENT Recorded Mar 17, 2008
From: SABRE HOLDINGS CORPORATION, SABRE INC., CERTAIN SUBSIDIARIES OF SABRE INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 020660/0447 →