IP Library Granted Patent US 10,621,575
Granted Patent B1
US 10,621,575 · App. 14/621,297 · Granted Apr 14, 2020

Instantiating digital wallet assets

Inventors: Michael Belleville (San Ramon, CA); Joe Beninato (Mountain View, CA); Echeyde Cubillo (Foster City, CA); Aaron Sagray (Campbell, CA)
Assignee: Urban Airship, Inc.
G06Q20/3672G06Q10/02G06Q20/0453
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,621,575
App. No.
14/621,297
Granted
Apr 14, 2020
Kind
B1
Abstract

Generating a digital wallet asset logical instance is disclosed. A template is received. A set of data values is received. The digital wallet asset logical instance is generated at least in part by merging the received data values with the received template. The generated digital wallet asset logical instance is associated with metadata tags. A digital wallet asset is constructed based at least in part on the generated digital wallet asset logical instance.

Claims (40)

1. A system, comprising:

a processor; and

a memory comprising instructions that, when executed by the processor, cause the processor to:

receive, by a management platform from a platform customer, a template of digital passes, the template comprising a design common in the digital passes, an updatable field configured to display content specific to individual digital passes, and a key identifying the updatable field;

receive a set of data values specified by the platform customer;

generate a key-value pair that pairs the key identifying the updatable field with at least one data value in the received set of data values, the key-value pair designating the at least one data value as the content of the updatable field in the template of digital passes;

generate a logical instance and a unique instance identifier identifying the generated logical instance, the logical instance being an intermediate logical representation serving as a connection between the template and a plurality of candidate platform-specific digital passes, the logical instance being platform independent and comprising information commonly included in the plurality of candidate platform-specific digital passes that correspond to different operating platforms, the logical instance comprising the key-value pair having the key that identifies the updatable field of the template paired with the at least one data value received in the set of data values;

associate the unique instance identifier with a metadata tag, wherein the metadata tag is searchable to identify the generated logical instance based on the unique instance identifier for updating the at least one data value of the updatable field of the generated logical instance; and

construct a platform-specific digital pass according to the logical instance, the design specified by the template, and requirements of a mobile operating system operated by a client device of an end user that the platform-specific digital pass is to be installed on, the constructing comprises using the key-value pair stored in the logical instance to fill out the updatable field of the template and formatting data and the design specified by the templated based on the requirements of the mobile operating system, the end user different from the platform customer of the management platform, wherein the constructed platform-specific digital pass is capable of being updated in response to a change to the at least one data value in the key-value pair of the logical instance, the change is provided by the platform customer to the management platform and is reflected in the updatable field of the platform-specific digital pass displayed at the client device of the end user who is different from the platform customer.

2. The system recited in claim 1 , wherein the template of digital passes further comprises a text header common in the digital passes, and a background common in the digital passes.

3. The system recited in claim 1 , wherein the logical instance is a first logical instance, and wherein the instructions further cause the processor to generate a plurality of logical instances in response to receiving the set of data values, the plurality of logical instances generated corresponding to a group of individuals and including the first logical instance.

4. The system recited in claim 3 , wherein the instructions further cause the processor to perform a mail merge to group the plurality of logical instances corresponding to the group of individuals.

5. The system recited in claim 1 , wherein the instructions further cause the processor to bundle and compress the information included in the logical instance.

6. The system recited in claim 5 , wherein the instructions further cause the processor to sign the bundle using an authentication key.

7. The system recited in claim 1 , wherein the instructions further cause the processor to store the constructed platform-specific digital pass.

8. A method, comprising:

receiving, by a management platform from a platform customer, a template of digital passes, the template comprising a design common in the digital passes, an updatable field configured to display content specific to individual digital passes, and a key identifying the updatable field;

receiving a set of data values specified by the platform customer;

generating a key-value pair that pairs the key identifying the updatable field with at least one data value in the received set of data values, the key-value pair designating the at least one data value as the content of the updatable field in the template of digital passes;

generating a logical instance and a unique instance identifier identifying the generated logical instance, the logical instance being an intermediate logical representation serving as a connection between the template and a plurality of candidate platform-specific digital passes, the logical instance being platform independent and comprising information commonly included in the plurality of candidate platform-specific digital passes that correspond to different operating platforms, the logical instance comprising the key-value pair having the key that identifies the updatable field of the template paired with the at least one data value received in the set of data values;

associating the unique instance identifier with a metadata tag, wherein the metadata tag is searchable to identify the generated logical instance based on the unique instance identifier for updating the at least one data value of the updatable field of the generated logical instance; and

constructing a platform-specific digital pass according to the logical instance, the design specified by the template, and requirements of a mobile operating system operated by a client device of an end user that the platform-specific digital pass is to be installed on, the constructing comprises using the key-value pair stored in the logical instance to fill out the updatable field of the template and formatting data and the design specified by the templated based on the requirements of the mobile operating system, the end user different from the platform customer of the management platform, wherein the constructed platform-specific digital pass is capable of being updated in response to a change to the at least one data value in the key-value pair of the logical instance, the change is provided by the platform customer to the management platform and is reflected in the updatable field of the platform-specific digital pass displayed at the client device of the end user who is different from the platform customer.

