System for application personalization for a mobile device

A system for controlling applications of a wireless mobile device includes a server for receiving data related to an adaptive user profile and for controlling operations of applications within the wireless mobile device. An adaptive neural/fuzzy logic control application implemented within the network server generates the adaptive user profile responsive to the received data. The adaptive user profile controls operations of the applications within the wireless mobile device and changes in real time responsive to the received data.

TECHNICAL FIELD

The present invention relates to the operation of applications upon a mobile device, and more particularly, to a system and method for creating an adaptive personal profile for controlling presentation of applications upon a wireless mobile device.

BACKGROUND

As wireless device applications and wireless networks such as the 4G network continue to develop, a huge spectrum of applications are becoming available for end users to choose from. These applications provide the end users a wide variety of processes, abilities and solutions that may be sent to the user. This variety of applications are only useful to the end user when the applications are accessed and enabled to provide the end user with specific types of information they may require. Thus, some means for controlling the manner in which the information provided by the various applications could be presented to an end user would be of great interest and benefit to the end user. More particularly, the ability for a service provider to provide a service in which the manner the applications present information to an end user could be controlled in a manner beneficial to that user would provide a potential marketing benefit and revenue stream to the service provider. The service provider could provide this as a specialized service to the end user.

SUMMARY

The present invention, as disclosed and described herein, in one aspect thereof, comprises a system for controlling applications of a wireless mobile device. A network server receives data related to an adaptive user profile and controls operations of applications within the wireless mobile device. An adaptive neural net/fuzzy logic control application implemented within the network server generates the adaptive user profile responsive to the received data. The adaptive user profile controls the operation of the applications within the wireless mobile device and changes in real time responsive to changes in user behavior and profile.

DETAILED DESCRIPTION

Referring now to the drawings, and more particularly toFIG. 1, there is illustrated a drawing of the various control layers that are associated with providing a wireless connection to a portable wireless device. These include the physical layer102, data link layer104, network layer106, the transport layer108, the session layer110, the presentation layer112and the application layer114. Each of these seven layers together represents the open systems interconnection model (OSI model) for wireless networks. The OSI model is a manner for subdividing a communication system into the described seven layers. Each layer comprises a collection of conceptually similar functions that provide service to the layer above it and receives services from the layer below it. Within each layer, an instance provides services to the instances at the layer above and requests services from the layers below.

The physical layer102defines the electrical and physical specifications for devices providing the wireless communications. It defines the relationship between a device and its transmission medium. The physical layer102provides the media signal and binary transmission requirements for the wireless communication system. The physical layer102provides for the establishment and termination of a connection to a communications medium, provides for the participation in the process whereby communications resources are effectively shared amongst multiple users. The physical layer102also provides for modulation or conversion between the representation of digital data and user equipment and corresponding signals transmitted over a communications channel.

The data link layer104provides the functional and procedural means to transfer data between network entities and to detect and correct errors that may occur within the physical layer102. Thus, the data link layer104enables for communications between various devices of the communications network. The data link layer104provides for point-to-point and point-to-multi-point communications in the wireless network. The data link layer104combines the bit data received from the physical layer102into frames for transmission to the network layer106.

The network layer106enables for path determination and logical addressing within the wireless network. The network layer106provides the functional and procedural means of transferring variable length data sequences from a source to a destination via the wireless network while maintaining the quality of service requested by the transport layer108. The network layer106performs network routing functions and may also perform fragmentation and reassembly of data packets that are generated from frames received from the data link layer104. The network layer106also reports delivery errors between network components. Routers operate within the network layer106enabling the transmission of data between nodes of the wireless network.

The transport layer108provides transparent transfer of data between end users and provides reliable data transfer services to the higher data layers. The transport layer108controls the reliability of a given communications link through flow control, segmentation/de-segmentation and error control. Some protocols are state and connection oriented. The transport layer108can track segments transmitted over a communication link and re-transmit those that fail. The transport layer108also provides acknowledgments of successful data transmissions and sends a next group of data if no errors have occurred.

