IP Library Granted Patent US 8,473,526
Granted Patent B2
US 8,473,526 · App. 11/971,100 · Granted Jun 25, 2013

System, method and computer program product for managing a group of copies of a data entity

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,473,526
App. No.
11/971,100
Granted
Jun 25, 2013
Kind
B2
Abstract

A method for managing a group of targets is provided. The method includes: receiving a request to update a x'th generation copy of a data entity, where x is a positive integer. Then applying an update function responsive to x such as to update a first sub-group of targets. Then receiving a request to read a y'th generation copy of the data entity and (iv) applying a retrieve function responsive to y such as to search for the y'th generation copy of the data entity in a second sub-group of targets. The first and second sub-groups intersect only once and only if y does not exceed x.

Claims (52)

1. A method for managing a group of targets that store different copies of a data entity, the method comprising:

receiving a request to update an x'th generation copy of a data entity, where x is a positive integer;

applying an update function in response to the update request for defining a first sub-group of targets from the group of targets, where x is a representation of an index of the first sub-group of targets, wherein the update function is responsive to x to apply the update to the x'th generation copy of a data entity on the first sub-group of targets;

receiving a request to read a y'th generation copy of the data entity, where y is a positive integer; and

applying a retrieve function in response to the read request for searching for the y'th generation copy of the data entity in a second sub-group of targets, where y is a representation of an index of the second sub-group of targets, and wherein the retrieve function is responsive to y to select the second sub-group of targets from the group of targets.

2. The method of claim 1 further comprising:

defining the update function and the retrieve function for providing a requested relationship between values of a parameter associated with the applying of the update function and with the applying of the retrieve function.

3. The method of claim 2 further comprising:

defining a representation format of x and of y for determining a relationship between sizes of the first and second sub-groups.

4. The method of claim 1 further comprising:

applying the update function including altering a value of a lowest non zero digit of x and applying the retrieve function including altering a value of a lowest non zero digit of y.

5. The method of claim 4 further comprising:

defining a first radix to a digit of x and defining another radix to another digit of x, wherein the radices are changed during the applying of the update function.

6. The method of claim 4 further comprising:

applying the update function including calculating a next target of the first subgroup of targets by subtracting one from a lowest non zero digit of an index of a current member of the first sub-group of targets.

7. The method of claim 1 further comprising:

applying the retrieve function repetitively for finding a next target of the second sub-group of targets by zeroing a lowest non-zero digit of an index of a current target and incrementing a digit that follows the zeroed digit.

8. A computer program product for managing a group of targets that store different copies of a data entity, the computer program product comprising:

a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:

computer readable program code configured to receive a request to update an x'th generation copy of a data entity where x is a positive integer;

computer readable program code configured to apply an update function in response to the received update request for defining a first sub-group of targets from the group of targets, where x is a representation of an index of the first sub-group of targets, wherein the update function is responsive to x to apply the update to the x'th generation copy of a data entity on the first sub-group of targets;

computer readable program code configured to receive a request to read a y'th generation copy of the data entity, where y is a positive integer; and

computer readable program code configured to apply a retrieve function in response to the received read request for searching for the y'th generation copy of the data entity in a second sub-group of targets, where y is a representation of an index of the second sub-group of targets, and wherein the retrieve function is responsive to y to select the second sub-group of targets from the group of targets.

9. The computer program product of claim 8 further comprising:

computer readable program code configured to define the update function and the retrieve function for providing a requested relationship between values of a parameter associated with an appliance of the update function and with an appliance of the retrieve function.

10. The computer program product of claim 9 further comprising:

computer readable program code configured to define a representation format of x and of y for determining a relationship between sizes of the first and second sub-groups.

11. The computer program product of claim 10 further comprising:

computer readable program code configured to alter a value of a lowest non zero digit of x and apply the retrieve function by altering a value of a lowest non zero digit of y.

12. The computer program product of claim 11 further comprising:

computer readable program code configured to define a first radix to a digit of x and to define another radix to another digit of x.

13. The computer program product of claim 12 further comprising:

computer readable program code configured to repetitively find a next target of the second sub-group of targets by zeroing a lowest non-zero digit of an index of a current target and incrementing a digit that follows the zeroed digit.

14. The computer program product of claim 13 further comprising:

computer readable program code configured to calculate a next target of the first sub-group of targets by subtracting one from a lowest non zero digit of an index of a current member of the first sub-group of copies.

15. The computer program product of claim 14 further comprising:

computer readable program code configured to search for a target that locally stores a copy of the data entity.

16. The computer program product of claim 15 further comprising:

computer readable program code configured to determine if an x'th target locally stores another copy of the data entity.

17. The computer program product of claim 16 further comprising:

computer readable program code configured to update at least one target by applying the update function in response to a value that is smaller than x and destage the x'th generation copy of data entity to the x'th target.

18. A method for providing a service to a customer over a network, the method comprising:

receiving a request over the network to update an x'th generation copy of a data entity, where x is a positive integer;

applying an update function in response to the update request for defining a first sub-group of targets from the group of targets, where x is a representation of an index of the first sub-group of targets, wherein the update function is responsive to x to apply the update to the x'th generation copy of a data entity on the first sub-group of targets;

receiving a request to read a y'th generation copy of the data entity, where y is a positive integer;

applying a retrieve function in response to the read request for searching for the y'th generation copy of the data entity in a second sub-group of targets, the first and second sub-groups intersecting only once if y is less than x, where y is a representation of an index of the second sub-group of targets, and wherein the retrieve function is responsive to v to select the second sub-group of targets from the group of targets; and

sending a response over the network representative of at least one characteristic of the y'th generation copy of the data entity.

19. The method of claim 18 further comprising:

applying the retrieve function repetitively for finding a next target of the second sub-group of targets by zeroing a lowest non-zero digit of an index of a current target

and incrementing a digit that follows the zeroed digit.

20. The method of claim 19 further comprising:

applying the update function for calculating a next target of the first sub-group of targets by subtracting one from a lowest non zero digit of an index of a current member of the first sub-group of copies.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2008
From: ZLOTNICK, AVIAD
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020335/0380 →