Profile management method

Most computer operating systems are able to automatically configure the coupled computer peripheral device for use with the computer operating system without the need for installation of a specific driver. However, when these peripheral devices are detected by the computing system, a generic UI control configuration is often assigned to them and whatever customised settings previously configured by the user will be lost and replaced with a new set of unfamiliar setting. This poses much inconvenience and hassle to gamers when they use a different computing system or machine. Described according to an embodiment of the invention is a profile management method, operating on a computing cloud, comprising steps for receiving client data provided by a computing system detecting coupling of a user-interface (UI) thereto and for retrieving configuration data corresponding to the client data for use in configuring the UI by the computing system.

FIELD OF INVENTION

The present invention relates generally to peripheral devices for computing systems. In particular, the invention relates to a system and method for managing the profile of peripheral devices for user-interfaces of computing systems.

BACKGROUND

In most computer games, speed and accuracy are often of significant importance to gamers. Familiarity with gaming control configurations will therefore determine how one performs in the game. Typically, frequent gamers have a specific set of customised device configurations uniquely suited for their game play. For example, to initiate a punch or to engage a weapon, gamers are able to re-assign combinations of keys on the keyboard or on the mouse to initiate different UI control. Gamers often do not break away from this set of configuration as it allows them familiarity and hence speed and control during gaming.

Some of these gamers are even equipped with their own preferred peripheral devices. Computer peripheral devices include but are not limited to computer mice, keyboards, handheld gaming consoles and joysticks. Known computer peripheral devices are typically interchangeable and can be used with different computer systems and platforms. Most computer operating systems are able to automatically configure the coupled computer peripheral device for use with the computer operating system without the need for installation of a specific driver. However, when these peripheral devices are detected by the computing system, a generic UI control configuration is often assigned to them and whatever customised settings previously configured by the user will be lost and replaced with default settings. This poses much inconvenience and hassle to gamers when they enter LAN-gaming shops or utilise computers for their gaming pleasures as they would have to reconfigure the control settings to suit their preferences.

There is, therefore, an apparent need for a method whereby these device settings and configurations can be stored and retrieved on the fly so that users can do away with the hassle of re-configuring their control settings whenever they use a different platform to access the different peripheral devices.

SUMMARY

In accordance with a first aspect of the invention, there is disclosed a profile management method comprising receiving client data provided by a computing system, with the client data comprising device data being descriptive of a user-interface (UI) in signal communication with the computing system, and associating one of a plurality of device profiles with the device data, each of the plurality of device profiles having configuration data associated therewith. The device data is further descriptive of the user interactions identifiable by the UI. The profile management system further comprises providing the configuration data associated with the one of the plurality of device profiles to the computing system for configuring operation of the UI with the computing system therewith.

In accordance with a second aspect of the invention, there is disclosed a profile management system comprising a controller module for receiving client data provided by a computing system. The client data comprises device data being descriptive of a user-interface (UI) in signal communication with the computing system. The device data is further descriptive of the user interactions identifiable by the UI. The profile management system further comprises a storage module having stored thereon a plurality of device profiles, each of the plurality of device profiles having configuration data associated therewith, and a processor module for associating one of a plurality of device profiles stored on the storage module with the device data. The configuration data associated with the one of the plurality of device profiles is providable by the controller module to the computing system for configuring operation of the UI with the computing system therewith.

In accordance with a third aspect of the invention, there is disclosed a machine readable medium having stored therein a plurality of programming instructions, which when executed, the instructions cause the machine to: receive client data provided by a computing system, the client data comprising device data being descriptive of a user-interface (UI) in signal communication with the computing system, the device data being further descriptive of the user interactions identifiable by the UI; associate one of a plurality of device profiles with the device data, each of the plurality of device profiles having configuration data associated therewith; and provide the configuration data associated with the one of the plurality of device profiles to the computing system for configuring operation of the UI with the computing system therewith.

DETAILED DESCRIPTION

For purposes of brevity and clarity, descriptions of embodiments of the present invention are limited hereinafter to the transfer and management of device profiles, in particular, device configurations, to client device associated with the computing system. This however does not preclude embodiments of the invention where fundamental principals prevalent among the various embodiments of the invention such as operational, functional or performance characteristics are required.

