1461157205-83fa2b31-0414-475e-93d7-e753e22328f1

1. A method for providing security in an IC having protected functional circuitry, said method comprising:
providing, from the IC, an IC identifier;
in response to providing said IC identifier, receiving at the IC an input IC security key, wherein the input IC security key is provided by a debug device external to the IC, and wherein the debug device prior to providing the input IC security key evaluates a set of IC identifiers and corresponding IC security key values to determine the input IC security key;
comparing, in the IC, the input IC security key to a stored IC security key; and
selectively enabling access to the protected functional circuitry in the IC in response to said step of comparing.
2. The method of claim 1, wherein selectively enabling comprises:
if the input IC security key and stored IC security key match, enabling access to the protected functional circuitry; and
if the input IC security key and stored IC security key do not match, denying access to the protected functional circuitry.
3. The method of claim 2, further comprising:
if the input IC security key and stored IC security key do not match, waiting a predetermined amount of time prior to comparing a second input IC security key received via at least one IC terminal to the stored IC security key.
4. The method of claim 2, further comprising:
if the input IC security key and stored IC security key do not match, receiving a second input IC security key via at least one IC terminal in response to a reset signal.
5. The method of claim 1, wherein if the step of comparing does not result in a match of the input IC security key and stored IC security key within a predetermined window of time, access to the protected functional circuitry is not enabled, and wherein a beginning of the predetermined window of time is independent of reset.
6. The method of claim 1, wherein the IC identifier is provided by the IC via at least one IC terminal, and wherein the input IC security key is received by the IC via said at least one IC terminal.
7. The method of claim 6, wherein said at least one IC terminal comprises a JTAG terminal.
8. The method of claim 1, further comprising forcing access to the protected functional circuitry regardless of a value of the input IC security key.
9. The method of claim 8, wherein said step of forcing comprises providing a force enable value stored in the IC.
10. A method for providing security in an IC having protected functional circuitry and a JTAG interface, said method comprising:
in a first JTAG state, receiving a user defined instruction via the JTAG interface;
in a second JTAG state, receiving an input IC security key via the JTAG interface, wherein the input IC security key is provided by a debug device external to the IC, and wherein the debug device prior to providing the input IC security key evaluates a set of IC identifiers and corresponding IC security key values to determine the input IC security key, and comparing, in the IC, the input IC security key to a stored IC security key; and
selectively enabling access to the protected functional circuitry in the IC via the JTAG interface.
11. The method of claim 10, wherein the first JTAG state corresponds to a SHIFT_IR state.
12. The method of claim 11, wherein the second JTAG state corresponds to a SHIFT_DR state.
13. The method of claim 10, further comprising:
in a third JTAG state, loading an instruction register with the user defined instruction; and
in the second JTAG state, executing the user defined instruction.
14. The method of claim 13, wherein the first JTAG state corresponds to a SHIFT_IR state, the second JTAG state corresponds to a SHIFT_DR state, and the third JTAG state corresponds to a UPDATE_IR state.
15. The method of claim 10, further comprising:
in a third JTAG state, providing an identifier via the JTAG interface.
16. The method of claim 15, wherein the first JTAG state corresponds to a SHIFT_IR state, the second JTAG state corresponds to a SHIFT_DR state, and the third JTAG state corresponds to the SHIFT_IR state.
17. A method for providing security in an IC having protected functional circuitry, comparison circuitry, and at least one IC terminal coupled to the protected functional circuitry, said method comprising:
providing from the IC, an IC identifier;
in response to providing said IC identifier, receiving at the IC an input security key, wherein the input security key is provided by a debug device external to IC, and wherein the debug device prior to providing the input IC security key evaluates a set of IC identifiers and corresponding IC security key values to determine the input IC security key;
accessing the protected functional circuitry via the at least one IC terminal;
programming a force enable indicator to enable the comparison circuitry, wherein the comparison circuitry compares the input IC security key to a stored IC security key and, in response to comparing, selectively enables access to the protected functional circuitry via the at least one IC terminal.
18. The method of claim 17, wherein the force enable indicator comprises a fuse.
19. The method of claim 18, wherein programming the force enable indicator comprises blowing the fuse.
20. A method for providing security in an IC having protected functional circuitry, said method comprising:
executing an instruction in the IC to provide information external to the IC;
in response to executing the instruction in the IC to provide information external to the IC, receiving an input IC security key, wherein the input IC security key is provided by a debug device external to the IC, wherein the debug device prior to providing the input IC security key evaluates a set of IC identifiers and corresponding IC security key values to determine the input IC security key;
comparing, in the IC, the input IC security key to a stored IC security key; and
in response to comparing the input IC security key to a stored IC security key, selectively enabling access to the protected functional circuitry in the IC.
21. A method as in claim 20, wherein the instruction comprises a debug instruction.
22. A method as in claim 21, wherein the debug instruction comprises a JTAG instruction.
23. A method as in claim 21, wherein the debug instruction is executed in preparation for performing a debug operation.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method of using a computer to detect data traffic of a mobile device, the computer performing the steps of:
collecting usage data from the mobile device for a time period;
setting threshold values based on a mobile device data plan and an amount of data used by the mobile device within the time period and on historical usage data of the mobile device;
comparing the usage data against the threshold values;
identifying an anomaly if a statistic of the usage data exceeds a corresponding threshold of the threshold values;
generating a graphical user interface including at least one statistic of the usage data; and
overlaying at least one statistic of the existing usage data or predicted data or both onto the at least one statistic of the usage data.
2. The method of claim 1, wherein the weighting afforded the historical usage data is related to the amount of stored history.
3. The method of claim 1, wherein the weighting afforded the historical usage data increases as the amount of stored history increases up to a maximum weighted percentage for the historical usage data.
4. The method of claim 1, further comprising the step of updating the threshold values based on a running average of each statistic of the usage data.
5. The method of claim 1, wherein the time period corresponds to a data plan period.
6. The method of claim 1, wherein the collecting step comprises:
reading, at a first interval, data traffic statistics from a network interface on the mobile device;
adding the data traffic statistics to running totals on the mobile device.
7. The method of claim 6, wherein the collecting step further comprises:
when the running totals exceed a delivery threshold,
sending the running totals to the server; and
adjusting the running totals.
8. The method of claim 1, wherein the collecting step further comprises:
when a delivery timer expires,
sending the running totals to the server; and
adjusting the running totals.
9. The method of claim 1, wherein threshold values include a data limit for the given time period.
10. The method of claim 1, the computer further performing the steps of:
extrapolating data traffic statistics to the end of the given time period;
if a statistic of the extrapolated data traffic statistics exceeds a corresponding threshold value of the threshold values, flagging an anomaly.
11. A method of using a computer to detect data traffic of a mobile device, the computer performing the steps of:
collecting from the mobile device, usage data relating to data usage for the mobile device for a given time period;
setting threshold values based at least in part on a mobile device data plan and an amount of data used by the mobile device within a set time period;
comparing the usage data against the threshold values;
identifying a statistic of the usage data exceeding a corresponding threshold of the threshold values;
generating report based on the identified statistic wherein the report includes a comparison between historical usage data associated with a second given time period to the usage data, the second given time period prior to the given time period;
presenting the report on a Graphical User Interface (GUI) so that a user of the mobile device can assess changes in their data usage in order to avoid overages.
12. The method of claim 11 wherein the threshold values are further set based on historical usage data of the mobile device, where weighting afforded the historical usage data in comparison to the amount of data used by the mobile device within the set time period is related to the amount of stored history
13. The method of claim 12, wherein the weighting afforded the historical usage data increases as the amount of stored history increases up to a maximum weighted percentage for the historical usage data.
14. The method of claim 11 wherein the identified statistic is average data usage for the mobile device over more than one set time period.
15. The method of claim 11, wherein the threshold values are set based on a running average of each statistic of the usage data is based on formula I,
T
0

