IP Library Granted Patent US 7,216,163
Granted Patent B2
US 7,216,163 · App. 10/146,150 · Granted May 8, 2007

Method and apparatus for provisioning tasks using a provisioning bridge server

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,216,163
App. No.
10/146,150
Granted
May 8, 2007
Kind
B2
Abstract

The present invention is directed to technology for interacting with provisioning systems. An entity has an associated job code attribute that corresponds to a set of external resources. In one embodiment, an Identity System assigns the job code attribute to the entity. The external resources may be supported by different provisioning systems. A Provisioning Bridge Server determines whether a set of provisioning systems supports the resources corresponding to the job code attribute. The Provisioning Bridge Server also provisions the tasks required to make the external resources available to the entity. The tasks may be provisioned across multiple provisioning systems.

Claims (88)

1. A computer implemented method for provisioning tasks, said method comprising the steps of:

(a) determining whether a job code attribute for an entity is supported by a plurality of provisioning systems, wherein said job code attribute corresponds to a set of external resources for said entity; and

(b) provisioning a set of tasks related to said set of external resources to said plurality of provisioning systems in response to said job code attribute, wherein provisioning the set of tasks comprises

(1) submitting a first request for a first task from said set of tasks to a first provisioning system in said plurality of provisioning systems, wherein said first request calls for said first provisioning system to affect a first resource in said set of external resources,

(2) submitting a second request for a second task from said set of tasks to a second provisioning system in said plurality of provisioning systems, wherein said second request calls for said second provisioning system to affect a second resource in said set of external resources,

(3) determining whether any tasks in said set of tasks failed,

(4) in response to determining none of tasks in said set of tasks have failed, signaling that said set of tasks have been provisioned,

(5) in response to determining one or more tasks in said set of tasks have failed, determining whether to complete provisioning for said set of tasks, if one or more tasks in said set of tasks are determined to have failed,

(6) in response to determining to complete provisioning for said set of tasks, continuing provisioning tasks of set that have not been determined to have failed, and

(7) in response to determining not to complete provisioning for said set of tasks, signaling a provisioning error.

2. The computer implemented method of claim 1 , wherein said set of external resources includes multiple resources.

3. The computer implemented method of claim 1 , wherein said step (a) includes the step of:

(1) determining whether each resource in said set of external resources is supported by at least one provisioning system in said plurality of provisioning systems.

4. The computer implemented method of claim 1 , wherein said step (a) includes the step of:

(1) comparing said job code attribute to an entry in a set of control information.

5. The computer implemented method of claim 4 , wherein said entry in said set of control information includes a first field identifying a job code and second field identifying a resource.

6. The computer implemented method of claim 4 further including the step of:

(c) maintaining said set of control information.

7. The computer implemented method of claim 6 , wherein said step (c) includes the steps of:

(1) retrieving information from said plurality of provisioning systems; and

(2) storing said information from said plurality of provisioning systems in said set of control information.

8. The computer implemented method of claim 7 , wherein said steps (c)(1) and (c)(2) are repeated after a predetermined period of time.

9. The computer implemented method of claim 7 , wherein said information from said plurality of provisioning systems identifies external resources supported by said plurality of provisioning systems.

10. The computer implemented method of claim 1 , further including the step of:

(d) obtaining approval for provisioning said set of tasks.

11. The computer implemented method of claim 10 , wherein said step (d) includes the steps of:

(1) requesting approval for provisioning said set of tasks; and

(2) determining whether any requests in said step (d)(1) have been rejected.

12. The computer implemented method of claim 11 , wherein said step (d) further includes the step of:

(3) determining whether to proceed with provisioning if any requests in said step (d)(1) have been rejected.

13. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method for provisioning tasks, said method comprising the steps of:

(a) determining whether a job code attribute for an entity is supported by a plurality of provisioning systems, wherein said job code attribute corresponds to a set of external resources for said entity; and

(b) provisioning a set of tasks related to said set of external resources to said plurality of provisioning systems in response to said job code attribute, wherein provisioning the set of tasks comprises

(1) submitting a first request for a first task from said set of tasks to a first provisioning system in said plurality of provisioning systems, wherein said first request calls for said first provisioning system to affect a first resource in said set of external resources,

(2) submitting a second request for a second task from said set of tasks to a second provisioning system in said plurality of provisioning systems, wherein said second request calls for said second provisioning system to affect a second resource in said set of external resources,

(3) determining whether any tasks in said set of tasks failed,

(4) in response to determining none of tasks in said set of tasks have failed, signaling that said set of tasks have been provisioned,

(5) in response to determining one or more tasks in said set of tasks have failed, determining whether to complete provisioning for said set of tasks, if one or more tasks in said set of tasks are determined to have failed,