9. The method of claim 8 , wherein the template of digital passes further comprises a design common in the digital passes, a text header common in the digital passes, and a background common in the digital passes.

10. The method of claim 8 , wherein the logical instance is a first logical instance, and the method further comprising generating a plurality of logical instances in response to receiving the set of data values, the plurality of logical instances generated corresponding to a group of individuals and including the first logical instance.

11. The method of claim 10 , further comprising performing a mail merge to group the plurality of logical instances corresponding to the group of individuals.

12. The method of claim 8 , further comprising bundling and compressing the information included in the logical instance.

13. The method of claim 12 further comprising signing the bundle using an authentication key.

14. The method of claim 8 , further comprising storing the constructed platform specific digital pass.

15. A non-transitory computer readable storage medium configured to store program code, the program code comprising computer instructions that, when executed by a processor, cause the processor to perform steps comprising:

receiving, by a management platform from a platform customer, a template of digital passes, the template comprising a design common in the digital passes, an updatable field configured to display content specific to individual digital passes, and a key identifying the updatable field;

receiving a set of data values specified by the platform customer;

generating a key-value pair that pairs the key identifying the updatable field with at least one data value in the received set of data values, the key-value pair designating the at least one data value as the content of the updatable field in the template of digital passes;

generating a logical instance and a unique instance identifier identifying the generated logical instance, the logical instance being an intermediate logical representation serving as a connection between the template and a plurality of candidate platform-specific digital passes, the logical instance being platform independent and comprising information commonly included in the plurality of candidate platform-specific digital passes that correspond to different operating platforms, the logical instance comprising the key-value pair having the key that identifies the updatable field of the template paired with the at least one data value received in the set of data values;

associating the unique instance identifier with a metadata tag, wherein the metadata tag is searchable to identify the generated logical instance based on the unique instance identifier for updating the at least one data value of the updatable field of the generated logical instance; and

constructing a platform-specific digital pass according to the logical instance, the design specified by the template, and requirements of a mobile operating system operated by a client device of an end user that the platform-specific digital pass is to be installed on, the constructing comprises using the key-value pair stored in the logical instance to fill out the updatable field of the template and formatting data and the design specified by the templated based on the requirements of the mobile operating system, the end user different from the platform customer of the management platform, wherein the constructed platform-specific digital pass is capable of being updated in response to a change to the at least one data value in the key-value pair of the logical instance, the change is provided by the platform customer to the management platform and is reflected in the updatable field of the platform-specific digital pass displayed at the client device of the end user who is different from the platform customer.

16. The non-transitory computer readable storage medium recited in claim 15 , wherein the instructions further cause the processor to store the constructed platform specific digital pass.

17. The non-transitory computer readable storage medium recited in claim 15 , wherein the logical instance is a first logical instance, and wherein the instructions further cause the processor to generate plurality of logical instances in response to receiving the set of data values, the plurality of logical instances generated corresponding to a group of individuals and including the first logical instance.

18. The non-transitory computer readable storage medium recited in claim 17 , wherein the instructions further cause the processor to perform a mail merge to group to group the plurality of logical instances corresponding to the group of individuals.

19. The non-transitory computer readable storage medium recited in claim 15 , wherein the instructions further cause the processor to bundle and compress the information included in the logical instance.

20. The non-transitory computer readable storage medium recited in claim 19 , wherein the instructions further cause the processor to sign the bundle using an authentication key.

Assignments (7)
SECURITY INTEREST Recorded Jul 1, 2024
From: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
To: RUNWAY GROWTH FINANCE CORP.
Reel/Frame 068099/0779 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
Reel/Frame 067965/0545 →
CHANGE OF NAME Recorded Jan 21, 2021
From: URBAN AIRSHIP, INC.
To: AIRSHIP GROUP, INC.
Reel/Frame 055059/0223 →
SECURITY INTEREST Recorded Apr 2, 2020
From: URBAN AIRSHIP, INC.; APPTIMIZE, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052308/0550 →
RELEASE OF SECURITY INTEREST Recorded Apr 6, 2017
From: ORIX GROWTH CAPITAL, LLC (F/K/A ORIX VENTURES, LLC)
To: URBAN AIRSHIP, INC.; TELLO, INC.
Reel/Frame 041890/0286 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2016
From: BELLEVILLE, MICHAEL; BENINATO, JOE; CUBILLO, ECHEYDE; SAGRAY, AARON
To: URBAN AIRSHIP, INC.
Reel/Frame 037899/0304 →
SECURITY INTEREST Recorded Sep 25, 2015
From: URBAN AIRSHIP, INC.; TELLO, INC.
To: ORIX VENTURES, LLC
Reel/Frame 036654/0332 →
Cited By (5)
US 12,311,880 US 12,393,325 US 12,400,503 US 12,619,705 US 12,629,981