=
T
0

+

Max
T
0

\xd7

\u0394
max
100

,
T
0

\ue89e
(
\u2211

i
=
1

N

\ue89e

T
i

Max
\ue8a0

(
T
1

,
\u2026
\ue89e
,

T
N
)
)
N

1
wherein T0 is a current threshold value;
\u0394max is the maximum change of the threshold value, expressed as a percentage;
Ti is the value of a corresponding data traffic statistic i time periods prior to the current period; and
N is the number of time periods used to compute the updated threshold.
16. The method of claim 11, wherein the given time period corresponds to a data plan period.
17. The method of claim 11, wherein the collecting step comprises:
reading, at a first interval, data traffic statistics from a network interface on the mobile device;
adding the data traffic statistics to running totals on the mobile device.
18. The method of claim 17, wherein the collecting step further comprises:
when a delivery timer expires,
sending running totals of data usage to a server wherein the collecting step is performed at the server; and
adjusting the running totals.
19. The method of claim 11, wherein the collecting step further comprises:
when a delivery timer expires,
sending the running totals to the server; and
adjusting the running totals.
20. The method of claim 11, wherein threshold values include a data limit for the given time period.
21. The method of claim 11, the computer further performing the steps of:
extrapolating data traffic statistics to the end of the given time period;
if a statistic of the extrapolated data traffic statistics exceeds a corresponding threshold value of the threshold values, flagging an anomaly and presenting the anomaly on the Graphical User Interface (GUI).