IP Library Patent Application 13245860
Patent Application
App. No. 13/245,860

Multi-party reporting in profile-based data collection

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/245,860
Abstract

A multi-client data collection agent. Multiple parties provision (“task”) and maintain profiles on a single device. The agent is responsible for maintaining and executing these multiple profiles and their associated collected data, and for reporting up to each of the tasking authorities on the schedule each one specifies. The agent is controlled by the multiple profiles to record metrics and user selections, transform the data into a plurality of packages, and transmit the packages to at least one destination package reception server determined in each profile. A priority screen enables resolution of conflicts over scarce resources.

Claims (58)

1 . A method for controlling a processor on a wireless device to record metrics desired by a plurality of tasking authorities, the method comprising:

within a multi-facetted agent, subscribing to a stream of metrics,

transforming metrics according to definitions in each of a plurality of profiles,

determining a package of metrics to be transmitted according to each of a plurality of profiles, and

transmitting a package on a schedule and to a destination according to each one of a plurality of profiles.

2 . The method of claim 1 further comprising filtering metrics according to each of a plurality of profiles.

3 . The method of claim 1 further comprising storing transformed metrics according to each of a plurality of profiles.

4 . A method for operation of a multi-client agent comprising

receiving a first profile from a first tasking authority; and

receiving a second profile from a second tasking authority.

5 . The method of claim 4 further comprises

extracting from each received profile its desired metrics,

combining all desired metrics into a single subscription, and

subscribing to the stream of all metrics desired by any received profile.

6 . The method of claim 5 further comprises

setting triggers on the stream of metrics for each process defined in each received profile,

transforming metrics according to the instructions of each received profile,

filtering metrics according to the instructions of each received profile, and

storing profile specific metrics and transformations.

7 . The method of claim 6 further comprises

determining an upload rule for each received profile,

triggering on the satisfaction of and upload rule,

packaging stored profile-specific metrics and transformations for upload, and

transmitting the packaged profile-specific metrics and transformations to a destination specified in each received profile.

8 . The method of claim 7 wherein an upload rule is at least one of a timer or a schedule, or an event condition in the metric stream.

9 . An apparatus comprises a processor configured as a multi-client agent.

10 . The apparatus of claim 9 wherein the multi-client agent can allow multiple parties to provision (“task”) and maintain profiles on a single device, effectively allowing each tasking authority to talk to its own “virtual” agent which solely serves its needs.

11 . The apparatus of claim 9 wherein the agent is responsible

for maintaining and executing each instruction provided within multiple profiles,

for storing data collected by each profile, and

for reporting up to each of the tasking authorities on the schedule specified within each profile.

12 . The apparatus of claim 11 wherein maintaining, executing, storing and reporting for one client profile is imperceptible to other on-device clients of the agent and to tasking authorities.

13 . The apparatus of claim 9 wherein the agent

receives a single stream of metrics from the system,

performs profile-specific filtering, and

processes metrics for each profile being obeyed at any given time.

14 . An apparatus comprises a baseband processor communicatively coupled to a processor and a multi-client agent circuit and a plurality of profile circuits wherein a circuit may be a processor configured by instructions encoded in non-transitory computer readable storage wherein each profile circuit is provisioned by a different tasking authority to collect, package, and transmit metrics to a specified destination and the multi-client agent circuit subscribes to a datastream from the baseband processor to serve all the requirements of all the profile circuits.

15 . A method for receiving metrics recorded at a plurality of wireless devices, the method comprising:

receiving, at a data collection agent of each wireless device, a plurality of data collection profiles comprising a series of executable commands which are executed by the data collection agent, the data collection profile defining metrics and survey responses that is to be collected, a condition under which the metrics are to be recorded and a survey launched, and conditions under which the recorded metrics and survey responses are to be transformed and transmitted,

executing, by the data collection agent, the data collection profiles;

determining, by the data collection agent at the wireless device, that a condition defined by one of the data collection profile has occurred;

storing, by the data collection agent, metrics at the wireless device in response to the condition and as specified by the data collection profile;

transforming the stored metrics into a package; and

transmitting the package to a package reception server according to the conditions defined in one of the data collection profiles.

16 . The method of claim 15 for recording metrics associated with a wireless device, the method further comprising:

receiving, at a data collection agent of wireless device, a plurality of data collection profiles, each comprising a series of executable commands which are executed by the data collection agent, the data collection profile defining metrics that are to be stored, a condition under which the metrics are to be stored, transformations of the metrics into a package, and conditions under which the package is to be transmitted;

executing, by the data collection agent, the data collection profile;

determining, by the data collection agent at the wireless device, that a condition defined by the data collection profile has occurred;

storing, by the data collection agent, metrics at the wireless device in response to the condition and as specified by the data collection profile;

transforming the stored metrics into a package; and

transmitting the package to a package reception server according to the conditions and at a destination defined in the data collection profile.

17 . The method as recited in claim 16 , wherein storing the metrics at the wireless device is performed also in response to a configuration of the wireless device being compatible with storage of the metrics.

18 . The method as recited in claim 15 , further comprising

receiving, at a data collection agent of each wireless device, a a priority screen which assigns a relative priority of each data collection profile to receive resources available on the wireless device.

19 . The method as recited in claim 15 , further comprising

assigning resources on the wireless device to each of the data collection profiles according to the priority set within a priority screen.

20 . The method as recited in claim 15 , further comprising

comparing the resources available on a wireless device to a priority screen and determining which data collection profile will not be resourced due to its relative position in said priority screen.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2016
From: CARRIER IQ, INC.
To: AT&T MOBILITY IP, LLC
Reel/Frame 037576/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2011
From: BOUDREAU, FERDINAND FRANCIS, III
To: CARRIER IQ, INC.
Reel/Frame 027039/0165 →