This application claims the benefit of the filing date of an India Provisional Application No. 4363/CHE/2013, filed Sep. 26, 2013, the contents of which are incorporated herein by reference.
The present disclosure generally relates to customized displays and customer-specific functions for keys on a keyboard.
Manufacturers of many consumer electronic devices, including TVs, DVDs, and DVRs, and mobile devices are currently bundling direct access to services of third-party providers into the platforms of such devices. A device manufacturer may implement a button on a remote or an icon on a mobile device so that an end-user may directly access a specific service from a third-party service provider. For example, an end-user of the remote can conveniently access a preferred service at the push of a button, e.g. selecting a button for an on-demand streaming media provider to gain direct access to a preferred movie selection. Additionally, instead of a button, an end-user of a mobile device may select a dynamic application icon, or a “live title,” to activate a preferred application. The live tile is dynamic in the sense that it can display real-time summary or content information, e.g. displaying the number of new email messages in an end-user's inbox.
However, such conventional techniques are not integrated within a personal computing (PC) space. A lack of access to the services of third-party providers via a personal computing experience presents a barrier between the end-users and the service providers.
The same numbers are used throughout the disclosure and the figures to reference like components and features. Numbers in the 100 series refer to features originally found in
The present disclosure is generally related to customized displays and customer-specific functions for keys on a keyboard. In particular, the present techniques relate to applying to a personal computing (PC) space both business models for consumer electronics to deliver branded buttons on devices and a notion of dynamic content from an application on a key or live tile. In some embodiments, the keyboard may be a physical keyboard with customizable keys or a virtual keyboard with customizable keys. In some embodiments, only verified signed images may be displayed on the customizable keys of the keyboard. In some embodiments, the press of a customized key may display combinations of static content, customer-specific content, and live content to an end-user.
As described above, known implementation for access to a service-provider directly from a device are mainly limited to consumer electronic devices and mobile devices. Embodiments of the subject innovation relate to facilitating access to a service or an opportunity within a PC space through the use of keys on a keyboard. According to the subject innovation, the images of generic services, customer-specific services, and dynamically updated applications may be displayed on a key, where the key would be mapped to a specific service or application when chosen by an end-user.
In each case, the keys 102, 104, 106 may represent a dynamically customized key based on its particular intended usage. For example, each of the keys 102, 104, 106 may display static content, customer-specific content, third-party content, social-media content, online provider content, and online merchant content, among other interactive forms of content. In some aspects, each of the keys 102, 104, 106 may include live data, such as “Your order has now shipped,” “You have two messages in your inbox,” and “You have two offers available.”
The TKM 204 may be primarily responsible for displaying a custom key image on the keyboard 202. On start-up of a PC device 208, the TKM 204 may have cached a set of generic images, e.g., runtime configurable display images, for display on the keycap of the keyboard 202. Thereafter, the TKM 204 may periodically consult with a platform manufacturer to obtain a list of additional images to display, including auto-complete recommendations or visible passwords. In embodiments, the TKM 204 may consult with cloud services 218 such as a platform manufacturer cloud service 214 or a third party cloud service 216 to obtain the list of additional keys to display.
On startup or during execution of an application 210 belonging to partner service providers, the application 210 can consult with its own service provider to obtain a signed image for a custom key. The application can then register itself (as illustrated at reference number 211) with the Keyboard Manager 212 running in the Operating System 209 or at the application layer and deliver the signed key image to the TKM 204. Thus, during execution of an application 210, the application 210 may deliver the generic custom key image to the TKM 204 for display. The TKM 204 may validate each custom key image before it is displayed by determining its validity and eligibility for display on the keycaps. As illustrated in
In embodiments, the TKM 204 can automatically request or “get” a key image list from the cloud services 218 as illustrated at reference number 220. A signed image list may be sent to the TKM 204 from the cloud services 218 as illustrated by reference number 222. Similarly, a user can request or “get” a key image from the cloud services 218 as illustrated at reference number 224. A signed key image may be sent to the app 210 from the cloud services 218 as illustrated by reference number 226.
It is to be understood that the block diagram 200 of
On initial startup in the PC space, the TKM may have cached a set of generic validated images to display on the customizable keys of the keyboard. The TKM may then periodically consults with a cloud service of the platform provider to obtain a list of additional keys to display. The cloud service of the platform provider may also be configured to return a list of pre-determined images obtained from a third-party cloud servicer associated with authorized partner. The list may then be delivered back to the TKM, which validates each image as described above.
On startup or during execution of an application belonging to an authorized partner, the application can consult with its own service provider to obtain a signed image structure for a customized key. As described above, the key image may be a specific customized key mapped to a service from a third-party service provider or to an application, as shown in
For each image received, either from a service provider or from an interactive application, the TKM can choose the location of the image on the virtual keyboard. The TKM may first determine if the image is new or a replacement based on the assigned ID number 304. If the image is a replacement image, the image may be displayed on an existing assigned key. If the image is new image, the TKM may prioritize the image among other requested images and assign a new key.
It is to be understood that the block diagram 400 of
It is to be understood that the flow diagram 500 of
The CPU 602 can be a single core processor, a multi-core processor, a computing cluster, or any number of other configurations. The memory device 604 can include random access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), flash memory, or any other suitable memory systems. The CPU may be coupled to the memory device 604 by a bus 606.
The CPU 602 may be connected through the bus 606 to an I/O device interface 608 configured to connect the computing device 600 to a keyboard 610. The keyboard 610 may include, for example, the keyboard 100 as described with respect to
The CPU 602 may be linked through the bus 606 to a display interface 612 configured to connect the computing device 600 to one or more display devices 614. The display devices 614 may include a display screen that is a built-in component or that is externally connected to the computing device 600, for example, a computer monitor, television, or projector, among others.
The computing device 600 may include a storage device 616 connected to the CPU 602 via the bus 606. The storage device 616 is a physical memory such as a hard drive, an optical drive, a thumb drive, an array of drives, or any combinations thereof. The storage device 616 may also include remote storage drives. Moreover, the computing device 600 may include a network interface controller (NIC) 618 configured to connect the device 600 through the bus 606 to a network 620. The network 620 may be a wide area network (WAN), local area network (LAN), or the Internet, among other network configurations. In embodiments, the network 620 may include routers, switches, modems, or any other kind of interface devices used for interconnection.
Additionally, the CPU 602 may be connected through the bus 606 to a graphics processing unit (GPU) 622. In some embodiments, the GPU 622 may be embedded in the CPU 602. The GPU 622 may include a cache, and can be configured to perform any number of graphics operations within the computing device 600. For example, the GPU 622 be configured to render or manipulate graphics images, graphics frames, videos, or the like, to be displayed to a user of the computing device 600.
The block diagram of
Various software components may be stored on the tangible, non-transitory computer-readable medium 702, as shown in
The block diagram of
At block 808, the signed image for the customized key may be prioritized, if the signed image is a new image. If the signed image for the customized key is a replacement, the replacement signed image may be displayed on an assigned key. At block 810, the customized key may be selected by a user. Thereafter, at block 812, the customized key may be displayed based on the selection of the user. As a result, the TKM may work with the keyboard manager to identify, register, and launch the content of an application. In some embodiments, the application may be consulted to obtain the signed image for the customized key.
An electronic device is described herein. The electronic device includes a keyboard and several customized keys arranged on the keyboard. The keys can include dynamically customized keys based on usage. The customized keys can be mapped to a service of a third-party provider, to user-installed applications, and to live content data. The customized keys can be sold or leased as real-estate on the keyboard. The customized keys can display static content, customer-specific content, third-party content, social-media content, online provider content, online merchant content, and live content. The customized keys can be verified before display on the keyboard. The keyboard includes a virtual keyboard or a physical keyboard. The physical keyboard includes an integrated display that allows a symbol on the customized key to be mapped dynamically to a corresponding function associated with the symbol. The virtual keyboard can be mapped to a specific service, a customer-specific opportunity, or live content.
A non-transitory, computer readable medium is described herein. The non-transitory, computer readable medium can be for the display of a customized key and can include code to direct a processor to implement instructions. The instructions may include implementing a trusted execution environment (TEE) module, executing a trusted keyboard manager (TKM) module in the TEE module, implementing a keyboard manager module, and executing an application module.
The TKM of the non-transitory, computer readable medium may be responsible for displaying the customized key on a keyboard space, for delivering a key press of the customized key to the keyboard manager, and for validating that a key image of the customized key is authorized. The TKM may interface with a physical keyboard device. The TKM may overlap the customized key on top of a virtual keyboard to intercept a touch event that corresponds with the customized key. The TKM may collect a set of generic images to display on the customized key and may contact a cloud service to obtain a list of additional customized keys to display. The application of the non-transitory, computer readable medium may consult with a service provider to obtain a signed image of the customized key. The TEE of the non-transitory, computer readable medium may include a manageability engine (ME) or a secure enclaves (SE) on a computing platform. The keyboard manager of the non-transitory, computer readable medium may operate in an operating system or at an application layer to deliver a signed image of the customized key.
A signed image is described herein. The signed image may include an image, an assigned private key, a signature generated by the assigned private key, and a public key certificate chain. An authorized owner may generate the image to be displayed. The authorized owner may obtain a unique identifier, a public/private key pair, and a public key certificate chain. The image can be validated before it is displayed. A root of the public key certificate chain may verify the image to be displayed. A trusted keyboard manager (TKM) may verify the signed image and that the signature was generated by the authorized owner.
A method of displaying a signed image for a customized key is described herein. The method may include validating the signed image for the customized key, where a trusted keyboard manager (TKM) validates the signed image. The method may include storing the signed image for the customized key, where the TKM stores the signed image. The method may include determining the location of the signed image for the customized key, where the TKM determines the location. The method may include prioritizing the signed image for the customized key, pressing the customized key, and displaying the customized key.
The method may include consulting an application to obtain the signed image for the customized key and registering the application with a keyboard manager. The method may include delivering the signed image for the customized key to the TKM. The method may include delivering an undated signed image for the customized key to the TKM on a periodic basis. The determination of the location may include determining if the signed image is a new signed image or is a replacement signed image. The method may include prioritizing a new signed image and displaying a replacement signed image on an assigned key. The method may include supplying user context information with the consent of the user via a keyboard manager and intercepting the pressing and informing a keyboard manager of the pressed customized key. The method may include informing the application of the pressing.
A method is described herein. The method includes a means for validating the signed image for the customized key, where a trusted keyboard manager (TKM) validates the signed image. The method includes a means for storing the signed image for the customized key, where the TKM stores the signed image. The method includes a means for determining the location of the signed image for the customized key, where the TKM determines the location. The method includes a means for prioritizing the signed image for the customized key, a means for selecting the customized key, and a means for displaying the signed image for the customized key.
The method includes a means for consulting an application to obtain the signed image for the customized key and a means for registering the application with a keyboard manager. The method includes a means for delivering the signed image for the customized key to the TKM and a means for delivering an undated signed image for the customized key to the TKM on a periodic basis. The determining of the location of the signed image for the customized key includes determining if is a new signed image or is a replacement signed image. The method includes a means for prioritizing a new signed image and a means for displaying a replacement signed image on an assigned key. The method includes a means for supplying user context information with the consent of the user via a keyboard manager and a means for intercepting the selection and informing a keyboard manager of the selected customized key. The method includes a means for informing the application of the pressing.
An embodiment is an implementation or example. Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” “various embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments, of the present techniques. The various appearances of “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments. Elements or aspects from an embodiment can be combined with elements or aspects of another embodiment.
Not all components, features, structures, characteristics, etc. described and illustrated herein need be included in a particular embodiment or embodiments. If the specification states a component, feature, structure, or characteristic “may,” “might,” “can,” or “could” be included, for example, that particular component, feature, structure, or characteristic is not required to be included. If the specification or claim refers to “a” or “an” element, that does not mean there is only one of the element. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
The present techniques are not restricted to the particular details listed herein. Indeed, those skilled in the art having the benefit of this disclosure will appreciate that many other variations from the foregoing description and drawings may be made within the scope of the present techniques. Accordingly, it is the following claims including any amendments thereto that define the scope of the present techniques.
Number | Date | Country | Kind |
---|---|---|---|
4363/CHE/2013 | Sep 2013 | IN | national |