Signed application cards
First Claim
1. A card server comprising:
- a network communication device;
a storage device that stores;
a card data store that stores card records, wherein each card record comprises a card record identifier (ID) and one or more data fields; and
a key data store that stores a plurality of private keys, each private key being associated with one or more card record IDs; and
a processing device that executes computer-readable instructions that, when executed by the processing device, cause the processing device to;
receive a card request from a mobile computing device, wherein the card request comprises a search query with one or more search terms, wherein the card request includes contextual data from the mobile computing device, and wherein the contextual data includes application data associated with native applications that are installed and execute on the mobile computing device;
generate a consideration set of card records based on the search terms in the search query;
determine a relevance score for each card record in the consideration set;
select a card record from the consideration set based on the relevance scores for the card records in the consideration set;
retrieve the one or more data fields from the selected card record;
identify a private key in the key data store based on the card record ID of the selected card record;
generate a digital signature by signing the one or more data fields retrieved from the selected card record with the identified private key;
generate a card object that comprises the digital signature and the one or more data fields from the selected card record; and
transmit the card object to the mobile computing device.
4 Assignments
0 Petitions
Accused Products
Abstract
A device that displays signed application cards. The device receives a card object that includes: an application function identifier that identifies an application function of a native application, a digital signature, and a certificate that comprises a public key. The device verifies the authenticity of the digital signature with the public key in the certificate. The device determines that the certificate is signed by a developer of the native application referenced by the card object. The device renders an application card on the display based on the information included in the card object. The application card includes a text string, an image, an audio, and/or an image. The device overlays an indicator onto the application card. The indicator indicates that the authenticity of the digital signature has been verified. The indicator also indicates that the developer of the native application authorized the rendering of the application card.
35 Citations
20 Claims
-
1. A card server comprising:
-
a network communication device; a storage device that stores; a card data store that stores card records, wherein each card record comprises a card record identifier (ID) and one or more data fields; and a key data store that stores a plurality of private keys, each private key being associated with one or more card record IDs; and a processing device that executes computer-readable instructions that, when executed by the processing device, cause the processing device to; receive a card request from a mobile computing device, wherein the card request comprises a search query with one or more search terms, wherein the card request includes contextual data from the mobile computing device, and wherein the contextual data includes application data associated with native applications that are installed and execute on the mobile computing device; generate a consideration set of card records based on the search terms in the search query; determine a relevance score for each card record in the consideration set; select a card record from the consideration set based on the relevance scores for the card records in the consideration set; retrieve the one or more data fields from the selected card record; identify a private key in the key data store based on the card record ID of the selected card record; generate a digital signature by signing the one or more data fields retrieved from the selected card record with the identified private key; generate a card object that comprises the digital signature and the one or more data fields from the selected card record; and transmit the card object to the mobile computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method comprising:
-
storing, in a storage device of a card server, a card data store that stores card records, wherein each card record comprises a card record identifier (ID) and one or more data fields; and storing, in the storage device, a key data store that stores a plurality of private keys, each private key being associated with one or more card record IDs; receiving, via a network communication device of the card server, a card request from a mobile computing device, wherein the card request comprises a search query with one or more search terms, wherein the card request includes contextual data from the mobile computing device, and wherein the contextual data includes application data associated with native applications that are installed and execute on the mobile computing device; generating, at a processing device of the card server, a consideration set of card records based on the search terms in the search query; determining, at the processing device, a relevance score for each card record in the consideration set; selecting, by the processing device, a card record from the consideration set based on the relevance scores for the card records in the consideration set; retrieving, by the processing device, the one or more data fields from the selected card record; identifying, by the processing device, a private key in the key data store based on the card record ID of the selected card record; generating, at the processing device, a digital signature by signing the one or more data fields retrieved from the selected card record with the identified private key; generating, at the processing device, a card object that comprises the digital signature and the one of more data fields from the selected card record; and transmitting, via the network communication device, the card object to the mobile computing device. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A mobile computing device comprising:
-
a display; a non-transitory memory that stores computer-readable instructions, and one or more native applications that are installed and execute on the mobile computing device; a transceiver; and a computing processor that executes computer-readable instructions that, when executed by the computing processor, cause the computing processor to; gather contextual data of the mobile computing device, wherein the contextual data includes application data associated with the native applications that are installed on the mobile computing device; generate a card request that includes (i) a search query with one or more search terms and (ii) the contextual data; transmit the card request via the transceiver to a remote card server; receive a card object from the remote card server in response to transmitting the card request, wherein the card object comprises;
an application function identifier that identifies an application function in one of the native applications;
a digital signature; and
a certificate that comprises a public key;determine that the card object comprises the digital signature; verify the authenticity of the digital signature with the public key in the certificate; determine that the certificate is signed by a developer of the native application referenced by the card object; render an application card on the display based on the information included in the card object, the application card comprises a text string, an image, an audio, and/or an image; and overlay an indicator onto the application card, the indicator indicates that the authenticity of the digital signature has been verified and that the developer of the native application authorized the rendering of the application card. - View Dependent Claims (18, 19, 20)
-
Specification