The present invention relates to data collection techniques. In particular, the present invention relates to surveying a group of users over a network of data processing devices.
Wireless data processing devices such as cell phones and personal digital assistants (“PDAs”) are becoming increasingly mobile. As such, users may have an easier time taking the devices with them when they travel, both on extended trips and throughout the day. The data processing devices may interact with other devices (e.g., servers, routers, . . . etc) over a network in order to download content (e.g., Web pages), handle phone calls, and transfer messages.
Email and instant messaging applications provide a convenient way to send a single message to a plurality of users. For example, a set of email addresses may be combined together as a single group based on some logical relationship between the addresses (e.g., all addresses for partners in a firm may be combined into a “All Partners” group). In order to send an email to all of the group addresses, a user may simply select the group heading (i.e., as opposed to individually selecting each address). These applications, however, do not allow a group of users to be defined dynamically based on a set of predefined user characteristics (e.g., age, cultural background, current geographical location, . . . etc). Moreover, these applications do not provide a convenient, consistent way for users in the group to respond to the message/inquiry.
Techniques for gathering targeted information from users may be beneficial in a variety of circumstances. For example, a user may be interested in having lunch with a group of friends or co-workers and/or may want to gather opinions for a particular movie. However, the user may not have time to verbally communicate with the other users to gather the information. In addition, because data processing devices have become increasingly mobile, the user may not be able to determine where other network users are currently geographically located, making targeted addressing and information collection more difficult. For example, if a first user is currently in a different geographical location from a second user, the first user may not want to include the second user in an inquiry relating to current local activities (e.g., a query asking a group of users which movie they would like to attend).
Accordingly, what is needed is an apparatus and method for sending an inquiry to a group of user having a specified set of characteristics, including characteristics which may change dynamically over time (e.g., user location, time zone, . . . etc). What is also needed is an apparatus and method for providing a convenient, consistent way for users to respond to the inquiry.
An apparatus and method is disclosed for surveying and gathering user and status information from data processing devices coupled to a network. Data processing devices, such as cellular phones and handheld devices, may be coupled to a network manager through phone lines or RF networks. The network manager transmits survey inquiries and receives survey responses from users. The specific set of users may be selected based on user characteristics and/or device characteristics compiled by the network manger. Other status information, such as the location of each data processing device on the network and whether each data processing device on the network is active, may also be collected by the network manager. Collected information may then be distributed or made available to other data processing devices on the network.
The present invention is illustrated by way of example and not limitation in the accompanying figures.
The following description makes reference to numerous specific details in order to provide a thorough understanding of the present invention. However, it is to be noted that not every specific detail need be employed to practice the present invention. Additionally, well-known details, such as particular structures, materials and methods have not been described in order to avoid obscuring the underlying principles of the invention.
Referring to
In one embodiment, the network manager 116 provides a service to the users of the data processing devices 102, 104, and 106 allowing the users to interact with each other in unique ways, described in detail below. The network manager 116 may also interact with each data processing device individually. In one specific embodiment, the network manager 116 provides the services and features set forth in the co-pending application entitled NETWORK PORTAL SYSTEM, APPARATUS AND METHOD (Ser. No. 09/714,897), filed Nov. 15, 2000, which is assigned to the assignee of the present application and which is incorporated herein by reference.
To interact with users coupled to the network who have similar characteristics, the network manager 116 may need to store or have access to characteristics related to each data processing device and/or each user. For example, the network manager 116 may store or have access to predetermined attributes including, but not limited to, a user's age, occupation, sex, address, geographical location, personal preferences and/or past on-line purchase information (i.e. items bought on the Internet through the data processing device). Alternatively, or in addition, certain attributes may be stored directly on the data processing devices and may be accessible by the network manager 116.
The network manager 116 or an individual network user may select a group of users having one or more specified characteristics from whom to collect information. In one embodiment, the predetermined groups of users may be read by the network manager 116 directly from the data processing devices. For example, the entries in a user's electronic address book may be categorized by the network manager 116 as a predetermined group of users. Moreover, the appearance of the user's name in other predetermined groups may also be used as a relevant characteristic with which to create a group of users. Various additional techniques for creating focused user groups may be employed while still complying with the underlying principles of the invention.
The characteristics associated with each network user may be provided at the time the data processing device is first installed or first integrated into the network 100. The network manager 116 may also periodically send inquiries to each user to collect relevant user information. Other methods of collecting information on characteristics are also contemplated within the scope of the invention.
In one embodiment, the network manager 116 may also send an inquiry in the form of a request for a return signal. When the data processing device receives the request, it may then send a return signal containing status information such as the device's location. In one embodiment, the network manager 116 may determine the data processing device's location using the location of the base station 101 that receives the return signal from the data processing device. In this way, the network manager 116 may compile a list of locations of each data processing device and the status of those data processing devices on the network. Status information may also include, but is not limited to, whether the data processing device is active, by returning a signal, whether it is inactive, by not returning the signal, or whether it is in some other mode, such as stand-by or message-only mode.
In one embodiment, the network manager 116 uses the status information to determine whether a data processing device on the network should be included in a survey. For example, if the survey is limited to users in a particular geographical location over a particular period of time (e.g., a particular evening), then only those users who currently located within the specified geographical constraints will be included in the survey.
As illustrated in
The microcontroller 205 of one embodiment is comprised of a central processing unit (“CPU”) 210, a read only memory (“ROM”) 270, and a scratchpad RAM 240. The ROM 270 is further comprised of an interpreter module 220 and a toolbox module 230.
The toolbox module 230 of the ROM 270 contains a set of toolbox routines for processing data, text and graphics on the data processing device 104. These routines include drawing text and graphics on the portal device's display 230, decompressing data transmitted from the network manager 116, reproducing audio on the data processing device 104, and performing various input/output and communication functions (e.g., transmitting/receiving data over the network 100). A variety of additional functions may be included within the toolbox 230 while still complying with the underlying principles of the invention.
In one embodiment, program code and data 260 are transmitted from the network manager 116 to the external memory 250 of the data processing device 104 via a communication interface 270 under control of the CPU 210. This program code and data 260 may include, for example, lists of characteristics of various users on the network as described herein (e.g., age, occupation, sex, address, geographical location, past on-line purchasing information, whether the user is in a predetermined group of users, . . . etc). Various communication interfaces 270 may be employed without departing from the underlying principles of the invention including, for example, a Universal Serial Bus (“USB”) interface or a serial RF communication interface.
The microprograms in one embodiment are comprised of compact, interpreted instructions known as “bytecodes,” which are converted into native code by the interpreter module 220 before being executed by the CPU 210. One of the benefits of this configuration is that when the microcontroller/CPU portion of the data processing device 104 is upgraded (e.g., to a faster and/or less expensive model), only the interpreter module 220 and toolbox 230 of the ROM needs to be rewritten to interpret the currently existing bytecodes for the new microcontroller/CPU. In addition, this configuration allows data processing device 104 with different CPUs to coexist and execute the same program code. For example, in one embodiment, new interpreter modules 220 and/or toolbox routines 230 may be developed to execute the same microprograms on cellular phones, personal information managers (“PIMs”), or any other device with a CPU and memory.
In one embodiment, the network manager 116 may detect the location of a data processing device with greater accuracy. For example, in one embodiment, an identification code associated with the current base station over which the device is communicating may be transmitted to the network manager 116. Accordingly, the network manager 116 may determine the exact city, or even street location, of the data processing device. The specific location of the data processing devices may then be used to determine whether to send a relevant inquiry to a user. The network manager 116 may also make the locations of each data processing device available to other data processing devices on the network. In this way, other users of data processing devices on the network may know the relative location and time zones of users on the network.
Referring to
As illustrated, the inquiry 502 may list several multiple-choice answers such as “excellent” 504, “good” 506, “fair” 508, “poor” 510, and “haven't been there recently” 512 for each user to select from. The user may select a multiple-choice answer using any one of several methods, including but not limited to, clicking inside a selection box such as selection box 514. While the answers are shown in multiple-choice format, other formats for responding to the inquiry including, but not limited to, typing an answer may be employed while still complying with the principles of the invention.
Referring to
The embodiment shown in
The particular set of users included in the list may be generated in a variety of ways. For example, in one embodiment, the list is simply a “buddy” list previously generated by the user. Alternatively, or in addition, the list may be comprised of members of the buddy list who all share a particular characteristic. For example, if a user wants to send a query to see which members of his/her buddy list are available for lunch, the user may indicate that the list should only be comprised of members currently located within a 10-mile radius of the user. As mentioned above, in one embodiment, this type of geographical data may be continually maintained by the network manager 116. Once the new list and inquiry is generated, the user may select individuals within the list to receive the inquiry as described above.
In addition to the individual user names displayed in the user list, the data processing device may also display relevant characteristics for each user. By listing relevant characteristics of each user on the network, the user of the data processing device may manually select which users on the network to send the relevant inquiry to. If the user wants to have lunch with a member of his/her buddy list as described above, the user may then manually select a set of buddy list members based on the location of each member. Various other methods of forming inquiries, forming answer choices, and choosing particular users are also considered to be within the scope of the invention.
Referring to
In the specific embodiment illustrated in
In one embodiment, in response to a user request, the user's geographical location and/or other user characteristics will not be tracked by the network manager 116. Alternatively, the user may select a specific set of users (e.g., all of those users in his/her buddy list) who should receive the user's geographical location and/or other user characteristics.
Referring to
The underlying principles of the invention may be employed to support various different applications. For example, surveys may be conducted to gather information from a targeted group of users. Thus, using the techniques described above, a politician may be able to determine very quickly how his male constituents living in a particular district feel about an issue. Various other applications such as voting and testing of users are also contemplated to be within the scope of the present invention.
Embodiments of the invention may include various steps as set forth above. The steps may be embodied in machine-executable instructions. The instructions can be used to cause a general purpose or a special purpose processor to perform certain steps. Alternately, these steps may be performed by specific hardware components that contain hard-wired logic for performing the steps or by any combination of programmed computer components in custom hardware components.
Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include but is not limited to floppy diskettes, optical disks, CD ROMS, and magneto-optical disks, ROMS, RAMS, EPROMS, EEPROMS, magnetic or optical cards, propagation media, or other type of media machine-readable medium suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation media via a communication link (e.g., a modem or network connection).
Throughout the foregoing description for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art, that the invention may be practiced without some of these specific details. Accordingly, the scope and spirit of the invention should be judged in the terms of the claims that follow.