The session layer110controls the connections between various computers and nodes of the wireless communication network. The session layer110establishes, manages and terminates the connections between local and remote applications. The session layer110provides full duplex, half duplex or simplex operations and establishes check pointing, adjournment, termination and restart procedures for the network. The session layer110is responsible for closing communication sessions and for session check pointing and recovery.

The presentation layer112establishes context between application layer114entities in which the higher layer entities may use different syntax and semantics if the presentation service provides a mapping between them. If mapping is available, presentation service data units are encapsulated into session protocol data units and passed down the stack. The presentation layer112provides independence from data representation (e.g., encryption) by translating between applications within the application layer and network formats. The presentation layer112transforms data into a form that applications within the application layer will accept. The presentation layer formats and encrypts data to be sent across the network.

The application layer114is the layer closest to the end user which means that the application layer and the user interact directly with a software application. The application layer114interacts with software applications that implement a communicating component. Such application programs fall outside the scope of the OSI model. Application layer functions typically include identifying communication partners, determining resource availability and synchronizing communications. When identifying communication partners, the application layer114determines the identity and availability of communication partners for applications with data to transmit. When determining resource availability, the application layer114decides whether sufficient network resources for the requested communication exist. In synchronizing communications, all communications between applications requires cooperation that is managed by the application layer114. The application layer114is used for controlling the information, which is presented to the user such as applications like their user interface. By providing some manner for controlling the information presented from the application layer114to the various applications of the control of the application layer114, a user can be provided with a more valuable content experience, and if the system provider can control the manner in which the applications are being presented to the user, they are providing their customers with a benefit that can create revenue generating capabilities for the system provider.

Referring now toFIG. 2, there is illustrated an implementation of the current invention wherein a personalization layer202is inserted between the application layer114and the presentation layer112. The personalization layer202will extract data from the number of different sources as described hereinbelow to enable the creation of an adaptive user profile. The adaptive user profile enables control of applications within the application layer114in a way that is unique to each user. A personalization layer202will allow the presentation of information to a user that is unique and of interest to the user without any interaction or input by the user. The personalization layer202obtains and compiles all of the information as more fully described hereinbelow to enable the generation of the adaptive user profile and utilizes the adaptive user profile to control the initiation and presentation of the applications within the application layer114to present user specific information that is most likely to be of interest and use to the user of a wireless mobile device.

Referring now toFIG. 3, there is illustrated a manner in which a personalization engine302may utilize a number of user profiles304and external sources306to generate the adaptive user profile that is personalized to a particular user. A security profile310defines the security information that is associated with a particular user profile308. This can include information such as passwords, user IDs and other types of security information that allows an individual to log onto and access various types of online information. A privacy profile312provides information that should not be disclosed with respect to the user profile308. The privacy profile312identifies certain types of information that a user desires to maintain in private and not to be shared with third party individuals. The authentication profile314contains user passwords and IDs that are necessary for authenticating the user profile within various applications within the application layer114.

An identity profile316contains identification information with respect to a particular user and user profile. This could contain information such as the user's name, age, birth date and any other type of information that is necessary for confirming or providing an identity of a user or information with respect to the user's identity. The usage and timing profile318stores and provides information with respect to amounts and time of usage by a user of particular applications or other types of services with respect to their mobile device. The usage and timing profile318stores in a central location all of the time-based usage information and times that these usages occurred so that they may be accessed by the personalization engine for generation of the adaptive user profile308.

The interest profile320stores information relating to the interest of a user. The interest profile includes user-entered information such as interest in particular activity, hobby, television shows, movies, types of music, etc. The interest profile320additionally includes information that is data mined from user choices made with respect to their mobile wireless device such as visited websites, music or information downloaded to the handset or numbers contacted through the mobile device.

