IP Library Granted Patent US 7,209,248
Granted Patent B1
US 7,209,248 · App. 09/733,027 · Granted Apr 24, 2007

Managing the lifetime of distributed resource data using temporal scopes

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,209,248
App. No.
09/733,027
Granted
Apr 24, 2007
Kind
B1
Abstract

A method and system for enabling a client to programmatically manage the lifetime of groups of distributed resources is herein provided. The method includes grouping client-specific resource data usage generated from blocks of instruction sequences bounded by scope instructions. A “begin scope” instruction invokes a method initiating the temporal scope. Client-specific resource data generated during execution of subsequent instructions is tracked by the distributed infrastructure. When an “end scope” instruction is received, the client-specific resource data tracked under the temporal scope is deleted from the distributed infrastructure. Client-specific resource data may be tracked under two types of temporal scopes: a transient and a persistent temporal scope. Data tracked under a transient scope does not survive beyond the lifetime of the client connection, whereas data tracked under a persistent scope may survive beyond the lifetime of the client connection. Lastly, temporal scopes may generally be nested.

Claims (80)

1. A method of programmatically managing a lifetime of client-specific data objects over one or more client sessions, the method comprising:

receiving a first begin scope instruction;

tracking one or more first client-specific data objects in response to the first begin scope instruction;

receiving a first end scope instruction, wherein the first begin scope instruction and the first end scope instruction include information identifying the first begin scope instruction and the first end scope instruction; and

removing the first client-specific data objects in response to the first end scope instruction.

2. The method of claim 1 , further comprising:

if the first begin scope instruction includes a transient scope instruction and a current client session terminates, then removing the first client-specific resource data objects prior to the first end scope instruction.

3. The method of claim 1 , further comprising:

if the first begin scope instruction includes a transient scope instruction and a current client session terminates, then removing the first client-specific resource data objects prior to the first end scope instruction; and

if the first begin scope instruction includes a persistent scope instruction, and one or more of the first client-specific resource data objects is designated persistent in response to a client instruction, then:

if a current client session terminates, then storing the designated persistent client-specific data objects for use in the next client session.

4. The method of claim 3 , wherein the client designates the persistent data objects by naming the data objects in a persistent folder in the client name-space.

5. A method of programmatically managing a lifetime of client-specific data objects over one or more client sessions, the method comprising:

receiving a first begin scope instruction;

tracking one or more first client-specific data objects in response to the first begin scope instruction;

receiving a first end scope instruction;

removing the first client-specific data objects in response to the first end scope instruction; and

if the first begin scope instruction includes a persistent scope instruction, and one or more of the first client-specific resource data objects is designated persistent in response to a client instruction, then:

if a current client session terminates, then storing the designated persistent client-specific data objects for use in a next client session.

6. A method of programmatically managing a lifetime of client-specific data objects over one or more client sessions, the method comprising:

receiving a first begin scope instruction;

tracking one or more first client-specific data objects in response to the first begin scope instruction;

receiving a first end scope instruction;

removing the first client-specific data objects in response to the first end scope instruction

receiving a second begin scope instruction, wherein the second begin scope instruction is received after the first begin scope instruction and before the first end scope instruction;

tracking one or more second client-specific resource data objects starting with the second begin scope instruction;

pausing the tracking of the first client-specific resource data;

receiving a second end scope instruction before receiving the first end scope instruction;

removing the second client-specific resource data objects in response to the second end scope instruction; and

resuming tracking the first client-specific resource data objects.

7. The method of claim 6 , further comprising:

if the first and second begin scope instructions include a transient scope instruction and a current client session terminates, then removing the first and second client-specific resource data objects prior to the first and second end scope instructions.

8. The method of claim 6 , further comprising:

if the first and second begin scope instructions include a persistent scope instruction, and one or more of the first and second client-specific resource data objects are designated persistent in response to a client instruction, then:

if a current client session terminates, then storing the designated persistent first and second client-specific data objects for use in a next client session.

9. The method of claim 6 , wherein the client designates the persistent data objects by naming the data objects in a persistent folder in the client name-space.

10. The method of claim 6 , further comprising:

if the first and second begin scope instructions include a transient scope instruction and a current client session terminates, then removing the first and second client-specific resource data objects prior to the first and second end scope instructions; and