An exemplary embodiment of the invention, a profile management method100, is described hereinafter. The profile management method100is preferably for managing configuration of user interfaces (UI)18coupled to computing system20in communication with a computing cloud22. Further described, with reference toFIGS. 1 to 6, is a profile management system24, residing on the computing cloud22, for applying the profile management method100.

Generally, the profile management system24enables a configuration for UIs18to be created by a user so that the configuration can be readily accessed from different locations or from different computer terminals when the same or similar type of UI18is used. For example, when a user carries a personal mouse from location to location, the user does not have to reconfigure the mouse at each new location or at a new computer terminal. The configuration for the UI18, including the preferred settings therefor, are downloadable via the computer terminal the UI18is coupled to. This even applies to newly acquired devices where the UI18thereof can be configured for use “out of the box” via downloading the corresponding configuration previously created by a user, a third party, the device manufacturer or an application developer, for example, a gaming application. The configurations for the UIs18are preferably stored on one or more servers with each configuration catering to a specific, or similar, UI type and relating to a specific user identified by a user identifier. Download of the configuration can be initiated via various means including by the coupling of the UI18to a computer system, connecting to a specific network address, for example an IP address or a URL, launching of a particular application or game application or through operating of controls within an application. Preferably, information on the UI type is providable to the one or more server so that the configuration corresponding to the UI type, and preferably further corresponding to a particular user ID, can be identified for download and subsequent configuration of the corresponding UI18.

With reference toFIGS. 1 to 5, the computing cloud22comprises one or multiple server systems26inter-networked and configured to function as the profile management system24. Communication pathway between the computing cloud22and the computing system20is preferably provided via a local area network (LAN), a wide area network (WAN), the Internet, cellular networks, data networks, dedicated networks or a combination of any thereof.

The profile management system24comprises a controller module28for receiving client data29provided by the computing system20, a storage module30for storing a plurality of device profiles31and a processor module32. The client data29comprises device data34for associating with one of the plurality of the device profiles31by the processor module32.

The profile management method100comprises a step102of receiving the client data29providable by the computing system20by the profile management system24, a step104of associating one of the plurality of device profiles31within the profile management system24with the client data29and a step106of providing configuration data36associated with one of the plurality of device profiles31to the computing system20for configuration of the UI18thereafter.

The device data34is preferably descriptive of the UI18associated with the computing system20. The device data34is further descriptive of the user interactions identifiable by the UI18. Preferably, the UI18is one of a computer peripheral coupled with an interface formed integral with the computing device. Examples of computer peripherals include but are not limited to gaming console, joystick, computer mouse, keyboard and speakers. Alternatively, the UI18includes devices which are connectable for use with or forms part of the computing system20, for example, the touch screen display of a cell phone or a smart phone with the non-UI portions of the cell phone or smart phone forming the computing system20. The UI18is preferably at least one of actuation, for example mouse button actuation or key presses, touch, light, sound, motion and position sensing. Detection and recognition of the UI18, or its functional equivalent, occurs when the UI18is in signal communication with the computing system20. The computing system20generates the device data34for the UI18when the UI18is recognised thereby. For example, if the UI18is a 3D mouse, the user interactions identifiable by the 3D mouse would include free-space movement or position, scrolling actions and actuation of specific buttons existing on the 3D mouse. However, if the UI18is a multi-touch interface, the user interactions identifiable by the multi-touch interface would include locations of one or more points and gestures generatable by the one or more touch points on the multi-touch interface. Therefore, the user interactions identifiable and hence the device data when the UI18is a 3D mouse differs from when the UI18is a multi-touch interface.

When a user couples the UI18to the computing system20in network communication to the computing cloud22, the profile management system24is able to receive the client data29generated by the computing system20. The UI18may be connected to the computing system20via wired or wireless signal connection. Detection of the UI18can be configured by the user to be in response to coupling of the UI18to the computing system20or to be effected by the user by executing a routine or application on the computing system. Application programming interfaces (APIs) or components of software development kits (SDKs) is preferably made available for programmers, game developers and application developers to incorporate the function of detecting the UI18onto their computing systems20and software applications. This will provide the user with better control over how and when the UI18is to be detected for discovery and sending of the client data29to the profile management system24. The APIs and components of SDKs may be provided for development of auto-executable routines residing on the UI18for initiating the profile management method100upon detection thereof by the computing system20when the UI18is coupled thereto. In such an instance, the device data34specific to the UI18may be pre-defined and preloaded onto the UI18, preferably, onto a memory module residing on the UI18.

Preferably, the client data29further comprises identifier data38uniquely matched to at least one of a plurality of user identifiers40residing on the storage module30. Upon receiving of the client data29by the profile management system24in the step102, the profile management system24further processes the client data29for either user registration or log-on to the profile management system24. For an existing user with an identity existing as one of the plurality of user identifiers40on the storage module30, access to the profile management system24triggers the processor module32to associate the particular one of the user identifiers40with the identifier data38. Upon associating the one of the user identifiers40with the identifier data38, the one of the device profiles31and the configuration data36corresponding thereto are consequently identified. As an alternative over the identifier data38or in the absence of the identifier data38, the device data34may be used for identifying the corresponding one of the de vice profiles31and the corresponding configuration data36. In an event where none of the device profiles31exactly matches the device data38, a closest matching one of the device profiles31may be selected instead. The controller module28can be configured to select a closest matching one of all the device profiles31on the storage module30or a closest matching one of only the device profiles31associated with a particular one of the user identifiers40.

In an example of use of the profile management system24, a user couples his multi-touch device, the UI18, to a public computer, the computing system20. One or both of the multi-touch device and the public computer may be pre-loaded with a sub-routine to automatically connect to the profile management system24for initiating the profile management method100. Alternatively, the user can manually connect with the profile management system24, for example, via a URL using a web browser. Once the profile management method100has been initiated, the multi-touch device will send information, the client data19, to the profile management system24indicating that it is of a multi-touch device type, the device data34. The sent information can include the user's name or a user identifier, the identifier data38. On the profile management system24, the user identifier40matching with the user's name may have multiple device profiles31associated therewith, for example various types of devices including a 3-D mouse, a specific model of gaming mouse and a multi-touch device. With the sent information indicating that the multi-touch device is of a multi-touch device type, the profile management system24can isolate the corresponding one of the multiple device profiles31for extracting the configuration data36corresponding36thereto. The configuration data36can include, for the multi-touch device, a library of gestures and corresponding instructions for download to the public computer for configuring use of the multi-touch device with the public computer. Upon the multi-touch device being configured with the public computer, the user can immediately interact with the multi-touch device to generate instructions with gestures the user is familiar with out having to redefine gestures and corresponding instructions.

In another example of use of the profile management system24, the multi-touch device is a newly acquired device connectable to the profile management system24, via the user's personal computer, the computing system20, for locating and downloading a popular gesture library or a library of gesture provided by the manufacturers of the multi-touch device, the configuration data36for use in configuring the multi-touch device with the user's personal computer. In yet another example of use of the profile management system24, the UI18is a gaming mouse for use with a public computer, the computing system20. A user with his preferred settings, the configuration data36, stored on the profile management system24is able to connect the public computer to the profile management system24for downloading the configuration data36to the public computer. The configuration data for the gaming mouse could include one or more of button configuration, scroll-wheel and mouse displacement sensitivity and lighting or haptic feedback response to the gaming mouse. The availability of the configuration data36on the profile management system24allows the user to quickly configure the gaming mouse, or other UIs18, when using the public computer. For retrieval of configuration data36from the profile management system24in the step104, the user may either log-on to the profile management system24to retrieve stored configuration data36accessible to the public or choose to retrieve device data previously uploaded to the profile management system24associated with the user identifier40belonging to the user. Download of the configuration data36by other users is preferably determined by permission settings associated with the configuration data36. Upon receiving client data29by the controller module28, the profile management system24may initiate automated download of the configuration data36associated with the device profile31matching with the device data34of the provided client data29in the step106.

Preferably, the step102of receiving client data29comprises a step108of receiving authentication information (unreferenced) from the computing system20, for example a password provided by a user, to authenticate the identifier data34using the authentication data42corresponding thereto. Preferably, the profile management system24is configured such that the configuration data36in association with the identified one of the device profiles31will only be provided by the controller module28to the computing system20in the step106when the identifier data34is authenticated. Preferably, the configuration data36substantially defines interactions between the UI18and at least one of an application and an operating platform operating on the computing system20. In gaming applications, the configuration data36can be a single or a permutation of a plurality of keys on the keyboard for game control such as to engage a weapon or to cast a spell. In non-gaming applications, configuration data can include voice activated commands or gestures to manipulate UI18on touch interfaces.