A location profile322stores information with respect to the present and past actual locations of the mobile device such as a specific restaurant, movie theater, bookstore, shop, etc. The geographic profile324provides information with respect to the geographic position of the mobile device with information such as the city, state country in which you are located and the positions that the mobile device travels to within the city. The movement profile326provides information with respect to movements of the mobile device at particular points in time. The movement information can be indexed and associated with particular times of the day, week, month, year, etc., in order to allow future determinations of possible movement characteristics to be made from past movement profiles.

The behavior profile328includes information with respect to particular behaviors of the user associated with the adaptive user profile308. This behavior profile information can include details with respect to a users actions with respect to use of the voice and data features of the mobile device, such as downloading 5 minutes of video only to watch the first 10 seconds, click patterns when accessing the web, etc. The device profile330contains information describing the characteristics and parameters of the mobile device in which the adaptive user profile308is implemented and with respect to the various applications that are installed and utilized within the mobile device. The presentation profile332provides information with respect to the manner a user likes to view information on the mobile device, such as using high definition HD, resolution if User Equipment (UE) supports this format. The information profile334includes information in which the user has an interest. Finally, the user-defined profile336, which is stored on a secure cloud, enables the user to enter various types of information that are specific to a user's desires, wants and needs that will affect the operation of the personalization engine302and the generation of the adaptive user profile.

The external sources306comprise various sources that are accessed via the Internet that provide information that is useful in the personalization engine302generating the adaptive user profile308for controlling the applications within a mobile device. External sources306include information such as travel information, traffic information, and ground/water/air transportation information338that may be accessed over the Internet. This type of travel information can be useful in determining positioning movement or travel decisions with respect to the mobile device by providing up-to-date current travel/traffic/transportation information to the mobile device. Weather information340may be used to provide current weather information to the mobile device. Event/holiday information342can be in the form of a calendar type functionality that enables determination of particular unique events, such as birthdays, anniversaries, etc., the occurrence of major holidays, such as Thanksgiving, Christmas, New Years, etc or generic events (i.e. Valentines Day, St. Patrick's Day, etc.).

Coupon information344stores information with respect to coupons of retailers or sellers with which a particular user may have some type of predefined relationship. In the appropriate situation new coupon information344may be retrieved and presented through the adaptive user profile308on a mobile device such that a user may take advantage of various coupons that may be available to them of which they were not aware. Relevant news information346can be presented from various news websites such as Fox News, MSNBC, CNN, Yahoo!, Google, etc., that provides news information to a user based upon that user's particular interest. Thus, for example, if a user was particularly interested in the stock market, various stock increases or decreases could be obtained from these websites and provided to the user automatically. Finally, various other types of information sources348may be utilized based upon the type of information that is needed to implement particular information to a user through the applications of the mobile device as required by the operation of the adaptive user profile308.

Referring now toFIG. 4, there is provided a more detailed implementation of the personalization engine402and the manner in which it generates the adaptive user profile for use within a wireless mobile device400. The personalization engine402utilizes an adaptive neural net/fuzzy logic network404. The adaptive neural net/fuzzy logic network404obtains information from a number of different sources including derived profiles406, user profiles from the wireless network system408, user input profiles410and external data sources412. The derived profiles406come from a number of different sources as will be described further hereinbelow that mine particular types of data from existing sources in order to generate the derived profile406information. The user profiles408comprise information that is obtained from the system that is providing the wireless network services to the wireless mobile device406. User input profiles410comprise information that the user has created to assist the personalization engine402in generating the adaptive user profiles for controlling their wireless mobile device400. The relevant data from external data sources412comprise various types of information that may be necessary for the personalization engine402to generate the adaptive user profile such as traffic sources, weather information, etc., as described previously with respect toFIG. 3.

The external data sources412obtain the relevant data from various external sources414that provide information to the personalization engine402such as traffic information, weather information, news, coupons, or events and holidays as discussed hereinabove. The external sources414are accessed and provide information, as necessary, depending upon particular applications that are being actuated by the user profile generated by the personalization engine402.

The user input profiles410are provided from a secure user database416on a user secure cloud network. The secure user database416is accessed through the user cloud by the user in a private fashion that allows the user to enter any information they desire to affect the generation of their adaptive user profile by the personalization engine402. Before accessing the secure user database, the user input profile410must provide some type of authentication process between the user input profile and the secure user database416in order to access the secure user database by authorized users and limit unwanted usage of the information within the secure user database.

User profiles408from the system come from the wireless system provider for use by the personalization engine402. This type of system user profile408may include location information418or information that is provided from the UDB (unified database)420that collects information from the home subscriber server (HSS)422, policy charging and rules function (PCRF)424and the AAA (Authentication, Authorization and Accounting)426. The user database420stores user system information from each of the described sources. The HSS422is a master user database that supports network components that are handling wireless calls. The HSS422contains subscription related information (subscriber profiles) that includes information relating to users making or receiving calls and their subscription levels. The HSS422additionally performs authentication and authorization of users for the network and can provide information relating to a subscriber's location and IP information. The PCRF424determines the policy rules associated with a multimedia network. The PCRF424plays a central role in next generation networks. The PCRF424assesses subscriber databases and other specialized functions such as charging systems and provides this information to the user database420. The PCRF424obtains and provides quality of service and traffic policy information to the user database420.

The AAA426comprises the traditional Authentication, Authorization and Accounting. The AAA426is responsible for authentication and authorizing access to the wireless network. The AAA426also performs accounting functions with respect to the usage of the mobile device on the wireless network.

The derived profile406comprises information that is derived from various sources such that different types of information that are useful for the personalization engine402to create the adaptive user profile may be used. Various examples of these types of nodes or functions for determining information for the derived profile are illustrated inFIG. 4. However, other types of functions or nodes may also be utilized to create derived profile406information. The SASN (service aware support node)428is used for generating real time traffic information for storage in the derived profile406. The service aware support node428is a tool for traffic inspection in multi-vendor multi-accessed networks. SASNs428main application is enforcement of policy control and charging in mobile broadband networks. The capabilities of the SASN428include traffic inspection for a wide range of protocols, policy enforcement, advanced traffic management, content filtering and insertion, collection of statistics, support for real time charging and support for post-paid and pre-paid users.

The ENIQ (Ericsson Network Intelligence Quotient)432is a data mining and reporting system for networks that may be used to obtain usage information, reporting information, and post analysis information. The ENIQ432collects statistics from network elements, loads them into a database and provides reports on network quality based on KPIs (Key Performance Indicators). This information may be provided to the derived profile406.

The data analytics432provides intelligent extraction information to the derived profile406. Data analytics432enable data analysis for usage and charging within the wireless network. TrueCall434provides a PCMD (Per Call Mobile Data) analyzer. TrueCall provides real-time network performance data specific to particular locations (Lat, Long) within the wireless network. The WNG (Wireless Network Guardian)436provides traffic analysis over the network. Prospect438comprises a performance and service management system that may provide performance management and post analysis information to the derived profile406. Prospect438is a client service architecture application that delivers performance metrics and makes it simple to generate performance reports for use across the enterprise. A data warehouse440stores various types of information with respect to the network that may be utilized by the derived profile406. The data warehouse440stores information such as billing information that is relevant to the implementation of various applications by the adaptive personal profile.

The personalization engine402utilizes the adaptive neural net/fuzzy logic algorithm for generating the adaptive user profile from the derived profile information406, the system user profile408, the user input profile information410and the relevant data from external data sources312. Each of these pieces of information enable the creation of an adaptive user profile for controlling applications on an application layer of the mobile device400to create a personalized user interface for the user of the wireless mobile device400.

Thus, the personalization engine402enables a network provider to tap into data collected from eNBs, CPGs, MME, OSS, SASN, ENIQ, data warehouses as well as external solutions like TrueCall to identify the location of the subscriber, their usage patterns and various applications which they may use. Additionally, the personalization engine enables the network to determine the times that they use their applications and other types of information that are specific to the individual end user. This information is utilized to create a unique adaptive user profile that is specific to that user and will provide a great deal of benefits when applied to the mobile device of that user such that their applications are being generated in a unique fashion considered to present information and relevancy to the user in which they would be most interested.

The created profiles may be provided from the personalization engine402as a for pay service. Thus, a service provider may charge a user for use of the profile to create a revenue stream for the network service provider.

Referring now toFIG. 5, there is illustrated the manner in which the personalization engine302generates the user profile502and adaptive user profile504in accordance with the provided data as described inFIG. 4. The user profile502receives user specific data506and system data508from the variety of sources discussed hereinabove. The user specific data506comprises data that is particular to the user associated with the user profile502. This includes information such as calling habits, interests, present location, etc. The system data508comprises general information that may possibly affect the user of the mobile device in some manner. This could include information such as present call traffic, various types of connection information, weather data, traffic data or any other type of general or system-type information that may affect the user and be of benefit to determining control of their application profile.

After the user profile502is created, the profile is monitored to determine when either the user-specific data506or system data508has updated data510for insertion into the profile. When updated data510is located, the profile502is updated at504to reflect the information provided by the updated data510and returns to monitor for updated data510. The adaptive profile504and/or user profile502are used for controlling the user interface512of the wireless mobile device. In this manner, the user interface is adaptively controlled via the adaptive user profile504in order to present information to the user that is uniquely associated with or of interest to the user.

Referring now toFIG. 6, there is illustrated a flow diagram describing the process by which the adaptive user profile may be created to control an interface of a wireless mobile device. Data is initially collected from various internal and external data sources at step602. As described previously, this data may relate to user-specific information associated with the user of the mobile device or may comprise general information relating to the connection associated with the mobile device or local options and information that may affect the user of the mobile device. The collected data is provided to the personalization engine302such that the adaptive neural net/fuzzy logic network may process the data in order to create the personalized profile at step604.

The adaptive neural net/fuzzy logic network404processes at step606the provided data to generate the personalized profile. This personalized profile is provided at step608from the network to an associated mobile device. The provided profile is applied to the mobile device at step610such that a personalized interface is provided to a user through the mobile device responsive to the generated adaptive user interface created by the personalization engine302. Inquiry step612determines if any information has been provided to the personalization engine to update the user profile and if not, continues to monitor for updated data at inquiry step612. If newly updated data is detected by inquiry step612, the updated data is collected at step614and provided to the personalization engine at step604to adaptively update the adaptive user profile being generated by the personalization engine302.

Referring now toFIG. 7, there is illustrated the process for utilizing the adaptive user interface provided to a mobile device. When a mobile device is initialized at step702, it will access its existing user profile at step704that is already stored locally within the mobile device. Using the presently existing user profile at step706, the mobile device begins to initialize applications responsive to the presently stored profile within the mobile device. Inquiry step708monitors for changes within the existing profile and when no changes are detected will continue to monitor for received profile changes. Once a profile change is detected by inquiry step708, the new profile is accessed at step710and new applications that may be initialized responsive to the new profile are initiated at step712. Control passes back to step708where the mobile device will continue to monitor for additional profile changes that may cause changes within the presented applications.

It will be appreciated by those skilled in the art having the benefit of this disclosure that this system for application personalization for a mobile device provides an improved interface particularly formatted to the needs of a particular user. It should be understood that the drawings and detailed description herein are to be regarded in an illustrative rather than a restrictive manner, and are not intended to be limiting to the particular forms and examples disclosed. On the contrary, included are any further modifications, changes, rearrangements, substitutions, alternatives, design choices, and embodiments apparent to those of ordinary skill in the art, without departing from the spirit and scope hereof, as defined by the following claims. Thus, it is intended that the following claims be interpreted to embrace all such further modifications, changes, rearrangements, substitutions, alternatives, design choices, and embodiments.