if the first and second begin scope instructions include a persistent scope instruction, and one or more of the first and second client-specific resource data objects are designated persistent in response to a client instruction, then:

if a current client session terminates, then storing the designated persistent first and second client-specific data objects for use in a next client session.

11. The method of claim 6 , wherein the first begin scope instruction includes a persistent scope instruction and the second begin scope instruction includes a transient scope instruction.

12. A computer system for programmatically managing the lifetime of client-specific resource data objects over one or more client sessions, the computer system comprising:

one or more computers interconnected by a computer network; a computer program executing on at least one the computers; wherein the computer program further comprise computer instructions for:

receiving a first begin scope instruction;

tracking one or more first client-specific resource data objects in response to the first begin scope instruction;

designating persistent data objects by providing a name for the data objects in a persistent folder in the client name-space in response to a client instruction;

receiving a first end scope instruction; and

removing the first client-specific resource data objects in response to the first end scope instruction.

13. The computer system of claim 12 , wherein the computer program further comprises computer instructions for:

if the first begin scope instruction includes a transient scope instruction and a current client session terminates, then removing the first client-specific resource data objects prior to the first end scope instruction.

14. The computer system of claim 12 , wherein the computer program further comprises computer instructions for:

if the first begin scope instruction includes a persistent scope instruction, and one or more of the first client-specific resource data objects is designated persistent in response to a client instruction, then:

if a current client session terminates, then storing the designated persistent client-specific data objects for use in a next client session.

15. The computer system of claim 12 , wherein the computer program further comprises computer instructions for:

if the first begin scope instruction includes a transient scope instruction and a current client session terminates, then removing the first client-specific resource data objects prior to the first end scope instruction; and

if the first begin scope instruction includes a persistent scope instruction, and one or more of the first client-specific resource data objects is designated persistent in response to a client instruction, then:

if a current client session terminates, then storing the designated persistent client-specific data objects for use in the next client session.

16. The computer system of claim 12 , wherein the first begin scope instruction and the first end scope instruction include information identifying the first begin scope instruction and the first end scope instruction.

17. A computer system for programmatically managing the lifetime of client-specific resource data objects over one or more client sessions, the computer system comprising:

one or more computers interconnected by a computer network; a computer program executing on at least one the computers; wherein the computer program further comprise computer instructions for:

receiving a first begin scope instruction;

tracking one or more first client-specific resource data objects in response to the first begin scope instruction;

receiving a first end scope instruction;

removing the first client-specific resource data objects in response to the first end scope instruction

receiving a second begin scope instruction, wherein the second begin scope instruction is received after the first begin scope instruction and before the first end scope instruction;

tracking one or more second client-specific resource data objects starting with the second begin scope instruction;

pausing the tracking of the first client-specific resource data objects; receiving a second end scope instruction before receiving the first end scope instruction;

removing the second client-specific resource data objects in response to the second end scope instruction; and

resuming tracking the first client-specific resource data objects.

18. The computer system of claim 17 , wherein the computer program further comprises computer instructions for:

if the first and second begin scope instructions include a transient scope instruction and a current client session terminates, then removing the first and second client-specific resource data objects prior to the first and second end scope instructions.

19. The computer system of claim 17 , wherein the computer program further comprises computer instructions for:

if the first and second begin scope instructions include a persistent scope instruction, and one or more of the first and second client-specific resource data objects are designated persistent in response to a client instruction, then:

if a current client session terminates, then storing the designated persistent first and second client-specific data objects for use in a next client session.

20. The computer system of claim 17 , wherein the computer program further comprises computer instructions for designating the persistent data objects by providing a name for the data objects in a persistent folder in the client name-space in response to a client instruction.

21. The computer system of claim 17 , wherein the computer program further comprises computer instructions for:

if the first and second begin scope instructions include a transient scope instruction and a current client session terminates, then removing the first and second client-specific resource data objects prior to the first and second end scope instructions; and

if the first and second begin scope instructions include a persistent scope instruction, and one or more of the first and second client-specific resource data objects are designated persistent in response to a client instruction, then:

if a current client session terminates, then storing the designated persistent first and second client-specific data objects for use in a next client session.

22. The computer system of claim 17 , wherein the first begin scope instruction includes a persistent scope instruction and the second begin scope instruction includes a transient scope instruction.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 059058/0720 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →