Solutions to manage a wireless user's pattern of use and control on expenses are described. These solutions encompass a variety of methods and systems in relation to the offered communication services. Control information can be generated on a periodic basis. The control information can be used to communicate and facilitate policies and procedures.
According to various embodiments, a method for monitoring wireless service utilization is described. The method comprises: providing a logical database comprising service usage records providing triggers for a wireless service consumed by a wireless device; providing a contact address associated with the wireless device; after an interval, determining if the utilization consumed to-date for a current billing period by the wireless device activates one of the triggers, wherein the interval is at least an order of magnitude less than a billing period; generating a message corresponding to the activated trigger, with the message including values determined during the determining step; and sending the message to the contact address.
In some embodiments, the method further comprises summarizing the usage records for the interval prior to the determining and storing the summarized usage records.
In some embodiments, the determining comprises adding the usage records created within the interval to a summary usage record summarizing a period between the start of the billing period and the interval start.
In some embodiments, the logical database groups usage records by an account number with the account number grouping subscribers.
In some embodiments, the logical database comprises one or more databases that are commonly keyed and owned by different entities.
In some embodiments, the interval is 24 hours.
In some embodiments, the contact address comprises one or more of a telephone number, an email address, or an instant message user identifier.
In some embodiments, the contact address contacts one of more of a subscriber, a subscriber supervisor, a service provider account manager, or a wireless carrier billing manager.
In some embodiments, the logical database comprises importing a file including usage records from a wireless carrier database.
In some embodiments, the importing comprises receiving an email including the file at a desired email address, and inserting the usage records included in the file into the logical database.
In some embodiments, the importing comprises sending a notification email to a service provider.
In some embodiments, the wireless service comprises controlling one or more of voice minutes, text messages, multi-media messages or bytes of data.
In some embodiments, the wireless service comprises controlling expenses incurred for international calls.
In some embodiments, the method further comprises disabling a use of a service that activated the trigger until the end of the billing period.
In some embodiments, the trigger comprises one or more of usage control, number watch control, time of day control, text messaging control, 411 control, and 911 control.
In some embodiments, a system for monitoring wireless service utilization is described. The system comprises a logical database comprising service usage records; triggers for a wireless service consumed by a wireless device; a contact address associated with the wireless device; a trigger processing module that run after an interval to determine if the utilization consumed to-date for a current billing period by the wireless device activates one of the triggers, wherein the interval is at least an order of magnitude less than a billing period; a message generator to generate a message corresponding to the activated trigger, with the message including values determined by the trigger processing module; and a message sender to send the message to the contact address.
In some embodiments, the system further comprises a summarizer to collate the usage records for the interval and a storage to store the summarized usage records.
In some embodiments, the determining comprises adding the usage records created within the interval to a summary usage record summarizing a period between the start of the billing period and the interval start.
In some embodiments, the logical database groups usage records by an account number with the account number grouping subscribers.
In some embodiments, the logical database comprises one or more databases that are commonly keyed and owned by different entities.
In some embodiments, the contact address comprises one or more of a telephone number, an email address, or an instant message user identifier.
In some embodiments, the system further comprises a data collection module to import a file including usage records from a wireless carrier.
In some embodiments, the data collection module comprises an email agent to receive the file at a desired email address and a data import to import the usage records included in the file.
In some embodiments, the system further comprises a notification email agent to transmit a message to a service provider.
In some embodiments, the trigger processing module comprises controls for one or more of multi-media messages or bytes of data.
In some embodiments, the trigger processing module comprises controls for expenses incurred for international calls.
In some embodiments, the system further comprises a service ticket module to disable a use of a service that activated the trigger till the end of the billing period.
In some embodiments, the trigger processing module comprises controls for one or more of usage control, number watch control, time of day control, text messaging control, 411 control, and 911 control.
In some embodiments, a computer readable medium in which software is recorded, wherein the software is configured to implement a method for monitoring wireless service utilization is described. The method comprises providing a logical database comprising service usage records; providing triggers for a wireless service consumed by a wireless device; providing a contact address associated with the wireless device; after an interval, determining if the utilization consumed to-date for a current billing period by the wireless device activates one of the triggers, wherein the interval is at least an order of magnitude less than a billing period; generating a message corresponding to the activated trigger, with the message including values determined during the determining step; and sending the message to the contact address.
The same reference number represents the same element on all drawings. It should be noted that the drawings are not necessarily to scale. The foregoing and other objects, aspects, and advantages are better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
Companies need a more robust way in which to communicate, evaluate, and act on a set of measured results that are collected by all company wireless devices. The evaluation and action needs to be taken close to real-time, so that optimum controls can be exerted. Companies need a simple way to access their wireless usage data on a daily period (24-hours) while also providing a simple and friendly approach to help them communicate to their users about how to better utilize these wireless services.
Presently, companies have to wait until they receive their monthly bill from their wireless services providers by either a paper bill or through an electronic bill before trying to break down usage patterns. In the case of companies, these statements can be thousands of pages long or thousands of lines of data in an electronic spreadsheet type of format. This way of communicating usage information to the client makes it nearly impossible to do an evaluation. Wireless service providers can assign support staff to help their clients or they provide electronic means to make adjustments to the current services. All these methods fall short in providing an easy to use solution that allows companies to see usage patterns as they are occurring. In most cases, they provide very limited or no communication alerts to the companies and their management teams about users usage patterns that are happening live.
According to the present teachings, clients can set limits and thresholds of use in a variety of ways on a variety of wireless services. This allows the client to control usage cost and communicate the results of usage. The users of the present teachings can include subscribers, managers and administrative members of their company. As such, the subscribers of these wireless devices can utilize the subscribed wireless services while having a greater control of how they use these services. The present teachings provide daily updates. In some embodiments, the present teachings formulate the information to control multiple applications of services.
The present teachings provide daily communications regarding usage to end users, managers, and administrators when preset thresholds of usage are met. The system supports a variety of communications including cellular, dispatch, text messaging, 411 calls, 911 calls and more. This system can provide communications to employees about how they are using the wireless network. In some embodiments, the system can provide them solutions to reduce their monthly spend because of this new set communications and control triggers. The present teachings are implemented by the eTriggers™ Usage Controls available from National Orders, Inc. at www.nationalorders.com, which provides an easy-to-use solution for Sprint Nextel customers to control expenses, and manage employees phone usage to policy. eTriggers™ Usage Controls provides telecommunications management teams with peace of mind knowing that their wireless devices are being used responsibly. This allows customers to have better communications with their wireless users about how they are using their devices.
This system is designed to let users know about their usage while it is happening so they stay within their allotted threshold. It helps managers and administrators to know when multiple users are using the system more than they had planned. By communicating with people about usage while it is happening, users fall in line with management's set goals giving an overall higher spend value and reducing unneeded extra pooled minutes. In some embodiments, communication triggers can be set in three key areas: per device/user, management teams, and administrator. In some embodiments, cellular phone use can be restricted for the remainder of the billing cycle if preset allotted time is reached, then automatically opened back up for cell usage for the next billing period.
In some embodiments, a number watch control allows setting of a trigger for a plurality of phone numbers. Once setup, the system can monitor the number of calls per day or percent to-total-calls to manage when the user is calling personal numbers too often.
In some embodiments, a time of day/night control can be used to designate specific times when you do not want users using the phones to avoid added cost. Additionally, this feature can notify managers and administrators when phones are being used outside of business hours.
In some embodiments, a text messaging control can notify a user, manager or administrator when a user starts to hit allotted texting packages. Suspension of texting is an option.
In some embodiments, a 411 control can reduce costs associated with directory assistance. Monthly reporting can be provided to show user's phone number, number of 411 calls and cost.
In some embodiments, 911 control can allow a manager and others to get an email when user calls 911. This allows a company to learn some details of possible legal or human resource liabilities immediately.
According to various embodiments, fraud control can be provided. The system verifies the units that are on a companies account every day. If a new number that is not a registered number on a company's account at the beginning of a billing cycle starts using airtime an administrator can be notified that an unauthorized user is clocking airtime. This may be a new authored unit that was just recently activated, but if it is fraudulent, the administrator can automatically be notified with 48 hours of the wireless unit clocking airtime.
In some embodiments, various reports are available. Reports can be provided daily, weekly, monthly or yearly.
The teachings further allow monitoring of the total pooled minutes used during the current billing cycle for a billing account. The teachings eliminate cellular usage that comes as part of your plan, free incoming, nights and weekends, mobile to mobile, or mobile to any mobile, etc. This allows a company to have a greater accuracy at determining pooled minutes used and needed.
The system receives data records, e.g., call data records from a carrier. The data records can be included in a data table, such as Comma Separated Values (CSV) file. For example, the data table can be retrieved from a network site such as a web-site. In some embodiments, the data file can be received via email. After processing a data file through user-configurable rules, the system can send alerts. The alerts can be defined by user-configurable rules. In some embodiments, the rules can be per phone, per billing account number, per subscriber. In some embodiments, the rules can be configured by a grouping, such as an account number.
According to various embodiments, a customer can be set up as a “Company.” Within any one company there can be one or more accounts. Each account is uniquely identified using a billing account number (BAN). The BAN is unique and can be referred to as an account number and account ID also. Data from a telephone carrier can be received in a data file. In some embodiments, data for each account can be stored in a separate data file. The data file can be generated and processed with a desired frequency. In some embodiments, the frequency can be once a day, once a week or any other desired frequency.
Each account can include one or more subscribers. In some embodiments, a subscriber, can be uniquely identified or keyed by a Personal Telephone Number (PTN). In some embodiments, each subscriber can be a member of only one account. Each account can be created and managed by a service provider. In some embodiments, a company or BAN-approved user can mange an account.
In some embodiments, logical database 120 can comprise a usage data repository 122, a triggers repository 124, and a contact address repository 126. Data into these repositories can be managed via trigger display 132 and listing display 130. Reports for a service provider, subscriber, and account manager can be provided by report display 134. In some embodiments, displays can be implemented as web-pages. Messages from the processes, modules or displays within system 100 can be logged into system log 112.
In some embodiments, after the unbilled usage data has been processed it can be removed from usage data repository 122. In some embodiments, a beginning of a new billing period resets the calculations for a trigger or a threshold. Embodiments of each of the modules of
Each day, data reports for individual accounts within each client company are generated and received. According to various embodiments, data report 200 can have a format similar to
A data collection module, e.g., data collection module 110 of
In some embodiments, the data collection module or the email reader can be written in .NET. Implementing these as a service, rather than a stand-alone executable is preferred. This allows for configuration of the data collection module by using a configuration file rather than a scheduler. The communications to a subscriber can be implemented using Token replacement logic for filling in various fields in a subject line and body of a message, for example, an email message. As a windows service, events can be logged to the Windows Event log, this includes errors, start and stop, and other informational messages. In some embodiments, a configuration file can be used to set and update various run-time parameters, including one or more of:
In some embodiments, if an error occurs during the processing of a data report, the message can include notification of such error, for example, by appending text such as “(errors occurred)” to a subject line in an email, for example, as seen in
In some embodiments, once the data collection module has processed a data report successfully, a communication, e.g., email, text message, page, or instant message, can be sent to a service agent, for example, as seen in
Any email message that does not have an attachment can be ignored, and the event can be logged. The log can include a from address, subject of the message and the body of the message. In some embodiments, a BAN can be determined from a subject of the email. In
The unbilled call information can be processed with triggers and thresholds. In some embodiments, triggers can be setup for accounts. In some embodiments, triggers can be setup and configured for individual subscribers. An account can include one or more subscribers, for example, dozens or hundreds. Each subscriber can have different trigger settings and thresholds. In some embodiments, the triggers and thresholds can be stored in tables.
In some embodiments, a Trigger Management Module including a display can be provided to an account manager, a carrier, or a user to maintain these settings. Access to the trigger display can be secured with a security module. The trigger display can include a capability to filter, sorting, search, insert, update, update multiple items, replace a phrase in multiple items, etc. This facilitates setting a number of values for various triggers and thresholds for one or more subscribers at the same time. The trigger display can include an edit or details view (READ ONLY) display to view trigger elements in more detail and set many options at one time for each account. The security module can control access, for example, by limited access to a service provider, a carrier, etc. The listing, fast edit, and standard edit screens for the triggers display can provide the input mechanism to manage trigger properties and thresholds at the subscriber level for each of their accounts. Once the properties and thresholds have been set, the trigger processing module can start sending usage notifications during its next run cycle when a data report for unbilled calls for an account becomes available.
The trigger processing module, e.g., trigger processing module 140 of
The notifications can be sent to a subscriber's mobile device as a text message. This can be done with a standard email address. In some embodiments, the notification address or type can be provided in the data report. In other embodiments, the notification address or type can be provided in the trigger defining. In some embodiments, multiple recipients and/or multiple types of notifications can be triggered to communicate an alert. For example, the email address can be formed by concatenating a subscriber's PTN to the string “@carrier.com.” The processing engine or module can send TEXT emails, so that if the email address is going to a mobile device, it is readable.
A database, e.g. logical database 120 of
After all subscribers have been processed, and the unbilled calls logged, a batch query can be used to verify that all subscribers have been recorded and that they trigger a record. The trigger record can be keyed to Unit Account Details (UAD) subscribers or unbilled subscribers based on PTN and Date Bill Cycle. In some embodiments, if a trigger record for a processed subscriber does not exist, a “blank” record can be created for the subscriber. The created record can be updated with a trigger listing display, as necessary.
The start and stop times can be included in the confirmation email. In some embodiments, start and stop times for the processing of each data report can be logged in an Event Viewer. Errors can be included in the body of the confirmation email as well as logged in an operating system log. If the data collection module fails to process the entire data report or insert all data into the database, the occurrence of the error can be flagged as a critical error in the log and confirmation email.
In some embodiments, if a data report is received for a BAN for a period of which data has already been collected, the data collection module can clear the existing data for the period and recollect the data from the most recent data report. In some embodiments, this occurrence can be noted in the confirmation message or system log. For example, text “DUPLICATE FILE PROCESSED FOR BAN {Ban#} Import ID {ImportId} was deleted automatically.”
According to various embodiments, a trigger confirmation email on success is shown in
The listing screen, e.g., listing display 130 and trigger display 132 of
When designing the data tables for the database, a designer can ensure that the tables for storing trigger data are capable of listing screen to display and update the data and processing module to use it when processing the unbilled calls every day.
In some embodiments, the unbilled subscribers in the data report may not have UAD subscriber information. Data for these subscribers can be stored in a supplemental table, for example, the unbilled subscribers table to ensure that triggers can be established for any subscriber that is included in a data report.
In some embodiments, database integrity rules can be implemented. For example, in some embodiments there may be no duplicates or missing trigger records. As such, there can be exactly one trigger record for every distinct PTN found in the union of the UAD Subscriber and Unbilled Subscribers Tables. Every record in the Unbilled Subscriber Table should have a corresponding record in the UAD Subscriber Table with the same PTN. There can be more than one UAD Subscriber record for the same PTN, but there should only be exactly one Unbilled Subscribers record for each PTN. In some embodiments, the view that is the foundation for this listing screen can be based on the trigger table, joined to the Unbilled Subscribers Table (one-to-one join) and left outer join to UAD Subscribers (one-to-many). Where more than one UAD Subscriber record exists for any given PTN from trigger, a join only to the most recent UAD Subscribers Date Bill Cycle record can be performed.
In some embodiments, a fast edit feature can be provided in the trigger display. These fast edits can include one or more the following:
Standard security checks can be done to verify that a user can access the Fast Edit features. Users that do not have update rights to the trigger entity can not be access fast edit options. Users without delete rights to the trigger entity can not access Fast Edit Delete Multiple Items. Changes to triggers data can be audited, in batch mode so that an audit record is created for each Fast Edit function and references the number of records modified and what Fast Edit function was applied.
Standard Security checks can be applied to the trigger entity. If a user has trigger UPDATE rights, then they can access this screen in edit mode. If a user has read only rights to trigger, then can access this screen in read only mode. In some embodiments, the read only mode can include a printer friendly mode. A user must have delete rights to view or edit a trigger delete checkbox. Standard auditing can be applied to the trigger entity. Audits can be recorded and visible from the History tab for all changes to a trigger's thresholds and properties.
The processing engine processes the unbilled calls for each subscriber, using the rules and options set up in the trigger listing. The processing engine can look at the most recent data for each subscriber and determine whether or not any of the existing thresholds have been exceeded. Once the triggers have been activated, the processing engine can send messages or emails if they have been configured for this particular subscriber. In some embodiments, the processing engine can ensure that the most recent data has not already been processed so as avoid generating duplicate processing or messages. In some embodiments the processing engine can be included in the trigger processing module.
This trigger is activated when a subscriber is approaching their allotted number of cellular or dispatch air-time minutes. It can be implemented by, for example, usage control 144 of
This may be the most-commonly used trigger out of all of available triggers. This trigger can have options to send alerts when a subscriber is at 50%, 75%, 100%, and 150%, for example, of their airtime allotment. In some embodiments, a client's account manager can configure this trigger to submit a customized support tickets to a service provider whenever the subscriber exceeds 100% of their allotment. At least two types of usage triggers, cellular and dispatch. For each of these triggers, a field to set the threshold/allotment for the subscriber can be provided. Fields for this trigger can comprise:
Various messages can be generated in response to an activation of this trigger. For example, messages to various client personnel, e.g., subscriber, manager, or administrator can contain the phone number/PTN of the wireless unit exceeding the threshold, the sum of the Total Amount column from unbilled call data for the subscriber, and duration of the calls for this subscriber. A Date Bill Cycle and User Name (the subscriber alias name) can be included in the email body. A flexible message system using tokens can provide customization of messages. For example, messages generated in response to this trigger can include a subject line that reads trigger Cellular Restriction Notification for device with PTN: {PTN}. A corresponding body of the email can read: “The trigger processing engine has found that a device with PTN: {PTN}, in Account: {AccountNbr/BAN} has exceeded its allotment of {UsageTrigger-CELL|Disp-Threshold} {“CELL”|“DISPATCH”} minutes. A modification has been submitted to National Orders for the restriction of this subscriber's Cellular|Dispatch usage for the remainder of this billing cycle.
An email can be sent to a service provider that can include an email subject can be formatted as: “trigger-Overtime Restriction Requested for PTN-{PTN}-Mod created ID: {DefectId}. The body can be formatted as: “The trigger processing engine has found that a device with PTN: {PTN}, in Account: {AccountNbr/BAN} has exceeded its allotment of {UsageTrigger-CELL|Disp-Threshold} {“CELL”|“DISPATCH”} minutes. The manager has requested that when this subscriber exceeds their allotted minutes that their usage be restricted. A Mode record with ID {DefectID} has been created.”
This trigger allows the manager, user, administrator to receive alerts whenever a particular subscriber is making a certain number of calls to a particular number. It can be implemented by, for example, number watch control 146 of
The email that is sent when this trigger is fired can include a subject of the email that can read “Trigger Number Watch Threshold Exceeded for device with PTN: {PTN}.” The body of the email can be “The trigger processing engine has found that a device with PTN: {PTN}, in Account: {AccountNbr/BAN} has exceeded the Number to Watch threshold.”
When the trigger is for the total number of calls the following text can be added. “This trigger is configured to send alerts whenever this device has called the watched numbers more than {ThresholdVal} times. This device has made calls to watched numbers {NbrCallsMadeToWatchedNbrs} times.”
When the trigger is for duration of calls a trigger the following text can be added. “This trigger is configured to send alerts whenever this device has exceeded {ThresholdVal} minutes of air time for watched numbers. This device has made calls lasting a total of {DurationCallsMadeToWatchedNbrs} minutes.”
When the trigger is for percentage to Total the following text can be added. “This trigger is configured to send alerts whenever the total percentage of calls to watched numbers exceeds {ThresholdVal}% of the duration of ALL calls made. {DurationPctWatchedNbrs}% of calls made from this device are to watched numbers at this time.”
In some embodiments, a listing of all calls made to the observed numbers can be added. The text can comprise the following format: xxx-xxx-xxxx (Spouse)-{DateTimeOfCall} ({Duration} min). In some embodiments, this message can be sent to the subscriber, Manager and Admin email addresses, if supplied.
The time of day usage trigger is designed to notify users, managers, and administrators whenever devices are being used during specific times of day. It can be implemented by, for example, time of day control 148 of
A message can be sent in response to an activation of this trigger. The subject of the message can read “trigger Time of Day Usage Notification for device with PTN: {PTN}.” The body of the email can be “The trigger processing engine has found that a device with PTN: {PTN}, in Account: {AccountNbr/BAN} has been used during a monitored block of time. This trigger is configured to send alerts whenever the device is used between {StartTime1} and {EndTime1} (IF EXISTS BLOCK2+“or {StartTime2} and {EndTime2}.” Moreover, a listing of all calls made during a watched time periods can be include in the message. Below the list of calls, a total for duration of calls made during the watched time periods can be provided.
This trigger can send a message whenever the number of texts exceeds or meets a threshold. The threshold can be supplied by a user, manager or administrator. For example, alerts for 90%, 150%, 200%, etc., can be set as the threshold value. It can be implemented by, for example, text messaging control 150 of
The subject of the email can be “Trigger Text Messaging Threshold Exceeded for device with PTN: {PTN}.” The body of the email can be “The trigger processing engine has found that a device with PTN: {PTN}, in Account: {AccountNbr/BAN} has reached {90|100|200}% of the {ThresholdVal} Text Messages threshold.
This trigger can send an email to the user, manager, or administrator whenever a particular subscriber calls 411 more than a specific number of times. It can be implemented by, for example, 411 control 152 of
The subject of the email can be “trigger 411 Control Threshold Exceeded for device with PTN: {PTN}.” The body of the email can be “The trigger processing engine has found that a device with PTN: {PTN}, in Account: {AccountNbr/BAN} has exceeded the 411 call threshold of {ThresholdVal}. 411 has been called by this device {NbrTimes411Called} for this device.”
This trigger can send an email whenever 911 is called. It can be implemented by, for example, 911 control 154 of
The subject of the email can be “trigger 911 called from device with PTN: {PTN}.” The body of the email can be “The trigger processing engine has found that a device with PTN: {PTN}, in Account: {AccountNbr/BAN} has called 911. A listing of the 911 calls made including their date time and duration can be provided.
Reports and screens for a service provider's internal use can be provided for management purposes, e.g. report display 134 of
The various embodiments described above are provided by way of illustration only and should not be constructed to limit the invention. Those skilled in the art will readily recognize the various modifications and changes which may be made to the present invention without strictly following the exemplary embodiments illustrated and described herein, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims.