AU2011203048A1 - Method for Measuring Performance Metrics of a Wireless Device - Google Patents

Method for Measuring Performance Metrics of a Wireless Device Download PDF

Info

Publication number
AU2011203048A1
AU2011203048A1 AU2011203048A AU2011203048A AU2011203048A1 AU 2011203048 A1 AU2011203048 A1 AU 2011203048A1 AU 2011203048 A AU2011203048 A AU 2011203048A AU 2011203048 A AU2011203048 A AU 2011203048A AU 2011203048 A1 AU2011203048 A1 AU 2011203048A1
Authority
AU
Australia
Prior art keywords
data
application
wireless
communication device
wireless communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
AU2011203048A
Inventor
Keith Hendrickson
William Maguy
Paul Prehn
Nick Stamos
Annie Su
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nielsen Co US LLC
Original Assignee
Nielsen Co US LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nielsen Co US LLC filed Critical Nielsen Co US LLC
Priority to AU2011203048A priority Critical patent/AU2011203048A1/en
Publication of AU2011203048A1 publication Critical patent/AU2011203048A1/en
Priority to AU2013203793A priority patent/AU2013203793A1/en
Withdrawn legal-status Critical Current

Links

Abstract

Abstract A system and method for measuring network usage and performance metrics are set forth. The system includes at least one wireless device and data gathering 5 software (110) installed on the wireless device for collecting device parametric data (230a), network parametric data (220a), event data (240a). A control centre (120) may receive, store and process said device parametric data, network parametric data, and event data. 2310612011,104013.div.spc, Abstract ot6 n oLJ~ Ta Pt U-e

Description