When there exists a mismatch of operating platforms supported by the computing system20and which the stored configuration data operates on, the step106comprises a step112of processing the configuration data36for compliance with an operating platform so that the configuration data36downloadable from the profile management system24can be correctly recognised and configured for operation of the UI18with the computing system20. The operating platform is definable by platform data (unreferenced) constituting a portion of the client data29generatable by the computing system20for provision to the profile management system24.

Complementary to and in association with the profile management method100, there exists a device discovery method116configurable by the user for edited of data on the profile management system24. The device discovery method116is preferably applied by the computing system20. The device discovery method116comprises a step124of providing client data29for log-on to the profile management system24and a step126of uploading the device data34to the profile management system24.

The step124further comprises at least one of a step132for detecting coupling of the UI18to the computing system20, a step134for manually keying in of identifier data38to effect log-on to the profile management system24and a step136for registering a new user identifier40with the profile management system24. Preferably in the step132, the computing system20detects signal communication of the UI18with and generates the client data to effect an automated log-on to the profile management system24by associating the identifier data38with one of the device profiles31. Alternatively, the user may configure settings of the device discovery method116such that a log-on prompt will be initiated for requesting provision of the identifier data38upon the computing system20detecting signal communication of the UI18therewith. The user will then be required to manually key-in the identifier data38in the step134for access to the profile management system24. In the step136, a new user may register with the profile management system24by following through with a registration process. The registration process may request the new user to either manually key-in new identifier data38to be stored on the storage module30as one of the user identifiers40or couple a new device to the computing system20for extraction of the identifier data38therefrom.

In the step126, a user may define and upload new client data24onto the storage module30in the profile management system24under one of the user identifiers40. The device data34in association with the client data29will be stored in the profile management system24as one of the device profiles31. The configuration data36for new UI settings and configuration will also be uploaded for storage by the profile management system24and will be registered as being associated with the newly created one of the device profiles31. Preferably, the profile management system24allows for subsequent editing of the configuration data36after being uploaded to the storage module30.

In the gaming context, for gamers who are always on the move, their preferred settings configurations for computer peripherals, either general settings or game-specific settings, are made storable and accessible through a multitude of devices and platforms. In LAN-gaming shops or at any public access terminal, gamers have their preferred settings configurations on the fly and downloadable via the profile management system24to any terminal or platform in network communication thereto. Users with new gaming devices can also utilise the profile management system24to obtain a set of basic setting configuration for the UI18without having to manually configure control for any possible manipulation of the UI18. Update or modification of setting configurations from any computing system20in network communication with the profile management system24is also an available option.

Additionally, the profile management system24is able to process usage information and data stored in the storage module30for a variety of applications, including data analytics, and for access by users or third parties. The storage module30is preferably accessible by a third party. The third party includes, for example, a games developer, an advertiser or a network service provider. In addition, knowledge of the configuration preferences of users, in particular gamers, will enable game developers to design products that will better satisfy consumers.

In a non-gaming context, for example, when a user connects a multi-touch screen smart phone to profile management system24on the computing cloud22, or when voice command memos are being downloaded from the cell phone to the computing system20, configurations previously stored in the smart phone for manipulation of the UI18as well as specific voice activated commands used previously in the cell phone can be downloaded from the profile management system24and thereby be used with the computing system20, having the various commands or controls mimicked seamlessly.

The profile management method100preferably resides on the profile management system24as a plurality of instructions stored on a machine readable medium of the profile management system24. It is preferred that the instructions, when executed, cause the profile management system24to perform the step of the profile management method100. Similarly, the device discovery method116exists on the computing system20as a plurality of instructions stored on a machine readable medium thereof. It is preferred that the instructions, when executed, cause the profile management system24to perform at least one of the steps of the device discovery method116.

In a forgoing manner, a profile management method100and profile management system24are described according to exemplary embodiments of the invention. Although only a number of embodiments of the invention are disclosed in this document, it will be apparent to one skilled in the art in view of this disclosure that numerous changes and/or modifications can be made to the disclosed embodiments without departing from the scope and spirit of the invention.