IP Library Granted Patent US 8,374,088
Granted Patent B2
US 8,374,088 · App. 13/359,960 · Granted Feb 12, 2013

Managing hierarchically organized subscriber profiles

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,374,088
App. No.
13/359,960
Granted
Feb 12, 2013
Kind
B2
Abstract

Methods are provided for managing hierarchically organized subscriber profiles. According to one embodiment, a connection for a subscriber is created based on a service context of the subscriber. A connection request is received from a subscriber of a network service delivery environment. The subscriber is associated with a first-level profile identifier indicative of a service context for the subscriber. One or more other subscribers can be associated with the first-level profile identifier. Lower-level profile identifiers are determined using the first-level profile identifier. The lower-level profile identifiers indicate a set of services that is available to the subscriber during the connection. Creating a connection for the subscriber that enables forwarding of packets based on the lower-level profile identifiers.

Claims (58)

1. A computer-implemented method comprising:

defining each of a plurality of service contexts available to a plurality of subscribers of a broadband service provider in terms of one or more profile identifiers of a plurality of profile identifiers each of which is representative of a particular subscriber service supported by a broadband subscriber access environment provided by the broadband service provider;

maintaining, within a virtual router (VR) configured within a telecommunications system of the broadband service provider, a scalable subscriber profile database in which a memory requirement for the scalable subscriber profile database is dependent upon a number of available service contexts by hierarchically organizing the plurality of profile identifiers as intermediate profile identifiers and leaf profile identifiers, wherein the leaf profile identifiers explicitly define subscriber services that are available during a connection to the broadband service provider and the intermediate profile identifiers indirectly represent sets of one or more subscriber services, which are defined by way of the intermediate profile identifiers' associations with one or more lower-level identifiers including zero or more of the leaf profile identifiers and zero or more of the intermediate profile identifiers;

receiving, by a profile manager of the VR, an intermediate profile identifier of a subscriber of the plurality of subscribers;

determining, by the profile manager, whether a profile cache maintained by the profile manager includes an entry for the intermediate profile identifier; and

if the profile cache includes an entry for the intermediate profile identifier, retrieving, by the profile manager, profile information and one or more lower-level profile identifiers associated with the intermediate profile identifier from the entry; and

if the profile cache does not include the entry, performing the following, by the profile manager:

determining from where to request the one or more lower-level profile identifiers;

requesting the profile information and the one or more lower-level profile identifiers;

receiving the one or more lower-level profile identifiers;

creating a new entry in the profile cache for the intermediate profile identifier; and

storing the one or more lower-level profile identifiers in the new entry.

2. The method of claim 1 , wherein two or more subscribers of the plurality of subscribers are associated with the intermediate profile identifier and wherein a total number of intermediate profile identifiers represented within the subscriber profile database is less than a total number of the plurality of subscribers.

3. The method of claim 1 , wherein a lower-level profile identifier of the one or more lower-level profile identifiers is associated with a quality of service filter or a bandwidth filter.

4. The method of claim 1 , wherein the one or more lower-level identifiers are requested from a system component.

5. The method of claim 4 , further comprising:

requesting but not receiving an indication regarding whether a service profile has changed, wherein the service profile is associated with the intermediate profile identifier; and

updating an application that is using the intermediate profile identifier.

6. The method of claim 4 , further comprising:

receiving an indication that a service profile has changed, wherein the indication is associated with the intermediate profile identifier; and

based on the indication, updating an application that is using the intermediate profile identifier.

7. The method of claim 6 , further comprising:

requesting the indication from the system component; and

if the indication is not received, requesting the change indication from another system component.

8. The method of claim 7 , further comprising:

after requesting the indication from the system component, waiting for a period of time; and

after the period of time has passed, requesting the indication from the other system component.

9. The method of claim 7 , further comprising selecting the other system component from a plurality of system components of the VR, wherein the selection is based on an ordered list of the plurality of system components.

10. The method of claim 9 , wherein the ordered list is associated with the intermediate profile identifier, and wherein other intermediate profile identifiers are associated with other ordered lists.

11. A non-transitory computer-readable storage medium embodying instructions, which when executed by one or more processors of a virtual router (VR) based telecommunications system of a broadband service provider perform a method comprising:

defining each of a plurality of service contexts available to a plurality of subscribers of the broadband service provider in terms of one or more profile identifiers of a plurality of profile identifiers each of which is representative of a particular subscriber service supported by a broadband subscriber access environment provided by the broadband service provider;

maintaining a scalable subscriber profile database in which a memory requirement for the scalable subscriber profile database is dependent upon a number of available service contexts by hierarchically organizing the plurality of profile identifiers as intermediate profile identifiers and leaf profile identifiers, wherein the leaf profile identifiers explicitly define subscriber services that are available during a connection to the broadband service provider and the intermediate profile identifiers indirectly represent sets of one or more subscriber services, which are defined by way of the intermediate profile identifiers' associations with one or more lower-level identifiers including zero or more of the leaf profile identifiers and zero or more of the intermediate profile identifiers;

receiving, by a profile manager of the VR, an intermediate profile identifier of a subscriber of the plurality of subscribers;

determining, by the profile manager, whether a profile cache maintained by the profile manager includes an entry for the intermediate profile identifier; and

if the profile cache includes an entry for the intermediate profile identifier, retrieving, by the profile manager, profile information and one or more lower-level profile identifiers associated with the intermediate profile identifier from the entry; and

if the profile cache does not include the entry, performing the following, by the profile manager:

determining from where to request the one or more lower-level profile identifiers;

requesting the profile information and the one or more lower-level profile identifiers;

receiving the one or more lower-level profile identifiers;

creating a new entry in the profile cache for the intermediate profile identifier; and

storing the one or more lower-level profile identifiers in the new entry.

12. The computer-readable storage medium of claim 11 , wherein two or more subscribers of the plurality of subscribers are associated with the intermediate profile identifier and wherein a total number of intermediate profile identifiers represented within the subscriber profile database is less than a total number of the plurality of subscribers.

13. The computer-readable storage medium of claim 11 , wherein a lower-level profile identifier of the one or more lower-level profile identifiers is associated with a quality of service filter or a bandwidth filter.

14. The computer-readable storage medium of claim 11 , wherein the one or more lower-level identifiers are requested from a system component.

15. The computer-readable storage medium of claim 14 , wherein the method further comprises:

requesting but not receiving an indication regarding whether a service profile has changed, wherein the service profile is associated with the intermediate profile identifier; and

updating an application that is using the intermediate profile identifier.

16. The computer-readable storage medium of claim 14 , wherein the method further comprises:

receiving an indication that a service profile has changed, wherein the indication is associated with the intermediate profile identifier; and

based on the indication, updating an application that is using the intermediate profile identifier.

17. The computer-readable storage medium of claim 16 , further comprising:

requesting the indication from the system component; and

if the indication is not received, requesting the change indication from another system component.

18. The computer-readable storage medium of claim 17 , further comprising:

after requesting the indication from the system component, waiting for a period of time; and

after the period of time has passed, requesting the indication from the other system component.

19. The computer-readable storage medium of claim 17 , further comprising selecting the other system component from a plurality of system components of the VR, wherein the selection is based on an ordered list of the plurality of system components.

20. The computer-readable storage medium of claim 17 , wherein the ordered list is associated with the intermediate profile identifier, and wherein other intermediate profile identifiers are associated with other ordered lists.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2013
From: COSINE COMMUNICATIONS, INC.
To: FORTINET, INC.
Reel/Frame 031442/0333 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2013
From: BALAY, RAJESH I.; SARGOR, CHANDRAMOULI; DESAI, SACHIN S.; LEMARCHAND, FRANCOIS; KHETAWAT, AMIT K.
To: COSINE COMMUNICATIONS, INC.
Reel/Frame 031446/0778 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2013
From: COSINE COMMUNICATIONS, INC.
To: FORTINET, INC.
Reel/Frame 031414/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2013
From: COSINE COMMUNICATIONS, INC.
To: FORTINET, INC.
Reel/Frame 031418/0015 →