P/00/001 Regulation 3.2 AUSTRALIA Patents Act 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT (ORIGINAL) TO BE COMPLETED BY APPLICANT Name of Applicant: The Nielsen Company (US), LLC Actual Inventors: SU, Annie HENDRICKSON, Keith STAMOS, Nick PREHN, Paul MAGUY, William Address for Service: EKM patent & trade marks Level 1, 38-40 Garden Street South Yarra Victoria 3141 Australia Invention Title: Method for Measuring Performance Metrics of a Wireless Device Details of Parent Patent Application No.: 2008207615 The following statement is a full description of this invention, including the best method of performing it known to us: 2310612011,104013.div.spc, 1 2 METHOD FOR MEASURING PERFORMANCE METRICS OF A WIRELESS DEVICE CROSS REFERENCE TO RELATED APPLICATION This application is a continuation-in-part of Serial No. 09/654,486, filed September 1, 2000. BACKGROUND OF THE INVENTION 1. Field of the [nvention This invention relates general to wireless devices and networks, and in particular, to systems and related methods for measuring wireless device and wireless network usage and performance metrics. 2. Description of the Related Art Traditionally, consumers have used wireless devices for basic telephony with limited use of basic one-way text messaging features and enterprise based data applications. The recent growth in the wireless industry along with the popularity of the internet has led to a natural convergence of the two. This new combined communications application and set of services including applications such as wireless web microbrowsing, web clipping applications, one-way and two way text messaging, are commonly referred to in the industry as wireless data, wireless internet, or wireless web services. Mobile telephone handsets, pagers, and personal digital assistants (PDAs), for example, all now have wireless data capabilities and are commonly referred to in the industry as wireless devices. Wireless data is an enhancement to traditional wireless services provided by cellular, PCS, SMR, and paging network operators, The Wireless Application 3 Protocol (WAP)'is a key enabler of wireless data - with wireless device users now able to browse internet sites, purchase goods and services, send and receive email, have a broad array of internet content pushed to their wireless devices, and access corporate and personal information using their wireless devices. Today in the 5 United States carriers have rolled these wireless data services out over networks such as circuit-switched and CDPD, but these and other services will soon be provided over faster, more advanced wireless network technologies, for example High Data Rate (HDR], General Packet Radio Service {GPRS], Enhanced Data Rates for GSM Evolution [EDGE], 1XRTT, CDMA2000, and Wideband CDMA 10 (W-CDMA], Wireless data industry participants such as service providers, advertisers. content providers and electronic and mobile commerce companies have a need for information on consumer activity and usage of wireless data. First, for example, there exists a need to collect information on the activity and usage behavior of 15 wireless data users. Consumer usage, audience, and purchase information statistics are staples in most developed industries. There is a need to rapidly make these information streams available to all participants of this new and not well understood industry in order to expedite the development of more effective service and product offerings - thereby improving the satisfaction level of users, 20 accelerating the overall growth of the industry, and saving industry participants time and money by avoiding uninformed strategies and initiatives. Second, for example, there is a need to make available to the wireless industry a continuous, real-time set of independent and unbiased network and device performance data. Not only is there a need by network operators and device manufacturers to 25 benchmark the performance of their own networks and devices specifically as it relates to wireless data and more traditional wireless voice applications, but also there is a need to provide to sellers, advertisers, and content providers objective data on the level of service customers are receiving from wireless network and device partners. Third, for example, there is a need to integrate these information 30 streams together, thereby providing industry participants an improved 4 understanding of how wireless network service levels and device performance characteristics (and changes in them) impact wireless data user behavior. For instance, there is a need by electronic and mobile commerce companies to quantify "lost revenue" resulting from a failed wireless transaction due to poor 5 network performance. Usarc, Audienctand Purchase Information While the popularity of wireless telephony and WAP-based data services is surging, there has been no reliable system for measuring wireless data user behavior. Today, competitive marketing information on the wireless data industry 10 is obtained primarily through consumer surveys, the accuracy of which are unreliable and often in question by the industry. As a result, there is an acute demand for a more accurate service that monitors user activity and usage of wireless data. Wireless network operators, wireless device manufacturers, advertisers, and content providers are all looking 15 for more accurate and detailed information to be able to better understand the behavior, experiences, and needs of wireless data users. Limited data presently exists on even the most basic of questions regarding wireless data users - the numbers and demographics of users; what wireless devices and networks they use; when, how often, for how long, and from what location they access the wireless 20 internet; what sites they visit; what transactions they execute; what advertisements they view/redeem, etc. As the industry advances and matures and users of wireless data become more sophisticated, the ability to track user behavior over time will also become particularly important. Services exist in the wired intemet and other industries that provide this type of consumer usage, audience rating, and 25 purchase data. Creating a system and rncthod to effectively and accurately collect wireless data consumer usage and activity information poses a number of challenges over the wired interct industry. For instance, challenges typically confronted where 5 wireless devices are involved include restricted memory capacity, power limitations, limited processing power, multiple proprietary operating systems with limited interfaces, and the like. Furthermore, there is a need to accommodate activity relating to different wireless network protocols, each designed according 5 to its own specifications. Moreover, there is a need to track activity across a range of data applications and protocols including for example WAP, web clipping applications, HTML, WML, and XML browsers, As the wireless data industry prepares for the expected flood of new wireless data users, there exists a strong market need for improved wireless data 10 consumer usage and activity information. Network/Device Performance Information A strong market need exists for a system to monitor the performance of wireless data networks and wireless devices. At present, there is no industry standard for "Quality of Scrvice" (QOS) data on the performance of wireless data 15 networks. Currently, network operators generally conduct proprietary drive test network benchmarking activities solely for their own intemal use. Network operators generally do not make this information available to external parties, such as dotcoms, internet content partners, wireless data application services providers, wireless advertisers, wireless electronic commerce companies, etc. 20 Even if such information were made available to other industry participants outside the network operator's organization, the information would not be sufficient because of the proprietary nature and varying approaches for data collection across network operators, lack of a standard schedule for data collection, and biases resulting from rating the performance of a network 25 provider's own network versus that of its competitors. Consequently, there is a need for a more robust and real-time method of monitoring the data performance of wireless networks. Network operators are inexperienced in providing data services, and they are keenly interested in 6 information that will help them understand how their networks stack up in supplying wireless data services and where, when, and how to optimize their networks. Carrier interest in objective QOS data has been further heightened by recent federal mandates for E911 service capabilities - carriers can no longer S tolerate coverage gaps and prolonged problems in their service areas. Objective information on the performance of network operators is also of great interest to other wireless industry participants who are looking to focus their sales, marketing, and product development efforts on those network operators and geographies providing satisfactory levels of service to wireless data users. In the 10 wired internet industry, existing information service companies provide non-user based, automated, real-time QOS tracking of web hosting servers and backbone networks. There now exists a need to capture performance measurements which include wireless data in addition to the traditional back-end wireline performance metrics. This type of end-to-end measurement, which includes wireless data, is a 15 more complex process compared with the back-end measurement typified by the wired internet industry as it must include the radio link. Continuously tracking statistics concerning RSSI, channel assignments, bit error rates, transmit power, call result, etc. can benefit the wireless data industry participants and users. Similarly, there is a need for improvement in the real-time collection of 20 wireless device statistics. Presently, manufacturers conduct only pre-shipping device performance tests. Once in the hands of consumers, the burden ordinarily is placed solely on wireless data users to determine whether a device is not functioning correctly. This is fairly easy if the device does not turn on or is visibly broken, but more difficult when other more subtle failures or performance 25 degradations occur. For instance, there exists a need for wireless device parametric information based on real-time user activity (which can be tracked over a period of time) on metrics such as DSP, battery life, power consumption, finger assignments, etc. Device manufacturers and network operators, for example, could use this information to identify and replace "out of spec" or malfunctioning 30 devices, thus reducing the number of wireless data users experiencing wireless 7 device related performance problems. Other information such as available memory, control senings, and Personal information Management (PIM) feature utilization could also assist device manufacturers in planning future wireless device features. Overall, such a capability could lead to greater wireless data user $ satisfaction with network operators, wireless device manufacturers, applications companies, as well as help those parties more quickly understand device performance characteristics and address device design and manufacturing issues, in order to bring improved products and services to consumers. Interated information 10 The breadth of information services encompassed within the invention as well as the ability to capture real-time, comprehensive marketing and performance information is distinguished from any conventional market research methods that currently exist. The unique ability to integrate these data streams adds further value to the wireless data community. For example, there has been a need to 15 simultaneously collect information about user activity and network performance. By analyzing these two data streams, service providers will be able to draw meaningful insights into the effects that network performance has on the usage patterns of their customers. There also exists an increasing need to make available to location-based 20 advertisers information on latency and delivery failure rates of "push" notification services over competing wireless networks at specific times and in specific geographies (e.g., during a baseball game at the local ball park). Moreover, a need has developed for access to GPS location data or delivery statistics in conjunction with other metrics (e.g., consumer usage behavior, network and device 25 performance) to make real time assessments of network operator service capabilities at specific times and locations. As current constraints on wireless device performance are overcome, constraints such as bandwidth, speed, memory, screen size, etc., there will be an increasing need for information concerning user 8 activity and usage, wireless network performance, and wireless device performance. SUMMARY OF THE INVENTION According to a first aspect of the present invention, there is provided a 5 mobile wireless communication device for use with a wireless network, comprising: a mobile wireless communication device having a processor and a memory coupled to the processor; and, an application data module communicatively connected to the processor to collect information related to an application in response to an application management event invoked on the mobile wireless communication 10 device. According to a further aspect of the present invention, there is provided a method for use with a wireless network, comprising: monitoring a wireless communication device for an indication of an application management event; collecting information related to an application in response to receiving the indication 15 of the application management event; and, transmitting the information related to the application via the wireless network. According to a further aspect of the present invention, there is provided a system for use with a wireless network, comprising: a processing unit to receive data from a mobile wireless communication device having a processor and a 20 memory coupled to the processor, the processing unit to communicatively connect to an application data module of the mobile wireless communication device that collects information related to an application in response to an application management event occurring on the mobile wireless communication device. 25 30 35 2310612011,104013.div.spc, 8 9 These and other features and advantages of the invention will be better understood from the following detailed description of a presently preferred embodiment of the invention in conjunction with the appended drawings. 5 23/06)20i,104013.div.spc, 9 10 BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows an architecture of a presently preferred embodiment of the invention which includes a system for measuring wireless device and wireless network usage and performance metrics. 5 Figure 2 sets forth the component modules of data gathering software of the embodiment of Figure 1. Figure 2a sets forth an illustration of the operation of the architecture shown in Figures 1 and 2. Figure 3 sets forth sample aercs, pagirig. forward, and reverse channel 10 messages that can be collected by the embodiment of Figure 1. Figure 4 sets forth sample messages collected by a device parametric data module of the embodiment of Figure 1. Figures 5a,Sb, and Sc, and 5d set forth a sample of event type data gathered by the data gathering softwar of lic rnbodiment and locations 15 from whikh various metrics corresponding to event types are gathered. Figure 6 sets forth a sample mobile station modem (MSM) wireless device function block of the embodiment of Figure 1. Figure 7 shows sample messaging, from a CDMA Processor of the wireless device of Figure 6, providing a Metric of whether a call is a data call or a 20 voice call.
11 Figure 8 sets forth a flow chart for messaging at the wireless device of Figure 6 relating to the launch, use, and termination of use of a wireless microbrowser. Figure 9 sets forth a flow chart ofthe path of data collected by data 5 gathering software of the embodiment of Figure 1. Figures IOa and lOb show sample reports generated from data collected using the system of Figure 1. Figure 11 shows an illustration of the MSM locations where device parametric data is collected. 10 Figure 12, shows an illustrative representation of the logical relationships among the modules of Figure 2. Figure 13, shows an illustrative generalized drawing of computer software control flow in a wireless device in the course of a typical function call in which there is no data gathering. 15 Figure 14, shows a generalized drawing of computer software control flow of data gathering associated with a function call (or event) in accordance with a presently preferred embodiment of the invenion. Figure 15, shows a generalized drawing of computer software control flow of data gathering associated with a function call (or event) involving a user request 20 for network accessible information in accordance with a presently preferred embodiment of the invention. Figure 16, shows a generalized drawing of computer software control flow of data gathering associated with a user request for network accessible information in a device with a Palm Operating System (Palm OS) implementation of a 25 presently preferred embodiment of the invention.
12 Figure 17 shows an illustrative flow diagram of the operation of the data gathering software of Figure 14 intercepting a call from the main process to a device library and gathering prescribed data in accordance with an embodiment of the invention, 5 DETAILED DESCRIPTION OF THF P3UFERREP EMBODIMENT The present invention encompasses methods and related systems for measuring wireless device and wireless network usage and performance metrics. The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular 10 application and its requirements. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the embodiment shown, but is to be 15 accorded the widest scope consistent with the principles and features disclosed herein. The present invention also provides a novel approach to the gathering of information about the habits and behavior of users of mobile devices. For instance, the convergence of wireless communications and the internet creates 20 new incentives for persons to use wireless devices as they move from location to location throughout the day. Information concerning usage of mobile devices is valuable, for example, to purveyors of internet services and to purveyors of wireless services. A better understanding of user patterns of behaviors in the use of mobile devices can permit the providers of goods and services to mobile device 25 users to better target their efforts. Thus, in another aspect of the present invention, each member of a panel of mobile device users is provided with mobile devices equipped with data gathering software, The data gathering software reports back, not only on what applications and communications and device features are 13 employed, but also on the location at which such events occur. Moreover, by knowing the location at which such events occur, it is possible to more readily determine the real time of day at which such events take place. By monitoring the mobile device usage by a large enough panel of users as the individual panel 5 members move from place to place, it is possible to garner information that can be analyzed to assess the best way to deliver desired products and services to mobile users in general. A panel of uscrs may bc selected based upon any criteria. The criteria for a mobile device user's being included within a panel may be as broad as 10 possessing a mobile wireless device and a willingness to participate as a panel member. Alternatively, panelists may be selected based on mathematical criteria aimed at eliciting statistically meaningful information about the behavior of some group of persons. Panel membership may be restricted to a group of users sharing some common attribute such as membership in an organization, interest in 15 particular subject matter (e.g., history, music, videos) participation in a particular activity (e.g., politics, skiing, photography) or ownership of a type of car, boat, airplane or pet. Referring to Figure 1, there is shown an illustrative drawing of an architecture of a presently preferred embodiment of the invention. The 20 embodiment includes a system for measuring wireless device and wireless network usage and performance metrics. A plurality of wireless devices 100 are shown with data gathering software I10 installed on each wireless device 100. Data gathered by the data gathering software 110 is transmitted via a wireless link 130 to a control center 120. 25 The system illustrated in Figure 1 measures the usage and performance of a variety of wireless networks and devices by a variety of users. Wireless devices 100 include, but are not limited to, mobile telephone handsets, pagers, and personal digital assistants (PDAs). Wireless networks on which wireless devices 14 100 operate and from which data is gathered according to the preferred embodiment consist of, for example, circuit switched, paging, and packet data networks and include but are not limited to AMPS, CDMA, TDMA, GSM, IDEN, GPRS, I XRTT, 3XRTT, W-CDMA, CDMA 2000, ReFLEX, ARDIS, and 5 MOBITEX. The presently preferred embodiment will be described in reference to a wireless handset device 100 using a WAP microbrowser operating over a circuit-switched CDMA network. Modifications to the data gathering software 110 to gather data from other wireless networks and devices will be apparent to those ofordinary skill in the art. It will be appreciated, however, that the 10 principles of the invention described herein may be applied to other wireless devices as well. The data gathering software 110 cracks the usage and performance of individual user activity of wireless voice and wireless data services. In the one embodiment data gathering software 110 resides on the mobile station modem 15 (MSM) or equivalent device modem of wireless device 100. In alternative embodiments, the data gathering software 110 may reside, for example, embedded in microbrowser applications or on the operating system of the wireless device 100. Information collected by the data gathering software 110 may be stored on the MSM or equivalent device modem or when applicable, the SIM card or the 20 device's volatile and/or non-volatile memory. In another embodiment, the data gathering software 110 may collect and transmit data real-time. In the preferred embodiment automatic data delivery may be triggered on a periodic basis, or alternatively data delivery may be launched via user or control center driven activity. For example, in the case of control center driven activity, commands 25 may be sent to the data gathering software 110 via a server, or like mechanism, to collect certain data after which collected data may be routed through an intermediate server that then feeds data to the control center. Data gathering software 110 may be equipped with standard features such as an installation application, a system configuration and application sCanner, 15 automatic software update feature. data compression algorithm and data encryption system. These standard features are well known to those of ordinary skill in the art. The installation application may prompt the user for householdl/user profile information and request confirmation of user consent to the 5 data gathering process before the data gathering software is launched. After the initial installation process, the data gathering software 110 is transparent to the user during operation of the wireless device 100, The system configuration and application scanner records detail relating to the configuration features and specifications of the wireless device 100 and any applications loaded onto it. Data 10 collected by the data gathering software 110 may undergo a filtering process to remove extraneous data and may also be compressed using standard data compression techniques to conserve memory resources on the wireless device 100 as well as to enable more efficient transfer of data to the control center 120. Data gathered may also be encrypted using standard encryption techniques to provide 15 security for the data collected from the user's wireless data activities and to provide privacy to protect the user's identity. In the one embodiment, the data gathering software 110 residing on the wireless device MSM is written in C++, while in alternative embodiments it may be written in other coding languages such as Java or the like. The data gathering 20 software 110 operates in the background of the wireless device's 100 operating system and standard applications. The design of the data gathering software 110 adheres to and incorporates wireless protocols and standards for voice and data communication services on CDMA networks and devices. These documents include (1) TIA/EIA-95-B (Mobile Station-Base Station Compatibility for 25 Wideband Spread Spectrum Cellular Systems), (2) ANSI J-STD-008 (Personal Station-Base Station Compatibility Requirements for 1.8 to 2.0 GHz Code Division Multiple Access Personal Communication Systems), (3) ANSI J-STD 018 (Minimum Performance Requirements for 1.8 to 2.0 GHz Code Division Multiple Access Personal Stations), (4) TA/EIA/IS-99 (Data Services Option 30 Standard for Wideband Spread Spectrum Digital Cellular Systems), (5) TLA/EIA- 16 637-A (Short Message Service for Spread Spectrum Systems), (6) TIA/EIA-683-A (Over-the-Air Provisioning of Mobile Stations in Spread Spectrum Systems), and (7) various WAP documents (Wireless Application Protocol Architecture Specification, Wireless Application Environment Specification, Wireless 5 Telephony Application Specification, Wireless Transaction Protocol Specification, Wireless Datagram Protocol Specification). Features of the data gathering software I10 include the ability to collect disparate data streams; data filtering mechanisms; default data collection protocols; real-time event, user and control center driven data collection routines; 10 a storage system; and a file transfer system. The data gathering software 110 is also designed with interoperability in mind without interference with subscriber software installed on the wireless device. The data gathering software 110 is loaded onto the wireless device 100 through an external download process. In the preferred embodiment, this is done 15 through a "flash" load process. In the flash load process, the wireless device 100 is taken off line and connected through the serial port connector to a PC via the specified cable interface for the device. A script command is entered into the PC and initiates the application of a series of electrical currents to specific pins of the wireless device 100 that are reserved exclusively for software loading. Through 20 this connection the data gathering software 110 is transferred to the MSM of the wireless device 100. At the end of the flash load process the wireless device 100 is restarted, with the data gathering software 110 now functioning. In alternative embodiments, the external download could be done, for example, through a wired or wireless synchronization process or through an Over-the-Air [OTA) process. 25 The data gathering software may be loaded, alternatively, at the time of manufacture of the wireless device. For example, the data gathering software may be loaded as part of a browser application installed by the manufacturer of the wireless device, 17 Referring to the illustrative drawings of Figure 2, the component modules of an embodiment of the data gathering software 110 arc shown. The data gathering software 110 is based on a common Application Development Interface. The data gathering software 110 includes of a Main Control Module (MCM) 200 5 along with additional modules that plug in and perform specific tasks seamlessly with the underlying subscriber software, In one embodiment, these component modules include an Overhead Data Module 215, a Device Parametric Module 220, a Wireless Internet Data Module 225, User Identification Module 230, Location Data Module 235, SIM Card Data module 240, Application Data Module 10 245, Voice Module 250, Audio Download Module 255, Time and Date Stamp Module 260, Storage Module 265, Data Transfer Module 270, Memory Module 275, and Diagnostic Module 280. Each module performs tasks in all active wireless device modes (e.g., idle, voice conversation and data), but some module data sets may differ from mode to mode. It should also be noted that data modules 15 may be run in parallel. Referring to the illustrative drawings of Figure 2a, a simplified illustration of the operation of an embodiment of the invention is shown. At the center of the system is the data gathering software 110. Data gathering software 110 monitors and collects several types of information from different sources including event 20 data 240a, device parametric data 230a, network parametric data 220a, location information 250a, and time information 260a. Data gathering software 110 may be activated by user event driven activity, or alternatively, control center driven activity such as in cases in which commands are sent to the data gathering software 110 via server, or like mechanism, to collect cermin data after which 25 collected data is routed to an intermediate server, or like mechanism, that then fecds'data to the control center. The collected data is sent to the control center 120 where it is managed via a central management system 270a and undergoes data analysis 280a. The collected data and analysis results are stored in a database 290a.
18 An "event" as used herein is user activity on a mobile wireless device. An event may encompass any user activity for which data can be gathered. Although data is not necessarily gathered for all events. Rather, it is gathered only for those events prescribed to be data gathering events. A new event occurs whenever a 5 user initiates a new device activity. The following are a few illustrative examples of events. The launching of an application is an event. The downloading of a web page is an event. Communication over a wireless voice or data channel is an event. Even pressing a single key on a wireless device keyboard is an event. Event data 240a includes any data associated with activity on the device by 10 a user. It may include identification of applicatiUns that havc buen launched such as a word processing application, a scheduling application or a browser. It may also include information retrieved or used in connection with any of these applications such as a URL used to download a webpage. Event data may include statistics concerning events. Event data may be associated with temporal 15 information such as the date and time of occurrence of an event as well as the geographic information such as the geographic or physical location of a mobile device in the course of the event. Such associated geographic information may comprise data such as GFS data which may he transmitted to a server and from which the physical location of the device can be derived by the server, for 20 example. It will be appreciated that the location may be ascertained at any point in a time interval spanning the start of the event, the occurrence of the event and the conclusion of the event. Data applications include, for example, microbrowser or equivalent internet browsing activity, web clipping applications, mobile commerce transactions, mobile advertising activity, e-mail activity, and Bluetooth 25 application usage. Device applications include, for example, games, address books, personal information management software, and media players used for streaming audio and video. Event statistics include, for example, voice and data call activity and SMS or similar text messaging activity. Network parametric data 220a includes for example, in the case of CDMA, overhead messaging data such 30 as systems parameters messages, authentication challenge messages, and service 19 redirection messages. Device parametric data 230a includes, for example, battery statistics (such as charging state, voltage, last charge and temperature), energy/interference parametrics, receive/transmit power, frame error rate, call set up statistics (such as access time, call origination, and call termination). Sources 5 from which data is collected may include various components of the wireless device, such as processors (including the mobile station modem or equivalent, global positioning system processor or equivalent, and other central processing units on wireless devices), volatile and non-volatile memory locations, and embedded applications such as a microbrowser, game, or audio file player, 10 Referring to the illustrative drawings of Figurt 2, a description Qf cach module follows: 1. Main Control Module (MCM) The MCM 200 is responsible for the management and control of the data gathering software activities. The MCM 200 sends requests and instructions and 15 receives messages from other modules. For example, the MCM 200 performs functions such as tasking, command and control, configuration, and upgrades to the data gathering software 110 itself. 2. Overhead Data Module (ODM) The ODM 215 collects information by monitoring the overhead message 20 stream. While the wireless device 100 is powered on, information is collected while the device 100 is in any state such as idle, conversation, and data mode. A list of sample overhead messages monitored by the data gathering software 110 is illustrated in Figure 3. Information collected by the ODM 215 includes, for example, network information such as call performance, coverage, configuration 25 settings, and management; event information such as voice call, data call, and Short Message Services (SMS) activity; location information such as longitude, latitude, and GPS data; and time and date information.
20 3. Device Parametric Data Module (DPDM) The DPDM 220 monitors and collects information from the network and device. A list of the sample data monitored and collected by the DPDM 220 is in Figure 4. Infonnation colIlcted by the DPDM 220 includes for example, receive 5 power, transmit power, frame error rate (FER], signal strength (RSSI], access time {eall setup]. time stamp, date stamp, location data, and airtime usage. The information collected can be used to gain insights into the performance of networks and devices in the environment. 4. Wireless Internet Data Module (WIDM) 10 The WIDM 225 monitors and collects information from internet-based applications such as a microbrowser or web query application. When launched, the intemet-based application enters a session through the wireless network with different types of network servers such as proxy, gateway, content and application servers. Today, multiple types of protocols and mark-up languages exist and are 15 designed to make various types of content, applications, and services accessible to wireless devices. Examples of such protocols and mark-up languages include the Wireless Application Protocol [WAP), Palm Query Applications [PQAs], iMODE, HDML, WML, XML, and HTML. Once a wireless connection to the internet and/or the network provider's data network (or equivalent) has been 20 established, accessing WML content from a wireless phone through the WAP protocol is very different from accessing HTML content via traditional personal computer applications like Microsoft Explorer or Netscape Navigator. For example, WML introduces the concept of decks and cards, a concept that does not exist in HTML. Cards specify one or more units of user interaction. A deck 25 represents the unit of content transmission that is sent over the wireless network to the device. Therefore, a deck can contain one or more cards. A user can navigate through multiple cards before sending a request over the network to retrieve an additional deck.
21 5. User Identification Module (ULM) The UM4 230 is responsible for collecting data from the user of the wireless device 100 through invoking a questionnaire in certain circumstances and prompting the wireless user to input desired information. Examples of 5 information collected by the UIM 230 include User name, Date of birth, Sex. Race, Income, Addrcss, Marital status, Education, Occupation, and User authentication or password. 6. Location Data Module (LDM) The LDM 235 is responsible for collecting all data relating to location 10 such as longitude, latitude, GPS data, time stamp, and date stamp. The collected data can be referenced back to wireless device 100 events and statistics. The LDM 235 may also collect additional information so that the location information can be used to determine the user's direction of travel, speed, and time in order to correlate the information to specific events. 15 7. SIM (Subscriber Identity Modulej Card Data Module (SCDM) The SCDM 240 interfaces the wireless device's SIM card and is responsible for collecting data stored on the wireless device's 100 SIN card. 8. Application Data Modulc (ADM) The ADM 245 is responsible for monitoring the activity of all applications 20 resident on the wireless device 100. The ADM 245 collects data about all resident applications such as the application name, usage statistics, application file size. and configuration information. The ADM 245 collects information at multiple instances such as when applications are loaded, removed, launched, restored, switched, and terminated. 25 9. Voice Module (VM) 22 The VM 250 is responsible for collecting information relating to voice commands, applications, and activity. In addition to the conventional keypad or stylus based functions users may also have the ability to perform various activities using voice commands and responses. Such voice commands and responses may 5 include voice-to-text and text-to-voice conversions, voice activated dialing, voice activated microbrowsing, and voice controlled applications. The VM 250 monitors activity in voice recognition engines and processors and collects information related to any such user activity conducted via voice. 10. Audio Download Module (ADM) 10 The ADM 255 is responsible for collecting audio-based user activity. Users may receive/download audio from their wireless devices in the form of advertisements, music, and the like. The ADM 255 will capture data relating to such activity. 11. Time and Date Stamp Module (TDSM) 15 The TDSM 260 monitors and collects information from the network and device parameters. Examples of information collected by the TDSM 260 include the time, which can be represented in hours, minutes, and seconds, and the date, which can be represented in month, day, year. The information collected by the TDSM 260 can be integrated with information collected from other data modules 20 so that time and date information can be associated with event data. 12. Storage Module (SM) The SM 265 is responsible for collecting information from each data module and encrypting, compressing, and storing the data in log tile format in the non-volatile memory locations of the wireless device. In one embodiment of the 25 invention, the storage module 265 comprises non-volatile memory locations where the Data Gathering Software 110 temporarily stores data before being handled by the Data Transfer Module. This may occur when there is no network 23 connection available to transmit, if the Data Gathering Software 110 determines that immediate transfer of data would result in a poor user experience, or the data collected is required to be transferred immediately to the control center such as information collected by the User Intefface Module 230. 5 13. Data Transfer Module (DTM) The DTM 270 prepares prescribed gathered data for transmission to the control center 120. .n a present embodiment, the DTM 270 also is involved in transmission of information collected by the data gathering software 110 to the control center 120. The DTM 270 can operate in multiple modes including 10 automatic, pull, and push. In automatic mode, the DTM 270 sends data to the control center 120 based on a predetermined set of factors. In pull mode, the DTM 270 sends data based on commands received from the control center 120. This may include, for example, activity in which commands are sent to the data gathering software 110 via server, or like mechanism, to collect certain data after 15 which collected data is routed to an intermediate server, or like mechanism that then feeds data to the control center. In push mode, the DTM 270 sends data based on commands from the user. The DTM 270 also prepares the data for transfer by performing functions such as packetizing the collected data, attaching identifying information to the packets of data, and initiating, executing, and 20 managing the data transmission process. The transmission process could include for example, sending the collected data to the control center 120 through a mobile originated Short Message Service [SMS) message, sending the collected data during a microbrowser session, or sending the collected data through a synchronization application. In another embodiments of the invention, the DTM 25 270 may prepare the gathered data for transfer via email. In yet another embodiment of the invention, the DTM 270 may prepare the gathered data for transfer via an HTTP post cmrnnand to a designated UTRL 4-4. In still another embodiment of the invention, the DTM 270 may be used to transfer gathered data during a "hotsyc" session.
24 14. Memory Module (MM) The MM 275 is responsible for clearing the memory location once the DTM 270 has successfully transmitted the collected data to the control center 120. The MM 275 receives commands from the DTM 270 in conducting this operation. 5 In alternate embodiments, the MM 275 can be a built-in part of the operating system of the device. 15. Diagnostic Module (DM) The DM 280 is responsible for running diagnostic tasks on the MCM 200 and other modules of the data gathering software I10. For instance, the DM 230 10 can be periodically activated automatically by the device 100 to check whether the data gathering software I10 in fact is gathering what it is supposed to be gathering. Also, the DM 280 is responsible for self-updating any data gathering software 110 module to add features or correct any bugs and for resetting and rebooting the wireless device if it detects a problem with data gathering software 15 110 activity. Figures Sa, 5b, and 5c, and 5d set forth an illustrative log 500 of sample event type data gathered by the various component modules of the data gathering software 110 and the MSM location from which various metrics corresponding to event types are gathered. Figures 5a, 5b, Sc, and 5d are for illustrative purposes. 20 and do not set forth a complete list of types of event type data gathered. Referring to Figure 6, an illustrative sample wireless device 100 functional block diagram for an MSM is set forth. The sample wireless device 100 functional block diagram is only one potential embodiment of a wireless device 100 modem from which mctrica can bc gathcrcd. For illustrative purposes, ccnt typos in the log arc 25 divided into the categories of basic phone functions, voice call events, browser call events, M-Commerce, M-Advertising, and SMS messaging. These categories are for illustrative purposes only of the types of event data that are gathered by various component modules of the data gathering software I 10 and are neither 25 exhaustive nor complete. Referring to Figure 5, for each event type 510, there are corresponding metrics 520 which are collected by various component modules of the data gathering software 110. The MSM Location 530 of the MSM shown in Figure 6 from which the Metrics 520 are gathered is also set forth. For 5 example, for the Event Type "Mobile Voice Call Connect" 540 shown in Figure Sb, the Metrics 520 gathered are TD.LL information (Time, Date, Long-Lat), Vocoder, Transmit Power, Receive Power, and Frame Erasure Rate. These Metrics 520 are gathered from the CDMA Processor and GPS Processor at the MSM Location 550 by the Overhead Data Module 215. Similarly, other Voice 10 Call Event Types such as Land-Side Voice Call and Mobile Voice Call End shown in Figure 5b are collected by the Overhead Data Module. Event types such as External Power Applied and Power Up shown in Figure 52 are collected by the Device Parametric Module 220. Event Types such as Mobile Browser Launch and Deck (URL) Request are gathered by the Wireless Internet Data 15 Module 225. Referring to Figure 11, there is shown an illustration of the MSM component locations where device parametric data pertaining to various aspects of battery status can be acquired. The current battery voltage 1100 is obtained from the voltage regulator 1150. Charge rate 1110, charging state 1120, and charge 20 time 1130 are obtained from the charging system 1160. Time stamp information 1140 is obtained from the CDMA processor 1170. In this example, the data gathering software elicits this various information from these various components of device 100 in order to provide device parametric data on battery power. It will be appreciated that the data gathering software may elicit information from these 25 and other components to provide parametric data concerning other device characteristics. Referring to Figure 5, Mctrics 520 are gathered from messaging information at the various MSM Locations 530. Figure 7 shows illustrative sample messaging from the CDMA Processor of an MSM used to identify the 26 Metric of whether a call is a data call or a voice call, Two potential origination messages under the CDMA messaging standard TIA-95-B are shown, origination message 710 and origination message 720. For example, the value of the special service code 730 or similar identifier such as a service option code, may identify 5 whether a call is a data call or a voice call. In this example, a special service code 730 value equal to zero indicates a data call whereas a value equal to one indicates a voice call. Thus, in this example, the data gathering software 110 can determine whether a call is a voice call or a data call by parsing the origination message collected from the CDMA processor. In the examples shown in Figure 7. 10 origination message 710 corresponds to a data call whereas origination message 720 corresponds to a voice call. Referring to the illustrative drawings of Figure 8, messaging at the CDMA processor of the MSM relating to metrics for the launching, use, and termination of use of a wireless microbrowser is set forth. At block 810, messaging 15 corresponding to the entering of the microbrowser mode are set forth. At step 820. messaging relating to the connection of the call for microbrowsing is set forth along with messaging indicating the radio link protocol (rIp) for synchronization of the call with the network. Step 830 shows messaging for releasing the network connection indicating the ending of use of the browser. Step 840 shows 20 messaging for the ending of the rnierobrowser call, and Step 850 shows messaging for exit from the user interface of the browser mode. Step 860 shows messaging relating to the resetting of various parameters to return the device to standard operating mode. Referring to the illustrative drawings of Figure 9, a diagram showing the 25 flow of data collected by the data gathering software 110 in one embodiment of the invention is presented. At 910, the collected data is stored at each wireless device 100 in the non-volatile memory (or equivalent) of the wireless device 100, At 920. the collected data is sent over a wireless link 130 to a control center 120 that manages the collection and quality control processes of the data from each 27 wireless device 100 in the field as well as the overall administration of the network. At the control center 120, management of data collection and quality control processes is handled by a Central Management System (CMS) 230a. A graphic user interface (GUI) client allows the CMS administrator at the control 5 center to communicate and run checks during the data management process, At 930, the CMS 260a prepares the data received for database processing. This preparation includes decompressing files, cataloging and archiving the files and staging files for database entry. To perform its activities, the CMS may include an administration server, web server, contacting server, name server, FTP server, 10 VPN server, data collection manager server, alarm manager server, event manager server, and configuration manager server. At 940, the prepared data is then loaded and stared in a database. The database uses device identification number, device type, user ID, event type, network identification, market identification, and longitude/latitude coordinates in 15 tables to cross-reference values in a user information table for each event (i.e., message). At 950, a data warehouse/mining application processes the collected data stored in the database to generate information including usage, service functionality, network and device performance metrics. This process may include: 20 sorting through collected data to ascertain demographic profiles of panel members and related location/market information; analyzing usage behavior of panel members or aggregating groups of panelists. including but not limited to metrics such as share of messaging by voice, microbrowsing, SMS, e-mail and secure transactions; analyzing peak/off-peak usage patterns of panel members as well as 25 average usage days per given period of time; analyzing telephony metrics including, for example, call duration, incoming versus outgoing calls, local versus long distance calls, voicemail functions, and digital versus analog mode; analyzing wireless data/internet metrics including, for example, reach (i.e., percentage of all users who visit a particular Website during a given time period), 28 unique visitors (i.e., number of Web-active individuals who visited a particular site or web property within a given time frame), top sites or URLs visited during a given period of time, top sites bookmarked, counts of secure transactions placed during a given period of time, visits to non-Web digital media sites over a given 5 period of time, click streams, advertisement views and responses; analyzing functionality of various wireless voice and data/internet services provided to users whereby number of hits per site or application versus total offerings may provide such indication; analyzing performance metrics related to the device, including but not limited to keypad operation, CPU processing capabilities, RF calibration, 10 transmit and receive power, power consumption, battery charging, voltage and temperature; and analyzing performance metrics related to the operators' networks, including but not limited to RSSI, access failures, finger assignments, handoff and vocoder activity, transmit and receive power, frame error rates, dropped calls, blocked calls, connection speeds, intemet or Web application 15 download speeds, and secure transaction speeds. The generated information can be used to produce marketing information products, network performance products, device performance products, and integrated products that are useful to network operators, advertisers, content providers and producers of wireless voice and data services and products. At step 960, these end products (i.e., reports), 20 which may take the form of hard copy and/or Web-based delivery, are stored at the database. Usage, Audience, and Purchase Products This competitive marketing information is mainly derived from the activity, usage, and behavior of the wireless device 100 users Some general 25 measurements include the numbers and demographics of users; the types of wireless devices and networks they use; sites they visit and bookmark; secure transactions they execute; advertisements they view/redeem. Wbile these types of measurements provide much needed and valuable information as is, the ability of the data gathering software'l 10 to integrate time and location-based (i.e., 30 environment driven) information with such user activity (i.e., event driven) 29 measurements provides an unprecedented breadth of information never before available to the industry. The ability to understand where and when subscribers are using their wireless device 100 for wireless data and internet applications allows industry players to create novel marketing strategies that have not been 5 possible in the wired internet space. Referring to Figures 10. and 10b, illustrative sample reports with respect to number of unique visitors to a site and total number and time of data sessions are shown. It should be noted that reports produced on wireless devices and networks via the system and related methods for measuring wireless device and network usage and performance metrics according to the 10 invention have not been available to the industry. Sample product reports on the following topics may be cut by time and location of user-based activity as well as trended over a period of time: Data Traffic Report: * Mix of messaging activity (or sessions) by SMS, e-mail, web visits, web 15 downloads, r-commerce transactions * Reacih (i.e., percentage of all wireless internet users who visit a particular site during a given month) * Unique visitors (i.e., number of wireless internet-active individuals who visited a particular site or web property within a given time frame; each panel 20 member is represented once as a unique user) * Top URLs visited (e.g., by subject, by portal, by domain. by individual sites with a domain, by group/entity, etc.) * Top sites bookmarked (and whether these change over a period of time) * Number of secure transactions completed 25 * Average unique web pages visited 30 * Average usage (days) per month * Peak/off-peak usage periods e Cuts by carrier, market, demographics 5 Voice Statistics Report: * Call frequency * Local vs. long-distance * Call duration * Call origination 10 * Cuts by carrier, market, demographics Demographics Report; * Age * Gender 15 * Occupation * Education * Household composition - # of members, median income; homeowner/renter * Geographic location 20 * Cut by user activity 31 M-cornmerce Report: e Scoure transactions to identify consumer purchasing behavior * Lookers/bookers * Repeat visitoTs/purchasers 5 e Top products sold a Revenue per site 0 Reach e Referring sites * Cut by demographics 10 Non-Web Digital Media Report: e Activity on proprietary services such as AOL, Juno, PointCast * Reach * Referring sites 15 e Cut by demographics Advertising Report: a Ads viewed/redeemed * Top advertisers 20 * Top host sites 0 Reach 32 * Cut by demographics User Experience Repon: * Time to download home page of URL 5 * Time to complete secure transaction - Browsers visitors are using * Error log (i.e., times when site fails not related to ISP/backbone problems) * Congestion periods 10 Technical Report: * Device configuration & software applications = Hardware components Network/Device Performance Products In addition to collecting event data based on consumer usage, it is an 15 object of the invention to collect quality of service (QOS) data as well. According to the invention, QOS data may be captured by monitoring network parametric data and device parametric data based on the activities of the panel users. The ability to record real-time metrics on network and device performance driven by "live"user activity is unprecedented in the indusny. Such data collected and 20 processed via the data warehouse/mining application may yield reports on how the networks and devices are performing based on specific user event driven activities. Current drive tests and manufacturers' device tests do not have this capability (i.e., are performed independently of real-time consumer-based activity). Moreover, the invention allows for the QOS metrics to be correlated to 25 time and location of user activity.
33 Sample product reports on the following topics may be cut by time and location of user-based activity as well as trended over a period of time: Network Performance Report: * Vocoder activity 5 e Frame errr ratcs * Closed loop power control * Transmit/receive power * Channel assignments * Base station acknowledgement order 10 e Global service re-direct * Hand-off activity V Speed * Access time * Audio quality/MOS score 15 Device Performance Report: * Battery measurements (voltage, temperature, charge time, power consumption, power amplifier) e Idle vs. normal modc 20 * Analog vs. digital mode * RF calibration 34 * TransmiL/receive power * Minutes used a Finger assignments a CPU measurements S Integratcd Products Event data, network parametric data, and device parametric data collected and processed may be interpreted not only on a stand-alone basis but also integrated with one another to provide more robust data. To date, this has not been possible since industry players have had to source the various pieces of 10 information from different parties; even then, the data was collected from disparate devices during different ime periods. Event data, network parametric data and device parametric data are advantageously can be collected together in real-time from the same wireless device 100, allowing for directly comparable data that, when viewed in concert, provides a richer set of information. Moreover, 15 some or all of these data can be collected in concert with location information and time information which indicate the time and place of device activity. For example, a problem detected in the network may be correlated to specific user activity in a particular location and time. In order to generate the most accurate and representative reports, a wireless 20 device 100 equipped with the data gathering software 110 is to be distributed and used by a targeted group of wireless communications services users to collect statistically representative data. A statistical sampling methodnlngy will be employed so that this panel of users may represent a broader audience and typify various demographic profiles. The panel will also be constructed to allow for 25 national, regional, and market level reporting. Participation in the panel will be on an opt-in, incentive-driven basis whereby panel members agree to have their wireless voice and data/internet usage captured via the data gathering software 110 resident on their wireless device 100. While most of the monitoring process 35 will require no involvement on the user's part and will remain transparent to the user, each participant will agree to disclose basic user profile information upon commencement of activity and upon certain other conditions. Referring to the illustrative drawing of Figure 12, there is shown a 5 pictorial representation of the logical relationships among the modules of Figure 2. In the illustrative drawing, the MCM 200 exercises control over the operation of the other modules, In a current embodiment of the invention, the data gathering modules (ODM 215, DPDM 220, WIDM 225, LDM 235, ADM 245, and VM 250, are implemented in computer software using system traps. Specifically, each 10 respective data gathering module operates system traps associated with one or more respective computer software controlled functions. Each respective data gathering module gathers respective data in response to a function call to its associated function or functions. In operating as a system trap, each respective data gathering module intercepts calls to its associated function and gathers 15 prescribed data. The gathered data, for example, may relate to the function itself, to device parametric data, time, location or other information prescribed to be gathered in association with the called function. The MCM 200 also controls access to the storage module 265 which serves to temporarily store data gathered by the respective data gathering modules, 20 if such temporary storage is required. MCM 200 also controls the operation of the data transfer module 270 which serves to transfer gathered data to the control center 120. In a present embodiment, the data transfer module 270 can transfer to the control center 120 gathered data that has been temporarily stored by storage module 265. Alternatively, the data transfer module 270, under control of MCM 25 200. can directly transfer data gathered by any of the data gathering modules directly to the data transfer module 270 without the need for temporarily storage of such gathered data by the storage module 265. For instance, the data transfer module 270, under control of MCM 200, can directly transfer data gathered by user interface data module 230 or wireless internet data module 225 or diagnostics 36 module 280 directly to the data transfer module 270 without the need for temporarily storage of such gathered data by the storage module 265. In a present embodiment, logical relationships among the data gathering modules and the MCM 200 are achieved by inserting system traps on function 5 calls associated with respective data gathering modules. When a function call associated with a respective data gathering module is made, the call is intcrccpted and the MCM 200 which invokes a data gathering module associated with the called function. It should be appreciated that although the drawings of Figure 12 illustrate MCM 200 as a distinct control module, in a present embodiment, MCM 10 200 is implemented by a native operating system of a wireless device, Referring to the illustrative drawing of Figure 13, there is shown a generalized example of computer software control flow in a wireless device in the course of a typical function call in which there is no data gathering. The reason for including this example is to better illustrate the differences between an 15 embodiment of the preset invention and the relevant ar. In this example, a wireless device executes a main computer program code process 1200. The exact nature of the process is unimportant to this example. The process might involve voice communication or e-mail messages or network communications, for instance. At various points in the execution of the main process 1200, operating 20 system calls are made to functions performed by a native facility of the wireless device such as a native device library module. The exact nature of the operating system call is unimportant. During such function calls, control is temporarily passed to such native facility. For instance, the process code 1200 in the example includes the hypothetical expression "HandleEvent[name of event]" which directs 25 the process 1200 to call native device library 1202 which includes a computer program code process which processes the named event. Control is temporarily passed to the called library code process 1202, which controls performance of the called function. There are many different types of functions that can be called. For instance, the called function might involve a network transaction, redrawing a 37 screen, launching an application or a enabling screen backlight. Moreover, the called function might involve some wireless communication process represented by the network cloud labeled 1204. When the processing by library module 1202 is complete, control is retumed to computer program 1200, which proceeds to 5 process the next series of computer program code. It will be appreciated that the processing of code 1200 may involve numerous function calls to other code modules, although only the call to module 1202 is shown in this illustrative example. Referring to the illustrative drawing of Figure 14, there is shown a 10 generalized example of comzputvr software control flow of data gathering associated with a function call (or event) in accordance with a presently preferred embodiment of the invention. A main computer program process 1300 runs on a wireless device (not shown). The exact nature of the main process 1300 is unimportant to this example. However, like process 1200 described in relation to I5 Figure 13, the process 1300 might, for example, involve voice communication or email messages or network communications, for instance. At various points in the execution of the process 1300, operating system calls are made to one or more functions pertbrmed by native facilities of the wireless device such as a native device library module 1302. The exact nature of such operating system calls are 20 unimportant. For instance, the illustrative process code 1300 in the example in Figure 14 includes the hypothetical expression "HandleEvent[name of event)" which directs the process 1300 to call native device library 1302 which includes a computer program code process running on the device which processes the named event. The event, for instance, might be setting up a voice call, launching an 25 application, establishing a network connection or searching the internet. In accordance with a present embodiment of the invention, data gathering software 1304 running on the device intercepts the call to the native device library 1302. The data gathering software 1304 gathers prescribed data associated with the called function. For instance, such prescribed data can include data relating to the 30 function itself or data passed within the call such as names of applications or 38 URL addresses, device parametric data, time information and location information. The data gathering software may use native or custom API (application programming interface) calls to obtain the prescribed data. The data gathering software process 1304 passes the call to the native device library 1302 5 which processes the call. The called function might involve some wireless communication process represented by the network cloud labeled 1306. When the native device library 1302 has completed processing of the called function, control is passed back to the data gathering software 1304 which may gather additional data such as the elapsed time, for example. The data gathering software records, 10 tallies or queues the gathered data for temporary storage by the storage module 265 or for direct transfer to the data transfer module 270. The data gathering software comprises one of the ODM 215, DPDM 220, WIDM 225, LDM 235, ADM 245, and VM 250 described above. It will be appreciated that in a present embodiment of the invention, 15 gathered data is transfen-ed immediately to the control center 120 if an appropriate connection, wireless or wired, is available. Two exampica of methods are to encode the data into an email and send it, or to send the data via and MTTP post. Gathered data can be sent to the data transfer module whcrc the DTM can prepare and send the data immediately. Alternatively, the gathered data can be 20 temporarily stored by the storage module 265 prior to transmission. As yet another alternative, some of the gathered information may be sent to the control center 120 immediately while other gathered information is stored temporarily. For example, situations may arise where a user is in a poor coverage area where network latency is high or when the gathered data is of sizeable 25 volume where attempting to send the gathered data may reduce the quality of the consumer experience using the device. In these situations the data gathering software may immediately transfer some of the data and store other pieces of data. In another scenario, for example, location data collected for every event may be compared to location data of previous events and only sent with the gathered data 39 immediately if the location data has changed. When the data gathering software 1304 has gathered the prescribed data, control is returned to the main process 1300. Referring to the illustrative drawing of Figure 15, there is shown a 5 generalized example of computer software control flow of data gathering associated with a function call (or event) involving a user request for network accessible information in accordance with a presently preferred embodiment of the invention. A main computer program process 1400 shown in Figure 15 is analogous to processes 1200 and 1300 in Figures B and C, respectively. The main 10 process 1400 runs on a wireless device (not shown), and the exact nature of the process 1400 is unimportant to this example. At some point in the execution of the process 1400, an operating system call is made to a function which gathers network accessible information, In this example, the network is the internet, and the information is designated by a uniform resource locator (URL). The function 15 of retrieving the information designated by the URL is performed by a native facility of the wireless device such as a native device library module, For example, the illustrative main process code 1400 in the example in Figure 15 includes the hypothetical expression "Getfidentify some URL]" which directs the process 1400 to call native device library 1402 which includes a computer 20 program code process running on the devirc which servc to retricyc the network accessible information designated by the identified URL In accordance with a present embodiment of the invention, data gathering software 1404 running on the device intercepts the call to the native device library 1402. The data gathering software 1404 gathers prescribed data associated with 25 the called function. For instance, such prescribed data can include data relating to the function itself or data passed within the call such as names of applications or URL addresses, device parametric data, time information and location information. The data gathering software may use native or custom API (application programming interface) calls to obtain the prescribed data. The data 40 gathering software process 1404 passes the call to the native device library 1402 which retrieves network accessible information associated with the URL The called function might involve some wireless communication process represented by the network cloud labeled 1406. When the native device library 1402 has 5 completed processing of the called function, control is passed back to the data gathering software 1404 which may gather additional data such as the elapsed time, for example. The data gathering software 1404 transfers the gathered data including the information designating the desired network accessible information (i.e., the URL) directly to the control center 120 via the data transfer module 270. 10 Note that it is possible to immediately send such information to the control center 120 since network communications (represented by network clouds 1406 and 140B) established to retrieve the requested network accessible information also can be used to immediately transfer the gathered data to the control center 120 without the need for storage by storage module 265. Alternatively, the 15 gathered data might be stored temporarily by the storage module 265 prior to transmission to the control center 120. As yet another alternative, some of the gathered software may be sent to the control center 120 immediately while other data is stored temporarily. When the data gathering suftware 1404 has gathered the prescribed data, control is returned to the main process 1400. 20 Referring to the illustrative drawing of Figure 16, there is shown a generalized example of computer software control flow of data gathering associated with a user request for network accessible information in a device with a Palm Operating System (Palm OS) implementation of a presently preferred embodiment of the invention. The process illustrated with reference to Figure 16 25 is directly analogous to the process illustrated with reference to Figure 15. One difference is that in Figure 16, the hypothetical "Get(identify some URL)" expression in the main process 1500 results in a call to the Palm OS INetLIB library 1502. The data gathering software 1504 intercepts the call, and gathers the prescribed data and passes the call to the Palm OS 1NeLIB library 1502 which 4-1 processes the call by requesting the information form the network as indicated by the network cloud 1506. When the Palm OS INetLDB library 1502 completes its processing, control is passed to the data gathering software 1504 which may gather additional prescribed data. The data gathering software 1504 transfers the 5 gathered data including the URL immediately to the control center 120 as indicated by the network cloud 1508. This alternate embodiment also employs what the applicant refers to as "URL forking" described above. Alternatively, the gathered data may be temporarily stored by storage module 265 prior to transmission to the control center 120. When the data gathering software 1504 10 has gathered the prescribed data, control is returned to the main process 1500. The illustrative drawing of Figure 17 shows a flow diagram of the operation of the data gathering software 1304 of Figure 14 intercepting a call from the main process 1300 to the device library 1302 and gathering prescribed data. In step 1310, the data gathering software 1304 intercepts a call by the main 15 program 1300 to the native device library 1302. In step 1312, the data gathering software gathers the prescribed data. The data to be gathered, for example, may involve gathering an identification of the called function (or event). For instance, if the function involves launching an application, then the data gathering software may record an identification of the launched application. If the event involves a 20 user's pressing a particular button, then an identification of the button may be recorded. The prescribed data also may include the date and time of the event as well as the location of the device at the time of the event. The prescribed data also may include device parametric data such as battery power level or received signal strength, for example. In decision step 1314, a dcccimination is madce as to 25 whether there is a communication link between the device and the control center 120 that will permit immediate transfer of the gathered data to the control center 120. Ifthere is such a connection, then the data may be transferred immediately to the control center 120 via the data transfer module 270, in step 1316. If there is no such connection immediately available, then in step 13 18, the gathered data may 42 be stored by the storage module 265 until it can be transferred later by the data transfer module 270 to the control center 120, In decision step 1320, the data gathering software 1304 determines whether the device library 1302 has processed the call yet. If the call has not yet 5 been processed, then in step 1322, the data gathering software 1304 passes control to the called device library 1302. and the device library processes the call. Note that the some or all of the actual data gathering, transferring or storing by the data gathering software 1304 may be delayed until after the device library 1302 has completed its processing of the call. This delay may be imposed so that the data 10 gathering transferring and storing efforts do not degrade device performance as perceived by the device user. In step 1324, when the device library 1302 has finished processing, control is passed from the device library 1302 to the data gathering software 1304. In step 1326, the data gathering software gathers any additional prescribed data. In general, such additional prescribed data will include 1s the date and time of completion of the processing by the device library 1302. In step 1328, device physical location is determined as described below, The device physical location also constitutes gathered data. One or more than one approach to determining the geographic location of a mobile device when data is gathered by a data gathering module. For instance, the data gathering module may 20 issue a call to the device operating system requesting the base station identification for the base station with which the device currently has a connection. Alternatively, the data gathering module may issue a call to the device operating system requesting identification of the cell site location or the cell tower with which the device currently is in communication. The cell site 25 information may be appropriate for CDMA connections during soft handoffs, for example. As yet another alternative, the data gathering module may issue a call to the device operating system requesting the base station zip code information for the base station with which the device currently has a connection. As still another alternative, the data gathering module may make a request for a global positioning 43 system (GPS) fix on the device's geographic location at the time of the data gathering. It will be appreciated that a mobile device may attempt more than one of these approaches to determining geographic location. Alternatively, location data can be gathered in step 1312 before control is S passed to the device library 1302. In decision step 1314, a determination is again made as to whether there is a communication connection that can immediately transfer gathered data from the device to the control center 120. If there is such a connection, then in step 1316, the data can be transferred immediately to the control center via the data transfer to module 270. If there is no such connection available, then in step 1318, storage module 265 can store the gathered data. In decision step 1320 a determination is again made as to whether device library 1302 has completed processing of the call. This time it has, and therefore, in step 1330 the data gathering software passes control back to the main program 1300. 15 It will be appreciated that in an alternative embodiment, some gathered data may be returned immediately to the control center 120 while other data is stored temporarily by the storage module 265. For instance, if there is a wireless connection between the device and the control center 120 some but not all of the gathered data might be transferred via the wireless connection. 20 It should also be appreciated that the present invention is intended to encompass the situation in which function calls are cascaded. For instance, a first called device library element might in turn call a second device library element. The second device library element might in tum call a third device library element. One skilled in the art will appreciate that each such function call might 25 invoke another data gathering software instance to gather data associated with such call. Thus, there may be multiple data gathering software modules or instances of modules active at the same time intercepting calls and gathering data in the event of an occurrence of such a cascading of function calls.
44 The operation of the data gathering software 1404 of Figure 15 and of data gathering software 1504 of Figure 16 are generally the same as that of data gathering software 1304 of Figure 14 except that in the cases of the data gathering software 1404 and 1504 of Figures D and E, there almost certainly will be a 5 communication connection that permits the immediate transfer of gathered data from the device to the control center 120. Hence, in the case of data gathering software 1404 and 1504, decision step 1314 virtually always should result in a selection of step 1316 in which there is an immediate transfer of gathered data to the control center 120. It will be appreciated that even an immediate transfer of 10 gathered data to the control center 120 may requires at least momentary storage of the gathered data by the device. For example, such storage may be necessary in order to properly configure or packetize the data for transfer, or the data may be buffered temporarily as it queued with other data awaiting its tum for transmission. Such momentary storage may take place in registers or in main 15 memory. It may be necessary to temporarily store in main memory, for example, because the device operating system may use all of the available registers for other processes. One cinbudirnent uf te invenion involves transfer of the gathered data vid email. The gathered data is packaged in an email message format and placed in a 20 user's email cutbox in the device. It will be appreciated that such embodiment is a hybrid of the embodiment illustrated in Figure 17, If there is an appropriate network connection immediately available, wireless or wired, one or more email messages containing the gathered data can be sent immediately to the control center 120 per step 1316 of figure 17. If there is not an appropriate network 25 connection immediately available the one or more emails sit in the outbox until a network connection becomes available per step 1318 of Figure 17. Another embodiment of the invention uses a "hotsync" session to transfer gathered data from the mobile device to a personal computer or other device having access to a network. Alternatively, a hotsyne session could be used to send 45 gathered data directly to the control center too, essentially bypassing the local computer. A hotsync session involves an interconnection of a client device with a host device such that the client and host can update their respective electronic memories to bring them into synchronization. For instance, while a mobile device 5 (client) was in use and untethered from a networked personal computer (host), the user may have modified some of his or her personal information such as an electronic rolodex. Conversely, while the mobile device was in use and untethered from the personal computer, new versions of software to be delivered to the mobile device may have been delivered to the host. During a hotsync 10 session, For example, the new personal information may be transferred from mobile device to personal computer, and the new software version may be transferred from personal computer to mobile device. For instance, in a present embodiment involving a device with a Palm Operating System (Palm OS), a conduit is established during a portion of a hotsync session by which the gathered 15 data is transferred from the mobile device to the personal computer or directly to the control center. For instance, such hotsync conduit might place the gathered data in an email in the personal computer to be sent over a wired or wireless network to the control center 120. Alternatively, the hotsync session may cause the gathered data to be placed in main memory of the personal computer, such as 20 its hard drive, so that it later may be transferred to a portable memory medium such as a diskette for physical delivery to the control center 120. Yet another embodiment of the invention transfers gathered data from the mobile device to a local personal computer or server or other networked device via a short range wireless connection such as that compliant with the Bluetooth or 25 802.1 lb standard. The mobile device sends the gathered data to the personal computer or server or other networked device which, in turn, sends it to the control center 120. No hotsync is required. Also, if the network connection is available through either of these standards, a direct transmission can be made to the control center.
46 The control center 120 is operatively connected to a network on which gathered information is transmitted from mobile devices to the control center 120. In a present embodiment, the control center 120 is connected to the internet. For example, the control center 120 may be implemented as a webserver listening on 5 port 80. Alternatively, for example, the control center 120 can be implemented as a proxy server or as an email server. The control center listens on the network for device messages directed to it. It will be appreciated from the description above that the control center 120 comprises one or more computers in one or more locations operatively 10 connected to a communications system whereby gathered data can be tansferred to such control center. The one or more computers of the control center 120 operate under control of computer software which, in accordance witb the present invention, causes such computers to collect the information gathered by the data gathering software of the wireless mobile devices. In essence, the data gathering 15 software and the collection software work together as a system. The data gathering software controls gathering of data by the wireless mobile devices, and the collection software controls collection of the gathered data by the control center computers 120. the wireless mobile device merely service as a source of data to be gathered. While the control center merely serves as the destination 20 where such data is collected. The data gathering software and the collection software cooperation to first gather and then collect such data. The collection software causes the control center 120 to receive gathered data transmitted by a mobile device. The gathered data may be transmitted directly to the control center 120 over the network or it may be transmitted 25 indirectly through a hotsync session or a short range wireless connection. The collection software causes the control center 120 to note the actual date and time at which the gathered data is received from the device. It will be appreciated that data may be gathered by wireless devices located in different geographic locations, Therefore, it may be necessary to normalize the time at which data is gathered to a 47 standard time such as Greenwich Mean Time (GMT). The control center may in some situations determine the actual time (e.g. GMT) of an event using gathered location information. For instance, although time information may be collected from a device clock as an event occurs, the device clock itself might not be 5 accurate. Thus, device clock time information might not be valuable. However, the collection software can cause the control center 120 to use other time information that is more accurate to correct for the inaccuracies of the device clock. For instance, certain wireless protocols automatically include time information in certain packets (e.g., CDMA). Thus, accurate time information can 10 be acquired from certain wireless packets. Also, the control center can time stamp gathered data with an accurate time of receipt from a wireless device. The time stamp information or the wireless packet time information can be used as a basis for correcting for errors in the device time. Moreover, once an accurate determination of the time (e.g., GMT) at which an event occurred has been made, 15 location information can be used to determine the local time at the location of the device when the event occurred. The collection software causes the control center 120 to insert the gathered data, which ordinarily will include geographic location information, and the calculated time into a central log. The collection software then causes the control center to return to listening on the network 1602. 20 It will be appreciated that, although the embodiment explained with reference to Figures 12-17 employs system traps to gathered prescribed data, the invention can be implemented without the use of traps. For instance, the data gathering functions can be built into the operating system of a mobile device or into the web browser of a mobile device. In either of those cases there would very 25 well be no need to trap a function call in order to gather data if the function itself gathered the desired data. For instance, as yet another alternative, the operating system or browser might make specific calls to gather prescribed data upon the occurrence of prescribed events. Thus, for example, the operating system or web browser might be implemented such that whenever a new application is launched, 30 one or more procedure calls are made to obtain the location of the device at the 48 time of such launch and to accomplish a transfer of the application name and such location to the control center 120. Basically, system traps are used in the illustrated embodiment because the data gathering functionality has been added to the 5 functionality of conventional devices. Therefore, the invention is not intended to be limited to the use of system traps. While the present invention has been particularly described with respect to the illustrated embodiments, it will be appreciated that various alterations, modifications and adaptations may be made based on the present disclosure, and 10 are intended to be within the scope of the present invention. While the invention has been described in connection with what are presently considered to be the most practical and preferred embodiments, it is to be understood that the present invention is not limited to the disclosed embodiment but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the 15 scope of the appended claims. Where the terms "comprise", "comprises", "comprised" or "comprising" are used in this specification, they are to be interpreted as specifying the presence of the stated features, integers, steps or components referred to, but not to preclude the presence or addition of one or more other features, integers, steps, components 20 to be grouped therewith. 23/06/2011,104D13.div.s0c, 4B

Claims (18)

1. A mobile wireless communication device for use with a wireless network, comprising: 5 a mobile wireless communication device having a processor and a memory coupled to the processor; and, an application data module communicatively connected to the processor to collect information related to an application in response to an application management event invoked on the mobile wireless io communication device.
2. The mobile wireless communication device as defined in claim 1, wherein the application management event comprises at least one of loading the application, removing the application, launching the application, restoring 15 the application, or terminating the application.
3. The mobile wireless communication device as defined in any one of the preceding claims, wherein collecting information related to the application comprises at least one of an application name, an application file size, 20 application usage statistics or application configuration information.
4. The mobile wireless communication device as defined in any one of the preceding claims, wherein the application data module reports a location at which the application event occurs. 25
5. The mobile wireless communication device as defined in any one of the preceding claims, wherein the application comprises at least one of a game, a media player or an address book. 30
6. The mobile wireless communication device as defined in any one of the preceding claims, further comprising generating competitive marketing information based on the application management event. 23106/2011,104013.div.spc, 49 50
7. The mobile wireless communication device as defined in any one of the preceding claims, wherein collecting information related to the application further comprises intercepting a call to a native device library of one of the 5 plurality of mobile wireless communication devices.
8. The mobile wireless communication device as defined in any one of the preceding claims, wherein the application data module intercepts a mobile wireless communication device function associated with the 1o application management event.
9. A method for use with a wireless network, comprising: monitoring a wireless communication device for an indication of an application management event; 15 collecting information related to an application in response to receiving the indication of the application management event; and, transmitting the information related to the application via the wireless network. 20
10. The method as defined in claim 9, wherein the application management event comprises at least one of loading the application on the wireless communication device, removing the application from the wireless communication device, restoring the application, or terminating the application. 25
11. The method as defined in claim 9 or claim 10, wherein collecting information related to the application comprises at least one of an application name, an application file size, application usage statistics, or application configuration information. 30
12. The method as defined in any one of claims 9 to 11, wherein the application comprises at least one of a game, a media player, or an address 23/06/2011,104013.div.soc, 50 51 book.
13. The method as defined in any one of claims 9 to 12, further comprising intercepting a function of the wireless communication device associated with 5 the management event via a system trap.
14. A system for use with a wireless network, comprising: a processing unit to receive data from a mobile wireless communication device having a processor and a memory coupled to the 10 processor, the processing unit to communicatively connect to an application data module of the mobile wireless communication device that collects information related to an application in response to an application management event occurring on the mobile wireless communication device. is
15. The system as defined in claim 14, wherein the processing unit receives collected information of the application management event indicative of at least one of loading the application, removing the application, launching the application, restoring the application, or terminating the application. 20
16. A mobile wireless communication device for use with a wireless network, substantially as hereinbefore described with reference to the accompanying drawings. 25
17. A method for use with a wireless network, substantially as hereinbefore described with reference to the accompanying drawings.
18. A system for use with a wireless network, substantially as hereinbefore described with reference to the accompanying drawings. 30 23/Oi 2011,104013, dv,spc, 51
AU2011203048A 2001-08-31 2011-06-23 Method for Measuring Performance Metrics of a Wireless Device Withdrawn AU2011203048A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2011203048A AU2011203048A1 (en) 2001-08-31 2011-06-23 Method for Measuring Performance Metrics of a Wireless Device
AU2013203793A AU2013203793A1 (en) 2001-08-31 2013-04-11 Method for measuring performance metrics of a wireless device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/944,843 2001-08-31
AU2011203048A AU2011203048A1 (en) 2001-08-31 2011-06-23 Method for Measuring Performance Metrics of a Wireless Device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU2008207615A Division AU2008207615B2 (en) 2001-08-31 2008-08-28 Method for measuring performance metrics of a wireless device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
AU2013203793A Division AU2013203793A1 (en) 2001-08-31 2013-04-11 Method for measuring performance metrics of a wireless device

Publications (1)

Publication Number Publication Date
AU2011203048A1 true AU2011203048A1 (en) 2011-07-14

Family

ID=45419875

Family Applications (2)

Application Number Title Priority Date Filing Date
AU2011203048A Withdrawn AU2011203048A1 (en) 2001-08-31 2011-06-23 Method for Measuring Performance Metrics of a Wireless Device
AU2013203793A Withdrawn AU2013203793A1 (en) 2001-08-31 2013-04-11 Method for measuring performance metrics of a wireless device

Family Applications After (1)

Application Number Title Priority Date Filing Date
AU2013203793A Withdrawn AU2013203793A1 (en) 2001-08-31 2013-04-11 Method for measuring performance metrics of a wireless device

Country Status (1)

Country Link
AU (2) AU2011203048A1 (en)

Also Published As

Publication number Publication date
AU2013203793A1 (en) 2013-05-02

Similar Documents

Publication Publication Date Title
AU2008207615B2 (en) Method for measuring performance metrics of a wireless device
CA2420238C (en) System and method for measuring wireless device and network usage and performance metrics
AU2002332740A1 (en) Method for measuring performance metrics of a wireless device
US7551922B2 (en) Rule based data collection and management in a wireless communications network
US7609650B2 (en) Collection of data at target wireless devices using data collection profiles
JP5373017B2 (en) Apparatus and method for determining network connection performance of a wireless device
US20110106942A1 (en) Data collection associated with components and services of a wireless communication network
US8688053B2 (en) Methods and apparatus to identify wireless carrier performance effects
US8369217B2 (en) Quality of service monitoring architecture, related method, network and computer program product
CA2578602C (en) Rule based data collection and management in a wireless communications network
WO2007005030A2 (en) Rule based data collection and management in a wireless communications network
MX2007010846A (en) Apparatus and methods for determining voice and/or data processing performance of a wireless device.
US9374460B2 (en) System and method for detecting call-through events for advertising impressions sent to mobile wireless devices
AU2011203048A1 (en) Method for Measuring Performance Metrics of a Wireless Device
KR101290155B1 (en) Method and System for Measuring Quality of Wireless Network
Park et al. Technical method for service quality measurement and user’s service usage collection in wireless broadband data service

Legal Events

Date Code Title Description
MK12 Application lapsed section 141(1)/reg 8.3(2) - applicant filed a written notice of withdrawal