EP2747442A2 - Content delivery system with profile generation mechanism and method of operation thereof - Google Patents
Content delivery system with profile generation mechanism and method of operation thereof Download PDFInfo
- Publication number
- EP2747442A2 EP2747442A2 EP13198635.8A EP13198635A EP2747442A2 EP 2747442 A2 EP2747442 A2 EP 2747442A2 EP 13198635 A EP13198635 A EP 13198635A EP 2747442 A2 EP2747442 A2 EP 2747442A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- profile
- user
- context
- feature
- user profile
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44222—Analytics of user selections, e.g. selection of programs or purchase activity
- H04N21/44224—Monitoring of user activity on external systems, e.g. Internet browsing
- H04N21/44226—Monitoring of user activity on external systems, e.g. Internet browsing on social networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4667—Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/475—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
- H04N21/4755—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4828—End-user interface for program selection for searching program descriptors
Definitions
- An embodiment of the present invention relates generally to a content delivery system, and more particularly to a system for profile generation mechanism.
- Modem portable consumer and industrial electronics especially client devices such as navigation systems, cellular phones, portable digital assistants, and combination devices are providing increasing levels of functionality to support modem life including location-based information services.
- Research and development in the existing technologies can take a myriad of different directions.
- One existing approach is to use location information to provide personalized content through a mobile device, such as a cell phone, smart phone, or a personal digital assistant.
- Personalized content services allow users to create, transfer, store, and/or consume information in order for users to create, transfer, store, and consume in the "real world.”
- One such use of personalized content services is to efficiently transfer or guide users to the desired product or service.
- An embodiment of the present invention provides a method of operation of a content delivery system including: generating a first user profile for representing a user's identity in a context; generating a second user profile for representing the user's identity in a different context; selecting the first user profile or the second user profile based on the context or the different context; and generating a display content based on the first user profile or the second user profile for displaying on a device.
- An embodiment of the present invention provides a method of operation of a content delivery system including: generating a first user profile having a profile feature for representing a user's identity in a context; generating a second user profile having the profile feature for representing the user's identity in a different context; selecting the first user profile or the second user profile based on the context or the different context; and generating a display content based on the first user profile or the second user profile for displaying on a device.
- An embodiment of the present invention provides a content delivery system, including: a first profile generation module for generating a first user profile for representing a user's identity in a context; a second profile generation module, coupled to the first profile generation module, for generating a second user profile for representing the user's identity in a different context; a selection module, coupled to the second profile generation module, for selecting the first user profile or the second user profile based on the context or the different context; and a content generation module, coupled to the selection module, for generating a display content based on the first user profile or the second user profile for displaying on a device.
- relevant information includes the navigation information described as well as information relating to points of interest to the user, such as local business, hours of businesses, types of businesses, advertised specials, traffic information, maps, local events, and nearby community or personal information.
- module can include software, hardware, or a combination thereof in the embodiment of the present invention in accordance with the context in which the term is used.
- the software can be machine code, firmware, embedded code, and application software.
- the hardware can be circuitry, processor, computer, integrated circuit, integrated circuit cores, a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), passive devices, or a combination thereof.
- MEMS microelectromechanical system
- the content delivery system 100 includes a first device 102, such as a client or a server, connected to a second device 106 , such as a client or server.
- the first device 102 can communicate with the second device 106 with a communication path 104, such as a wireless or wired network.
- the first device 102 can be of any of a variety of display devices, such as a cellular phone, personal digital assistant, wearable digital device, tablet, notebook computer, television (TV), automotive telematic communication system, or other multi-functional mobile communication or entertainment device.
- the first device 102 can be a standalone device, or can be incorporated with a vehicle, for example a car, truck, bus, aircraft, boat/vessel, or train.
- the first device 102 can couple to the communication path 104 to communicate with the second device 106.
- the content delivery system 100 is described with the first device 102 as a display device, although it is understood that the first device 102 can be different types of devices.
- the first device 102 can also be a non-mobile computing device, such as a server, a server farm, or a desktop computer.
- the second device 106 can be any of a variety of centralized or decentralized computing devices.
- the second device 106 can be a computer, grid computing resources, a virtualized computer resource, cloud computing resource, routers, switches, peer-to-peer distributed computing devices, or a combination thereof.
- the second device 106 can be centralized in a single computer room, distributed across different rooms, distributed across different geographical locations, embedded within a telecommunications network.
- the second device 106 can have a means for coupling with the communication path 104 to communicate with the first device 102.
- the second device 106 can also be a client type device as described for the first device 102.
- the first device 102 can be a particularized machine, such as a mainframe, a server, a cluster server, rack mounted server, or a blade server, or as more specific examples, an IBM System z10 (TM) Business Class mainframe or a HP ProLiant ML (TM) server.
- the second device 106 can be a particularized machine, such as a portable computing device, a thin client, a notebook, a netbook, a smartphone, personal digital assistant, or a cellular phone, and as specific examples, an Apple iPhone (TM), Android (TM) smartphone, or Windows (TM) platform smartphone.
- the content delivery system 100 is described with the second device 106 as a non-mobile computing device, although it is understood that the second device 106 can be different types of computing devices.
- the second device 106 can also be a mobile computing device, such as notebook computer, another client device, or a different type of client device.
- the second device 106 can be a standalone device, or can be incorporated with a vehicle, for example a car, truck, bus, aircraft, boat/vessel, or train.
- the content delivery system 100 is shown with the second device 106 and the first device 102 as end points of the communication path 104, although it is understood that the content delivery system 100 can have a different partition between the first device 102, the second device 106, and the communication path 104.
- the first device 102, the second device 106, or a combination thereof can also function as part of the communication path 104.
- the communication path 104 can be a variety of networks.
- the communication path 104 can include wireless communication, wired communication, optical, ultrasonic, or the combination thereof.
- Satellite communication, cellular communication, Bluetooth, wireless High-Definition Multimedia Interface (HDMI), Near Field Communication (NFC), Infrared Data Association standard (IrDA), wireless fidelity (WiFi), and worldwide interoperability for microwave access (WiMAX) are examples of wireless communication that can be included in the communication path 104.
- Ethernet, HDMI, digital subscriber line (DSL), fiber to the home (FTTH), and plain old telephone service (POTS) are examples of wired communication that can be included in the communication path 104.
- the communication path 104 can traverse a number of network topologies and distances.
- the communication path 104 can include direct connection, personal area network (PAN), local area network (LAN), metropolitan area network (MAN), wide area network (WAN) or any combination thereof.
- PAN personal area network
- LAN local area network
- MAN metropolitan area network
- WAN wide area network
- the context 202 is defined as a situation, environment, or a combination thereof where the user of the first device 102 is situated.
- the content delivery system 100 can determine the context 202 based on various factors.
- the context 202 can be determined based on user information 204.
- the user information 204 can include a location setting 206.
- the location setting 206 can represent a current geographic location, past geographic location visited, or future geographic location planned to be visited by the user of the first device 102.
- the location setting 206 can also represent professional environment, personal environment, or a combination thereof where the first device 102 is located.
- the location setting 206 can also represent who else is nearby the user of the first device 102.
- the content delivery system 100 can determine who is near by identifying the GPS information of another device near the first device 102.
- the illustration of FIG. 2 can depict the location setting 206 to be in a park.
- the user information 204 can include a user's interest 226, demographic information 208, professional information 210, health information 212, or a combination thereof.
- the user's interest 226 can represent the preference shown by the user of the first device 102.
- the user's interest 226 can represent interest in playing golf.
- the user information 204 can include an activity record 214, such as the user's behavior or an activity pattern.
- the activity record 214 can represent the user's activity pattern in the past time, the current time, or the future time. For example, the activity record 214 can show that the user plays golf every Sunday with his wife.
- the activity record 214 can include a pattern of activity for using the first device 102, the service provided by the content delivery system 100, or a combination thereof by the user.
- the demographic information 208 can represent the user's family structure, cultural background, or a combination thereof.
- the demographic information 208 illustrated in FIG. 2 can represent a family structure of the user being married without any kids.
- the professional information 210 can represent the user's occupation, education background, job title, place of occupation, or a combination thereof.
- the health information 212 can represent the user's age, health condition, or a combination thereof.
- the health information 212 illustrated in FIG. 2 can represent user being 32 years old.
- the context 202 can also be determined based on a context time 216.
- the context time 216 is defined as a representation of time for the context 202.
- the context time 216 can represent the time of the day when the context 202 is occurring.
- the context time 216 can also represent the future time when the context 202 can scheduled to occur. More specifically, the context 202 of family gathering can be scheduled on the user's calendar application on the first device 102 for the context time 216 of next weekend.
- the context time 216 can represent Sunday afternoon. More specifically, the user can be in the location setting 206 of a park on Sunday afternoon with his wife.
- a first user profile 218 is defined as a composition of various factors to represent a user's identity 220 under the context 202.
- the first user profile 218 can represent the user's identity 220 in the context 202 of work.
- the user's identity 220 for the user of the first device 102 can represent a husband who is age 32.
- the first user profile 218 under the context 202 can include the user at the park playing golf with the user's wife on a Sunday. More specifically, the first user profile 218 under this instance of the context 202 can represent a "Weekend Profile.” Furthermore, same user of the first device 102 can have multiple instances of the first user profile 218. Each instance of the first user profile 218 can represent the same user of the first device 102 under the specific instance of the context 202 where the first device 102 is identified or situated. For example, a seasonal instance of the first user profile 218 can be generated to reflect the context 202 representing the different occasion of the seasons of the year.
- the first user profile 218 can include a profile feature 222.
- the profile feature 222 is defined as a dimension or a characteristic of the user's identity 220 represented in the first user profile 218.
- the profile feature 222 can represent the user information 204, the context time 216, or a combination thereof.
- the first user profile 218 can include multiple instances of the profile feature 222.
- the "Weekend Profile” can include two instances of the demographic information 208 representing "married" and "with wife.”
- the first user profile 218 can be categorized according to a profile type 224.
- more than one instance of the first user profile 218 can represent the user's identity 220 and each of the first user profile 218 can be categorized by the profile type 224.
- the first user profile 218 can have the profile type 224 of a professional profile.
- the first user profile 218 can have the profile type 224 of a personal profile.
- the different context 302 is defined as a situation, environment, or a combination thereof where the user of the first device 102 of FIG. 1 is situated different from the context 202 of FIG. 2 .
- the content delivery system 100 can determine the different context 302 similarly as determining the context 202.
- the different context 302 can be determined based on the user information 204, the context time 216, or a combination thereof.
- FIG. 3 can illustrate a second user profile 304 for the user's identity 220 of FIG. 2 under the different context 302.
- the second user profile 304 can represent the different instance of the first user profile 218 of FIG. 2 .
- the second user profile 304 can represent the user's identity 220 under the different context 302.
- Element names with "first” or "second” does not connote, for example, priority, ordinal relationship, or a combination thereof, but rather labeled for identification purposes.
- the location setting 206 of FIG. 2 can represent the city, neighborhood, street, or a combination thereof.
- the user's interest 226 of FIG. 2 can represent going out for a drink with coworkers.
- the demographic information 208 of FIG. 2 , the professional information 210 of FIG. 2 , and the health information 212 of FIG. 2 can be the same as illustrated in FIG. 2 .
- the context time 216 can represent Thursday night.
- the second user profile 304 representing the "Work Profile” can include the profile feature 222 different from the first user profile 218 when the first device 102 is under the context 202 illustrated in FIG. 2 . More specifically, the profile feature 222 representing the user information 204 can change from "husband” to "businessman” and the context time 216 can change from "Sunday” to "Thursday.” However, the first user profile 218 and the second user profile 304 can have the same instance of the profile feature 222. For example, the health information 212 for the age can remain same at age "32" because the "Work Profile" can still represent the same user of the first device 102.
- a feature set 306 can represent an affinity grouping for multiple instances of the profile feature 222.
- one instance of the profile feature 222 can represent businessman.
- Another instance of the profile feature 222 can represent business address.
- Each instances of the profile feature 222, such as businessman and business address, can be associated with the context 202 of work.
- the feature set 306 can represent the plurality of the profile feature 222 associated with the context 202 of work.
- FIG. 4 therein is shown a third example of the display interface 201 displaying the first user profile 218 that changed over time.
- the context 202 illustrated in FIG. 4 can represent the context 202 of FIG. 2 after ten years.
- the first user profile 218 representing "Family Profile" can be updated by the content delivery system 100 to reflect the changes in the demographic information 208, the health information 212, and the context time 216.
- the demographic information 208 can include "two kids" after the user of first device 102 having a son and a daughter added to his family.
- the health information 212 can be updated to age of 42 after ten years.
- the context time 216 can represent ten years after the context time 216 as illustrated in FIG. 2 .
- the demographic information 208 representing the marital status, the location setting 206 representing the park, and the user's interest 226 of tennis can remain the same as illustrated in FIG. 2 .
- the content delivery system 100 can generate the display content 502 relevant to the first user profile 218 under the particular instance of the context 202.
- the first user profile 218 can represent "Christmas Profile.”
- the location setting 206 can represent the shopping mall.
- the context 202 can represent shopping for Christmas presents.
- the content delivery system 100 can select the appropriate instance of the first user profile 218 for the context 202. As a result, the content delivery system 100 can generate the display content 502 appropriate under the context 202 for the particular instance of the first user profile 218. For example, since the first user profile 218 is "Christmas Profile,” the content delivery system 100 can generate the display content 502 of "Christmas sales" at a department store within the shopping mall.
- the first user profile 218 can base on external information 504 in addition to the user information 204.
- the external information 504 can represent information independent from the user information 204. More specifically, the external information 504 can represent factors considered by the content delivery system 100 for generating the first user profile 218, the second user profile 304 of FIG. 3 , or a combination thereof.
- the first user profile 218 can include the profile feature 222 of FIG. 2 based on the external information 504 and not based on the user information 204, such as the user's interest 226 of FIG. 2 .
- a third party content 506 can represent information that can be displayed on the first device 102 when found relevant.
- the third party content 506 can represent sales available at the shopping mall, news media, events, or a combination thereof.
- the external information 504 and the third party content 506 can be provided by a third party content provider.
- the third party content provider can represent the external sources physically separate from the first device 102.
- the content delivery system 100 can update the display content 502 customized for the particular instance of the context 202.
- the context time 216 can represent the future time scheduled on the calendar application on the first device 102 of FIG. 2 .
- the context 202 can represent family gathering.
- the content delivery system 100 can generate the display content 502 representing a reminder notification to purchase the aunt's favorite chocolate.
- the content delivery system 100 can include the first device 102, the communication path 104, and the second device 106.
- the first device 102 can send information in a first device transmission 608 over the communication path 104 to the second device 106.
- the second device 106 can send information in a second device transmission 610 over the communication path 104 to the first device 102.
- the content delivery system 100 is shown with the first device 102 as a client device, although it is understood that the content delivery system 100 can have the first device 102 as a different type of device.
- the first device 102 can be a server having a display interface.
- the content delivery system 100 is shown with the second device 106 as a server, although it is understood that the content delivery system 100 can have the second device 106 as a different type of device.
- the second device 106 can be a client device.
- the first device 102 will be described as a client device and the second device 106 will be described as a server device.
- the embodiment of the present invention is not limited to this selection for the type of devices. The selection is an example of the present invention.
- the first device 102 can include a first control unit 612, a first storage unit 614, a first communication unit 616, a first user interface 618, and a location unit 620.
- the first control unit 612 can include a first control interface 622.
- the first control unit 612 can execute a first software 626 to provide the intelligence of the content delivery system 100.
- the first control unit 612 can be implemented in a number of different manners.
- the first control unit 612 can be a processor, an application specific integrated circuit (ASIC) an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof.
- the first control interface 622 can be used for communication between the first control unit 612 and other functional units in the first device 102.
- the first control interface 622 can also be used for communication that is external to the first device 102.
- the first control interface 622 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations.
- the external sources and the external destinations refer to sources and destinations physically separate from to the first device 102.
- the first control interface 622 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with the first control interface 622.
- the first control interface 622 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, or a combination thereof.
- MEMS microelectromechanical system
- the location unit 620 can generate location information, current heading, and current speed of the first device 102, as examples.
- the location unit 620 can be implemented in many ways.
- the location unit 620 can function as at least a part of a global positioning system (GPS), an inertial navigation system, a cellular-tower location system, a pressure location system, or any combination thereof.
- GPS global positioning system
- the location unit 620 can include a location interface 632.
- the location interface 632 can be used for communication between the location unit 620 and other functional units in the first device 102.
- the location interface 632 can also be used for communication that is external to the first device 102.
- the location interface 632 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations.
- the external sources and the external destinations refer to sources and destinations physically separate from the first device 102.
- the location interface 632 can include different implementations depending on which functional units or external units are being interfaced with the location unit 620.
- the location interface 632 can be implemented with technologies and techniques similar to the implementation of the first control interface 622.
- the first storage unit 614 can store the first software 626.
- the first storage unit 614 can also store the relevant information, such as advertisements, points of interest (POI), navigation routing entries, or any combination thereof.
- the relevant information can also include news, media, events, or a combination thereof from the third party content provider.
- the first storage unit 614 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof.
- the first storage unit 614 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM).
- NVRAM non-volatile random access memory
- SRAM static random access memory
- the first storage unit 614 can include a first storage interface 624.
- the first storage interface 624 can be used for communication between and other functional units in the first device 102.
- the first storage interface 624 can also be used for communication that is external to the first device 102.
- the first storage interface 624 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations.
- the external sources and the external destinations refer to sources and destinations physically separate from the first device 102.
- the first storage interface 624 can include different implementations depending on which functional units or external units are being interfaced with the first storage unit 614.
- the first storage interface 624 can be implemented with technologies and techniques similar to the implementation of the first control interface 622.
- the first communication unit 616 can enable external communication to and from the first device 102.
- the first communication unit 616 can permit the first device 102 to communicate with the second device 106 of FIG. 1 , an attachment, such as a peripheral device or a computer desktop, and the communication path 104.
- the first communication unit 616 can also function as a communication hub allowing the first device 102 to function as part of the communication path 104 and not limited to be an end point or terminal unit to the communication path 104.
- the first communication unit 616 can include active and passive components, such as microelectronics or an antenna, for interaction with the communication path 104.
- the first communication unit 616 can include a first communication interface 628.
- the first communication interface 628 can be used for communication between the first communication unit 616 and other functional units in the first device 102.
- the first communication interface 628 can receive information from the other functional units or can transmit information to the other functional units.
- the first communication interface 628 can include different implementations depending on which functional units are being interfaced with the first communication unit 616.
- the first communication interface 628 can be implemented with technologies and techniques similar to the implementation of the first control interface 622.
- the first user interface 618 allows a user (not shown) to interface and interact with the first device 102.
- the first user interface 618 can include an input device and an output device. Examples of the input device of the first user interface 618 can include a keypad, a touchpad, soft-keys, a keyboard, a microphone, an infrared sensor for receiving remote signals, or any combination thereof to provide data and communication inputs.
- the first user interface 618 can include a first display interface 630.
- the first display interface 630 can include a display, a projector, a video screen, a speaker, or any combination thereof.
- the first control unit 612 can operate the first user interface 618 to display information generated by the content delivery system 100.
- the first control unit 612 can also execute the first software 626 for the other functions of the content delivery system 100, including receiving location information from the location unit 620.
- the first control unit 612 can further execute the first software 626 for interaction with the communication path 104 via the first communication unit 616.
- the second device 106 can be optimized for implementing the embodiment of the present invention in a multiple device embodiment with the first device 102.
- the second device 106 can provide the additional or higher performance processing power compared to the first device 102.
- the second device 106 can include a second control unit 634, a second communication unit 636, and a second user interface 638.
- the second user interface 638 allows a user (not shown) to interface and interact with the second device 106.
- the second user interface 638 can include an input device and an output device.
- Examples of the input device of the second user interface 638 can include a keypad, a touchpad, soft-keys, a keyboard, a microphone, or any combination thereof to provide data and communication inputs.
- Examples of the output device of the second user interface 638 can include a second display interface 640.
- the second display interface 640 can include a display, a projector, a video screen, a speaker, or any combination thereof.
- the second control unit 634 can execute a second software 642 to provide the intelligence of the second device 106 of the content delivery system 100.
- the second software 642 can operate in conjunction with the first software 626.
- the second control unit 634 can provide additional performance compared to the first control unit 612.
- the second control unit 634 can operate the second user interface 638 to display information.
- the second control unit 634 can also execute the second software 642 for the other functions of the content delivery system 100, including operating the second communication unit 636 to communicate with the first device 102 over the communication path 104.
- the second control unit 634 can be implemented in a number of different manners.
- the second control unit 634 can be a processor, an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof.
- FSM hardware finite state machine
- DSP digital signal processor
- the second control unit 634 can include a second control interface 644.
- the second control interface 644 can be used for communication between the second control unit 634 and other functional units in the second device 106.
- the second control interface 644 can also be used for communication that is external to the second device 106.
- the second control interface 644 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations.
- the external sources and the external destinations refer to sources and destinations physically separate from the second device 106.
- the second control interface 644 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with the second control interface 644.
- the second control interface 644 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, or a combination thereof.
- MEMS microelectromechanical system
- a second storage unit 646 can store the second software 642.
- the second storage unit 646 can also store the relevant information, such as advertisements, points of interest (POI), navigation routing entries, or any combination thereof.
- the second storage unit 646 can be sized to provide the additional storage capacity to supplement the first storage unit 614.
- the second storage unit 646 is shown as a single element, although it is understood that the second storage unit 646 can be a distribution of storage elements.
- the content delivery system 100 is shown with the second storage unit 646 as a single hierarchy storage system, although it is understood that the content delivery system 100 can have the second storage unit 646 in a different configuration.
- the second storage unit 646 can be formed with different storage technologies forming a memory hierarchal system including different levels of caching, main memory, rotating media, or off-line storage.
- the second storage unit 646 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof.
- the second storage unit 646 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM).
- NVRAM non-volatile random access memory
- SRAM static random access memory
- the second storage unit 646 can include a second storage interface 648.
- the second storage interface 648 can be used for communication between other functional units in the second device 106.
- the second storage interface 648 can also be used for communication that is external to the second device 106.
- the second storage interface 648 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations.
- the external sources and the external destinations refer to sources and destinations physically separate from the second device 106.
- the second storage interface 648 can include different implementations depending on which functional units or external units are being interfaced with the second storage unit 646.
- the second storage interface 648 can be implemented with technologies and techniques similar to the implementation of the second control interface 644.
- the second communication unit 636 can enable external communication to and from the second device 106.
- the second communication unit 636 can permit the second device 106 to communicate with the first device 102 over the communication path 104.
- the second communication unit 636 can also function as a communication hub allowing the second device 106 to function as part of the communication path 104 and not limited to be an end point or terminal unit to the communication path 104.
- the second communication unit 636 can include active and passive components, such as microelectronics or an antenna, for interaction with the communication path 104.
- the second communication unit 636 can include a second communication interface 650.
- the second communication interface 650 can be used for communication between the second communication unit 636 and other functional units in the second device 106.
- the second communication interface 650 can receive information from the other functional units or can transmit information to the other functional units.
- the second communication interface 650 can include different implementations depending on which functional units are being interfaced with the second communication unit 636.
- the second communication interface 650 can be implemented with technologies and techniques similar to the implementation of the second control interface 644.
- the first communication unit 616 can couple with the communication path 104 to send information to the second device 106 in the first device transmission 608.
- the second device 106 can receive information in the second communication unit 636 from the first device transmission 608 of the communication path 104.
- the second communication unit 636 can couple with the communication path 104 to send information to the first device 102 in the second device transmission 610.
- the first device 102 can receive information in the first communication unit 616 from the second device transmission 610 of the communication path 104.
- the content delivery system 100 can be executed by the first control unit 612, the second control unit 634, or a combination thereof.
- the second device 106 is shown with the partition having the second user interface 638, the second storage unit 646, the second control unit 634, and the second communication unit 636, although it is understood that the second device 106 can have a different partition.
- the second software 642 can be partitioned differently such that some or all of its function can be in the second control unit 634 and the second communication unit 636.
- the second device 106 can include other functional units not shown in FIG. 6 for clarity.
- the functional units in the first device 102 can work individually and independently of the other functional units.
- the first device 102 can work individually and independently from the second device 106 and the communication path 104.
- the functional units in the second device 106 can work individually and independently of the other functional units.
- the second device 106 can work individually and independently from the first device 102 and the communication path 104.
- the content delivery system 100 is described by operation of the first device 102 and the second device 106. It is understood that the first device 102 and the second device 106 can operate any of the modules and functions of the content delivery system 100. For example, the first device 102 is described to operate the location unit 620, although it is understood that the second device 102 can also operate the location unit 620.
- the content delivery system 100 can include a collection module 702.
- the collection module 702 collects the user information 204 of FIG. 2 , the external information 504 of FIG. 5 , or a combination thereof.
- the collection module 702 can collect the user information 204 via the first control interface 622 of FIG. 6 .
- the collection module 702 can collect the external information 504 via the first control interface 622.
- the collection module 702 can include a behavior collection module 740.
- the behavior collection module 740 collects the user information 204.
- the behavior collection module 740 can collect the user information 204 in a number of ways.
- the behavior collection module 740 can collect the user information 204 by tracking the activity record 214 of FIG. 2 .
- the activity record 214 can be tracked by tracking the time when the user started or terminated the application on the first device 102, the time when the user read the display content 502 of FIG. 2 , read a news article, shared content in the social network, or a combination thereof.
- the activity record 214 can also include the type of content searched or shared on the internet or content network, the type of music listened on the first device 102, the type of video file (e.g., movie and/or television show video clips) viewed on the first device 102, or the content of comments or rating posted using the first device 102 by the user.
- the behavior collection module 740 can collect the user information 204 by receiving the activity record 214 for the actions performed by the user on the first device 102 as discussed above.
- the application running on the first device 102 can include a data collection application program interface (API) to collect the actions performed on the first device 102.
- API application program interface
- the external collection module 742 can include an external collection module 742.
- the external collection module 742 collects the external information 504.
- the external collection module 742 can collect the external information 504 by subscribing content from external sources.
- the external source can represent an electronic consumer good vendor.
- the vendor can provide information related to annual sale for the merchandize.
- the external collection module 742 can collect the external information 504 representing the annual sale by subscribing to the vendor's sale notification.
- the collection module 702 can send the user information 204, the external information 504, or a combination thereof collected to a context determination module 704.
- the content delivery system 100 can include the context determination module 704, which can be coupled to the collection module 702.
- the context determination module 704 determines the context 202 of FIG. 2 .
- the context determination module 704 can determine the context 202 based on the user information 204, the context time 216 of FIG. 2 , or a combination thereof.
- the context determination module 704 can determine the different context 302 of FIG. 3 different from the context 202 based on the user information 204, the context time 216, or a combination thereof.
- the context determination module 704 can determine the context 202 in a number of ways. For example, the context determination module 704 can determine the context 202 based on the location setting 206 of FIG. 2 . The context determination module 704 can determine the location setting 206 via the location unit 620 of FIG. 6 based on the GPS information. More specifically, the context determination module 704 can determine the GPS location of the first device 102 of FIG. 1 based on the latitudinal and longitudinal information. The GPS location can indicate whether the first device 102 is in an office or a park. As a result, the context determination module 704 can determine whether the first device 102 is in the context 202 of a professional setting, such as at work, or at a non-professional setting, such at a park or shopping center, based on the location setting 206.
- a professional setting such as at work
- a non-professional setting such at a park or shopping center
- the context determination module 704 can determine the context 202 based on the context time 216, the activity record 214, the location setting 206, or a combination thereof. More specifically, the context time 216 can represent 7PM.
- the activity record 214 indicates that the user eats dinner at a local Chinese restaurant every Tuesday.
- the activity record 214 can be recorded on the calendar application on the first device 102 and the location setting 206 for the restaurant can be determined based on the GPS information detected by location unit 620.
- the context determination module 704 can determine the context 202 to be user having dinner.
- the context determination module 704 can determine the different context 302 similarly as to determining the context 202.
- the context determination module 704 can send the context 202, the different context 302, or a combination thereof determined to a personalization module 706.
- the content delivery system 100 can include the personalization module 706, which can be coupled to the context determination module 704 and the collection module 702.
- the personalization module 706 generates the first user profile 218 of FIG. 2 .
- the personalization module 706 can generate the first user profile 218 for representing the user's identity 220 of FIG. 2 in the context 202.
- the personalization module 706 can also generate the second user profile 304 of FIG. 3 for representing the user's identity 220 in the different context 302.
- the personalization module 706 can receive the user information 204, the external information 504, or a combination thereof from the collection module 702.
- the personalization module 706 can include a feature generation module 708.
- the feature generation module 708 generates the profile feature 222 of FIG. 2 .
- the feature generation module 708 can generate the profile feature 222 based on the user information 204, the context time 216, or a combination thereof.
- the feature generation module 708 can generate the profile feature 222 based on dividing or compartmentalizing the user information 204 into different dimension or category.
- the feature generation module 708 can generate the profile feature 222 in a number of ways.
- the user information 204 can represent an aggregation of various factors, such as the location setting 206, the user's interest 226 of FIG. 2 , the demographic information 208 of FIG. 2 , the professional information 210 of FIG. 2 , the health information 212 of FIG. 2 , or a combination thereof.
- the feature generation module 708 can generate the profile feature 222 by parsing the user information 204 into an individual dimension, such as the user's interest 226 or the location setting 206.
- the feature generation module 708 can parse the user information 204 by categorizing the user information 204.
- the user information 204 related to the GPS information for the first device 102 at the Chinese restaurant can represent the location setting 206 of the first device 102.
- the feature generation module 708 can generate the profile feature 222 representing the location setting 206 by assigning the GPS information to the profile feature 222.
- the user information 204 can represent the activity record 214 of the user of the first device 102 playing golf every weekend. Additionally, the activity record 214 shows that the user frequently searches on first device 102 for new golf clubs online. Based on the frequency of information logged for playing golf and searching for new golf clubs as shown in the activity record 214, the feature generation module 708 can determine the user's interest 226 to be golf. The feature generation module 708 can generate the profile feature 222 representing the user's interest 226 by assigning "golf" to the profile feature 222. As a result, the profile feature 222 can represent each individual dimension, such as the user's interest 226 or the location setting 206, of the user's identity 220.
- the feature generation module 708 can generate the profile feature 222 based on the context 202. More specifically, the feature generation module 708 can generate the profile feature 222 based on various instances of the context time 216 of the context 202.
- the feature generation module 708 can receive the context 202, the different context 302, or a combination thereof from the context determination module 704.
- the context time 216 can represent the hour of a day, the day in a week, a week in a month, or a combination thereof when the context 202 or the different context 302 is occurring or schedule to occur.
- the feature generation module 708 can generate the profile feature 222 for each variations of the context time 216. More specifically, the profile feature 222 can represent "eating out.” Based on the context time 216, the profile feature 222 can represent a different type of cuisine. For example, the profile feature 222 can represent Chinese food for the context time 216 between 12pm to 2pm and Steak for the context time 216 between 6pm to 9pm.
- the feature generation module 708 can generate the feature set 306 of FIG. 3 by organizing the profile feature 222 with a hierarchical structure. More specifically, the feature set 306 can represent "Vacation Destinations.” The profile feature 222 can be categorized into sub-features, such as "Paris,” “Tahiti,” and “India” under the "Vacation Destinations.”
- the feature generation module 708 can categorize various instances of the profile feature 222 into the feature set 306 by grouping each instances of the profile feature 222 based on the affinity.
- the affinity grouping can represent the activity record 214 of the top three number of searches performed on the first device 102 related to the possible vacation destinations.
- the instances of the activity record 214 such as "Paris,” “Tahiti,” and "India,” can represent possible vacation destinations most frequently searched by the user on the first device 102.
- the feature generation module 708 can generate the feature set 306 of "Vacation Destinations” with instances of the profile feature 222 of "Paris,” “Tahiti,” and “India” over other destinations based on the frequency of the activity record 214 logged for "Paris,” “Tahiti,” and “India.”
- the feature generation module 708 can generate the feature set 306 based on a time series algorithm for grouping the user information 204, the external information 504, or a combination thereof frequently appeared under the context 202.
- a time series can represent a sequence of data points measured at successive time instants spaced at uniform time interval.
- the activity record 214 can indicate that the particular instance of the user information 204 can occur at a particular time frame under the same instance of the context 202. More specifically, the activity record 214 can represent a trend for the pattern of activity by the user of the first device 102 at work.
- the time series algorithm can track the trend of the user information 204 under the context 202 based on the frequency of the user information 204 appeared in the context 202.
- the location setting 206 of the first device 102 can indicate that the GPS location is representing the user's workplace.
- the pattern of activity can indicate that the first device 102 can be consistently located at the user's workplace at the context time 216 of 10AM during the weekdays.
- the context 202 can be determined as work.
- the affinity grouping can represent the categorization of the user information 204 occurring repetitively in the same instance of the context 202.
- the rate of appearance to be determined as frequent can be, for example, every day, every other day out of a week, or a combination thereof.
- the feature generation module 708 can extrapolate that the similar instances of the activity record 214 occurring frequently under the context 202 of work to be the trend that belong in the same affinity grouping. As a result, the feature generation module 708 can generate the feature set 306 by grouping the user information 204 collected under the same instance of the context 202.
- the feature generation module 708 can generate the feature set 306 based on a clustering algorithm for grouping the user information 204, the external information 504, or a combination thereof sharing similarities.
- the similarity can represent the activity record 214 indicating that various instances of the user information 204 are logged at a particular time frame, at a particular location, or in particular sequence of existence of information. This pattern of information logged in the activity record 214 can indicate a relationship and association between the user information 204 to establish the user's identity 220.
- the combination of each instances of the user information 204 that includes the location setting 206, the context time 216, the demographic information 208, and the activity record 214 can cluster during the context 202 of Christmas season.
- the external information 504 related to Christmas can also be collected during Christmas season.
- the frequent appearance of the information can represent an affinity grouping of the information.
- the affinity grouping can be based on the user information 204, the external information 504, or a combination thereof sharing the similarities.
- the similarity can be represented by the context 202, a theme, or a combination thereof.
- the feature generation module 708 can generate the feature set 306 by filtering the user information 204, the external information 504, or a combination thereof unrelated to the theme of Christmas.
- the feature generation module 708 can group the user information 204, the external information 504, or a combination thereof sharing the Christmas theme based on the clustering algorithm.
- the location setting 206 can indicate a shopping mall.
- the context time 216 can represent middle of December.
- the demographic information 208 can represent a family of four with two kids.
- the activity record 214 can indicate purchase of toys at a retail store.
- the external information 504 can represent Christmas sale.
- the feature generation module 708 can generate the feature set 306 for the context 202 by clustering various instances of the user information 204, the external information 506, or a combination thereof sharing the Christmas theme.
- the clustering algorithm can determine that "surfing at the beach” does not belong in the feature set 306, thus, exclude the activity record 214 from the feature set 306.
- the profile feature 222 can be generated based on information other than the user information 204.
- the feature generation module 708 can generate the profile feature 222 based on aggregating the external information 504.
- the profile feature 222 can be generated based on the external information 504, such as a popular ranking. More specifically, the popularity ranking can base on the entry, such as rating or opinion, made by the user, users other than the user of first device 102, or a combination thereof on external sources, such as the social network website, the product review website, or a combination thereof.
- the feature generation module 708 can generate the profile feature 222 based on an availability of the external information 504, the user's interest 226, or a combination thereof.
- the user's interest 226 can include playing golf and golfing merchandises. Furthermore, the user's interest 226 can also include particular professional golfer. The professional golfer can provide a high rating for a particular brand of golf clubs. The high rating can be presented based on selecting a number of stars provided on the rating website or opinions expressed in text on the product website.
- the feature generation module 708 can perform the text mining algorithm to determine the relevancy of the content on the product website to the user's interest 226 for filtering the external information 504 unrelated to the user's interest 226 and extracting the external information 504 related to the user's interest 226.
- the content can include the golfer's name, words such as "recommended," the name of the merchandise, or a combination thereof.
- the text mining algorithm can parse the content to decipher the keywords and determine the correlation by comparing to the keywords to the user's interest 226.
- the feature generation module 708 can generate the profile feature 222 representing the brand of golf club recommended by the professional golfer, the review website, or a combination thereof if the keywords mined matches the user's interest 226.
- the feature generation module 708 can combine various algorithms discussed above to generate the profile feature 222 relevant to the context 202.
- the feature generation module 708 can send the profile feature 222 to a first profile generation module 710 and a second profile generation module 712.
- the personalization module 706 can include the first profile generation module 710 and the second profile generation module 712, which the first profile generation module 710 and the second profile generation module 712 can be both coupled to the feature generation module 708.
- the first profile generation module 710 generates the first user profile 218.
- the first profile generation module 710 can generate the first user profile 218 for representing the user's identity 220 in the context 202.
- the second profile generation module 712 generates the second user profile 304.
- the second profile generation module 712 can generate the second user profile 304 for representing the user's identity 220 in the different context 302.
- the second profile generation module 712 can generate the second user profile 304 similarly as to the first profile generation module 710 generating the first user profile 218.
- the discussion below will focus on the first profile generation module 710 generating the first user profile 218.
- the first profile generation module 710 can generate the first user profile 218 in a number of ways. For example, the first profile generation module 710 can generate the first user profile 218 based on the profile feature 222 relevant to the context 202.
- the profile feature 222 can be generated based on the relevancy to the context 202.
- the plurality of the profile feature 222 can represent job category, job title, and salary.
- Another instances of the profile feature 222 can represent user's interest 226 of playing soccer and reading novels.
- the context 202 can represent work.
- the first profile generation module 710 can generate the first user profile 218 based on aggregating the instances of the profile feature 222 relevant to the context 202.
- the first profile generation module 710 can aggregate the instances of the profile feature 222 representing job category, job title, and salary because the instances of the profile feature 222 were determined to be relevant to the context 202 of work.
- the first profile generation module 710 can also categorize the first user profile 218 with the profile type 224 of FIG. 2 of professional profile based on a category of the profile feature 222 included in the first user profile 218.
- the instances of the profile feature 222 representing the user's interest 226 were not included because the instances were not relevant to the context 202.
- the first profile generation module 710 can generate the first user profile 218 based on selecting the feature set 306 relevant to the context 202.
- the feature set 306 can be generated by grouping the instances of the profile feature 222 relevant to the context 202.
- One instance of the feature set 306 can represent the instances of the profile feature 222 related to work.
- Another instance of the feature set 306 can represent the instances of the profile feature 222 related to camping.
- the context 202 determined can represent camping in Yellowstone National Park.
- the first profile generation module 710 can generate the first user profile 218 representing "Camping Profile" based on selecting the feature set 306 relevant to the context 202 and filtering the feature set 306 irrelevant to the context 202.
- the content delivery system 100 generates the first user profile 218 customized to the context 202.
- the content delivery system 100 can improve the delivery of the display content 502 to the first device 102 relevant to the context 202.
- the content delivery system 100 can deliver the display content 502 efficiently to enhance the user experience of using the first device 102 and the content delivery system 100.
- first profile generation module 710 and the second profile generation module 712 can generate the first user profile 218 and the second user profile 304 in parallel processes, in sequential order, or a combination thereof.
- the first profile generation module 710, the second profile generation module 712, or a combination thereof can send the first user profile 218, the second user profile 304, or a combination thereof to a weight calculator module 714.
- the personalization module 706 can include the weight calculator module 714, which can be coupled to the first profile generation module 710 and the second profile generation module 712.
- the weight calculator module 714 calculates a feature weight 716, which is defined as a level of importance placed on the profile feature 222.
- the feature weight 716 can range from 0 to 1 with 0 representing the lowest value for the feature weight 716 and 1 representing the highest value for the feature weight 716.
- the weight calculator module 714 can calculate the feature weight 716 of the profile feature 222 based on the context 202.
- the weight calculator module 714 can calculate the feature weight 716 in a number of ways.
- the context 202 can represent out of town. More specifically, the user of the first device 102 can be out of town for business, away from the home city.
- the weight calculator module 714 can increase the feature weight 716 for profile feature 222 representing the user's interest 226 of Chinese food from 0.2 to 0.8 to raise the level of importance for increasing the probability of displaying the display content 502 related to the user's interest 226.
- the activity record 214 can indicate that the user of the first device 102 frequently visits Hawaii for vacation. More specifically, the activity record 214 can show high frequency of entries for the location setting 206 representing Hawaii in the first storage unit 614 of FIG. 6 and search queries related to Hawaii requested by the user on the first device 102. The entries logged in the activity record 214 can be determined as frequent if the entries were logged every hour, every day, or a combination thereof.
- the weight calculator module 714 can increase the profile feature 222 based on the frequency of the activity record 214 collected to increase the probability of displaying the display content 502 related to Hawaii.
- the weight calculator module 714 can calculate the feature weight 716 for the same instance of the profile feature 222 within the one instance of the first user profile 218 with a higher value or a lower value based on a degree of relevancy of the profile feature 222 to the context 202.
- the degree of relevancy can base on how far away in time period from the context time 216. More specifically, the context time 216 can represent year 2018 for the World Cup Soccer tournament in Moscow.
- the feature weight 716 for the profile feature 222 representing the World Cup Soccer can have a value less than 1 during the non-World Cup years or time other than 2018. However, once the World Cup year becomes closer, the weight calculator module 714 can increase the feature weight 716 to increase the relevancy of the profile feature 222.
- the weight calculator module 714 can decrease the feature weight 716 to the value of 0 to indicate that the degree of relevancy for the profile feature 222 to the context 202 has diminished. However, the weight calculator module 714 can increase the feature weight 716 to 0.25 in 2015, 0.5 in 2016, 0.75 in 2017, and 1 in 2018. Again, once the World Cup is over in 2018, the weight calculator module 714 can calculate the feature weight 716 to be less than 1 to reflect the decreased relevancy of the profile feature 222.
- the content delivery system 100 can calculate the feature weight 716 to adjust the importance of the profile feature 222. By modifying the feature weight 716 according to the context 202, the content delivery system 100 can customize the first user profile 218 according to the context 202 more accurately. As a result, the content delivery system 100 can deliver the display content 502 more efficiently and effectively for the enhanced user experience for operating the first device 102 and the content delivery system 100.
- the weight calculator module 714 can calculate the feature weight 716 for the profile feature 222 within the first user profile 218 with a higher value or a lower value than the same type of the profile feature 222 within the second user profile 304 based on the context 202.
- the first user profile 218 and the second user profile 304 can both include the profile feature 222 representing the user's interest 226 of fine dining.
- the first user profile 218 can be categorized with the profile type 224 of professional profile while the second user profile 304 can be categorized with the profile type 224 of personal profile. If the context 202 represents professional environment, the weight calculator module 714 can increase the value for the feature weight 716 for the profile feature 222 for the first user profile 218.
- fine dining can be determined to be more relevant for the "Work Profile” than the "Family Profile” for taking clients out for a meal under the context 202.
- the weight calculator module 714 can decrease the feature weight 716 for the profile feature 222 of fine dining for the "Family Profile” to reflect the decrease of relevancy of the profile feature 222 under the context 202.
- the content delivery system 100 can calculate the feature weight 716 to customize the importance of the profile feature 222 for multiple instances of the first user profile 218. By modifying the feature weight 716 for each instances of the first user profile 218 according to the context 202, the content delivery system 100 can improve the relevancy of the first user profile 218 for the context 202. As a result, the content delivery system 100 can deliver the display content 502 more efficiently and effectively for the enhanced user experience for operating the first device 102 and the content delivery system 100.
- the weight calculator module 714 can calculate the feature weight 716 for the feature set 306. For example, the weight calculator module 714 can calculate the feature weight 716 by increasing or decreasing the value in equal proportion amongst the plurality of the profile feature 222 within the same instance of the feature set 306.
- the feature set 306 can include the plurality of the profile feature 222 representing special sales, store locations, and product reviews for the context 202 of Christmas season. When the context 202 is no longer Christmas season, the weight calculator module 714 can calculate the feature weight 716 for the feature set 306 by decreasing the feature weight 716 for each instances of the profile feature 222 from the value of 1 to the value of 0.
- the personalization module 706 can send the first user profile 218, the second user profile 304, or a combination thereof to a profile management module 718.
- the content delivery system 100 is shown with the first profile generation module 710 generating the first user profile 218 based on the user information 204, although it is understood that the first profile generation module 710 can be operated differently.
- the first profile generation module 710 can generate the first user profile 218 based on the feature weight 716 of the profile feature 222 of the first user profile 218 meeting or exceeding a weight threshold 720.
- the weight threshold 720 is defined as the required value for the feature weight 716.
- the weight threshold 720 can represent the required value for each instance of the feature weight 716.
- the weight threshold 720 can represent the required aggregated value or average value of the plurality of the feature weight 716.
- the first profile generation module 710 can generate the first user profile 218 based on the aggregated or the average value for the plurality of the feature weight 716 for the plurality of the profile feature 222 within the first user profile 218 meeting or exceeding the weight threshold 720.
- the feature weight 716 for the profile feature 222 representing the World Cup Soccer can represent 0.5.
- the feature weight 716 for the profile feature 222 representing World Cup site of Moscow can represent 0.5.
- the weight threshold 720 can represent the average value of the instances of the feature weight 716.
- the weight threshold 720 can represent 0.75. Since the average value of the feature weight 716 did not meet the weight threshold 720, the first user profile 218 representing "World Cup" will not be generated.
- the weight threshold 720 can represent 0.5.
- the feature weight 716 can represent 0.25. Because the feature weight 716 is less than the weight threshold 720, the first profile generation module 710 can generate the first user profile 218 excluding the profile feature 222 failing to meet the weight threshold 720. In contrast, if the feature weight 716 meets or exceeds the weight threshold 720, the first profile generation module 710 can generate the first user profile 218 including the profile feature 222.
- the content delivery system 100 can generate the first user profile 218 based on the feature weight 716 meeting or exceeding the weight threshold 720. By comparing the feature weight 716 to the weight threshold 720, the content delivery system 100 can further refine the profile feature 222 that should be included or not in the first user profile 218 under the context 202. As a result, the content delivery system 100 can deliver the display content 502 more efficiently and effectively for the enhanced user experience for operating the first device 102 and the content delivery system 100.
- the content delivery system 100 can include the profile management module 718, which can be coupled to the personalization module 706.
- the profile management module 718 manages the first user profile 218 or the second user profile 304 based on the context 202. For example, the profile management module 718 can select the first user profile 218 or the second user profile 304 based on the context 202 or the different context 302. For a different example, the profile management module 718 can delete the first user profile 218, the second user profile 304, or a combination thereof based on the context 202.
- the profile management module 718 can include a selection module 722.
- the selection module 722 selects the first user profile 218 or the second user profile 304.
- the selection module 722 can select the first user profile 218 or the second user profile 304 based on the relevancy to the context 202 or the different context 302.
- the selection module 722 can select the first user profile 218 or the second user profile 304 in a number of ways.
- the context 202 can represent the professional environment while the different context 302 can represent a social setting.
- the first user profile 218 can represent "Work Profile” while the second user profile 304 can represent "Party Profile.” If the context 202 is determined to be the professional environment, the selection module 722 can select the first user profile 218 representing "Work Profile” based on the higher relevancy to the context 202. "Work Profile” can be determined to have higher relevancy based on including more instances of the profile feature 222 relevant for the context 202 of work than "Party Profile.”
- the content delivery system 100 can select the first user profile 218 most suited for the context 202. By selecting the first user profile 218 according to the context 202, the content delivery system 100 can deliver the display content 502 more efficiently and effectively for the enhanced user experience for operating the first device 102 and the content delivery system 100.
- the selection module 722 can select the first user profile 218 over the second user profile 304 based on the value of the feature weight 716 for the first user profile 218 exceeding the value of the feature weight 716 for the second user profile 304.
- the comparison can be between the aggregated value of the plurality of the feature weight 716 for the plurality of the profile feature 222 in the first user profile 218 to the aggregated value of the plurality of the feature weight 716 for the plurality of the profile feature 222 in the second user profile 304.
- the comparison can be between the averaged value of the plurality of the feature weight 716 for the first user profile 218 to the averaged value of the plurality of the feature weight 716 for the second user profile 304.
- the selection module 722 can select the first user profile 218 or the second user profile 304 based on the higher of the aggregated or the averaged value.
- the selection module 722 can resolve the conflict for selecting the first user profile 218 or the second user profile 304 under the same instance of the context 202 by selecting the profile with the higher value of the feature weight 716.
- the content delivery system 100 can select the first user profile 218 based on the feature weight 716 for resolving a conflict arising from both the first user profile 218 and the second user profile 304 possibly suited for the same instance of the context 202.
- the content delivery system 100 can select the first user profile 218 if the first user profile 218 is found to be more relevant than the second user profile 304for the context 202.
- the content delivery system 100 can deliver the display content 502 more efficiently and effectively for the enhanced user experience for operating the first device 102 and the content delivery system 100.
- the profile management module 718 can include a deletion module 724.
- the deletion module 724 deletes the first user profile 218 or the second user profile 304.
- the deletion module 724 can delete the first user profile 218 or the second user profile 304 based on the infrequency of use of the first user profile 218 or the second user profile 304.
- the first user profile 218 can represent "Trip to Peru Profile.”
- the user of the first device 102 can never visit Peru again in his lifetime.
- the deletion module 724 can delete the first user profile 218 for "Trip to Peru Profile.”
- the deletion module 724 can delete the first user profile 218 or the second user profile 304 based on a time threshold 726, which is defined as a time limit placed on the usage of the first user profile 218 or the second user profile 304.
- the time threshold 726 can represent 5 years. If the first user profile 218 was never factored by the content delivery system 100 for generating the display content 502, the deletion module 724 can delete the first user profile 218.
- the deletion module 724 can delete the first user profile 218 or the second user profile 304 based on the feature weight 716 failing to meet the weight threshold 720.
- the weight threshold 720 can represent the requirement for the first user profile 218 to have at least one instance of the profile feature 222 with the feature weight 716 value of 1. If the first user profile 218 does not have the profile feature 222 with the feature weight 716 value of 1, the deletion module 724 can delete the first user profile 218.
- the weight threshold 720 can represent the aggregated or the averaged value for the plurality of the feature weight 716 for the plurality of the profile feature 222 for the first user profile 218.
- the deletion module 724 can delete the first user profile 218 if the aggregated or the averaged value for the plurality of the feature weight 716 fails to meet the weight threshold 720.
- the profile management module 718 can send the first user profile 218 or the second user profile 304 selected to a content management module 728.
- the content delivery system 100 can delete the first user profile 218 unsuited for the context 202. By deleting the first user profile 218, the content delivery system 100 can reallocate the processing resource used for selecting the first user profile 218. As a result, the content delivery system 100 can improve the performance with the additional resource for delivering the display content 502 to the first device 102.
- the content delivery system 100 can include the content management module 728, which can be coupled to the profile management module 718.
- the content management module 728 generates the display content 502.
- the content management module 728 can generate the display content 502 based on the first user profile 218 or the second user profile 304.
- the content management module 728 can generate the display content 502 in a number of ways.
- the content management module 728 can include a retrieval module 730.
- the retrieval module 730 retrieves the third party content 506 of FIG. 5 .
- the retrieval module 730 can retrieve the third party content 506 from the external sources for generating the display content 502.
- the retrieval module 730 can retrieve the third party content 506 from the third party content provider via the first control interface 622.
- the retrieval module 730 can retrieve the third party content 506 in a number of ways.
- the retrieval module 730 can retrieve the third party content 506 using a semantic analysis.
- the semantic analysis can analyze the content of the third party content 506. More specifically, the third party content 506 can be displayed as content on a website.
- the third party content 506 can represent updated departure time for the user's flight schedule.
- the first user profile 218 can represent "Business Trip Profile.”
- the "Business Trip Profile" can include the profile feature 222 representing an itinerary. Based on the profile feature 222, the retrieval module 730 can perform the semantic analysis by deciphering the flight number, the departure time, and keywords such as "delay" to retrieve the third party content 506 for the itinerary.
- the retrieval module 730 can retrieve the third party content 506 using a metadata.
- the metadata can be provided from the external sources, such as the third party content provider, result from the semantic analysis, or a combination thereof.
- the third party content 506 provided by the external sources can contain the metadata to categorize the content. More specifically, the metadata can be organized in a hierarchical structure which can correspond to the profile feature 222 of the first user profile 218.
- the hierarchical structure of the metadata can represent "News" at the top level of the hierarchy.
- the metadata can represent various subcategories, such as “Top News,” “Sports News,” and “Entertainment News.”
- the first user profile 218 can represent "News Reader Profile.”
- the "News Reader Profile” can include the profile feature 222 representing "Sports News.”
- the retrieval module 730 can determine the category of the metadata for the content to retrieve the information relevant to the first user profile 218. For a specific example, the retrieval module 730 can retrieve the content with the metadata of "Sports News" for the user of the first device 102.
- the retrieval module 730 can retrieve the third party content 506 based on the context 202 or the different context 302. More specifically, the location setting 206 can change from work to home. As a result, the context 202 where the first device 102 is situated can change as well. Furthermore, the third party content 506 interested by the user of the first device 102 can also change. For a specific example, the retrieval module 730 can change the retrieval of the third party content 506 from business news to entertainment news once the change in the context 202 is determined.
- the retrieval module 730 can retrieve the third party content 506 based on the user's interest 226.
- the third party content 506 can represent media information, such as TV shows, movies, or a combination thereof.
- the media information can include media metadata, such as genre, key actors, directors, description, popularity, or a combination thereof.
- the user's interest 226 can represent "love comedy movie" for the genre.
- the retrieval module 730 can retrieve the third party content 506 related to media information relevant to the genre of "love comedy movie.”
- the retrieval module 730 can send the third party content 506 retrieved to a match module 732.
- the content management module 728 can include the match module 732, which can be coupled to the retrieval module 730.
- the match module 732 matches the third party content 506 retrieved to the first user profile 218.
- the match module 732 can match the third party content 506 to the profile feature 222 of the first user profile 218.
- the match module 732 can match in a number of ways.
- the match module 732 can match the hierarchical structure of the third party content 506 retrieved to the hierarchical structure of the profile feature 222 of the first user profile 218.
- the hierarchical structure of the third party content 506 can represent Hyundai (TM), a Korean automobile company with child structures with "Genesis (TM),” “Elantra (TM),” and “Veloster (TM),” automobile models for Hyundai (TM).
- the profile feature 222 can also be organized with the hierarchical structure of Hyundai (TM) with the sub-feature of "Veloster (TM).”
- the match module 732 can match the "Hyundai (TM)” and “Veloster (TM)” hierarchical structure of the third party content 506 to the "Hyundai (TM)” and “Veloster (TM)” hierarchical structure of the profile feature 222. More specifically, the match module 732 can match based on the similarity of the hierarchical structure. As discussed above, the match module 732 is able to match the third party content 506 to the profile feature 222 based on the same structure of the hierarchy.
- the match module 732 can match the third party content 506 based on the context 202 or the different context 302.
- the location setting 206 can represent vacation in Hawaii.
- the third party content 506 retrieved can represent vacationing spots in Waikiki.
- the match module 732 can match the information related to Waikiki to the first user profile 218 representing "Vacation Profile.”
- the context time 216 can represent 7PM.
- the match module 732 can match the third party content 506 based on the context time 216.
- the match module 732 can match third party content 506 related to restaurants that serve dinner and filter information related to restaurants that serve breakfast. Further details regarding the filtration will be discussed below.
- the match module 732 can include a matrix module 744.
- the matrix module 744 generates a user matrix 746.
- the matrix module 744 can generate the user matrix 746 based on parsing the third party content 506 retrieved.
- the user matrix 746 can be generated for each instance of the third party content 506, a category for the third party content 506, or a combination thereof.
- the third party content 506 can represent the media information.
- the media information can include media metadata, such as entertainment type, genre, key actors, directors, description, popularity, or a combination thereof.
- the matrix module 744 can generate the user matrix 746 by having each metadata parsed as the column for the user matrix 746.
- the matrix module 744 can send the user matrix 746 to an index module 748.
- the match module 732 can include the index module 748, which can couple the matrix module 744.
- the index module 748 calculates a similarity index 750.
- the similarity index 750 is defined as a pertinence level.
- the similarity index 750 can represent how likely the user of the first device 102 will like the third party content 506. Further, the similarity index 750 can represent the relevancy of the third party content 506 to the user's interest 226.
- the index module 748 can calculate the similarity index 750 in a number of ways.
- the index module 748 can calculate the similarity index 750 based on comparing the user's interest 226, the activity record 214, or a combination thereof to the third party content 506.
- the third party content 506 can represent the media information.
- the user's interest 226 can represent "movie,” "love comedy movie,” or a combination thereof.
- the metadata for the media information can include the entertainment type representing "movie” and the genre representing "love comedy movie.”
- the index module 748 can select the columns on the user matrix 746 for the entertainment type and the genre based on the user's interest 226 matching the metadata.
- the index module 748 can calculate the similarity index 750 based on the number of columns selected from the user matrix 746. For example, as described above, the user matrix 746 for the media information can include six columns. If all the columns were selected, the index module 748 can score the similarity index 750 of 100% or 1. In contrast, continuing from the previous example, only two columns, the entertainment type and the genre, out of six were selected. The index module 748 can calculate the similarity index 750 as 33% or 0.33. The similarity index 750 of 1 can represent a higher relevancy of the third party content 506 to the user information 204 than the similarity index 750 of 0.33.
- the index module 744 can calculate the similarity index 750 based on a machine learning algorithm.
- the index module 744 can track the selection of the column for the user matrix 746.
- the similarity index 750 for the third party content 506 representing the "Jerry Maguire,” an American “love comedy movie,” can be 0.75.
- the user matrix 746 representing another media information, such as "Knocked Up,” an American “love comedy movie,” can also have the same number of columns selected for the user matrix 746.
- the index module 744 can calculate the similarity index 750 based on the machine learning algorithm to extrapolate that the user matrix 746 having similar number of columns selected to score the same value of the similarity index 750. More specifically, the similarity index 750 for "Knocked Up" can also be 0.75.
- the index module 744 can calculate the similarity index 750 based on the context 202 or the different content 302.
- the context 202 can represent a weekend.
- the index module 744 can calculate the similarity index 750 to be a value of 1 because the user's interest 226 includes going to movies on the weekend.
- the different context 302 can represent a weekday.
- the index module 744 can calculate the similarity index 750 to be a value of 0 because the user's interest 226 does not include going to the movies during the weekday.
- the index module 744 can send the similarity index 750 to a filtration module 752.
- the match module 732 can include the filtration module 752, which can be coupled to the index module 748.
- the filtration module 752 can filter the third party content 506 found irrelevant.
- the filtration module 752 can filter the third party content 506 based on the similarity index 750 below an index threshold 754.
- the index threshold 754 is defined as the required value for the similarity index 750.
- the index threshold 754 can represent the required aggregated value or average value of the plurality of the similarity index 750. More specifically, the filtration module 752 can set the index threshold 754 to represent the average value of the instances of the similarity index 750 for multiples users of the content delivery system 100.
- the index threshold 754 can represent 0.5.
- the similarity index 750 below the index threshold 754 can be deemed irrelevant, thus, filtered.
- the filtration module 752 can filter based on the context 202 or the different context 302.
- the calendar application on the first device 102 can indicate a meeting at 12PM.
- the filtration module 752 can filter information related to lunchtime special offered by local restaurant but not filter the third party content 506 related to food delivery service for the office.
- the match module 732 can match the third party content 506 to the first user profile 218 based on the hierarchical structure, although it is understood that the match module 732 can be operated differently.
- the match module 732 can match the third party content 506 to the first user profile 218 based on the similarity index 750 meeting or exceeding the index threshold 754.
- the similarity index 750 meeting or exceeding the index threshold 754 can be determined as relevant to the first use profile 218.
- the third party content 506, such as the "Knocked Up” can be matched with the first user profile 218.
- the filtration module 752 can filter the third party content 506, although it is understood that the filtration module 752 can be operated different.
- the filtration module 752 can update the index threshold 754.
- the index threshold 754 can represent the average value of the similarity index 750 related to the third party content 506 for "action movie.”
- the index threshold 754 can represent 0.5.
- the filtration module 752 can increase or decrease the value of the index threshold 754 based on the user information 204, the external information 504, or a combination thereof.
- the user of the first device 102 can initially receive the third party content 506 with the similarity index 750 with the value of 0.5, thus meeting the index threshold 754.
- the third party content 506 does not increase the frequency of activity related to the third party content 506 on the first device 102.
- the filtration module 752 can increase the index threshold 754 to 0.6 for raising the threshold for the third party content 506 of "action movie" to be matched with the first user profile 218.
- the match module 732 can decrease the number of the third party content 506 found uninterested by the user of the first device 102.
- the content management module 728 can include a content generation module 734, which can be coupled to the match module 732.
- the content generation module 734 generates the display content 502.
- the content generation module 734 generates the display content 502 based on the third party content 506 determined to have matched the first user profile 218.
- the content generation module 734 can send the display content 502 to a display module 736.
- the content delivery system 100 can include the display module 736, coupled to the content management module 728.
- the display module 736 displays the display content 502 on the first device 102.
- the display module 736 can include a tracker module 738.
- the tracker module 738 can generate the activity record 214 by tracking the activity performed on the first device 102.
- the activity record 214 can include the time when the user started or terminated the application on the first device 102, the time when the user read the display content 502, read a news article, shared the display content 502 in the social network, or a combination thereof.
- the tracker module 738 can send the activity record 214 to the collection module 702.
- the content delivery system 100 is shown with the first profile generation module 710 generating the first user profile 218 based on the profile feature 222 representing the user information 204, although it is understood that the first profile generation module 710 can be operated differently.
- the first profile generation module 710 can update the first user profile 218.
- the second profile generation module 712 can update the second user profile 304 similarly as the first profile generation module 710 updating the first user profile 218 as discussed below.
- the first profile generation module 710 can update the first user profile 218 for the same instance of the context 202.
- the first user profile 218 can represent "Family Profile.”
- the "Family Profile” can include the profile feature 222 representing the demographic information 208.
- the demographic information 208 can initially represent husband and wife without kids.
- the first profile generation module 710 can update the first user profile 218 to include the profile feature 222 representing a child.
- the first profile generation module 710 can update the first user profile 218 by adding, deleting, or a combination thereof the profile feature 222 in the first user profile 218.
- the content delivery system 100 can update the same instance of the first user profile 218 to improve the representation of the user's identity 220 under the context 202. Even if the context 202 does not change, the first user profile 218 suited for the context 202 can change. As a result, the content delivery system 100 can update the first user profile 218 to improve the relevancy of the first user profile 218 for the context 202. As a result, the accuracy of delivering the display content 502 that matches the first user profile 218 can be improved for the enhanced user experience for operating the first device 102 and the content delivery system 100.
- the physical transformation for determining the context 202 results in movement in the physical world, such as people using the first device 102, based on the operation of the content delivery system 100. As the movement in the physical world occurs, the movement itself creates additional information that is converted back into updating the feature weight 716, the first user profile 218, or a combination thereof under the context 202 for the continued operation of the content delivery system 100 and to continue movement in the physical world.
- the first software 626 of FIG. 6 of the first device 102 of FIG. 6 can include the content delivery system 100.
- the first software 626 can include the collection module 702, the context determination module 704, the personalization module 706, the profile management module 718, the content management module 728, and the display module 736.
- the first control unit 612 of FIG. 6 can execute the first software 626 for the collection module 702 to collect the user information 204, the external information 504, or a combination thereof.
- the first control unit 612 can execute the first software 626 for the context determination module 704 to determine the context 202, the different context 302, or a combination thereof.
- the first control unit 612 can execute the first software 626 for the personalization module 706 to generate the first user profile 218, the second user profile 304, or a combination thereof.
- the first control unit 612 can execute the first software 626 for the profile management module 718 for selecting the first user profile 218, the second user profile 304, or a combination thereof.
- the first control unit 612 can execute the first software 626 for content management module 728 for generating the display content 502.
- the first control unit 612 can execute the first software 626 for the display module 736 for displaying the display content 502.
- the second software 642 of FIG. 6 of the second device 106 of FIG. 6 can include the content delivery system 100.
- the second software 642 can include the collection module 702, the context determination module 704, the personalization module 706, the profile management module 718, the content management module 728, and the display module 736.
- the second control unit 634 of FIG. 6 can execute the second software 642 for the collection module 702 to collect the user information 204, the external information 504, or a combination thereof.
- the second control unit 634 can execute the second software 642 for the context determination module 704 to determine the context 202, the different context 302, or a combination thereof.
- the second control unit 634 can execute the second software 642 for the personalization module 706 to generate the first user profile 218, the second user profile 304, or a combination thereof.
- the second control unit 634 can execute the second software 642 for the profile management module 718 for selecting the first user profile 218, the second user profile 304, or a combination thereof.
- the second control unit 634 can execute the second software 642 for content management module 728 for generating the display content 502.
- the second control unit 634 can execute the second software 642 for the display module 736 for displaying the display content 502.
- the content delivery system 100 can be partitioned between the first software 626 and the second software 642.
- the second software 642 can include the personalization module 706, the profile management module 718, and the content management module 728.
- the second control unit 634 can execute modules partitioned on the second software 642 as previously described.
- the first software 626 can include the collection module 702, the context determination module 704, and the display module 736. Based on the size of the first storage unit 614, the first software 626 can include additional modules of the content delivery system 100. The first control unit 612 can execute the modules partitioned on the first software 626 as previously described.
- the first control unit 612 can operate the first communication unit 616 of FIG. 6 to send the activity record 214 to the second device 106.
- the first control unit 612 can operate the first software 626 to operate the location unit 620.
- the second communication unit 636 of FIG. 6 can send the display content 502 to the first device 102 through the communication path 104 of FIG. 10.
- the content delivery system 100 describes the module functions or order as an example.
- the modules can be partitioned differently.
- the collection module 702 and the context determination module 704 can be combined.
- Each of the modules can operate individually and independently of the other modules.
- data generated in one module can be used by another module without being directly coupled to each other.
- the content management module 728 can receive the first user profile 218 from the personalization module 706.
- the modules described in this application can be hardware implementation or hardware accelerators in the first control unit 612 or in the second control unit 634.
- the modules can also be hardware implementation or hardware accelerators within the first device 102 or the second device 106 but outside of the first control unit 612 or the second control unit 634, respectively.
- the content delivery system100 generates the first user profile 218 most relevant to the context 202.
- the content delivery system 100 can generate the display content 502 pertinent to the user of the first device 102.
- the content delivery system 100 can deliver the display content 502 efficiently to enhance the user experience of using the first device 102 and the content delivery system 100.
- the method 800 includes: generating a first user profile for representing a user's identity in a context in a block 802; generating a second user profile for representing the user's identity in a different context in a block 8 04; selecting the first user profile or the second user profile based on the context or the different context in a block 806; and generating a display content based on the first user profile or the second user profile for displaying on a device in a block 808.
- the resulting method, process, apparatus, device, product, and/or system is straightforward, cost-effective, uncomplicated, highly versatile, accurate, sensitive, and effective, and can be implemented by adapting known components for ready, efficient, and economical manufacturing, application, and utilization.
- Another important aspect of the embodiment of the present invention is that it valuably supports and services the historical trend of reducing costs, simplifying systems, and increasing performance.
Abstract
Description
- An embodiment of the present invention relates generally to a content delivery system, and more particularly to a system for profile generation mechanism.
- Modem portable consumer and industrial electronics, especially client devices such as navigation systems, cellular phones, portable digital assistants, and combination devices are providing increasing levels of functionality to support modem life including location-based information services. Research and development in the existing technologies can take a myriad of different directions.
- As users become more empowered with the growth of mobile location based service devices, new and old paradigms begin to take advantage of this new device space. There are many technological solutions to take advantage of this new device location opportunity. One existing approach is to use location information to provide personalized content through a mobile device, such as a cell phone, smart phone, or a personal digital assistant.
- Personalized content services allow users to create, transfer, store, and/or consume information in order for users to create, transfer, store, and consume in the "real world." One such use of personalized content services is to efficiently transfer or guide users to the desired product or service.
- Content delivery system and personalized content services enabled systems have been incorporated in automobiles, notebooks, handheld devices, and other portable products. Today, these systems aid users by incorporating available, real-time relevant information, such as advertisement, entertainment, local businesses, or other points of interest (POI).
- Thus, a need still remains for a content delivery system with profile generation mechanism. In view of the ever-increasing commercial competitive pressures, along with growing consumer expectations and the diminishing opportunities for meaningful product differentiation in the marketplace, it is increasingly critical that answers be found to these problems. Additionally, the need to reduce costs, improve efficiencies and performance, and meet competitive pressures adds an even greater urgency to the critical necessity for finding answers to these problems.
- Solutions to these problems have been long sought but prior developments have not taught or suggested any solutions and, thus, solutions to these problems have long eluded those skilled in the art.
- An embodiment of the present invention provides a method of operation of a content delivery system including: generating a first user profile for representing a user's identity in a context; generating a second user profile for representing the user's identity in a different context; selecting the first user profile or the second user profile based on the context or the different context; and generating a display content based on the first user profile or the second user profile for displaying on a device.
- An embodiment of the present invention provides a method of operation of a content delivery system including: generating a first user profile having a profile feature for representing a user's identity in a context; generating a second user profile having the profile feature for representing the user's identity in a different context; selecting the first user profile or the second user profile based on the context or the different context; and generating a display content based on the first user profile or the second user profile for displaying on a device.
- An embodiment of the present invention provides a content delivery system, including: a first profile generation module for generating a first user profile for representing a user's identity in a context; a second profile generation module, coupled to the first profile generation module, for generating a second user profile for representing the user's identity in a different context; a selection module, coupled to the second profile generation module, for selecting the first user profile or the second user profile based on the context or the different context; and a content generation module, coupled to the selection module, for generating a display content based on the first user profile or the second user profile for displaying on a device.
- Certain embodiments of the invention have other steps or elements in addition to or in place of those mentioned above. The steps or elements will become apparent to those skilled in the art from a reading of the following detailed description when taken with reference to the accompanying drawings.
-
-
FIG. 1 is a content delivery system with profile generation mechanism in an embodiment of the present invention. -
FIG. 2 is a first example of a display interface of the first device ofFIG. 1 displaying a context. -
FIG. 3 is a second example of the display interface displaying a different context. -
FIG. 4 is a third example of the display interface displaying the first user profile that changed over time. -
FIG. 5 is an example of a display content displayed on the first device. -
FIG. 6 is an exemplary block diagram of the content delivery system. -
FIG. 7 is a control flow of the content delivery system. -
FIG. 8 is a flow chart of a method of operation of a content delivery system in an embodiment of the present invention. - The following embodiments are described in sufficient detail to enable those skilled in the art to make and use the invention. It is to be understood that other embodiments would be evident based on the present disclosure, and that system, process, or mechanical changes may be made without departing from the scope of the present invention.
- In the following description, numerous specific details are given to provide a thorough understanding of the invention. However, it will be apparent that the invention may be practiced without these specific details. In order to avoid obscuring the embodiment of the present invention, some well-known circuits, system configurations, and process steps are not disclosed in detail.
- The drawings showing embodiments of the system are semi-diagrammatic, and not to scale and, particularly, some of the dimensions are for the clarity of presentation and are shown exaggerated in the drawing figures. Similarly, although the views in the drawings for ease of description generally show similar orientations, this depiction in the figures. is arbitrary for the most part. Generally, the invention can be operated in any orientation.
- The term "relevant information" referred to herein includes the navigation information described as well as information relating to points of interest to the user, such as local business, hours of businesses, types of businesses, advertised specials, traffic information, maps, local events, and nearby community or personal information.
- The term "module" referred to herein can include software, hardware, or a combination thereof in the embodiment of the present invention in accordance with the context in which the term is used. For example, the software can be machine code, firmware, embedded code, and application software. Also for example, the hardware can be circuitry, processor, computer, integrated circuit, integrated circuit cores, a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), passive devices, or a combination thereof.
- Referring now to
FIG. 1 , therein is shown acontent delivery system 100 with profile generation mechanism in an embodiment of the present invention. Thecontent delivery system 100 includes afirst device 102, such as a client or a server, connected to asecond device 106 , such as a client or server. Thefirst device 102 can communicate with thesecond device 106 with acommunication path 104, such as a wireless or wired network. - For example, the
first device 102 can be of any of a variety of display devices, such as a cellular phone, personal digital assistant, wearable digital device, tablet, notebook computer, television (TV), automotive telematic communication system, or other multi-functional mobile communication or entertainment device. Thefirst device 102 can be a standalone device, or can be incorporated with a vehicle, for example a car, truck, bus, aircraft, boat/vessel, or train. Thefirst device 102 can couple to thecommunication path 104 to communicate with thesecond device 106. - For illustrative purposes, the
content delivery system 100 is described with thefirst device 102 as a display device, although it is understood that thefirst device 102 can be different types of devices. For example, thefirst device 102 can also be a non-mobile computing device, such as a server, a server farm, or a desktop computer. - The
second device 106 can be any of a variety of centralized or decentralized computing devices. For example, thesecond device 106 can be a computer, grid computing resources, a virtualized computer resource, cloud computing resource, routers, switches, peer-to-peer distributed computing devices, or a combination thereof. - The
second device 106 can be centralized in a single computer room, distributed across different rooms, distributed across different geographical locations, embedded within a telecommunications network. Thesecond device 106 can have a means for coupling with thecommunication path 104 to communicate with thefirst device 102. Thesecond device 106 can also be a client type device as described for thefirst device 102. - In another example, the
first device 102 can be a particularized machine, such as a mainframe, a server, a cluster server, rack mounted server, or a blade server, or as more specific examples, an IBM System z10 (TM) Business Class mainframe or a HP ProLiant ML (TM) server. Yet another example, thesecond device 106 can be a particularized machine, such as a portable computing device, a thin client, a notebook, a netbook, a smartphone, personal digital assistant, or a cellular phone, and as specific examples, an Apple iPhone (TM), Android (TM) smartphone, or Windows (TM) platform smartphone. - For illustrative purposes, the
content delivery system 100 is described with thesecond device 106 as a non-mobile computing device, although it is understood that thesecond device 106 can be different types of computing devices. For example, thesecond device 106 can also be a mobile computing device, such as notebook computer, another client device, or a different type of client device. Thesecond device 106 can be a standalone device, or can be incorporated with a vehicle, for example a car, truck, bus, aircraft, boat/vessel, or train. - Also for illustrative purposes, the
content delivery system 100 is shown with thesecond device 106 and thefirst device 102 as end points of thecommunication path 104, although it is understood that thecontent delivery system 100 can have a different partition between thefirst device 102, thesecond device 106, and thecommunication path 104. For example, thefirst device 102, thesecond device 106, or a combination thereof can also function as part of thecommunication path 104. - The
communication path 104 can be a variety of networks. For example, thecommunication path 104 can include wireless communication, wired communication, optical, ultrasonic, or the combination thereof. Satellite communication, cellular communication, Bluetooth, wireless High-Definition Multimedia Interface (HDMI), Near Field Communication (NFC), Infrared Data Association standard (IrDA), wireless fidelity (WiFi), and worldwide interoperability for microwave access (WiMAX) are examples of wireless communication that can be included in thecommunication path 104. Ethernet, HDMI, digital subscriber line (DSL), fiber to the home (FTTH), and plain old telephone service (POTS) are examples of wired communication that can be included in thecommunication path 104. - Further, the
communication path 104 can traverse a number of network topologies and distances. For example, thecommunication path 104 can include direct connection, personal area network (PAN), local area network (LAN), metropolitan area network (MAN), wide area network (WAN) or any combination thereof. - Referring now to
FIG. 2 , therein is shown a first example of adisplay interface 201 of thefirst device 102 ofFIG. 1 displaying acontext 202. Thecontext 202 is defined as a situation, environment, or a combination thereof where the user of thefirst device 102 is situated. For example, thecontent delivery system 100 can determine thecontext 202 based on various factors. - For a specific example, the
context 202 can be determined based onuser information 204. More specifically, theuser information 204 can include a location setting 206. The location setting 206 can represent a current geographic location, past geographic location visited, or future geographic location planned to be visited by the user of thefirst device 102. The location setting 206 can also represent professional environment, personal environment, or a combination thereof where thefirst device 102 is located. The location setting 206 can also represent who else is nearby the user of thefirst device 102. For example, thecontent delivery system 100 can determine who is near by identifying the GPS information of another device near thefirst device 102. The illustration ofFIG. 2 can depict the location setting 206 to be in a park. - The
user information 204 can include a user'sinterest 226,demographic information 208,professional information 210,health information 212, or a combination thereof. For example, the user'sinterest 226 can represent the preference shown by the user of thefirst device 102. For a specific example, the user'sinterest 226 can represent interest in playing golf. - The
user information 204 can include anactivity record 214, such as the user's behavior or an activity pattern. Theactivity record 214 can represent the user's activity pattern in the past time, the current time, or the future time. For example, theactivity record 214 can show that the user plays golf every Sunday with his wife. For another example, theactivity record 214 can include a pattern of activity for using thefirst device 102, the service provided by thecontent delivery system 100, or a combination thereof by the user. - The
demographic information 208 can represent the user's family structure, cultural background, or a combination thereof. For example, thedemographic information 208 illustrated inFIG. 2 can represent a family structure of the user being married without any kids. Theprofessional information 210 can represent the user's occupation, education background, job title, place of occupation, or a combination thereof. Thehealth information 212 can represent the user's age, health condition, or a combination thereof. For example, thehealth information 212 illustrated inFIG. 2 can represent user being 32 years old. - The
context 202 can also be determined based on acontext time 216. Thecontext time 216 is defined as a representation of time for thecontext 202. Thecontext time 216 can represent the time of the day when thecontext 202 is occurring. Thecontext time 216 can also represent the future time when thecontext 202 can scheduled to occur. More specifically, thecontext 202 of family gathering can be scheduled on the user's calendar application on thefirst device 102 for thecontext time 216 of next weekend. For a specific example, thecontext time 216 can represent Sunday afternoon. More specifically, the user can be in the location setting 206 of a park on Sunday afternoon with his wife. - A
first user profile 218 is defined as a composition of various factors to represent a user'sidentity 220 under thecontext 202. For example, thefirst user profile 218 can represent the user'sidentity 220 in thecontext 202 of work. For another example, the user'sidentity 220 for the user of thefirst device 102 can represent a husband who is age 32. - As illustrated in
FIG. 2 , thefirst user profile 218 under thecontext 202 can include the user at the park playing golf with the user's wife on a Sunday. More specifically, thefirst user profile 218 under this instance of thecontext 202 can represent a "Weekend Profile." Furthermore, same user of thefirst device 102 can have multiple instances of thefirst user profile 218. Each instance of thefirst user profile 218 can represent the same user of thefirst device 102 under the specific instance of thecontext 202 where thefirst device 102 is identified or situated. For example, a seasonal instance of thefirst user profile 218 can be generated to reflect thecontext 202 representing the different occasion of the seasons of the year. - The
first user profile 218 can include aprofile feature 222. Theprofile feature 222 is defined as a dimension or a characteristic of the user'sidentity 220 represented in thefirst user profile 218. Theprofile feature 222 can represent theuser information 204, thecontext time 216, or a combination thereof. Thefirst user profile 218 can include multiple instances of theprofile feature 222. For example, the "Weekend Profile" can include two instances of thedemographic information 208 representing "married" and "with wife." - The
first user profile 218 can be categorized according to aprofile type 224. For example, more than one instance of thefirst user profile 218 can represent the user'sidentity 220 and each of thefirst user profile 218 can be categorized by theprofile type 224. For example, under thecontext 202 of work, thefirst user profile 218 can have theprofile type 224 of a professional profile. For a different example, under thecontext 202 of spending time in the park, thefirst user profile 218 can have theprofile type 224 of a personal profile. - Referring now to
FIG. 3 , therein is shown a second example of thedisplay interface 201 displaying adifferent context 302. Thedifferent context 302 is defined as a situation, environment, or a combination thereof where the user of thefirst device 102 ofFIG. 1 is situated different from thecontext 202 ofFIG. 2 . Thecontent delivery system 100 can determine thedifferent context 302 similarly as determining thecontext 202. For example, thedifferent context 302 can be determined based on theuser information 204, thecontext time 216, or a combination thereof. - Additionally,
FIG. 3 can illustrate asecond user profile 304 for the user'sidentity 220 ofFIG. 2 under thedifferent context 302. Thesecond user profile 304 can represent the different instance of thefirst user profile 218 ofFIG. 2 . For example, thesecond user profile 304 can represent the user'sidentity 220 under thedifferent context 302. Element names with "first" or "second" does not connote, for example, priority, ordinal relationship, or a combination thereof, but rather labeled for identification purposes. - For a specific example, the location setting 206 of
FIG. 2 can represent the city, neighborhood, street, or a combination thereof. The user'sinterest 226 ofFIG. 2 can represent going out for a drink with coworkers. Thedemographic information 208 ofFIG. 2 , theprofessional information 210 ofFIG. 2 , and thehealth information 212 ofFIG. 2 can be the same as illustrated inFIG. 2 . Thecontext time 216 can represent Thursday night. - The
second user profile 304 representing the "Work Profile" can include theprofile feature 222 different from thefirst user profile 218 when thefirst device 102 is under thecontext 202 illustrated inFIG. 2 . More specifically, theprofile feature 222 representing theuser information 204 can change from "husband" to "businessman" and thecontext time 216 can change from "Sunday" to "Thursday." However, thefirst user profile 218 and thesecond user profile 304 can have the same instance of theprofile feature 222. For example, thehealth information 212 for the age can remain same at age "32" because the "Work Profile" can still represent the same user of thefirst device 102. - A feature set 306 can represent an affinity grouping for multiple instances of the
profile feature 222. For example, one instance of theprofile feature 222 can represent businessman. Another instance of theprofile feature 222 can represent business address. Each instances of theprofile feature 222, such as businessman and business address, can be associated with thecontext 202 of work. The feature set 306 can represent the plurality of theprofile feature 222 associated with thecontext 202 of work. - Referring now to
FIG. 4 , therein is shown a third example of thedisplay interface 201 displaying thefirst user profile 218 that changed over time. For example, thecontext 202 illustrated inFIG. 4 can represent thecontext 202 ofFIG. 2 after ten years. Thefirst user profile 218 representing "Family Profile" can be updated by thecontent delivery system 100 to reflect the changes in thedemographic information 208, thehealth information 212, and thecontext time 216. - More specifically, the
demographic information 208 can include "two kids" after the user offirst device 102 having a son and a daughter added to his family. Thehealth information 212 can be updated to age of 42 after ten years. Additionally, thecontext time 216 can represent ten years after thecontext time 216 as illustrated inFIG. 2 . However, thedemographic information 208 representing the marital status, the location setting 206 representing the park, and the user'sinterest 226 of tennis can remain the same as illustrated inFIG. 2 . - Referring now to
FIG. 5 , therein is shown an example of adisplay content 502 displayed on thefirst device 102 ofFIG. 1 . More specifically, thecontent delivery system 100 can generate thedisplay content 502 relevant to thefirst user profile 218 under the particular instance of thecontext 202. For example, thefirst user profile 218 can represent "Christmas Profile." The location setting 206 can represent the shopping mall. Thecontext 202 can represent shopping for Christmas presents. - The
content delivery system 100 can select the appropriate instance of thefirst user profile 218 for thecontext 202. As a result, thecontent delivery system 100 can generate thedisplay content 502 appropriate under thecontext 202 for the particular instance of thefirst user profile 218. For example, since thefirst user profile 218 is "Christmas Profile," thecontent delivery system 100 can generate thedisplay content 502 of "Christmas sales" at a department store within the shopping mall. - Furthermore, the
first user profile 218 can base onexternal information 504 in addition to theuser information 204. For example, theexternal information 504 can represent information independent from theuser information 204. More specifically, theexternal information 504 can represent factors considered by thecontent delivery system 100 for generating thefirst user profile 218, thesecond user profile 304 ofFIG. 3 , or a combination thereof. Thefirst user profile 218 can include theprofile feature 222 ofFIG. 2 based on theexternal information 504 and not based on theuser information 204, such as the user'sinterest 226 ofFIG. 2 . - A
third party content 506 can represent information that can be displayed on thefirst device 102 when found relevant. Thethird party content 506 can represent sales available at the shopping mall, news media, events, or a combination thereof.. Theexternal information 504 and thethird party content 506 can be provided by a third party content provider. The third party content provider can represent the external sources physically separate from thefirst device 102. - If the
context 202 where thefirst device 102 is located changes to the different instance of the location setting 206, thecontent delivery system 100 can update thedisplay content 502 customized for the particular instance of thecontext 202. For example, thecontext time 216 can represent the future time scheduled on the calendar application on thefirst device 102 ofFIG. 2 . Thecontext 202 can represent family gathering. Thecontent delivery system 100 can generate thedisplay content 502 representing a reminder notification to purchase the aunt's favorite chocolate. - Referring now to
FIG. 6 , therein is shown an exemplary block diagram of thecontent delivery system 100. Thecontent delivery system 100 can include thefirst device 102, thecommunication path 104, and thesecond device 106. Thefirst device 102 can send information in afirst device transmission 608 over thecommunication path 104 to thesecond device 106. Thesecond device 106 can send information in asecond device transmission 610 over thecommunication path 104 to thefirst device 102. - For illustrative purposes, the
content delivery system 100 is shown with thefirst device 102 as a client device, although it is understood that thecontent delivery system 100 can have thefirst device 102 as a different type of device. For example, thefirst device 102 can be a server having a display interface. - Also for illustrative purposes, the
content delivery system 100 is shown with thesecond device 106 as a server, although it is understood that thecontent delivery system 100 can have thesecond device 106 as a different type of device. For example, thesecond device 106 can be a client device. - For brevity of description in this embodiment of the present invention, the
first device 102 will be described as a client device and thesecond device 106 will be described as a server device. The embodiment of the present invention is not limited to this selection for the type of devices. The selection is an example of the present invention. - The
first device 102 can include afirst control unit 612, afirst storage unit 614, afirst communication unit 616, a first user interface 618, and alocation unit 620. Thefirst control unit 612 can include afirst control interface 622. Thefirst control unit 612 can execute afirst software 626 to provide the intelligence of thecontent delivery system 100. - The
first control unit 612 can be implemented in a number of different manners. For example, thefirst control unit 612 can be a processor, an application specific integrated circuit (ASIC) an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof. Thefirst control interface 622 can be used for communication between thefirst control unit 612 and other functional units in thefirst device 102. Thefirst control interface 622 can also be used for communication that is external to thefirst device 102. - The
first control interface 622 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations. The external sources and the external destinations refer to sources and destinations physically separate from to thefirst device 102. - The
first control interface 622 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with thefirst control interface 622. For example, thefirst control interface 622 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, or a combination thereof. - The
location unit 620 can generate location information, current heading, and current speed of thefirst device 102, as examples. Thelocation unit 620 can be implemented in many ways. For example, thelocation unit 620 can function as at least a part of a global positioning system (GPS), an inertial navigation system, a cellular-tower location system, a pressure location system, or any combination thereof. - The
location unit 620 can include alocation interface 632. Thelocation interface 632 can be used for communication between thelocation unit 620 and other functional units in thefirst device 102. Thelocation interface 632 can also be used for communication that is external to thefirst device 102. - The
location interface 632 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations. The external sources and the external destinations refer to sources and destinations physically separate from thefirst device 102. - The
location interface 632 can include different implementations depending on which functional units or external units are being interfaced with thelocation unit 620. Thelocation interface 632 can be implemented with technologies and techniques similar to the implementation of thefirst control interface 622. - The
first storage unit 614 can store thefirst software 626. Thefirst storage unit 614 can also store the relevant information, such as advertisements, points of interest (POI), navigation routing entries, or any combination thereof. The relevant information can also include news, media, events, or a combination thereof from the third party content provider. - The
first storage unit 614 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof. For example, thefirst storage unit 614 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM). - The
first storage unit 614 can include afirst storage interface 624. Thefirst storage interface 624 can be used for communication between and other functional units in thefirst device 102. Thefirst storage interface 624 can also be used for communication that is external to thefirst device 102. - The
first storage interface 624 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations. The external sources and the external destinations refer to sources and destinations physically separate from thefirst device 102. - The
first storage interface 624 can include different implementations depending on which functional units or external units are being interfaced with thefirst storage unit 614. Thefirst storage interface 624 can be implemented with technologies and techniques similar to the implementation of thefirst control interface 622. - The
first communication unit 616 can enable external communication to and from thefirst device 102. For example, thefirst communication unit 616 can permit thefirst device 102 to communicate with thesecond device 106 ofFIG. 1 , an attachment, such as a peripheral device or a computer desktop, and thecommunication path 104. - The
first communication unit 616 can also function as a communication hub allowing thefirst device 102 to function as part of thecommunication path 104 and not limited to be an end point or terminal unit to thecommunication path 104. Thefirst communication unit 616 can include active and passive components, such as microelectronics or an antenna, for interaction with thecommunication path 104. - The
first communication unit 616 can include afirst communication interface 628. Thefirst communication interface 628 can be used for communication between thefirst communication unit 616 and other functional units in thefirst device 102. Thefirst communication interface 628 can receive information from the other functional units or can transmit information to the other functional units. - The
first communication interface 628 can include different implementations depending on which functional units are being interfaced with thefirst communication unit 616. Thefirst communication interface 628 can be implemented with technologies and techniques similar to the implementation of thefirst control interface 622. - The first user interface 618 allows a user (not shown) to interface and interact with the
first device 102. The first user interface 618 can include an input device and an output device. Examples of the input device of the first user interface 618 can include a keypad, a touchpad, soft-keys, a keyboard, a microphone, an infrared sensor for receiving remote signals, or any combination thereof to provide data and communication inputs. - The first user interface 618 can include a
first display interface 630. Thefirst display interface 630 can include a display, a projector, a video screen, a speaker, or any combination thereof. - The
first control unit 612 can operate the first user interface 618 to display information generated by thecontent delivery system 100. Thefirst control unit 612 can also execute thefirst software 626 for the other functions of thecontent delivery system 100, including receiving location information from thelocation unit 620. Thefirst control unit 612 can further execute thefirst software 626 for interaction with thecommunication path 104 via thefirst communication unit 616. - The
second device 106 can be optimized for implementing the embodiment of the present invention in a multiple device embodiment with thefirst device 102. Thesecond device 106 can provide the additional or higher performance processing power compared to thefirst device 102. Thesecond device 106 can include asecond control unit 634, asecond communication unit 636, and asecond user interface 638. - The
second user interface 638 allows a user (not shown) to interface and interact with thesecond device 106. Thesecond user interface 638 can include an input device and an output device. Examples of the input device of thesecond user interface 638 can include a keypad, a touchpad, soft-keys, a keyboard, a microphone, or any combination thereof to provide data and communication inputs. Examples of the output device of thesecond user interface 638 can include asecond display interface 640. Thesecond display interface 640 can include a display, a projector, a video screen, a speaker, or any combination thereof. - The
second control unit 634 can execute asecond software 642 to provide the intelligence of thesecond device 106 of thecontent delivery system 100. Thesecond software 642 can operate in conjunction with thefirst software 626. Thesecond control unit 634 can provide additional performance compared to thefirst control unit 612. - The
second control unit 634 can operate thesecond user interface 638 to display information. Thesecond control unit 634 can also execute thesecond software 642 for the other functions of thecontent delivery system 100, including operating thesecond communication unit 636 to communicate with thefirst device 102 over thecommunication path 104. - The
second control unit 634 can be implemented in a number of different manners. For example, thesecond control unit 634 can be a processor, an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof. - The
second control unit 634 can include asecond control interface 644. Thesecond control interface 644 can be used for communication between thesecond control unit 634 and other functional units in thesecond device 106. Thesecond control interface 644 can also be used for communication that is external to thesecond device 106. - The
second control interface 644 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations. The external sources and the external destinations refer to sources and destinations physically separate from thesecond device 106. - The
second control interface 644 can be implemented in different ways and can include different implementations depending on which functional units or external units are being interfaced with thesecond control interface 644. For example, thesecond control interface 644 can be implemented with a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), optical circuitry, waveguides, wireless circuitry, wireline circuitry, or a combination thereof. - A
second storage unit 646 can store thesecond software 642. Thesecond storage unit 646 can also store the relevant information, such as advertisements, points of interest (POI), navigation routing entries, or any combination thereof. Thesecond storage unit 646 can be sized to provide the additional storage capacity to supplement thefirst storage unit 614. - For illustrative purposes, the
second storage unit 646 is shown as a single element, although it is understood that thesecond storage unit 646 can be a distribution of storage elements. Also for illustrative purposes, thecontent delivery system 100 is shown with thesecond storage unit 646 as a single hierarchy storage system, although it is understood that thecontent delivery system 100 can have thesecond storage unit 646 in a different configuration. For example, thesecond storage unit 646 can be formed with different storage technologies forming a memory hierarchal system including different levels of caching, main memory, rotating media, or off-line storage. - The
second storage unit 646 can be a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof. For example, thesecond storage unit 646 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, disk storage, or a volatile storage such as static random access memory (SRAM). - The
second storage unit 646 can include asecond storage interface 648. Thesecond storage interface 648 can be used for communication between other functional units in thesecond device 106. Thesecond storage interface 648 can also be used for communication that is external to thesecond device 106. - The
second storage interface 648 can receive information from the other functional units or from external sources, or can transmit information to the other functional units or to external destinations. The external sources and the external destinations refer to sources and destinations physically separate from thesecond device 106. - The
second storage interface 648 can include different implementations depending on which functional units or external units are being interfaced with thesecond storage unit 646. Thesecond storage interface 648 can be implemented with technologies and techniques similar to the implementation of thesecond control interface 644. - The
second communication unit 636 can enable external communication to and from thesecond device 106. For example, thesecond communication unit 636 can permit thesecond device 106 to communicate with thefirst device 102 over thecommunication path 104. - The
second communication unit 636 can also function as a communication hub allowing thesecond device 106 to function as part of thecommunication path 104 and not limited to be an end point or terminal unit to thecommunication path 104. Thesecond communication unit 636 can include active and passive components, such as microelectronics or an antenna, for interaction with thecommunication path 104. - The
second communication unit 636 can include asecond communication interface 650. Thesecond communication interface 650 can be used for communication between thesecond communication unit 636 and other functional units in thesecond device 106. Thesecond communication interface 650 can receive information from the other functional units or can transmit information to the other functional units. - The
second communication interface 650 can include different implementations depending on which functional units are being interfaced with thesecond communication unit 636. Thesecond communication interface 650 can be implemented with technologies and techniques similar to the implementation of thesecond control interface 644. - The
first communication unit 616 can couple with thecommunication path 104 to send information to thesecond device 106 in thefirst device transmission 608. Thesecond device 106 can receive information in thesecond communication unit 636 from thefirst device transmission 608 of thecommunication path 104. - The
second communication unit 636 can couple with thecommunication path 104 to send information to thefirst device 102 in thesecond device transmission 610. Thefirst device 102 can receive information in thefirst communication unit 616 from thesecond device transmission 610 of thecommunication path 104. Thecontent delivery system 100 can be executed by thefirst control unit 612, thesecond control unit 634, or a combination thereof. For illustrative purposes, thesecond device 106 is shown with the partition having thesecond user interface 638, thesecond storage unit 646, thesecond control unit 634, and thesecond communication unit 636, although it is understood that thesecond device 106 can have a different partition. For example, thesecond software 642 can be partitioned differently such that some or all of its function can be in thesecond control unit 634 and thesecond communication unit 636. Also, thesecond device 106 can include other functional units not shown inFIG. 6 for clarity. - The functional units in the
first device 102 can work individually and independently of the other functional units. Thefirst device 102 can work individually and independently from thesecond device 106 and thecommunication path 104. - The functional units in the
second device 106 can work individually and independently of the other functional units. Thesecond device 106 can work individually and independently from thefirst device 102 and thecommunication path 104. - For illustrative purposes, the
content delivery system 100 is described by operation of thefirst device 102 and thesecond device 106. It is understood that thefirst device 102 and thesecond device 106 can operate any of the modules and functions of thecontent delivery system 100. For example, thefirst device 102 is described to operate thelocation unit 620, although it is understood that thesecond device 102 can also operate thelocation unit 620. - Referring now to
FIG. 7 therein is shown a control flow of thecontent delivery system 100. Thecontent delivery system 100 can include acollection module 702. Thecollection module 702 collects theuser information 204 ofFIG. 2 , theexternal information 504 ofFIG. 5 , or a combination thereof. For example, thecollection module 702 can collect theuser information 204 via thefirst control interface 622 ofFIG. 6 . For a different example, thecollection module 702 can collect theexternal information 504 via thefirst control interface 622. - The
collection module 702 can include abehavior collection module 740. Thebehavior collection module 740 collects theuser information 204. Thebehavior collection module 740 can collect theuser information 204 in a number of ways. For example, thebehavior collection module 740 can collect theuser information 204 by tracking theactivity record 214 ofFIG. 2 .. Theactivity record 214 can be tracked by tracking the time when the user started or terminated the application on thefirst device 102, the time when the user read thedisplay content 502 ofFIG. 2 , read a news article, shared content in the social network, or a combination thereof. - The
activity record 214 can also include the type of content searched or shared on the internet or content network, the type of music listened on thefirst device 102, the type of video file (e.g., movie and/or television show video clips) viewed on thefirst device 102, or the content of comments or rating posted using thefirst device 102 by the user. Thebehavior collection module 740 can collect theuser information 204 by receiving theactivity record 214 for the actions performed by the user on thefirst device 102 as discussed above. The application running on thefirst device 102 can include a data collection application program interface (API) to collect the actions performed on thefirst device 102. - The
external collection module 742 can include anexternal collection module 742. Theexternal collection module 742 collects theexternal information 504. Theexternal collection module 742 can collect theexternal information 504 by subscribing content from external sources. For example, the external source can represent an electronic consumer good vendor. The vendor can provide information related to annual sale for the merchandize. Theexternal collection module 742 can collect theexternal information 504 representing the annual sale by subscribing to the vendor's sale notification. Thecollection module 702 can send theuser information 204, theexternal information 504, or a combination thereof collected to acontext determination module 704. - The
content delivery system 100 can include thecontext determination module 704, which can be coupled to thecollection module 702. Thecontext determination module 704 determines thecontext 202 ofFIG. 2 . For example, thecontext determination module 704 can determine thecontext 202 based on theuser information 204, thecontext time 216 ofFIG. 2 , or a combination thereof. For another example, thecontext determination module 704 can determine thedifferent context 302 ofFIG. 3 different from thecontext 202 based on theuser information 204, thecontext time 216, or a combination thereof. - The
context determination module 704 can determine thecontext 202 in a number of ways. For example, thecontext determination module 704 can determine thecontext 202 based on the location setting 206 ofFIG. 2 . Thecontext determination module 704 can determine the location setting 206 via thelocation unit 620 ofFIG. 6 based on the GPS information. More specifically, thecontext determination module 704 can determine the GPS location of thefirst device 102 ofFIG. 1 based on the latitudinal and longitudinal information. The GPS location can indicate whether thefirst device 102 is in an office or a park. As a result, thecontext determination module 704 can determine whether thefirst device 102 is in thecontext 202 of a professional setting, such as at work, or at a non-professional setting, such at a park or shopping center, based on the location setting 206. - For a different example, the
context determination module 704 can determine thecontext 202 based on thecontext time 216, theactivity record 214, the location setting 206, or a combination thereof. More specifically, thecontext time 216 can represent 7PM. Theactivity record 214 indicates that the user eats dinner at a local Chinese restaurant every Tuesday. Theactivity record 214 can be recorded on the calendar application on thefirst device 102 and the location setting 206 for the restaurant can be determined based on the GPS information detected bylocation unit 620. - Based on the combination of the location setting 206, the
activity record 214, and thecontext time 216, thecontext determination module 704 can determine thecontext 202 to be user having dinner. Thecontext determination module 704 can determine thedifferent context 302 similarly as to determining thecontext 202. Thecontext determination module 704 can send thecontext 202, thedifferent context 302, or a combination thereof determined to apersonalization module 706. - The
content delivery system 100 can include thepersonalization module 706, which can be coupled to thecontext determination module 704 and thecollection module 702. Thepersonalization module 706 generates thefirst user profile 218 ofFIG. 2 . For example, thepersonalization module 706 can generate thefirst user profile 218 for representing the user'sidentity 220 ofFIG. 2 in thecontext 202. Thepersonalization module 706 can also generate thesecond user profile 304 ofFIG. 3 for representing the user'sidentity 220 in thedifferent context 302. Thepersonalization module 706 can receive theuser information 204, theexternal information 504, or a combination thereof from thecollection module 702. - The
personalization module 706 can include afeature generation module 708. Thefeature generation module 708 generates theprofile feature 222 ofFIG. 2 . For example, thefeature generation module 708 can generate theprofile feature 222 based on theuser information 204, thecontext time 216, or a combination thereof. For a specific example, thefeature generation module 708 can generate theprofile feature 222 based on dividing or compartmentalizing theuser information 204 into different dimension or category. - The
feature generation module 708 can generate theprofile feature 222 in a number of ways. For example, theuser information 204 can represent an aggregation of various factors, such as the location setting 206, the user'sinterest 226 ofFIG. 2 , thedemographic information 208 ofFIG. 2 , theprofessional information 210 ofFIG. 2 , thehealth information 212 ofFIG. 2 , or a combination thereof. Thefeature generation module 708 can generate theprofile feature 222 by parsing theuser information 204 into an individual dimension, such as the user'sinterest 226 or the location setting 206. - More specifically, the
feature generation module 708 can parse theuser information 204 by categorizing theuser information 204. For example, theuser information 204 related to the GPS information for thefirst device 102 at the Chinese restaurant can represent the location setting 206 of thefirst device 102. Thefeature generation module 708 can generate theprofile feature 222 representing the location setting 206 by assigning the GPS information to theprofile feature 222. - For another example, the
user information 204 can represent theactivity record 214 of the user of thefirst device 102 playing golf every weekend. Additionally, theactivity record 214 shows that the user frequently searches onfirst device 102 for new golf clubs online. Based on the frequency of information logged for playing golf and searching for new golf clubs as shown in theactivity record 214, thefeature generation module 708 can determine the user'sinterest 226 to be golf. Thefeature generation module 708 can generate theprofile feature 222 representing the user'sinterest 226 by assigning "golf" to theprofile feature 222. As a result, theprofile feature 222 can represent each individual dimension, such as the user'sinterest 226 or the location setting 206, of the user'sidentity 220. - For a different example, the
feature generation module 708 can generate theprofile feature 222 based on thecontext 202. More specifically, thefeature generation module 708 can generate theprofile feature 222 based on various instances of thecontext time 216 of thecontext 202. Thefeature generation module 708 can receive thecontext 202, thedifferent context 302, or a combination thereof from thecontext determination module 704. Thecontext time 216 can represent the hour of a day, the day in a week, a week in a month, or a combination thereof when thecontext 202 or thedifferent context 302 is occurring or schedule to occur. - To represent each variations of the
context time 216, thefeature generation module 708 can generate theprofile feature 222 for each variations of thecontext time 216. More specifically, theprofile feature 222 can represent "eating out." Based on thecontext time 216, theprofile feature 222 can represent a different type of cuisine. For example, theprofile feature 222 can represent Chinese food for thecontext time 216 between 12pm to 2pm and Steak for thecontext time 216 between 6pm to 9pm. - The
feature generation module 708 can generate the feature set 306 ofFIG. 3 by organizing theprofile feature 222 with a hierarchical structure. More specifically, the feature set 306 can represent "Vacation Destinations." Theprofile feature 222 can be categorized into sub-features, such as "Paris," "Tahiti," and "India" under the "Vacation Destinations." - More specifically, the
feature generation module 708 can categorize various instances of theprofile feature 222 into the feature set 306 by grouping each instances of theprofile feature 222 based on the affinity. The affinity grouping can represent theactivity record 214 of the top three number of searches performed on thefirst device 102 related to the possible vacation destinations. Continuing from the previous example, the instances of theactivity record 214, such as "Paris," "Tahiti," and "India," can represent possible vacation destinations most frequently searched by the user on thefirst device 102. Thefeature generation module 708 can generate the feature set 306 of "Vacation Destinations" with instances of theprofile feature 222 of "Paris," "Tahiti," and "India" over other destinations based on the frequency of theactivity record 214 logged for "Paris," "Tahiti," and "India." - For another example, the
feature generation module 708 can generate the feature set 306 based on a time series algorithm for grouping theuser information 204, theexternal information 504, or a combination thereof frequently appeared under thecontext 202. A time series can represent a sequence of data points measured at successive time instants spaced at uniform time interval. For example, theactivity record 214 can indicate that the particular instance of theuser information 204 can occur at a particular time frame under the same instance of thecontext 202. More specifically, theactivity record 214 can represent a trend for the pattern of activity by the user of thefirst device 102 at work. - The time series algorithm can track the trend of the
user information 204 under thecontext 202 based on the frequency of theuser information 204 appeared in thecontext 202. For example, the location setting 206 of thefirst device 102 can indicate that the GPS location is representing the user's workplace. Furthermore, the pattern of activity can indicate that thefirst device 102 can be consistently located at the user's workplace at thecontext time 216 of 10AM during the weekdays. As a result, thecontext 202 can be determined as work. The affinity grouping can represent the categorization of theuser information 204 occurring repetitively in the same instance of thecontext 202. The rate of appearance to be determined as frequent can be, for example, every day, every other day out of a week, or a combination thereof. Based on the time series algorithm, thefeature generation module 708 can extrapolate that the similar instances of theactivity record 214 occurring frequently under thecontext 202 of work to be the trend that belong in the same affinity grouping. As a result, thefeature generation module 708 can generate the feature set 306 by grouping theuser information 204 collected under the same instance of thecontext 202. - For a different example, the
feature generation module 708 can generate the feature set 306 based on a clustering algorithm for grouping theuser information 204, theexternal information 504, or a combination thereof sharing similarities. For example, the similarity can represent theactivity record 214 indicating that various instances of theuser information 204 are logged at a particular time frame, at a particular location, or in particular sequence of existence of information. This pattern of information logged in theactivity record 214 can indicate a relationship and association between theuser information 204 to establish the user'sidentity 220. - For a specific example, the combination of each instances of the
user information 204 that includes the location setting 206, thecontext time 216, thedemographic information 208, and theactivity record 214 can cluster during thecontext 202 of Christmas season. Additionally, theexternal information 504 related to Christmas can also be collected during Christmas season. The frequent appearance of the information can represent an affinity grouping of the information. The affinity grouping can be based on theuser information 204, theexternal information 504, or a combination thereof sharing the similarities. The similarity can be represented by thecontext 202, a theme, or a combination thereof. For example, thefeature generation module 708 can generate the feature set 306 by filtering theuser information 204, theexternal information 504, or a combination thereof unrelated to the theme of Christmas. Moreover, thefeature generation module 708 can group theuser information 204, theexternal information 504, or a combination thereof sharing the Christmas theme based on the clustering algorithm. - For example, the location setting 206 can indicate a shopping mall. The
context time 216 can represent middle of December. Thedemographic information 208 can represent a family of four with two kids. Theactivity record 214 can indicate purchase of toys at a retail store. Theexternal information 504 can represent Christmas sale. Based on the clustering algorithm, thefeature generation module 708 can generate the feature set 306 for thecontext 202 by clustering various instances of theuser information 204, theexternal information 506, or a combination thereof sharing the Christmas theme. - In contrast, according to the
activity record 214, activities such as "surfing at the beach" may not appear frequently during thecontext 202 of Christmas season. Due to the infrequency, the clustering algorithm can determine that "surfing at the beach" does not belong in the feature set 306, thus, exclude theactivity record 214 from thefeature set 306. - For another example, the
profile feature 222 can be generated based on information other than theuser information 204. For example, thefeature generation module 708 can generate theprofile feature 222 based on aggregating theexternal information 504. Theprofile feature 222 can be generated based on theexternal information 504, such as a popular ranking. More specifically, the popularity ranking can base on the entry, such as rating or opinion, made by the user, users other than the user offirst device 102, or a combination thereof on external sources, such as the social network website, the product review website, or a combination thereof. Thefeature generation module 708 can generate theprofile feature 222 based on an availability of theexternal information 504, the user'sinterest 226, or a combination thereof. - For a specific example, the user's
interest 226 can include playing golf and golfing merchandises. Furthermore, the user'sinterest 226 can also include particular professional golfer. The professional golfer can provide a high rating for a particular brand of golf clubs. The high rating can be presented based on selecting a number of stars provided on the rating website or opinions expressed in text on the product website. - The
feature generation module 708 can perform the text mining algorithm to determine the relevancy of the content on the product website to the user'sinterest 226 for filtering theexternal information 504 unrelated to the user'sinterest 226 and extracting theexternal information 504 related to the user'sinterest 226. For example, the content can include the golfer's name, words such as "recommended," the name of the merchandise, or a combination thereof. The text mining algorithm can parse the content to decipher the keywords and determine the correlation by comparing to the keywords to the user'sinterest 226. Thefeature generation module 708 can generate theprofile feature 222 representing the brand of golf club recommended by the professional golfer, the review website, or a combination thereof if the keywords mined matches the user'sinterest 226. - The
feature generation module 708 can combine various algorithms discussed above to generate theprofile feature 222 relevant to thecontext 202. Thefeature generation module 708 can send theprofile feature 222 to a firstprofile generation module 710 and a secondprofile generation module 712. - The
personalization module 706 can include the firstprofile generation module 710 and the secondprofile generation module 712, which the firstprofile generation module 710 and the secondprofile generation module 712 can be both coupled to thefeature generation module 708. The firstprofile generation module 710 generates thefirst user profile 218. For example, the firstprofile generation module 710 can generate thefirst user profile 218 for representing the user'sidentity 220 in thecontext 202. - The second
profile generation module 712 generates thesecond user profile 304. For example, the secondprofile generation module 712 can generate thesecond user profile 304 for representing the user'sidentity 220 in thedifferent context 302. The secondprofile generation module 712 can generate thesecond user profile 304 similarly as to the firstprofile generation module 710 generating thefirst user profile 218. For brevity and clarity, the discussion below will focus on the firstprofile generation module 710 generating thefirst user profile 218. - The first
profile generation module 710 can generate thefirst user profile 218 in a number of ways. For example, the firstprofile generation module 710 can generate thefirst user profile 218 based on theprofile feature 222 relevant to thecontext 202. - As discussed previously, the
profile feature 222 can be generated based on the relevancy to thecontext 202. For example, the plurality of theprofile feature 222 can represent job category, job title, and salary. Another instances of theprofile feature 222 can represent user'sinterest 226 of playing soccer and reading novels. Thecontext 202 can represent work. As a result, the firstprofile generation module 710 can generate thefirst user profile 218 based on aggregating the instances of theprofile feature 222 relevant to thecontext 202. - More specifically, the first
profile generation module 710 can aggregate the instances of theprofile feature 222 representing job category, job title, and salary because the instances of theprofile feature 222 were determined to be relevant to thecontext 202 of work. The firstprofile generation module 710 can also categorize thefirst user profile 218 with theprofile type 224 ofFIG. 2 of professional profile based on a category of theprofile feature 222 included in thefirst user profile 218. The instances of theprofile feature 222 representing the user'sinterest 226 were not included because the instances were not relevant to thecontext 202. - For another example, the first
profile generation module 710 can generate thefirst user profile 218 based on selecting the feature set 306 relevant to thecontext 202. As discussed above, the feature set 306 can be generated by grouping the instances of theprofile feature 222 relevant to thecontext 202. One instance of the feature set 306 can represent the instances of theprofile feature 222 related to work. Another instance of the feature set 306 can represent the instances of theprofile feature 222 related to camping. Thecontext 202 determined can represent camping in Yellowstone National Park. The firstprofile generation module 710 can generate thefirst user profile 218 representing "Camping Profile" based on selecting the feature set 306 relevant to thecontext 202 and filtering the feature set 306 irrelevant to thecontext 202. - It has been discovered that the
content delivery system 100 generates thefirst user profile 218 customized to thecontext 202. By customizing thefirst user profile 218 according to thecontext 202, thecontent delivery system 100 can improve the delivery of thedisplay content 502 to thefirst device 102 relevant to thecontext 202. As a result, thecontent delivery system 100 can deliver thedisplay content 502 efficiently to enhance the user experience of using thefirst device 102 and thecontent delivery system 100. - For further example, the first
profile generation module 710 and the secondprofile generation module 712 can generate thefirst user profile 218 and thesecond user profile 304 in parallel processes, in sequential order, or a combination thereof. The firstprofile generation module 710, the secondprofile generation module 712, or a combination thereof can send thefirst user profile 218, thesecond user profile 304, or a combination thereof to aweight calculator module 714. - The
personalization module 706 can include theweight calculator module 714, which can be coupled to the firstprofile generation module 710 and the secondprofile generation module 712. Theweight calculator module 714 calculates a feature weight 716, which is defined as a level of importance placed on theprofile feature 222. For example, the feature weight 716 can range from 0 to 1 with 0 representing the lowest value for thefeature weight 716 and 1 representing the highest value for the feature weight 716. For a specific example, theweight calculator module 714 can calculate the feature weight 716 of theprofile feature 222 based on thecontext 202. - The
weight calculator module 714 can calculate the feature weight 716 in a number of ways. For example, thecontext 202 can represent out of town. More specifically, the user of thefirst device 102 can be out of town for business, away from the home city. Theweight calculator module 714 can increase the feature weight 716 forprofile feature 222 representing the user'sinterest 226 of Chinese food from 0.2 to 0.8 to raise the level of importance for increasing the probability of displaying thedisplay content 502 related to the user'sinterest 226. - For another example, the
activity record 214 can indicate that the user of thefirst device 102 frequently visits Hawaii for vacation. More specifically, theactivity record 214 can show high frequency of entries for the location setting 206 representing Hawaii in thefirst storage unit 614 ofFIG. 6 and search queries related to Hawaii requested by the user on thefirst device 102. The entries logged in theactivity record 214 can be determined as frequent if the entries were logged every hour, every day, or a combination thereof. Theweight calculator module 714 can increase theprofile feature 222 based on the frequency of theactivity record 214 collected to increase the probability of displaying thedisplay content 502 related to Hawaii. - The
weight calculator module 714 can calculate the feature weight 716 for the same instance of theprofile feature 222 within the one instance of thefirst user profile 218 with a higher value or a lower value based on a degree of relevancy of theprofile feature 222 to thecontext 202. For example, the degree of relevancy can base on how far away in time period from thecontext time 216. More specifically, thecontext time 216 can represent year 2018 for the World Cup Soccer tournament in Moscow. The feature weight 716 for theprofile feature 222 representing the World Cup Soccer can have a value less than 1 during the non-World Cup years or time other than 2018. However, once the World Cup year becomes closer, theweight calculator module 714 can increase the feature weight 716 to increase the relevancy of theprofile feature 222. - After the World Cup is over in 2018, the
weight calculator module 714 can decrease the feature weight 716 to the value of 0 to indicate that the degree of relevancy for theprofile feature 222 to thecontext 202 has diminished. However, theweight calculator module 714 can increase the feature weight 716 to 0.25 in 2015, 0.5 in 2016, 0.75 in 2017, and 1 in 2018. Again, once the World Cup is over in 2018, theweight calculator module 714 can calculate the feature weight 716 to be less than 1 to reflect the decreased relevancy of theprofile feature 222. - It has been discovered that the
content delivery system 100 can calculate the feature weight 716 to adjust the importance of theprofile feature 222. By modifying the feature weight 716 according to thecontext 202, thecontent delivery system 100 can customize thefirst user profile 218 according to thecontext 202 more accurately. As a result, thecontent delivery system 100 can deliver thedisplay content 502 more efficiently and effectively for the enhanced user experience for operating thefirst device 102 and thecontent delivery system 100. - The
weight calculator module 714 can calculate the feature weight 716 for theprofile feature 222 within thefirst user profile 218 with a higher value or a lower value than the same type of theprofile feature 222 within thesecond user profile 304 based on thecontext 202. For example, thefirst user profile 218 and thesecond user profile 304 can both include theprofile feature 222 representing the user'sinterest 226 of fine dining. Thefirst user profile 218 can be categorized with theprofile type 224 of professional profile while thesecond user profile 304 can be categorized with theprofile type 224 of personal profile. If thecontext 202 represents professional environment, theweight calculator module 714 can increase the value for the feature weight 716 for theprofile feature 222 for thefirst user profile 218. More specifically, fine dining can be determined to be more relevant for the "Work Profile" than the "Family Profile" for taking clients out for a meal under thecontext 202. As a result, theweight calculator module 714 can decrease the feature weight 716 for theprofile feature 222 of fine dining for the "Family Profile" to reflect the decrease of relevancy of theprofile feature 222 under thecontext 202. - It has been discovered that the
content delivery system 100 can calculate the feature weight 716 to customize the importance of theprofile feature 222 for multiple instances of thefirst user profile 218. By modifying the feature weight 716 for each instances of thefirst user profile 218 according to thecontext 202, thecontent delivery system 100 can improve the relevancy of thefirst user profile 218 for thecontext 202. As a result, thecontent delivery system 100 can deliver thedisplay content 502 more efficiently and effectively for the enhanced user experience for operating thefirst device 102 and thecontent delivery system 100. - The
weight calculator module 714 can calculate the feature weight 716 for thefeature set 306. For example, theweight calculator module 714 can calculate the feature weight 716 by increasing or decreasing the value in equal proportion amongst the plurality of theprofile feature 222 within the same instance of thefeature set 306. The feature set 306 can include the plurality of theprofile feature 222 representing special sales, store locations, and product reviews for thecontext 202 of Christmas season. When thecontext 202 is no longer Christmas season, theweight calculator module 714 can calculate the feature weight 716 for the feature set 306 by decreasing the feature weight 716 for each instances of theprofile feature 222 from the value of 1 to the value of 0. Thepersonalization module 706 can send thefirst user profile 218, thesecond user profile 304, or a combination thereof to aprofile management module 718. - For illustrative purposes, the
content delivery system 100 is shown with the firstprofile generation module 710 generating thefirst user profile 218 based on theuser information 204, although it is understood that the firstprofile generation module 710 can be operated differently. For example, the firstprofile generation module 710 can generate thefirst user profile 218 based on the feature weight 716 of theprofile feature 222 of thefirst user profile 218 meeting or exceeding aweight threshold 720. - The
weight threshold 720 is defined as the required value for the feature weight 716. For example, theweight threshold 720 can represent the required value for each instance of the feature weight 716. For a different example, theweight threshold 720 can represent the required aggregated value or average value of the plurality of the feature weight 716. The firstprofile generation module 710 can generate thefirst user profile 218 based on the aggregated or the average value for the plurality of the feature weight 716 for the plurality of theprofile feature 222 within thefirst user profile 218 meeting or exceeding theweight threshold 720. - For example, the feature weight 716 for the
profile feature 222 representing the World Cup Soccer can represent 0.5. The feature weight 716 for theprofile feature 222 representing World Cup site of Moscow can represent 0.5. Theweight threshold 720 can represent the average value of the instances of the feature weight 716. Theweight threshold 720 can represent 0.75. Since the average value of the feature weight 716 did not meet theweight threshold 720, thefirst user profile 218 representing "World Cup" will not be generated. - For another example, the
weight threshold 720 can represent 0.5. The feature weight 716 can represent 0.25. Because the feature weight 716 is less than theweight threshold 720, the firstprofile generation module 710 can generate thefirst user profile 218 excluding theprofile feature 222 failing to meet theweight threshold 720. In contrast, if the feature weight 716 meets or exceeds theweight threshold 720, the firstprofile generation module 710 can generate thefirst user profile 218 including theprofile feature 222. - It has been discovered that the
content delivery system 100 can generate thefirst user profile 218 based on the feature weight 716 meeting or exceeding theweight threshold 720. By comparing the feature weight 716 to theweight threshold 720, thecontent delivery system 100 can further refine theprofile feature 222 that should be included or not in thefirst user profile 218 under thecontext 202. As a result, thecontent delivery system 100 can deliver thedisplay content 502 more efficiently and effectively for the enhanced user experience for operating thefirst device 102 and thecontent delivery system 100. - The
content delivery system 100 can include theprofile management module 718, which can be coupled to thepersonalization module 706. Theprofile management module 718 manages thefirst user profile 218 or thesecond user profile 304 based on thecontext 202. For example, theprofile management module 718 can select thefirst user profile 218 or thesecond user profile 304 based on thecontext 202 or thedifferent context 302. For a different example, theprofile management module 718 can delete thefirst user profile 218, thesecond user profile 304, or a combination thereof based on thecontext 202. - The
profile management module 718 can include aselection module 722. Theselection module 722 selects thefirst user profile 218 or thesecond user profile 304. For example, theselection module 722 can select thefirst user profile 218 or thesecond user profile 304 based on the relevancy to thecontext 202 or thedifferent context 302. - The
selection module 722 can select thefirst user profile 218 or thesecond user profile 304 in a number of ways. Thecontext 202 can represent the professional environment while thedifferent context 302 can represent a social setting. Thefirst user profile 218 can represent "Work Profile" while thesecond user profile 304 can represent "Party Profile." If thecontext 202 is determined to be the professional environment, theselection module 722 can select thefirst user profile 218 representing "Work Profile" based on the higher relevancy to thecontext 202. "Work Profile" can be determined to have higher relevancy based on including more instances of theprofile feature 222 relevant for thecontext 202 of work than "Party Profile." - It has been discovered that the
content delivery system 100 can select thefirst user profile 218 most suited for thecontext 202. By selecting thefirst user profile 218 according to thecontext 202, thecontent delivery system 100 can deliver thedisplay content 502 more efficiently and effectively for the enhanced user experience for operating thefirst device 102 and thecontent delivery system 100. - The
selection module 722 can select thefirst user profile 218 over thesecond user profile 304 based on the value of the feature weight 716 for thefirst user profile 218 exceeding the value of the feature weight 716 for thesecond user profile 304. For example, the comparison can be between the aggregated value of the plurality of the feature weight 716 for the plurality of theprofile feature 222 in thefirst user profile 218 to the aggregated value of the plurality of the feature weight 716 for the plurality of theprofile feature 222 in thesecond user profile 304. For a different example, the comparison can be between the averaged value of the plurality of the feature weight 716 for thefirst user profile 218 to the averaged value of the plurality of the feature weight 716 for thesecond user profile 304. Theselection module 722 can select thefirst user profile 218 or thesecond user profile 304 based on the higher of the aggregated or the averaged value. Theselection module 722 can resolve the conflict for selecting thefirst user profile 218 or thesecond user profile 304 under the same instance of thecontext 202 by selecting the profile with the higher value of the feature weight 716. - It has been discovered that the
content delivery system 100 can select thefirst user profile 218 based on the feature weight 716 for resolving a conflict arising from both thefirst user profile 218 and thesecond user profile 304 possibly suited for the same instance of thecontext 202. By considering the feature weight 716, thecontent delivery system 100 can select thefirst user profile 218 if thefirst user profile 218 is found to be more relevant than the second user profile 304for thecontext 202. As a result, thecontent delivery system 100 can deliver thedisplay content 502 more efficiently and effectively for the enhanced user experience for operating thefirst device 102 and thecontent delivery system 100. - The
profile management module 718 can include adeletion module 724. Thedeletion module 724 deletes thefirst user profile 218 or thesecond user profile 304. For example, thedeletion module 724 can delete thefirst user profile 218 or thesecond user profile 304 based on the infrequency of use of thefirst user profile 218 or thesecond user profile 304. - For a specific example, the
first user profile 218 can represent "Trip to Peru Profile." The user of thefirst device 102 can never visit Peru again in his lifetime. As a result, thedeletion module 724 can delete thefirst user profile 218 for "Trip to Peru Profile." - For further example, the
deletion module 724 can delete thefirst user profile 218 or thesecond user profile 304 based on atime threshold 726, which is defined as a time limit placed on the usage of thefirst user profile 218 or thesecond user profile 304. For example, thetime threshold 726 can represent 5 years. If thefirst user profile 218 was never factored by thecontent delivery system 100 for generating thedisplay content 502, thedeletion module 724 can delete thefirst user profile 218. - For another example, the
deletion module 724 can delete thefirst user profile 218 or thesecond user profile 304 based on the feature weight 716 failing to meet theweight threshold 720. For example, theweight threshold 720 can represent the requirement for thefirst user profile 218 to have at least one instance of theprofile feature 222 with the feature weight 716 value of 1. If thefirst user profile 218 does not have theprofile feature 222 with the feature weight 716 value of 1, thedeletion module 724 can delete thefirst user profile 218. - For a different example, the
weight threshold 720 can represent the aggregated or the averaged value for the plurality of the feature weight 716 for the plurality of theprofile feature 222 for thefirst user profile 218. Thedeletion module 724 can delete thefirst user profile 218 if the aggregated or the averaged value for the plurality of the feature weight 716 fails to meet theweight threshold 720. Theprofile management module 718 can send thefirst user profile 218 or thesecond user profile 304 selected to acontent management module 728. - It has been discovered that the
content delivery system 100 can delete thefirst user profile 218 unsuited for thecontext 202. By deleting thefirst user profile 218, thecontent delivery system 100 can reallocate the processing resource used for selecting thefirst user profile 218. As a result, thecontent delivery system 100 can improve the performance with the additional resource for delivering thedisplay content 502 to thefirst device 102. - The
content delivery system 100 can include thecontent management module 728, which can be coupled to theprofile management module 718. Thecontent management module 728 generates thedisplay content 502. For example, thecontent management module 728 can generate thedisplay content 502 based on thefirst user profile 218 or thesecond user profile 304. - The
content management module 728 can generate thedisplay content 502 in a number of ways. Thecontent management module 728 can include aretrieval module 730. Theretrieval module 730 retrieves thethird party content 506 ofFIG. 5 . For example, theretrieval module 730 can retrieve thethird party content 506 from the external sources for generating thedisplay content 502. Theretrieval module 730 can retrieve thethird party content 506 from the third party content provider via thefirst control interface 622. - The
retrieval module 730 can retrieve thethird party content 506 in a number of ways. For example, theretrieval module 730 can retrieve thethird party content 506 using a semantic analysis. The semantic analysis can analyze the content of thethird party content 506. More specifically, thethird party content 506 can be displayed as content on a website. Thethird party content 506 can represent updated departure time for the user's flight schedule. Thefirst user profile 218 can represent "Business Trip Profile." The "Business Trip Profile" can include theprofile feature 222 representing an itinerary. Based on theprofile feature 222, theretrieval module 730 can perform the semantic analysis by deciphering the flight number, the departure time, and keywords such as "delay" to retrieve thethird party content 506 for the itinerary. - For another example, the
retrieval module 730 can retrieve thethird party content 506 using a metadata. The metadata can be provided from the external sources, such as the third party content provider, result from the semantic analysis, or a combination thereof. For example, thethird party content 506 provided by the external sources can contain the metadata to categorize the content. More specifically, the metadata can be organized in a hierarchical structure which can correspond to theprofile feature 222 of thefirst user profile 218. - For example, the hierarchical structure of the metadata can represent "News" at the top level of the hierarchy. Under "News," the metadata can represent various subcategories, such as "Top News," "Sports News," and "Entertainment News." The
first user profile 218 can represent "News Reader Profile." The "News Reader Profile" can include theprofile feature 222 representing "Sports News." Based on theprofile feature 222, theretrieval module 730 can determine the category of the metadata for the content to retrieve the information relevant to thefirst user profile 218. For a specific example, theretrieval module 730 can retrieve the content with the metadata of "Sports News" for the user of thefirst device 102. - For a different example, the
retrieval module 730 can retrieve thethird party content 506 based on thecontext 202 or thedifferent context 302. More specifically, the location setting 206 can change from work to home. As a result, thecontext 202 where thefirst device 102 is situated can change as well. Furthermore, thethird party content 506 interested by the user of thefirst device 102 can also change. For a specific example, theretrieval module 730 can change the retrieval of thethird party content 506 from business news to entertainment news once the change in thecontext 202 is determined. - For another example, the
retrieval module 730 can retrieve thethird party content 506 based on the user'sinterest 226. Thethird party content 506 can represent media information, such as TV shows, movies, or a combination thereof. The media information can include media metadata, such as genre, key actors, directors, description, popularity, or a combination thereof. The user'sinterest 226 can represent "love comedy movie" for the genre. Theretrieval module 730 can retrieve thethird party content 506 related to media information relevant to the genre of "love comedy movie." Theretrieval module 730 can send thethird party content 506 retrieved to amatch module 732. - The
content management module 728 can include thematch module 732, which can be coupled to theretrieval module 730. Thematch module 732 matches thethird party content 506 retrieved to thefirst user profile 218. For example, thematch module 732 can match thethird party content 506 to theprofile feature 222 of thefirst user profile 218. - The
match module 732 can match in a number of ways. For example, thematch module 732 can match the hierarchical structure of thethird party content 506 retrieved to the hierarchical structure of theprofile feature 222 of thefirst user profile 218. More specifically, the hierarchical structure of thethird party content 506 can represent Hyundai (TM), a Korean automobile company with child structures with "Genesis (TM)," "Elantra (TM)," and "Veloster (TM)," automobile models for Hyundai (TM). Theprofile feature 222 can also be organized with the hierarchical structure of Hyundai (TM) with the sub-feature of "Veloster (TM)." Thematch module 732 can match the "Hyundai (TM)" and "Veloster (TM)" hierarchical structure of thethird party content 506 to the "Hyundai (TM)" and "Veloster (TM)" hierarchical structure of theprofile feature 222. More specifically, thematch module 732 can match based on the similarity of the hierarchical structure. As discussed above, thematch module 732 is able to match thethird party content 506 to theprofile feature 222 based on the same structure of the hierarchy. - For a different example, the
match module 732 can match thethird party content 506 based on thecontext 202 or thedifferent context 302. For example, the location setting 206 can represent vacation in Hawaii. Thethird party content 506 retrieved can represent vacationing spots in Waikiki. Thematch module 732 can match the information related to Waikiki to thefirst user profile 218 representing "Vacation Profile." For another example, thecontext time 216 can represent 7PM. Thematch module 732 can match thethird party content 506 based on thecontext time 216. As a result, thematch module 732 can matchthird party content 506 related to restaurants that serve dinner and filter information related to restaurants that serve breakfast. Further details regarding the filtration will be discussed below. - The
match module 732 can include amatrix module 744. Thematrix module 744 generates auser matrix 746. For example, thematrix module 744 can generate theuser matrix 746 based on parsing thethird party content 506 retrieved. Theuser matrix 746 can be generated for each instance of thethird party content 506, a category for thethird party content 506, or a combination thereof. For example, as discussed above, thethird party content 506 can represent the media information. Further, the media information can include media metadata, such as entertainment type, genre, key actors, directors, description, popularity, or a combination thereof. Thematrix module 744 can generate theuser matrix 746 by having each metadata parsed as the column for theuser matrix 746. Thematrix module 744 can send theuser matrix 746 to anindex module 748. - The
match module 732 can include theindex module 748, which can couple thematrix module 744. Theindex module 748 calculates asimilarity index 750. Thesimilarity index 750 is defined as a pertinence level. For example, thesimilarity index 750 can represent how likely the user of thefirst device 102 will like thethird party content 506. Further, thesimilarity index 750 can represent the relevancy of thethird party content 506 to the user'sinterest 226. - The
index module 748 can calculate thesimilarity index 750 in a number of ways. Theindex module 748 can calculate thesimilarity index 750 based on comparing the user'sinterest 226, theactivity record 214, or a combination thereof to thethird party content 506. For example, thethird party content 506 can represent the media information. The user'sinterest 226 can represent "movie," "love comedy movie," or a combination thereof. The metadata for the media information can include the entertainment type representing "movie" and the genre representing "love comedy movie." Theindex module 748 can select the columns on theuser matrix 746 for the entertainment type and the genre based on the user'sinterest 226 matching the metadata. - Further, the
index module 748 can calculate thesimilarity index 750 based on the number of columns selected from theuser matrix 746. For example, as described above, theuser matrix 746 for the media information can include six columns. If all the columns were selected, theindex module 748 can score thesimilarity index 750 of 100% or 1. In contrast, continuing from the previous example, only two columns, the entertainment type and the genre, out of six were selected. Theindex module 748 can calculate thesimilarity index 750 as 33% or 0.33. Thesimilarity index 750 of 1 can represent a higher relevancy of thethird party content 506 to theuser information 204 than thesimilarity index 750 of 0.33. - For another example, the
index module 744 can calculate thesimilarity index 750 based on a machine learning algorithm. Theindex module 744 can track the selection of the column for theuser matrix 746. For example, thesimilarity index 750 for thethird party content 506 representing the "Jerry Maguire," an American "love comedy movie," can be 0.75. Theuser matrix 746 representing another media information, such as "Knocked Up," an American "love comedy movie," can also have the same number of columns selected for theuser matrix 746. Theindex module 744 can calculate thesimilarity index 750 based on the machine learning algorithm to extrapolate that theuser matrix 746 having similar number of columns selected to score the same value of thesimilarity index 750. More specifically, thesimilarity index 750 for "Knocked Up" can also be 0.75. - For a different example, the
index module 744 can calculate thesimilarity index 750 based on thecontext 202 or thedifferent content 302. For example, thecontext 202 can represent a weekend. Theindex module 744 can calculate thesimilarity index 750 to be a value of 1 because the user'sinterest 226 includes going to movies on the weekend. In contrast, thedifferent context 302 can represent a weekday. Theindex module 744 can calculate thesimilarity index 750 to be a value of 0 because the user'sinterest 226 does not include going to the movies during the weekday. Theindex module 744 can send thesimilarity index 750 to afiltration module 752. - The
match module 732 can include thefiltration module 752, which can be coupled to theindex module 748. Thefiltration module 752 can filter thethird party content 506 found irrelevant. For example, thefiltration module 752 can filter thethird party content 506 based on thesimilarity index 750 below anindex threshold 754. Theindex threshold 754 is defined as the required value for thesimilarity index 750. For example, theindex threshold 754 can represent the required aggregated value or average value of the plurality of thesimilarity index 750. More specifically, thefiltration module 752 can set theindex threshold 754 to represent the average value of the instances of thesimilarity index 750 for multiples users of thecontent delivery system 100. Theindex threshold 754 can represent 0.5. Thesimilarity index 750 below theindex threshold 754 can be deemed irrelevant, thus, filtered. - For another example, the
filtration module 752 can filter based on thecontext 202 or thedifferent context 302. For example, the calendar application on thefirst device 102 can indicate a meeting at 12PM. Thefiltration module 752 can filter information related to lunchtime special offered by local restaurant but not filter thethird party content 506 related to food delivery service for the office. - For illustrative purposes, the
match module 732 can match thethird party content 506 to thefirst user profile 218 based on the hierarchical structure, although it is understood that thematch module 732 can be operated differently. For example, thematch module 732 can match thethird party content 506 to thefirst user profile 218 based on thesimilarity index 750 meeting or exceeding theindex threshold 754. As discussed above, thesimilarity index 750 meeting or exceeding theindex threshold 754 can be determined as relevant to thefirst use profile 218. As a result, thethird party content 506, such as the "Knocked Up," can be matched with thefirst user profile 218. - For illustrative purposes, the
filtration module 752 can filter thethird party content 506, although it is understood that thefiltration module 752 can be operated different. For example, thefiltration module 752 can update theindex threshold 754. Theindex threshold 754 can represent the average value of thesimilarity index 750 related to thethird party content 506 for "action movie." Theindex threshold 754 can represent 0.5. - The
filtration module 752 can increase or decrease the value of theindex threshold 754 based on theuser information 204, theexternal information 504, or a combination thereof. Continuing with the example, the user of thefirst device 102 can initially receive thethird party content 506 with thesimilarity index 750 with the value of 0.5, thus meeting theindex threshold 754. However, as logged in theactivity record 214, thethird party content 506 does not increase the frequency of activity related to thethird party content 506 on thefirst device 102. As a result, thefiltration module 752 can increase theindex threshold 754 to 0.6 for raising the threshold for thethird party content 506 of "action movie" to be matched with thefirst user profile 218. By raising theindex threshold 754, thematch module 732 can decrease the number of thethird party content 506 found uninterested by the user of thefirst device 102. - The
content management module 728 can include acontent generation module 734, which can be coupled to thematch module 732. Thecontent generation module 734 generates thedisplay content 502. For example, thecontent generation module 734 generates thedisplay content 502 based on thethird party content 506 determined to have matched thefirst user profile 218. Thecontent generation module 734 can send thedisplay content 502 to a display module 736. - The
content delivery system 100 can include the display module 736, coupled to thecontent management module 728. The display module 736 displays thedisplay content 502 on thefirst device 102. The display module 736 can include a tracker module 738. The tracker module 738 can generate theactivity record 214 by tracking the activity performed on thefirst device 102. As discussed above, theactivity record 214 can include the time when the user started or terminated the application on thefirst device 102, the time when the user read thedisplay content 502, read a news article, shared thedisplay content 502 in the social network, or a combination thereof. The tracker module 738 can send theactivity record 214 to thecollection module 702. - For illustrative purposes, the
content delivery system 100 is shown with the firstprofile generation module 710 generating thefirst user profile 218 based on theprofile feature 222 representing theuser information 204, although it is understood that the firstprofile generation module 710 can be operated differently. For example, the firstprofile generation module 710 can update thefirst user profile 218. The secondprofile generation module 712 can update thesecond user profile 304 similarly as the firstprofile generation module 710 updating thefirst user profile 218 as discussed below. - The first
profile generation module 710 can update thefirst user profile 218 for the same instance of thecontext 202. For example, thefirst user profile 218 can represent "Family Profile." Initially, the "Family Profile" can include theprofile feature 222 representing thedemographic information 208. Thedemographic information 208 can initially represent husband and wife without kids. However, once the couple has a kid, the firstprofile generation module 710 can update thefirst user profile 218 to include theprofile feature 222 representing a child. The firstprofile generation module 710 can update thefirst user profile 218 by adding, deleting, or a combination thereof theprofile feature 222 in thefirst user profile 218. - It has been discovered that the
content delivery system 100 can update the same instance of thefirst user profile 218 to improve the representation of the user'sidentity 220 under thecontext 202. Even if thecontext 202 does not change, thefirst user profile 218 suited for thecontext 202 can change. As a result, thecontent delivery system 100 can update thefirst user profile 218 to improve the relevancy of thefirst user profile 218 for thecontext 202. As a result, the accuracy of delivering thedisplay content 502 that matches thefirst user profile 218 can be improved for the enhanced user experience for operating thefirst device 102 and thecontent delivery system 100. - The physical transformation for determining the
context 202 results in movement in the physical world, such as people using thefirst device 102, based on the operation of thecontent delivery system 100. As the movement in the physical world occurs, the movement itself creates additional information that is converted back into updating the feature weight 716, thefirst user profile 218, or a combination thereof under thecontext 202 for the continued operation of thecontent delivery system 100 and to continue movement in the physical world. - The
first software 626 ofFIG. 6 of thefirst device 102 ofFIG. 6 can include thecontent delivery system 100. For example, thefirst software 626 can include thecollection module 702, thecontext determination module 704, thepersonalization module 706, theprofile management module 718, thecontent management module 728, and the display module 736. - The
first control unit 612 ofFIG. 6 can execute thefirst software 626 for thecollection module 702 to collect theuser information 204, theexternal information 504, or a combination thereof. Thefirst control unit 612 can execute thefirst software 626 for thecontext determination module 704 to determine thecontext 202, thedifferent context 302, or a combination thereof. Thefirst control unit 612 can execute thefirst software 626 for thepersonalization module 706 to generate thefirst user profile 218, thesecond user profile 304, or a combination thereof. - The
first control unit 612 can execute thefirst software 626 for theprofile management module 718 for selecting thefirst user profile 218, thesecond user profile 304, or a combination thereof. Thefirst control unit 612 can execute thefirst software 626 forcontent management module 728 for generating thedisplay content 502. Thefirst control unit 612 can execute thefirst software 626 for the display module 736 for displaying thedisplay content 502. - The
second software 642 ofFIG. 6 of thesecond device 106 ofFIG. 6 can include thecontent delivery system 100. For example, thesecond software 642 can include thecollection module 702, thecontext determination module 704, thepersonalization module 706, theprofile management module 718, thecontent management module 728, and the display module 736. - The
second control unit 634 ofFIG. 6 can execute thesecond software 642 for thecollection module 702 to collect theuser information 204, theexternal information 504, or a combination thereof. Thesecond control unit 634 can execute thesecond software 642 for thecontext determination module 704 to determine thecontext 202, thedifferent context 302, or a combination thereof. Thesecond control unit 634 can execute thesecond software 642 for thepersonalization module 706 to generate thefirst user profile 218, thesecond user profile 304, or a combination thereof. - The
second control unit 634 can execute thesecond software 642 for theprofile management module 718 for selecting thefirst user profile 218, thesecond user profile 304, or a combination thereof. Thesecond control unit 634 can execute thesecond software 642 forcontent management module 728 for generating thedisplay content 502. Thesecond control unit 634 can execute thesecond software 642 for the display module 736 for displaying thedisplay content 502. - The
content delivery system 100 can be partitioned between thefirst software 626 and thesecond software 642. For example, thesecond software 642 can include thepersonalization module 706, theprofile management module 718, and thecontent management module 728. Thesecond control unit 634 can execute modules partitioned on thesecond software 642 as previously described. - The
first software 626 can include thecollection module 702, thecontext determination module 704, and the display module 736. Based on the size of thefirst storage unit 614, thefirst software 626 can include additional modules of thecontent delivery system 100. Thefirst control unit 612 can execute the modules partitioned on thefirst software 626 as previously described. - The
first control unit 612 can operate thefirst communication unit 616 ofFIG. 6 to send theactivity record 214 to thesecond device 106. Thefirst control unit 612 can operate thefirst software 626 to operate thelocation unit 620. Thesecond communication unit 636 ofFIG. 6 can send thedisplay content 502 to thefirst device 102 through thecommunication path 104 of FIG. 10. - The
content delivery system 100 describes the module functions or order as an example. The modules can be partitioned differently. For example, thecollection module 702 and thecontext determination module 704 can be combined. Each of the modules can operate individually and independently of the other modules. Furthermore, data generated in one module can be used by another module without being directly coupled to each other. For example, thecontent management module 728 can receive thefirst user profile 218 from thepersonalization module 706. - The modules described in this application can be hardware implementation or hardware accelerators in the
first control unit 612 or in thesecond control unit 634. The modules can also be hardware implementation or hardware accelerators within thefirst device 102 or thesecond device 106 but outside of thefirst control unit 612 or thesecond control unit 634, respectively. - It has been discovered that the content delivery system100 generates the
first user profile 218 most relevant to thecontext 202. By generating thefirst user profile 218 most relevant to thecontext 202, thecontent delivery system 100 can generate thedisplay content 502 pertinent to the user of thefirst device 102. As a result, thecontent delivery system 100 can deliver thedisplay content 502 efficiently to enhance the user experience of using thefirst device 102 and thecontent delivery system 100. - Referring now to
FIG. 8 , therein is shown a flow chart of amethod 800 of operation of acontent delivery system 100 in an embodiment of the present invention. Themethod 800 includes: generating a first user profile for representing a user's identity in a context in ablock 802; generating a second user profile for representing the user's identity in a different context in ablock 8 04; selecting the first user profile or the second user profile based on the context or the different context in ablock 806; and generating a display content based on the first user profile or the second user profile for displaying on a device in ablock 808. - The resulting method, process, apparatus, device, product, and/or system is straightforward, cost-effective, uncomplicated, highly versatile, accurate, sensitive, and effective, and can be implemented by adapting known components for ready, efficient, and economical manufacturing, application, and utilization. Another important aspect of the embodiment of the present invention is that it valuably supports and services the historical trend of reducing costs, simplifying systems, and increasing performance. These and other valuable aspects of the embodiment of the present invention consequently further the state of the technology to at least the next level.
- While the invention has been described in conjunction with a specific best mode, it is to be understood that many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the aforegoing description. Accordingly, it is intended to embrace all such alternatives, modifications, and variations that fall within the scope of the included claims. All matters set forth herein or shown in the accompanying drawings are to be interpreted in an illustrative and non-limiting sense.
Claims (15)
- A method of operation of a content delivery system comprising:generating a first user profile for representing a user's identity in a context;generating a second user profile for representing the user's identity in a different context;selecting the first user profile or the second user profile based on the context or the different context; andgenerating a display content based on the first user profile or the second user profile for displaying on a device.
- The method as claimed in claim 1 wherein generating the first user profile includes generating the first user profile having a profile feature with a feature weight meeting or exceeding a weight threshold.
- The method as claimed in claim 1 wherein generating the first user profile includes calculating a feature weight for customizing the first user profile for the context.
- The method as claimed in claim 1 wherein selecting the first user profile includes selecting the first user profile based on a feature weight for a profile feature of the first user profile.
- The method as claimed in claim 1 further comprising:generating a user matrix based on parsing a third party content; andcalculating a similarity index based on the user matrix for identifying the third party content relevant for displaying the device.
- A content delivery system comprising:a first profile generation module for generating a first user profile for representing a user's identity in a context;a second profile generation module, coupled to the first profile generation module, for generating a second user profile for representing the user's identity in a different context;a selection module, coupled to the second profile generation module, for selecting the first user profile or the second user profile based on the context or the different context; anda content generation module, coupled to the selection module, for generating a display content based on the first user profile or the second user profile for displaying on a device.
- The system as claimed in claim 6, wherein the first profile generation module for generating the first user profile having a profile feature with a feature weight meeting or exceeding a weight threshold.
- The system as claimed in claim 6, further comprising a feature generation module, coupled to the first profile generation module, for calculating a feature weight for customizing the first user profile for the context.
- The system as claimed in claim 6, wherein the selection module is for selecting the first user profile based on a feature weight for a profile feature of the first user profile.
- The system as claimed in claim 6, further comprising:a matrix module, coupled to the selection module, for generating a user matrix based on parsing a third party content; andan index module, coupled to the matrix module, for calculating a similarity index based on the user matrix for identifying the third party content relevant for displaying the device.
- The system as claimed in claim6, wherein:the first profile generation module is for generating a first user profile having a profile feature for representing a user's identity in a context; andthe second profile generation module is for generating a second user profile having the profile feature for representing the user's identity in a different context.
- The system as claimed in claim 11, wherein the first profile generation module is for generating the first user profile based on a feature set for customizing the first user profile for the context.
- The system as claimed in claim 11, further comprising a feature generation module, coupled to the first profile generation module, for generating the profile feature based on user information, external information, or a combination thereof for customizing the first user profile for the context.
- The system as claimed in claim 11, wherein the selection module is for selecting the first user profile over the second user profile based on a feature weight of the profile feature.
- The system as claimed in claim 11, further comprising a deletion module, for deleting the first user profile having a feature weight of the profile feature failing to meet a weight threshold.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/724,868 US9141657B2 (en) | 2012-12-21 | 2012-12-21 | Content delivery system with profile generation mechanism and method of operation thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2747442A2 true EP2747442A2 (en) | 2014-06-25 |
EP2747442A3 EP2747442A3 (en) | 2014-07-30 |
Family
ID=49841579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP13198635.8A Ceased EP2747442A3 (en) | 2012-12-21 | 2013-12-19 | Content delivery system with profile generation mechanism and method of operation thereof |
Country Status (3)
Country | Link |
---|---|
US (1) | US9141657B2 (en) |
EP (1) | EP2747442A3 (en) |
KR (1) | KR102132392B1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9607025B2 (en) * | 2012-09-24 | 2017-03-28 | Andrew L. DiRienzo | Multi-component profiling systems and methods |
US20160283582A1 (en) * | 2013-11-04 | 2016-09-29 | Beijing Qihoo Technology Company Limited | Device and method for detecting similar text, and application |
US9734248B2 (en) | 2015-12-09 | 2017-08-15 | International Business Machines Corporation | Interest-based message-aggregation alteration |
EP4337148A2 (en) | 2021-05-12 | 2024-03-20 | Accessibe Ltd. | Systems and methods for making websites accessible |
US11670060B1 (en) * | 2021-10-11 | 2023-06-06 | Meta Platforms Technologies, Llc | Auto-generating an artificial reality environment based on access to personal user content |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890581B2 (en) | 1996-12-16 | 2011-02-15 | Ip Holdings, Inc. | Matching network system for mobile devices |
US20010051876A1 (en) | 2000-04-03 | 2001-12-13 | Seigel Ronald E. | System and method for personalizing, customizing and distributing geographically distinctive products and travel information over the internet |
JP2003178238A (en) * | 2001-12-11 | 2003-06-27 | Hitachi Ltd | Information distributing method and device and its processing program |
US7487234B2 (en) | 2002-09-17 | 2009-02-03 | International Business Machines Corporation | Context conflict resolution and automatic context source maintenance |
US20050071328A1 (en) | 2003-09-30 | 2005-03-31 | Lawrence Stephen R. | Personalization of web search |
US7860889B1 (en) * | 2004-05-12 | 2010-12-28 | Cisco Technology, Inc. | Methods and apparatus for redetermining social maps upon expectation of change |
US8086605B2 (en) * | 2005-06-28 | 2011-12-27 | Yahoo! Inc. | Search engine with augmented relevance ranking by community participation |
US20100180001A1 (en) | 2009-01-11 | 2010-07-15 | Dick Clarence Hardt | Contextual messaging and notification system |
US9215423B2 (en) | 2009-03-30 | 2015-12-15 | Time Warner Cable Enterprises Llc | Recommendation engine apparatus and methods |
US8185544B2 (en) * | 2009-04-08 | 2012-05-22 | Google Inc. | Generating improved document classification data using historical search results |
US20110231258A1 (en) | 2010-03-19 | 2011-09-22 | Visa U.S.A. Inc. | Systems and Methods to Distribute Advertisement Opportunities to Merchants |
US20110295687A1 (en) | 2010-05-26 | 2011-12-01 | Microsoft Corporation | Per-User Predictive Profiles for Personalized Advertising |
KR20110137665A (en) * | 2010-06-17 | 2011-12-23 | 경희대학교 산학협력단 | Method for providing content based on user profile |
US8478306B2 (en) | 2010-11-10 | 2013-07-02 | Google Inc. | Self-aware profile switching on a mobile computing device |
US20120246302A1 (en) | 2011-03-22 | 2012-09-27 | Milestone Project Inc. | System and methodology for creating and using contextual user profiles |
US20120254142A1 (en) * | 2011-03-31 | 2012-10-04 | Smart Technologies Ulc | Information display method and system employing same |
-
2012
- 2012-12-21 US US13/724,868 patent/US9141657B2/en active Active
-
2013
- 2013-12-19 EP EP13198635.8A patent/EP2747442A3/en not_active Ceased
- 2013-12-23 KR KR1020130161768A patent/KR102132392B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
None |
Also Published As
Publication number | Publication date |
---|---|
US20140181115A1 (en) | 2014-06-26 |
EP2747442A3 (en) | 2014-07-30 |
KR20140088012A (en) | 2014-07-09 |
US9141657B2 (en) | 2015-09-22 |
KR102132392B1 (en) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552504B1 (en) | Selecting, ranking, and/or presenting microsite content | |
US9874453B2 (en) | Navigation system having point of interest recommendation mechanism and method of operation thereof | |
US11657075B2 (en) | Generating textual summary about physical location based on computing interactions pertaining to physical location | |
US8200247B1 (en) | Confirming a venue of user location | |
US8370062B1 (en) | Switching between location contexts | |
US9275154B2 (en) | Context-sensitive point of interest retrieval | |
US9363634B1 (en) | Providing context-relevant information to users | |
US9194716B1 (en) | Point of interest category ranking | |
US11354372B2 (en) | Method and system for providing dynamic personalized recommendations for a destination | |
US9141657B2 (en) | Content delivery system with profile generation mechanism and method of operation thereof | |
US11573988B2 (en) | Storage of point of interest data on a user device for offline use | |
US20150186530A1 (en) | Point of interest tagging from social feeds | |
US20110167079A1 (en) | Framework for track-based mobile applications | |
US20140280053A1 (en) | Contextual socially aware local search | |
US20170249325A1 (en) | Proactive favorite leisure interest identification for personalized experiences | |
US10671685B1 (en) | Suggestion refinement | |
US9715553B1 (en) | Point of interest retrieval | |
US10503741B2 (en) | Electronic system with search mechanism and method of operation thereof | |
US9945683B1 (en) | Transport communication | |
US9798821B2 (en) | Navigation system with classification mechanism and method of operation thereof | |
JP2021096662A (en) | Information processing apparatus, information processing method, and information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20131219 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04N 21/475 20110101ALI20140623BHEP Ipc: H04N 21/466 20110101ALI20140623BHEP Ipc: H04N 21/482 20110101ALI20140623BHEP Ipc: H04N 21/442 20110101AFI20140623BHEP |
|
R17P | Request for examination filed (corrected) |
Effective date: 20150130 |
|
17Q | First examination report despatched |
Effective date: 20151221 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20190705 |