This invention relates to a system for generating a user activity grid table. More particularly, this invention relates to a system and method for retrieving raw data from a server and processing the raw data to generate a user activity table that displays the timings that a user or a plurality of users spends in a particular geographical location, at a particular website or watching a particular channel. Still more particularly, this invention relates to a system and method that further allows the generation of at least one user activity table that displays the timings that a mobile device user spends talking, messaging or using cellular data in a particular geographical location; the timings that a user or a plurality of users spends watching a particular program or a particular type of program on a particular channel; and the timings that a user or a plurality of users spends uploading and/or downloading a particular volume of data from a specific website.
Due to the increasing availability of location data provided from both global positioning systems (GPS) and mobile telephone usage, it has become easier for studies and analysis on human daily activity patterns to be performed. The knowledge of the places that an individual regularly visits, when the individual visits, how often the individual visits, during which days of the months and at what times of the day etc. may be exploited for the provision of custom services, targeted advertising offers, etc. In general, by knowing the locations/websites an individual regularly visits or channels that an individual regularly watches or when the individual visits/watches; allows for the personalization of a commercial suite of activities targeted to that particular individual.
Characterizing a device user's daily activities without loss of spatial or temporal details remains a non-trivial task despite the wide availability of spatiotemporal data generated by telecommunication companies and various locations based social networks. The analysing of human mobility and activities at the aggregated level provides a deeper understanding of societies. Some tasks such as user profiling or service personalization are de facto conducted at the individual level where a deeper understanding of spatiotemporal patterns is necessary. Even though it is recognized that this is an important area, few approaches have been proposed to characterize people at the individual level where spatiotemporal details are conserved.
Present approaches tend to utilize GPS data combined with information collected from the particular user. However, the downside to such approaches is that relevant locations have to be provided either by the user or by a GPS navigation system. Such approaches do not allow for the constant collection of raw cellular data and for the analysis of this raw data to generate an individual's user profile.
For the above reasons, those skilled in the art are constantly striving to come up with a system to analyse a user's daily activities based on raw cellular data as transmitted from the user's mobile devices with no user interaction required.
The above and other problems are solved and an advance in the art is made by systems and methods provided by embodiments in accordance with the invention. A first advantage of embodiments of systems and methods in accordance with this invention is that visual representations may be generated based on raw data transmitted from devices. The manner in which these visual representations are presented allow for a device user's daily activities or multiple mobile device users' daily activities to be effectively and efficiently interpreted. A second advantage of embodiments of systems and methods in accordance with this invention is that the system is able to process and generate visual representations of large amounts of raw data without losing granularity. A third advantage of embodiments of systems and methods in accordance with this invention is that specific aspects of a device user's daily life or certain traits of a plurality of device users' daily lives may be visually represented thereby providing insight into the user's or users' lifestyles and activities.
The above advantages are provided by embodiments of a system in accordance with the invention operating in the following manner. The system first generates and displays a first table having a plurality of grids, wherein each grid represents a timeslot. Each of these timeslots includes a day component and a time component. The system then selects a first set of validated entries wherein each entry of this first set of validated entries includes a timestamp. Each of these timestamps includes a day component and a time component. The system then links the selected first set of validated entries to the first table and marks grids in the first table that match with timestamps of each of the linked first set of validated entries, wherein the grids are marked using a graduated tone marking schema. In accordance with further embodiments of the system, the graduated tone marking schema comprises a colorimetric marking schema.
In accordance with embodiments of the invention, the system selects the first set of validated entries in the following manner. The system first retrieves a first set of entries from a server, wherein each entry in the first set of entries comprises a latitudinal and longitudinal coordinate and a timestamp. Each entry in the first set of entries are then grouped into one of a plurality of clusters according to the latitudinal and longitudinal coordinate of each entry, wherein each of the plurality of clusters is associated with a range of latitudinal and longitudinal coordinates. The system then selects one of the plurality of clusters, and verifies each entry in the selected one of the plurality of clusters. Each verified entry is then validated by the system.
In accordance with embodiments of the invention, the system selects a map from a database, wherein a range of latitudinal and longitudinal coordinates on the map corresponds to the range of latitudinal and longitudinal coordinates associated with the selected one of the plurality of clusters. The latitudinal and longitudinal coordinates of validated entries are then plotted on the map and the map is then displayed. In accordance with further embodiments of the system, the latitudinal and longitudinal coordinates of validated entries are plotted on the map using a colorimetric plotting schema.
In accordance with embodiments of the invention, the system groups each entry in the first set of entries in the following manner. The system first selects an entry from the first set of entries. The system then obtains a latitudinal and longitudinal coordinate corresponding to the selected entry and the system then determines whether the obtained latitudinal and longitudinal coordinate matches a latitudinal and longitudinal coordinate range associated with one of the plurality of clusters. In response to a determination of a match between the obtained latitudinal and longitudinal coordinate and the latitudinal and longitudinal coordinate range associated with the cluster, the system associates the selected entry with the existing cluster.
In accordance with embodiments of the invention, the system verifies each entry in the selected one of the plurality of clusters in the following manner. The system groups the entries into timestamp groups and subsequently determines the validity of the timestamp groups.
In accordance with embodiments of the invention, the system groups the entries into timestamp groups in the following manner. The system first selects an entry from the cluster and then obtains a timestamp corresponding to the selected entry. The system then determines whether the obtained timestamp matches a timestamp range of a timestamp group. If there is a match between the obtained timestamp and the timestamp range of the timestamp group, the system associates the selected entry with the timestamp group.
In accordance with embodiments of the invention, the system determines the validity of the timestamp groups in the following manner. The system first selects a timestamp group and subsequently determines whether the number of entries in the selected timestamp group exceeds a minimum number threshold. The system then validates entries in the timestamp group in response to a determination the number of entries in the selected timestamp group exceeds the minimum number threshold.
In accordance with embodiments of the invention, the system verifies each entry in the selected one of the plurality of clusters in the following manner. The system first selects an entry from the linked cluster. A record of cellular data usage corresponding to the selected entry is then obtained. The system then determines whether the record of cellular data usage exceeds a minimum data usage threshold. The entry is validated in response to a determination the record of cellular data usage exceeds the minimum data usage threshold. The system repeats these processes until all the entries in the cluster have been verified.
In accordance with embodiments of the invention, the system verifies each entry in the selected one of the plurality of clusters in the following manner. The system first selects an entry from the linked cluster. A record of voice usage corresponding to the selected entry is then obtained. The system then determines whether the record of voice usage exceeds a minimum voice usage threshold. The entry is validated in response to a determination the record of voice usage exceeds the minimum voice usage threshold. The system repeats these processes until all the entries in the cluster have been verified.
In accordance with embodiments of the invention, the system retrieves the first set of entries from the server in the following manner. The system first segregates each entry in the first set of entries into one of a plurality of groups according to a mobile number of each entry, wherein each of the plurality of groups is associated with a mobile number. The system then selects one of the plurality of groups that corresponds to a first mobile number and then excludes the other groups from the first set of entries.
In accordance with embodiments of the invention, the system selects the first set of validated entries in the following manner. The system first retrieves a first set of entries from a server, wherein each entry in the first set of entries comprises a channel and a timestamp. The server then groups each entry in the first set of entries into one of a plurality of clusters according to the channel of each entry, wherein each of the plurality of clusters is associated with a channel. The system then selects one of the plurality of clusters and verifies each entry in the selected one of the plurality of clusters. Each verified entry is then validated by the system.
In accordance with embodiments of the invention, the system groups each entry in the first set of entries in the following manner. The system selects an entry from the first set of entries and then obtains a channel corresponding to the selected entry. The system then determines whether the obtained channel matches a channel associated with one of the plurality of clusters. The selected entry is then associated with the existing cluster in response to a determination of a match between the obtained channel and the channel associated with the cluster.
In accordance with embodiments of the invention, the system verifies each entry in the selected one of the plurality of clusters in the following manner. The system selects an entry from the linked cluster and obtains a record of program language corresponding to the selected entry. The system then determines whether the record of the program language matches a first program language. If the program language matches the first program language, the entry is validated. The system repeats these processes until all the entries in the cluster have been verified.
In accordance with embodiments of the invention, the system verifies each entry in the selected one of the plurality of clusters in the following manner. The system selects an entry from the linked cluster and obtains a record of title corresponding to the selected entry. The system then determines whether the record of the title matches a first title. If the title matches the first title, the entry is validated. The system repeats these processes until all the entries in the cluster have been verified.
In accordance with embodiments of the invention, the system selects the first set of validated entries in the following manner. The system first retrieves a first set of entries from a server, wherein each entry in the first set of entries comprises a universal resource locator and a timestamp. The server then groups each entry in the first set of entries into one of a plurality of clusters according to the universal resource locator of each entry, wherein each of the plurality of clusters is associated with a universal resource locator. The system then selects one of the plurality of clusters and verifies each entry in the selected one of the plurality of clusters. Each verified entry is then validated by the system.
In accordance with embodiments of the invention, the system groups each entry in the first set of entries in the following manner. The system selects an entry from the first set of entries and then obtains a universal resource locator corresponding to the selected entry. The system then determines whether the obtained universal resource locator matches a universal resource locator associated with one of the plurality of clusters. The selected entry is then associated with the existing cluster in response to a determination of a match between the obtained universal resource locator and the universal resource locator associated with the cluster.
In accordance with embodiments of the invention, the system verifies each entry in the selected one of the plurality of clusters in the following manner. The system selects an entry from the linked cluster and obtains a record of data volume corresponding to the selected entry. The system then determines whether the record of the data volume exceeds a minimum data volume threshold. If the record of the data volume exceeds the minimum data threshold, the entry is validated. The system repeats these processes until all the entries in the cluster have been verified.
In accordance with embodiments of the invention, the system further generates and displays a second table having a plurality of grids, wherein each grid represents a timeslot, each timeslot having a day component and a time component. The system then selects a second set of validated entries wherein each entry of this second set of validated entries comprises a timestamp, each timestamp having a day component and a time component. The system then links the selected second set of validated entries to the second table; and marks grids in the second table that match with timestamps of each of the linked second set of validated entries, wherein the grids are marked using a graduated tone marking schema.
In accordance with embodiments of the invention, the system further identifies a location of the selected cluster by comparing the range of the latitudinal and longitudinal coordinates associated with the selected cluster to geographical records contained within a geographical map database. The system then determines an activity associated with the selected cluster based on the timestamps of the validated entries.
The above advantages and features in accordance with this invention are described in the following detailed description and are shown in the following drawings:
This invention relates to a system for generating a user activity grid table. More particularly, this invention relates to a system and method for retrieving raw data from a server and processing the raw data to generate a user activity grid table that displays the timings in which a user or a plurality of users carries out a particular activity. Still more particularly, this invention relates to a system and method that further allows the generation of a user activity grid table that displays the timings in which a device user or a plurality of device users spends talking, messaging or using cellular data in a particular geographical location. Further, this invention is also able to plot the corresponding geographical locations on a map. This invention also relates to a system and method that further allows the generation of a user activity grid table that displays the timings in which a user or a plurality of users accesses a website or watches a particular television channel. Further, this invention is able to display the timings at which a user or a plurality of users watches a particular program based on the language of the program or the title of the program. This invention is also able to display the timings at which a user or a plurality of users downloads and/or uploads a particular volume of data from a website.
A system in accordance with embodiments of this invention is configured to generate visual representations based on raw data. This raw data may include spatiotemporal data such as the location of a mobile device at a particular time. The spatiotemporal data may include the longitudinal and latitudinal coordinates of a mobile device together with the timestamps associated with each coordinate entry. In accordance with embodiments of the invention, the raw data may include other parameters such as the mobile device's number, a record of the mobile device's cellular data usage, a record of the mobile device's voice usage or a record of the mobile device's short message service usage all at a particular time.
In embodiments of the invention, this raw data may comprise temporal data associated with a television channel or temporal data associated with a website. The temporal data associated with the television channel may be further associated with other parameters such as a record of the program's language and a record of the program's title. Similarly, the temporal data associated with the website may be further associated with other parameters such as the volume of data being uploaded to the website or downloaded from the website.
In addition to the above, the system is able to process and display large amounts of raw data in an intelligible manner without losing granularity as the grids of the tables are marked using a graduated tone marking scheme that darkens as more marks are applied to a particular grid. Conversely, if lesser marks are applied to a particular grid, the grid would be lightly marked as compared to other grids. The manner in which these visual representations are presented allow for a user's daily activities or a plurality of users' daily activities to be effectively and efficiently presented and interpreted thereby providing insight into the user's or users' lifestyles and activities.
When mobile devices 105, 106 are switched on, mobile devices 105, 106 constantly transmit raw data to base station towers 110 and receive raw data from base station towers 110. The raw data transmitted between mobile devices 105, 106 and base station towers 110 includes the geographical location of each respective mobile device at a particular time, the mobile number associated with each respective mobile device, the voice usage of each respective mobile device at a particular time, the short message service usage of each respective mobile device at a particular time, and/or the cellular data usage of each respective mobile device at a particular time.
The geographical location of the mobile device may be in the form of longitudinal and latitudinal coordinates. Base station towers 110, in turn, transmit all the received raw data to server 115 either directly or via relays such as cellular repeaters. Server 115 then stores the received data in databases as data entries. These databases may be a part of server 115 or these databases may be located at another location and linked to server 115 through a communications network such as, but not limited to, the Internet. One skilled in the art will recognize that the raw data transmitted between mobile devices 105, 106 and base stations towers 110 and subsequently stored by server 115 may include other parameters without departing from this invention.
Similarly, when a channel on television 107 is selected and/or when a website on computer 108 is accessed, raw data is transmitted between television 107, computer 108 and modem 111. Modem 111 may comprise a digital subscriber line (DSL) modem or any type of device that may be used to connect television 107 and/or computer 108 to the Internet. The raw data transmitted between television 107, computer 108 and modem 111 includes the channel watched by a user, the language and/or title of the program at a particular time, and the website accessed by a user together with the amount of data uploaded to and/or downloaded from the website at a particular time. One skilled in the art will recognize that the raw data transmitted between television 107, computer 108 and modem 111 and subsequently stored by server 115 may include other parameters without departing from this invention.
Modem 111 in turn transmits all the received raw data to server 115 either directly or via relays such as the cellular repeaters used to transmit data between towers 110 and server 115. Server 115 then stores the received data from modem 111 in databases as data entries. Similarly, these databases may be a part of server 115 or these databases may be located at another location and linked to server 115 through a communications network such as, but not limited to, the Internet. One skilled in the art will recognize that the raw data transmitted between television 107, computer 108, modem 111 and subsequently stored by server 115 may include other parameters without departing from this invention.
Server 121 or cloud computer server system 120 comprises one or more servers that are connected to one or more storage mediums to store and process data received from various sources. These storage mediums may be a part of servers 120, 121 or these storage mediums may be located at another location and linked to servers 120, 121 through a communications network such as, but not limited to, the Internet.
Server 121 or cloud computing server system 120 are each able to store data and execute various processes such as retrieving the data entries from server 115, transmitting data to and receiving data from computers 130, 131 or client devices 125, 126 and perform other types of computer related processes. Client devices 125, 126 may include smart phones, laptops, tablets, and all other types of mobile devices that have a display. Computers 130, 131 are traditional laptop or desktop computer systems that are connected to server 121 or cloud computing server 120 via either a wired or wireless connection. One skilled in the art will recognize that computers 130, 131 and client devices 125, and 126 are only provided as examples and other types of devices with displays may be used to interact with servers 115, 121 or cloud computing server 120 to display content without departing from this invention.
Processes provided by instructions stored by a media are executed by a processing system in a computer system. A computer system may be provided in one or more servers to provide this invention. The instructions may be stored as firmware, hardware, or software.
Processing system 200 includes Central Processing Unit (CPU) 205. CPU 205 is a processor, microprocessor, or any combination of processors and microprocessors that execute instructions to perform the processes in accordance with the present invention. CPU 205 connects to memory bus 210 and Input/Output (I/O) bus 215. Memory bus 210 connects CPU 205 to memories 220 and 225 to transmit data and instructions between memories 220, 225 and CPU 205. I/O bus 215 connects CPU 205 to peripheral devices to transmit data between CPU 205 and the peripheral devices. One skilled in the art will recognize that I/O bus 215 and memory bus 210 may be combined into one bus or subdivided into many other busses and the exact configuration is left to those skilled in the art.
A non-volatile memory 220, such as a Read Only Memory (ROM), is connected to memory bus 210. Non-volatile memory 220 stores instructions and data needed to operate various sub-systems of processing system 200 and to boot the system at start-up. One skilled in the art will recognize that any number of types of memory may be used to perform this function.
A volatile memory 225, such as Random Access Memory (RAM), is also connected to memory bus 210. Volatile memory 225 stores the instructions and data needed by CPU 205 to perform software instructions for processes such as the processes required for providing a system in accordance with embodiments of this invention. One skilled in the art will recognize that any number of types of memory may be used as volatile memory and the exact type used is left as a design choice to those skilled in the art.
I/O device 230, keyboard 235, display 240, memory 245, network device 250 and any number of other peripheral devices connect to I/O bus 215 to exchange data with CPU 205 for use in applications being executed by CPU 205. I/O device 230 is any device that transmits and/or receives data from CPU 205. Keyboard 235 is a specific type of I/O that receives user input and transmits the input to CPU 205. Display 240 receives display data from CPU 205 and display images on a screen for a user to see. Memory 245 is a device that transmits and receives data to and from CPU 205 for storing data to a media. Network device 250 connects CPU 205 to a network for transmission of data to and from other processing systems.
Embodiments of the present invention utilize raw data from a user's device to generate visual representations of the user's daily activities. The embodiments also provide for raw data from one or more users' devices to be visually represented if so required. The raw data transmitted from base station towers or from modems to a server may be stored as one or more entries in the server's database. Each of these entries includes various parameters and the timestamp associated with the entry. Each timestamp includes a date component and a time component. The date component may be compared with a calendar stored in a server's database to determine the day corresponding to the particular date component. In other words, the data component may be converted by the system into a day component as well. For example, if the date component states 1 Jan. 2014, by comparing this date with a calendar stored in a server's database, the system will be able to ascertain that this date corresponds to Wednesday and the server's entries may be updated accordingly as and when required.
These parameters include, but are not limited to: a user's mobile phone number, a user's country-code, information about a user's mobile phone device, a user's mobile subscription type (prepaid/post-paid), the web-surfing history of a user's mobile device or the URLs (Uniform Resource Locator) accessed, a caller's number, the signal strength of the user's mobile device, the remaining power remaining in the user's mobile device and such other information that may be transmitted between the user's mobile device and the base station towers. Timestamp 305 includes date component 306 and time component 307. The illustration shown in
In accordance with other embodiments of the invention, the raw data stored in server 115 may include raw data transmitted between television 107 and modem 111. One skilled in the art will recognize that although
In accordance with other embodiments of the invention, the raw data stored in server 115 may include raw data transmitted between computer 108 and modem 111. One skilled in the art will recognize that although
In further embodiments of the invention, each of entries 300 as illustrated in
The inclusion of a mobile device's mobile number 355 into each of entries 350 allows the invention to generate activity grid tables associated with a particular user. For example, with reference to
In other embodiments of the invention, entries 300 may be grouped into a cluster having a broader range of longitudinal and latitudinal coordinates. For example, Cluster3 (not shown) may have a range of longitudinal and latitudinal coordinates between X1,Y1 and X2,Y2. This would result in a cluster having a greater number of entries as compared to the number of entries in Cluster1 or Cluster2. Such a broader grouping arrangement would be useful for visual representations involving plots on maps.
After entries 300 have been grouped into their respective clusters, one of these clusters may then be selected and each entry within this cluster will then be verified. In the verification process, entries that are verified will be validated while entries that are not verified will be excluded. The type of verification performed by the system on the entries depends on the type of visual representation that is to be generated and displayed by the system. Entries that are validated by the system will be visually represented in the table and/or on a map while entries that are invalidated by the system will be excluded. In embodiments of the invention, excluded entries may be deleted from the cluster, blacklisted by the system or moved out of the cluster into a separate group.
In accordance with another embodiment of the invention, entries 360 may be grouped into clusters, with each cluster corresponding to a particular channel. This embodiment is illustrated in
In accordance with yet another embodiment of the invention, entries 370 may be grouped into clusters, with each cluster corresponding to a particular website/universal resource locator. Such an embodiment is illustrated in
In accordance with an embodiment of the invention, a process for verifying entries in the clusters described above is illustrated in
The system then performs a verification process to determine the validity of a timestamp group whereby timestamp groups having a number of entries less than a minimum number or minimum threshold are excluded while those that pass the verification process will be validated. When this happens, entries within the excluded timestamp group are excluded as well. Timestamp groups that have a number of entries exceeding a minimum number or a minimum threshold will be validated. As a result, the entries in the validated timestamp groups will be validated too. The minimum number or the minimum threshold may comprise any integer and is left as a design choice for one skilled in the art. In the example illustrated in
In accordance with other embodiments of the invention, entries in a cluster associated with a latitudinal and longitudinal coordinate range having data usage, SMS usage and voice usage records may be verified based on a minimum data usage threshold, a minimum SMS usage threshold and/or a minimum voice usage threshold. In accordance with another embodiment of the invention, entries in a cluster associated with a particular channel having a record of program language and/or title may be verified based on a match between the entry's record of the program language and/or title and a predetermined program language and/or title. In accordance with yet another embodiment of the invention, entries in a cluster associated with a particular website/universal resource locator having a record of data volumes being uploaded to or downloaded from the particular website/universal resource locator may be verified based on a minimum data volume transfer threshold.
In these embodiments, entries that are invalidated will be excluded from the cluster. The validation method applied by the system depends on the visual representation that is to be generated and displayed. As an example, with regard to a cluster associated with a latitudinal and longitudinal range, if the system is to generate a grid table showing the SMS activity of a mobile device's user, the system will choose to validate the entries in the cluster by comparing the appropriate record in the entries with a minimum SMS usage threshold. Similarly, if the system is to generate a grid table showing the data usage activity of a mobile device's user, the system will choose to validate the entries in the cluster by comparing the appropriate record in the entries with a minimum data usage threshold. Further, if the system is to generate a grid table showing the voice usage activity of a mobile device's user, the system will choose to validate the entries in the cluster by comparing the appropriate record in the entries with a minimum voice usage threshold. The minimum number or minimum threshold used in these embodiments may comprise any integer and is left as a design choice for one skilled in the art. As an example, the thresholds may be determined according to the statistical distribution of the voice/SMS/data event per usage (usage is here the number of “hits” or distinct event transactions), with the aim of discarding outlier or irrelevant data entries.
As another example, with regard to a cluster associated with a record of a particular channel, if the system is to generate a grid table showing the language of a program watched by a user, the system will choose to validate the entries in the cluster by comparing the appropriate record in the entries with a language of interest. Similarly, if the system is to generate a grid table showing the title of the program watched by a user, the system will choose to validate the entries in the cluster by comparing the appropriate record in the entries with a title of a program that is of interest. The program language of interest and the title of the program used in these embodiments may comprise any alphanumeric entry and is left as a design choice for one skilled in the art. For example, the program language of interest may be English while the title may be “Computers101”.
As yet another example, with regard to a cluster associated with a record of a particular website/universal resource locator, if the system is to generate a grid table showing the volume of data uploaded to the website or downloaded from the website by the user, the system will choose to validate the entries in the cluster by comparing the appropriate record in the entries with a minimum threshold of data volume uploaded or downloaded. The minimum threshold of data volume uploaded or downloaded used in these embodiments may comprise any integer and is left as a design choice for one skilled in the art. For example, the minimum threshold of data volume may be 1 Megabytes or 100 kilobytes whereby any entries having data volumes below this threshold is to be excluded.
In accordance with embodiments of the invention, an empty grid table may generated by the system prior to the retrieving of the entries from server 115. One skilled in the art will recognize that the empty grid table may also be generated by the system at any time throughout the process as long as the table is generated prior to the table marking process.
Columns 915 in table 900 correspond to a time component. The time component may be displayed in the format of M hours, minutes, seconds or combinations thereof. Rows 910 correspond to a date component. The date component may be displayed in the format of K days of the week or dates. For example, if K were to be chosen as 5, this would mean that any 5 days of the week may be used as rows 910. In embodiments of the invention, columns 915 and rows 910 form grids 920 on table 900. Each grid of grids 920 correspond to specific timeslots on table 900. For example, as shown in
In accordance with embodiments of the invention, after the entries in the selected cluster associated with a latitudinal and longitudinal range have been validated, the system will link table 900 to the selected cluster. For example, with reference to
After the validated entries in the cluster are linked to the table, the system marks timeslots or grids on table 900 that correspond to the timestamps of the validated entries.
In accordance with embodiments of the invention, the marking of a grid on the table comprises graduated tone marking methodologies. An example of such a methodology would be a marking methodology that utilizes a colorimetric model. In the colorimetric model, the system determines a suitable colour range that is to be applied and this range is based on the number of validated entries. Under this approach, instead of markings that utilize hatches or crosses, the grid to be marked is coloured In other words; the number of markings on a grid can be shown by varying the tone of the colour applied to the grid. A lighter coloured grid represents lesser markings while a darker coloured grid represents an increased number of markings. This marking methodology also allows the system to process and display large amounts of raw data without losing granularity. One skilled in the art will recognize that other types or forms of graduated tone marking methodologies may be employed to mark the grids of the table without departing from this invention.
Table 1106 in
Table 1107 in
In these examples, one skilled in the art will recognize that grids having more hatched markings represent a greater number of entries having timestamps that correspond to that particular grid or timeslot as compared to grids having lesser hatched markings. With reference to table 1105, table 1105 shows that the user of the mobile device is not present at that particular longitudinal and latitudinal range between 0800 hours to 1700 hours between Monday and Friday and is not present at that particular longitudinal and latitudinal range for the whole of Saturday and Sunday.
In accordance with embodiments of the invention, the system may generate and display a map to visually represent the geographical locations that correspond to certain events. Such an example is illustrated in
In accordance with embodiments of the invention, after the entries in the selected cluster associated with a particular channel have been validated, the system will link table 1300 to the selected cluster. For example, with reference to
After the validated entries in the cluster are linked to the table, the system marks timeslots or grids on table 1300 that correspond to timestamps of the validated entries. As an example,
In accordance with another embodiment of the invention, table 1400 having columns 1415 and rows 1410 may be generated. As illustrated in
In accordance with embodiments of the invention, after the entries in the selected cluster associated with a particular website have been validated, the system will link table 1400 to the selected cluster. For example, with reference to
After the validated entries in the cluster are linked to the table, the system marks timeslots or grids on table 1400 that correspond to the timestamps of the validated entries.
In order to provide such a system, a user activity grid table generation process is needed that can retrieve entries from a server and based on a series of processes applied to these retrieved entries, generate and display a marked table. The following description and
In step 1610, depending on the type of entries that were retrieved, process 1600 obtains the latitudinal and longitudinal coordinate, the record of the channel or the record of the website/universal resource locator associated with the selected entry. The obtained latitudinal and longitudinal coordinate, record of the channel or record of the website/universal resource locator is compared in step 1615 with an appropriate parameter associated with existing clusters to determine if the obtained latitudinal and longitudinal coordinate, record of the channel or record of the website/universal resource locator falls within the range or matches with parameters associated with existing clusters. If the obtained latitudinal and longitudinal coordinate, record of the channel or record of the website/universal resource locator does not fall within the range or matches with parameters associated with existing clusters, the obtained latitudinal and longitudinal coordinate, record of the channel or record of the website/universal resource locator is deemed to be unique.
When this occurs, process 1600 creates a new cluster in step 1620. The entry from which the latitudinal and longitudinal coordinate, record of the channel or record of the website/universal resource locator was obtained from is then grouped into the newly created cluster in step 1625. Process 1600 then sequentially selects the next entry in step 1626.
Alternatively, if the obtained latitudinal and longitudinal coordinate, record of the channel or record of the website/universal resource locator falls within the range or matches with parameters associated with existing clusters, the obtained latitudinal and longitudinal coordinate, record of the channel or record of the website/universal resource locator is deemed to be not unique. The entry from which the latitudinal and longitudinal coordinate, record of the channel or record of the website/universal resource locator was obtained from is then grouped into the existing cluster in step 1630. Process 1600 then sequentially selects the next entry in step 1626.
Process 1600 repeats steps 1605-1626 until all the entries have been grouped into clusters. Once all the entries have been grouped, process 1600 ends. The range or parameters associated with existing clusters is left as a design choice to one skilled in the art. For example, if each entry in the retrieved plurality of entries includes a latitudinal and longitudinal coordinate, the range associated with the existing cluster at step 1615 would comprise a particular range of latitudinal and longitudinal coordinates. Similarly, if each entry in the retrieved plurality of entries includes a record of a channel or website, the parameter associated with the existing cluster at step 1615 would comprise a particular channel or website accordingly.
Before proceeding to process 1700 in
Alternatively, if process 1700 is able to find a match in step 1715, the obtained timestamp is deemed to be not unique and process 1700 then proceeds to step 1735. At this step, the entry related to the obtained timestamp is added to the existing timestamp group with which a match was found. Process 1700 then progresses to step 1730 where similarly, process 1700 sequentially selects the next entry from the entries in the selected cluster.
Process 1700 repeats steps 1705-1230 until all the entries have been grouped into their respective timestamp groups. Once all the entries have been grouped, process 1700 progresses to step 1740. The timestamp range of the timestamp groups is left as a design choice to one skilled in the art.
Process 1700 selects a timestamp group in step 1740. The number of entries in the selected timestamp group is summed and compared to a minimum number of entries in step 1745. If the number of entries in the selected timestamp group exceeds the minimum number of entries, process 1700 progresses to step 1755 where process 1700 selects the next timestamp group. Alternatively, if the number of entries in the selected timestamp groups does not exceed the minimum number of entries, process 1700 moves to step 1750 whereby process 1700 excludes all the entries in this selected timestamp group. When an entry is excluded, the entry may be deleted, removed or treated as blacklisted by the system. Process 1700 then progresses to step 1755 where similarly, process 1700 proceeds to select the next timestamp group. At step 1760, if it is determined that another timestamp group has been selected, process 1700 then repeats from step 1740 to step 1760 until all the timestamp groups have undergone the comparison step in step 1745. The minimum number of entries used in step 1745 is left as a design choice to one skilled in the art.
Another embodiment of the invention for verifying and validating entries in a selected cluster is illustrated in
Alternatively, if process 1800 determines that the obtained data usage record does not exceed the data threshold, process 1800 moves to step 1820. In step 1820, the selected entry is excluded from the selected cluster. Once the entry has been compared with the threshold, process 1800 then progresses to step 1815. At step 1815, process 1800 checks if there is another entry in the cluster. If there is another entry, process 1800 repeats from step 1805 to step 1815 until all the entries in the linked cluster have been validated. Alternatively, is there are no further entries, process 1800 ends. The data threshold used at step 1810 is left as a design choice to one skilled in the art.
Another embodiment of the invention for verifying and validating entries in a selected cluster is illustrated in
Yet another embodiment of the invention for verifying and validating entries in a selected cluster is illustrated in
Alternatively, if process 2000 determines that the obtained voice usage record does not exceed the voice threshold, process 2000 moves to step 2020. In step 2020, the selected entry is excluded from the selected cluster. Once this is done, process 2000 then progresses to step 2015. In step 2015, process 2000 checks if there is another entry in the cluster. If there is another entry, process 2000 repeats from step 2005 to step 2015 until all the entries in the selected cluster have been validated. Alternatively, if there are no further entries, process 2000 ends. The voice threshold used at step 2000 is left as a design choice to one skilled in the art.
Still yet another embodiment of the invention for verifying and validating entries in a selected cluster is illustrated in
Alternatively, if process 2100 determines that the obtained record of the program language does not match the preselected language, process 2100 moves to step 2120. In step 2120, the selected entry is excluded from the selected cluster. Once this is done, process 2100 then progresses to step 2115. In step 2115, process 2100 checks if there is another entry in the cluster. If there is another entry, process 2100 repeats from step 2105 to step 2115 until all the entries in the selected cluster have been validated. Alternatively, if there are no further entries, process 2100 ends. The preselected language used at step 2100 is left as a design choice to one skilled in the art.
Another embodiment of the invention for verifying and validating entries in a selected cluster is illustrated in
Alternatively, if process 2200 determines that the obtained record of the program title does not match the preselected program title, process 2200 moves to step 2220. In step 2220, the selected entry is excluded from the selected cluster. Once this is done, process 2200 then progresses to step 2215. In step 2215, process 2200 checks if there is another entry in the cluster. If there is another entry, process 2200 repeats from step 2205 to step 2215 until all the entries in the selected cluster have been validated. Alternatively, if there are no further entries, process 2200 ends. The preselected program title used at step 2200 is left as a design choice to one skilled in the art.
Still yet another embodiment of the invention for verifying and validating entries in a selected cluster is illustrated in
Alternatively, if process 2300 determines that the obtained record of the volume of data does not exceed the minimum data volume threshold, process 2300 moves to step 2320. In step 2320, the selected entry is excluded from the selected cluster. Once this is done, process 2300 then progresses to step 2315. In step 2315, process 2300 checks if there is another entry in the cluster. If there is another entry, process 2300 repeats step 2305 to step 2315 until all the entries in the selected cluster have been validated. Alternatively, if there are no further entries, process 2300 ends. The minimum data volume threshold used at step 2300 is left as a design choice to one skilled in the art.
In accordance with some embodiments of the invention, in addition to generating and displaying a user activity grid table, the system may also further generate and display a map to visually represent the geographical locations that correspond to certain events.
Process 2500 may be applied to validated entries in a cluster whereby the cluster is associated with a range of latitudinal and longitudinal coordinates. An example of such a cluster would be Cluster1 as illustrated in
Alternatively, if process 2500 is able to select another new validated entry, steps 2515 to 2510 repeat until all the longitudinal and latitudinal coordinates corresponding to all the validated entries have been plotted on the map. Process 2500 then ends.
In accordance with embodiments of the invention, in addition to generating and displaying a user activity grid table as described above, the system may also generate a user activity grid table that is unique and tailored to a particular user. In such an embodiment, with reference to
Alternatively, if the obtained number matches the number corresponding to an existing group, the obtained number is deemed to be not unique. The entry associated with the obtained number is then grouped into the existing group in step 2630. Similarly, process 2600 then sequentially selects the next entry in step 2626.
Process 2600 then repeats steps 2605-2626 until all the entries have been segregated into groups. Once all the entries have been segregated, process 2600 then proceeds to step 2635 where the system will select a group of entries based on the group's associated mobile number. The entries belonging to the other groups will then be excluded leaving behind only entries belonging to the selected group. These entries will then be processed in accordance with steps 1605-1626 as previously described. Process 2600 then ends. One skilled in the art will recognize that the entries produced as a result of process 2600 may also undergo processes 1700, 1800, 1900, 2000, 2400 and 2500 as previously described.
In accordance with embodiments of the invention, processes 1505-1525 in
Further, each of the generated activity grid tables associated with a range of latitudinal and longitudinal coordinates may be compared with a geographical database to ascertain the possible type of activity that may be associated with that particular range of latitudinal and longitudinal coordinates. For example, the system may check the geographical database to determine the geographical location that a range of latitudinal and longitudinal coordinates between (X1-X5,Y1-Y5) corresponds to. In this example, the geographical database may state that this range corresponds to the central business district of a particular city. Further, if the generated activity grid table shows that the user or plurality of users is at this location between 9 am-7 pm on Mondays to Fridays only, this would imply that the user or plurality of users works at the central business district.
In other words, by combining the generated activity grid tables with external databases, the persona of a particular individual or the personas of a plurality of individuals may be formed and analysed.
The above is a description of embodiments of a system and process in accordance with the present invention as set forth in the following claims. It is envisioned that others may and will design alternatives that fall within the scope of the following claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/SG2014/000135 | 3/18/2014 | WO | 00 |