(6) in response to determining to complete provisioning for said set of tasks, continuing provisioning tasks of set that have not been determined to have failed, and

(7) in response to determining not to complete provisioning for said set of tasks, signaling a provisioning error.

14. One or more processor readable storage devices according to claim 13 , wherein said set of external resources includes multiple resources.

15. One or more processor readable storage devices according to claim 13 , wherein said step (a) includes the step of:

(1) determining whether each resource in said set of external resources is supported by at least one provisioning system in said plurality of provisioning systems.

16. One or more processor readable storage devices according to claim 15 , wherein said method further includes the step of:

(c) maintaining said set of control information.

17. One or more processor readable storage devices according to claim 16 , wherein said step (c) includes the steps of:

(1) retrieving information from said plurality of provisioning systems; and

(2) storing said information from said plurality of provisioning systems in said set of control information.

18. One or more processor readable storage devices according to claim 17 , wherein said information from said plurality of provisioning systems identifies external resources supported by said plurality of provisioning systems.

19. One or more processor readable storage devices according to claim 13 , wherein said step (a) includes the step of:

(1) comparing said job code attribute to an entry in a set of control information.

20. One or more processor readable storage devices according to claim 19 , wherein said entry in said set of control information includes a first field identifying a job code and second field identifying a resource.

21. One or more processor readable storage devices according to claim 13 , wherein said method further includes the step of:

(d) obtaining approval for provisioning said set of tasks.

22. One or more processor readable storage devices according to claim 21 , wherein said step (d) includes the steps of:

(1) requesting approval for provisioning said set of tasks; and

(2) determining whether any requests in said step (d)(1) have been rejected.

23. One or more processor readable storage devices according to claim 22 , wherein said step (d) further includes the step of:

(3) determining whether to proceed with provisioning if any requests in said step (d)(1) have been rejected.

24. An apparatus comprising:

one or more communications interfaces;

one or more storage devices; and

one or more processors in communication with said one or more storage devices and said one or more communication interfaces, said one or more processors perform a method for provisioning tasks, said method comprising the steps of:

(a) determining whether a job code attribute for an entity is supported by a plurality of provisioning systems, wherein said job code attribute corresponds to a set of external resources for said entity; and

(b) provisioning a set of tasks related to said set of external resources to said plurality of provisioning systems in response to said job code attribute, wherein provisioning the set of tasks comprises

(1) submitting a first request for a first task from said set of tasks to a first provisioning system in said plurality of provisioning systems, wherein said first request calls for said first provisioning system to affect a first resource in said set of external resources,

(2) submitting a second request for a second task from said set of tasks to a second provisioning system in said plurality of provisioning systems, wherein said second request calls for said second provisioning system to affect a second resource in said set of external resources,

(3) determining whether any tasks in said set of tasks failed,

(4) in response to determining none of tasks in said set of tasks have failed, signaling that said set of tasks have been provisioned,

(5) in response to determining one or more tasks in said set of tasks have failed, determining whether to complete provisioning for said set of tasks, if one or more tasks in said set of tasks are determined to have failed,

(6) in response to determining to complete provisioning for said set of tasks, continuing provisioning tasks of set that have not been determined to have failed, and

(7) in response to determining not to complete provisioning for said set of tasks, signaling a provisioning error.

25. The apparatus of claim 24 , wherein said set of external resources includes multiple resources.

26. The apparatus of claim 24 ; wherein said step (a) includes the step of:

(1) determining whether each resource in said set of external resources is supported by at least one provisioning system in said plurality of provisioning systems.

27. The apparatus of claim 24 , wherein said step (a) includes the step of:

(1) comparing said job code attribute to an entry in a set of control information, wherein said entry in said set of control information includes a first field identifying a job code and second field identifying a resource.

28. The apparatus of claim 27 , wherein said method further includes the step of:

(c) maintaining said set of control information.

29. The apparatus of claim 28 , wherein said step (c) includes the steps of:

(1) retrieving information from said plurality of provisioning systems, wherein said information from said plurality of provisioning system identifies external resources supported by said plurality of provisioning systems; and

(2) storing said information from said plurality of provisioning systems in said set of control information.

30. The apparatus of claim 24 , wherein said method further includes the step of:

(d) obtaining approval for provisioning said set of tasks.

31. The apparatus of claim 24 , wherein said apparatus includes a Provisioning Bridge Server.

32. The apparatus of claim 31 , wherein said Provisioning Bridge Server performs said steps (a) and (b).

33. The apparatus of claim 31 , wherein said apparatus includes an Identity Server in communication with said Provisioning Bridge Server and a set of control information in communication with said Provisioning Bridge Server.

34. The apparatus of claim 31 , wherein said apparatus includes an Identity System.