A portion of the disclosure of this patent document may contain material which is subject to copyright protection. The owner has no objection to the facsimile reproduction by any one of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyrights whatsoever.
Certain marks referenced herein may be common law or registered trademarks of the applicant, the assignee or third parties affiliated or unaffiliated with the applicant or the assignee. Use of these marks is for providing an enabling disclosure by way of example and shall not be construed to exclusively limit the scope of the disclosed subject matter to material associated with such marks.
The disclosed embodiments may be better understood by referring to the figures in the attached drawings, as provided below.
Features, elements, and aspects that are referenced by the same numerals in different figures represent the same, equivalent, or similar features, elements, or aspects, in accordance with one or more embodiments.
In the following, numerous specific details are set forth to provide a thorough description of various embodiments. Certain embodiments may be practiced without these specific details or with some variations in detail. In some instances, certain features are described in less detail so as not to obscure other aspects. The level of detail associated with each of the elements or features should not be construed to qualify the novelty or importance of one feature over the others.
In accordance with one embodiment, an enterprise integration interfaces (EAI) is provided that is exposed to a Service Controller to allow information to be exchanged between the Service Controller and the Operator IT systems, network infrastructure and management platforms. The network infrastructure elements generally follow either a 3GPP (GPRS or EPC) or 3GPP2 (CMDA/Simple and Mobile IP) specification (standard). The document then highlights typical integration embodiments into various network architectures. The detailed integration descriptions for 3GPP are based on a GPRS core and EPC network implementation. On the 3GPP2 technology front, the detailed integration information in this document will be provided on Mobile IP networks using a standard 3GPP2 core. Additionally, on the 3GPP2 technology front, a non-standard integration using a Gy interface to the Home Agent is also described.
Although this document describes various embodiments in the context of a GPRS core, it may be appreciated by a person having ordinary skill in the art that the disclosed embodiments may also be applied in other packet core contexts, including, but not limited to, mobile IP, evolved packet core (EPC), 3GPP2, Wimax, etc. Gy and Ro interfaces have been consolidated in the 3GPP standard. The Ro functionality encompasses both the legacy Ro capabilities and the Gy capabilities. 3GPP refers to the consolidated interface as “Ro” in Release 10 and beyond.
Service Controller Interface Technology
These interfaces describe the generic application programming interfaces (APIs) used by the Service Controller platform to interact with the various elements of the Operator network. In one embodiment, the Service Controller uses these interfaces to manage service and subscriber provisioning, exchange subscriber usage and session records, and interact with Operator customer resource management (CRM) systems.
Referring to
In order to expose a consistent API structure across multiple Operator environments, the Service Controller 122 may isolate the core business logic from the exposed interfaces. The Service Controller 122 implements an internal API layer to interact with the Service Controller core software and an interface translation layer to provide a protocol translation layer between the Operator network and IT systems and the Service Controller API layer.
Referring to
Service Controller Core—The service controller core 122A implements the Service Controller core business logic and functionality that is common across Operator implementations.
Core Interface API Layer—The core interface API layer 122B provides a common interface layer between the Operator Interface Translation Layer 8002 and the Service Controller Core 122A. This layer allows the Operator-specific interface management/logic to be separated from the core Service Controller logic and enables the Service Controller to easily adapt to multiple operating environments, interface types (e.g., 3GPP, 3GPP2, web services, batch, custom, etc.) and network technologies (e.g., CDMA, GPRS, EPC, WiMax, etc.).
Operator Interface Translation Layer—The operator interface translation layer 8002 implements the Operator-specific interfaces to support the Service Controller functionality in the Operator's network. The integration work is performed by implementing the necessary business logic/interface management to support the Operator-specific interface points. In one embodiment in which there is not a one-to-one mapping between a Service Controller Interface API and a single Operator interface point, the Operator Interface Translation Layer 8002 manages the workflow to either combine or split up the functionality and workflow across the appropriate Operator interface(s).
In one embodiment, for a Service Controller interface (as defined in
Service Controller Interface Definitions
In one embodiment, the interfaces that are exposed by the Service Controller 122 are implemented as provided in further detail below. For an exposed interface, the purpose, preferred interface protocol and format, and data elements are described. Although the Service Controller 122 may support any interface protocol and format across these interfaces, the preferred protocols and strategies indicated are meant as a guide based on interfaces that implement similar functionality. It may be appreciated by a person having ordinary skill in the art that other or alternative protocols and strategies are within the scope of the disclosure and that the provided details herein shall not be construed as limiting the scope of the disclosed subject matter to any particular details.
Inbound Interfaces
In the following we provide the interfaces by which the Operator network and/or IT systems provide information to the Service Controller in accordance with some embodiments.
Subscriber List Interface
In one embodiment, the Subscriber List Interface provides the Service Controller 122 with subscriber IDs (i.e., information that identifies a subscriber) and credentials of subscribers that are managed by the Service Controller 122. A subscriber ID may refer to subscriber (e.g., IMSI, MSID, MSISDN, MDN, IPv4/6 address, etc.), a subscriber's device ID (e.g., IMEI, MEID, MAC, etc.), or a combination of the two. In one embodiment, when subscribers are loaded to the Service Controller 122, they are assigned an EID (Equipment ID—Service Controller internal ID) and associated with a Subscriber Group.
In one embodiment, the rules for converting Subscriber ID to EID are implementation-specific, and the mapping of the external parameters to EID is defined via the Service Design Center (SDC) 6000. In one embodiment, decoupling the Operator IDs from the Service Controller IDs allows the Service Controller 122 to manage subscribers by an ID that identifies the account, the device, or a combination of the two.
In one embodiment, subscribers are pre-loaded on the Service Controller 122 via this interface. In one embodiment, subscribers are provisioned by the Service Controller 122 in real-time by the Service Controller 122 detecting new IDs (see New Subscriber Onboarding interface definition).
In one embodiment, the interface strategy for the Subscriber List Interface is batched via an FTP-type transfer protocol that delivers a fixed-length record file to the Service Controller 122. In one embodiment, the format of the data file is operator-specific but includes particular data elements (described below). In one embodiment, these files are uploaded manually as a CSV format via the Service Design Center (SDC) 6000.
In one embodiment, the Subscriber List Interface is implemented as a real-time interface through which subscribers are provisioned on the Service Controller 122 in a real-time (or near real-time) fashion on a device-by-device basis. In some such embodiments, the interface is a web services interface with an XML-based payload.
In one embodiment, the data elements that the Service Controller 122 obtains through the Subscriber List Interface include one or more of Subscriber ID (one or more of IMSI/MSID, MDN/MSISDN, MEID/IMEI, and IPv4/6 MAC) and Subscriber Group. In one embodiment, this API is expanded to include additional Subscriber ID types based on Operator environment.
Data Session Start/Stop Interface
In one embodiment, the Data Session Start/Stop Interface provides the Service Controller 122 with a near-time or a real-time notification that a subscriber's data session has either started or stopped.
In one embodiment, the Service Controller 122 uses these notifications as inputs to fraud processing algorithms. Examples of notification usage include: 1) Upon receipt of a Data Session Start notification, the Service Controller 122 expects to receive a Device Login Event (DLE) within a prescribed period of time (e.g., 30 seconds) to ensure that Service Processor on the device is functional; 2) Upon receipt of Data Session Stop notification, the Service Controller 122 no longer expects to receive periodic usage reports from the Service Processor.
In one embodiment, the interface strategy for the Data Session Start/Stop Interface is real-time, using RADIUS (e.g., Access Request, Accounting Start/Stop, etc.) or Diameter (Diameter Credit Control Application (DCCA) via Credit Control (CCR)). In the case of Diameter or RADIUS, this feed may be combined with the data session usage reporting.
In one embodiment, the Data Session Start/Sop Interface is implemented using web services with an Operator-specific data payload (e.g., OCS via a web services interface).
In one embodiment, the data elements that the Service Controller 122 obtains through the Data Session Start/Stop Interface include one or more of Status (start/stop), subscriber ID (one or more of IMSI/MSID, MDN/MSISDN, MEID/IMEI, IPv4 MAC or IP, IPv6 MAC or IP), APN (if applicable), and event network time. In one embodiment, the Service Controller 122 accepts network-based usage information in conjunction with the start/stop notification (e.g., total session data usage with Data Session Stop notification).
Service Provisioning Update Interface
In one embodiment, the Service Provisioning Update Interface provides the Service Controller 122 with a near-time or a real-time notification that a subscriber's provisioned service has been modified outside the context of the Service Processor/Service Controller 122 (e.g., Customer Care manually added/deleted a service plan from the user's account, subscriber purchased a new service plan via an IVR or Operator website, etc.).
In one embodiment, the Service Controller 122 uses the messages received via the Service Provisioning Update Interface to update the subscriber's plans (add and/or remove) and the subscriber's active Service Plan Bundle. In one embodiment, the updated Service Plan Bundle is sent to the Service Processor on the device upon next check in with the Service Controller 122. In one embodiment, the Service Processor checks-in with the Service Controller 122 when either 1) the subscriber powers on a device; 2) the Service Processor detects a network change where the device is entering cellular coverage (e.g., switch from WiFi to 3G); 3) the Service Processor has a usage report to deliver to the Service Controller 122; 4) the subscriber looks at either the product catalog or his expired plans; or 5) periodic Service Processor check-in with the Service Controller 122.
In one embodiment, the interface strategy for the Service Provisioning Update Interface is real-time, using web services with an XML data payload or another suitable M2M transfer mechanism and protocol.
In one embodiment, the Service Provisioning Update Interface is implemented as a periodic batch update via an FTP-type transfer protocol that delivers a fixed-length record file to the Service Controller 122. In one embodiment, the format of the data file is Operator-specific, but includes particular data elements (described below).
In one embodiment, the data elements that the Service Controller 122 obtains on the Service Provisioning Update Interface include one or more of subscriber ID (one or more of IMSI/MSID, MDN/MSISDN, MEID/IMEI, IPv4/6 or IP), Service Plan ID, Action (add/delete/reset to default state), and Service Plan charging code(s). In one embodiment, for Service Provisioning Updates where the Action is “add,” the following data elements are also present: Service Plan start date/time, Service Plan stop date/time, billing cycle day, expiration date and time, and amount to charge to the subscriber's account (“0”=no charge to the subscriber).
Subscriber Status (CRM) Interface
In one embodiment, the Subscriber Status Interface provides the Operator CRM systems with a “window” into the Service Controller 122. Through this interface, the CRM system may query the Service Controller 122 for status related to a subscriber's plans and Service Controller 122 interactions.
Examples of the functions available over the Subscriber Status Interface, in one embodiment, include: 1) View a subscriber's current plans; 2) View a subscriber's current plan usage; 3) Events associated with the subscriber (e.g., notifications shown to the subscriber, notification responses from subscriber, plan usage history, plan purchase history, blocking events, subscriber responses to blocking events, etc.); 4) Device log file, etc.
In one embodiment, through the Subscriber Status interface, the CRM system may modify data associated with the subscriber. Examples of the functions available include: 1) Modify usage in current plans; 2) Modify usage allowance in a current plan; 3) Move subscriber to a different Subscriber Group; 4) Modify/reset subscriber credentials.
In one embodiment, the interface strategy for the Subscriber Status Interface is real-time, using web services with an XML data payload.
In one embodiment, the data elements that the Service Controller 122 obtains on the Service Provisioning Update Interface request include one or more of subscriber ID (one or more of IMSI/MSID, MDN/MSISDN, MEID/IMEI, IPv4/6 MAC or IP), requested action (e.g., view plans, view plans usage, modify usage, etc.), supplemental data to support requested action (e.g., for modify usage->Plan ID, Charging Code, new usage amount (bytes MO, bytes MT)). In one embodiment, the response data elements are specific to the requested action (e.g., View current plan usage returns an array of plans with plan name, Plan ID, usage amounts, plan limits, plan cycle date, plan expiration).
Network Usage Report Interface
In one embodiment, the Network Usage Report Interface provides the Service Controller 122 with near-time or a real-time subscriber data usage information. In one embodiment, Network Usage Reports are only sent for Service Controller-managed devices/subscriber. In one embodiment, the Service Controller 122 implements a filtering function that is placed ahead of the interface to filter out non-Service Controller-managed devices/subscribers.
In one embodiment, the Service Controller 122 uses the messages received via the Network Usage Report Interface as input to the usage reconciliation and verification (fraud), and the usage reporting processes. In one embodiment, when the Service Controller 122 receives a Network Usage Report for a subscriber, it uses it to validate bulk-level network usage counts vs. device usage reports for the time specified in the network usage report. In one embodiment, if the fraud processing does not detect fraud, the Service Controller 122 generates a device-usage report for the time interval specified in the network usage report.
In one embodiment, the interface strategy for the Network Usage Report Interface is real-time, using RADIUS (Accounting Update) or Diameter (DCCA via CCR). In the case of Diameter or RADIUS, this feed may be combined with the data session start/stop feed.
In one embodiment, the Network Usage Report Interface is implemented as a periodic batch update via an FTP-type transfer protocol that delivers a fixed-length record file to the Service Controller 122. In one embodiment, the format of the data file is operator-specific (however 3GPP CDR is preferred), but includes particular data elements (described below). In one embodiment, when implementing the Network Usage Report Interface in the batch mode, delays in receiving the batch file delay the fraud check of comparing device usage reports to network usage reports. Therefore, batch reporting on this interface is not desirable in one embodiment.
In one embodiment, the data elements that the Service Controller 122 obtains on the Network Usage Report Interface include one or more of subscriber ID (one or more of IMSI/MSID, MDN/MSISDN, MEID/IMEI, IPv4/6 MAC or IP), usage report start date/time, usage report end date/time, APN (if applicable), MO bytes used, MT bytes used, and bulk charging code.
FDR Report Interface
In one embodiment, the FDR (Flow Data Record) Report Interface provides the Service Controller 122 with detailed data flow and usage information for a subscriber. In one embodiment, depending on Operator capabilities, data arrives on this interface based on: 1) Service Controller 122 requests (e.g., where the Service Controller 122 queries a network system for FDRs for a specific subscriber/device for a specific period of time (See FDR Request Interface)); 2) FDRs for Service Controller-managed subscribers/devices only; or 3) FDRs for all subscribes/devices (in which case the Service Controller 122 implements a filtering function that is placed ahead of the interface to filter out reports for non-Service Controller-managed devices/subscribers. In one embodiment, this interface is optional. In one embodiment, the FDR Report Interface is present if the Operator may support it and expects advanced verification capabilities from the Service Controller 122.
In one embodiment, the Service Controller 122 uses the messages received via the FDR Report Interface as input to the enhanced verification (fraud) process. In one embodiment, the Service Controller 122 fraud process performs FDR-based verification with the device usage reports for a subscriber only when the subscriber's fraud score indicates that it is likely that fraud is occurring.
In one embodiment, the interface strategy for the FDR Report Interface is near-time or a real-time, using web services with an XML data payload.
In one embodiment, the FDR Report Interface is implemented as a periodic batch update via an FTP-type transfer protocol that delivers a fixed-length record file to the Service Controller 122. In one embodiment, the format of the data file is Operator-specific but includes the data elements described below.
In one embodiment, the data elements that the Service Controller 122 obtains on the FDR Report Interface include one or more of subscriber ID (one or more of IMSI/MSID, MDN/MSISDN, MEID/IMEI, IPv4 MAC or IP, IPv6 MAC or IP), usage report start date/time, usage report end date/time, APN (if applicable), remote IP address, remote port, MO bytes used, and MT bytes used.
Outbound Interfaces
This section identifies and describes the interfaces where the Service Controller 122 is providing information to the Operator network and/or IT systems in accordance with some embodiments.
New Subscriber Onboarding Interface
In one embodiment, the New Subscriber Onboarding Interface enables the Service Controller 122 to notify an Operator system that a subscriber that previously was unknown to the Service Controller 122 has successfully activated on the platform and has an active Service Plan Bundle on his device. In one embodiment, this interface is also used to convey additional one-time information related to the subscriber to the Operator (e.g., device ID, subscriber ID, billing data, acceptance of terms and conditions (T&Cs), and selected service plans and charging codes). In one embodiment, the Operator systems use this information to provision the new subscriber in its systems, e.g., billing, IT and network systems.
In one embodiment, the interface strategy for the New Subscriber Onboarding Interface is near-time or a real-time, using web services with an XML data payload.
In one embodiment, the New Subscriber Onboarding Interface is implemented as a periodic batch update via an FTP-type transfer protocol that delivers a fixed-length record file to the appropriate Operator B/OSS system. In one embodiment, the format of the data file is Operator-specific.
In one embodiment, the data elements that the Service Controller 122 makes available for delivery on the New Subscriber Onboarding Interface are one or more of device ID (e.g., MEID, IMEI), Operator subscriber ID (e.g., IMSI, MSID, MDN, MSISDN, IPv4 MAC or IP, IPv6 MAC or IP), billing data (name, address, etc.), billing data (credit card info, billing address, top up card info, etc.), selected service plan(s) and charging code(s), and acceptance of T&Cs. In one embodiment, additional fields are supported based on Operator business requirements. In one embodiment, this is accomplished by collecting the additional information via the device client user interface (UI) during the enrollment process.
Service Controller CDR Delivery Interface
In one embodiment, the Service Controller CDR Delivery Interface enables the Service Controller 122 to send its CDRs to an Operator business/operational support system (B/OSS) system. In one embodiment, the Service Controller CDRs contain detailed usage based on the service plans that the subscriber currently has active on his device (e.g., Amazon plan, Google Maps plan, General Access Plan, etc.). In one embodiment, a Service Controller CDR contains information about the usage within an active plan along with the charging code associated with the plan. In one embodiment, the Service Controller 122 generates a Service Controller CDR for an active plan on the subscriber's device where usage was reported during the reporting interval. In one embodiment, the Operator uses these usage records to enable it to bill third-party sponsors (for sponsored or enterprise plans), the Operator itself (for Operator plans, e.g., (DNS usage, network admin traffic, etc.), or the subscriber (e.g., General Access Plan, Skype Plan, News Plan, etc.).
In one embodiment, the interface strategy for the Service Controller CDR Delivery Interface is a periodic batch update via an FTP-type transfer protocol that delivers a fixed-length record file to the appropriate Operator B/OSS system. In one embodiment, the format of the data file is Operator-specific.
In one embodiment, the Service Controller CDR Delivery Interface is implemented as a near-time or a real-time interface using web services and an XML payload or a derivative of a Diameter DCCA message.
In one embodiment, the data elements that the Service Controller 122 makes available for delivery on the Service Controller CDR Delivery Interface are device ID (e.g., MEID, IMEI), Operator subscriber ID (e.g., IMSI, MSID, MDN, MSISDN, IPv4 MAC or IP, IPv6 MAC or IP), usage start date/time, usage end date/time, Service Plan ID, Charging Code, MO bytes used, MT bytes used, APN, Network Type, and Roaming state. In one embodiment, additional fields are supported based on Operator business requirements. In one embodiment, one or more fields available in the Device Usage Reporting Record are made available to the Operator on the Service Controller CDR Delivery Interface.
Service Provisioning/Payment Request Interface
In one embodiment, the Service Provisioning/Payment Request Interface enables the Service Controller 122 to provide Operator B/OSS systems with subscriber service selection information as well as payment request (e.g., credit card on file, prepaid card, etc.). In one embodiment, the Service Provisioning/Payment Request Interface is the primary interface that the Service Controller 122 uses to inform the Operator B/OSS systems that the user has either added a new plan or canceled an existing plan. In one embodiment, the Operator uses the information provided over this interface for various purposes, including one or more of: 1) updating the subscriber purchase history; 2) debiting the subscriber's wallet; 3) charging the plan to the subscriber's credit card on file; 3) performing any necessary network provisioning; 4) itemizing the purchase on the subscriber's bill; 5) refunding (if applicable) a canceled plan.
In one embodiment, the interface strategy for the Service Provisioning/Payment Request Interface is real-time, using web services with an XML data payload.
In one embodiment, due to the nature of this interface, it may not lend itself to a batch process. In one embodiment, alternatives to the preferred interface strategy are proprietary point-to-point protocols with Operator-specific payload definitions.
In one embodiment, the data elements that the Service Controller 122 makes available for delivery on the Service Controller Service Provisioning/Payment Request Interface are one or more of device ID (e.g., MEID, IMEI), Operator subscriber ID (e.g., IMSI, MSID, MDN, MSISDN, IPv4 MAC or IP, IPv6 MAC or IP), selected Service Plan ID, Charging Code, action (add/delete), Acceptance of Terms and Conditions, and payment method (e.g., credit card, debit card, prepay voucher, card on file, etc.). In one embodiment, additional fields are supported based on Operator business requirements.
FDR Request Interface
In one embodiment, the FDR Request Interface enables the Service Controller 122 to request a set of flow data records (FDRs) for a specified period of time for a specified subscriber. In one embodiment, the Service Controller 122 uses the FDRs when the verification algorithms suspect fraudulent activity. In one embodiment, the Service Controller 122 compares the Service Processor generated usage records with the network generated flow-usage records. In one embodiment, the verification process on the Service Controller 122 compares destination IP addresses, ports and byte counts between the two sets of reports and generates a fraud notification if the records differ.
In one embodiment, the FDR interface is optional because not all operators generate FDRs and not all operators support the ability to query for FDRs for a specific time range for a specific subscriber. In one embodiment in which the Operator may not filter the FDRs based on time range and/or subscriber, the Service Controller 122 receives the entire FDR feed and retains the data for a period of time sufficient to perform verification of suspected fraudulent usage (e.g., 2 days of FDRs, etc.)
In one embodiment, the interface strategy for the FDR Request Interface is real-time, using web services with an XML data payload.
In one embodiment, the FDR Request Interface may be implemented as a periodic batch update via an FTP-type transfer protocol that delivers a fixed-length record file to the appropriate Operator B/OSS system. In one embodiment, the format of the data file is Operator-specific.
In one embodiment, the data elements that the Service Controller 122 makes available for delivery on the FDR Request Interface are one or more of device ID (e.g., MEID, IMEI), Operator subscriber ID (e.g., IMSI, MSID, MDN, MSISDN, IPv4 MAC or IP, IPv6 MAC or IP), start date/time, end date/time. In one embodiment, additional fields are supported based on Operator business requirements.
Fraud Alert Interface
In one embodiment, the Fraud Alert Interface enables the Service Controller 122 to notify the Operator B/OSS that it suspects fraudulent activity related to a subscriber and/or device. In one embodiment, the Service Controller 122 allows the Operator user to configure different alert levels based on a “confidence-level” of the fraud scoring algorithms (e.g., for lower scores, an alert is sent to the Operator to indicate that the counts are off, but not significantly, and for higher scores, the Service Controller 122 sends a fraud alert that causes the device to be quarantined until remediation has completed, etc.). In one embodiment, the Service Controller Fraud Alert Interface sends reports to an Operator B/OSS system for notification and/or review. In one embodiment, the Service Controller Fraud Alert Interface interacts directly with a system that may manage policy (e.g., PCRF, PCEF, OCS, etc.).
In one embodiment, the interface strategy for the Fraud Alert Interface is real-time, either using web services with an XML data payload or an Ro, Rx, RADIUS, or DCCA type 3GPP/3GPP2 interface and payload to enforce network-based policy changes.
In one embodiment, the Fraud Alert Interface is implemented as a periodic batch update via an FTP-type transfer protocol that delivers a fixed-length record file to the appropriate Operator B/OSS system. In one embodiment, the format of the data file is Operator-specific.
In one embodiment, the data elements that the Service Controller 122 makes available for delivery on the Fraud Alert Interface are one or more of device ID (e.g., MEID, IMEI), Operator subscriber ID (e.g., IMSI, MSID, MDN, MSISDN, IPv4 MAC or IP, IPv6 MAC or IP), start date/time, end date/time, usage, confidence level, affected plan and/or charging code, fraud type (e.g., no usage reports, usage report mismatch, etc.), and for 3GPP/3GPP2 type interfaces, PCC rule, RADIUS Reauthorization Request (RAR), Diameter DCCA CCA with no Granted Units and/or redirect to quarantine and/or filter rule). In one embodiment, additional fields are supported based on Operator business requirements.
Customer Acknowledgement Interface
In one embodiment, the Customer Acknowledgement Interface enables the Service Controller 122 to notify the Operator B/OSS that a subscriber has responded to a notification where the notification is configured (via the SDC) to send the subscriber response to the Service Controller 122. Examples of usage of this include opting-in for roaming charges, acknowledging overage, accepting a buy or buy-up in response when an attempted access is not supported by the current plans on the device, etc.
In one embodiment, the interface strategy for the Customer Acknowledgement Alert Interface is real-time, using web services with an XML data payload.
In one embodiment, the Customer Acknowledgement Alert Interface is implemented as a periodic batch update via an FTP-type transfer protocol that delivers a fixed-length record file to the appropriate Operator B/OSS system. In one embodiment, the format of the data file is Operator-specific.
In one embodiment, the data elements that the Service Controller 122 makes available for delivery on the Customer Acknowledgement Interface are one or more of device ID (e.g., MEID, IMEI), Operator subscriber ID (e.g., IMSI, MSID, MDN, MSISDN, IPv4 MAC or IP, IPv6 MAC or IP), notification ID, button selected, date/time of selection, associated service plan and/or charging code (if applicable), and notification type (e.g., overage, roaming, no capable plan [also referred to as no-match], etc.). In one embodiment, additional fields are supported based on Operator business requirements.
Other CRM Interfaces
Plan Catalog Synchronization—In one embodiment, the Service Controller 122 supports an additional interface that allows the Operator synchronize the Service Controller Plan Catalog with its existing Product Catalog function. In one embodiment, this interface provides import and export capabilities to enable the Operator to update the Service Controller Plan Catalog with changes to the product catalog (e.g., add plan, delete plan, update plan details, price, etc.) Additionally, in one embodiment, this interface may be configured to send Service Controller Plan changes to the Operators Product Catalog.
In one embodiment, usage of this interface, while optional, allows for bi-directional updating of plans and details between the Service Controller 122 and the Operator's existing product support infrastructure.
In one embodiment, the interface strategy for the Plan Catalog Synchronization Interface is real-time, using web services with an XML data payload. In one embodiment, the format of the XML data payload is Operator-specific.
In one embodiment, the Plan Catalog Synchronization Interface is implemented as a periodic batch update via an FTP-type transfer protocol that delivers a fixed-length record file between the Service Controller 122 and the Operator's product support infrastructure. In one embodiment, the format of the data file is Operator-specific.
In one embodiment, the data elements that the Service Controller 122 makes available over this interface include one or more of plan name, plan description (long), plan description (short), billing codes, display price, internal price (usually a modified price that may not include taxes), plan limits (e.g., MB, time, etc.), cycle length, cycle day, duration, and usage charging codes. In one embodiment, additional fields are supported based on Operator business requirements.
Call Flows and Workflows
This section describes high-level call flows via a series of call flow (or pong) charts (see
The workflows describe the functionality from the perspective of the Service Controller 122. The details of processing and workflow behind the network and operator interfaces are not defined here and are defined and refined during an integration engagement with an Operator, as would be appreciated by a person having ordinary skill in the art.
The following workflows are described herein:
Device Provisioning
Post-Pay Plan Purchasing
Post-Pay CDR Processing
Prepay Plan Purchasing
Prepay CDR Processing—Including Support for Verifying Usage
Fraud Alert Processing
Subscriber Notification Acknowledgement Processing
Service Controller Integration Options
In one embodiment, the Service Controller 122 is designed to integrate easily into an Operator network 8000. In one embodiment, by leveraging the Operator Interface Translation Layer 8002, most of the integration work is localized to a set of translation modules. In one embodiment, this type of integration allows the Service Controller 122 to operate in a wide variety of network configurations as well as support multiple architectures within a single operator (e.g., CDMA and GSM, GSM and EPC, etc.).
This section examines a variety of network architectures where the Service Controller 122 is supporting Service Controller-managed devices and subscribers. These integration options are not meant to be exhaustive, but rather to give the reader an overview of how the Service Controller 122 leverages different Operator interfaces and how it could be implemented in a variety of configurations.
The implementations describe the interfaces and call flows from the perspective of the Service Controller 122. The exact details of processing and call flows behind the network and operator-specific interfaces are not defined here and may be defined and refined during an integration engagement with an Operator, as would be appreciated by a person having ordinary skill in the art.
For an implementation example, the following aspects are discussed:
General Considerations
Fraud Detection
Integration Embodiments
General Considerations
Logical Isolation
Given the need to override or extend existing network-based billing capabilities for Service Controller-managed services and offerings, In one embodiment it is desirable to logically isolate these services from the current services and offerings.
In one embodiment, a separate APN is used for Service Controller-managed services and offerings. This approach has several advantages that will be highlighted in the following sections. In one embodiment, logical isolation is achieved using a common, not-dedicated APN. This solution trades the complexity of network integration for the simplification of not proliferating APNs.
Zero-Rating/Service Controller-Specific Rating
In one embodiment, the Service Controller 122 interworks with the existing network-based entities responsible for accounting, rating, charging, and control. In one embodiment, this implies the capability to dynamically override existing rating capabilities to effectively zero-rate usage from an existing network entity perspective. In one embodiment, the use of a separate APN for Service Controller-managed services offerings makes this task slightly easier since the rules may be applied on an APN basis. In one embodiment, such as in an APN-agnostic environment, a service-level permission/entitlement indicator is inspected by a Gy or Radius proxy to determine how to route credit control and usage reporting information (e.g., to the Service Controller or to an OCS).
Provisioning
In one embodiment, a subscriber is provisioned on the Service Controller 122 prior to the subscriber attempting to use a Service Controller-managed device. In one embodiment, the Service Controller 122 provides a specific interface to provision the platform with the credentials of subscribers and/or devices that are Service Controller-managed. In one embodiment, subscribers are provisioned on the Service Controller 122 and associated with the appropriate Subscriber Group.
In one embodiment, if real-time activation is required, a web services-type interface is implemented. In one embodiment, if real-time activation is not required, a non-real-time interface (e.g., batch file via FTP) is used.
Fraud Detection
In one embodiment, the Service Controller 122 platform relies on a device client (Service Processor) for enhanced policy enforcement and accounting. In such embodiments, there is an inherent risk that subscribers may attempt to hack or subvert the Service Processor in order to gain access to services for free or at a reduced cost.
There are several ways in which a subscriber may attempt to “attack” or subvert the service processor in order to gain access for free (or at a reduced cost). Subscribers can:
To mitigate these and other potential fraud scenarios, in one embodiment the platform provides mechanisms that may reliably detect and act upon this type of fraudulent behavior.
Although fraud is not discussed in this paper in detail, one solution to this problem is to compare the detailed usage information from the Service Processor with network generated usage information. To accomplish this task, In one embodiment the Service Controller 122 creates Service Controller CDRs from the device usage reports and compares them to the bulk network usage reports. In one embodiment, if a discrepancy is detected, the Service Controller 122 generates a Fraud Notification, which it provides to the Operator. In one embodiment, after the verification is complete, the Service Controller 122 forwards the Service Controller CDRs to the Operator Mediation or billing platform.
Integration Embodiments with 3GPP Networks
The integration embodiments discussed this section have been identified considering that:
Dedicated APN
In one embodiment (illustrated in
This section focuses on unverified APN embodiments. As would be appreciated by a person having ordinary skill in the art, embodiments using a verified APN are configuration/provisioning extensions of embodiments using an unverified APN.
Two exemplary embodiments are presented:
Network-controlled dedicated APN (via PCRF)
Service Controller-controlled dedicated APN (via Diameter Gy)
In one embodiment, at the start of the data session, the PCRF 8006 limits the APN connectivity so that, optionally, the device exclusively communicates with the Service Controller 122 (this may be the default Rulebase, and effectively blocks data traffic except the traffic towards the specific Service Controller IP address). When the data session is established, the Service Processor 115 contacts the Service Controller 122 to authenticate, log in, synchronize, and check for newly available plans. After the Service Processor 115 successfully authenticates with the Service Controller 122, the Service Controller 122 informs the PCRF 8006 (via Rx or equivalent) that the client is authenticated and to change the Rulebase to zero-rated “General Access” for the length of this data session. The PCRF 8006 sends the new rules to the GGSN 8004 (via Gx) to be added to the Rulebase so that all the traffic is allowed and is zero-rated by the network. From this point forward, the Service Controller 122 and Service Processor 115 are managing service and traffic flow rules (based on active plans on the device).
In one embodiment, the GGSN 8004 generates periodic (e.g., after a particular amount of time has elapsed or after a particular amount of data has been used, etc.) usage reports (G-CDRs) for the data traffic flow associated with one or more Service Controller-managed devices/subscribers passing traffic though the dedicated APN and delivers the reports to the Service Controller 122. In one embodiment, the Service Controller 122 uses these reports for fraud detection (e.g., by comparing the network usage counts with the device-based usage counts, etc.). In one embodiment, the PCRF 8006 sets a monitor request in the GGSN Rulebase (e.g., via Gx) to report usage to the PCRF based on usage in that Rulebase, which it then forwards it to the Service Controller 122.
In one embodiment, such as the embodiment illustrated in
In an exemplary embodiment, at the start of the data session, the GGSN 8004 receives the Create PDP context request coming from the mobile (on the dedicated APN) and uses the Gy interface to communicate with the Service Controller 122 (providing IMSI and MSISDN) requesting traffic quota. The Service Controller 122 verifies that the IMSI/MSISDN pair is provisioned in the Subscriber database on the Service Controller 122. The Service Controller 122 sends back either a message to the GGSN allowing limited access between the device and the Service Controller 122 (pair exists; “success case”), or a reject message (pair may not exist—PDP creation aborts).
The success case allows the creation of the PDP context so that the Service Processor 115 may communicate with the Service Controller 122 to authenticate, log in, synchronize with the Service Controller 122, and check for newly available plans. In one embodiment, after this completes successfully, the Service Controller 122 updates the GGSN 8004 with additional rating groups and quotas to enable the subscriber to start using data.
In one embodiment, if the Service Controller 122 does not receive traffic from the Service Processor 115 within the prescribed timeframe, the Service Controller 122 sends a message to the GGSN 8004 to tear down the PDP context (which terminates the data session).
In one embodiment, the Service Controller 122 receives network usage updates via the Diameter CCR/CCA exchange. In one embodiment, the Service Controller 122 may control the frequency of the updates based on the time/usage quota granted in the CCA response. In one embodiment, the Service Controller 122 uses these reports as one of the elements for fraud detection (by comparing the network usage counts with the device-based usage counts).
Non-Dedicated APN
This section provides exemplary embodiments in which the Service Controller-managed services share the same APN(s) as the existing data services. In one embodiment, at session start, the Service Processor 115 permits, optionally exclusively, data traffic to/from the Service Controller 122 until authentication and synchronization is complete.
In the non-dedicated APN implementation, several exemplary embodiments are presented:
Referring to
In one embodiment, the Service Controller 122 receives its network usage updates from the OCS 8010 when the OCS 8010 receives a quota request (e.g., via the Diameter CCR/CCA exchange) from the GGSN 8004. The Service Controller 122 uses these reports as one of the elements for fraud detection (e.g., by comparing the network usage counts with the device-based usage counts).
Referring to
In one embodiment, the PCRF updates (e.g., through Gx interface) the default Rulebase on the GGSN 8004 (e.g., “zero-rate” all traffic for this data session) and sends back a confirmation to the Service Controller 122.
In one embodiment, the Service Controller 122 receives its network usage updates from the OCS 8010 when the OCS 8010 receives a quota request (e.g., via the Diameter CCR/CCA exchange) from the GGSN 8004. In one embodiment, the Service Controller 122 uses these reports as one of the elements for fraud detection (e.g., by comparing the network usage counts with the device-based usage counts).
Referring to
In one embodiment, at the start of the data session, the GGSN 8004 receives the Create PDP context request coming from the device and uses the Gy interface to communicate with the Diameter proxy 8016. In one embodiment, the Diameter proxy 8016 determines if the data session is to be managed by the Service Controller 122 or the OCS 8010. In one embodiment, if the data session is to be managed by the Service Controller 122, the Diameter proxy 8016 forwards the initial CCR to the Service Controller 122 (providing IMSI and MSISDN) that is requesting traffic quota. In one embodiment, the Service Controller 122 verifies that the IMSI/MSISDN pair is provisioned in the Subscriber database on the Service Controller 122. In one embodiment, the Service Controller 122 either sends back a message to the GGSN 8004 (e.g., via the Diameter proxy) allowing limited access between the device and the Service Controller 122 (pair exists; “success case”), or a reject message (pair may not exist—PDP creation aborts).
The success case allows the creation of the PDP context so that the Service Processor 122 may communicate with the Service Controller 122 to authenticate, log in, synchronize with the Service Controller 122, and check for newly available plans. In one embodiment, after this completes successfully, the Service Controller 122 updates the GGSN 8004 with additional rating groups and quotas to enable the subscriber to start using data.
In one embodiment, if the Service Controller 122 does not receive traffic from the Service Processor 115 within the prescribed timeframe, the Service Controller 122 sends a message to the GGSN 8004 to tear down the PDP context (which terminates the data session).
In one embodiment, the Service Controller 122 receives its network usage updates via the Diameter CCR/CCA exchange. In one embodiment, the Service Controller 122 may control the frequency of the updates based on the time/usage quota granted in the CCA response. In one embodiment, the Service Controller 122 uses these reports as one of the elements for fraud detection (e.g., by comparing the network usage counts with the device-based usage counts).
Referring to
Evolved Packet Core (EPC) Environment
In one embodiment in which the APN is non-dedicated and the Service Controller 122 is interworking with the PGW 8020, the PGW 8020 sends the data session start, stop, and interim usage reports. In one embodiment, the interface between the PGW 8020 and Service Controller 122 is Gy (Diameter DCCA).
In one embodiment, at the start of the data session, the Service Processor 115 permits traffic to flow between the device and the Service Controller 122 (e.g., traffic is zero-rated), and other traffic is blocked. In one embodiment, after the Service Processor 115 authenticates and synchronizes with the Service Controller 122, the Service Controller 122 communicates to the PGW 8020 indicating that the subscriber is starting an Service Controller-managed data session and instructs the PGW to zero-rate all of the traffic. In one embodiment the Service Processor 122 enforces policy based on the active plans on the device.
In one embodiment, the Service Controller 122 receives its network usage updates from the PGW 8020 when the Service Controller 122 receives a quota request (via the Diameter CCR/CCA exchange) from the PGW 8020. In one embodiment, the Service Controller 122 uses these reports as one of the elements for fraud detection (by comparing the network usage counts with the device-based usage counts).
“Thin” Client Integration
In one embodiment, it may be beneficial to implement a “Thin” Client. A “Thin” Client contains a subset of a “Full” Client's functionality. A Thin Client may be useful where there is a proliferation of older phones or operating systems, or to provide some or all of the capabilities described herein on platforms associated with an uncooperative OEM.
In one embodiment, the implementation of the Thin Client has different integration points within the network because the Thin Client is not managing usage policy.
This section describes two embodiments of the Thin Client:
Device-based usage counting and notifications
Plan purchase
To reduce the impact of the thin client on the network, in one embodiment, Thin Client integrations occur with the OCS. In one embodiment, the Service Controller 122 supports variations of this implementation based on the Operator's specific network configuration and capabilities.
“Thin” Client Usage Counting and Notifications
In one embodiment, at the start of the data session, the OCS 8010 messages the Service Controller 122 that the data session is starting, and indicates the total usage consumption within the plan cycle, plan usage limit, and the expiration date/time of the cycle. In one embodiment, when the Service Processor 115 detects the start of the data session, it connects to the Service Controller 122 to retrieve current usage, plan limits, expiration date/time and any notifications associated with the service plan. In one embodiment, when the GGSN 8004 is allocated usage quota from the OCS 8010 via the Gy CCR/CCA interface, the OCS 8010 messages the Service Controller 122 with the usage update within the plan. In one embodiment, the amount of data allocated to the GGSN 8004 by the OCS 8010 determines the accuracy of the OCS 8010 usage count (until a stop message is received from the GGSN).
In one embodiment, periodically, based on configuration, the Service Processor 115 messages the Service Controller 122 with its current usage counts, and the Service Controller 122, if necessary, trues up the device counts.
In one embodiment, when the usage within the plan reaches the notification levels (e.g., 80%, 100%, OK to go into overage?, etc.), the Service Processor 115 presents the associated notification to the subscriber through a user interface. In one embodiment, the Service Processor 115 captures the user response to the notification and sends information about the user response to the Service Controller 122. In one embodiment, the Service Controller 122 stores the user's notification responses. In one embodiment, the Service Controller 122 sends information about the user's notification responses to the OCS 8010.
In one embodiment, when the data session terminates, the OCS 8010 messages the Service Controller 122 with the final usage count within the session.
In one embodiment, the “true,” billable usage count is held on either the OCS 8010 or GGSN 8004. In one embodiment, the element holding the “true,” billable usage count uses the existing mechanism to feed CDRs into the billing domain.
“Thin” Client Plan Purchase
In one embodiment, the Service Controller 122 contains a catalog of the plan details including notifications, counting policy (e.g., network type, APN, roaming, etc.), plan size (e.g., MBs), cycle, etc. To effectively support bundling and compatibility, In one embodiment, the Service Controller 122 messages the OCS 8010 to receive the applicable plan set for the subscriber as well as the cost of that plan set (e.g., with any discounts built in to support bundling of services).
In one embodiment, the Service Processor 115 allows the subscriber to purchase service plans (e.g., data plans, voice plans, texting plans, bundles, etc.) through the device. In one embodiment, after the user has selected a service plan through the UI, the Service Processor 115 communicates the selection to the Service Controller 122. In one embodiment, the Service Controller 122 messages the plan selection (e.g., sends information about the plan selection) to the OCS 8010 through the web service 8024 Service Provisioning Interface application programming interface (API).
In one embodiment, after the purchase has successfully completed, the OCS 8010 messages the Service Controller 122, and the Service Controller 122 messages the selected plans information (e.g., limits, cycle, notifications, etc.) to the Service Processor 115. In one embodiment, the Service Processor 115 manages the counting, notifications, and true-up as discussed in the context of other embodiments disclosed herein.
Integration Embodiments with 3GPP2 Networks
In some Mobile IP embodiments in which the Service Controller 122 is interworking with the Home Agent 8028, the Home Agent 8028 is responsible for sending the data session start, stop, and interim usage reports.
In one embodiment, at the start of the data session, the Service Processor 115 permits traffic to flow between the device and the Service Controller 122 (e.g., traffic is zero-rated). In one embodiment, other traffic is blocked. In one embodiment, after the Service Processor 115 authenticates and synchronizes with the Service Controller 122, the Service Controller 122 communicates to the Home Agent 8028 indicating that the subscriber is starting a Service Controller-managed data session. In one embodiment, the Home Agent 8028 forwards this notification to the AAA Server 8030. In one embodiment, at this point, the Service Processor 115 enforces policy based on the active plans on the device.
In one embodiment, the Service Controller 122 receives its network usage updates from the Home Agent 8028 when the data session starts and stops, and throughout the session via interim updates. In one embodiment, the Service Controller 122 receives these updates via the AAA Server 8030. In one embodiment, the Service Controller 122 uses these reports for fraud detection (e.g., by comparing the network usage counts with the device-based usage counts).
In one embodiment, the Home Agent 8028 supports Diameter Gy or equivalent, where the Service Controller 122 integration is similar to the 3GPP implementation. In one implementation, rather than using APNs for isolation (if desired), the Home Agent 8028 uses Mobile IP realm instead. As would be appreciated by a person having ordinary skill in the art, Mobile IP realm achieves the same requirement as APN and is effectively equivalent from a management perspective.
Integration Embodiments with a Diameter Front End
In some environments, it is more practical to deploy the Service Controller 122 platform in a cloud environment and provide a virtualized environment that is transparent to the core network. However, because of signaling timing and scalability concerns, it may be preferable to keep the Service Controller 122 out of the call signaling path.
To accomplish this goal, in one embodiment there is an end-point signaling entity on the network signaling plane. This endpoint is responsible for interacting on the signaling plane with the network in real-time and interacting with the Service Controller 122 in near-real-time. Additionally, this endpoint allows the Service Controller 122 to be virtualized in the cloud and provide an extremely efficient, scalable and fault-tolerant service for a fraction of the cost to deploy dedicated hardware across multiple GGSN or Home Agent sites.
In one embodiment, such as the exemplary embodiment shown in
In one embodiment, such as where it is desirable to be APN or Mobile IP Realm agnostic, the DFE 8032 also functions as a Diameter proxy/router. In one embodiment, requests for subscribers that are not utilizing the capabilities of the Service Controller cloud 8036 are proxied to the local OCS 8010.
Multi-Tenanted Deployment
In environments where a single mobile Operator supports multiple local networks, it is possible to deploy a single Service Controller 122 in a centralized data center and provide connectivity and service to the individual local operating networks.
In one embodiment, the Service Controller 122 hardware is shared, and the local data is logically or physically separated by operating network entity. In one embodiment, an operating network has its own private connections between the network and the Service Controller 122. In one embodiment, the CRM 8012 platform is shared across one or more of the local networks. In one embodiment, the CRM 8012 platform is specific to the local operating network.
Gy Proxy to Virtualize OCS
In some environments, it is desirable to manage different subscribers across different OCS instances. In one embodiment, it is preferred that the OCS signaling routing be transparent to the core network elements (e.g., HLR, SGSN, GGSN) and also independent of which GGSN the subscriber data session is associated with. In one embodiment, a Diameter Gy proxy/router makes the decision regarding which OCS instance should service the subscriber in real-time.
In one embodiment, the Gy proxy makes the routing determination/decision by inspecting an AVP (e.g., rating group, service-information, or other) in the initial CCR message for a subscriber from the GGSN 8042, looking up the subscriber in a local database (e.g., Device Group Database). In one embodiment, the Gy proxy makes the routing determination/decision by inspecting a service permission or control attribute. In one embodiment, based on the result of the subscriber look-up, the Gy proxy routes the subscriber's session control traffic to the appropriate OCS instance.
The exemplary embodiment shown in
In one embodiment, there are more than two routing options (e.g., Service Controller 122A and local OCS 8060A). In one embodiment, the routing options also include one or more specific local OCS instances or one or more Service Controller 122A instances.
In one embodiment having Service Controller controlled subscribers, the OCS function resides within the Service Controller 122A. In one embodiment, the Service Controller 122A exposes a Gy Credit Control Server interface to the network. In one embodiment, the Service Controller 122A interacts with the network in the same manner as an OCS does. Additionally, In one embodiment the Service Controller 122A may leverage the capabilities of the Gy interface to receive timely interim data session usage reports by setting the quota time/usage allocations to closely mirror expected device usage reporting windows. See section “Interconnection Between Service Controller and GGSN via a Diameter Proxy/Router” for an exemplary call flow of an embodiment with a Service Controller 122A and GGSN 8042A interworking via the Gy protocol (alternative protocols e.g. Radius, may be used in lieu of Diameter where Diameter is not supported/desired). In one embodiment, if the Service Controller 122A detects fraud, it may use Gy interface to instruct the GGSN 8042A to terminate a subscriber session, limit the subscriber to a walled garden, change the rating group to charge the subscriber on a bulk rate, or take any other appropriate fraud-mitigation or fraud-response action.
Referring to
One advantage of the exemplary embodiment shown in
In some environments in which there are either multiple GGSN vendors and/or the GGSN capabilities are non-homogenous, it is desirable for the operator to maintain a consistent policy set definition and implementation at the OCS and GGSNs (e.g., neither the OCS nor the GGSN should not have to implement different policy based on the vendor and/or capabilities of the other component). To meet this objective, in one embodiment, such as the exemplary embodiment shown in
In a multi-vendor GGSN environment, this exemplary embodiment of
In a multi-vendor OCS environment, the exemplary embodiment of
Referring to
In one embodiment, the entire OCS functionality is moved to a cloud-based architecture. These embodiments provide a high level of scalability and redundancy while reducing overall operational costs associated with physical OCS servers. In one embodiment of a cloud-based architecture, the OCS Interaction layer 8066A is hosted in the operator network.
In one embodiment, the OCS Interaction layer 8066A, acting as a Gy server end-point, performs the real-time Gy signaling locally with the GGSN 8042A as described above, manages the Gy subscriber session (and session state) with the GGSN 8042A, and ensures that signaling SLAs are not impacted by moving the core OCS functionality into the cloud. In one embodiment, the near-real-time interaction with the Service Controller 122 over the web services interface is handled by the Service Controller Cloud 8036. In one embodiment, the session statefulness (e.g., quota allocations, quota leases, enabled services, etc.) of the session is persisted in a cloud server database that is replicated across the cloud so that any Service Controller 122A node may process any request from any OCS Interaction layer 8066A.
In one embodiment, by leveraging the combination of maintaining macro state in the cloud and using a protocol set (e.g., web services over TCP/IP) that lends itself to load balancing and resilience, any request may be serviced through any OCS instance in the cloud. In one embodiment, a high level of fault-tolerance is provided without duplicating dedicated OCS nodes and direct connectivity between GGSN locations (e.g., N+K redundancy vs. N+1 redundancy at a GGSN location). Additionally, in one embodiment, signaling SLAs are adhered to regardless of transport delays the processing complexity being performed by the OCS in the cloud.
In one embodiment, there is no need to implement redundant Gy signaling between the GGSN and the individual OCSs, nor is there a need to perform special routing to map a subscriber to a specific instance of an OCS since any Service Controller node may service the subscriber.
In one embodiment, since the architecture of the cloud is now transparent to the local GGSN/core signaling network elements, the cloud architecture and deployment environment is designed to support multiple operators in a variety of ways. In a basic configuration, such as the exemplary embodiment shown in
In one embodiment, such as the exemplary embodiment shown in
In one embodiment, such as the exemplary embodiment shown in
In one embodiment, such as the exemplary embodiment shown in
In some multi-tenant Service Controller embodiments, the MVNOs and the MNO share physical resources by leveraging software to control/limit access to an entity's own data. In some multi-tenant Service Controller embodiments, the MVNOs and the MNO leverage separate physical components for an operating entity (e.g., separate databases, application servers, etc.).
As would be understood by a person having ordinary of skill in the art in view of the disclosures herein, there are many variations on the cloud-based architecture and implementation, and the embodiments presented herein are exemplary and not intended to be limiting.
An evolving component of OCS policy is end-user notification. It may be important to keep the end-user informed about his or her service plan and policy (e.g., usage thresholds, service plan cap, roaming costs and cost estimates, etc.). In one embodiment, because the OCS is managing these aspects of the service plan, the network system detects notification conditions and sends notifications of these conditions to the end-user device. In one embodiment, the Service Controller 122 is configured with the conditions of when to send notification messages to the end-user (e.g., 75% of plan used, 100% of plan used, roaming alert, roaming costs, etc.), and the OCS is aware of the rules. In one embodiment, because the OCS is managing the session and quota allocations, the OCS maps the notification rules to the session management rules and generates triggers to the notification agent on the Service Controller 122. In one embodiment, the Service Controller 122 generates the notification for the end-user and interacts with the Notification Delivery server to have the notifications delivered to the end-user in real-time (or near-real-time).
In one embodiment, the notification manager provides timely notifications to the end-user when service is being blocked (e.g., user has reached 100% plan limit, user is attempting to access a service that is not included in the end-user's service plan, etc.).
In one embodiment, the notification message enables an instant-purchase opportunity on the device when a notification is shown (e.g., at 100% of plan, offer service add-ons to enable the user to keep using services; when the user attempts to access a service that is not included in his plan, provide an offer to purchase the service capability; when the user starts roaming, offer a roaming bundle/add-on; warn of high-data-usage application and offer a lower cost plan alternative, etc.). This solution provides a revenue-generating opportunity for the network operator and a better experience for the end-user.
In one embodiment, the device group management function 8056 in the SDC 6000A is leveraged to segment Service Controller managed devices vs. non-Service Controller managed devices. In one embodiment, segmentation uses a device group management database that is queried by the local Gy proxy/router agent. In one embodiment, segmentation uses APN routing rules in the GGSN 8004. In one embodiment, segmentation uses Mobile IP realm-based routing in the GGSN 8004. In one embodiment, segmentation uses subscriber service profile attribute inspection at the Gy proxy/router 8058A. In one embodiment, segmentation allows a wireless service provider to split the session handling based on roaming state (e.g., enable cloud OCS for non-roaming embodiments and legacy OCS for roaming and vice versa, etc.), or other types of service state information (e.g., WiFi vs. cellular network, 3G vs. 4G network, etc.).
In one embodiment, because the OCS implementation is virtualized in the cloud, a wireless service provider creates its own services independently of the host MNO. In one embodiment, because of the policy management is handled in the cloud, the wireless service provider enters its own policies without engaging the MNO to program the policy and rating rules into a physical OCS platform. In one embodiment, because the wireless service provider's policies are managed independently from the MNO (and other wireless service providers), there are reduced concerns about policy conflicts among the wireless service providers or about assigning a policy to the wrong wireless service provider.
In one embodiment, after the wireless service provider creates a policy set, the service provider beta tests the policy by associating it with devices within a beta test device group. In one embodiment, the beta test group enables the wireless service provider to deploy a policy set in a controlled manner, test the policy set, update it, and re-test in a real-time manner. In one embodiment, once the policy set is working in the manner that the wireless service provider desires, the wireless service provider publishes the policy set to a broader range of devices by enabling the policy set in a device group.
In one embodiment, such as for local breakout environments, the virtualized cloud service interacts with the roaming network in the same manner as it would if the subscriber were on its home network. In one embodiment, by leveraging the cloud-based solution, the home operator provides a seamless set of capabilities across all network conditions with minimal integration requirements and complexity with the roaming operator since policy is managed by the cloud and not by a physical server in the roaming partner network.
In one embodiment, by leveraging the capabilities of the cloud solution, almost any entity is easily enabled to provide branded wireless services to their customers or partners. In one embodiment, since the service creation environment is built in the cloud, the MNO only needs to provide access to the entity that wants to sell wireless service. In one embodiment, because the host MNO may not need to implement specific service plan and policy configuration on its own network, the MNO may turn up new MVNOs quickly without requiring a lot of man-power to support them. In one embodiment, by using the SDC, the MNO creates a sub-portal for the MVNO on the SDC. From there, the MVNO may create service offers, branding, policy, and notifications and then map the service offerings to its device groups. The host MNO may not need to be involved in the process.
In one embodiment, the cloud configuration also supports the ability to transition devices from one MNO to another MNO without having to modify network configuration at either MNO. In one embodiment, there is a “global” MNO, and devices are initially assigned to a device group that is managed by the global MNO. Upon initial device activation, the end-user selects his preferred local MNO (or MVNO, service partner, etc.). In one embodiment, at this point the subscriber is automatically provisioned on the selected network, and the device is moved to a device group that is managed by the selected wireless service provider. In one embodiment, the end user then is offered a set of service plans associated with the wireless service provider, and the user enrolls for service with that wireless service provider. In one embodiment, as part of the process, the branding on the device is updated to reflect the branding of the selected wireless service provider. In one embodiment, this branding may reside locally on the device. In one embodiment, it may be automatically downloaded to the device over the air.
As discussed previously, one of the challenges of moving OCS capability to a cloud environment is conforming to the signaling SLAs mandated by the various standards bodies (and any signaling SLAs that the network operator may impose). In one embodiment, to ensure that the signaling SLAs are adhered to, and may be managed effectively, the capabilities of the cloud are split into two layers—micro control and macro control. In one embodiment, micro control is implemented at the OCS interaction layer 8066, which signals with the network elements via Diameter (or other suitable protocol) in real-time, and then the OCS interaction layer interacts with the OCS decision layer in the cloud in near-real-time. In one embodiment, the OCS interaction layer 8066 makes adjustments in real-time policy based on feedback received from the OCS decision layer in the cloud. In one embodiment, to accomplish this, the OCS interaction layer 8066 updates the OCS decision layer in the cloud when the GGSN 8004 (or HA) request additional quotes (e.g., CCR/CCA exchange). In one embodiment, in real-time the OCS interaction layer 8066 returns a quota allocation back to the GGSN 8004 so the session may continue. In one embodiment, if the OCS decision layer 8064 determines that an adjustment of policy is required, it sends a message to the OCS interaction layer 8066 and may flag the policy change to be immediate, deferred until next quota update request, or deferred until some point in the future based on time or usage. In one embodiment, in the case of an immediate policy change, the OCS interaction layer 8066 may issue a reauthorization (e.g., Diameter RAR/RAA or RADIUS Change of Authorization (CoA) request to the GGSN (or HA) 8004. In one embodiment, this message causes the GGSN 8004 to update the current quota to the OCS interaction layer 8066 and then enables the OCS interaction layer 8066 to provide new policy to the GGSN 8004. The new policy could be a complete change in rating groups or rule bases (e.g., subscriber added/removed/changed plans) or could be a modification to the quota refresh limits (e.g., subscriber reaching a specific plan threshold utilization (50%, 75%, 100%, 110%, etc.)).
Moving the near-real-time signaling to the cloud (via the OCS decision layer) enables the operator to de-couple elements of policy from the real-time systems and provide enhanced capabilities (e.g., notifications, QoS, etc.) that may be managed in near-real-time and distributed in a cloud architecture, thus lowering equipment costs and network complexity by not requiring the real-time systems to manage both real-time signaling (vs. SLA requirements) as well as ancillary policy decisions (e.g., QoS, notifications, capabilities, etc.).
In one embodiment, because all of the policy is managed via software in the cloud, the operator (or any other service provider providing service on the operator's network (e.g., MVNO, etc.)) may easily make policy changes and test them without impacting the general subscriber base or another service provider partner's subscribers. This enables the operator to adapt and roll out new policy in a more timely and efficient process.
In one embodiment, the OCS Interaction Layer 8066 communicates with the OCS Decision Layer 8064 in near real-time to update it with the latest credit-control information received from the GGSN 8092. In one embodiment, the interface between the OCS Decision Layer 8064 and OCS Interaction Layer 8066 is based on a web services, JSON, WSDL, or another type of protocol that lends itself easily to transaction based processing and load balancing. Since Policy Rules 8078 and Subscriber DB 8084 may reside outside of the specific instance of an OCS Decision Layer Node 8064, it permits any OCS Decision Layer Node 8064 to process any message from any OCS Interaction Layer Node 8066. This architecture makes scalability on OCS Decision Layer 8064, where the heavier processing is required, easy to achieve in a lower cost model than directly coupling the complete OCS to a GGSN.
In one embodiment, the OCS Decision Layer 8064 is responsible for one or more of: processing the credit control related updates from the OCS Interaction Layer 8066, checking the events, updating usage and checking subscriber state against the policy rules associated with subscriber. In one embodiment, based on the outcome of the update processing, if required, the OCS Decision Layer 8064 makes a policy adjustment and updates the subscriber policy to the OCS Interaction Layer 8066. In one embodiment, the OCS Decision Layer 8064 sets a priority (or equivalent indicator or flag in the policy) to the OCS Interaction Layer 8066 to indicate whether the policy update should take place immediately or wait until the next policy event for the subscriber is received from the GGSN.
In one embodiment, the OCS Decision Layer 8064 interworks with other policy elements (e.g., PCRF, Notification element, etc.) to inform the policy management element of an update in a rating group (e.g., usage amount at a particular limit (e.g., 50% of plan, 100% of plan, attempted usage of a service for which the user has not subscribed to (e.g., streaming service without a streaming plan, etc.). In one embodiment, the event triggers a notification to the subscriber, wherein the notification is presented through the device. In one embodiment, this notification includes an offer to purchase a service plan that enables the blocked or restricted activity. In one embodiment, the event triggers a QoS or rate limit policy to be installed and enforced (e.g., rate limit to 128 Kbps when usage reaches 100% of plan limit, etc.).
In one embodiment, to minimize the amount of data leakage between the time that the OCS Interaction Layer 8066 gives an updated quota response to the GGSN 8092 and when the OCS Decision Layer 8064 actually processes the update, the OCS Interaction Layer 8066 interworks with the GGSN 8092 to instruct it to request additional quota prior to the current usage allotment completely expiring in the GGSN (e.g., buffer data—Set a policy to allow 10 MB of data usage, but request additional quota when there is 0.5 MB of usage allowance remaining in the quota allocation). In some such embodiments, if the OCS Decision Layer 8064 responds to the OCS Interaction Layer 8066 with a policy adjustment prior to the user using the “buffer” data, then the user would have not exceeded the limits of his plan.
In one embodiment, these micro quotas enable “plan lease.” In plan lease, when the user purchases a service the OCS automatically provides a small amount of service quota for the service being purchased while the billing transaction is being processed. This enables the user to start using the service immediately rather than wait for the billing transaction to complete, which may take enough time that a waiting user might become frustrated. In one embodiment, when the billing transaction completes, if it is successful, the payment processing system notifies the OCS Decision Layer 8064 about the outcome of the payment processing request. In one embodiment, if the payment processing was successful, the OCS Decision Layer 8064 provides a “normal” quota allocation for that service and notifies/updates the OCS Interaction Layer 8066 to enable it to provide the end user with continued access to the service. In one embodiment, if the payment processing was unsuccessful, the OCS Decision Layer 8064 sends a message to a notification element or agent to notify the end user that the payment processing failed and, optionally, allow the end user to enter new payment information (e.g., new credit/debit card information, new top-up number, etc.). In some such embodiments, the OCS Decision Layer 8064 would notify/update the OCS Interaction Layer 8066 to disallow continued service for that subscriber on this particular service plan. In one embodiment, based on instructions from the OCS Decision Layer 8064, the OCS Interaction Layer 8066 disallows continued service immediately. In one embodiment, the OCS Interaction Layer 8066 allows the existing micro-quota grant to expire and then does not grant additional quota (e.g., this would allow the service to continue to operate for the end user while he entered new payment information).
In one embodiment, plan lease enables a “grace period” when a service plan expires. In one embodiment, when the plan expires (based on time or usage), a notification is sent to the end user to prompt the user to purchase additional service. In one embodiment, while the end user is purchasing additional service, the network allows access to the service (e.g., this allows streaming services or downloads to continue without interruption, etc.) though the use of the plan lease. In one embodiment, if the user's purchase is successful, the time/usage that was consumed during the purchase process is included in the new purchased service plan limits. In one embodiment, when the user's purchase is successful the time/usage that was consumed during the purchase process is excluded from the new purchased service plan limits.
In one embodiment, the policy sets and allowances vary based on network state (e.g., roaming, time of day, level of network congestion). In some such embodiments, the OCS Decision Layer 8064 interworks with other network elements to receive information about congestion level, roaming state, etc., to modify and manage subscriber policy to achieve the overall policy goals. In one embodiment, the policy goals are related to usage limits or spending amounts. In one embodiment, the policy goals are to manage overall user experience (e.g., rate limit streaming services when the network is congested, etc.).
Many of the embodiments disclosed herein may be easily extended to support multiple rating groups per subscriber. In one embodiment, rating groups are tied to different service plans that are currently active for the subscriber (e.g., Sponsored services, general browsing services, VoIP services, etc.). In one embodiment, a rating group is assigned its own quota and access rules. In one embodiment with GGSN/PCEF, a service plan is associated with an access rule definition and priority. In one embodiment, where required, the access associated with a service plan is associated with a QoS level (e.g., higher priority for VoIP, etc.). In one embodiment, within a rating group, the policies associated for handling overage, etc., may be managed independently of the other active services (e.g., overage on a download service may be allowed where overage on an open access or sponsored service may not). Moving all of this business logic into the OCS Decision Layer 8064 ensures that the overall signaling time between the OCS and the GGSN is not degraded. Moreover, as the business logic surrounding the handling of usage polices becomes even more complex, it provides a more robust environment that scales at lower costs. Because the OCS Decision Layer 8064 may also be distributed in the cloud, it enables the network operator to scale the OCS Decision Layer 8064 to accommodate the peak loads of the entire network, not on a site by site basis.
In one embodiment, the operator establishes rating groups in the GGSN that are associated with specific network end-points (e.g., web sites, domains, IP addresses, ports, etc.) or classifications of service (e.g., streaming audio/video, VoIP, peer-to-peer, etc.), and the OCS Interaction Layer 8066 is configured to deny user quota when user access is matched to one of these the rating groups and the GGSN attempts to request a quota allocation for that rating group. In one embodiment, the OCS Interaction (or OCS Decision) Layer is further configured to interwork with a Notification agent or network element to display a notification to the end user about the usage being blocked. In one embodiment, the notification may include an offer to purchase service to support the attempted activity. In other embodiments, it may alert the user to non-supported usage. In one embodiment, the OCS Interaction Layer 8066 is configured to allow access on the rating group, but still triggers a notification to the end user when the quota allocation is requested by the GGSN. In one embodiment, the policy associated with the rating group rate-limits the service associated with the rating group, and the notification to the end user indicates that the service is being rate-limited, and the device presents the end user with the option to purchase a service plan that provides a different (e.g., non-rate limited) service to the activity.
In one embodiment, the modification of policy within a rating group is controlled by setting the priority search order of the traffic inspection rules and their corresponding rating group (e.g., streaming access is categorized and associated with two different rating groups (one rating group for rate-limited services and one rating group for non-rate-limited services)) in the GGSN; however, only one rating group is active at any given time for a specific subscriber. In one embodiment, the determination of which rating groups to associate with a subscriber is controlled via the interworking of the PCRF, SPR, OCS and the GGSN/PCEF. For example, when a subscriber purchases a service, that service is associated with the subscriber record in the SPR and OCS. When the subscriber initiates a data session, the PCRF queries the SPR for the subscriber services and then sends down the appropriate policy IDs to enforce at the GGSN/PCEF. When the user attempts to use the service, the GGSN queries the OCS for quota allocation for the rating group associated with the service. If the subscriber is not subscribed to the service and the operator wants to differentially treat (e.g., rate-limit, block, etc.) and/or notify the end user, the PCRF sends the policy ID associated with the differentially treated service to the GGSN/PCEF. When the end user attempts to use the service, he gets the differentially-treated behavior instead. In one embodiment, the rules in the OCS Decision Layer 8064, at the time of quota request to use the differentially-treated service, are configured to send a notification to the end user to notify him that the service is being differentially treated (e.g., rate-limited, blocked, etc.) and then provide an option to purchase the different (e.g., non-restricted) service.
In one embodiment, such as the exemplary embodiment shown in
In one embodiment, such as the exemplary embodiment shown in
In box 9008, the OCS Decision Layer 8064 receives the quota allocation request or an authorization request message from the OCS Interaction Layer 8066 and, in box 9010, validates whether the subscriber is authorized for service. The authorization validation may include one or more of the following determinations: whether the subscriber is provisioned on the system, whether the subscriber has credit in his account (e.g., money, usage, etc.), which services the subscriber is allowed to access (e.g., based on subscribed plans, free vs. paid vs. sponsored services, etc.), and others. If the subscriber is not authorized for service, the OCS Decision Layer 8064, in box 9012, sends an “authorization denied” message to the OCS Interaction layer 8066 that includes modified policy instructions. In one embodiment, these policy instructions deny all service to the subscriber. In one embodiment, these policy instructions limit access to a top-up application or web site. In one embodiment, these policy instructions may limit access to content other than free or sponsored content. In one embodiment, the policy instructions also include quota limits for restricted services. In box 9014, the OCS Interaction Layer 8066 receives the message from the OCS Decision Layer 8064. In box 9016, the OCS Interaction Layer 8066 updates the subscriber policy locally in the subscriber cache and then interworks with the GGSN to update the subscriber policy rules.
Alternatively, in box 9010, the OCS Decision Layer 8064 may determine that the subscriber is authorized for service and responds to the OCS Interaction layer 8066, in box 9022, with an “authorization success” message and an updated policy set/quota allocation. In one embodiment, the OCS Decision Layer 8064 may provide for the policy to be updated in the GGSN (e.g., the new policy is different from the initial policy by something other than just quota, etc.) and may set a flag (e.g., an identifier) in the “authorization success” message or policy set to instruct the OCS Interaction Layer 8066 to update the GGSN rather than wait for the next credit control message to be received from the GGSN for this subscriber. In box 9024, the OCS Interaction Layer 8066 receives the “authorization success” message from the OCS Decision Layer 8064. In box 9026, the OCS Decision Layer 8064 updates the subscriber profile in the subscriber cache. In box 9028, the OCS Interaction Layer 8066 checks to see if the “update now” flag is set in the policy (or the “authorization success” message) to determine if it should update the subscriber policy in the GGSN. If the flag is set, in box 9030, the OCS Interaction Layer 8066 interworks with the GGSN to update the subscriber policy immediately and the flow completes. If the “update now” flag is not set, the subscriber policy in GGSN is not updated, and the flow is completed.
In box 9048, the OCS Decision Layer 8064 receives the “usage update” message from the OCS Interaction Layer 8066 and, in box 9050, checks to see if there are any policy adjustments needed for the subscriber. The policy adjustment checks may include checks such as: subscriber has hit a policy limit, the usage network state has changed (e.g., subscriber is now roaming, network is congested, etc.), usage within a policy has met a subscriber-defined condition (e.g., 100 MB of streaming, block access while roaming, etc.), etc. If no policy adjustment is required, the flow ends at 9052. However, if a policy adjustment is required or desirable, the OCS Decision Layer 8064 constructs an updated policy set, box 9054, and forwards an “update subscriber policy” message to the OCS Interaction Layer 8066. Additionally, in box 9054, the OCS Decision Layer 8064 may set an “update now” flag in the “update subscriber policy” message which instructs the OCS Interaction Layer 8066 to update the subscriber policy on the GGSN instead of waiting for the next credit control update event to be received from the GGSN. In box 9056, the OCS Interaction Layer 8066 receives the message from the OCS Decision Layer 8064 and updates its subscriber cache. In box 9058, the OCS Interaction Layer 8066 checks the “update now” flag (e.g., identifier) in “update subscriber policy” message to determine if the new policy needs to be updated in the GGSN. If the “update now” flag is not set in the “update subscriber policy” message, the flow completes at 9064 without the updated policy being applied. However, if the “update now” flag is set in the “update subscriber policy” message, the OCS Interaction Layer 8066 interworks with the GGSN to update the subscriber policy rules as described in box 9062 and then the flow completes.
In one embodiment, such as the exemplary embodiment shown in
In one embodiment, such as the exemplary embodiment shown in
In one embodiment, the Operator utilizes the Gy Proxy 8058A to migrate subscribers off of legacy OCS services to a cloud-based OCS service with notifications and billing. In one embodiment, the Gy proxy 8058A is set up with a database that contains rules for choosing whether to route a user's session to the legacy or local OCS 8060A server or to the cloud-based OCS services data center 8072. In one embodiment, the subscribers are initially on the legacy OCS server and, based on particular rules set up by the Operator in the Gy proxy 8058A, the subscribers are routed to the appropriate OCS server for service. In one embodiment, the rules may be based on subscriber credential (e.g., NAI, APN, MDN, MSISDN, MEID, IMEI, IMSI, IP Address, etc.). In one embodiment, the rules are based on service plans that the subscriber has subscribed to or capabilities of the subscriber's device. In one embodiment, the routing is based on the service provider associated with the subscriber. In one embodiment, the routing is based on geo-location of the subscriber or the location of network where the subscriber traffic is routed through (e.g., physical GGSN site, etc.).
In one embodiment in which the subscriber is managed by the cloud-based OCS service, there may be enhanced capabilities that are available to the subscriber that are not available on the legacy OCS 8060A systems. These capabilities may include one or more of: enhanced notifications, unique service plans (e.g., sponsored services, application based services, simultaneous multiple service plans, etc.), enhanced billing services, device assisted services, or other types of services that are either not supported by the legacy systems or are services that are not practical to implement and offer via the legacy systems.
In one embodiment, the Operator migrates subscribers from the legacy systems to the cloud-based systems for economic reasons (e.g., cloud-based services provide the operator with a lower cost per subscriber to operate and manage, lower capital expenditures (CapX) for hardware infrastructure (e.g., GGSN platforms may be virtualized at lower costs), and lower operational expenditure (OpX) as developing and managing synchronization between multiple data centers and GGSN hardware components would not be needed due to virtualization, etc.).
In some configurations, it is desirable to allow a MVNO or VSP to operate its own OCS server even though the network is shared. In one embodiment, the GGSN 8004 is connected to multiple OCS servers 8062 and routes the service requests to the appropriate OCS server 8062 based on subscriber credentials (e.g., NAI, IMSI, MEID, IMEI, MDN, MSID, MAC Address, TCP/IP address, APN, etc.). In one embodiment, the GGSN 8004 is also configured to map subscriber credentials to a specific MVNO or VSP and then use the policy rules associated with that particular MVNO or VSP to manage the subscriber.
In one embodiment, the subscriber credential maps to a default rulebase in the GGSN 8004. In one embodiment, a separate network element provides the mapping for the GGSN 8004 (e.g., AAA server, HLR, SGSN, SGW, HSS, etc.).
In one embodiment, the GGSN 8004 may not perform the subscriber mapping. In some such embodiments, a Diameter Proxy (DP)/Diameter Routing Agent (DRA)/Diameter Service Router (DSR) 8094 is used to perform the appropriate routing to the correct OCS server 8062. In one embodiment, when the DP 8094 detects a request for quota for a subscriber, the DP 8094 performs the mapping between the subscriber credential and the appropriate OCS server 8062. This method may be advantageous to the MNO since adding new MVNOs or VSPs minimizes the impact to the core GGSN platform.
In one embodiment, such as the exemplary embodiment shown in
In one embodiment, the OCS server 8062 is physically collocated with the GGSN 8004. In one embodiment, the OCS server 8062 is in the cloud. In one embodiment in which the OCS server 8062 is in the cloud, an OCS Interaction Layer 8066 is collocated with the GGSN 8004, and the OCS Decision Layer 8064 is in the cloud. In one embodiment, the OCS Interaction Layer 8066 is a part of the DP 8094, and the OCS Decision Layer 8064 is in the cloud.
In one embodiment in which the OCS (or part of the OCS) is in the cloud, the MNO may provide a MVNO or VSP an instance of a Service Design Center 360 through which the MVNO or VSP may create its own services, provision its subscribers and devices and manage its device groups. In one embodiment, the high level plan and device and subscriber management rules defined by the MVNO or VSP operator on the Service Design Center are translated to low-level policy instructions and configuration instructions that are understood by the appropriate network elements (e.g., GGSN, PCRF, OCS, HLR, HSS, etc.). In one embodiment, though the Service Design Center, the MNO further controls the capabilities of the MVNO or VSP SDC operator.
In one embodiment, such as the exemplary embodiment shown in
In one embodiment, the Gx proxy 8114 uses rules to determine whether to route the Gx signaling between the PCEF 8102 and either the local PCRF 8100 or to the cloud-based PCRF via the PCRF Interaction Layer 8098. In one embodiment, the rules are based on subscriber credential (e.g., NAI, APN, MDN, MSISDN, MEID, IMEI, IMSI, IP Address, etc.). In one embodiment, the rules are based on service plans or service types that the subscriber has subscribed to or capabilities of the subscriber's device. In one embodiment, the routing is based on the service provider associated with the subscriber. In one embodiment, the routing is based on geo-location of the subscriber or the location of network where the subscriber traffic is routed through (e.g., physical GGSN or PCEF site, etc.). In one embodiment, when the PCEF 8102 interworks with the PCRF Interaction Layer 8098, the PCRF Interaction Layer 8098 stores a portion (or all) of the policy associated the particular subscriber. In one embodiment, on data session start up, the PCEF 8102 requests policy for the subscriber from the PCRF. In one embodiment, the PCRF Interaction Layer 8098 in turn queries the cloud PCRF layer for the subscriber's policy. In one embodiment, when the cloud PCRF Layer returns the policy set for the subscriber, the PCRF Interaction Layer 8098 replies to the PCEF 8102 with a base set of policies for the subscriber. In one embodiment, as the subscriber uses services associated with his service plans, the PCRF Interaction Layer 8098 interworks with the PCEF 8102 to receive usage updates (via the Gx Monitor capabilities or other—e.g., usage within a service plan, notification that a monitored network destination (e.g., amazon.com, cnn.com, corporate intranet, etc., or traffic type has been requested (e.g., streaming audio, streaming video, VoIP, peer-to-peer, video conference, etc.). In one embodiment, the PCRF Interaction Layer 8098 responds immediately to the PCEF 8102 to acknowledge the message and the interwork with the Cloud PCRF Layer 8100 in near real-time to communicate the policy event and receive further policy instructions. In one embodiment, when the PCRF Interaction Layer 8098 receives policy update instructions from the Cloud PCRF Layer, it signals the PCEF 8102 to update the subscriber's policy.
In one embodiment, the Cloud PCRF Layer interworks with a notification element or agent 8052 to provide service-level notifications to the subscriber (e.g., plan usage limits (e.g., 50%, 100%, etc.), access to non-supported or unauthorized services, network destinations, usage of sponsored services, rate limited activities, change in network state (e.g., roaming to non-roaming, non-roaming to roaming, offload to operator WiFi services, etc.), time-of-day services, etc.) and optionally, where applicable, offer services or service plans to enable the user to continue using service or purchase service to access an previously non-allowed service type.
In one embodiment, the Cloud PCRF Layer interworks with an OCS to receive service usage updates or requests for subscriber policy modification based on subscriber activity or service plan purchases. In one embodiment, based on subscriber usage, attempted usage, network state changes, new service plan purchases, etc., the OCS signals the Cloud PCRF layer to request a change in the subscriber's policy. In one embodiment, the Cloud PCRF layer receives this information and then updates the PCRF Interaction Layer 8098 to notify PCEF 8102 that there is a new policy set for the subscriber.
In one embodiment, because the Cloud PCRF Layer is interworking with the other elements of the Operator network, the Operator may choose to consolidate all of the operational and business support processes and logic and policy management processes in a centralized fashion, rather than deploying/collocating them at a physical PCEF location. This provides the Operator with a more robust platform that scales as the requirements across the entire network scale, rather than scaling a physical location to meet the on-peak demand (and redundancy) requirements of that particular location. Additionally, it reduces the requirements of the PCRF Interaction nodes because the PCRF Interaction nodes are only managing the subscriber policy and not executing all of the other supporting processes and policy modifications based on business and operational support logic. Ultimately, this may lower the cost and complexity to deploy additional PCRF Interaction Layer 8098 capacity.
In one embodiment, a Service Provider user uses the SDC to define a policy set within a service plan that encompasses PCRF functions. In one embodiment, these functions include one or more of: classification rules and priority, service plan behavior based on network state (e.g., home vs. roaming, congestion level, type of service (e.g., interactive vs. streaming), etc.), monitor and notify events when a particular classification match occurs (e.g., plan doesn't support access to domain “xyz”, monitor for attempted access and notify the end user when that condition occurs, etc.) or when a classification did not occur and the access was blocked (e.g., access was not classified to any service component (including monitor and notify). In one embodiment, within these policies, the SDC user may define actions to take, such as, for example, one or more of: allow access, block access, rate limit access, apply QoS rules, notify the end user (e.g., access not allowed, better plan available, service is restricted, etc.), upsell the user (e.g., provide purchase offer to the end user to enable them to purchase a service plan that supports the access, etc.). In one embodiment, the near-real-time PCRF function is responsible for handling the business logic associated with handling events based on external events from other service provider systems or triggers from the PCEF (via the PCRF Interaction Layer) 8102, and it may scale independently of the PCRF Interaction Layer 8098 where signaling times must meet particular SLAs. In one embodiment, this implementation enables to service provider to scale more effectively, efficiently and at a lower total cost since the near-real-time PCRF layer is managed via the cloud. Additionally, this configuration enables the service provider to easily adapt subscriber access policy based on the combination of service plan policy and changes in network state or usage against plan allowances (or any combination of these).
In one embodiment, based on subscribed service plans, the subscriber is provisioned with the appropriate “Allowed Service” and “Monitor Events” Service IDs. In one embodiment, when the subscriber data session starts (or anytime the subscriber's service plan changes), the PCRF enables the rules associated with the subscriber's subscribed plans in the PCEF (usually by the Gx and/or Sd interface, depending on the PCEF elements involved).
In one embodiment, when data traffic passes through the PCEF element, the PCEF element attempts to classify the traffic by comparing the traffic against the enabled “Allowed Services” and “Monitor Events” in the priority order that has been set up. If a classification match occurs, the action associated with the classification rule is taken.
In one embodiment, the action associated with a classification match causes the enablement or disablement of one or more other Service IDs. For example, In one embodiment, when a plan reaches 100% usage limit, the PCRF enables a Service ID that rate limits streaming content).
Another benefit of this architecture is that as Service Operators move toward online billing and shared data plans, the business logic for managing access and adapting policy based on usage may be handled by the Real-time Policy Manager rather than attempting to distribute the same logic across both the PCRF, OCS and direct intercommunication between the OCS and PCRF. For example, in traditional post-pay, billing and usage measurement for data services is usually handled by an offline charging function that processes CDRs (IPDRs) from the GGSN, SGSN or other element. In a scenario where unlimited data access is the norm, delays in processing and reporting this usage are not critical since there is no worry about usage overages. As the operators move towards data usage caps, however, postpay data subscriber usage may have to be monitored in real-time.
In one embodiment, rather than provision the OCS 8010 and PCRF 8006 with all of the postpay plan quota and rules, the OCS 8010 treats all postpay subscribers as though they are on an “unlimited” plan and provides usage information up to the Real-time Policy Management Layer 8104. In one embodiment, when the Real-time Policy Management Layer 8104 detects that the user is over his plan usage amount (e.g., 5 GB), it sends updated policy instructions to the OCS 8010 (e.g., block further access, etc.), the PCRF 8006 (e.g., rate limit data access, block particular data types, etc.) or both (e.g., move the subscriber to a different rating group (OCS) and restrict access for particular data types (PCRF), etc.). Since the business logic is handled in the Real-time Policy Management Layer 8104, the PCRF 8006 and OCS 8010 systems are not required to handle the additional business logic so they do not need to scale based on the complexity of the business logic; instead, they scale linearly with the subscriber base. Scaling at the Real-time Policy Management Layer is based on number of subscribers and complexity of business logic, but the cost to scale this layer may be less than the cost of scaling OCS and PCRF systems. Additionally, since the interface between the PCRF/OCS and the Real-time Policy Management Layer may be load-balanced and may be in near-real-time, the Real-time Policy Management Layer may exist in the cloud and the scaling of this layer is a function of the overall subscriber base, rather than a function of average subscribers within a particular region of the network, which further reduces cost and scaling complexity.
In one embodiment, the PCRF 8006 and OCS 8010 manage the low-level policy and provide updates to the Real-time Policy Manager 8104. In one embodiment, the Policy Manager 8104 is responsible for inspecting the updates and then providing any policy updates back to the PCRF 8006 and OCS 8010. In one embodiment, the External Policy Events are incorporated into the configuration. In one embodiment, these external policy events originate from a service sponsor to provide extended service quota based on usage/purchase activity on the sponsor's site or application. In one embodiment, these external policy events originate from other operator systems to provide network state information (e.g., congestion level, etc.) to inform the PCRF to update subscriber policy to limit or restrict particular services (e.g., network congestion is high, rate limit streaming services to 256 kbps, etc.).
In one embodiment, service plan usage updates originating at the OCS 8010 are used to modify service policy on that plan when particular plan thresholds are reached (e.g., block or rate limit high bandwidth services when the subscriber's plan utilization hits 100%, send a usage notification to the end user when service plan usage hits 75% of service plan allowance, send a plan expiration notification to the end user when his plan expires, etc.).
In one embodiment, external policy events are injected to define, turn on, or turn off usage analytics to be measured. For example, a service operator may want to count the number of accesses (or amount of traffic) to a specific set of web site to determine the popularity of the web site for the purpose of determining whether or not it should offer a targeted service plan that includes access to that particular site. To support this, the Operator injects a policy event that tells the PCRF 8006 (or TDF) to count instances of access to a list of one or more websites (or domains) and count the traffic generated by these accesses and report results via the Notification Event interface after a particular time period or periodically (e.g., every 2 hours, every 100 accesses, every 50 MB, etc.). The output is then analyzed by the service provider to evaluate the economics and/or popularity of such a plan, if it were offered.
In one embodiment, the non-real-time OCS and PCRF Layers (8106 and 8108) update the subscriber policy based on usage patterns within a service plan (e.g., continue to allow access (or increase usage quota limits) to a sponsored service based on purchase frequency with the sponsor, etc.). In one embodiment, the non-real-time OCS and PCRF layers (8106 and 8108) update the subscriber policy based on network state, network congestion level, service usage levels, etc.
In one embodiment, the OCS infrastructure is provisioned to monitor usage thresholds and trigger based on usage within the service plan, and the PCRF is provisioned to monitor and generate a notification trigger based on particular finer-grained data access or attempted data access events (e.g., streaming audio, streaming video, VoIP, peer-to-peer, particular network destinations (e.g., amazon.com, facebook.com, etc.).
In some configurations, the PCRF infrastructure is provisioned to monitor particular data activities and track and associate the usage patterns with the subscriber. In one embodiment, this information is further utilized to generate service plan offers that reflect the subscriber's usage patterns (e.g., data types, applications, network destinations, time-of-day usage patterns, home vs. roaming usage, etc.). In one embodiment, when the subscriber is presented with service plan offers, the offers are based on an analysis of usage patterns (e.g., a subscriber spends a lot of time on social networking sites so he is offered a social networking service plan that includes access to social network sites or allows usage by social networking applications, etc.). In one embodiment, it is useful to combine Gx and Gy policy to provide differentiated control, notification, or analytics.
Service Design Environment with Converged Policy Management and Provisioning
In one embodiment, such as the exemplary embodiment shown in
In one embodiment, a service plan includes different characteristics based on network state or other factors (e.g., home vs. roaming network, congestion level, time-of-day, etc.). In one embodiment, the service plan configured by the SDC user also includes service components that specify notification, control, access, and quota policies based on the network state or other factor (e.g., when on a roaming network, block streaming services and notify the user that streaming services are not available when the he is roaming). In one embodiment, the user notifications are configured to initially block and then expect user permission to continue the specific service (e.g., streaming is initially blocked when roaming, but the user may override the control with an acknowledgement). In one embodiment, the permission to continue may be permanent. In one embodiment, the permission to continue is for a specified period of time (e.g., 1 hour, 1 day, etc.) or for a specified event (e.g., one video or one video conference call, etc.). In one embodiment, the permission to continue is for a specified amount of usage (e.g., 1 MB, 10 MB, etc.). In one embodiment, where the user provides permission to override a control, the response also includes an account-level PIN code/password to authenticate the user.
In one embodiment in which user override is available, it is advantageous to combine converged policy layer with a real-time policy manager (as illustrated, for example, in the embodiment of
In one embodiment, the Service Design Environment 8116, Converged Policy 8118, and Policy Provisioning Layers 8120 exist in the cloud, and the Policy Provisioning Layer 8120 is connected to the elements that are to be provisioned (e.g., PCRF, OCS, notification element, etc.) via a private network, VPN over public internet, or other interconnection method. Using this approach, the operator may consolidate all of the service creation and provisioning environment in one place. Additionally, it enables the operator to easily support VSPs and MVNOs from a shared platform where a service provider has its own virtual Service Creation Environment and may manage its own service plans, policies, devices and subscribers without impacting other the service providers' data.
In one embodiment, the Converged Policy layer 8118 converts the “plain-text plan design” into low level network policy instructions. These instructions are then decomposed into the appropriate policy types (e.g., Gy/Ro, Gx, Sd, etc.) based on what a specific policy element is attempting to manage as well as network element capabilities. In one embodiment, where there are multiple vendors of the same policy element (e.g., OCS, PCRF, PCEF, etc.), the Policy Provisioning layer 8120 creates policies specific to a vendor's policy element. This enables the Service Design user to create plans and have the vendor-specific policies managed automatically for him. For example, the plan limit (e.g., 50 MB and 1 month) is provisioned into the OCS as attributes of the specific service plan, the allowed destinations (e.g., facebook.com website) are provisioned into the PCRF/PCEF/TDF as an access allow rule associated with the service plan, the application policy (e.g., allow the Facebook application to access the network) is provisioned to a device enforcement policy agent, the notification policy is provisioned on the Client Cloud 8122 (e.g., when a subscriber of the Facebook plan uses 50% of the plan, deliver a 50% notification message to the Device Client 8128).
Once the policies have been decomposed into their network policy components, the appropriate network elements are provisioned with the policies and the policies are associated with the service plan. When the end-user purchases the service plan, the appropriate network elements are provisioned to enable/associate the service plan policies with the end-user's account/device and to enforce them on behalf of the end-user.
In one embodiment, the service provider user designs and publishes service plans without knowledge or understanding of the necessary network policies required to implement the control and enforcement of the service plan on the network. Additionally, the Service Design Environment 8116 provides a single-point of entry for the service plan attributes, control, and notification rules and then enables a seamless mechanism to publish the service plan and make it available for purchase by end-users.
In one embodiment in which the service provider is not the wireless network operator (e.g., an MVNO, channel partner, etc.), the service provider creates and manages its own service offers without having to work directly with the host network operator to implement the service plan policies on the network control/enforcement elements.
In one embodiment, the network policy management/enforcement elements are configured to notify the Client Cloud 8122 when a policy event has occurred (e.g., plan utilization, non-supported activity attempt, etc.). In one embodiment, the Client Cloud 8122 uses the notification trigger received from the network policy element to generate an indication to the Device Client 8128 that a policy event has occurred and for the device to take action on that event (e.g., end-user tries to perform an access that his service plan may not support, client cloud 8122 informs the device client 8128 and the device notifies the end user about the blocked access and offers the end user a service plan that supports the attempted access). Examples of event indication include an index into a policy notification/action table, an entire notification including text and actions to take, etc.
In one embodiment in which portions of the network access policy are managed by the device, the Device Client 8128 notifies the Client Cloud 8122 when a device-managed policy event occurs (e.g., a user plan has expired, the user purchased a new service plan, the response the user selected to a displayed notification, etc.). In one embodiment, the Device Client 8128 reports that the policy event has occurred and Client Cloud 8122 then provides further indication of how the Device Client 8128 should react to the event (e.g., block access, display an event notification, display a service plan purchase notification, etc.).
In one embodiment, the enforcement policy is managed by both the device and the network. In one embodiment, the Device Client 8128 and the network policy management elements are updated through the Client Cloud 8122. For example, an end-user has a 10 MB Facebook application-based plan. The Device Client 8128 is managing access to the network (e.g., only the subscribed applications may communicate with the network). When a plan usage reaches the usage limit, the network element that is tracking usage limits (e.g., OCS) notifies the Client Cloud 8122 that the usage on particular plan has reached 100%. The Client Cloud 8122 then notifies the Device Client 8128 that the plan has reached 100% and the Device Client 8128 displays a notification that the application plan has reached 100% and then blocks further access to the network by the application(s).
In one embodiment in which the policy enforcement elements are not located in the cloud, any or all of the Service Design Environment 8116, Converged Policy 8118, and Policy Provisioning 8128 elements may reside in the cloud, and the provisioning occurs over network links to the various network elements. In one embodiment, the links are over private network connections. In one embodiment, the links are over a VPN on the public Internet.
In one embodiment, the policy management and enforcement elements are virtualized and the policy that is provisioned to them includes both high-level and low-level policy instructions (e.g., policy to be enforced at the OCS Decision Layer 8064 and policy to be enforced at the OCS Interaction Layer 8066 (as described in prior figures and drawings)). In a hybrid environment where there both virtual and physical instances of a policy enforcement or policy management element exist, the policy set is adapted to support both implementations (e.g., a policy set for physical elements and a policy set for virtual elements). In one embodiment, the Converged Policy Layer 8118 produces both policy sets. In one embodiment, the Policy Provisioning Layer 8120 adapts a single policy set received from the Converged Policy Layer 8118 into the local and cloud-based component policies (e.g., OCS Interaction Layer 8066 and OCS Decision Layer 8064 policies).
Simplified Policy Architecture
The policy system diagram in
A key advantage of the improved policy system is the capability to jointly define and enforce service control policy (or policies), service accounting policy (or policies), and service notification policy (or policies). Definition (or design) of joint service policy is accomplished in the service design center disclosed herein and in some of the documents incorporated by reference herein. In one embodiment, joint definition of service policy comprises using a common user interface and policy object creation or definition environment as a unified policy creation and management platform for two or more of the three key service network policy types: control, accounting, and notification. In one embodiment, this unified policy creation and management platform provides for a common environment to define service activity filters (i.e., definitions for a classification of service) and the policies that are associated with the filters to enforce a desired set of service plan policies. In one embodiment, the filter and associated policy definitions from the SDC are converted into provisioning instructions for the policy functions shown in
The Policy Enforcement Function (PEF) 375 in
In one embodiment, example control instructions include, but are not limited to: block, allow, throttle, cap, delay, prioritize, cap and re-match, cap and no-match, hold and wait for user response, cap and wait for user response, increase priority, decrease priority. In one embodiment, example accounting instructions include, but are not limited to: allocate accounting to a service accounting bucket identifier, allocate accounting to a user service accounting bucket, stop allocating accounting to a user plan service accounting bucket, allocate accounting to a service sponsor accounting bucket, stop allocating accounting to a service sponsor accounting bucket, allocate to a carrier accounting bucket. In one embodiment, example notification trigger instructions include, but are not limited to: identify a particular notification trigger event and provide an event identifier and device or subscriber credential associated with the trigger event. The notification trigger events are fed to the Device Interface Function (DIF), where the notification trigger identifier is used to determine the proper notification to deliver to the device associated with the device (or subscriber) credential.
Policy instructions are provided to the PEF 375 by the PDF 370 in the form of policy instruction sets (each set having one or more instructions), with a device credential or subscriber credential being assigned to a policy instruction set. In one embodiment, policy instruction sets comprise one or more filters (or components) and one or more associated policy enforcement instructions. The PDF 370 operates in near-real-time to update the filter definitions and/or the policy instruction sets. The PDF performs such updates primarily when changes occur in the policy state that is reported to the PDF by the Policy State Function (PSF) 369. The PSF 369 detects changes in policy state that have a bearing on the service plan policy. Example policy states include, but are not limited to, one or more of: a state of service use (e.g., an amount of use, amount of use below a service limit, amount of use above a service limit, a rate of service use, etc.), a period of time, foreground or background access, a type of network (e.g., home cellular, roaming cellular, mobile operator, 2G, 3G, 4G, WiFi), a network busy state or network performance state, one or more available QoS states, a geography. In one embodiment, policy state becomes a modifier or index to assist the PDA to determine which policy should be applied to a given filter. In one embodiment, the policy state is at least bifurcated (e.g., below service limit, above service limit) or further divided so that the policy state may be used as an integer indexing system to select the correct policy set for the given policy state. Such embodiments simplify the logic in the PDF and PEF because the policy decision logic is reduced from other approaches, and the manner in which the policy varies as a function of policy state may be easily configured within the service design center (SDC).
The PEF 375 monitors service use and passes an accounting of service use to the Accounting Policy Function (APF) 372. In one embodiment the PEF 375 monitors and accounts for communication use for a filter (or component) and passes a measure of the service (or component) use to the APF 372 along with a filter (or component) identifier. In one embodiment, the PEF 375 aggregates the use for multiple filters (or components) into a service accounting bucket and passes a measure of the service accounting bucket use to the APF 372 along with a bucket identifier. The APF 372 passes service use records to the Service Billing Function (SBF), where the use records are rated and converted into bills (or other accounting records that do not necessarily demand a payment) for users, service partners, and/or service partners.
In one embodiment, a plurality of devices form a device (or subscriber) group database 377, and the DIF 371 establishes a communication channel with an application, agent, or SMS function on one of the devices in the device (or subscriber) group to assist in delivering the notifications. In one embodiment, the communication channel is a secure channel (i.e., secured by an encryption protocol). In one embodiment, the communication channel may also accept user responses to notifications (e.g., service offer responses, acknowledgement responses, service choice/preference responses, etc.).
In one embodiment, the DIF 371 establishes a secure communication channel with an application or agent on at least one of the devices in the device (or subscriber) group to assist in delivering the notifications. In one embodiment, the secure channel may also be established to accept user responses to notifications (e.g., service offer responses, acknowledgement responses, service choice/preference responses, etc.). In one embodiment, the DIF 371 communicates with the application or agent on one of the devices in the device (or subscriber) group using a pre-defined application programming interface (API) protocol established to make the communication of notifications, offers, and user responses more efficient and useful for device users. In one embodiment, the DIF 371 is configured to obtain assistance in implementing one or more of the notification policy, control policy, or accounting policy from the application or agent on one of the devices in the device (or subscriber) group as described herein. In one embodiment, the DIF 371 accepts user responses to notifications and service plan offers and relays them to the service policy management function (SPMF) and/or billing function. In one embodiment, the DIF 371 performs an activation server function to activate a device to use a new service plan. In one embodiment, this activation is assisted by a sponsored service (or connection) to allow the device restricted access to the DIF 371 (i.e., access to the DIF but not to other destinations or end points), and the sponsored service is implemented in the PDF 370 and PEF 375. In one embodiment, the types of notifications delivered by the DIF 371 include, but are not limited to: a notification associated with an amount of service used, a notification associated with a percentage of service limit used, a notification associated with a service limit reached, a notification associated with a service overage, a notification associated with an overage indication with request for acknowledgement, a notification associated with a service condition wherein a service plan purchase or upgrade is required, a notification of a roaming condition, a notification of a roaming condition that may expect a response, provide a service offer, provide a service offer and request a response, provide a message or offer associated with a marketing interceptor trigger. In one embodiment, the DIF 371 communicates the notification response (e.g., response to service plan offers) to the SPMF 378.
The SPMF 378 manages the active service plan for at least one of the one or more devices in the device (subscriber) group. For a device, the communication policy is determined by the service policy configuration maintained by the SPMF 378. When the service plan is changed or an aspect of the service plan is modified, the SPMF 378 instructs the PDF 370 to implement the new service plan policy or policies, and the PDF 370 in turn instructs the PEF 375 to implement the appropriate real time policy implementation instructions to realize the service plan policy or policies.
The Classification Definition Update Function (CDUF) 368 provides updates to classification definitions to perform associative classification. As described in several of the applications incorporated herein by reference, associative classification provides for changing filter definitions as additional filter parameters are determined to be necessary due to the changing nature of some websites and other Internet destinations.
As will be appreciated in view of the disclosures herein, the functions illustrated in
It should be appreciated that although the various functions have been given names, and have been illustrated and described herein as being independent functions, it will be appreciated that other names may also be used for these functions, and that an implementation may implement the functions differently than shown or described herein. In particular, a single element (whether network-based or device-based) may perform more than one of the functions, or more than one element may perform a single function. The figures and descriptions presented herein are exemplary and are not meant to be limiting.
As a particular example, the policy decision function could be implemented by, for example, a policy rules element in the network system, or by a policy control agent on the device, or by a combination of a policy rules element in the network system and a policy control agent on the device. Likewise, the policy enforcement function could be implemented, for example, by a policy enforcement element in the network system, or by a policy enforcement agent, a policy implementation agent, and/or a modem firewall on the device, or by a combination of a policy enforcement element in the network system and one or more agents or elements on the device. As another example, the service policy management function could be implemented, for example, by a Service Controller 122 or a policy management server in the network system, or by one or more device agents on the device, or by a combination of a Service Controller 122 or a policy management server in the network system and one or more agents on the device. As another example, the accounting policy function could be implemented, for example, by a charging element and/or accounting/billing server/system in the network system, or by a billing agent and/or a service monitoring agent on the device, or by a combination of a charging element and/or accounting/billing server/system in the network system and a billing agent and/or a service monitoring agent on the device. Likewise, the device interface function could be implemented, for example, by a Service Controller 122 in the network system, or by a user interface agent on the device, or by a combination of a Service Controller 122 in the network system and a user interface agent on the device.
In the embodiment of
As shown in
As shown in
As shown in
A 4G/3G/2G DPI/DPC enabled gateway 5610 may be provided with a conventional service gateway functions (e.g., routing, switching, protocol translation/tunneling, charging data function (CDF), charging gateway function (GCF), mobility management, and/or suspend/resume) combined with one or more of the following embodiments and integrated into one or a combination of the service gateways (e.g., RAN and/or transport gateways): DPI service monitor, service history server 1650, device usage 118, DPC policy implementation, policy management server 1652, user notification 5618, billing event server 1662, access control integrity server 1654, service control server link 1638, data plane I/O (e.g., used to represent the I/O port(s) for the gateway), and/or DPI/DPC gateway control plane link (e.g., used to represent the control plane network channel connecting the above elements to other network equipment and in communication with gateway control communication). The packet processing architecture shown in this figure calls for a multi-point to multi-point backplane bus scheme, but it may be apparent that other data path configurations are possible including serial. Further, the above-described configuration may also be applied to either the transport gateway and/or the RAN gateway. It is possible to maintain a secure storage on the 4G/3G/2G DPI/DPC gateway 420 or 410 that may expect secure credentials to get into so that user privacy is protected and service usage information or customer resource management (CRM) information is filtered according to user preferences prior to sending to another network function or network manager, and the same allowances may also be applied for emergency or government monitoring purposes. Network neutrality may also be maintained in this configuration by maintaining network neutrality in the service control algorithm and/or soliciting user input on how to control service usage just as discussed above for other network service control implementations or as discussed in the device based service control descriptions.
In one embodiment, a bill by account function, wherein different service usage categories are accounted-for separately, possibly to facilitate billing of multiple entities for service usage associated with a device, is implemented in the context of the 4G/3G/2G DPI/DPC gateway embodiment or other network based system embodiments described herein. For example, the bill by account information may be completely derived from the network box (e.g., 4G/3G/2G DPI/DPC gateway) without assistance from device based service monitoring or billing capabilities, or none may exist on the device. In this example, the DPI service monitor, in some cases in conjunction with service history server 1650, may operate in conjunction with bill by account policy settings stored in the billing event server 1662 so that service activities are divided into the account classifications defined by the service profile settings. The bill by account feeds may then be sent to the billing system or to an intermediate billing event aggregation server that collects this type of deep packet inspection generated information from one or 4G/3G/2G DPI/DPC gateway 5610 units to aggregate and format the information in a manner that may be used by the central billing system 123. In one embodiment, the bill by account information collected in a network box, such as the 4G/3G/2G DPI/DPC gateway 5610, is augmented, refined or otherwise added to by bill by account information collected on the device as described herein and any intermediate server that may be used to aggregate and format these bill by account feeds for the central billing system deals with both types of data, from the network and from the devices.
The simplified policy architecture described herein has several key advantages:
1. All the policy definitions required to commercialize new service offers are accomplished in a single service plan definition environment: the SDC 360.
2. All traffic monitoring and processing is accomplished in one real time policy function: the PEF.
3. The PEF is the policy function that processes the communication path (e.g., data path), and the simple nature of what the PEF does makes the simplified policy architecture highly scalable. All policies for control, accounting, and notification are based on simply matching filters with communication parameters and executing a finite set of real time policy implementation instructions on the communication flows that match the filter parameters. Changes at the PEF level of policy occur when the PDF modifies the filters or associated policy implementation instructions provided to the PEF. The filters and associated policy implementation instructions implemented by the PEF are termed “policy instruction sets.” Because the PEF determines all of the communication events that trigger control, accounting, and notifications, the policy definition environment is simplified and joint policy design is possible. Unifying policy event detection in one function also makes it possible to have simultaneous real time coordination between two or more of the control, accounting, and notification events that are initiated by a policy event. Although the PEF comprises a simple architecture allowing it to perform an ordered search for filter matches and then implement the policy instruction corresponding to the filter that is matched, the SDC 360 policy object hierarchy, the Z-order protocol for determining multi-match policy, and the expansion of PEF command types provides for industry-leading policy sophistication at the time this document is being drafted.
4. Employing policy state as a qualifier or modifier of policy allows the decision logic in the PDF to be simplified. In one embodiment, the PDF in large part simply observes changes in policy state, and when the policy state reaches a pre-defined state the PDA is pre-configured to simply look up a new pre-configured policy instruction set and pass it to the PEF. The SDC 360 may be used to define all the policy state transitions where PEF policy is desired to be changed, and for a defined policy state a new PEF policy instruction set may be configured in the SDC 360 and provisioned into the PDF along with the information necessary to identify a policy state that corresponds to a policy instruction set.
5. Notifications may be triggered in real time off of the same policy events that cause changes in control policy and/or accounting policy. This provides for an elegant and effective real-time synchronization of user notifications about service use or changes in service status, making for a more comfortable and enjoyable user experience. Service usage reporting to the user may be done simply in real time. When a service plan upgrade or new service plan purchase may accomplish a service activity of interest to the user, the user's attempt to use the service activity may be detected instantly, and an offer may be presented through the user interface of the device with little delay. The immediacy of the detection and notification of the upgrade or new service plan purchase makes the service experience more interactive. This approach may be attractive for certain markets in which services are purchased in smaller increments, and the user population has tired of being charged for service overage, or running out of service, or preemptively purchasing more service than the user actually may expect in order to avoid overages or running out of service. With real-time purchase capability, users never need to worry about hassles or overages when they run out of service because they may use a service application or service processor agent to re-up their service plan or purchase a new service plan in real time.
6. Service control, accounting, and notification may be accomplished in real time at a granular level (e.g., per application, per network destination, per content type, etc.), depending on the traffic inspection and/or application awareness capabilities of the PEF.
7. The simplified and unified environment also makes it simpler to define sponsored services and to virtualize services across mobile operator networks as disclosed herein while implementing a highly capable billing platform capable of billing any number of entities for various classifications of the service use consumed by a given device (e.g., billing a first sponsor entity for a first classification of usage, billing a second sponsor entity for a second classification of usage, and billing the user for all service usage not within the first or second classification of usage).
Joint Policy Definition and Enforcement
The provisioning details and
In the embodiment of
These and various other features and advantages of embodiments of integrated network-service design are described in further detail below.
Joint Policy Design
Still referring to
As a matter of terminology, individual policy components are distinguished herein as access-control policies (or “control policies” for short), accounting policies, and notification policies according to the nature of their triggered actions. For example, the six exemplary policy components 154 within the first service policy instance (i.e., “Service Policy 1”) include two control policy components (indicated by policy actions “Control1” and “Control2”), two notification policy components, and two accounting policy components (of course, the inclusion of the six exemplary policy components 154 within the first service policy instance is merely illustrative—more or fewer components may be included within a given service policy). Likewise, it is not necessary that the components include all three of control, notification, and accounting, or that the number of a type be equal. As described above and in further detail below, the hierarchical definition of filters and component-level classification objects enables filters within database 157 to be re-used within a given service policy 152, as in the definition of classification events CE2 and CE3, and also within different service policies. Also, the same classification event may be associated with two or more policy events within respective policy components as in the policy components that yield control, notification, and accounting actions (Control1, Notification1, Accounting1) in response to classification event CE1 during policy state PS1. Further, while a policy component is shown as triggering a single control action, a single policy component may be defined to include multiple actions in an alternative implementation or configuration. Thus, instead of requiring three separate policy component instantiations to effect the Control1, Notification1, and Accounting1 actions, a single policy component may be defined to trigger those three actions (or any combination of actions, including two or more actions of the same type) as shown at 156. In addition to enabling efficient, joint policy definition within an integrated design environment, this design flexibility permits the design of arbitrarily complex policy implementations, including policies that support multiple-match classification sequences and “interceptor” policies that detect attempted access to an unsubscribed service and interact with a user to offer and activate one or more access-compatible service plans.
The consistent joint (integrated) policy definition and enforcement framework enabled by the various SDC embodiments presented herein is tremendously advantageous in the design and provisioning of enhanced policy enforcement capability, lower complexity and reduced network cost, reduced latency in user service notifications, and real time interaction between service plan policy options and user preferences to enhance the user experience and increase the opportunities to effectively market and sell new types of services and service plans or bundles. As described above, joint policy definition and enforcement framework refers to the capability to define and deploy filters (or collections of filters) conditioned on policy state and associate the conditioned filters with any of three policy types: control, accounting and notification. For example, a service activity (e.g., access or attempted access) that yields a match with respect to a filter (or collection of filters) defined as a “data communication type” and conditioned on “service limit reached” (a policy state) may be associated with a joint policy actions comprising “cap” (a control action triggered by the policy-state-conditioned filter match and thus a control policy) and “send plan modification required notification” (a notification action triggered by the filter match and thus a notification policy). This “cap and notify” joint policy construct allows for simultaneous execution of real-time capping (when the service limit is reached) and real-time user notification that the limit has been reached. Because the notification action is triggered at the same instant as the cap was enforced (i.e., both actions are triggered by the same policy-state-conditioned filter matching event), and the notification trigger may cause the notification system to deliver a user interface message to be displayed on the device UI in fractions of a second to a few seconds, the device user experiences a notification explaining why the service has been stopped precisely when the user has requested service and thus while the user's attention is directed to execution of the requested service (i.e., coincident in time with the service being stopped). Further, the UI message may include or be accompanied by information of various options for resolving the service stoppage, including on-the-spot offers to activate one or more service plans that may enable the requested service. Thus, in contrast to a disaggregated policy design/implementation in which notice of plan-expiration may arrive minutes or hours after the relevant service request with no option for resolution beyond calling a “customer care” call center (i.e., an untimely notification of a problem with no clear or immediate avenue for correction—in essence, a nuisance), a joint or integrated policy defined using embodiments of the integrated service design center enables instantaneous notification of the plan exhaustion event together one or more options for immediate resolution and allowance of the requested service access, apprising the network-service consumer of a problem and offering one or more solutions (including offers to purchase/activate additional service plans) precisely when the consumer is most likely to make a purchase decision. From a system design perspective, by providing the capability to associate a filter match definition with multiple policy types (i.e., as in the above example of joint (or integrated) policy design) there is no longer a need to have separate communication service control and communication service notification systems because both functions are accomplished with the same system.
As another joint or integrated policy example, a filter match comprising “data communication type” (a filter or component) conditioned on “service limit reached” (a policy state) may be associated with a joint policy comprising “stop accounting to base service plan bucket” (a first accounting policy), “begin accounting to service overage bucket” (a second accounting policy), and “send service overage now in effect notification” (a notification trigger policy). As in the preceding cap and notify example, this exemplary “cap and match” joint policy provides real-time notification to make the end-user immediately aware of service plan status (i.e., capped in this example), thus allowing the end-user to potentially modify his/her service plan or usage behavior. As the cap and match example also demonstrates, the single, simplified joint policy enforcement system obviates the separate accounting and notification systems that plague conventional approaches.
As another joint policy example, three-way joint policy enforcement may be achieved through definition of a filter comprising “data communication type” (a “data” filter or collection of data filters) whose match is conditioned on a “service limit reached” policy state and triggers, as control, accounting and notification actions, a “restrict access to service activation destinations” (a control action, and thus a control policy), a “stop accounting to base service plan bucket” (an accounting action and accounting policy), and a “send new service plan or service plan upgrade required” notification (a notification action and therefore a notification policy). In this example the complexity of having separate accounting, control and notification systems that are difficult to program and provide poor notification response times is avoided and replaced with an elegant, simple, less expensive and easier to program joint policy system that provides real time user notification.
As mentioned briefly above, embodiments of the integrated service design center also enable design and deployment of interactive (or dynamic) service policies. Continuing with the data filter example presented above, a match with respect to a data filter conditioned (or qualified) by a “service limit reached” policy state may be associated with a joint user-interactive policy comprising “cap until user response received” (a user-interactive control policy), “stop accounting to base service plan bucket” (an accounting policy), and “send the service plan offer corresponding to the data limit reached condition” (a user-interactive notification trigger policy). Thus, the embodiments described herein provide not only for enhanced policy enforcement capability, lower complexity and reduced latency for a better user experience, but also real-time interaction between service plan policy options and user preferences, further enhancing the user experience and increase the opportunities to effectively market and sell new types of services and service plans or bundles.
As another example illustrating a joint policy design, a first data filter match conditioned by a “95% of service limit reached” policy state may trigger (or otherwise be associated with) a “send service limit about to be reached” notification (i.e., a notification policy), and a second data filter match conditioned by a “100% of service limit reached” may trigger a “cap” control action (i.e., a control policy). Thus, in this joint policy design example, the integrated service design center enables definition of a common (or shared) data-communication-type filter that is conditioned on two different policy states and, when matched in conjunction with the respective policy states, triggers distinct notification and control actions.
As another example illustrating a joint policy design, a first filter match comprising “Amazon” (a filter or a component) conditioned on “sponsored Amazon limit not reached” (a policy state) may be associated with “allow” (control policy) and “account to sponsored Amazon bucket” (an accounting policy), and a second filter match comprising “Amazon” (a filter or a component) conditioned on “sponsored Amazon limit reached” (a policy state) may be associated with “stop accounting to sponsored Amazon bucket” (an accounting policy), “send acknowledgement for ‘Free Amazon service limit reached for this month, would you like to continue with Amazon charged to your data plan?’ notification” (a user-interactive notification policy) and “cap until user response received” (a user-interactive control policy), “if user agrees, cap-match” [e.g. continue searching for a match] (a user-interactive policy to proceed down the Z-order to find another match), and “if user does not agree, cap-no match” (a user-interactive control policy). This is an example of a multi-match policy set where Amazon is first tested for the sponsored service filter until the sponsored service use bucket limit is reached, then a cap-match command is executed and, if there is another Amazon filter match before the “no capable plan” end filter is reached (e.g. a user data plan bucket that is not over its limit), then a second match may be found in the prioritization order.
As another example illustrating a joint policy design, at a first time a first filter match comprising “application update” (a filter or a component) conditioned on “application background status” (a first policy state) and “roaming network condition in effect” (a second policy state) may be associated with “block” (a control policy), and at a second time a second filter match comprising “application update” (a filter or a component) conditioned on “application foreground status” (a first policy state) and “roaming network condition in effect” (a second policy state) may be associated with “allow” (a control policy), and at a third time a filter match comprising “application update” (a filter or a component) conditioned on “application background status” (a first policy state) and “home network condition in effect” (a second policy state) may be associated with “allow”. Thus, in this example a filter is conditioned on two policy state conditions (home/roaming network state and foreground/background application state), wherein in a background application update is allowed unless it is occurring on a roaming network, and a foreground application update is always allowed. This example simultaneously demonstrates two advantageous capabilities that may be achieved through joint policy design: the ability to modify control policy (or accounting or notification policies) as a function of network type and also the ability to modify control policy as a function of foreground versus background application status.
As another example illustrating joint policy design, a filter match comprising “no capable plan” (the final filter in the Z-order search) conditioned on “Vodafone Spain roaming network condition in effect” (a policy state) may be associated with “send the service plan offer corresponding to roaming on Vodafone Spain” (a notification policy), and “cap and wait for response” (a user-interactive control policy). Further, as a pure notification example, a filter match comprising “voice communication type” (a filter or component) conditioned on “80% of service limit reached” (a policy state) may be associated with “send ‘you have 20% left on your talk plan’ voice notification message” (a notification policy).
As a marketing interceptor example, a filter match comprising “no capable data plan” (the final filter in the Z-order search) with no condition may be associated with “send the free try before buy service offer” (a notification policy), and “cap and wait for response” (a user-interactive control policy).
As another marketing interceptor example embodiment, a filter match comprising “Facebook” (a filter or component) may be associated with “notify and continue” (a notification trigger policy) and “send Google+sponsored cellular service offer” (a notification policy). In this example the special command “notify and continue” is provided as an example of the expanded policy enforcement instruction set that may lead to additional policy capabilities—in this case simplified and powerful notification based on user activity with their device. The notify and continue command example provides for a notification trigger that results in a notification being sent to the device UI (in this case an offer for free Google+access on cellular networks) with no impact on service plan control or accounting and without interfering with the service activity to match with a filter in the Z-order search. The “continue” in “notify and continue” refers to the process of allowing the Z-order search process to proceed to find a match under the service plan policies in effect.
As another example of joint policy design and implementation, a notification policy may specify that when an end-user device that is not associated with (subscribed to) a service plan that provides for text messaging attempts to send a text message, a notification is provided through a user interface of the end-user device. In this example, the policy state is that the end-user device is not associated with a service plan that provides for text messaging, the classification event is that the end-user device attempted to send a text message, and the action is to provide a notification through the user interface of the end-user device. As another example, a control policy may specify that when an end-user device that is not associated with (subscribed to) a service plan that provides for text messaging attempts to send a text message, the text message is blocked. In this example, the policy state is that the end-user device is not associated with a service plan that provides for text messaging, the classification event is that the end-user device attempted to send a text message, and the action is to block the attempted text message. The policy may specify more than one action. For example, continuing with the examples above, a policy may specify that when an end-user device that is not associated with (subscribed to) a service plan that provides for text messaging attempts to send a text message, the attempted text message is blocked, and a notification is provided through a user interface of the end-user device. In general, classification events are matches between designer-specified classification objects and attempted or actual service access events. For example, in the text message example provided above, the designer-specified classification object is an attempt to send a text message, and the attempted or actual service access event is that the end-user device attempted to send a text message.
Hierarchical Design Environment
Proceeding from bottom up through the hierarchy, filters 175 form base-level classification objects to be incorporated into service policy components 180 at the next hierarchical level. As shown, a service policy component includes, in addition to the incorporated filter(s), one or more policy event definitions together with a component service class definition, filter priority specification and optional component-level accounting specification. As discussed in reference to
Proceeding to the next hierarchical design level shown in
The hierarchical design levels described thus far (i.e., filters, policy components and service policies) may be applied in either a service plan definition or in discovered-service constructs, such as the marketing interceptors (or “interceptor” policies) mentioned above, which may detect attempted accesses to an unsubscribed service and interact with a user to offer and activate one or more services.
Continuing upward to the next hierarchical level within a service plan definition, service plans and service-plan bundles (the latter being referred to in shorthand herein as “bundles”) are defined by incorporation of one or more service polices together with a specification of optional plan-level accounting policies, plan-level policy events and plan class. In one embodiment, plans and bundles are distinguished by quantity of incorporated service policies with service plans a incorporating a single service policy, and service-plan bundles a incorporating multiple service policies (i.e., establishing, in effect, a bundle of service policies). As discussed below, the multiple service policies within a bundle are generally billed as a collective service, but may be accounted for separately, for example, to enable costs of constituent service policies to be broken out for taxation, analytic or other purposes.
In a number of embodiments, plan-level accounting enables billing on recurring or non-recurring cycles of designer-specified duration, and thus complements any policy-based accounting actions (e.g., component-level, policy-level or plan-level accounting according to service usage in addition to or instead of accounting per temporal cycle). In one embodiment, for example, the service design center permits the specification of a minimum number of billing cycles to transpire (and/or a calendar date or other criteria) before plan cancellation is permitted, and also whether plan usage metrics are to be reset or usage limits varied (e.g., usage rollover) at the conclusion of a given accounting cycle. Other examples include proration rules, sharing rules, etc.
Plan-level policy event definition, like policy event definition at the service policy level, permits a single policy-event definition to be associated with the classification objects incorporated from lower hierarchical levels, thus enabling a conceptually and logistically efficient definition of numerous policies having a shared plan-level policy state and triggered action, but different classification events. Plan class specification enables prioritization between service plans according to, for example, the paying entity, nature of the service, and so forth. In one embodiment, for example, plans may be differentiated as either sponsored (i.e., a third party pays for or otherwise defrays the cost of service in part or whole) or subscriber-paid, with sponsored plans being prioritized ahead of subscriber-paid plans. By this arrangement, sponsored and subscriber-paid plans for otherwise identical services may coexist, with the plan prioritization ensuring usage of a sponsored plan before its subscriber-paid counterpart (or vice-versa). As another example, plans that enable service activation may be differentiated, as a class, from service-usage plans, with activation-class plans being prioritized ahead of their service-usage counterparts. Such prioritization may be used to ensure that a user service plan is not charged for data access required to activate a service plan (or for service plan management).
In the embodiment of
Still referring to the design hierarchy of
The foregoing instances of plan-level, policy-level and component-level accounting are provided for purposes of example only and to make clear that accounting actions may be specified at any level of the service design hierarchy where beneficial to do so, including at multiple hierarchical levels. Prioritization (and/or conflict resolution) between accounting actions defined at two or more hierarchical levels may be controlled by explicit or implied input from the SDC user (i.e., with such input forming part of the overall service design specification) and/or established by design or programmed configuration (e.g., as in a user preference setting) of the SDC 360 itself.
Policy Priority Management
If a user or subscriber has paid for all service plans enabling the end-user device to access services, and none of the plans expires, then the order in which the plans are used up (i.e., the order in which service usage is accounted to the service plans) does not matter. But if a service plan is, for example, provided at no charge to a user or subscriber, and a particular service usage fits within that no-charge plan, then it may be desirable to account for the particular service usage within the no-charge plan instead of accounting for the service usage to a user-paid plan. Likewise, if a first service plan (whether user-paid or provided at no charge to the user) is nearing expiration (e.g., will cease to be available in three hours), and a second service plan under which a particular service usage could be accounted does not expire, it may be desirable to account for the particular service usage within the first service plan, if possible. By knowing variables such as whether a service plan is partially or entirely user-paid (or, conversely, whether a service plan is partially or entirely sponsored), whether a service plan expires, etc., a service designer may use the service design center to control whether, and in what order, service policies (e.g., accounting, control, and notification) are applied when an end-user device engages in various service activities (i.e., use of apps, access to Internet destinations, transactions, etc.). A policy enforcement engine (e.g., implemented by one or more agents within a network element and/or end-user device) may also apply the priority information to dynamically alter the priority order, for example, in view of fluctuating priority relationships that may result from the timing of plan purchases and/or automatically cycling (i.e., auto-renewing) plans. Also, while not specifically shown in
In the embodiment shown in
Although a top-down sequence of priority definition is shown in
Although sponsored plans may be prioritized ahead of user-paid plans in a number of contexts, the converse may also be true. For example, under the concept of a “carrier backstop,” a carrier or other service provider may wish to charge certain service activities required for service plans to work (e.g., domain name server functions) first to the end-user if the end-user has a supporting plan, and then to the service provider as a backstop. Accordingly, all the prioritizing arrangements described herein should be understood to be examples, with various alternative prioritizations being permitted by design or default.
Continuing with the prioritization examples, a particular service plan could have, for instance, sponsored and user-paid components. For example, the 30-day, 10 MB general access plan of
The priorities of plans within a given plan class may be explicitly assigned by the service designer, or potentially by a user through a web site or through a user interface of the end-user device. In the example of
On the other hand, the three-day sponsored social networking plan includes both of the Twitter-related filters (because access to Twitter is included in the three-day sponsored social networking plan), and it also includes three Facebook filters: a Facebook app filter, a Facebook messenger filter, and a Facebook web access filter. Because the three-day sponsored social networking plan provides only for social networking access, the plan may not include the all-pass filter. Note, however, that the end-user may wish to modify the default priorities based on purchase timing and/or re-prioritize based on service usage. Such end-user prioritization controls may be selectively granted as part of the overall user experience defined within the service design center.
In the example of
Similarly,
Still referring to
Note a use of the Twitter app by an end-user device could potentially be accounted to any one of the four plans shown in
Continuing with the example of
Although often it may be a service designer, through the service design center, who establishes the relative priorities of service plans, a subscriber or user may also be provided with the tools to set service plan priorities. For example, the subscriber/user may be given a “sandbox” (described) herein that allows the subscriber/user to modify the priorities of service plans. The subscriber/user may also, or alternatively, be able to establish service plan priorities through a user interface of the end-user device itself. For example, when a user selects (e.g., pays for, accepts, selects, etc.) a service plan from the end-user device, the user may be presented with an option to establish the priority of the service plan relative to other service plans associated with the device.
As the examples in
Multi-Match and User-Interactive Policy Capabilities
Multiple-Match Design Capability
As demonstrated in a number of examples above, the joint or integrated policy design constructs enabled by embodiments of the integrated service design center permit definition and provisioning of much more complex, user-responsive and interactive service policies than possible through conventional disaggregated design approaches. These include, for example without limitation:
The consistent joint (integrated) policy definition and enforcement framework provided by the present disclosure is very important for providing enhanced policy enforcement capability, lower complexity and reduced network cost, reduced latency in user service notifications, and real time interaction between service plan policy options and user preferences to enhance the user experience and increase the opportunities to effectively market and sell new types of services and service plans or bundles. Here, joint policy definition and enforcement framework refers to the capability to define or design filters (or components) conditioned on policy state and associate the filters with any of three policy types: control, accounting and notification. For example, a filter match comprising a filter match comprising “data communication type” (a filter or component) conditioned on “service limit reached” (a policy state) may be associated a joint policy comprising “cap” (a control policy) and “send plan modification required notification” (a notification trigger policy). This allows for simultaneous real time capping when the service limit is reached and real time user notification that the limit has been reached. Because the notification trigger occurred at the same instant as the cap was enforced, and the notification trigger may cause the notification system to deliver a user interface message to be displayed on the device UI in fractions of a second to a few seconds, the user experiences a notification explaining why the service has been stopped that is coincident in time with the service being stopped. With this type of joint (or integrated) policy capability to associated a filter match definition with multiple policy types there is no longer a need to have separate communication service control and communication service notification systems because both functions are accomplished with the same system. As another example, a filter match comprising “data communication type” (a filter or component) conditioned on “service limit reached” (a policy state) may be associated a joint policy comprising “stop accounting to base service plan bucket” (a first accounting policy), “begin accounting to service overage bucket” (a second accounting policy), and “send service overage now in effect notification” (a notification trigger policy). Similar to the above example, this example embodiment provides real time user notification so that the user is immediately aware of the status of their service allowing the user to potentially modify their service plan or their usage behavior. In this example the disclosure also provides the benefit that this single, simplified joint policy enforcement system removes the need for separate accounting and notification systems. An example embodiment for a three-way joint policy enforcement is a filter match comprising “data communication type” (a filter or component) conditioned on “service limit reached” (a policy state) that is associated with “restrict access to service activation destinations” (a control policy), “stop accounting to base service plan bucket” (an accounting policy), and “send new service plan or service plan upgrade required notification” (a notification policy). In this example the complexity of having separate accounting, control and notification systems that are difficult to program and provide poor notification response times is replaced with an elegant, simple, less expensive and easier to program joint policy system that provides real time user notification.
With the present disclosure, in one embodiment policy may also be interactive. Continuing with the same basic filter match example for illustration purposes, a filter match comprising “data communication type” (a filter or component) conditioned on “service limit reached” (a policy state) may be associated with a joint user-interactive policy comprising “cap until user response received” (a user-interactive control policy), “stop accounting to base service plan bucket” (an accounting policy), and “send the service plan offer corresponding to the data limit reached condition” (a user-interactive notification trigger policy). This example illustrates that not only does the present disclosure provide for enhanced policy enforcement capability, lower complexity and reduced latency for a better user experience, the disclosure also provides for a real time interaction between service plan policy options and user preferences, further enhancing the user experience and increase the opportunities to effectively market and sell new types of services and service plans or bundles.
As another example illustrating a joint policy design, a first filter match comprising “data communication type” (a filter or component) conditioned on “95% of service limit reached” (a policy state) may be associated with “send service limit about to be reached notification” (a notification trigger policy), and a second filter match comprising “data communication type” (a filter or component) conditioned on “100% of service limit reached” may be associated with “cap” (a control policy). In this example, a common filter is shared that defines a data communication type, and the common filter is conditioned on two different policy states.
As another example illustrating a joint policy design, a first filter match comprising “Amazon” (a filter or a component) conditioned on “sponsored Amazon limit not reached” (a policy state) may be associated with “allow” (control policy) and “account to sponsored Amazon bucket” (an accounting policy), and a second filter match comprising “Amazon” (a filter or a component) conditioned on “sponsored Amazon limit reached” (a policy state) may be associated with “stop accounting to sponsored Amazon bucket” (an accounting policy), “send acknowledgement for ‘Free Amazon service limit reached for this month, would you like to continue with Amazon charged to your data plan?’ notification” (a user-interactive notification policy) and “cap until user response received” (a user-interactive control policy), “if user agrees, cap-match” [e.g. continue searching for a match] (a user-interactive policy to proceed down the Z-order to find another match), and “if user does not agree, cap-no match” (a user-interactive control policy). This is a clear example of a multi-match policy set where Amazon is first tested for the sponsored service filter until the sponsored service use bucket limit is reached, then a cap-match command is executed and if there is another Amazon filter match before the “no-match” end filter is reached (e.g. a user data plan bucket that is not over its limit) then a second match may be found in the Z-order.
As another example illustrating a joint policy design, at a first time a first filter match comprising “application update” (a filter or a component) conditioned on “application background status” (a first policy state) and “roaming network condition in effect” (a second policy state) may be associated with “block” (a control policy), and at a second time a second filter match comprising “application update” (a filter or a component) conditioned on “application foreground status” (a first policy state) and “roaming network condition in effect” (a second policy state) may be associated with “allow” (a control policy), and at a third time a filter match comprising “application update” (a filter or a component) conditioned on “application background status” (a first policy state) and “home network condition in effect” (a second policy state) may be associated with “allow”. This is a clear example of a filter conditioned on two policy state conditions (home/roaming network state and foreground/background application state), wherein in a background application update is allowed unless it is occurring on a roaming network, and a foreground application update is always allowed. This is an interesting example embodiment showing two advantageous capabilities at the same time, the first capability being the ability to modify control policy (or accounting or notification policies) as a function of network type and the second capability being the ability to modify control policy as a function of foreground vs. background application status.
As another example illustrating joint policy design, a filter match comprising “no-match” (the final filter in the Z-order search) conditioned on “Vodafone Spain roaming network condition in effect” (a policy state) may be associated with “send the service plan offer corresponding to roaming on Vodafone Spain” (a notification policy), and “cap and wait for response” (a user-interactive control policy).
As a pure notification example, a filter match comprising “voice communication type” (a filter or component) conditioned on “80% of service limit reached” (a policy state) may be associated with “send ‘you have 20% left on your talk plan’ voice notification message” (a notification policy).
As a marketing interceptor example, a filter match comprising “no-match” (the final filter in the Z-order search) with no condition may be associated with “send the free try before buy service offer” (a notification policy), and “cap and wait for response” (a user-interactive control policy).
As another marketing interceptor example embodiment, a filter match comprising “Facebook” (a filter or component) may be associated with “notify and continue” (a notification trigger policy) and “send Google+sponsored cellular service offer” (a notification policy). In this example the special command “notify and continue” is provided as an example of the expanded policy enforcement instruction set that may lead to additional policy capabilities—in this case simplified and powerful notification based on user activity with their device. The notify and continue command example provides for a notification trigger that results in a notification being sent to the device UI (in this case an offer for free Google+access on cellular networks) with no impact on service plan control or accounting and without interfering with the service activity to match with a filter in the Z-order search. The “continue” in “notify and continue” refers to the process of allowing the Z-order search process to proceed to find a match under the service plan policies in effect.
As another marketing interceptor example embodiment for advertising a product or service, a filter match comprising “SiriusXM app” (a filter or component) may be associated with “notify and continue” (a notification trigger policy) and “send Pandora app and sponsored cellular service offer” (a notification policy). In this example the notification policy is based on detecting application activity that triggers a marketing interceptor offer.
Continuing with the embodiment of
Referring now to
Still referring to detail view 315, the sequential obtention of user input, policy-set update and policy-set application at 323 and 325 permits the applied policy set to be updated in whole or part in response to the user-input. Further, one or more policy states may be updated to reflect the matching event and thus establish a new classification scanning state to be considered as the classification sequence continues. As discussed in examples below, the ability to update policy sets based on user input enables service characteristics and selections to be changed on the fly (i.e., dynamically or on-demand), particularly in the context of a device-assisted service environment where the user-input may include a service activation directive (e.g., a service purchase or selection of a sponsored service) in response to a lack-of-compatible-plan notification. Similarly, the ability to establish a new classification scanning state provides a feedback mechanism within the classification sequence as a classification match may dynamically trigger a change in the policy state to be applied in conjunction with subsequent classification events. Also, in one embodiment, a classification event in a multi-match classification sequence may be flagged (or logged or otherwise recorded) so that, upon concluding the classification sequence, the overall set of matched filters may be considered in determining the actions to be performed. Thus, instead of (or in addition to) triggering actions in immediate response to a classification match (i.e., in the midst of a classification sequence), a determination of actions to be performed may be deferred until the classification sequence terminates to enable decision making in view of the complete set of classification events. This deferred-action construct is discussed in further detail below.
Continuing with multi-match classification sequence 300, attributes of the indexed policy set are evaluated at 307 to determine whether further classification (“re-match”) is permitted. If so, then despite the classification event detection at 289 and policy set application at 305, the filter evaluation loop is continued by updating the classification and policy sets at 308 (i.e., to reflect any change in classification scanning state or other policy states effected by the policy set application at 305) and then incrementing the loop index at 293. If the loop index does not exceed the final index (negative determination at 295), the filter evaluation loop repeats starting at 289. Upon reaching the final loop index (affirmative determination at 295) or applying a policy set that denies further re-matching (negative determination at 307), the multi-match classification is concluded at 330 by selecting and applying a policy set based on the classification results. Before proceeding with a subsequent multi-match classification, classification limits may be evaluated at 309 to determine whether limits (e.g., usage limits) have been reached with respect to any policy sets and, if so, updating those policy sets accordingly at 311.
Reflecting on the filter evaluation loop and end-of-scan policy-set application effected within multi-match classification sequence 300, the ability to defer action (in whole or part) otherwise triggered by a classification event enables decision making in view of the classification sequence as a whole and thus a more informed and tailored set of triggered actions. The net effects of the filter evaluation loop and end-of-scan policy-set application are shown at 331 and 333, respectively. That is, the filter evaluation loop enables an evaluation of all applicable filters (i.e., those included within the scan by virtue of the credential evaluation at 283 and/or update operations at 287 and 308) until a scan-termination event is reached (i.e., all filters evaluated or matching a filter that does not permit re-matching), and the end-of-scan policy set application at 330 enables execution of policy actions in view of the full set of matched filters, if any. These operations are shown graphically at 335, with filters being evaluated in order (though parallel evaluation may also be possible) to yield a set of match filters (i.e., resulting from flagging/logging/recording the matching event and/or information corresponding to the matched filters), with some set of actions being performed based on priority or other characteristics of the matched filters. Note that if no classification events are detected in the filter evaluation loop, a backstop, no-match policy set may be applied at 330.
Still referring to
Note that the various notifications that may be presented in the multiple match context may be prioritized in a number of ways. For example, the SDC 360 user may explicitly specify multi-match notification priority or may specify algorithmic/heuristic criteria for prioritizing the notifications (e.g., weight-based prioritizing scheme, prioritizing in order of first or last re-match encountered, with notifications cascaded until the end-user purchase an access-enabling service, etc.).
Continuing the example shown in
Provisioning Instruction Translator
A subscriber management engine 362 is provided to enable definition of one or more subscriber and/or end-user device groups (e.g., by device credential) based on input from one or more subscriber managers (i.e., service design center user(s) or operator(s), any of which may also be a service designer). An identified set of one or more of the user-defined subscriber groups (and/or end-user device groups) is associated with the catalog specified by the catalog descriptor and output from subscriber management engine 362 (i.e., as a set of subscriber identifiers/credentials and/or end-user device identifiers/credentials) to provisioning instruction translator 363. In one implementation, for example, the set of subscriber identifiers includes information that identifies various network elements associated with the identified subscribers and/or end-user devices to enable provisioning instruction translator 363 to identify the overall set of network elements (and/or end-user devices in a device-assisted service environment) for which provisioning instructions are to be generated.
In the embodiment of
Simplified Policy Architecture
A significant advantage of policy system architecture 366 is the capability to jointly define and enforce service control policy, service accounting policy and service notification policy. Definition (or design) of joint service policy is accomplished in service design center (SDC) 360, which may be implemented according to any of the various embodiments disclosed herein. In one embodiment, joint definition of service policy comprises using a common user interface and policy object creation or definition environment as a unified policy creation and management platform for two or more of the three key service network policy types: control, accounting and notification, thus providing a common or integrated environment that enables an SDC user to define service activity filters (definitions for a classification of service) and the policies that are associated with the filters to enforce a desired set of service plan policies. In the embodiment shown, the filter and associated policy definitions designed within SDC 360 may be supplied to a policy provisioning function 367 (e.g., including a provisioning instruction translator as discussed above) which serves in turn to convert those definitions into provisioning instructions for the various policy functions shown in
The Policy Enforcement Function 375 (PEF) is configured to enforce the real-time policies associated with a filter identified/defined in the output of policy provisioning function 367. In a number of embodiments, PEF 375 identifies communication flows, associates a flow with a device credential or subscriber credential, and performs a filter match search on the flows with filter and policy instruction definitions that are assigned to that device or subscriber by Policy Decision Function 370 (PDF). The filters define service activity classifications and the policy or policies associated with a given filter are implemented when the PEF executes a policy enforcement instruction in response to communication activities determined to match the filter parameters. Examples of classifications performed using the filters include but are not limited to classification of voice, data, text, with classification of data including, for example and without limitation, identification (or detection) of streaming traffic, VoIP, video, audio, downloads, peer to peer, communication associated with a website, communication associated with an application or application server, communication associated with a particular network end point, communication associated with a particular logical channel or data path, communication associated with an Access Point Name (APN), communication associated with a Virtual Private Network (VPN), communication associated with a proxy server, communication associate with a partner network connection.
Examples of policy enforcement instructions or actions executed by PEF 375 include access control instructions (e.g., communication or traffic control instructions), accounting instructions, and notification instructions. Access control instructions may include, for example and without limitation, block, allow, throttle, cap, delay, prioritize, cap and re-match, cap and no-match, hold and wait for user response, cap and wait for user response, increase priority, decrease priority. Examples of accounting instructions include, but are not limited to, allocate accounting to a service accounting bucket identifier, allocate accounting to a user service accounting bucket, stop allocating accounting to a user plan service accounting bucket, allocate accounting to a service sponsor accounting bucket, stop allocating accounting to a service sponsor accounting bucket, allocate to a carrier accounting bucket. In one embodiment, a notification policy includes but is not limited to identify a particular notification trigger event and provide an event identifier and device or subscriber credential associated with the trigger event. The notification trigger events are fed to the Device Interface Function 371 (DIF) where the notification trigger identifier is used to determine the proper notification for delivery to the device associated with the device (or subscriber) credential.
Policy instructions are provided to PEF 375 by the Policy Decision Function 370 (PDF) in the form of policy instruction sets (e.g., comprising filters (or components) and associated policy enforcement instructions), with a device credential or subscriber credential being assigned to one or more policy instruction sets, for example, according to records within device group/subscriber group database 377. In a number of embodiments, PDF 370 operates in near real-time to update the filter definitions and/or the policy instruction sets delivered to the PEF. PDF 370 may perform such updates primarily when changes occur in the policy state reported to PDF 370 by the Policy State Function 369 (PSF) The PSF 369 detects changes in policy state that have a bearing on service plan policies. Examples of policy state include, without limitation, any one of or combination of: a state of service usage (e.g. specified usage amount, usage amount above or below a service limit or within or outside a set of limits, a rate of service usage); an elapsed amount of time, specified time or time interval such as a specific time of day or specified portion of a day (e.g., 7:00 am-5:00 am) or week (e.g., Monday-Friday); foreground or background access; a network state including type of network (e.g. mobile operator, 2G, 3G, 4G, WiFi), whether a home network or roaming network, using a specific APN or any APN; a network busy status or other condition; one or more available QoS states; a geography (e.g., a geographical location); a temporal event in connection with a network state such as transitioning into a network or transitioning out of a network; classification scanning states such as a classification indicating that the requested service activity is to be blocked for the end-user device, a classification that disallows the requested service but permits continued classification scanning, etc. In one embodiment, policy state becomes a modifier or index to assist PDF 370 in determining which policies are to be evaluated in connection with a given classification scan (and thus which filters are to be evaluated by PEF 375). For example, PDF 370 may apply the policy state or a value derived therefrom as an index to identify a subset of one or more policies to be evaluated in connection with a given flow (e.g., an active policy set as described in reference to
Still referring to the architecture embodiment of
In a number of embodiments, DIF 371 establishes a communication channel (e.g., a secure channel) with an application, agent or SMS function on one of the end-user devices in a given device group (or subscriber group) to assist in delivering notifications to the end-user devices and, in some implementations, to receive end-user responses to such notifications from the end-user devices (e.g. service offer responses, acknowledgement responses, service choice/preference responses). For example, DIF 371 may communicate with the application or agent on one of the devices in the device (or subscriber) group using a pre-defined protocol (e.g., an application programming interface (API) protocol) established to make the communication of notifications, offers and user responses more efficient and useful for device users. In the case of a device-assisted network, DIF 371 may also be configured to request or instruct the application or agent on one of the devices in the device (or subscriber) group to assist in implementing or enforcing various notification policies, control policies and/or accounting policies. DIF 371 may accept user responses to notifications and service plan offers and relays them to Service Policy Management Function 378 (SPMF). DIF 371 may also perform an activation server function to activate a new service plan with respect to an end-user device or group of end-user devices. Such activations may be assisted by a sponsored service (e.g., implemented at least in part in PDF 370 and/or PEF 375) that allows the end-user device restricted access to the DIF.
The various types of notifications delivered to an end-user device by DIF 371 include, without limitation, notifications associated with service usage amount (including percentage or other fraction of service used or remaining), service limit reached or imminent, service overage, a service overage indication with request for end-user acknowledgement, a service condition that may expect or may benefit from a service plan purchase or upgrade (with offer for such purchase or upgrade provided with notification of the service condition), notification of a roaming condition (including a roaming condition that may expect or benefit from an end-user acknowledgment or other response), provision of one or more service offers, provision of one or more service offers together with a request or prompt for an end-user response (e.g., selection of one of multiple offered service options, thus constituting an acceptance of a service offer), provide a message or offer associated with a marketing interceptor trigger.
DIF 371 may forward notification responses (or information derived therefrom) received from end-user devices to various other functions within policy system architecture 366, including SPMF 378, which maintains service policy configuration information for a end-user device in a device (or subscriber) group and uses that information to manage active service policy sets for respective end-user devices. When a service plan is changed or an aspect is modified, SPMF 378 instructs the PDF 370 to implement the new service plan policies, and the PDF in turn instructs PEF 375 to implement the appropriate real-time policy implementation instructions to realize the service plan policies.
The Classification Definition Update Function (CDUF) 368 provides updates to classification definitions, for example, to enable associative classification. Associative classification provides for changing filter definitions as additional filter parameters are determined to be necessary due to the changing nature of some websites and other internet destinations.
The simplified policy architecture provides numerous significant advantages over conventional arrangements, including without limitation:
In the case of a device-assisted network, policy system architecture 366 may be implemented largely by service processor execution within an end-user device (e.g. PEF=PEA, PIA; PDF=PDA, PCA), with network elements (PEF=a simplified PCEF or GGSN; PDF=an enhanced OCS or PCRF), or with a combination of network elements and device agents.
Policy Enforcement
As discussed in the context of
Policy rules element 381 represents one or more network elements responsible for policy-making and control decisions, such as, for example, dynamically managing and controlling data sessions, or determining the applicable accounting policy for a data session. Policy rules element 381 may have, for example, some or all of the functionality of the 3GPP policy and charging rules function (PCRF). Policy rules element 381 determines the appropriate rules to apply to service usage by an end-user device to implement the appropriate policies. For example, In one embodiment, policy rules element 381 keeps track of the statuses of different service plans (or service plan components) associated with end-user device 385, such as whether usage under a plan is still allowed, or whether the plan has been exhausted. Policy rules element 381 may track any characteristic or variable that triggers or contributes to a policy change (e.g., any variable or characteristic that may expect a change in the notification policy or policies, the control policy or policies, and/or the accounting policy or policies associated with end-user device 385). Policy rules element 381 may identify, understand, or define policies in terms of one or more high-level rules or objective, such as, for example, “No streaming video allowed between the hours of 9:00 P.M. and midnight.”
Policy enforcement element 382 represents one or more network elements responsible for enforcing policies applicable to end-user device 385. In one embodiment, policy enforcement element 382 enforces gating and/or quality-of-service for individual packet flows. In one embodiment, policy enforcement element 382 tracks service usage associated with end-user device 385 to support charging. Policy enforcement element 382 may have, for example, some or all of the functionality of a 3GPP policy and charging enforcement function (PCEF). Policy enforcement element 382 may be, for example, a gateway. Policy enforcement element 382 may operate using one or more low-level rules or instructions that implement the high-level rules or objectives identified, understood, or defined by policy rules element 381.
Charging element 384 represents one or more network elements responsible for real-time charging of subscribers based on service usage. Charging element 384 may have some or all of the functionality of the 3GPP online charging system (OCS).
Notification element 383 represents one or more network elements responsible for providing notification messages to end-user device 385. Notification element 383 is communicatively coupled over the wireless access network to end-user device 385 (indicated by the dashed-line arrow). Notification element 383 either itself sends notifications to end-user device 385, or notification element 383 initiates the sending of notifications to end-user device 385. Notification messages sent by notification element 383 are configured to assist end-user device 385 in presenting a notification to a user of end-user device 385 through a user interface of end-user device 385 (e.g., a visual notification through a display, an audible notification through a speaker, etc.).
SDC 380 sends provisioning instructions to one or more elements (i.e., policy rules element 381, policy enforcement element 382, charging element 384, and/or notification element 383) to allow the elements to implement the policies designed using SDC 380. For example, SDC 380 may provide information to policy rules element 381 to enable policy rules element to determine the policy or policies that currently apply to end-user device 385. This determination may be based on, for example, a network state, a time of day, or of the other factors previously discussed. After determining the applicable policy or policies for end-user device 385, policy rules element 381 provides information to policy enforcement element 382. The information (e.g., a setting, an instruction, a direction, a high-level objective, etc.) allows policy enforcement element 382 to enforce the applicable policy or policies for end-user device 385.
As a simple example to illustrate the interaction of policy rules element 381 and policy enforcement element 382, assume that SDC 380 has provided to policy rules element 381 provisioning instructions based on a determination that end-user device 385 is governed by a parental control that prohibits data usage between 9:00 P.M. and midnight. At 8:30 P.M., end-user device 385 requests access to YouTube. Policy rule element 381 has determined that, because the time is not between 9:00 P.M. and midnight, the applicable control policy is “allow.” Policy rule element 381 has provided information to policy enforcement element 382 that instructs policy enforcement element 382 to allow the requested access to YouTube until further notice. At 9:00 P.M., policy rules element 381 determines that the applicable control policy for the device is no longer “allow” because the parental control applies. Policy rules element 381 determines the applicable control policy (“block”) and provides information to policy enforcement element 382 to enable policy enforcement element 382 to enforce the policy. Thus, policy rules element 381 uses the information provided by SDC 380 to modify policies applicable to end-user device 385. In particular, policy rules element 381 provides information to policy enforcement element 382 to change the enforced policies based on changes detected by policy rules element 381.
Policy enforcement element 382 may also send information to policy rules element 381. For example, policy enforcement element 382 may inform policy rules element 381 that policy enforcement element 382 blocked (or allowed) a traffic stream or a traffic attempt.
As illustrated in
As also illustrated in
As also illustrated in
As also illustrated in
Notification element 383 may send a variety of different notification messages, such as any of the notifications described herein, in response to various triggers from policy enforcement element 382, policy rules element 381, charging element 384, or SDC 380. For example, if a service plan associated with end-user device 760 has been exhausted, notification element 383 may send a notification message that includes an offer to repurchase or replenish the service plan, or an offer for a different or additional service plan. As another example, if a service usage billing rate or cost has changed, notification element 383 may send a notification message informing end-user device 760 of the change. As described previously (e.g., in explaining
In one embodiment, notification element 383 is able to receive information from end-user device 760. In one embodiment, end-user device 760 includes some intelligence (i.e., an application program, a software agent, a service processor, an operating system component, etc.) that enables end-user device 760 to establish a communication link with notification element 383 so that notification element 383 may conduct bi-directional communications with end-user device 760. In one embodiment, when a notification message provided by notification element 383 to end-user device 760 prompts a response from a user, the user response may be obtained by notification element 383, which may then communicate pertinent information (e.g., an acknowledgment of a billing rate change, acknowledgment or approval of a roaming condition, selection of a service plan or service plan option, etc.) to policy rules element 381. Policy rules element 381 may then adapt one or more policies based on the user response and provide updated information to policy enforcement element 382 so that policy enforcement element 382 may enforce the updated policy or policies. For example, if the response indicates that the user has agreed to purchase a new or additional service plan, policy rules element 381 determines the appropriate policy or policies based on the fact that the user has agreed to purchase a new or additional service plan.
It is to be understood that the functions described in the context of
In one embodiment, a portion of policy implementation/enforcement is performed by the end-user device, and a portion is performed by network elements.
In one embodiment, service controller 122 obtains provisioning instructions or information from SDC 380 and, based on the instructions or information from SDC 380, communicates policy control and/or implementation information (e.g., a setting, an instruction, a high-level objective, a policy, etc.) to service processor 115. In one embodiment, service processor 115 has one or more policy enforcement agents (or policy implementation agents) in an operating system kernel or stack, and these one or more policy enforcement agents enforce one or more of the applicable policies. In one embodiment, service processor 115 also has one or more policy decision agents that modify the one or more policies that are enforced by the one or more policy enforcement agents in a manner similar to how policy rules element 381 modifies policies that are enforced by policy enforcement element 382. In one embodiment, the one or more policy decision agents identify, define, or understand one or more high-level policy objectives or rules. In one embodiment, the one or more policy enforcement agents operate using low-level settings or instructions provided by the one or more policy decision agents.
In one embodiment in which end-user device 390 includes service processor 115, notification element 383 performs the notification functions described in the context of
In one embodiment, service processor 115 sends information (e.g., a trigger) to notification element 383. In one embodiment, service controller 122 is able to perform some or all of the functions of notification element 383.
In one embodiment, when a notification message sent by notification element 383 to end-user device 760 prompts a response from a user, the user response may be sent by service processor 115 to service controller 122, which may then communicate pertinent information (e.g., an acknowledgment of a billing rate change, acknowledgment or approval of a roaming condition, selection of a service plan or service plan option, etc.) to policy rules element 381. Policy rules element 381 then adapts one or more of the network-enforced policies that are enforced by policy enforcement element 382 based on the user response and provides updated information to policy enforcement element 382 so that policy enforcement element 382 may enforce the updated network-enforced policy or policies.
In one embodiment, service processor 115 establishes a secure (e.g., encrypted) communication link with service controller 122. In one embodiment, service controller 122 communicates over the secure communication link to provide policy information enabling service processor 115 to implement a device-portion of a service policy.
It is to be understood that the functionalities described in the context of
It should be appreciated in view of the disclosures herein that the functions illustrated in
Still referring to the exemplary Policy Event Properties displays,
The exemplary policy state definitions permitted under the SDC examples shown in
Virtualizing all Higher Levels of Policy
Another advantage of the simplified service architecture disclosed herein is that the PCF performs its functions autonomously and may not expect real-time interaction with the other policy functions to operate properly. This feature allows the policy functions other than the PEF (e.g., PCEF, which is best implemented on dedicated hardware due to the need to process large numbers of device communication flows while performing filter match searches, applying policy instructions, and accounting in real time) to be virtualized. For all of the other policy elements, additional scalability, cost savings, and flexibility for service design and service deployment are made possible by moving all non-PEF functions into a server cloud, which herein is referred to as the “simplified service policy cloud” or the “simplified service cloud solution.” An example embodiment of a simplified service cloud solution for all non-data path functions of the simplified policy architecture is illustrated in
In
In
The cloud-based architecture disclosed herein is advantageous because the simplicity of the PEF instruction set and linear filter match search allows for a large number of simultaneous users/devices for a given amount of hardware processing power. In addition, because the higher layers of the policy are virtual, a large number of service plans may be configured and supported. This makes it possible to create a larger number of granular service plans to meet more market needs using the device group capabilities of the SDC. The software-defined nature of policy and the SDC capabilities described herein also make it possible to define small beta test device groups, test services on the beta test groups, and perfect the user satisfaction and profitability of services before rolling them out commercially.
Another significant advantage of the cloud-based architecture is the ability to harmonize networks that currently have different hardware configurations and service policy configurations. For example, many large global mobile operators have grown in size by acquiring smaller mobile operators. The legacy network equipment of one of the acquired companies creates a large number of small networks that do not have the same equipment as the acquiring company, thus increasing the difficulty associated with offering a common service design and deployment platform for the larger acquiring company. With the present simplified cloud policy disclosure, it becomes possible to replace all the disparate equipment solutions with a small amount of data path equipment common to a network and a common cloud service for the entire company. The cloud service policy network may be managed by a core team, and a local mobile operator in a country may create its own device/subscriber group using its own secure login to the SDC and use the SDC features described herein to develop disparate and unique service offers.
In another embodiment, a multi-national mobile operator may configure all of its networks with PEFs compatible with the simplified policy cloud, and devices may be offered the local country services when they roam by configuring the service offer policies in the SDC to offer different service plans based on country network indicated by the network type policy state.
In one embodiment, the simplified service architecture cloud is provided as a software-as-a-service (SaaS) offer. In one embodiment, the simplified service architecture is provided as a sale of PEF hardware and a simplified service architecture cloud software license.
As with other embodiments described herein, changes to service policy for the simplified service policy cloud are largely software updates rather than hardware updates, making product development both more flexible and more rapid. In another embodiment, the PEF may also be configured as a software application on dedicated or accelerated hardware.
Virtualizing Billing
Another advantage of the simplified service policy cloud solution is that billing may also be virtualized in the cloud. Because the service accounting records are stored in the cloud, the billing software to rate the accounting records to translate service use into a monetary amount or a billing (or accounting) record may also be configured to run on the server cloud the policy functions run on. Taxation policies may also be implemented with additional cloud software. Separating partner billing (e.g., sponsored services), enterprise billing, and consumer billing may be accomplished by configuring the rating software settings according to the contract with the entity being billed, and the billing software may send the billing statements to the appropriate mailing center, transfer them electronically, bill to credit card or bill with direct debit, all depending on the preferences of the partner or customer.
The following combination are provided in accordance with one or more embodiments:
There are several advantageous constructs within the SDC for a Z-order policy system. In the embodiments disclosed herein, and in the incorporated disclosures, these constructs include the definition or design of policy application priorities and the provisioning of policy application priorities:
There are several advantageous features within the SDC embodiments for designing and provisioning multi-match filter policy systems. In the embodiments disclosed herein, and in the incorporated disclosures, these constructs include multi-match filtering and policy enforcement capability:
There are several advantageous features within the SDC embodiments for designing and provisioning policy state qualifiers. In the embodiments disclosed herein and in the incorporated disclosures these constructs include the design and provisioning of policy state qualifiers that modify policies applied to communication flows that match a filter and are associated with a device or subscriber credential:
There are several advantageous features within the SDC embodiments for designing and provisioning joint policy enforcement constructs. In the embodiments disclosed herein and in the incorporated disclosures these constructs include designing or defining filters and associated policies or policy instructions that define joint application of two or more of a control policy, an accounting policy or a notification policy to communication flows that match a filter and are associated with a device or subscriber credential.
There are several advantageous features within the SDC embodiments for designing and provisioning joint service plan or bundle policy and billing rating or pricing rules. In the embodiments disclosed herein and in the incorporated disclosures the embodiments include designing or defining filters and associated policies or policy instructions that define a service plan or bundle, and jointly designing or defining the rating or pricing rules that result in a bill for communications provided under the service plan or bundle:
There are several advantageous features within the SDC embodiments for designing and provisioning policies for cloud based policy systems with hardware based PEF. In the embodiments disclosed herein and in the incorporated disclosures these constructs include an SDC configured to accept service policy definition or design inputs comprising filters and associated policies, and create a provisioning output to configure a first aspect of the filters and policies that are intended to be implemented by a cloud based service policy system, the cloud based service policy system comprising cloud software that implements one or more of the PDF, APF, DFI and SBF, and the SDC is also configured to create a provisioning output to configure a second aspect of the filters and policies that are intended to be implemented by a hardware based PEF. Other SDC embodiments are disclosed herein and in the incorporated documentation.
There are several advantageous features within the simplified PEF embodiments. In the embodiments disclosed herein and in the incorporated disclosures the simplified PEF embodiments include:
There are several advantageous features within the simplified PDF embodiments. In the embodiments disclosed herein and in the incorporated disclosures the simplified PDF embodiments include:
There are several advantageous features within the notification trigger and delivery function. In the embodiments disclosed herein and in the incorporated disclosures the notification trigger and delivery function embodiments include a notification trigger system that utilizes filter capabilities in PEF function to identify communication notification event triggers for communication flows associated with a credential of the device or device user.
There are several advantageous features within the cloud based billing function (cloud based SBF). In the embodiments disclosed herein and in the incorporated disclosures the cloud based billing function embodiments include a Cloud based billing function configured to accept accounting or service configuration record from a APF or SDC, identify a device or user credential associated with the accounting or service configuration record, determine a device or user group the device or user credential belongs to, determine a rating or pricing rule associated with the device or user group, apply the rating or pricing rule to the accounting or service configuration record to generate a bill.
There are several advantageous features within the cloud based policy system. In the embodiments disclosed herein and in the incorporated disclosures the cloud based policy system embodiments include a cloud based policy system configured to communicate with a hardware based PEF function to provide high level policy functions in cooperation with the hardware based PEF.
References in this specification to “an embodiment”, “one embodiment”, “one or more embodiments” or the like, mean that the particular element, feature, structure or characteristic being described is included in at least one embodiment of the disclosed subject matter. Occurrences of such phrases in this specification should not be particularly construed as referring to the same embodiment, nor should such phrases be interpreted as referring to embodiments that are mutually exclusive with respect to the discussed features or elements.
In different embodiments, the claimed subject matter may be implemented as a combination of both hardware and software elements, or alternatively either entirely in the form of hardware or entirely in the form of software. Further, computing systems and program software disclosed herein may comprise a controlled computing environment that may be presented in terms of hardware components or logic code executed to perform methods and processes that achieve the results contemplated herein. Said methods and processes, when performed by a general purpose computing system or machine, convert the general purpose machine to a specific purpose machine.
Referring to
Referring to
A computer readable storage medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor medium, system, apparatus or device. The computer readable storage medium may also be implemented in a propagation medium, without limitation, to the extent that such implementation is deemed statutory subject matter. Examples of a computer readable storage medium may include a semiconductor or solid-state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, an optical disk, or a carrier wave, where appropriate. Current examples of optical disks include compact disk, read only memory (CD-ROM), compact disk read/write (CD-R/W), digital video disk (DVD), high definition video disk (HD-DVD) or Blue-ray™ disk.
In one embodiment, processor 601101 loads executable code from storage media 601106 to local memory 601102. Cache memory 601104 optimizes processing time by providing temporary storage that helps reduce the number of times code is loaded for execution. One or more user interface devices 601105 (e.g., keyboard, pointing device, etc.) and a display screen 601107 may be coupled to the other elements in the hardware environment 601110 either directly or through an intervening I/O controller 601103, for example. A communication interface unit 601108, such as a network adapter, may be provided to enable the hardware environment 601110 to communicate with local or remotely located computing systems, printers and storage devices via intervening private or public networks (e.g., the Internet). Wired or wireless modems and Ethernet cards are a few of the exemplary types of network adapters.
It is noteworthy that hardware environment 601110, in certain implementations, may not include some or all the above components, or may comprise additional components to provide supplemental functionality or utility. Depending on the contemplated use and configuration, hardware environment 601110 may be a machine such as a desktop or a laptop computer, or other computing device optionally embodied in an embedded system such as a set-top box, a personal digital assistant (PDA), a personal media player, a mobile communication unit (e.g., a wireless phone), or other similar hardware platforms that have information processing or data storage capabilities.
In some embodiments, communication interface 601108 acts as a data communication port to provide means of communication with one or more computing systems by sending and receiving digital, electrical, electromagnetic or optical signals that carry analog or digital data streams representing various types of information, including program code. The communication may be established by way of a local or a remote network, or alternatively by way of transmission over the air or other medium, including without limitation propagation over a carrier wave.
As provided here, the disclosed software elements that are executed on the illustrated hardware elements are defined according to logical or functional relationships that are exemplary in nature. It should be noted, however, that the respective methods that are implemented by way of said exemplary software elements may be also encoded in said hardware elements by way of configured and programmed processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) and digital signal processors (DSPs), for example.
Referring to
In other words, application software 601122 may be implemented as program code embedded in a computer program product in form of a machine-usable or computer readable storage medium that provides program code for use by, or in connection with, a machine, a computer or any instruction execution system. Moreover, application software 601122 may comprise one or more computer programs that are executed on top of system software 601121 after being loaded from storage media 601106 into local memory 601102. In a client-server architecture, application software 601122 may comprise client software and server software. For example, in one embodiment, client software may be executed on a client computing system that is distinct and separable from a server computing system on which server software is executed.
Software environment 1120 may also comprise browser software 601126 for accessing data available over local or remote computing networks. Further, software environment 1120 may comprise a user interface 601124 (e.g., a graphical user interface (GUI)) for receiving user commands and data. It is worthy to repeat that the hardware and software architectures and environments described above are for purposes of example. As such, one or more embodiments may be implemented over any type of system architecture, functional or logical platform or processing environment.
It should also be understood that the logic code, programs, modules, processes, methods and the order in which the respective processes of each method are performed are purely exemplary. Depending on implementation, the processes or any underlying sub-processes and methods may be performed in any order or concurrently, unless indicated otherwise in the present disclosure. Further, unless stated otherwise with specificity, the definition of logic code within the context of this disclosure is not related or limited to any particular programming language, and may comprise one or more modules that may be executed on one or more processors in distributed, non-distributed, single or multiprocessing environments.
As will be appreciated by one skilled in the art, a software embodiment may include firmware, resident software, micro-code, etc. Certain components including software or hardware or combining software and hardware aspects may generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the subject matter disclosed may be implemented as a computer program product embodied in one or more computer readable storage medium(s) having computer readable program code embodied thereon. Any combination of one or more computer readable storage medium(s) may be utilized. The computer readable storage medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out the disclosed operations may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Certain embodiments are disclosed with reference to flowchart illustrations or block diagrams of methods, apparatus (systems) and computer program products according to embodiments. It will be understood that each block of the flowchart illustrations or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, a special purpose machinery, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions or acts specified in the flowchart or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable storage medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable storage medium produce an article of manufacture including instructions which implement the function or act specified in the flowchart or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer or machine implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions or acts specified in the flowchart or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical functions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur in any order or out of the order noted in the figures.
For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The following clauses provide exemplary embodiments based on the disclosures herein.
1. A network system for providing one or more services to one or more end-user devices communicatively coupled to the network system over a wireless access network, the network system comprising: a policy enforcement function; a first policy element; a second policy element; and a network element communicatively coupled to the policy enforcement function, the first policy element, and the second policy element, wherein the network element is configured to: communicate first policy information between the policy enforcement function and the first policy element, and communicate second policy information between the first policy enforcement function and the second policy element.
2. The network system recited in clause 1, wherein the network element comprises a proxy or a router.
3. The network system recited in clause 1, wherein communicate first policy information between the policy enforcement function and the first policy element comprises communicate the first policy information over a standardized interface or an application programming interface (API) that is compatible with a policy information communication interface of the policy enforcement function.
4. The network system recited in clause 3, wherein communicate the first policy information over a standardized interface or an application programming interface (API) that is compatible with a policy information communication interface of the policy enforcement function comprises switch, route, or multiplex the first policy information over the standardized interface or the API.
5. The network system recited in clause 1, wherein communicate first policy information between the policy enforcement function and the first policy element comprises communicate the first policy information over a Gx interface or using a Gx communication protocol.
6. The network system recited in clause 5, wherein communicate the first policy information over a Gx interface comprises switch, route, or multiplex the first policy information over the Gx interface or using the Gx communication protocol.
7. The network system recited in clause 1, wherein communicate first policy information between the policy enforcement function and the first policy element comprises communicate the first policy information over a Gy interface or using a Gy communication protocol.
8. The network system recited in clause 7, wherein communicate the first policy information over a Gy interface comprises switch, route, or multiplex the first policy information over the Gy interface or using the Gy communication protocol.
9. The network system recited in clause 1, wherein communicate first policy information between the policy enforcement function and the first policy element comprises communicate the first policy information over an Rx interface or using an Rx communication protocol.
10. The network system recited in clause 9, wherein communicate the first policy information over an Rx interface comprises switch, route, or multiplex the first policy information over the Rx interface or using the Rx communication protocol.
11. The network system recited in clause 1, wherein communicate first policy information between the policy enforcement function and the first policy element comprises communicate the first policy information over a RADIUS interface or using a RADIUS communication protocol.
12. The network system recited in clause 11, wherein communicate the first policy information over a RADIUS interface comprises switch, route, or multiplex the first policy information over the RADIUS interface or using the RADIUS communication protocol.
13. The network system recited in clause 1, wherein communicate first policy information between the policy enforcement function and the first policy element comprises communicate the first policy information over a diameter interface or using a diameter communication protocol.
14. The network system recited in clause 13, wherein communicate the first policy information over a diameter interface comprises switch, route, or multiplex the first policy information over the diameter interface or using the diameter communication protocol.
15. The network system recited in clause 1, wherein the first policy element comprises a virtual policy element instance or thread that executes in a policy element cloud system, and wherein the virtual policy element instance or thread is configured to process the first policy information, and further comprising a load balancer configured to select or assign the virtual policy element instance or thread.
16. The network system recited in clause 15, wherein the first policy element comprises a policy decision function.
17. The network system recited in clause 15, wherein the first policy element comprises a policy and charging rules function (PCRF).
18. The network system recited in clause 15, wherein the first policy element comprises an on-line charging system (OCS).
19. The network system recited in clause 15, wherein the first policy element comprises an accounting policy function.
20. The network system recited in clause 15, wherein the first policy element comprises a policy state function.
21. The network system recited in clause 15, wherein the first policy element comprises a service policy management function.
22. The network system recited in clause 15, wherein the virtual policy element instance or thread comprises a first virtual policy element instance or thread, and wherein the second policy element comprises a second virtual policy element instance or thread that executes in the policy element cloud system, and wherein the second virtual policy element instance or thread is configured to process the second policy information, and wherein the load balancer is further configured to select or assign the second virtual policy element instance or thread.
23. The network system recited in clause 22, wherein select or assign the first virtual policy element instance or thread or select or assign the second virtual policy element instance or thread is based on an estimate of a processing demand associated with implementing one or more policies for at least a portion of the one or more end-user devices communicatively coupled to the network system over the wireless access network.
24. The network system recited in clause 22, wherein select or assign the first virtual policy element instance or thread or select or assign the second virtual policy element instance or thread is based on an estimate of a processing demand associated with (a) processing the first policy information, (b) processing the second policy information, or (c) processing both the first policy information and the second policy information.
25. The network system recited in clause 22, wherein select or assign the first virtual policy element instance or thread is based on an association of the first policy information with a first end-user device of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein select or assign the second virtual policy element instance or thread is based on an association of the second policy information with a second end-user device of the one or more end-user devices communicatively coupled to the network system over the wireless access network.
26. The network system recited in clause 22, wherein select or assign the first virtual policy element instance or thread is based on an association of the first policy information with a first service activity available to at least a portion of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein select or assign the second virtual policy element instance or thread is based on an association of the second policy information with a second service activity available to at least a portion of the one or more end-user devices communicatively coupled to the network system over the wireless access network, wherein the first service activity differs in at least an aspect from the second service activity.
27. The network system recited in clause 22, wherein select or assign the first virtual policy element instance or thread is based on an association of the first policy information with a first device group or a first user group associated with a first subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein select or assign the second virtual policy element instance or thread is based on an association of the second policy information with a second device group or a second user group associated with a second subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network.
28. The network system recited in clause 22, wherein select or assign the first virtual policy element instance or thread is based on an association of the first policy information with a first network operator or a first service design center administrator, and wherein select or assign the second virtual policy element instance or thread is based on an association of the second policy information with a second network operator or a second service design center administrator.
29. The network system recited in clause 22, wherein select or assign the first virtual policy element instance or thread is based on an association of the first policy information with a first network or network type, and wherein select or assign the second virtual policy element instance or thread is based on an association of the second policy information with a second device group or a second user group associated with a second network or network type.
30. The network system recited in clause 1, wherein the second policy element comprises hardware, and wherein the network element is further configured to provide a migration from a management of one or more policies by the second policy element to a management of the one or more policies by a policy element cloud system.
31. The network system recited in clause 1, wherein the second policy element comprises hardware, and wherein the network element is further configured to assist in providing management of a first set of one or more service activities by the second policy element and management of a second set of one or more service activities by the first policy element.
32. The network system recited in clause 31, wherein the first set of one or more service activities is associated with a first subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein the second set of one or more service activities is associated with a second subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network.
33. The network system recited in clause 31, wherein the first set of one or more service activities is associated with a first set of one or more services available over the wireless access network, and wherein the second set of one or more service activities is associated with a second set of one or more services available over the wireless access network.
34. The network system recited in clause 1, wherein the policy enforcement function comprises a virtual policy enforcement function instance or thread.
35. The network system recited in clause 1, wherein the policy enforcement function comprises a policy control enforcement function (PCEF).
36. The network system recited in clause 1, wherein the policy enforcement function comprises a gateway GPRS support node (GGSN).
37. The network system recited in clause 1, wherein the policy enforcement function comprises a switch.
38. The network system recited in clause 1, wherein the policy enforcement function comprise a packet inspection element.
39. The network system recited in clause 1, wherein the second policy element is a local policy element, and wherein the first policy element is a virtual policy element.
40. The network system recited in clause 1, wherein the first policy element is located in a first data center, and wherein the second policy element is located in a second data center.
41. The network system recited in clause 1, wherein the second policy element comprises hardware, and wherein the first policy element comprises a virtual policy element that executes in a policy element cloud system.
42. The network system recited in clause 1, wherein the first policy element comprises a first virtual policy element, and wherein the second policy element comprises a second virtual policy element, and wherein the first virtual policy element and the second virtual policy element execute in one or more policy element cloud systems.
43. The network system recited in clause 42, wherein the first policy element is configured to process a first set of one or more policies, and wherein the second policy element is configured to process a second set of one or more policies, the first set of one or more policies and the second set of one or more policies being defined or managed by a common administrator or service provider.
44. The network system recited in clause 43, further comprising a service design center (SDC) system configured to enable the common administrator or service provider to define or manage the first set of one or more service policies and the second set of one or more service policies.
45. The network system recited in clause 42, wherein the first policy element is configured to process a first set of one or more policies, the first set of one or more policies being defined or managed by a first administrator or service provider, and wherein the second policy element is configured to process a second set of one or more policies, the second set of one or more policies being defined or managed by a second administrator or service provider.
46. The network system recited in clause 45, further comprising a service design center (SDC) system configured to: provide a first user interface to enable the first administrator or service provider to define or manage the first set of one or more policies, and provide a second user interface to enable the second administrator or service provider to define or manage the second set of one or more policies.
47. The network system recited in clause 46, wherein the first set of one or more policies is associated with a first device group or a first user group associated with a first subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein define or manage the first set of one or more policies comprises define or manage a first set of credentials associated with the first device group or the first user group, and wherein the second set of one or more policies is associated with a second device group or a second user group associated with a second subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein define or manage the second set of one or more policies comprises define or manage a second set of credentials associated with the second device group or the second user group.
48. The network system recited in clause 46, wherein the SDC system is further configured to: determine whether a first user is authorized to define or manage the first set of one or more policies before providing the first user interface to the first user, and determine whether a second user is authorized to define or manage the second set of one or more policies before providing the second user interface to the second user.
49. The network system recited in clause 48, wherein the first set of one or more policies is associated with a first device group or a first user group associated with a first subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein the second set of one or more policies is associated with a second device group or a second user group associated with a second subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network.
50. The network system recited in clause 48, wherein the first set of one or more policies is associated with a first set of one or more network services, and wherein the second set of one or more policies is associated with a second set of one or more network services.
51. The network system recited in clause 1, wherein the first policy element comprises hardware, and wherein the second policy element is a cloud-based policy element.
52. The network system recited in clause 1, wherein the first policy element comprises a first virtual policy element instance or thread that executes in a policy element cloud system, and wherein the second policy element comprises a second virtual policy element instance or thread that executes in the policy element cloud system.
53. The network system recited in clause 52, wherein the network element is further configured to: determine to communicate first policy information between the policy enforcement function and the first policy element, and determine to communicate second policy information between the first policy enforcement function and the second policy element.
54. The network system recited in clause 53, wherein determine to communicate first policy information between the policy enforcement function and the first policy element is based on (a) a measure or estimate of an available processing load of the first policy element, (b) a measure or estimate of an available processing load of the second policy element, (c) a communication session being established by a user device, or (d) a combination of two or more of (a) through (c).
55. The network system recited in clause 52, wherein the network element is further configured to bring up or establish the first virtual policy element instance or thread or the second virtual policy element instance or thread based on a measure or estimate of processing demand on the network system.
56. The network system recited in clause 52, wherein the network element is further configured to bring up or establish the first virtual policy element instance or thread or the second virtual policy element instance or thread based on a number of the one or more end-user devices managed by the network system.
57. The network system recited in clause 52, wherein the network element is further configured to bring up or establish a third virtual policy element instance or thread based on a measure or estimate of an available processing load on (a) the first virtual policy element instance or thread, (b) the second virtual policy element instance or thread, or (c) both the first virtual policy element instance or thread and the second virtual policy element instance or thread.
58. The network system recited in clause 42, wherein the first policy element and the second policy element are managed by a common administrator entity.
59. The network system recited in clause 42, wherein the first policy element is managed by a first administrator entity, and wherein the second policy element is managed by a second administrator entity.
60. The network system recited in clause 1, wherein the first policy element comprises a first virtual policy element instance or thread in a first policy element processing cloud, and wherein the second policy element comprises a second virtual policy element instance or thread in a second policy element processing cloud.
61. The network system recited in clause 1, wherein the first policy element comprises a policy decision function (PDF).
62. The network system recited in clause 61, wherein the PDF comprises a virtual PDF instance or thread.
63. The network system recited in clause 62, wherein the second policy element comprises a hardware-based PDF.
64. The network system recited in clause 62, wherein the second policy element comprises a second virtual PDF instance or thread.
65. The network system recited in clause 1, wherein the first policy element comprises a policy control function (PCF).
66. The network system recited in clause 65, wherein the PCF comprises a virtual PCF instance or thread.
67. The network system recited in clause 66, wherein the second policy element comprises a hardware-based PCF.
68. The network system recited in clause 66, wherein the second policy element comprises a second virtual PCF instance or thread.
69. The network system recited in clause 1, wherein the first policy element comprises a policy and charging rules function (PCRF).
70. The network system recited in clause 69, wherein the PCRF comprises a virtual PCRF instance or thread.
71. The network system recited in clause 70, wherein the second policy element comprises a hardware-based PCRF.
72. The network system recited in clause 70, wherein the second policy element comprises a second virtual PCRF instance or thread.
73. The network system recited in clause 1, wherein the first policy element comprises an on-line charging system (OCS).
74. The network system recited in clause 73, wherein the OCS comprises a virtual OCS instance or thread.
75. The network system recited in clause 74, wherein the second policy element comprises a hardware-based OCS.
76. The network system recited in clause 74, wherein the second policy element comprises a second virtual OCS instance or thread.
77. The network system recited in clause 1, wherein the first policy element comprises an accounting policy function (APF).
78. The network system recited in clause 77, wherein the APF comprises a virtual APF instance or thread.
79. The network system recited in clause 78, wherein the second policy element comprises a hardware-based APF.
80. The network system recited in clause 78, wherein the second policy element comprises a second virtual APF instance or thread.
81. The network system recited in clause 1, wherein the first policy element comprises a policy state function (PSF).
82. The network system recited in clause 81, wherein the PSF comprises a virtual PSF instance or thread.
83. The network system recited in clause 82, wherein the second policy element comprises a hardware-based PSF.
84. The network system recited in clause 82, wherein the second policy element comprises a second virtual PSF instance or thread.
85. The network system recited in clause 1, wherein the first policy element comprises a service policy management function (SPMF).
86. The network system recited in clause 85, wherein the SPMF comprises a virtual SPMF instance or thread.
87. The network system recited in clause 86, wherein the second policy element comprises a hardware-based SPMF.
88. The network system recited in clause 86, wherein the second policy element comprises a second virtual SPMF instance or thread.
89. The network system recited in clause 1, wherein the first policy element comprises a device interface function (DIF).
90. The network system recited in clause 89, wherein the DIF comprises a virtual DIF instance or thread.
91. The network system recited in clause 89, wherein the second policy element comprises a hardware-based DIF.
92. The network system recited in clause 86, wherein the second policy element comprises a second virtual DIF instance or thread.
93. The network system recited in clause 1, wherein the first policy element comprises a classification definition update function (CDUF).
94. The network system recited in clause 93, wherein the CDUF comprises a virtual CDUF instance or thread.
95. The network system recited in clause 94, wherein the second policy element comprises a hardware-based CDUF.
96. The network system recited in clause 94, wherein the second policy element comprises a second virtual CDUF instance or thread.
97. The network system recited in clause 1, wherein the first policy element comprises a policy rules element (PRE).
98. The network system recited in clause 97, wherein the PRE comprises a virtual PRE instance or thread.
99. The network system recited in clause 98, wherein the second policy element comprises a hardware-based PRE.
100. The network system recited in clause 98, wherein the second policy element comprises a second virtual PRE instance or thread.
101. The network system recited in clause 1, wherein the first policy element comprises a charging element (CE).
102. The network system recited in clause 101, wherein the CE comprises a virtual CE instance or thread.
103. The network system recited in clause 102, wherein the second policy element comprises a hardware-based CE.
104. The network system recited in clause 102, wherein the second policy element comprises a second virtual CE instance or thread.
105. The network system recited in clause 1, wherein the first policy element comprises a notification element (NE).
106. The network system recited in clause 105, wherein the NE comprises a virtual NE instance or thread.
107. The network system recited in clause 106, wherein the second policy element comprises a hardware-based NE.
108. The network system recited in clause 106, wherein the second policy element comprises a second virtual NE instance or thread.
109. The network system recited in clause 1, wherein the first policy information comprises information associated with traffic control.
110. The network system recited in clause 1, wherein the first policy information comprises information associated with session control.
111. The network system recited in clause 1, wherein the first policy information comprises information associated with service permission.
112. The network system recited in clause 1, wherein the first policy information comprises information associated with one or more service control attributes.
113. The network system recited in clause 1, wherein the first policy information comprises information associated with service accounting or charging.
114. The network system recited in clause 1, wherein the first policy information comprises information associated with service billing
115. The network system recited in clause 1, wherein the first policy information comprises information associated with service plan management.
116. The network system recited in clause 1, wherein the first policy information comprises information associated with service plan modification.
117. The network system recited in clause 1, wherein the first policy information comprises information associated with service plan selection.
118. The network system recited in clause 1, wherein the first policy information comprises information associated with a service plan limit.
119. The network system recited in clause 1, wherein the first policy information comprises information associated with a service limit or cap.
120. The network system recited in clause 1, wherein the first policy information comprises information associated with a service quality-of-service (QoS) level.
121. The network system recited in clause 1, wherein the first policy information comprises information associated with a service performance level.
122. The network system recited in clause 1, wherein the first policy information comprises information associated with a user notification.
123. The network system recited in clause 1, wherein the first policy information comprises service allowance information.
124. The network system recited in clause 1, wherein the first policy information comprises service wallet information.
125. The network system recited in clause 1, wherein the first policy information comprises information associated with a service notification trigger.
126. The network system recited in clause 1, wherein the policy enforcement function is configured to classify traffic from at least a portion of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein the first policy information comprises one or more instructions defining a classification of service, the classification of service enabling the network system to provide or perform granular service accounting, granular service notification, or granular service control.
127. The network system recited in clause 126, wherein the classification of service is associated with one or more attributes of the traffic.
128. The network system recited in clause 126, wherein the classification of service is associated with a particular access point name (APN).
129. The network system recited in clause 126, wherein the classification of service is associated with a particular device application.
130. The network system recited in clause 126, wherein the classification of service is associated with a particular network server.
131. The network system recited in clause 126, wherein the classification of service is associated with a particular network traffic path, tunnel, or data session identifier.
132. The network system recited in clause 126, wherein the classification of service is associated with a particular network connection identifier.
133. The network system recited in clause 126, wherein the classification of service is associated with a particular network type.
134. The network system recited in clause 126, wherein the classification of service is associated with a particular service type.
135. The network system recited in clause 126, wherein the classification of service is associated with a time of day.
136. The network system recited in clause 126, wherein the classification of service is associated with a quality-of-service (QoS) level.
137. The network system recited in clause 126, wherein the classification of service is associated with a network performance or congestion level.
138. The network system recited in clause 1, wherein the first policy element is configured to make a traffic control decision, and wherein the first policy information comprises an instruction from the first policy element to the policy enforcement function to enforce the traffic control decision.
139. The network system recited in clause 1, wherein the policy enforcement function is configured to determine a service charge, and wherein the first policy information or the second policy information comprises information associated with the service charge.
140. The network system recited in clause 1, wherein the first policy information comprises information about or associated with first traffic, the first traffic being associated with a first end-user device of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein the second policy information comprises information about or associated with second traffic, the second traffic being associated with a second end-user device of the one or more end-user devices communicatively coupled to the network system over the wireless access network.
141. The network system recited in clause 1, wherein the first policy information comprises information about or associated with first traffic, the first traffic being associated with a first service available to at least a portion of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein the second policy information comprises information about or associated with second traffic, the second traffic being associated with a second service available to the at least a portion of the one or more end-user devices communicatively coupled to the network system over the wireless access network.
142. The network system recited in clause 1, wherein the first policy information assists in implementing a first service plan associated with a first mobile operator network or a first country network of a multi-country mobile operator, and wherein the second policy information assists in implementing a second service plan associated with a second mobile operator network or a second country network of the multi-country mobile operator.
143. The network system recited in clause 1, wherein the first policy information assists in implementing a first control policy, a first accounting policy, or a first notification policy associated with a first service plan offered by a first mobile service operator or offered over a first mobile service network of a multi-country mobile network, and wherein the second policy information assists in implementing a second control policy, a second accounting policy, or a second notification policy associated with a second service plan offered by a second mobile service operator or offered over a second mobile service network of a multi-country mobile network.
144. The network system recited in clause 1, wherein the first policy information assists in implementing a first control policy, a first accounting policy, or a first notification policy associated with a first service plan associated with a first device group or a first user group associated with a first subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein the second policy information assists in implementing a second control policy, a second accounting policy, or a second notification policy associated with a second service plan associated with a second device group or a second user group associated with a second subset of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and further comprising a device group management system configured to: associate the first device group or the first user group with the first service plan, and associate the second device group or the second user group with the second service plan.
145. The network system recited in clause 144, wherein the first device group or the first user group comprises a first set of one or more end-user devices associated with a first demographic, and wherein the second device group or the second user group comprises a second set of one or more end-user devices associated with a second demographic.
146. The network system recited in clause 144, wherein the first device group or the first user group comprises a first set of one or more end-user devices associated with a first country, and wherein the second device group or the second user group comprises a second set of one or more end-user devices associated with a second country.
147. The network system recited in clause 144, wherein the first device group or the first user group comprises a first set of one or more end-user devices associated with a first mobile operator, and wherein the second device group or the second user group comprises a second set of one or more end-user devices associated with a second mobile operator.
148. The network system recited in clause 144, wherein the first device group or the first user group comprises a first set of one or more end-user devices associated with a first geography, and wherein the second device group or the second user group comprises a second set of one or more end-user devices associated with a second geography.
149. The network system recited in clause 144, wherein the first device group or the first user group comprises a first set of one or more end-user devices associated with a first device type, and wherein the second device group or the second user group comprises a second set of one or more end-user devices associated with a second device type.
150. The network system recited in clause 144, wherein the first device group or the first user group comprises a first set of one or more end-user devices associated with a home network service, and wherein the second device group or the second user group comprises a second set of one or more end-user devices associated with a roaming network service.
151. The network system recited in clause 144, wherein the first service plan is of a first service plan type, and wherein the second service plan is of a second service plan type.
152. The network system recited in clause 144, wherein the first device group or the first user group comprises a first set of one or more end-user devices associated with a first mobile virtual network operator (MVN), and wherein the second device group or the second user group comprises a second set of one or more end-user devices associated with a second MVNO.
153. The network system recited in clause 144, wherein the first device group or the first user group comprises a first set of one or more end-user devices associated with a first machine-to-machine (M2M) service, and wherein the second device group or the second user group comprises a second set of one or more end-user devices associated with a second M2M service.
154. The network system recited in clause 144, wherein the first device group or the first user group comprises a first set of one or more end-user devices associated with a first beta service group, and wherein the second device group or the second user group comprises a second set of one or more end-user devices associated with a second beta service group or a production service group.
155. The network system recited in clause 1, wherein the first policy element comprises a virtual policy element instance or thread that runs in a policy element cloud system located in a centralized data center, and wherein the second policy element is located in a local network data center.
156. The network system recited in clause 155, wherein a first policy associated with the first policy element is managed by a first service controller, and wherein a second policy associated with the second policy element is managed by a service policy management system.
157. The network system recited in clause 155, wherein the second policy element comprises hardware.
158. The network system recited in clause 155, further comprising a service decision element configured to: determine a first set of the one or more end-user devices to be managed by the first policy element, and determine a second set of the one or more end-user devices to be managed by the second policy element.
159. The network system recited in clause 1, further comprising: a service design center (SDC) system configured to: assist in obtaining, through a user interface of the SDC system, one or more service administrator inputs; and a policy management system configured to: based on at least a first portion of the one or more service administrator inputs, define a first service policy associated with the first policy information, and based on at least a second portion of the one or more service administrator inputs define a second service policy associated with the second policy information.
160. The network system recited in clause 159, wherein the first service policy comprises a first accounting policy, a first control policy, or a first notification policy, and wherein the second service policy comprises a second accounting policy, a second control policy, or a second notification policy.
161. The network system recited in clause 159, wherein the first service policy is associated with a first service plan, and wherein the second service policy is associated with a second service plan.
162. The network system recited in clause 159, wherein the SDC system is further configured to: create or modify a service policy catalog comprising one or more existing service policies, and present at least a portion of the service policy catalog through the user interface of the SDC system.
163. The network system recited in clause 159, wherein the one or more service administrator inputs comprise a first input from a first service administrator and a second input from a second service administrator.
164. The network system recited in clause 163, wherein the first service administrator is associated with a first mobile operator, a first mobile virtual network operator (MVNO), a first machine-to-machine (M2M) provider, or a first country service manager, and wherein the second service administrator is associated with a second mobile operator, a second MVNO, a second M2M provider, or a second country service manager.
165. The network system recited in clause 159, wherein the one or more service administrator inputs at least assist in defining a hierarchy to assist the network system in determining whether to apply the first service policy or the second service policy when both the first service policy and the second service policy apply.
166. The network system recited in clause 159, wherein the one or more service administrator inputs at least assist in defining a policy state to qualify or modify the first service policy or the second service policy.
167. The network system recited in clause 159, wherein the one or more service administrator inputs at least assist in defining a user notification trigger.
168. The network system recited in clause 167, wherein the SDC system is further configured to associate the user notification trigger with notification content to be delivered to at least a portion of the one or more end-user devices communicatively coupled to the network system over the wireless access network when the user notification trigger occurs.
169. The network system recited in clause 159, wherein the one or more service administrator inputs at least assist in defining a joint policy, the joint policy comprising two or more of (a) an accounting policy, (b) a notification policy, (c) a control policy, the joint policy to be applied based on a common trigger event or filter.
170. The network system recited in clause 1, wherein the first policy element is a virtual policy element instance or thread that runs in a policy element cloud system, and wherein communicate first policy information between the policy enforcement function and the first policy element comprises communicate the first policy information over an application programming interface (API) that provides for interoperability between the policy element cloud system and the policy enforcement function.
171. A network system for providing one or more services to one or more end-user devices communicatively coupled to the network system over a wireless access network, the network system comprising: one or more policy enforcement functions; a policy element cloud system configured to run a plurality of virtual policy element instances or threads, wherein the policy element cloud system is configured to: run a first virtual policy element, the first virtual policy element configured to communicate first policy information with at least one of the one or more policy enforcement functions, and run a second virtual policy element, the second virtual policy element configured to communicate second policy information with at least one of the one or more policy enforcement functions; and a load balancer configured to: determine a processing demand associated with the policy element cloud system, and based on the processing demand associated with the policy element cloud system, assign communication of the first policy information to the first virtual policy element, and assign communication of the second policy information to the second virtual policy element.
172. The network system recited in clause 171, further comprising a policy information router or proxy configured to route, switch, or multiplex the first policy information and the second policy information to the one or more policy enforcement functions.
173. The network system recited in clause 172, wherein the one or more policy enforcement functions comprise a first policy enforcement function and a second policy enforcement function, and wherein the policy information router or proxy is configured to: route, switch, or multiplex the first policy information to the first policy enforcement function, and route, switch, or multiplex the second policy information to the second policy enforcement function.
174. The network system recited in clause 172, wherein the one or more policy enforcement functions comprise a first policy enforcement function, and wherein the policy information router or proxy is configured to: route, switch, or multiplex the first policy information to the first policy enforcement function, and route, switch, or multiplex the second policy information to the first policy enforcement function.
175. The network system recited in clause 171, wherein assign communication of the first policy information to the first virtual policy element and assign communication of the second policy information to the second virtual policy element are based on an indication of an end-user device load.
176. The network system recited in clause 171, wherein assign communication of the first policy information to the first virtual policy element and assign communication of the second policy information to the second virtual policy element are based on an indication of a service processing load.
177. The network system recited in clause 171, wherein the first policy information comprises information associated with a first end-user device of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein the second policy information comprises information associated with a second end-user device of the one or more end-user devices communicatively coupled to the network system over the wireless access network.
178. The network system recited in clause 171, wherein the first policy information comprises information associated with a first service activity available to at least a portion of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein the second policy information comprises information associated with a second service activity available to the at least a portion of the one or more end-user devices communicatively coupled to the network system over the wireless access network.
179. The network system recited in clause 171, wherein the first policy information comprises information associated with a first network or network type, and wherein the second policy information comprises information associated with a second network or network type.
180. The network system recited in clause 171, wherein the first policy information comprises information associated with a first mobile operator or service policy administrator, and wherein the second policy information comprises information associated with a second network operator or service policy administrator.
181. The network system recited in clause 171, wherein the one or more policy enforcement functions comprise at least one hardware-based policy enforcement function.
182. The network system recited in clause 181, wherein the one or more policy enforcement functions further comprise at least one virtual policy enforcement function.
183. The network system recited in clause 171, wherein the one or more policy enforcement functions comprise at least one virtual policy enforcement function.
184. The network system recited in clause 171, wherein the one or more policy enforcement functions comprise at least two policy enforcement functions located in a common data center.
185. The network system recited in clause 184, wherein the at least two policy enforcement functions comprise a first policy enforcement function and a second policy enforcement function, and wherein the first policy element communicates the first policy information with the first policy enforcement function, and wherein the second policy element communicates the second policy information with the second policy enforcement function.
186. The network system recited in clause 171, wherein the one or more policy enforcement functions comprise a first policy enforcement function located in a first data center and a second policy enforcement function located in a second data center.
187. The network system recited in clause 184, wherein the first policy element communicates the first policy information with the first policy enforcement function, and wherein the second policy element communicates the second policy information with the second policy enforcement function.
188. The network system recited in clause 171, wherein the one or more policy enforcement functions comprise a first policy enforcement function.
189. The network system recited in clause 188, wherein the first policy element communicates the first policy information with the first policy enforcement function, and wherein the second policy element communicates the second policy information with the first policy enforcement function.
190. The network system recited in clause 188, further comprising a third policy element configured to communicate third policy information, and wherein the policy information router or proxy is further configured to route, switch, or multiple the first policy information and the third policy information to the first policy enforcement function.
191. The network system recited in clause 190, wherein the third policy element comprises hardware.
192. The network system recited in clause 191, wherein the third policy element and the policy element cloud system are located in a common data center.
193. The network system recited in clause 191, wherein the third policy element is located in a first data center, and wherein the policy element cloud system is located in a second data center.
194. The network system recited in clause 190, wherein the third policy element is located in a first data center, and wherein the first policy element is located in a second data center.
195. The network system recited in clause 194, wherein the first policy information assists in implementing a first control policy, a first accounting policy, or a first notification policy associated with a first service plan offered by a first mobile service operator or offered over a first mobile service network of a multi-country mobile network, and wherein the second policy information assists in implementing a second control policy, a second accounting policy, or a second notification policy associated with a second service plan offered by a second mobile service operator or offered over a second mobile service network of a multi-country mobile network.
196. A network system for providing one or more services to one or more end-user devices communicatively coupled to the network system over a wireless access network, the network system comprising: a first policy enforcement function, the first policy enforcement function being located in a first mobile operator network or a first country network of a multi-country mobile operator; a second policy enforcement function, the second policy enforcement function being located in a second mobile operator network or a second country network of the multi-country mobile operator; a policy element cloud system configured to: run a first virtual policy element, the first virtual policy element configured to communicate first policy information with the first policy enforcement function, and run a second virtual policy element, the second virtual policy element configured to communicate second policy information with the second policy enforcement function; and a load balancer configured to: assign communication of the first policy information to the first virtual policy element, and assign communication of the second policy information to the second virtual policy element.
197. The network system recited in clause 196, further comprising a policy information router or proxy configured to: route, switch, or multiplex the first policy information between the first policy element and the first policy enforcement function, and route, switch, or multiplex the second policy information between the second policy element and the second policy enforcement function.
198. The network system recited in clause 196, wherein the first policy information assists in implementing a first control policy, a first accounting policy, or a first notification policy associated with a first service plan offered over the first mobile operator network or a first country network of the multi-country mobile operator, and wherein the second policy information assists in implementing a second control policy, a second accounting policy, or a second notification policy associated with a second service plan offered over the second mobile operator network or a second country network of the multi-country mobile operator.
199. The network system recited in clause 196, wherein the first policy information assists in implementing a first control policy, a first accounting policy, or a first notification policy associated with a first service plan offered over the first mobile operator network or a first country network of the multi-country mobile operator, and wherein the second policy information assists in implementing the first control policy, the first accounting policy, or the first notification policy associated with the first service plan offered over the second mobile operator network or a second country network of the multi-country mobile operator.
200. The network system recited in clause 196, further comprising a service controller configured to determine whether to apply a first service plan policy or a second service plan policy to end-user device traffic processed by the first policy enforcement function.
201. The network system recited in clause 196, wherein the first policy information assists in implementing a first control policy, a first accounting policy, or a first notification policy associated with a first service plan offered over the first mobile operator network or a first country network of the multi-country mobile operator, and wherein the second policy information assists in implementing a second control policy, a second accounting policy, or a second notification policy associated with a second service plan associated with a second mobile service operator or a second mobile service network of the multi-country mobile network.
202. A network system for providing one or more services to one or more end-user devices communicatively coupled to the network system over a wireless access network, the network system comprising: one or more policy enforcement functions; a first policy element instance or thread; a second policy element instance or thread; a policy information proxy or router configured to: communicate first policy information between the one or more policy enforcement functions and the first policy element, and communicate second policy information between the one or more policy enforcement functions and the second policy element.
203. The network system recited in clause 202, wherein the one or more policy enforcement functions comprise a first policy enforcement function and a second policy enforcement function, and wherein communicate first policy information between the one or more policy enforcement functions and the first policy element comprises communicate the first policy information between the first policy enforcement function and the first policy element, and wherein communicate second policy information between the one or more policy enforcement functions and the second policy element comprises communicate the second policy information between the second policy enforcement function and the second policy element.
204. The network system recited in clause 202, wherein the first policy information assists in implementing a first control policy, a first accounting policy, or a first notification policy of a first service plan associated with a first mobile service operator or a first mobile service network of a multi-country mobile network, and wherein the second policy information assists in implementing a second control policy, a second accounting policy, or a second notification policy of a second service plan associated with a second mobile service operator or a second mobile service network of the multi-country mobile network.
205. A network system for providing one or more services to one or more end-user devices communicatively coupled to the network system over a wireless access network, the network system comprising: one or more policy enforcement functions including a first policy enforcement function, the first policy enforcement function configured to assist in implementing a traffic plane aspect of a first service policy for application to network service for the one or more end-user devices and a second service policy for application to network service for the one or more end user devices, the first service policy comprising: (a) a first accounting policy, (b) a first notification policy, (c) a first control policy, (d) a first service plan purchase process, (e) a first service plan modification process, or (f) a combination of two or more of (a) through (e), and the second service policy comprising one of: (i) a second accounting policy, (ii) a second notification policy, (iii) a second control policy, (iv) a second service plan purchase process, (v) a second service plan modification process, or (vi) a combination of two or more of (i) through (v); a first policy element configured to assist in implementing a first control plane aspect of the first service policy and to communicate first control plane policy information with the first policy enforcement function, the first control plane policy information comprising: (x) information communicated from the first policy element to the first policy enforcement function that indicates one or more first traffic plane instructions to aid the first policy enforcement function in assisting in implementing the first service policy, (y) information communicated from the first policy enforcement function to the first policy element that indicates traffic plane activity or first policy enforcement function traffic plane actions associated with the first service policy, or (z) both (x) and (y); a second policy element configured to assist in implementing a second control plane aspect of the second network service policy and to communicate second control plane policy information with the first policy enforcement function, the second control plane policy information comprising: (p) information communicated from the second policy element to the first policy enforcement function that indicates one or more second traffic plane instructions to aid the first policy enforcement function in assisting in implementing the second service policy, (q) information communicated from the first policy enforcement function to the second policy element that indicates traffic plane activity or first policy enforcement function traffic plane actions associated with the second service policy, or (r) both (p) and (q); and a network element communicatively coupled to the first policy enforcement function, the first policy element, and the second policy element, wherein the network element is configured to: assist in establishing or maintaining a first control plane communication path for communicating the first traffic plane policy information between the first policy enforcement function and the first policy element, and assist in establishing or maintaining a second control plane communication path for communicating the second traffic plane policy information between the first policy enforcement function and the second policy element.
206. The network system recited in clause 205, wherein the first policy element is a first virtual policy element instance or thread that runs in a policy element cloud, and wherein the second policy element is a second virtual policy element instance or thread that runs in the policy element cloud.
207. The network system recited in clause 205, wherein the first policy element is a virtual policy element instance or thread that runs in a policy element cloud, and wherein the second policy element is a conventional policy element.
208. The network system recited in clause 205, wherein the first and second policy elements are conventional policy elements.
209. The network system recited in clause 205, wherein the first policy enforcement function is a virtual policy enforcement function instance or thread that runs in a policy enforcement function cloud.
210. The network system recited in clause 205, wherein the first policy enforcement function is a conventional policy enforcement function.
211. The network system recited in clause 205, wherein the network system is further configured to: determine and implement an assignment of the first policy element to assist in implementing the first service policy and to communicate the first policy information with the first policy enforcement function, and determine and implement an assignment of the second policy element to assist in implementing the second service policy and to communicate the second policy information with the first policy enforcement function.
212. A network system for providing one or more services to one or more end-user devices communicatively coupled to the network system over a wireless access network, the network system comprising: one or more policy enforcement functions including a first policy enforcement function and a second policy enforcement function, wherein the first policy enforcement function is configured to assist in implementing a traffic plane aspect of a first service policy for application to network service for one or more end user devices and the second policy enforcement function configured to assist in implementing a second service policy for application to network service for one or more end user devices, the first service policy comprising: (a) a first accounting policy, (b) a first notification policy, (c) a first control policy, (d) a first service plan purchase process, (e) a first service plan modification process, or (f) a combination of two or more of (a) through (e), and the second service policy comprising one of: (i) a second accounting policy, (ii) a second notification policy, (iii) a second control policy, (iv) a second service plan purchase process, (v) a second service plan modification process, or (vi) a combination of two or more of (i) through (v); a first policy element configured to assist in implementing a control plane aspect of the first network service policy and to communicate first control plane policy information with the first policy enforcement function, the first control plane policy information comprising: (x) information communicated from the first policy element to the first policy enforcement function that indicates one or more first traffic plane instructions to aid the first policy enforcement function in assisting in implementing the first service policy, (y) information communicated from the first policy enforcement function to the first policy element that indicates traffic plane activity or first policy enforcement function traffic plane actions associated with the first service policy, or (z) both (x) and (y); a second policy element configured to assist in implementing a control plane aspect of the second network service policy and to communicate second control plane policy information with the second policy enforcement function, the second control plane policy information comprising: (p) information communicated from the second policy element to the second policy enforcement function that indicates one or more second traffic plane instructions to aid the second policy enforcement function in assisting in implementing the second service policy, (q) information communicated from the second policy enforcement function to the second policy element that indicates traffic plane activity or second policy enforcement function traffic plane actions associated with the second service policy, or (r) both (p) and (q); and a network element communicatively coupled to the first policy enforcement function, the second policy enforcement function, the first policy element, and the second policy element, wherein the network element is configured to: assist in establishing or maintaining a first control plane communication path for communicating the first traffic plane policy information between the first policy enforcement function and the first policy element, and assist in establishing or maintaining a second control plane communication path for communicating the second traffic plane policy information between the second policy enforcement function and the second policy element.
213. The network system recited in clause 212, wherein the first policy element is a first virtual policy element instance or thread that runs in a policy element cloud, and wherein the second policy element is a second virtual policy element instance or thread that runs in the policy element cloud.
214. The network system recited in clause 212, wherein the first policy element is a virtual policy element instance or thread that runs in a policy element cloud, and wherein the second policy element is a conventional policy element.
215. The network system recited in clause 212, wherein the first and second policy elements are conventional policy elements.
216. The network system recited in clause 212, wherein the first policy enforcement function is a first virtual policy enforcement function instance or thread that runs in a policy enforcement function cloud, and wherein the second policy enforcement function is a second virtual policy enforcement function instance or thread that runs in the policy enforcement function cloud.
217. The network system recited in clause 212, wherein the first policy enforcement function is a first virtual policy enforcement function instance or thread that runs in a policy enforcement function cloud, and wherein the second policy enforcement function is a conventional policy enforcement function.
218. The network system recited in clause 212, wherein the first and second policy enforcement functions are virtual policy enforcement functions.
219. The network system recited in clause 212, wherein the network system is further configured to: determine and implement an assignment of the first policy element to assist in implementing the first service policy and to communicate the first policy information with the first policy enforcement function, and determine and implement an assignment of the second policy element to assist in implementing the second service policy and to communicate the second policy information with the second policy enforcement function.
220. The network system recited in clause 212, wherein the network system is further configured to: determine and implement an assignment of the first policy enforcement function to assist in implementing the first service policy and to communicate the first policy information with the first policy element, and determine and implement an assignment of the second policy enforcement function to assist in implementing the second service policy and to communicate the second policy information with the second policy element.
221. A network system for providing one or more services to one or more end-user devices communicatively coupled to the network system over a wireless access network, the network system comprising: one or more policy enforcement functions, including at least a first policy enforcement function; one or more policy elements, including at least a first policy element and a second policy element; and a policy control plane proxy or router configured to: route first policy information between the first policy enforcement function and the first policy element, the first policy information configured to assist in implementing at least a first service policy, the first policy enforcement function configured to assist in implementing the first service policy, and route second policy information between the first policy enforcement function and the second policy element, the second policy information configured to assist in implementing at least a second service policy, the first policy enforcement function further configured to assist in implementing the second service policy.
222. The network system recited in clause 221, wherein the first service policy is a service policy applied to communication associated with a first end-user device of the one or more end-user devices communicatively coupled to the network system over the wireless access network, and wherein the second service policy is a service policy applied to communication associated with a second end-user device credential or a second end user credential.
223. The network system recited in clause 221, wherein the first service policy and the second service policy are applied to communication associated with a first end-user device credential or a first end user credential.
224. The network system recited in clause 221, wherein the first service policy comprises a set of one or more service policies for application to communication associated with a first end-user device credential or a first end user credential, and wherein the second service policy is the same set of one or more service policies for application to communication associated with a second end-user device credential or a second end user credential.
225. The network system recited in clause 221, wherein the first service policy is a first set of one or more service policies for application to communication associated with a first end-user device credential or a first end user credential, and wherein the second service policy is a second set of one or more service policies for application to communication associated with a second end-user device or a second end user.
226. The network system recited in clause 221, wherein the first service policy is for application to a first set of communication associated with a first end-user device or a first end user, and wherein the second service policy differs from the first service policy and is for application to the first set of communication associated with the first end-user device or the end user.
227. The network system recited in clause 221, wherein the first service policy is for application to a first set of communication associated with a first end-user device or a first end user, and wherein the second service policy differs from the first service policy and is for application to a second set of communication associated with the first end-user device or the first end user.
228. The network system recited in clause 221, wherein the first service policy is associated with a first network service, and wherein the second service policy is associated with a second network service.
229. The network system recited in clause 221, wherein the first service policy is associated with a first service plan, and wherein the second service policy is associated with a second service plan.
230. The network system recited in clause 221, wherein the first service policy and the second service policy are components of the same service plan.
231. The network system recited in clause 221, wherein the first service policy is a sponsor paid service policy, and wherein the second service policy is a user paid service policy.
232. The network system recited in clause 221, wherein the first service policy is associated with a first mobile operator or service administrator, and wherein the second service policy is associated with a second mobile operator or service administrator.
233. The network system recited in clause 221, wherein the first service policy and the second service policy are associated with a particular mobile operator or service administrator.
234. The network system recited in clause 221, wherein the first service policy is associated with a first device group or user group, and wherein the second service policy is associated with a second device group or user group.
235. The network system recited in clause 234, wherein the first device group or user group or the second device group or user group is defined by a set of device credentials or user credentials.
236. The network system recited in clause 221, wherein the network system is further configured to assign the first policy element to assist in implementing the first service policy.
237. The network system recited in clause 236, wherein the network system is further configured to assign the second policy element to assist in implementing the second device service policy.
238. The network system recited in clause 221, wherein the network system is further configured to: assign the first policy enforcement function to assist in implementing the first service policy, and based on the assignment of the first policy enforcement function, route the first policy information between the first policy enforcement function and the first policy element.
239. The network system recited in clause 221, wherein the network system is further configured to: determine that the first policy enforcement function is assisting to implement the first service policy or is assigned to assist to implement the first service policy, and based on the determination that the first policy enforcement function is assisting to implement the first service policy or is assigned to assist to implement the first service policy, route the first policy information between the first policy enforcement function and the first policy element.
240. The network system recited in clause 221, wherein the first policy element is a virtual policy element that runs in a policy element cloud, and wherein the second policy element is a conventional policy element.
241. The network system recited in clause 240, wherein routing first policy information between the first policy enforcement function and the first policy element and routing the second policy information between the second policy enforcement function and the second policy element assists in partitioning service policy management between the first policy element and the second policy element.
242. The network system recited in clause 240, wherein routing the first policy information between the first policy enforcement function and the first policy element and routing the second policy information between the second policy enforcement function and the second policy element assists in migrating service policy management from the second policy element to the first policy element.
243. The network system recited in clause 221, wherein the first and second policy elements are virtual policy elements that run in a policy element cloud.
244. The network system recited in clause 221, wherein the first policy enforcement function is a conventional policy enforcement function.
245. The network system recited in clause 221, wherein the first policy enforcement function is a virtual policy enforcement function.
246. The network system recited in clause 221, wherein at least one of the one or more policy enforcement functions is a virtual policy enforcement function that runs in a policy enforcement function cloud.
247. A network system for providing one or more services to one or more end-user devices communicatively coupled to the network system over a wireless access network, the network system comprising: one or more policy enforcement functions, including at least a first policy enforcement function and a second policy enforcement function; one or more policy elements, including at least a first policy element and a second policy element; and a policy control plane proxy or router configured to: route first policy information between the first policy enforcement function and the first policy element, the first policy information configured to assist in implementing at least a first service policy, the first policy enforcement function configured to assisting in implementing the first service policy, and route second policy information between the first policy enforcement function and the second policy element, the second policy information configured to assist in implementing at least a second service policy, the first policy enforcement function further configured to assisting in implementing the second service policy.
248. The network system recited in clause 247, wherein the first service policy is a service policy applied to communication associated with a first end-user device, and wherein the second service policy is a service policy applied to communication associated with a second end-user device credential or end user credential.
249. The network system recited in clause 247, wherein the first service policy and the second service policy are applied to communication associated with a first end-user device credential or end user credential.
250. The network system recited in clause 247, wherein the first service policy comprises a set of one or more service policies for application to a communication associated with a first end-user device credential or end user credential, and wherein the second service policy is the same set of one or more service policies for application to communication associated with a second end-user device credential or end user credential.
251. The network system recited in clause 247, wherein the first service policy comprises a first set of one or more service policies for application to communication associated with a first end-user device credential or end user credential, and wherein the second service policy comprises a second set of one or more service policies for application to communication associated with a second end-user device or end user.
252. The network system recited in clause 247, wherein the first service policy is for application to a first set of communication associated with a first end-user device or end user, and wherein the second service policy differs from the first service policy and is for application to the first set of communication associated with the first end-user device or end user.
253. The network system recited in clause 247, wherein the first service policy is for application to a first set of communication associated with a first end-user device or end user, and wherein the second service policy differs from the first service policy and is for application to a second set of communication associated with the first end-user device or end user.
254. The network system recited in clause 247, wherein the first service policy is associated with a first network service, and wherein the second service policy is associated with a second network service.
255. The network system recited in clause 247, wherein the first service policy is associated with a first service plan, and wherein the second service policy is associated with a second service plan.
256. The network system recited in clause 247, wherein the first service policy and second service policy are components of the same service plan.
257. The network system recited in clause 247, wherein the first service policy is a sponsor paid service policy, and wherein the second service policy is a user paid service policy.
258. The network system recited in clause 247, wherein the first service policy is associated with a first mobile operator or service administrator, and wherein the second service policy is associated with a second mobile operator or service administrator.
259. The network system recited in clause 247, wherein the first service policy and second service policy are associated with a particular mobile operator or service administrator.
260. The network system recited in clause 247, wherein the first service policy is associated with a first device group or user group, and wherein the second service policy is associated with a second device group or user group.
261. The network system recited in clause 260, wherein the device group or user group is defined by a set of device credentials or user credentials.
262. The network system recited in clause 247, wherein the network system is further configured to assign the first policy element to assist in implementing the first device service policy.
263. The network system recited in clause 262, wherein the network system is further configured to assign the second policy element to assist in implementing the second device service policy.
264. The network system recited in clause 247, wherein the network system is further configured to: assign the first policy enforcement function to assist in implementing the first service policy, and based on the assignment of the first policy enforcement function, route the first policy information between the first policy enforcement function and the first policy element.
265. The network system recited in clause 247, wherein the network system is further configured to: determine that the first policy enforcement function is assisting to implement the first service policy or is assigned to assist to implement the first service policy, and based on the determination that the first policy enforcement function is assisting to implement the first service policy or is assigned to assist to implement the first service policy, route the first policy information between the first policy enforcement function and the first policy element.
266. The network system recited in clause 247, wherein the first policy element is a virtual policy element that runs in a policy element cloud, and wherein the second policy element is a conventional policy element.
267. The network system recited in clause 266, wherein routing the first policy information between the first policy enforcement function and the first policy element and routing the second policy information between the second policy enforcement function and the second policy element assists in partitioning service policy management between the first policy element and the second policy element.
268. The network system recited in clause 266, wherein routing the first policy information between the first policy enforcement function and the first policy element and routing the second policy information between the second policy enforcement function and the second policy element assists in migrating service policy management from the second policy element to the first policy element.
269. The network system recited in clause 247, wherein the first and second policy elements are virtual policy elements that run in a policy element cloud.
270. The network system recited in clause 247, wherein the first policy enforcement function is a conventional policy enforcement function.
271. The network system recited in clause 247, wherein the first policy enforcement function is a virtual policy enforcement function.
272. The network system recited in clause 247, wherein at least one of the one or more policy enforcement functions is a virtual policy enforcement function that runs in a policy enforcement function cloud.
273. A method comprising: providing a first response to a first network resource access request, wherein the first response is based on a first indicator provided to a first decision layer in a resource management system; and providing a second network resource access request, based on an aspect of the first network resource access request, to a second decision layer in the resource management system, wherein the second decision layer provides a second response to the second network resource access request, wherein the second response comprises an updated network resource access policy for the first decision layer.
274. The method of clause 273, wherein the first response comprises a first network resource access policy that provides for limited access to network resources.
275. The method of clause 273, wherein the updated network resource access policy provides for additional access to network resources in comparison to the first network resource access policy.
276. The method of clause 273, wherein the updated network resource access policy is more restrictive than the first network resource access policy.
277. The method of clause 273, wherein the updated network resource access policy is different from the first network access policy.
278. The method of clause 273, wherein application of the updated network resource access policy is deferred until at least another network resource access request is received.
279. The method of clause 273, wherein the updated network resource access policy is applied prior to receiving a second network resource access request.
280. The method of clause 273, wherein the updated network resource access policy is applied immediately.
281. The method of clause 273, wherein the first decision layer is implemented over a real-time interface.
282. The method of clause 273, wherein the second decision layer is implemented over a non-real-time interface.
283. The method of clause 281, wherein the real-time interface comprises at least one of Gx, Gy, RADIUS, or Diameter protocols.
284. The method of clause 282, wherein the non-real-time interface comprises at least one of Gx, Gy, RADIUS, JSON, XML, Web Services, REST, or Diameter protocols.
285. The method of clause 273, wherein the second decision layer is implemented over a real-time interface.
286. The method of clause 285, wherein the real-time interface comprises at least one of Gx, Gy, RADIUS, or Diameter protocols.
287. The method of clause 273, wherein the first indicator reflects an unknown state.
288. The method of clause 273, wherein the first indicator reflects a known state.
289. The method of clause 273, wherein the first indicator reflects a default state.
290. The method of clause 273, wherein the first indicator reflects a fraud state.
291. The method of clause 273, wherein the first indicator reflects a non-fraud state.
292. The method of clause 273, wherein the first indicator reflects a limited access enablement state.
293. The method of clause 273, wherein the first decision layer is implemented over a hardware-based computing platform.
294. The method of clause 273, wherein the second decision layer is implemented over a virtualized computing platform.
295. The method of clause 273, wherein the first decision layer is implemented over a hardware-based computing platform and the second decision layer is implemented over a virtualized computing platform, wherein the first decision layer communicates with the second decision layer over a remotely established communications network.
296. The method of clause 294, wherein the first decision layer authorizes limited access to network resources, in response to the first network resource access request and authorizes additional access to network resources upon the second decision layer verifying that the additional access may be granted.
297. The method of clause 274, wherein the limited access is based on at least one of: a level of bandwidth allocation, level of access to a network resource, level of access to a content type, or level of connection speed used for accessing one or more network resources.
298. The method of clause 296 wherein the network resource comprises at least one of: a host name, a MAC address, a TCP/IP address, a server name, or a URL.
299. The method of clause 273 further comprising initiating, by the second decision layer, a first message comprising an updated network resource access policy for the first decision layer.
300. The method of clause 273, wherein the updated network resource access policy denies additional access to one or more network resources.
301. A method for controlling resource allocation, the method comprising: responsive to a request submitted for network resource access, allocating a first network resource allowance to a subscriber, based on a first network resource allocation policy associated with the subscriber, wherein the allocation is for a first set of network resources, and the request for network resource allocation is for a second network resource allowance, the first allowance being more restrictive than the second allowance; communicating an authorization request to a virtualized network element to verify a subscription policy associated with the subscriber, wherein the subscription policy provides information about the subscriber's resource access authorization for using resources of a service provider; and receiving, from the virtualized network element, a reply providing information about the subscription policy, wherein the reply indicates whether the subscriber is authorized to an allocation of network resource allowance beyond the first network resource allowance.
302. The method of clause 301, further comprising updating the first resource allocation policy associated with the subscriber based on the information provided in the reply.
303. The method of clause 301, wherein the information provided in the reply indicates that no additional network resources are to be allocated to the subscriber.
304. The method of clause 301, wherein the information provided in the reply indicates that at least one or more additional network resources are to be allocated to the subscriber.
305. The method of clause 301, wherein the information provided in the reply indicates a priority with which the first resource allocation policy associated with the subscriber is to be updated.
306. The method of clause 305, wherein the priority is associated with an immediacy with which the first resource allocation policy is to be updated.
307. The method of clause 305, wherein the priority is associated with the timing with which the first resource allocation policy is to be updated.
308. The method of clause 302, further comprising applying the first resource allocation policy to limit additional allocation of network resources to the subscriber.
309. The method of clause 302, further comprising applying the first resource allocation policy to prevent additional allocation of network resources to the subscriber.
310. The method of clause 302, further comprising applying the first resource allocation policy to allow additional allocation of network resources to the subscriber.
311. The method of clause 301, wherein the service provider is a mobile communications service provider and the subscriber seeks access to resources of the mobile communications service provider by way of the request for network resource allowance allocation submitted through a network element in communication with a mobile communications device used by the subscriber.
312. The method of clause 301, wherein the allocating is performed by a charging module in real-time.
313. The method of clause 312, wherein the charging module is a non-virtualized logic element implemented in hardware.
314. The method of clause 313, wherein the communicating of the authorization request to the virtualized network element is performed by the charging module.
315. The method of clause 314, wherein the virtualized network element is a cloud-based charging module.
316. The method of clause 314, wherein the virtualized network element determines the subscription policy associated with the subscriber in none real-time.
317. The method of clause 314, wherein the virtualized network element determines the subscription policy associated with the subscriber in near-time.
318. The method of clause 312, wherein the charging module is an online charging system (OCS) in a communications data center implemented utilizing a gateway general packet radio service (GPRS) support node (GGSN).
319. The method of clause 312, wherein the charging module is a policy and charging rules function (PCRF) in a communications data center implemented utilizing a gateway general packet radio service (GPRS) support node (GGSN).
320. The method of clause 318, wherein the request for network resource access is received from a network element in communication with the subscriber's communication device.
321. The method of clause 320, wherein the request for network resource access is received from a serving GPRS support node (SGSN).
322. The method of clause 318, wherein the network element communicates with the OCS via a first proxy agent, and wherein the OCS is connected to the GGSN in a local network.
323. The method of clause 319, wherein the network element communicates with the PCRF via a second proxy agent, and wherein the PCRF is connected to the network element in a local network.
324. The method of clause 322, wherein the first proxy agent monitors resource usage by the subscriber in real-time.
325. The method of clause 323, wherein the second proxy agent provisions service data flow based on charging rules in real-time.
326. The method of clause 324, wherein the first proxy agent further monitors resource allocation requests received in associated with the subscriber to determine whether the resource allocation request is to be serviced by a virtualized OCS or a non-virtualized OCS based on at least one of a subscription policy associated with the subscriber, the subscriber's credentials, rules based on the subscriber's service plans, capabilities of the subscriber's device, one or more service providers associated with the subscriber, geo-location of the subscriber or the location of network where subscriber traffic is routed through.
327. The method of clause 325, wherein the second proxy agent further monitors resource allocation requests received in associated with the subscriber to determine whether the resource allocation request is to be serviced by a virtualized PCRF or a non-virtualized PCRF based on at least one of a subscription policy associated with the subscriber, the subscriber's credentials, rules based on the subscriber's service plans, capabilities of the subscriber's device, one or more service providers associated with the subscriber, geo-location of the subscriber or the location of network where subscriber traffic is routed through.
328. The method of clause 322, wherein the first proxy agent is a Gy proxy.
329. The method of clause 323, wherein the second proxy agent is a Gx proxy.
330. The method of clause 301, wherein the virtualized network element is provisioned in a remote communications network in relation to a system that performs processes associated with the allocating, the communicating and the receiving, and wherein said system is implemented in hardware.
331. A method for controlling resource allocation for a subscriber device, the method comprising: responsive to a first request for network resource access submitted on behalf of a subscriber device, allocating a first network resource allowance to the subscriber device based on a first resource allocation policy associated with the subscriber device, wherein the first network resource allowance allocated is for a first set of network resources and the request submitted for network resource access is for a second amount of resources, the first amount being less than the second amount; communicating an authorization request to a virtualized network element, instead of a non-virtualized network element, to determine a subscription policy associated with the subscriber device, wherein the subscription policy provides information about the subscriber device resource access authorization for using resources of a mobile communications service provider; receiving, from the virtualized network element, a first reply providing information about the subscription policy, wherein the first reply provides policy information about whether the first resource allocation policy is to be updated to authorize allocation of network resource allowance beyond the first network resource allowance to the subscribe device and an indicator to indicate a time factor for when the resource allocation policy is to be updated; updating the first resource allocation policy to a second resource allocation policy according to the information about the subscription policy received from the virtualized network element based on the indicator's value, wherein the second amount of resources is allocated to the subscriber device when the indicator has a first value and a third amount of resources is allocated to the subscriber device when the indicator has a second value; and responsive to a second request for network resource access submitted on behalf of the subscriber device, communicating a usage update message to the virtualized network element to determine an updated subscription policy associated with the subscriber device, wherein the updated subscription policy provides information about remaining level of resources that may be allocated to the subscriber device based on updated use access authorization.
332. The method of clause 331 further comprising: receiving, from the virtualized network element, a second reply responsive to the second request, the second reply providing information about the updated subscription policy indicating whether the second resource allocation policy is to be updated to authorize additional allocation of network resource allowance to the subscribe device and an indicator to indicate a time factor for when the second resource allocation policy is to be updated.
333. The method of clause 331 wherein the third amount is smaller than the second amount.
334. The method of clause 331 wherein the third amount is approximately equal to zero.
335. The method of clause 331, wherein the information provided in the first reply indicates that no additional resources are to be allocated to the subscriber device.
336. The method of clause 331, wherein the information provided in the first reply indicates that additional network resources are to be allocated to the subscriber device.
337. The method of clause 331, wherein the information provided in the first reply indicates a priority with which the first resource allocation policy associated with the subscriber device is to be updated.
338. The method of clause 337, wherein the priority is associated with an immediacy with which the first resource allocation policy is to be updated.
339. The method of clause 337, wherein the priority is associated with timing with which at the first resource allocation policy is to be updated.
340. The method of clause 332, further comprising applying the first resource allocation policy to limit additional allocation of resources to the subscriber.
341. The method of clause 331, wherein the information provided in the second reply indicates that no additional network resources are to be allocated to the subscriber device.
342. The method of clause 331, wherein the information provided in the second reply indicates that additional network resources are to be allocated to the subscriber device.
343. The method of clause 331, wherein the information provided in the second reply indicates a priority with which the second resource allocation policy associated with the subscriber device is to be updated.
344. The method of clause 337, wherein the priority is associated with an immediacy with which the second resource allocation policy is to be updated.
345. The method of clause 337, wherein the priority is associated with timing with which at the second resource allocation policy is to be updated.
346. The method of clause 332, further comprising applying the second resource allocation policy to limit additional allocation of resources to the subscriber device.
347. The method of clause 331, wherein the authorization request is communicated to the non-virtualized network element, instead of a virtualized network element, based on at least one of a subscription policy associated with the subscriber device, the subscriber device credentials, rules based on the subscriber's service plans, capabilities of the subscriber device, one or more service providers associated with the subscriber device, geo-location of the subscriber device or the location of network where traffic communicated with the subscriber device is routed through.
348. The method of clause 331, wherein the communication of the authorization request to the virtualized network element, instead of a non-virtualized network element, provide the subscriber device with enhanced capabilities that are unavailable to the subscriber device over the non-virtualized network element.
349. The method of clause 348, wherein the enhanced capabilities comprises at least one of enhanced notifications, unique service plans, enhanced billing services, or device assisted services.
350. The method of clause 349, wherein the enhanced billing services comprise at least one of: sponsored services, application based services, content-type based services, or simultaneous multiple service plans.
351. The method of clause 347, wherein the authorization request comprises at least one of a flow tag, or a header.
352. The method of clause 350, wherein the content-type based services comprise at least one of: streaming audio, streaming video, VoIP, or P2P.
353. The method of clause 304, wherein the one or more additional network resources are defined by at least one of content type, server address, TCP/IP address, MAC address, VoIP, p2p, or host address.
354. The method of clause 301 wherein network resource allowance is defined based on at least one of: resource destination, resource usage measured in bandwidth or resource usage measured in time.
355. The method of clause 326, wherein a resource allocation request comprises a flow tag or header information.
356. A method comprising: communicating one or more policy messages between a network element and a device element communicatively coupled over a wireless communications network, wherein the policy messages are configured for managing one or more service policies associated with at least a service plan provided by a communications service provider, wherein the device element is implemented over a wireless communications device, wherein the network element is implemented over a virtualized computing platform supported by the communications service provider.
357. The method of clause 356, wherein a policy message associated with the service plan is communicated from the device element to the network element, when a usage threshold limit associated with the service plan is reached.
358. The method of clause 357 wherein the threshold limit is determined to have been reached based on at least one of: a measure of network bandwidth usage, a measure of time associated with usage of a service provided by the service plan, or a measure of network related transactions between the communication device and the communications network resource.
359. The method of clause 356 wherein at least one policy message comprises one or more service plan parameters.
360. The method of clause 359 wherein at least one service plan parameter provides one or more threshold limits for one or more of: a service plan resource usage allowance, a service plan use time allowance, or a service plan transaction allowance.
361. The method of clause 360 wherein a notification message is communicated, when at least one threshold limit is reached.
362. The method of clause 361 wherein the notification comprises an offer to purchase a new service plan.
363. The method of clause 361 wherein the notification comprises information related to service plan usage.
364. The method of clause 359 wherein at least one service plan parameter provides a quality of service (QoS) level for a service plan.
365. The method of clause 359 wherein the policy message provides one or more authorized network destinations.
366. The method of clause 365 wherein the one or more authorized network destinations are provided based on which communications between the device element and the network element are routed.
367. The method of clause 365 wherein the authorized network destinations comprise at least one of a host name, a TCP/IP address, a MAC address, a URL, or a server name.
368. The method of clause 359 wherein the policy message provides one or more unauthorized destinations based on which communications between the device element and the network element are denied.
369. The method of clause 367 wherein the unauthorized destinations comprise at least one of a host name, a TCP/IP address, a MAC address, a URL, or a server name.
370. The method of clause 359 wherein the policy message provides one or more authorized content types supported for communications between the device and the network.
371. The method of clause 370 wherein the authorized content types comprise at least one of: streaming audio, streaming video, peer to peer messaging, or voice over internet protocol (VoIP).
372. The method of clause 369 wherein the policy message provides one or more unauthorized content types not supported for communications between the device and the network.
373. The method of clause 372 wherein the unauthorized content types comprise at least one of: streaming audio, streaming video, peer to peer messaging, or voice over internet protocol (VoIP).
374. The method of clause 356 wherein the policy provisioning instructions are provided to the network element from a policy provisioning element.
375. The method of clause 374 wherein the policy provisioning element is implemented over a non-virtualized computing platform supported by the communications service provider.
376. The method of clause 374 wherein the policy provisioning element is implemented over the device on which the device element is implemented.
377. The method of clause 356 wherein an indication of a service plan change is communicated to the network element by the device element.
378. The method of clause 377 wherein the network element comprises at least one of: a PCRF, an OCS, a PCEF, a TDF, a GGSN, an HA, a PGW, an HLR, an HSS, or a AAA server.
379. The method of clause 356 wherein the communications service provider is a wireless service provider.
380. The method of 356 wherein the communications service provider is a third party entity.
381. The method of 356 wherein the communications service provider is a provider of virtualized services.
382. A communications system comprising: one or more network service elements for servicing resource access requests submitted under a service plan; and a network traffic management element implemented over a virtualized computing environment to balance load of traffic between the one or more network service elements.
383. The system of clause 382 wherein at least one of the network service elements comprises one or more policy enforcement elements for enforcing policy associated with the service plan.
384. The system of clause 382 wherein at least one of the network service elements comprises one or more service controller elements for managing service policy associated with the service plan.
385. The system of clause 382 wherein at least one of the network service elements comprises: one or more policy enforcement elements for enforcing policy associated with the service plan; and one or more service controller elements for managing service policy associated with the service plan.
386. The system of clause 383 wherein the network traffic management element comprises at least one of: a diameter routing agent or a diameter proxy.
387. The system of clause 383 wherein the one or more policy enforcement elements comprise at least one of: a GGSN, a PCEF, a AAA server, a HLR, a HSS, or an HA.
388. The system of clause 382 wherein the network traffic management element distributes the load of traffic to the one or more network service elements based on information in flow of the traffic.
389. The system of clause 388 wherein at least one of the network service elements comprises a services controller element for managing service policy associated with the service plan.
390. The system of clause 388 wherein the information in the flow of traffic comprises at least one of: a host name, a header tag, information in a request message, or information in a response message.
391. The system of clause 384 wherein at least one of the service controller elements is associated with at least one of: an MNO, an MVNO, or wireless service provider.
392. The system of clause 382 wherein the network traffic management element balances the load of traffic between the one or more network service elements based on identity of a service provider associated with communicated traffic.
393. The system of 382 further comprising a proxy network element for managing connections between the one or more network service elements and the network traffic management element.
394. The system of clause 393 wherein the proxy network element is implemented to support the diameter communications protocol.
395. The system of clause 393 wherein the proxy network element comprises at least one of: a diameter routing agent or a diameter proxy.
396. The system of clause 383 wherein the network service element comprises a primary policy enforcement element and a secondary policy enforcement element.
397. The system of clause 396 wherein: the primary policy enforcement element comprises at least one of: a GGSN, a PCEF, or an HA, and the secondary policy enforcement element comprises at least one of: OCS, TDF or PCEF.
398. The system of clause 397 wherein a network proxy routes a service request to at least one of a service controller or the secondary policy enforcement element.
399. The system of clause 398 wherein the network proxy routes the service request to at least one of a service controller or the secondary policy enforcement element based on information included in the service request.
400. The system of clause 399 wherein the information included in the service request comprises at least one of: a host name, a header tag, information in a request message, or information in a response message.
401. The system of clause 383 wherein the network traffic management element and at least one of the policy enforcement elements communicate in real time.
402. The system of clause 384 wherein the network traffic management element and at least one of the service controller elements communicate in real time.
403. The system of clause 383 wherein the network traffic management element and at least one of the policy enforcement elements communicate via diameter communications protocol.
404. The system of clause 384 wherein the network traffic management element and at least one of the service controller elements communicate via diameter communications protocol.
405. The system of clause 383 wherein the network traffic management element and at least one of the policy enforcement elements communicate via at least one of JSON, REST, web services, or XML.
406. A communication system comprising: a policy enforcement layer (PEL) and a decision enforcement layer (DEL), wherein policy-related functions are enforced by the PEL, and wherein the decision-related functions are enforced by the DEL.
407. The system of clause 406, wherein the PEL enforces the policy-related functions in realtime.
408. The system of clause 406, wherein the DEL enforces the decision-related functions in non-realtime.
409. The system of clause 406, wherein the PEL enforces the policy-related functions in with a first level of responsiveness and the DEL enforces the decision-related functions with a second level of responsiveness.
410. The system of clause 409 wherein a first request is serviced, at least partially, by a PEL network element, during a first time period.
411. The system of clause 410, wherein the first access request is further serviced by a DEL network element, during a second time period.
412. The system of clause 411, wherein at least a portion of the first time period precedes the second time period.
413. The system of clause 411, wherein at least a portion of the first time period and the second time period overlap.
414. The system of clause 411, wherein the first request is for access to network resources.
415. The system of clause 411, wherein the first request comprises a control related portion and a data transmission related portion, wherein the control related portion of the first request is serviced by the PEL and the data transmission related portion is serviced by the DEL.
416. The system of clause 411, wherein the PEL is supported by a first interface comprising at least one of Gx, Gy, RADIUS, or Diameter protocols.
417. The system of clause 411, wherein the DEL is supported by a second interface comprising at least one of Gx, Gy, RADIUS, JSON, XML, Web Services, REST, or Diameter protocols.
418. The system of clause 411, wherein the PEL is implemented over a hardware-based computing platform.
419. The system of clause 411, wherein the DEL is implemented over a virtualized computing platform.
420. The system of clause 411, wherein the PEL is implemented over a hardware-based computing platform and the DEL is implemented over a virtualized computing platform, wherein the PEL communicates with the DEL over a remotely established communications network.
421. The system of clause 420, wherein the PEL authorizes limited access to network resources and authorizes additional access to network resources upon the DEL verifying that the additional access may be granted.
422. The system of clause 421, wherein the limited access is based on at least one of: a level of bandwidth allocation, level of access to a destination, level of access to a content type, or level of connection speed used for accessing one or more network resources.
The claimed subject matter has been provided here with reference to one or more features or embodiments. Those skilled in the art will recognize and appreciate that, despite of the detailed nature of the exemplary embodiments provided here, changes and modifications may be applied to said embodiments without limiting or departing from the generally intended scope. These and various other adaptations and combinations of the embodiments provided here are within the scope of the disclosed subject matter as defined by the claims and their full set of equivalents.
This application is a continuation-in-part of, and incorporates by reference for all purposes, co-pending U.S. patent application Ser. No. 13/842,172 (Attorney Docket No. RALEP104), filed Mar. 15, 2013, entitled NETWORK SERVICE PLAN DESIGN. This application claims the benefit of, and incorporates by reference for all purposes, the following U.S. provisional applications: U.S. Provisional Application No. 61/674,331 (Attorney Docket No. RALEP102+), filed Jul. 21, 2012, entitled SERVICE CONTROLLER FOR MANAGING CLOUD-BASED POLICY; and U.S. Provisional Application No. 61/793,894 (Attorney Docket No. RALEP118+), filed Mar. 15, 2013, entitled SIMPLIFIED POLICY DESIGN, MANAGEMENT, AND IMPLEMENTATION. This document incorporates by reference for all purposes the following non-provisional U.S. patent applications: U.S. application Ser. No. 12/380,780 (Attorney Docket No. RALEP007), filed Mar. 2, 2009, entitled AUTOMATED DEVICE PROVISIONING AND ACTIVATION; U.S. application Ser. No. 12/695,019 (Attorney Docket No. RALEP022), filed Jan. 27, 2010, entitled DEVICE ASSISTED CDR CREATION, AGGREGATION, MEDIATION AND BILLING, now U.S. Pat. No. 8,275,830 (issued Sep. 25, 2012); U.S. application Ser. No. 12/695,020 (Attorney Docket No. RALEP024), filed Jan. 27, 2010, entitled ADAPTIVE AMBIENT SERVICES, now U.S. Pat. No. 8,406,748 (issued Mar. 26, 2013); U.S. application Ser. No. 12/694,445 (Attorney Docket No. RALEP025), filed Jan. 27, 2010, entitled SECURITY TECHNIQUES FOR DEVICE ASSISTED SERVICES, now U.S. Pat. No. 8,391,834 (issued Mar. 5, 2013); U.S. application Ser. No. 12/694,451 (Attorney Docket No. RALEP026), filed Jan. 27, 2010, entitled DEVICE GROUP PARTITIONS AND SETTLEMENT PLATFORM; U.S. application Ser. No. 12/694,455 (Attorney Docket No. RALEP027), filed Jan. 27, 2010, entitled DEVICE ASSISTED SERVICES INSTALL, now U.S. Pat. No. 8,402,111; U.S. application Ser. No. 12/695,021 (Attorney Docket No. RALEP029), filed Jan. 27, 2010, entitled QUALITY OF SERVICE FOR DEVICE ASSISTED SERVICES, now U.S. Pat. No. 8,346,225 (issued Jan. 1, 2013); U.S. application Ser. No. 12/695,980 (Attorney Docket No. RALEP030), filed Jan. 28, 2010, entitled ENHANCED ROAMING SERVICES AND CONVERGED CARRIER NETWORKS WITH DEVICE ASSISTED SERVICES AND A PROXY, now U.S. Pat. No. 8,340,634 (issued Dec. 25, 2012); U.S. application Ser. No. 13/134,028 (Attorney Docket No. RALEP032), filed May 25, 2011, entitled DEVICE-ASSISTED SERVICES FOR PROTECTING NETWORK CAPACITY; U.S. application Ser. No. 13/229,580 (Attorney Docket No. RALEP033), filed Sep. 9, 2011, entitled WIRELESS NETWORK SERVICE INTERFACES; U.S. application Ser. No. 13/237,827 (Attorney Docket No. RALEP034), filed Sep. 20, 2011, entitled ADAPTING NETWORK POLICIES BASED ON DEVICE SERVICE PROCESSOR CONFIGURATION; U.S. application Ser. No. 13/253,013 (Attorney Docket No. RALEP035), filed Oct. 4, 2011, entitled SYSTEM AND METHOD FOR PROVIDING USER NOTIFICATIONS; U.S. application Ser. No. 13/239,321 (Attorney Docket No. RALEP036), filed Sep. 21, 2011, entitled SERVICE OFFER SET PUBLISHING TO DEVICE AGENT WITH ON-DEVICE SERVICE SELECTION; U.S. application Ser. No. 13/248,028 (Attorney Docket No. RALEP037), filed Sep. 28, 2011, entitled ENTERPRISE ACCESS CONTROL AND ACCOUNTING ALLOCATION FOR ACCESS NETWORKS; U.S. application Ser. No. 13/247,998 (Attorney Docket No. RALEP038), filed Sep. 28, 2011, entitled SECURE DEVICE DATA RECORDS; U.S. application Ser. No. 13/309,556 (Attorney Docket No. RALEP040), filed Dec. 1, 2011, entitled END USER DEVICE THAT SECURES AN ASSOCIATION OF APPLICATION TO SERVICE POLICY WITH AN APPLICATION CERTIFICATE CHECK; U.S. application Ser. No. 13/309,463 (Attorney Docket No. RALEP041), filed Dec. 1, 2011, entitled SECURITY, FRAUD DETECTION, AND FRAUD MITIGATION IN DEVICE-ASSISTED SERVICES SYSTEMS; U.S. application Ser. No. 13/248,025 (Attorney Docket No. RALEP043), filed Sep. 28, 2011, entitled SERVICE DESIGN CENTER FOR DEVICE ASSISTED SERVICES; and U.S. application Ser. No. 13/374,959 (Attorney Docket No. RALEP046), filed Jan. 24, 2012, entitled FLOW TAGGING FOR SERVICE POLICY IMPLEMENTATION; U.S. application Ser. No. 13/441,821 (Attorney Docket No. RALEP047A), filed Apr. 6, 2012, entitled MANAGING SERVICE USER DISCOVERY AND SERVICE LAUNCH OBJECT PLACEMENT ON A DEVICE; U.S. application Ser. No. 13/134,005 (Attorney Docket No. RALEP049), filed May 25, 2011, entitled SYSTEM AND METHOD FOR WIRELESS NETWORK OFFLOADING; U.S. application Ser. No. 13/802,483 (Attorney Docket No. RALEP063), filed Mar. 13, 2013, entitled MOBILE DEVICE ACTIVATION VIA DYNAMICALLY SELECTED ACCESS NETWORK; and U.S. application Ser. No. 13/748,152 (Attorney Docket No. RALEP106), filed Jan. 23, 2013, entitled SERVICE PLAN DESIGN, USER INTERFACES, APPLICATION PROGRAMMING INTERFACES, AND DEVICE MANAGEMENT. This document incorporates by reference for all purposes the following provisional patent applications: U.S. Provisional Application No. 61/206,354 (Attorney Docket No. RALEP001+), filed Jan. 28, 2009, entitled SERVICES POLICY COMMUNICATION SYSTEM AND METHOD; U.S. Provisional Application No. 61/206,944 (Attorney Docket No. RALEP002+), filed Feb. 4, 2009, entitled SERVICES POLICY COMMUNICATION SYSTEM AND METHOD; U.S. Provisional Application No. 61/207,393 (Attorney Docket No. RALEP003+), filed Feb. 10, 2009, entitled SERVICES POLICY COMMUNICATION SYSTEM AND METHOD; U.S. Provisional Application No. 61/207,739 (Attorney Docket No. RALEP004+), entitled SERVICES POLICY COMMUNICATION SYSTEM AND METHOD, filed Feb. 13, 2009; U.S. Provisional Application No. 61/270,353 (Attorney Docket No. RALEP022+), filed on Jul. 6, 2009, entitled DEVICE ASSISTED CDR CREATION, AGGREGATION, MEDIATION AND BILLING; U.S. Provisional Application No. 61/275,208 (Attorney Docket No. RALEP023+), filed Aug. 25, 2009, entitled ADAPTIVE AMBIENT SERVICES; U.S. Provisional Application No. 61/237,753 (Attorney Docket No. RALEP024+), filed Aug. 28, 2009, entitled ADAPTIVE AMBIENT SERVICES; U.S. Provisional Application No. 61/252,151 (Attorney Docket No. RALEP025+), filed Oct. 15, 2009, entitled SECURITY TECHNIQUES FOR DEVICE ASSISTED SERVICES; and U.S. Provisional Application No. 61/252,153 (Attorney Docket No. RALEP026+), filed Oct. 15, 2009, entitled DEVICE GROUP PARTITIONS AND SETTLEMENT PLATFORM; U.S. Provisional Application No. 61/264,120 (Attorney Docket No. RALEP027+), filed Nov. 24, 2009, entitled DEVICE ASSISTED SERVICES INSTALL; U.S. Provisional Application No. 61/264,126 (Attorney Docket No. RALEP028+), filed Nov. 24, 2009, entitled DEVICE ASSISTED SERVICES ACTIVITY MAP; U.S. Provisional Application No. 61/348,022 (Attorney Docket No. RALEP031+), filed May 25, 2010, entitled DEVICE ASSISTED SERVICES FOR PROTECTING NETWORK CAPACITY; U.S. Provisional Application No. 61/381,159 (Attorney Docket No. RALEP032+), filed Sep. 9, 2010, entitled DEVICE ASSISTED SERVICES FOR PROTECTING NETWORK CAPACITY; U.S. Provisional Application No. 61/381,162 (Attorney Docket No. RALEP033+), filed Sep. 9, 2010, entitled SERVICE CONTROLLER INTERFACES AND WORKFLOWS; U.S. Provisional Application No. 61/384,456 (Attorney Docket No. RALEP034+), filed Sep. 20, 2010, entitled SECURING SERVICE PROCESSOR WITH SPONSORED SIMS; U.S. Provisional Application No. 61/389,547 (Attorney Docket No. RALEP035+), filed Oct. 4, 2010, entitled USER NOTIFICATIONS FOR DEVICE ASSISTED SERVICES; U.S. Provisional Application No. 61/385,020 (Attorney Docket No. RALEP036+), filed Sep. 21, 2010, entitled SERVICE USAGE RECONCILIATION SYSTEM OVERVIEW; U.S. Provisional Application No. 61/387,243 (Attorney Docket No. RALEP037+), filed Sep. 28, 2010, entitled ENTERPRISE AND CONSUMER BILLING ALLOCATION FOR WIRELESS COMMUNICATION DEVICE SERVICE USAGE ACTIVITIES; U.S. Provisional Application No. 61/387,247 (Attorney Docket No. RALEP038+), filed Sep. 28, 2010 entitled SECURED DEVICE DATA RECORDS; U.S. Provisional Application No. 61/407,358 (Attorney Docket No. RALEP039+), filed Oct. 27, 2010, entitled SERVICE CONTROLLER AND SERVICE PROCESSOR ARCHITECTURE; U.S. Provisional Application No. 61/418,507 (Attorney Docket No. RALEP040+), filed Dec. 1, 2010, entitled APPLICATION SERVICE PROVIDER INTERFACE SYSTEM; U.S. Provisional Application No. 61/418,509 (Attorney Docket No. RALEP041+), filed Dec. 1, 2010, entitled SERVICE USAGE REPORTING RECONCILIATION AND FRAUD DETECTION FOR DEVICE ASSISTED SERVICES; U.S. Provisional Application No. 61/420,727 (Attorney Docket No. RALEP042+), filed Dec. 7, 2010, entitled SECURE DEVICE DATA RECORDS; U.S. Provisional Application No. 61/422,565 (Attorney Docket No. RALEP043+), filed Dec. 13, 2010, entitled SERVICE DESIGN CENTER FOR DEVICE ASSISTED SERVICES; U.S. Provisional Application No. 61/422,572 (Attorney Docket No. RALEP044+), filed Dec. 13, 2010, entitled SYSTEM INTERFACES AND WORKFLOWS FOR DEVICE ASSISTED SERVICES; U.S. Provisional Application No. 61/422,574 (Attorney Docket No. RALEP045+), filed Dec. 13, 2010, entitled SECURITY AND FRAUD DETECTION FOR DEVICE ASSISTED SERVICES; U.S. Provisional Application No. 61/435,564 (Attorney Docket No. RALEP046+), filed Jan. 24, 2011, entitled FRAMEWORK FOR DEVICE ASSISTED SERVICES; and U.S. Provisional Application No. 61/472,606 (Attorney Docket No. RALEP047+), filed Apr. 6, 2011, entitled MANAGING SERVICE USER DISCOVERY AND SERVICE LAUNCH OBJECT PLACEMENT ON A DEVICE; U.S. Provisional Application No. 61/550,906 (Attorney Docket No. RALEP048+), filed Oct. 24, 2011, entitled SECURITY FOR DEVICE-ASSISTED SERVICES; U.S. Provisional Application No. 61/589,830 (Attorney Docket No. RALEP052+), filed Jan. 23, 2012, entitled METHODS AND APPARATUS TO PRESENT INFORMATION ABOUT VOICE, MESSAGING, AND DATA SERVICES ON WIRELESS MOBILE DEVICES; U.S. Provisional Application No. 61/610,876 (Attorney Docket No. RALEP062+), filed Mar. 14, 2012, entitled METHODS AND APPARATUS FOR APPLICATION PROMOTION AND SPONSORSHIP; U.S. Provisional Application No. 61/610,910 (Attorney Docket No. RALEP063+), filed Mar. 14, 2012, entitled WIFI ACTIVATION BACKUP PROCESS; U.S. Provisional Application No. 61/658,339 (Attorney Docket No. RALEP100+), filed Jun. 11, 2012, entitled MULTI-DEVICE MASTER SERVICES ACCOUNTS, SERVICE PLAN SHARING AND ASSIGNMENTS, AND DEVICE MANAGEMENT FROM A MASTER DEVICE; U.S. Provisional Application No. 61/667,927 (Attorney Docket No. RALEP101+), filed Jul. 3, 2012, entitled FLEXIBLE MULTI-DEVICE MASTER SERVICE ACCOUNTS, SERVICE PLAN SHARING AND ASSIGNMENTS, AND DEVICE MANAGEMENT; U.S. Provisional Application No. 61/724,267 (Attorney Docket No. RALEP106+), filed Nov. 8, 2012, entitled FLEXIBLE SERVICE PLAN DESIGN, USER INTERFACE AND DEVICE MANAGEMENT; U.S. Provisional Application No. 61/724,837 (Attorney Docket No. RALEP107+), filed Nov. 9, 2012, entitled SERVICE PLAN DISCOVERY, CUSTOMIZATION, AND MANAGEMENT; U.S. Provisional Application No. 61/724,974 (Attorney Docket No. RALEP108+), filed Nov. 10, 2012, entitled SERVICE PLAN DISCOVERY, CUSTOMIZATION, AND MANAGEMENT; U.S. Provisional Application No. 61/732,249 (Attorney Docket No. RALEP109+), filed Nov. 30, 2012, entitled APPLICATION PROGRAMMING INTERFACES FOR SMART SERVICES; U.S. Provisional Application No. 61/734,288 (Attorney Docket No. RALEP110+), filed Dec. 6, 2012, entitled INTERMEDIATE NETWORKING DEVICE SERVICES; and U.S. Provisional Application No. 61/745,548 (Attorney Docket No. RALEP111+), filed Dec. 22, 2012, entitled SERVICE PLAN DESIGN, USER INTERFACES, APPLICATION PROGRAMMING INTERFACES, AND DEVICE MANAGEMENT; U.S. Provisional Application No. 61/756,332 (Attorney Docket No. RALEP112+), filed Jan. 24, 2013, entitled MOBILE HOTSPOT; U.S. Provisional Application No. 61/758,964 (Attorney Docket No. RALEP113+), filed Jan. 30, 2013, entitled MOBILE HOTSPOT; U.S. Provisional Application No. 61/765,978 (Attorney Docket No. RALEP114+), filed Feb. 18, 2013, entitled ENHANCED CURFEW AND PROTECTION ASSOCIATED WITH A DEVICE GROUP; U.S. Provisional Application No. 61/785,988 (Attorney Docket No. RALEP115+), filed Mar. 14, 2013, entitled AUTOMATED CREDENTIAL PORTING FOR MOBILE DEVICES; U.S. Provisional Application No. 61/794,116 (Attorney Docket No. RALEP116+), filed Mar. 15, 2013, entitled ENHANCED INTERMEDIATE NETWORKING DEVICE; U.S. Provisional Application No. 61/792,765 (Attorney Docket No. RALEP117+), filed Mar. 15, 2013, entitled DEVICE GROUP AND SERVICE PLAN MANAGEMENT; U.S. Provisional Application No. 61/799,710 (Attorney Docket No. RALEP119+), filed Mar. 15, 2013, entitled AMBIENT OR SPONSORED SERVICES; U.S. Provisional Application No. 61/801,074 (Attorney Docket No. RALEP120+), filed Mar. 15, 2013, entitled DEVICE GROUP AND SERVICE PLAN MANAGEMENT; and U.S. Provisional Application No. 61/822,850 (Attorney Docket No. RALEP121+), filed May 13, 2013, entitled MOBILE DEVICE AND SERVICE MANAGEMENT.
Number | Date | Country | |
---|---|---|---|
61674331 | Jul 2012 | US | |
61793894 | Mar 2013 | US | |
61389547 | Oct 2010 | US | |
61387243 | Sep 2010 | US | |
61387247 | Sep 2010 | US | |
61407358 | Oct 2010 | US | |
61418507 | Dec 2010 | US | |
61418509 | Dec 2010 | US | |
61420727 | Dec 2010 | US | |
61422565 | Dec 2010 | US | |
61422572 | Dec 2010 | US | |
61422574 | Dec 2010 | US | |
61435564 | Jan 2011 | US | |
61472606 | Apr 2011 | US | |
61389547 | Oct 2010 | US | |
61407358 | Oct 2010 | US | |
61418507 | Dec 2010 | US | |
61418509 | Dec 2010 | US | |
61420727 | Dec 2010 | US | |
61422565 | Dec 2010 | US | |
61422572 | Dec 2010 | US | |
61422574 | Dec 2010 | US | |
61435564 | Jan 2011 | US | |
61472606 | Apr 2011 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61270353 | Jul 2009 | US | |
61264126 | Nov 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61275208 | Aug 2009 | US | |
61237753 | Aug 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61252151 | Oct 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61270353 | Jul 2009 | US | |
61252153 | Oct 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61264120 | Nov 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61252151 | Oct 2009 | US | |
61252153 | Oct 2009 | US | |
61206354 | Jan 2009 | US | |
61206944 | Feb 2009 | US | |
61207393 | Feb 2009 | US | |
61207739 | Feb 2009 | US | |
61270353 | Jul 2009 | US | |
61348022 | May 2010 | US | |
61381159 | Sep 2010 | US | |
61381162 | Sep 2010 | US | |
61384456 | Sep 2010 | US | |
61389547 | Oct 2010 | US | |
61385020 | Sep 2010 | US | |
61387243 | Sep 2010 | US | |
61387247 | Sep 2010 | US | |
61407358 | Oct 2010 | US | |
61418507 | Dec 2010 | US | |
61418509 | Dec 2010 | US | |
61420727 | Dec 2010 | US | |
61422565 | Dec 2010 | US | |
61422572 | Dec 2010 | US | |
61422574 | Dec 2010 | US | |
61435564 | Jan 2011 | US | |
61472606 | Apr 2011 | US | |
61381159 | Sep 2010 | US | |
61381162 | Sep 2010 | US | |
61384456 | Sep 2010 | US | |
61389547 | Oct 2010 | US | |
61385020 | Sep 2010 | US | |
61387243 | Sep 2010 | US | |
61387247 | Sep 2010 | US | |
61407358 | Oct 2010 | US | |
61418507 | Dec 2010 | US | |
61418509 | Dec 2010 | US | |
61420727 | Dec 2010 | US | |
61422565 | Dec 2010 | US | |
61422572 | Dec 2010 | US | |
61422574 | Dec 2010 | US | |
61435564 | Jan 2011 | US | |
61472606 | Apr 2011 | US | |
61384456 | Sep 2010 | US | |
61389547 | Oct 2010 | US | |
61385020 | Sep 2010 | US | |
61387243 | Sep 2010 | US | |
61387247 | Sep 2010 | US | |
61407358 | Oct 2010 | US | |
61418507 | Dec 2010 | US | |
61418509 | Dec 2010 | US | |
61420727 | Dec 2010 | US | |
61422565 | Dec 2010 | US | |
61422572 | Dec 2010 | US | |
61422574 | Dec 2010 | US | |
61435564 | Jan 2011 | US | |
61472606 | Apr 2011 | US | |
61389547 | Oct 2010 | US | |
61385020 | Sep 2010 | US | |
61387243 | Sep 2010 | US | |
61387247 | Sep 2010 | US | |
61407358 | Oct 2010 | US | |
61418507 | Dec 2010 | US | |
61418509 | Dec 2010 | US | |
61420727 | Dec 2010 | US | |
61422565 | Dec 2010 | US | |
61422572 | Dec 2010 | US | |
61422574 | Dec 2010 | US | |
61435564 | Jan 2011 | US | |
61472606 | Apr 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13842172 | Mar 2013 | US |
Child | 13947099 | US | |
Parent | 13248025 | Sep 2011 | US |
Child | 13842172 | US | |
Parent | 13253013 | Oct 2011 | US |
Child | 13248025 | US | |
Parent | 12380759 | Mar 2009 | US |
Child | 13248025 | US | |
Parent | 12380779 | Mar 2009 | US |
Child | 12380759 | US | |
Parent | 12380758 | Mar 2009 | US |
Child | 12380779 | US | |
Parent | 12380778 | Mar 2009 | US |
Child | 12380758 | US | |
Parent | 12380768 | Mar 2009 | US |
Child | 12380778 | US | |
Parent | 12380767 | Mar 2009 | US |
Child | 12380768 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12380767 | US | |
Parent | 12380755 | Mar 2009 | US |
Child | 12380780 | US | |
Parent | 12380756 | Mar 2009 | US |
Child | 12380755 | US | |
Parent | 12380770 | Mar 2009 | US |
Child | 12380756 | US | |
Parent | 12380772 | Mar 2009 | US |
Child | 12380770 | US | |
Parent | 12380782 | Mar 2009 | US |
Child | 12380772 | US | |
Parent | 12380783 | Mar 2009 | US |
Child | 12380782 | US | |
Parent | 12380757 | Mar 2009 | US |
Child | 12380783 | US | |
Parent | 12380781 | Mar 2009 | US |
Child | 12380757 | US | |
Parent | 12380774 | Mar 2009 | US |
Child | 12380781 | US | |
Parent | 12380773 | Mar 2009 | US |
Child | 12380774 | US | |
Parent | 12380769 | Mar 2009 | US |
Child | 12380773 | US | |
Parent | 12380777 | Mar 2009 | US |
Child | 12380769 | US | |
Parent | 12695019 | Jan 2010 | US |
Child | 12380777 | US | |
Parent | 12695020 | Jan 2010 | US |
Child | 12695019 | US | |
Parent | 12694445 | Jan 2010 | US |
Child | 12695020 | US | |
Parent | 12694451 | Jan 2010 | US |
Child | 12694445 | US | |
Parent | 12694455 | Jan 2010 | US |
Child | 12694451 | US | |
Parent | 12695021 | Jan 2010 | US |
Child | 12694455 | US | |
Parent | 12695980 | Jan 2010 | US |
Child | 12695021 | US | |
Parent | 13134005 | May 2011 | US |
Child | 12695980 | US | |
Parent | 13134028 | May 2011 | US |
Child | 13134005 | US | |
Parent | 13229580 | Sep 2011 | US |
Child | 13134028 | US | |
Parent | 13237827 | Sep 2011 | US |
Child | 13229580 | US | |
Parent | 13239321 | Sep 2011 | US |
Child | 13237827 | US | |
Parent | 13248028 | Sep 2011 | US |
Child | 13239321 | US | |
Parent | 13247998 | Sep 2011 | US |
Child | 13248028 | US | |
Parent | 12380759 | Mar 2009 | US |
Child | 13253013 | US | |
Parent | 12380779 | Mar 2009 | US |
Child | 12380759 | US | |
Parent | 12380758 | Mar 2009 | US |
Child | 12380779 | US | |
Parent | 12380778 | Mar 2009 | US |
Child | 12380758 | US | |
Parent | 12380768 | Mar 2009 | US |
Child | 12380778 | US | |
Parent | 12380767 | Mar 2009 | US |
Child | 12380768 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12380767 | US | |
Parent | 12380755 | Mar 2009 | US |
Child | 12380780 | US | |
Parent | 12380756 | Mar 2009 | US |
Child | 12380755 | US | |
Parent | 12380770 | Mar 2009 | US |
Child | 12380756 | US | |
Parent | 12380772 | Mar 2009 | US |
Child | 12380770 | US | |
Parent | 12380782 | Mar 2009 | US |
Child | 12380772 | US | |
Parent | 12380783 | Mar 2009 | US |
Child | 12380782 | US | |
Parent | 12380757 | Mar 2009 | US |
Child | 12380783 | US | |
Parent | 12380781 | Mar 2009 | US |
Child | 12380757 | US | |
Parent | 12380774 | Mar 2009 | US |
Child | 12380781 | US | |
Parent | 12380773 | Mar 2009 | US |
Child | 12380774 | US | |
Parent | 12380769 | Mar 2009 | US |
Child | 12380773 | US | |
Parent | 12380777 | Mar 2009 | US |
Child | 12380769 | US | |
Parent | 12695019 | Jan 2010 | US |
Child | 12380777 | US | |
Parent | 12695020 | Jan 2010 | US |
Child | 12695019 | US | |
Parent | 12694445 | Jan 2010 | US |
Child | 12695020 | US | |
Parent | 12694451 | Jan 2010 | US |
Child | 12694445 | US | |
Parent | 12694455 | Jan 2010 | US |
Child | 12694451 | US | |
Parent | 12695021 | Jan 2010 | US |
Child | 12694455 | US | |
Parent | 12695980 | Jan 2010 | US |
Child | 12695021 | US | |
Parent | 13134005 | May 2011 | US |
Child | 12695980 | US | |
Parent | 13134028 | May 2011 | US |
Child | 13134005 | US | |
Parent | 13229580 | Sep 2011 | US |
Child | 13134028 | US | |
Parent | 13237827 | Sep 2011 | US |
Child | 13229580 | US | |
Parent | 13239321 | Sep 2011 | US |
Child | 13237827 | US | |
Parent | 13248028 | Sep 2011 | US |
Child | 13239321 | US | |
Parent | 13247998 | Sep 2011 | US |
Child | 13248028 | US | |
Parent | 13248025 | Sep 2011 | US |
Child | 13247998 | US | |
Parent | 12380778 | Mar 2009 | US |
Child | 12695019 | US | |
Parent | 12380771 | Mar 2009 | US |
Child | 12380778 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12695020 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12694445 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12694451 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12694455 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12695021 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12695980 | US | |
Parent | 12695019 | Jan 2010 | US |
Child | 12380780 | US | |
Parent | 12695021 | Jan 2010 | US |
Child | 12695019 | US | |
Parent | 12380759 | Mar 2009 | US |
Child | 13134028 | US | |
Parent | 12380779 | Mar 2009 | US |
Child | 12380759 | US | |
Parent | 12380758 | Mar 2009 | US |
Child | 12380779 | US | |
Parent | 12380778 | Mar 2009 | US |
Child | 12380758 | US | |
Parent | 12380768 | Mar 2009 | US |
Child | 12380778 | US | |
Parent | 12380767 | Mar 2009 | US |
Child | 12380768 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12380767 | US | |
Parent | 12380755 | Mar 2009 | US |
Child | 12380780 | US | |
Parent | 12380756 | Mar 2009 | US |
Child | 12380755 | US | |
Parent | 12380770 | Mar 2009 | US |
Child | 12380756 | US | |
Parent | 12380772 | Mar 2009 | US |
Child | 12380770 | US | |
Parent | 12380782 | Mar 2009 | US |
Child | 12380772 | US | |
Parent | 12380783 | Mar 2009 | US |
Child | 12380782 | US | |
Parent | 12380757 | Mar 2009 | US |
Child | 12380783 | US | |
Parent | 12380781 | Mar 2009 | US |
Child | 12380757 | US | |
Parent | 12380774 | Mar 2009 | US |
Child | 12380781 | US | |
Parent | 12380771 | Mar 2009 | US |
Child | 12380774 | US | |
Parent | 12380773 | Mar 2009 | US |
Child | 12380771 | US | |
Parent | 12380769 | Mar 2009 | US |
Child | 12380773 | US | |
Parent | 12380777 | Mar 2009 | US |
Child | 12380769 | US | |
Parent | 12695019 | Jan 2010 | US |
Child | 12380777 | US | |
Parent | 12695020 | Jan 2010 | US |
Child | 12695019 | US | |
Parent | 12694445 | Jan 2010 | US |
Child | 12695020 | US | |
Parent | 12694451 | Jan 2010 | US |
Child | 12694445 | US | |
Parent | 12694455 | Jan 2010 | US |
Child | 12694451 | US | |
Parent | 12695021 | Jan 2010 | US |
Child | 12694455 | US | |
Parent | 12695980 | Jan 2010 | US |
Child | 12695021 | US | |
Parent | 13134005 | May 2011 | US |
Child | 12695980 | US | |
Parent | 12380759 | Mar 2009 | US |
Child | 13229580 | US | |
Parent | 12380779 | Mar 2009 | US |
Child | 12380759 | US | |
Parent | 12380758 | Mar 2009 | US |
Child | 12380779 | US | |
Parent | 12380778 | Mar 2009 | US |
Child | 12380758 | US | |
Parent | 12380768 | Mar 2009 | US |
Child | 12380778 | US | |
Parent | 12380767 | Mar 2009 | US |
Child | 12380768 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12380767 | US | |
Parent | 12380755 | Mar 2009 | US |
Child | 12380780 | US | |
Parent | 12380756 | Mar 2009 | US |
Child | 12380755 | US | |
Parent | 12380770 | Mar 2009 | US |
Child | 12380756 | US | |
Parent | 12380772 | Mar 2009 | US |
Child | 12380770 | US | |
Parent | 12380782 | Mar 2009 | US |
Child | 12380772 | US | |
Parent | 12380783 | Mar 2009 | US |
Child | 12380782 | US | |
Parent | 12380757 | Mar 2009 | US |
Child | 12380783 | US | |
Parent | 12380781 | Mar 2009 | US |
Child | 12380757 | US | |
Parent | 12380774 | Mar 2009 | US |
Child | 12380781 | US | |
Parent | 12380771 | Mar 2009 | US |
Child | 12380774 | US | |
Parent | 12380773 | Mar 2009 | US |
Child | 12380771 | US | |
Parent | 12380769 | Mar 2009 | US |
Child | 12380773 | US | |
Parent | 12380777 | Mar 2009 | US |
Child | 12380769 | US | |
Parent | 12695019 | Jan 2010 | US |
Child | 12380777 | US | |
Parent | 12695020 | Jan 2010 | US |
Child | 12695019 | US | |
Parent | 12694445 | Jan 2010 | US |
Child | 12695020 | US | |
Parent | 12694451 | Jan 2010 | US |
Child | 12694445 | US | |
Parent | 12694455 | Jan 2010 | US |
Child | 12694451 | US | |
Parent | 12695021 | Jan 2010 | US |
Child | 12694455 | US | |
Parent | 12695980 | Jan 2010 | US |
Child | 12695021 | US | |
Parent | 13134005 | May 2011 | US |
Child | 12695980 | US | |
Parent | 13134028 | May 2011 | US |
Child | 13134005 | US | |
Parent | 12380759 | Mar 2009 | US |
Child | 13237827 | US | |
Parent | 12380779 | Mar 2009 | US |
Child | 12380759 | US | |
Parent | 12380758 | Mar 2009 | US |
Child | 12380779 | US | |
Parent | 12380778 | Mar 2009 | US |
Child | 12380758 | US | |
Parent | 12380768 | Mar 2009 | US |
Child | 12380778 | US | |
Parent | 12380767 | Mar 2009 | US |
Child | 12380768 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12380767 | US | |
Parent | 12380755 | Mar 2009 | US |
Child | 12380780 | US | |
Parent | 12380756 | Mar 2009 | US |
Child | 12380755 | US | |
Parent | 12380770 | Mar 2009 | US |
Child | 12380756 | US | |
Parent | 12380772 | Mar 2009 | US |
Child | 12380770 | US | |
Parent | 12380782 | Mar 2009 | US |
Child | 12380772 | US | |
Parent | 12380783 | Mar 2009 | US |
Child | 12380782 | US | |
Parent | 12380757 | Mar 2009 | US |
Child | 12380783 | US | |
Parent | 12380781 | Mar 2009 | US |
Child | 12380757 | US | |
Parent | 12380774 | Mar 2009 | US |
Child | 12380781 | US | |
Parent | 12380773 | Mar 2009 | US |
Child | 12380774 | US | |
Parent | 12380769 | Mar 2009 | US |
Child | 12380773 | US | |
Parent | 12380777 | Mar 2009 | US |
Child | 12380769 | US | |
Parent | 12695019 | Jan 2010 | US |
Child | 12380777 | US | |
Parent | 12695020 | Jan 2010 | US |
Child | 12695019 | US | |
Parent | 12694445 | Jan 2010 | US |
Child | 12695020 | US | |
Parent | 12694451 | Jan 2010 | US |
Child | 12694445 | US | |
Parent | 12694455 | Jan 2010 | US |
Child | 12694451 | US | |
Parent | 12695021 | Jan 2010 | US |
Child | 12694455 | US | |
Parent | 12695980 | Jan 2010 | US |
Child | 12695021 | US | |
Parent | 13134005 | May 2011 | US |
Child | 12695980 | US | |
Parent | 13134028 | May 2011 | US |
Child | 13134005 | US | |
Parent | 13229580 | Sep 2011 | US |
Child | 13134028 | US | |
Parent | 12380759 | Mar 2009 | US |
Child | 13239321 | US | |
Parent | 12380779 | Mar 2009 | US |
Child | 12380759 | US | |
Parent | 12380758 | Mar 2009 | US |
Child | 12380779 | US | |
Parent | 12380778 | Mar 2009 | US |
Child | 12380758 | US | |
Parent | 12380768 | Mar 2009 | US |
Child | 12380778 | US | |
Parent | 12380767 | Mar 2009 | US |
Child | 12380768 | US | |
Parent | 12380780 | Mar 2009 | US |
Child | 12380767 | US | |
Parent | 12380755 | Mar 2009 | US |
Child | 12380780 | US | |
Parent | 12380756 | Mar 2009 | US |
Child | 12380755 | US | |
Parent | 12380770 | Mar 2009 | US |
Child | 12380756 | US | |
Parent | 12380772 | Mar 2009 | US |
Child | 12380770 | US | |
Parent | 12380782 | Mar 2009 | US |
Child | 12380772 | US | |
Parent | 12380783 | Mar 2009 | US |
Child | 12380782 | US | |
Parent | 12380757 | Mar 2009 | US |
Child | 12380783 | US | |
Parent | 12380781 | Mar 2009 | US |
Child | 12380757 | US | |
Parent | 12380774 | Mar 2009 | US |
Child | 12380781 | US | |
Parent | 12380773 | Mar 2009 | US |
Child | 12380774 | US | |
Parent | 12380769 | Mar 2009 | US |
Child | 12380773 | US | |
Parent | 12380777 | Mar 2009 | US |
Child | 12380769 | US | |
Parent | 12695019 | Jan 2010 | US |
Child | 12380777 | US | |
Parent | 12695020 | Jan 2010 | US |
Child | 12695019 | US | |
Parent | 12694445 | Jan 2010 | US |
Child | 12695020 | US | |
Parent | 12694451 | Jan 2010 | US |
Child | 12694445 | US | |
Parent | 12694455 | Jan 2010 | US |
Child | 12694451 | US | |
Parent | 12695021 | Jan 2010 | US |
Child | 12694455 | US | |
Parent | 12695980 | Jan 2010 | US |
Child | 12695021 | US | |
Parent | 13134005 | May 2011 | US |
Child | 12695980 | US | |
Parent | 13134028 | May 2011 | US |
Child | 13134005 | US | |
Parent | 13229580 | Sep 2011 | US |
Child | 13134028 | US | |
Parent | 13237827 | Sep 2011 | US |
Child | 13229580 | US | |
Parent | 12380759 | Mar 2009 | US |
Child | 13248028 | US |