US20100228860A1 - Supporting a Community of Subscribers in an Environment Using a Service Selection Gateway (SSG) - Google Patents
Supporting a Community of Subscribers in an Environment Using a Service Selection Gateway (SSG) Download PDFInfo
- Publication number
- US20100228860A1 US20100228860A1 US12/781,574 US78157410A US2010228860A1 US 20100228860 A1 US20100228860 A1 US 20100228860A1 US 78157410 A US78157410 A US 78157410A US 2010228860 A1 US2010228860 A1 US 2010228860A1
- Authority
- US
- United States
- Prior art keywords
- subscriber
- policy
- community
- access
- rules
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Definitions
- the present invention relates to telecommunication networks, and more specifically to a method and apparatus for supporting a community of subscribers in an environment using a service selection gateway (SSG).
- SSG service selection gateway
- Service selection gateways generally refer to network switches/routers which allow a subscriber to selectively access various services on the Internet.
- a service provider e.g., an interne service provider or a shop providing the subscriber terminals to access the services
- FIG. 1 is a block diagram illustrating an example environment in which the present invention can be implemented
- FIG. 2 is a flow chart illustrating a method in accordance with the present invention
- FIG. 3 is a block diagram illustrating the details of a subscriber policy manager in an embodiment of the present invention
- FIG. 4 is a block diagram illustrating the internals of an embodiment of a service selection gateway (SSG) provided in accordance with the present invention.
- SSG service selection gateway
- FIG. 5 is a block diagram illustrating the details of an embodiment of a system substantially in the form of software according to an aspect of the present invention.
- a service selection gateway implemented according to an aspect of the present invention allows one subscriber of a community to cause rules to be administered (made effective) on another subscriber of the community instance.
- the access policies (in processing packets) affecting the service offering(s) for the another subscriber depend on the various rules administered on the another subscriber. At least for some type of communities (e.g., parent/child relationship, employer/employee relationship) such an ability to permit one person of a community to control the services offered to another person, may be desirable.
- a service provider may conveniently specify the possible rules for each relationship type, and the subscribers permitted to administer the rules for other subscribers may be provided a convenient interface to easily administer the specific rules to administer.
- a community type may be a family in which a community instance contains one subscriber who is a parent and the remaining two subscribers are siblings.
- a rule associated with the family community type may permit a parent to specify the services the siblings are (not) permitted to access, and another rule may specify the amount of bandwidth each sibling is permitted to use. Accordingly, the parent may administer such rules on the two children to control the specific services the siblings are offered/provided.
- FIG. 1 is a block diagram illustrating an example environment in which the present invention can be implemented.
- the environment is shown containing subscriber systems 110 A and 110 B (individually or in combination referred by numeral 110 as will be clear from the context), subscriber policy manager (SPM) 120 , policy database 130 , authentication server 140 , service selection gateway (SSG) 150 , and service networks 170 and 180 .
- SPM subscriber policy manager
- SSG service selection gateway
- Subscriber system 110 generally refers to a user system such as a personal computer (PC) using which a subscriber accesses services typically provided using servers in service networks 170 and 180 .
- PC personal computer
- service networks 170 and 180 For purpose of illustration, it is assumed that there are four subscribers, father, mother, daughter and son. The manner in which the three subscribers may be treated as members of a community instance, and the manner in which several features can be provided according to various aspects of the present invention is described below.
- Service networks 170 and 180 typically contain many servers (not shown) such as web servers and network devices (e.g., routers), which provide different services (e.g., Net Meeting or games between different subscribers).
- the specific services a subscriber is permitted (denied) to access may be determined by the various communities the subscriber is a member of, and the different rules implemented within the community as described below in further detail.
- Authentication server 140 receives authentication information (e.g., user identifier and password) and authenticates the specific subscriber if the provided information is valid.
- Authentication server 140 may be implemented based on RFC-2865, entitled, “Remote Authentication Dial In User Service (RADIUS)”, available from www.ietf.org, and is incorporated in its entirety herewith.
- RFC-2865 entitled, “Remote Authentication Dial In User Service (RADIUS)”, available from www.ietf.org, and is incorporated in its entirety herewith.
- SSG 150 provides potentially different services to different subscribers consistent with the access policies specified for the individual subscribers according to various aspects of the present invention.
- a subscriber (“first subscriber”) may be part of potentially multiple communities (community instances), and other subscribers in the community may specify rules (“administer rules on”) which affect the services provided to the first subscriber.
- the manner in which such community of subscribers may be supported using subscriber policy manager (SPM) 120 and policy database 130 is described with reference to several example below.
- FIG. 2 is a flow-chart illustrating a method using which a community of subscribers may be supported according to an aspect of the present invention.
- the flow-chart is described with reference to the systems of FIG. 1 for illustration. However, the invention can be implemented in other environments as well.
- the method begins in step 201 , in which control immediately passes to step 210 .
- a service provider may define relationship types and associated potential rules.
- the data representing such relationship types may be stored in policy database 130 . Examples of relationships include parent/child, sibling, employer/employee.
- a rule generally controls the access parameters (e.g., bandwidth, latency) or access points (specific services).
- the service provider may facilitate setting up of communities with different relationship types among the community members. For example, a community of four subscribers (father, mother, son, daughter) may be set up, with a parent/child relationship between mother and the two children, and a sibling relationship between the son and daughter.
- the data representing the subscribers and community types may also be stored in policy database 130 .
- the permitted subscribers may be enabled to administer rules for a first subscriber according to relationship type.
- SPM 120 may provide a suitable interface (e.g., web page) using which mother in the above example can send authentication information.
- SPM 120 passes the information to authentication server 140 , which authenticates the mother.
- SPM 120 may then send another web page indicating the services mother is permitted to access and also indicating the specific rules mother can apply against the two children.
- the mother may either access the services or administer the rules for the two children.
- a rule associated with a parent-child relationship may allow a mother to deny a child access of specific (types) web sites, and accordingly a mother may deny the son (first subscriber of step 240 ) access to disney.com.
- another rule may allow a mother to change the bandwidth available for a child, and accordingly the mother may increase the permitted bandwidth for the son. Due to the sibling relationship, the bandwidth upgrade rule only is applied to the daughter as well.
- the first subscriber i.e., the subscriber whose service policies are affected by administration by others
- the first subscriber can be a part of many more communities and the rules for the subscriber may be set by other subscribers as well.
- step 260 the policies/rules (‘/’ implies either individually or together) for the first subscriber (and also the daughter in the above specific example) are stored: SPM 120 may store the policies/rules in policy database 130 . In general, sufficient data needs to be stored so that SSG 150 can be later configured with the appropriate access policies for the first subscriber—son (and also the daughter).
- step 270 it is assumed that the first subscriber wishes to now access the permitted services. Accordingly, the first subscriber may be required to send authentication information.
- SPM 120 may receive the authentication information and interface with authentication server 140 to authenticate the first subscriber. Once authenticated, SPM 120 may retrieve the policies/rules information for the authenticated subscriber from policy database 130 .
- step 280 SPM 120 configures SSG 150 with the policies/rules retrieved from policy database 130 .
- the configuration may be performed according to any cooperating protocol implemented between SPM 120 and SSG 150 . Even if the first subscriber is accessing services when step 240 is performed, SSG 150 may be implemented to dynamically accept the changed policies/rules and be configured according to the changed information.
- SSG 150 forwards the packets related to the first subscriber according to the configured policies in step 290 .
- the description is continued with reference to an example approach of specifying various rules, and then example embodiments of SPM 120 and SSG 150 .
- an administrator for a particular community may first specify the relationships and policies for a corresponding community.
- the administrator may need to specify (as' described below with examples) the global community wide rules (if any), a list of members within this community, possible relationships within this community, relations between the various members of the community, and relationship precedence or ordering list. This contains the precedence of the various relationships in the community.
- relationship tag containing a name/label identifying the relationship
- properties for this relationship e.g., limit on the number of entities/persons for each instance of the relationship, whether the relationship is reflexive, transitive, etc., in case of binary relationships
- rules e.g., what effects can one subscriber cause on another subscriber, in terms of service accessed, etc.
- a family community may contain two relationships (A) parent-child; and (B) sibling relationships.
- An administrator may specify the following for the parent-child relationship:
- SPM 120 needs to be designed to provide a suitable interface to enable administrators to set up various community instances, and the corresponding rules.
- a web-based interface may be provided such that the communities can be set up, possibly from many places.
- Some of the rules may permit one subscriber to administer a rule on another subscriber, and the services provided to the another subscriber depend on the administered rule as well (in addition to the profile of the subscriber).
- SSG 150 , SPM 120 and policy database 130 need to be implemented according to consistent protocols to implement various features of the present invention.
- SSG 150 implements forwarding policies on a per-subscriber basis.
- SPM and policy database 130 may also be implemented to process all the administrator inputs and sends data representing the policies to be enforced with reference to each subscriber.
- Example embodiments of policy database 130 and SPM 120 are described in further detail below.
- policy database 130 is used to store information related to the profiles of the specific subscribers (“subscriber profiles”) as well as communities (“community profile”).
- the community profile contains the global community policies, definition of relationships and rules, the community head (administrator), list of members in the community and relations between the members (subscribers).
- the subscriber profile contains list of access policies for a particular user for his service access through the service selection gateway.
- a subscriber profile may contain the list of service networks a subscriber is allowed to access, amount of bandwidth allocated, personal firewall filter, etc.
- the specific person (rule) causing the enforcement of the policy may also be specified associated with each access policy.
- the subscriber profile may contain the list of communities to which the subscriber belongs.
- Policy database 130 can be implemented using any of several database technologies available from companies such as Oracle (www.oracle.com) and IBM (www.ibm.com). The manner in which SPM 120 uses policy database 130 and causes subscribers to access services according to the corresponding services policies, is described below in further detail.
- SPM 120 contains inbound interface 310 , message classification block 320 , profiles set up block 330 , rules administration block 340 , access policy block 350 , database interface block 370 , policy compiler block 380 , and outbound interface 390 . Each component is described below in further detail.
- Inbound interface 310 provides the electrical, physical and protocol interfaces to enable SPM 120 to receive various messages (in the form of cells/packets). The received messages are forwarded to message classification block 320 .
- Outbound interface 390 also provides the electrical, physical and protocol interfaces to enable SPM 120 to send various data cells/packets. Both inbound interface 310 and outbound interface 390 may be implemented in a known way.
- Message classification block 320 examines each received message and forwards the messages to appropriate subsequent block. Messages related to setting up of communities are forwarded to profiles set up block 330 . Messages related to administration of access policies/rules are forwarded to rules administration block 340 . Messages from SSG 150 related to transfer of access policies are forwarded to access policy block 350 .
- Profiles set up block 330 enables an administrator to define various communities (or community instances) by providing a suitable interface.
- the administrator is first authenticated by using authentication server 140 .
- the authentication information may indicate whether the administrator can set up a community or modify the corresponding community profile.
- One of several possible interfaces may be used to enable an administrator to set up a community once it is determined that the administrator is authorized to set up the community. For example, a web page may be provided to specify the name of the community and members in the community. Similarly, another web page may provide an administrator the option to select different relationships between the specified subscribers in the community, and the rules associated with the selected relationships.
- the information thus provided by an administrator forms a community profile, and data representing the community profile may be stored in policy database 130 using database interface block 370 .
- Some of the rules indicate the specific access policies of other subscribers that may be controlled.
- the details (e.g., specific parameters to be requested from the users for each rule) of the rules may be retrieved from rules table 335 , and new definitions (of new types of rules) may be stored in rules table 335 for later use.
- rules table 335 may also be implemented within policy database 130 .
- Profiles set up block 330 may further enable an administrator to edit community profiles. Again, profiles set up block 330 may first determine whether the administrator is authorized to administer the community sought to be administered, and then permits the authorized administrators to administer the corresponding communities.
- the interface may be provided in the form of web pages, which lists the rules and relationships presently stored in policy database 170 , and conveniently enable the administrator to specify various options such as deletion, addition and edits of various rules and relationships.
- profiles set up block 330 may need to be designed to interface with policy database 130 using database interface block 370 to store and retrieve various pieces of information.
- Database interface block 370 provides various modules the ability to retrieve and store various pieces of data of interest.
- database interface block 370 needs to be implemented consistent with the interfaces provided by the technology underlying policy database 130 , and may be implemented in a known way.
- Rules administration block 340 enables a subscriber to administer rules on other subscribers according to the community profile(s) present in policy database 130 .
- the subscriber may be provided the option to indicate whether the subscriber wishes to administer the rules on any other subscribers. If the subscriber indicates interest to administer rules, rules administration block 340 may examine the subscriber profile of the subscriber to determine the various communities the subscriber is a member of. The profiles of all the communities may then be examined to determine the specific subscribers on which the subject (authenticated) subscriber can administer rules, and any pre-specified rules that may be administered:
- Rules administration block 340 then provides a suitable interface using which the subject subscriber may select (or remove selection) the specific rules to cause the selected rules to be administered on the specific subscribers. For example, a list of rules may be provided associated with each subscriber (the subject subscriber is permitted to administer rules on), and the subject subscriber may merely need to check (or remove check) the specific rules to be administered associated with each subscriber. The interaction may be provided using web pages.
- Rules administration block 340 may interface with policy compiler 380 to determine whether specified rules can be administered consistent with the various community and subscriber profiles. Once it is determined that a rule can be administered, data representing the rule may be stored in policy database 130 using database interface block 370 . The specific subscriber causing the selection of the rule may also be stored.
- Policy compiler block 380 receives a request to specify the access policies (or services to be provided) for a specific subscriber (from access policy block 350 ), and sends data representing the access policies.
- the access policies are determined by examining the rules present in policy database 130 and the corresponding subscriber profile.
- Policy compiler block 380 may be designed to examine the various types of relationships administered with other subscribers as well, in determining the access policies applicable to a present subscriber. For example, if a present subscriber is a subscriber of a sibling subscriber, the rules administered on the sibling subscriber may also be examined to determine whether a rule administered on the sibling subscriber is applicable to the present subscriber as well. Thus, policy compiler block 380 generates data representing the access policies to be used for a subscriber.
- policy compiler 380 may determine whether a specific rule sought to be administered, is in fact permitted to be administered. Such a determination may be made in response to receiving a request for determination from rules administration block 540 . Policy compiler 380 may interface with database interface block 370 to retrieve any profile information necessary for the determination.
- Access policy block 350 receives a request (from SSG 150 ) to provide data representing access policies for an authenticated subscriber, and sends the requested data in response.
- Access policy block 350 interfaces with policy compiler block 380 to determine the access policies for the authenticated subscriber, and then sends the access policies to SSG 150 according to a pre-specified protocol to cause SSG 150 to be configured to provide services to the subscriber according to the access policies.
- SSG 150 and SPM 120 need to be implemented with consistent protocols to provide various features of the present invention. While the embodiment(s) are described with SSG 150 and SPM 120 being implemented as separate embodiments, an alternative embodiment may be implemented to integrate more features of SPM 120 into SSG 150 .
- An example embodiment of service selection gateway consistent with the operation of SPM 120 of FIG. 3 is described below with reference to FIG. 4 .
- FIG. 4 is a block diagram illustrating the details of an embodiment of service selection gateway (SSG) 150 in accordance with an aspect of the present invention.
- SSG 150 is shown containing I/O interface 410 , parser 420 , configuration logic 440 , forwarding/routing table 450 , routing logic 460 , forwarding engine 470 , and set up logic 480 .
- I/O interface 410 parser 420
- configuration logic 440 forwarding/routing table 450
- routing logic 460 routing logic 460
- forwarding engine 470 forwarding engine 470
- set up logic 480 set up logic
- I/O interface 410 provides the physical, electrical and other protocol interfaces necessary for IP packets (potentially using different transports such as ATM) to be sent to and received from the other systems, i.e., subscriber system 110 , service networks 170 and 180 , authentication server 140 , and SPM 120 .
- the received packets are forwarded to parser 420 for further processing.
- I/O interface 410 may contain several physical ports which can be used to send packets on different paths. I/O interface 410 may be implemented in a known way.
- Parser 420 examines each received packet to determine whether to forward the contained data (or the entire packet) to configuration logic 440 , routing logic 460 or forwarding engine 470 . Data related to service/rule information for each specific subscriber is forwarded to configuration logic 440 . Routing related data may be sent to routing logic 460 . IP packets requiring forwarding are sent to forwarding engine 470 .
- Forwarding/routing table 450 stores the routing and service information necessary to process the packets which need to be forwarded to a next hop.
- routing information indicates the path in which the packet is to be forwarded
- the service information indicates whether/when to forward (or block) a packet according to the services the corresponding subscriber is permitted to access.
- the service information may store various parameters related to QOS, etc., as well.
- the service information and routing information may be stored in the form of a single table or separate multiple tables as felt necessary by a designer consistent with the implementation of other components.
- the forwarding/routing table may store other policy information such as the bandwidth to be provided to each subscriber.
- Routing logic 460 processes the routing information received from parser 410 .
- the routing information is stored in forwarding/routing table 450 .
- Routing logic 460 may be implemented in a known way.
- Configuration logic 440 receives packets representing the services to be provided to each subscriber. Configuration logic 440 may configure forwarding/routing table 450 to provide the services based on the received data. As described above, the services to be provided depend on various rules administered on each subscriber. In addition, configuration logic 440 may be provided the ability to configure the forwarding table entries related to a subscriber (dynamically) even if the subscriber is presently accessing services. In one embodiment, configuration block 440 receives data representing the administered rules and determines the services to be provided.
- SPM 120 determines the services to be provided depending on the rules administered and sends packets representing the services directly.
- Configuration logic 440 stores the corresponding service information in the service tables. The information may be stored (and used) in the form of objects, for example, as described in co-pending U.S. patent application Ser. No. 10/086,346; Filed: Mar. 4, 2002, Entitled, “Service Selection Gateway (SSG) Allowing Access to Services Operating Using Changing Set of Access Addresses”, which is incorporated in its entirety herewith.
- Forwarding engine 470 determines the manner in which each packet received from parser 420 is to be processed.
- the routing information may be used to determine the specific port of I/O interface 410 on which to forward the packet.
- the service information may be used to determine whether/when to forward the packet.
- Forwarding engine 470 may need to determine the specific subscriber and service to which a received packet relates to, and process the packet according to the service information related to the subscriber/service.
- Forwarding/routing table 450 may be examined for the routing and service information.
- SSG 150 can be used to enable some members of a community to administer rules on other members of the community. It should be understood that the different components of an SSG can be implemented in a combination of one or more of hardware, software and firmware. In general, when throughput performance is of primary consideration, the implementation is performed more in hardware (e.g., in the form of an application specific integrated circuit).
- the implementation is performed more in software (e.g., using a processor executing instructions provided in software/firmware). Cost and performance can be balanced by implementing SSG 150 with a desired mix of hardware, software and/or firmware. An embodiment implemented substantially in software is described below.
- FIG. 5 is a block diagram illustrating the details of system 500 in one embodiment.
- System 500 can correspond to either SSG 150 or SPM 120 as described below.
- System 500 is shown containing processing unit 510 , random access memory (RAM) 520 , storage 530 , output interface 560 , packet memory 570 , network interface 580 and input interface 590 . Each component is described in further detail below.
- RAM random access memory
- Output interface 560 provides output signals (e.g., display signals to a display unit, not shown) which can form the basis for a suitable subscriber interface for an administrator (configuring system 500 ) to interact with system 500 .
- Network interface 580 may enable system 500 to send and receive data on communication networks using internet protocol (IP).
- IP internet protocol
- network interface 580 can be used to enable an administrator to set up a community, and then a first subscriber to administer rules on a second subscriber in the community.
- Input interface 590 (e.g., interface with a key-board and/or mouse, not shown) enables a user/administrator to provide any necessary inputs to system 500 .
- a service provider may specify the various rules permitted for various relationship types (within SPM 120 ).
- Network interface 580 , output interface 560 and input interface 590 can be implemented in a known way.
- RAM 520 , storage 530 , and packet memory 570 may together be referred to as a memory.
- RAM 520 receives instructions and data on path 550 from storage 530 , and provides the instructions to processing unit 510 for execution.
- Packet memory 570 stores (queues) packets/cells waiting to be forwarded (or otherwise processed) on different ports.
- Secondary memory 530 may contain units such as hard drive 535 and removable storage drive 537 .
- Secondary storage 530 may store the software instructions and data, which enable system 500 to provide several features in accordance with the present invention.
- secondary memory 530 provides the necessary storage to save various information (e.g., the administered rules and/or service information), which forms the basis for the configuration of SSG 150 .
- removable storage unit 540 or from a network using protocols such as Internet Protocol
- removable storage drive 537 to processing unit 510 .
- Floppy drive, magnetic tape drive, CD-ROM drive, DVD Drive, Flash memory, removable memory chip (PCMCIA Card, EPROM) are examples of such removable storage drive 537 .
- Processing unit 510 may contain one or more processors. Some of the processors can be general purpose processors which execute instructions provided from RAM 520 . Some can be special purpose processors adapted for specific tasks (e.g., for memory/queue management). The special purpose processors may also be provided instructions from RAM 520 .
- processing unit 510 reads sequences of instructions from various types of memory medium (including RAM 520 , storage 530 and removable storage unit 540 ), and executes the instructions to provide various features of the present invention.
- memory medium including RAM 520 , storage 530 and removable storage unit 540
- processing unit 510 reads sequences of instructions from various types of memory medium (including RAM 520 , storage 530 and removable storage unit 540 ), and executes the instructions to provide various features of the present invention.
- memory medium including RAM 520 , storage 530 and removable storage unit 540
- processing unit 510 reads sequences of instructions from various types of memory medium (including RAM 520 , storage 530 and removable storage unit 540 ), and executes the instructions to provide various features of the present invention.
- SPM 120 a subscriber may be provided a suitable interface to administer rules on another member of the same community.
- SSG 150 the packets related to the subscribers may be forwarded according to the services determined by subscriber's own profile and the rules administered by other members of the same community.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A service policy manager may be used to enable a first subscriber in a community to administer rules on another subscriber in the same community. A service selection gateway (SSG) may then be configured according to the rules to provides services according to the rules. As a result, the services provided to a subscriber depend not just on the individual profile of the subscriber, but also potentially on the rules administered by other members of the communities the subscriber is a part of.
Description
- The present application is related to the co-pending U.S. patent application Ser. No. 10/086,346; Filed: Mar. 4, 2002, Entitled, “Service Selection Gateway (SSG) Allowing Access to Services Operating Using Changing Set of Access Addresses”, assigned to common assignee, which is incorporated in its entirety herewith.
- 1. Field of the Invention
- The present invention relates to telecommunication networks, and more specifically to a method and apparatus for supporting a community of subscribers in an environment using a service selection gateway (SSG).
- 2. Related Art
- Service selection gateways (SSG) generally refer to network switches/routers which allow a subscriber to selectively access various services on the Internet. In one common environment, a service provider (e.g., an interne service provider or a shop providing the subscriber terminals to access the services) controls the services a subscriber is permitted to access, and charges (receive compensation) the subscriber for accessing/using the services.
- Communities generally refer to a group of subscribers having some type of relationships. Relationships can be well known ones such as father, siblings, from the same school/town, etc., or having any other type of relationship. It may be desirable to provide features of interest to communities using the SSG.
- The present invention will be described with reference to the accompanying drawings, wherein:
-
FIG. 1 is a block diagram illustrating an example environment in which the present invention can be implemented; -
FIG. 2 is a flow chart illustrating a method in accordance with the present invention; -
FIG. 3 is a block diagram illustrating the details of a subscriber policy manager in an embodiment of the present invention; -
FIG. 4 is a block diagram illustrating the internals of an embodiment of a service selection gateway (SSG) provided in accordance with the present invention; and -
FIG. 5 is a block diagram illustrating the details of an embodiment of a system substantially in the form of software according to an aspect of the present invention. - In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.
- A service selection gateway implemented according to an aspect of the present invention allows one subscriber of a community to cause rules to be administered (made effective) on another subscriber of the community instance. The access policies (in processing packets) affecting the service offering(s) for the another subscriber depend on the various rules administered on the another subscriber. At least for some type of communities (e.g., parent/child relationship, employer/employee relationship) such an ability to permit one person of a community to control the services offered to another person, may be desirable.
- Accordingly, a service provider may conveniently specify the possible rules for each relationship type, and the subscribers permitted to administer the rules for other subscribers may be provided a convenient interface to easily administer the specific rules to administer. For example, a community type may be a family in which a community instance contains one subscriber who is a parent and the remaining two subscribers are siblings.
- A rule associated with the family community type may permit a parent to specify the services the siblings are (not) permitted to access, and another rule may specify the amount of bandwidth each sibling is permitted to use. Accordingly, the parent may administer such rules on the two children to control the specific services the siblings are offered/provided.
- Several aspects of the invention are described below with reference to examples for illustration. It should be understood that numerous specific details, relationships, and methods are set forth to provide a full understanding of the invention. One skilled in the relevant art, however, will readily recognize that the invention can be practiced without one or more of the specific details, or with other methods, etc. In other instances, well-known structures or operations are not shown in detail to avoid obscuring the invention.
-
FIG. 1 is a block diagram illustrating an example environment in which the present invention can be implemented. The environment is shown containing subscriber systems 110A and 110B (individually or in combination referred bynumeral 110 as will be clear from the context), subscriber policy manager (SPM) 120,policy database 130,authentication server 140, service selection gateway (SSG) 150, andservice networks -
Subscriber system 110 generally refers to a user system such as a personal computer (PC) using which a subscriber accesses services typically provided using servers inservice networks -
Service networks -
Authentication server 140 receives authentication information (e.g., user identifier and password) and authenticates the specific subscriber if the provided information is valid.Authentication server 140 may be implemented based on RFC-2865, entitled, “Remote Authentication Dial In User Service (RADIUS)”, available from www.ietf.org, and is incorporated in its entirety herewith. - SSG 150 provides potentially different services to different subscribers consistent with the access policies specified for the individual subscribers according to various aspects of the present invention. Broadly, a subscriber (“first subscriber”) may be part of potentially multiple communities (community instances), and other subscribers in the community may specify rules (“administer rules on”) which affect the services provided to the first subscriber. The manner in which such community of subscribers may be supported using subscriber policy manager (SPM) 120 and
policy database 130 is described with reference to several example below. -
FIG. 2 is a flow-chart illustrating a method using which a community of subscribers may be supported according to an aspect of the present invention. The flow-chart is described with reference to the systems ofFIG. 1 for illustration. However, the invention can be implemented in other environments as well. The method begins instep 201, in which control immediately passes tostep 210. - In
step 210, a service provider may define relationship types and associated potential rules. The data representing such relationship types may be stored inpolicy database 130. Examples of relationships include parent/child, sibling, employer/employee. A rule generally controls the access parameters (e.g., bandwidth, latency) or access points (specific services). - In step 220, the service provider may facilitate setting up of communities with different relationship types among the community members. For example, a community of four subscribers (father, mother, son, daughter) may be set up, with a parent/child relationship between mother and the two children, and a sibling relationship between the son and daughter. The data representing the subscribers and community types may also be stored in
policy database 130. - In step 240, the permitted subscribers may be enabled to administer rules for a first subscriber according to relationship type. For example,
SPM 120 may provide a suitable interface (e.g., web page) using which mother in the above example can send authentication information.SPM 120 passes the information toauthentication server 140, which authenticates the mother.SPM 120 may then send another web page indicating the services mother is permitted to access and also indicating the specific rules mother can apply against the two children. - The mother may either access the services or administer the rules for the two children. Assume for illustration, a rule associated with a parent-child relationship may allow a mother to deny a child access of specific (types) web sites, and accordingly a mother may deny the son (first subscriber of step 240) access to disney.com. Similarly, another rule may allow a mother to change the bandwidth available for a child, and accordingly the mother may increase the permitted bandwidth for the son. Due to the sibling relationship, the bandwidth upgrade rule only is applied to the daughter as well.
- Even though only one permitted subscriber (mother) is described as administering the rules for the first subscriber (i.e., son in this example), it should be understood that the first subscriber (i.e., the subscriber whose service policies are affected by administration by others) can be a part of many more communities and the rules for the subscriber may be set by other subscribers as well.
- In
step 260, the policies/rules (‘/’ implies either individually or together) for the first subscriber (and also the daughter in the above specific example) are stored:SPM 120 may store the policies/rules inpolicy database 130. In general, sufficient data needs to be stored so thatSSG 150 can be later configured with the appropriate access policies for the first subscriber—son (and also the daughter). - In
step 270, it is assumed that the first subscriber wishes to now access the permitted services. Accordingly, the first subscriber may be required to send authentication information.SPM 120 may receive the authentication information and interface withauthentication server 140 to authenticate the first subscriber. Once authenticated,SPM 120 may retrieve the policies/rules information for the authenticated subscriber frompolicy database 130. - In
step 280,SPM 120 configuresSSG 150 with the policies/rules retrieved frompolicy database 130. The configuration may be performed according to any cooperating protocol implemented betweenSPM 120 andSSG 150. Even if the first subscriber is accessing services when step 240 is performed,SSG 150 may be implemented to dynamically accept the changed policies/rules and be configured according to the changed information. - Once the configuration is complete,
SSG 150 forwards the packets related to the first subscriber according to the configured policies instep 290. The description is continued with reference to an example approach of specifying various rules, and then example embodiments ofSPM 120 andSSG 150. - In an embodiment, an administrator for a particular community may first specify the relationships and policies for a corresponding community. The administrator may need to specify (as' described below with examples) the global community wide rules (if any), a list of members within this community, possible relationships within this community, relations between the various members of the community, and relationship precedence or ordering list. This contains the precedence of the various relationships in the community.
- When the administrator defines the possible relationships valid within the scope of this community, she/he needs to specify a relationship tag (containing a name/label identifying the relationship), properties for this relationship (e.g., limit on the number of entities/persons for each instance of the relationship, whether the relationship is reflexive, transitive, etc., in case of binary relationships), and the rules (e.g., what effects can one subscriber cause on another subscriber, in terms of service accessed, etc.).
- For example, a family community may contain two relationships (A) parent-child; and (B) sibling relationships. An administrator may specify the following for the parent-child relationship:
- (1) Relationship tag: parent-child;
- (2) Number of entities in an instance of the relationship: 2;
- (3) Relationship properties: Transitive; and
- (4) Relationship rules: if A is the parent of B, then A can administer policy on B.
- When a transitive property is specified as above, a grandparent of the community could administer policies on grandchildren.
- For sibling relationship, the following could be specified:
- (1) Relationship tag: Sibling;
- (2) Number of entities in an instance of the relationship: 2;
- (3) Relationship properties: Symmetric and transitive; and
- (4) Relationship rules: If A and B are siblings, any policy administered on A is applied on B also.
- Thus, assuming there are 5 members A, B, C, D and E in this family community, and an administrator may specify the following:
- (1) A is a parent of C;
- (2) B is a parent of C;
- (3) C and D are siblings; and
- (4) C and E are siblings.
- In general,
SPM 120 needs to be designed to provide a suitable interface to enable administrators to set up various community instances, and the corresponding rules. For example, a web-based interface may be provided such that the communities can be set up, possibly from many places. Some of the rules may permit one subscriber to administer a rule on another subscriber, and the services provided to the another subscriber depend on the administered rule as well (in addition to the profile of the subscriber). - In addition,
SSG 150,SPM 120 andpolicy database 130 need to be implemented according to consistent protocols to implement various features of the present invention. In an embodiment described below,SSG 150 implements forwarding policies on a per-subscriber basis. Accordingly, SPM andpolicy database 130 may also be implemented to process all the administrator inputs and sends data representing the policies to be enforced with reference to each subscriber. Example embodiments ofpolicy database 130 andSPM 120 are described in further detail below. - In general,
policy database 130 is used to store information related to the profiles of the specific subscribers (“subscriber profiles”) as well as communities (“community profile”). The community profile contains the global community policies, definition of relationships and rules, the community head (administrator), list of members in the community and relations between the members (subscribers). - The subscriber profile contains list of access policies for a particular user for his service access through the service selection gateway. For example, a subscriber profile may contain the list of service networks a subscriber is allowed to access, amount of bandwidth allocated, personal firewall filter, etc. In addition, the specific person (rule) causing the enforcement of the policy may also be specified associated with each access policy. In addition, the subscriber profile may contain the list of communities to which the subscriber belongs.
-
Policy database 130 can be implemented using any of several database technologies available from companies such as Oracle (www.oracle.com) and IBM (www.ibm.com). The manner in whichSPM 120 usespolicy database 130 and causes subscribers to access services according to the corresponding services policies, is described below in further detail. - In an embodiment,
SPM 120 containsinbound interface 310,message classification block 320, profiles set upblock 330,rules administration block 340,access policy block 350, database interface block 370,policy compiler block 380, andoutbound interface 390. Each component is described below in further detail. -
Inbound interface 310 provides the electrical, physical and protocol interfaces to enableSPM 120 to receive various messages (in the form of cells/packets). The received messages are forwarded tomessage classification block 320.Outbound interface 390 also provides the electrical, physical and protocol interfaces to enableSPM 120 to send various data cells/packets. Bothinbound interface 310 andoutbound interface 390 may be implemented in a known way. -
Message classification block 320 examines each received message and forwards the messages to appropriate subsequent block. Messages related to setting up of communities are forwarded to profiles set upblock 330. Messages related to administration of access policies/rules are forwarded torules administration block 340. Messages fromSSG 150 related to transfer of access policies are forwarded to accesspolicy block 350. - Profiles set up
block 330 enables an administrator to define various communities (or community instances) by providing a suitable interface. The administrator is first authenticated by usingauthentication server 140. The authentication information may indicate whether the administrator can set up a community or modify the corresponding community profile. - One of several possible interfaces may be used to enable an administrator to set up a community once it is determined that the administrator is authorized to set up the community. For example, a web page may be provided to specify the name of the community and members in the community. Similarly, another web page may provide an administrator the option to select different relationships between the specified subscribers in the community, and the rules associated with the selected relationships.
- The information thus provided by an administrator forms a community profile, and data representing the community profile may be stored in
policy database 130 using database interface block 370. Some of the rules indicate the specific access policies of other subscribers that may be controlled. The details (e.g., specific parameters to be requested from the users for each rule) of the rules may be retrieved from rules table 335, and new definitions (of new types of rules) may be stored in rules table 335 for later use. Alternatively, rules table 335 may also be implemented withinpolicy database 130. - Profiles set up
block 330 may further enable an administrator to edit community profiles. Again, profiles set upblock 330 may first determine whether the administrator is authorized to administer the community sought to be administered, and then permits the authorized administrators to administer the corresponding communities. The interface may be provided in the form of web pages, which lists the rules and relationships presently stored inpolicy database 170, and conveniently enable the administrator to specify various options such as deletion, addition and edits of various rules and relationships. - Thus, profiles set up
block 330 may need to be designed to interface withpolicy database 130 using database interface block 370 to store and retrieve various pieces of information. Database interface block 370 provides various modules the ability to retrieve and store various pieces of data of interest. In general, database interface block 370 needs to be implemented consistent with the interfaces provided by the technology underlyingpolicy database 130, and may be implemented in a known way. -
Rules administration block 340 enables a subscriber to administer rules on other subscribers according to the community profile(s) present inpolicy database 130. When a subscriber is authenticated, the subscriber may be provided the option to indicate whether the subscriber wishes to administer the rules on any other subscribers. If the subscriber indicates interest to administer rules,rules administration block 340 may examine the subscriber profile of the subscriber to determine the various communities the subscriber is a member of. The profiles of all the communities may then be examined to determine the specific subscribers on which the subject (authenticated) subscriber can administer rules, and any pre-specified rules that may be administered: -
Rules administration block 340 then provides a suitable interface using which the subject subscriber may select (or remove selection) the specific rules to cause the selected rules to be administered on the specific subscribers. For example, a list of rules may be provided associated with each subscriber (the subject subscriber is permitted to administer rules on), and the subject subscriber may merely need to check (or remove check) the specific rules to be administered associated with each subscriber. The interaction may be provided using web pages. -
Rules administration block 340 may interface withpolicy compiler 380 to determine whether specified rules can be administered consistent with the various community and subscriber profiles. Once it is determined that a rule can be administered, data representing the rule may be stored inpolicy database 130 using database interface block 370. The specific subscriber causing the selection of the rule may also be stored. -
Policy compiler block 380 receives a request to specify the access policies (or services to be provided) for a specific subscriber (from access policy block 350), and sends data representing the access policies. The access policies are determined by examining the rules present inpolicy database 130 and the corresponding subscriber profile. -
Policy compiler block 380 may be designed to examine the various types of relationships administered with other subscribers as well, in determining the access policies applicable to a present subscriber. For example, if a present subscriber is a subscriber of a sibling subscriber, the rules administered on the sibling subscriber may also be examined to determine whether a rule administered on the sibling subscriber is applicable to the present subscriber as well. Thus,policy compiler block 380 generates data representing the access policies to be used for a subscriber. - In addition,
policy compiler 380 may determine whether a specific rule sought to be administered, is in fact permitted to be administered. Such a determination may be made in response to receiving a request for determination fromrules administration block 540.Policy compiler 380 may interface with database interface block 370 to retrieve any profile information necessary for the determination. -
Access policy block 350 receives a request (from SSG 150) to provide data representing access policies for an authenticated subscriber, and sends the requested data in response.Access policy block 350 interfaces withpolicy compiler block 380 to determine the access policies for the authenticated subscriber, and then sends the access policies toSSG 150 according to a pre-specified protocol to causeSSG 150 to be configured to provide services to the subscriber according to the access policies. - In general,
SSG 150 andSPM 120 need to be implemented with consistent protocols to provide various features of the present invention. While the embodiment(s) are described withSSG 150 andSPM 120 being implemented as separate embodiments, an alternative embodiment may be implemented to integrate more features ofSPM 120 intoSSG 150. An example embodiment of service selection gateway consistent with the operation ofSPM 120 ofFIG. 3 , is described below with reference toFIG. 4 . -
FIG. 4 is a block diagram illustrating the details of an embodiment of service selection gateway (SSG) 150 in accordance with an aspect of the present invention.SSG 150 is shown containing I/O interface 410,parser 420,configuration logic 440, forwarding/routing table 450, routinglogic 460, forwardingengine 470, and set up logic 480. Each of the blocks is described in further detail below. - I/
O interface 410 provides the physical, electrical and other protocol interfaces necessary for IP packets (potentially using different transports such as ATM) to be sent to and received from the other systems, i.e.,subscriber system 110,service networks authentication server 140, andSPM 120. The received packets are forwarded toparser 420 for further processing. I/O interface 410 may contain several physical ports which can be used to send packets on different paths. I/O interface 410 may be implemented in a known way. -
Parser 420 examines each received packet to determine whether to forward the contained data (or the entire packet) toconfiguration logic 440, routinglogic 460 or forwardingengine 470. Data related to service/rule information for each specific subscriber is forwarded toconfiguration logic 440. Routing related data may be sent torouting logic 460. IP packets requiring forwarding are sent to forwardingengine 470. - Forwarding/routing table 450 stores the routing and service information necessary to process the packets which need to be forwarded to a next hop. In general, routing information indicates the path in which the packet is to be forwarded, and the service information indicates whether/when to forward (or block) a packet according to the services the corresponding subscriber is permitted to access. In addition, the service information may store various parameters related to QOS, etc., as well.
- The service information and routing information may be stored in the form of a single table or separate multiple tables as felt necessary by a designer consistent with the implementation of other components. The forwarding/routing table may store other policy information such as the bandwidth to be provided to each subscriber.
-
Routing logic 460 processes the routing information received fromparser 410. The routing information is stored in forwarding/routing table 450.Routing logic 460 may be implemented in a known way. -
Configuration logic 440 receives packets representing the services to be provided to each subscriber.Configuration logic 440 may configure forwarding/routing table 450 to provide the services based on the received data. As described above, the services to be provided depend on various rules administered on each subscriber. In addition,configuration logic 440 may be provided the ability to configure the forwarding table entries related to a subscriber (dynamically) even if the subscriber is presently accessing services. In one embodiment,configuration block 440 receives data representing the administered rules and determines the services to be provided. - In an alternative embodiment,
SPM 120 determines the services to be provided depending on the rules administered and sends packets representing the services directly.Configuration logic 440 stores the corresponding service information in the service tables. The information may be stored (and used) in the form of objects, for example, as described in co-pending U.S. patent application Ser. No. 10/086,346; Filed: Mar. 4, 2002, Entitled, “Service Selection Gateway (SSG) Allowing Access to Services Operating Using Changing Set of Access Addresses”, which is incorporated in its entirety herewith. -
Forwarding engine 470 determines the manner in which each packet received fromparser 420 is to be processed. The routing information may be used to determine the specific port of I/O interface 410 on which to forward the packet. The service information may be used to determine whether/when to forward the packet.Forwarding engine 470 may need to determine the specific subscriber and service to which a received packet relates to, and process the packet according to the service information related to the subscriber/service. Forwarding/routing table 450 may be examined for the routing and service information. - Thus,
SSG 150 can be used to enable some members of a community to administer rules on other members of the community. It should be understood that the different components of an SSG can be implemented in a combination of one or more of hardware, software and firmware. In general, when throughput performance is of primary consideration, the implementation is performed more in hardware (e.g., in the form of an application specific integrated circuit). - When cost is of primary consideration, the implementation is performed more in software (e.g., using a processor executing instructions provided in software/firmware). Cost and performance can be balanced by implementing
SSG 150 with a desired mix of hardware, software and/or firmware. An embodiment implemented substantially in software is described below. -
FIG. 5 is a block diagram illustrating the details of system 500 in one embodiment. System 500 can correspond to eitherSSG 150 orSPM 120 as described below. System 500 is shown containing processing unit 510, random access memory (RAM) 520,storage 530, output interface 560, packet memory 570, network interface 580 and input interface 590. Each component is described in further detail below. - Output interface 560 provides output signals (e.g., display signals to a display unit, not shown) which can form the basis for a suitable subscriber interface for an administrator (configuring system 500) to interact with system 500. Network interface 580 may enable system 500 to send and receive data on communication networks using internet protocol (IP). In the case of
SPM 120, network interface 580 can be used to enable an administrator to set up a community, and then a first subscriber to administer rules on a second subscriber in the community. - Input interface 590 (e.g., interface with a key-board and/or mouse, not shown) enables a user/administrator to provide any necessary inputs to system 500. For example, using input interface 590 and output interface 560, a service provider may specify the various rules permitted for various relationship types (within SPM 120). Network interface 580, output interface 560 and input interface 590 can be implemented in a known way.
- RAM 520,
storage 530, and packet memory 570 may together be referred to as a memory. RAM 520 receives instructions and data onpath 550 fromstorage 530, and provides the instructions to processing unit 510 for execution. Packet memory 570 stores (queues) packets/cells waiting to be forwarded (or otherwise processed) on different ports. -
Secondary memory 530 may contain units such ashard drive 535 andremovable storage drive 537.Secondary storage 530 may store the software instructions and data, which enable system 500 to provide several features in accordance with the present invention. In an embodiment,secondary memory 530 provides the necessary storage to save various information (e.g., the administered rules and/or service information), which forms the basis for the configuration ofSSG 150. - Some or all of the data and instructions may be provided on removable storage unit 540 (or from a network using protocols such as Internet Protocol), and the data and instructions may be read and provided by
removable storage drive 537 to processing unit 510. Floppy drive, magnetic tape drive, CD-ROM drive, DVD Drive, Flash memory, removable memory chip (PCMCIA Card, EPROM) are examples of suchremovable storage drive 537. - Processing unit 510 may contain one or more processors. Some of the processors can be general purpose processors which execute instructions provided from RAM 520. Some can be special purpose processors adapted for specific tasks (e.g., for memory/queue management). The special purpose processors may also be provided instructions from RAM 520.
- In general, processing unit 510 reads sequences of instructions from various types of memory medium (including RAM 520,
storage 530 and removable storage unit 540), and executes the instructions to provide various features of the present invention. Thus, in the case ofSPM 120, a subscriber may be provided a suitable interface to administer rules on another member of the same community. In the case ofSSG 150, the packets related to the subscribers may be forwarded according to the services determined by subscriber's own profile and the rules administered by other members of the same community. - While the above embodiment(s) are described above substantially with reference to hierarchical (e.g., parent/child) and equal (e.g., siblings) relationships, it should be understood that alternative embodiments can be implemented with any other types of relationships and rules (which can be any type according to the well known principles in graph theory). Such embodiments are contemplated to be within various aspects of the present invention.
- While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims (22)
1-39. (canceled)
40. An apparatus, comprising:
a gateway that includes a processor and a memory element, wherein the gateway is configured to exchange data in a network environment, and wherein the gateway is further configured to:
access a policy associated with a community of subscribers that includes a first subscriber, a second subscriber, and a third subscriber, wherein the policy includes a first determination by the first subscriber for allocating bandwidth to the second subscriber and to the third subscriber, and wherein the policy includes a second determination by the first subscriber for controlling services provided to the second subscriber and to the third subscriber; and
forward packets to the second subscriber and to the third subscriber according to the policy.
41. The apparatus of claim 40 , wherein access to the policy is performed by accessing a database that stores a plurality of policies associated with a plurality of communities in the network.
42. The apparatus of claim 40 , wherein a web page is provided for entering the first and second determinations by the first subscriber.
43. The apparatus of claim 42 , wherein the web page is configured to receive authentication information from the first subscriber before the policy can be changed.
44. The apparatus of claim 40 , wherein the policy is evaluated in order to deny access to one or more websites based on a third determination made by the first subscriber.
45. The apparatus of claim 40 , wherein the gateway is further configured to:
increase bandwidth automatically for the third subscriber if bandwidth is increased for the second subscriber, wherein the bandwidth is increased for the second subscriber based on a change in the policy by the first subscriber.
46. The apparatus of claim 40 , wherein the first subscriber defines whether a selected one of a plurality of relationships in the community is transitive, and wherein if the selected relationship is transitive then the first subscriber and the third subscriber are both authorized to administer a policy decision for the second subscriber.
47. The apparatus of claim 46 , wherein the policy decision involves access to a network service for the second subscriber and a firewall parameter associated with the second subscriber.
48. The apparatus of claim 40 , wherein the first subscriber defines whether a selected one of a plurality of relationships in the community is symmetrical, and wherein if the selected relationship is symmetrical then a policy decision made for the second subscriber by the first subscriber is automatically applied to the third subscriber without requiring additional input from the first subscriber.
49. The apparatus of claim 48 , wherein the policy decision involves access to a network service for the second subscriber and a firewall parameter associated with the second subscriber.
50. The apparatus of claim 40 , wherein the policy includes a list of service networks the second subscriber is permitted to access, and the policy includes a firewall filter to be applied to traffic associated with the second subscriber.
51. A method, comprising:
accessing a policy associated with a community of subscribers that includes a first subscriber, a second subscriber, and a third subscriber, wherein the policy includes a first determination by the first subscriber for allocating bandwidth to the second subscriber and to the third subscriber, and wherein the policy includes a second determination by the first subscriber for controlling services provided to the second subscriber and to the third subscriber; and
forwarding packets to the second subscriber and to the third subscriber according to the policy.
52. The method of claim 51 , wherein access to the policy is performed by accessing a database that stores a plurality of policies associated with a plurality of communities in the network.
53. The method of claim 51 , wherein a web page is provided for entering the first and second determinations by the first subscriber, and wherein the web page is configured to receive authentication information from the first subscriber before the policy can be changed.
54. The method of claim 51 , wherein the policy is evaluated in order to deny access to one or more websites based on a third determination made by the first subscriber.
55. The method of claim 51 , further comprising:
increasing bandwidth automatically for the third subscriber if bandwidth is increased for the second subscriber, wherein the bandwidth is increased for the second subscriber based on a change in the policy by the first subscriber.
56. The method of claim 51 , wherein the first subscriber defines whether a selected one of a plurality of relationships in the community is transitive, and wherein if the selected relationship is transitive then the first subscriber and the third subscriber are both authorized to administer a policy decision for the second subscriber.
57. The method of claim 51 , wherein the first subscriber defines whether a selected one of a plurality of relationships in the community is symmetrical, and wherein if the selected relationship is symmetrical then a policy decision made for the second subscriber by the first subscriber is automatically applied to the third subscriber without requiring additional input from the first subscriber.
58. Logic encoded in one or more tangible media that includes code for execution and when executed by a processor operable to perform operations comprising:
accessing a policy associated with a community of subscribers that includes a first subscriber, a second subscriber, and a third subscriber, wherein the policy includes a first determination by the first subscriber for allocating bandwidth to the second subscriber and to the third subscriber, and wherein the policy includes a second determination by the first subscriber for controlling services provided to the second subscriber and to the third subscriber; and
forwarding packets to the second subscriber and to the third subscriber according to the policy.
59. The logic of claim 58 , wherein access to the policy is performed by accessing a database that stores a plurality of policies associated with a plurality of communities in the network.
60. The logic of claim 58 , wherein a web page is provided for entering the first and second determinations by the first subscriber, and wherein the web page is configured to receive authentication information from the first subscriber before the policy can be changed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/781,574 US20100228860A1 (en) | 2002-07-08 | 2010-05-17 | Supporting a Community of Subscribers in an Environment Using a Service Selection Gateway (SSG) |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/189,519 US7774483B1 (en) | 2002-07-08 | 2002-07-08 | Supporting a community of subscribers in an environment using a service selection gateway (SSG) |
US12/781,574 US20100228860A1 (en) | 2002-07-08 | 2010-05-17 | Supporting a Community of Subscribers in an Environment Using a Service Selection Gateway (SSG) |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/189,519 Continuation US7774483B1 (en) | 2002-07-08 | 2002-07-08 | Supporting a community of subscribers in an environment using a service selection gateway (SSG) |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100228860A1 true US20100228860A1 (en) | 2010-09-09 |
Family
ID=42536671
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/189,519 Expired - Fee Related US7774483B1 (en) | 2002-07-08 | 2002-07-08 | Supporting a community of subscribers in an environment using a service selection gateway (SSG) |
US12/781,574 Abandoned US20100228860A1 (en) | 2002-07-08 | 2010-05-17 | Supporting a Community of Subscribers in an Environment Using a Service Selection Gateway (SSG) |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/189,519 Expired - Fee Related US7774483B1 (en) | 2002-07-08 | 2002-07-08 | Supporting a community of subscribers in an environment using a service selection gateway (SSG) |
Country Status (1)
Country | Link |
---|---|
US (2) | US7774483B1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7774483B1 (en) * | 2002-07-08 | 2010-08-10 | Cisco Technology, Inc. | Supporting a community of subscribers in an environment using a service selection gateway (SSG) |
US8417236B2 (en) | 2009-10-22 | 2013-04-09 | Cisco Technology, Inc. | Systems and methods for classifying user equipment and selecting tracking areas |
US8594014B2 (en) * | 2009-10-22 | 2013-11-26 | Cisco Technology, Inc. | Systems and methods for selecting tracking areas and reducing paging |
US9872269B2 (en) * | 2009-10-22 | 2018-01-16 | Cisco Technology, Inc. | Systems and methods for reduced latency tracking area selection |
US8358593B2 (en) | 2009-10-22 | 2013-01-22 | Cisco Technology, Inc. | Systems and methods for selecting serving gateways to service user equipment |
US9397978B1 (en) * | 2012-12-21 | 2016-07-19 | Western Digital Technologies, Inc. | Cloud to local router security |
GB2533101B (en) * | 2014-12-09 | 2017-03-15 | Haandle Ltd | Distributing a network access policy |
Citations (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US588230A (en) * | 1897-08-17 | Process of generating gas from carbids | ||
US5210869A (en) * | 1990-05-24 | 1993-05-11 | International Business Machines Corporation | Method and system for automated transmission of failure of delivery message in a data processing system |
US5261052A (en) * | 1989-03-27 | 1993-11-09 | Hitachi, Ltd. | Designated mail delivery system |
US5493614A (en) * | 1994-05-03 | 1996-02-20 | Chaum; David | Private signature and proof systems |
US5518122A (en) * | 1991-08-09 | 1996-05-21 | Westinghouse Electric Corp. | Modular mail processing method and control system |
US5673393A (en) * | 1993-11-24 | 1997-09-30 | Intel Corporation | Managing bandwidth over a computer network having a management computer that allocates bandwidth to client computers upon request |
US5826243A (en) * | 1994-01-03 | 1998-10-20 | Merrill Lynch & Co., Inc. | Integrated system for controlling master account and nested subaccount(s) |
US5953710A (en) * | 1996-10-09 | 1999-09-14 | Fleming; Stephen S. | Children's credit or debit card system |
US5951637A (en) * | 1997-05-07 | 1999-09-14 | Intel Corporation | Bandwidth reservation system |
US5983261A (en) * | 1996-07-01 | 1999-11-09 | Apple Computer, Inc. | Method and apparatus for allocating bandwidth in teleconferencing applications using bandwidth control |
US5996011A (en) * | 1997-03-25 | 1999-11-30 | Unified Research Laboratories, Inc. | System and method for filtering data received by a computer system |
US6131120A (en) * | 1997-10-24 | 2000-10-10 | Directory Logic, Inc. | Enterprise network management directory containing network addresses of users and devices providing access lists to routers and servers |
US6151316A (en) * | 1997-02-14 | 2000-11-21 | Advanced Micro Devices, Inc. | Apparatus and method for synthesizing management packets for transmission between a network switch and a host controller |
US6233618B1 (en) * | 1998-03-31 | 2001-05-15 | Content Advisor, Inc. | Access control of networked data |
US20020049806A1 (en) * | 2000-05-16 | 2002-04-25 | Scott Gatz | Parental control system for use in connection with account-based internet access server |
US20020057298A1 (en) * | 1998-12-30 | 2002-05-16 | Jack Wassom | Customized user interface |
US6405243B1 (en) * | 1996-04-05 | 2002-06-11 | Sun Microsystems, Inc. | Method and system for updating email addresses |
US20020095386A1 (en) * | 2000-12-07 | 2002-07-18 | Maritzen L. Michael | Account control and access management of sub-accounts from master account |
US6427174B1 (en) * | 1998-11-12 | 2002-07-30 | Cisco Technology, Inc. | Dynamic IP addressing and quality of service assurance |
US6438583B1 (en) * | 1999-06-23 | 2002-08-20 | Re-Route Corporation | System and method for re-routing of e-mail messages |
US20020122422A1 (en) * | 2000-09-11 | 2002-09-05 | Anthony Kenney | Central policy manager |
US20020141382A1 (en) * | 2001-03-13 | 2002-10-03 | Winther Matthew T. | Wireless communication network for enabling internet access |
US20030014659A1 (en) * | 2001-07-16 | 2003-01-16 | Koninklijke Philips Electronics N.V. | Personalized filter for Web browsing |
US6510458B1 (en) * | 1999-07-15 | 2003-01-21 | International Business Machines Corporation | Blocking saves to web browser cache based on content rating |
US20030055962A1 (en) * | 2001-07-06 | 2003-03-20 | Freund Gregor P. | System providing internet access management with router-based policy enforcement |
US6564264B1 (en) * | 1999-12-08 | 2003-05-13 | At&T Corp. | System, apparatus and method for automatic address updating of outgoing and incoming user messages in a communications network |
US6745267B2 (en) * | 2002-08-09 | 2004-06-01 | Carry Computer Eng. Co., Ltd. | Multi-functional mini-memory card suitable for SFMI and USB interfaces |
US6785728B1 (en) * | 1997-03-10 | 2004-08-31 | David S. Schneider | Distributed administration of access to information |
US6816456B1 (en) * | 2000-02-04 | 2004-11-09 | At&T Corp. | Methods and apparatus for network use optimization |
US20050130112A1 (en) * | 1997-04-04 | 2005-06-16 | Mikhail Lotvin | Computer systems and methods supporting on-line interaction with content, purchasing, and searching |
US6934292B1 (en) * | 1999-11-09 | 2005-08-23 | Intel Corporation | Method and system for emulating a single router in a switch stack |
US6954429B2 (en) * | 2000-04-05 | 2005-10-11 | Dyband Corporation | Bandwidth control system |
US6993026B1 (en) * | 2000-08-31 | 2006-01-31 | Verizon Communications Inc. | Methods, apparatus and data structures for preserving address and service level information in a virtual private network |
US7013565B1 (en) * | 2003-08-20 | 2006-03-21 | Zelinski Joseph R | Removable collector for liquid cooled exhaust |
US7209443B2 (en) * | 2001-08-31 | 2007-04-24 | Mitsubishi Denki Kabushiki Kaisha | Bandwidth updating method and bandwidth updating apparatus |
US7281038B1 (en) * | 1998-12-24 | 2007-10-09 | Redback Networks Inc. | Dynamic binding of network services |
US7316029B1 (en) * | 2001-10-25 | 2008-01-01 | Sprint Communications Company L.P. | Network security services architecture |
US7433943B1 (en) * | 2001-12-20 | 2008-10-07 | Packeteer, Inc. | Volume-based network management scheme |
US7450507B2 (en) * | 2002-06-05 | 2008-11-11 | Lucent Technologies Inc. | Hierarchal rate-limiting at a network node that utilizes an infinity rate-limit check |
US7571466B2 (en) * | 2001-02-23 | 2009-08-04 | Microsoft Corporation | Parental consent service |
US7650420B2 (en) * | 2001-12-28 | 2010-01-19 | The Directv Group, Inc. | System and method for content filtering |
US7774483B1 (en) * | 2002-07-08 | 2010-08-10 | Cisco Technology, Inc. | Supporting a community of subscribers in an environment using a service selection gateway (SSG) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878230A (en) | 1995-01-05 | 1999-03-02 | International Business Machines Corporation | System for email messages wherein the sender designates whether the recipient replies or forwards to addresses also designated by the sender |
US6745367B1 (en) * | 1999-09-27 | 2004-06-01 | International Business Machines Corporation | Method and computer program product for implementing parental supervision for internet browsing |
US7013342B2 (en) * | 2001-12-10 | 2006-03-14 | Packeteer, Inc. | Dynamic tunnel probing in a communications network |
-
2002
- 2002-07-08 US US10/189,519 patent/US7774483B1/en not_active Expired - Fee Related
-
2010
- 2010-05-17 US US12/781,574 patent/US20100228860A1/en not_active Abandoned
Patent Citations (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US588230A (en) * | 1897-08-17 | Process of generating gas from carbids | ||
US5261052A (en) * | 1989-03-27 | 1993-11-09 | Hitachi, Ltd. | Designated mail delivery system |
US5210869A (en) * | 1990-05-24 | 1993-05-11 | International Business Machines Corporation | Method and system for automated transmission of failure of delivery message in a data processing system |
US5518122A (en) * | 1991-08-09 | 1996-05-21 | Westinghouse Electric Corp. | Modular mail processing method and control system |
US5673393A (en) * | 1993-11-24 | 1997-09-30 | Intel Corporation | Managing bandwidth over a computer network having a management computer that allocates bandwidth to client computers upon request |
US5826243A (en) * | 1994-01-03 | 1998-10-20 | Merrill Lynch & Co., Inc. | Integrated system for controlling master account and nested subaccount(s) |
US5493614A (en) * | 1994-05-03 | 1996-02-20 | Chaum; David | Private signature and proof systems |
US6405243B1 (en) * | 1996-04-05 | 2002-06-11 | Sun Microsystems, Inc. | Method and system for updating email addresses |
US5983261A (en) * | 1996-07-01 | 1999-11-09 | Apple Computer, Inc. | Method and apparatus for allocating bandwidth in teleconferencing applications using bandwidth control |
US5953710A (en) * | 1996-10-09 | 1999-09-14 | Fleming; Stephen S. | Children's credit or debit card system |
US6151316A (en) * | 1997-02-14 | 2000-11-21 | Advanced Micro Devices, Inc. | Apparatus and method for synthesizing management packets for transmission between a network switch and a host controller |
US6785728B1 (en) * | 1997-03-10 | 2004-08-31 | David S. Schneider | Distributed administration of access to information |
US5996011A (en) * | 1997-03-25 | 1999-11-30 | Unified Research Laboratories, Inc. | System and method for filtering data received by a computer system |
US20050130112A1 (en) * | 1997-04-04 | 2005-06-16 | Mikhail Lotvin | Computer systems and methods supporting on-line interaction with content, purchasing, and searching |
US5951637A (en) * | 1997-05-07 | 1999-09-14 | Intel Corporation | Bandwidth reservation system |
US6131120A (en) * | 1997-10-24 | 2000-10-10 | Directory Logic, Inc. | Enterprise network management directory containing network addresses of users and devices providing access lists to routers and servers |
US6233618B1 (en) * | 1998-03-31 | 2001-05-15 | Content Advisor, Inc. | Access control of networked data |
US6427174B1 (en) * | 1998-11-12 | 2002-07-30 | Cisco Technology, Inc. | Dynamic IP addressing and quality of service assurance |
US7281038B1 (en) * | 1998-12-24 | 2007-10-09 | Redback Networks Inc. | Dynamic binding of network services |
US20020057298A1 (en) * | 1998-12-30 | 2002-05-16 | Jack Wassom | Customized user interface |
US6438583B1 (en) * | 1999-06-23 | 2002-08-20 | Re-Route Corporation | System and method for re-routing of e-mail messages |
US6510458B1 (en) * | 1999-07-15 | 2003-01-21 | International Business Machines Corporation | Blocking saves to web browser cache based on content rating |
US6934292B1 (en) * | 1999-11-09 | 2005-08-23 | Intel Corporation | Method and system for emulating a single router in a switch stack |
US6564264B1 (en) * | 1999-12-08 | 2003-05-13 | At&T Corp. | System, apparatus and method for automatic address updating of outgoing and incoming user messages in a communications network |
US6816456B1 (en) * | 2000-02-04 | 2004-11-09 | At&T Corp. | Methods and apparatus for network use optimization |
US6954429B2 (en) * | 2000-04-05 | 2005-10-11 | Dyband Corporation | Bandwidth control system |
US20020049806A1 (en) * | 2000-05-16 | 2002-04-25 | Scott Gatz | Parental control system for use in connection with account-based internet access server |
US6993026B1 (en) * | 2000-08-31 | 2006-01-31 | Verizon Communications Inc. | Methods, apparatus and data structures for preserving address and service level information in a virtual private network |
US20020122422A1 (en) * | 2000-09-11 | 2002-09-05 | Anthony Kenney | Central policy manager |
US20020095386A1 (en) * | 2000-12-07 | 2002-07-18 | Maritzen L. Michael | Account control and access management of sub-accounts from master account |
US7571466B2 (en) * | 2001-02-23 | 2009-08-04 | Microsoft Corporation | Parental consent service |
US20020141382A1 (en) * | 2001-03-13 | 2002-10-03 | Winther Matthew T. | Wireless communication network for enabling internet access |
US20030055962A1 (en) * | 2001-07-06 | 2003-03-20 | Freund Gregor P. | System providing internet access management with router-based policy enforcement |
US20030014659A1 (en) * | 2001-07-16 | 2003-01-16 | Koninklijke Philips Electronics N.V. | Personalized filter for Web browsing |
US7209443B2 (en) * | 2001-08-31 | 2007-04-24 | Mitsubishi Denki Kabushiki Kaisha | Bandwidth updating method and bandwidth updating apparatus |
US7316029B1 (en) * | 2001-10-25 | 2008-01-01 | Sprint Communications Company L.P. | Network security services architecture |
US7433943B1 (en) * | 2001-12-20 | 2008-10-07 | Packeteer, Inc. | Volume-based network management scheme |
US7650420B2 (en) * | 2001-12-28 | 2010-01-19 | The Directv Group, Inc. | System and method for content filtering |
US7450507B2 (en) * | 2002-06-05 | 2008-11-11 | Lucent Technologies Inc. | Hierarchal rate-limiting at a network node that utilizes an infinity rate-limit check |
US7774483B1 (en) * | 2002-07-08 | 2010-08-10 | Cisco Technology, Inc. | Supporting a community of subscribers in an environment using a service selection gateway (SSG) |
US6745267B2 (en) * | 2002-08-09 | 2004-06-01 | Carry Computer Eng. Co., Ltd. | Multi-functional mini-memory card suitable for SFMI and USB interfaces |
US7013565B1 (en) * | 2003-08-20 | 2006-03-21 | Zelinski Joseph R | Removable collector for liquid cooled exhaust |
Non-Patent Citations (1)
Title |
---|
NetNanny.com, Net Nanny 4 Product Description, http://web.archive.org/web/20010602132439/http://www.netnanny.com/home/home.asp, Net Nanny 4, pp. 1-3. * |
Also Published As
Publication number | Publication date |
---|---|
US7774483B1 (en) | 2010-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8769629B2 (en) | User sensitive filtering of network application layer | |
US7277953B2 (en) | Integrated procedure for partitioning network data services among multiple subscribers | |
US8103755B2 (en) | Apparatus and method for managing a provider network | |
US8914410B2 (en) | Query interface to policy server | |
US20100228860A1 (en) | Supporting a Community of Subscribers in an Environment Using a Service Selection Gateway (SSG) | |
US7448078B2 (en) | Method, a portal system, a portal server, a personalized access policy server, a firewall and computer software products for dynamically granting and denying network resources | |
US7580919B1 (en) | Query interface to policy server | |
US7185361B1 (en) | System, method and computer program product for authenticating users using a lightweight directory access protocol (LDAP) directory server | |
US8161155B2 (en) | Filtering unwanted data traffic via a per-customer blacklist | |
US7594019B2 (en) | System and method for adult approval URL pre-screening | |
US8136143B2 (en) | Generalized policy server | |
US7272625B1 (en) | Generalized policy server | |
US8375360B2 (en) | Provision of services over a common delivery platform such as a mobile telephony network | |
US20080172366A1 (en) | Query Interface to Policy Server | |
US20030154380A1 (en) | Controlling usage of network resources by a user at the user's entry point to a communications network based on an identity of the user | |
US20040054791A1 (en) | System and method for enforcing user policies on a web server | |
US8102860B2 (en) | System and method of changing a network designation in response to data received from a device | |
US20060259952A1 (en) | Unified roaming profile network provisioning system | |
AU2010269956A1 (en) | System and method for providing customized response messages based on requested website | |
JP2013503375A (en) | Changing access control lists | |
US7855972B2 (en) | Creating, modifying and storing service abstractions and role abstractions representing one or more packet rules | |
WO2000079434A1 (en) | Query interface to policy server | |
Cisco | Strategies for Applying Attributes | |
GB2422216A (en) | A software development system | |
GB2422219A (en) | A software development system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |