`Ayers et al .
`
`US 11,157,256 B2
`( 10 ) Patent No .:
`( 45 ) Date of Patent :
`* Oct . 26 , 2021
`
`US011157256B2
`
`( 54 ) INSTANT INSTALLATION OF APPS
`( 71 ) Applicant : Digital Turbine , Inc. , Austin , TX ( US )
`( 72 ) Inventors : Brandon Brent Ayers , Austin , TX
`( US ) ; Lior Ben Haim , Karkur ( IL ) ;
`Jonathan Nogueira , Zachary , LA ( US )
`( 73 ) Assignee : Digital Turbine , Inc. , Austin , TX ( US )
`Subject to any disclaimer , the term of this
`( * ) Notice :
`patent is extended or adjusted under 35
`U.S.C. 154 ( b ) by 0 days .
`This patent is subject to a terminal dis
`claimer .
`( 21 ) Appl . No .: 16 / 992,194
`Aug. 13 , 2020
`( 22 ) Filed :
`( 65 )
`Prior Publication Data
`US 2020/0371767 A1
`Nov. 26 , 2020
`Related U.S. Application Data
`( 63 ) Continuation of application No. 15 / 903,054 , filed on
`Feb. 23 , 2018 , now Pat . No. 10,782,951 .
`( 51 ) Int . Ci .
`G06F 9/44
`GO6F 8/61
`G06F 21/45
`G06F 21/57
`( 52 ) U.S. CI .
`CPC
`
`G06F 8/61 ( 2013.01 ) ; G06F 21/45
`( 2013.01 ) ; G06F 21/57 ( 2013.01 )
`( 58 ) Field of Classification Search
`None
`See application file for complete search history .
`
`( 2018.01 )
`( 2018.01 )
`( 2013.01 )
`( 2013.01 )
`
`( 56 )
`
`References Cited
`U.S. PATENT DOCUMENTS
`10/2000 Henry
`6,131,192 A
`6,266,811 B1
`7/2001 Nabahi
`8,732,827 B1
`5/2014 Zhukov et al .
`9,800,609 B2
`10/2017 Liao
`4/2018 Shapira et al .
`9,940,400 B2
`5/2019 Sogani et al .
`10,296,641 B2
`10,353,686 B1
`7/2019 Pasha et al .
`10,671,367 B2
`6/2020 Matthews et al .
`9/2020 Ayers et al .
`10,782,951 B2
`2005/0131971 A1
`6/2005 James et al .
`10/2007 Kumar et al .
`2007/0234292 Al
`( Continued )
`
`OTHER PUBLICATIONS
`Ma et al . , “ Automating Release of Deep Link APIs for Android
`Applications , ” arxiv.org . , 2017 ( Year : 2017 ) . *
`( Continued )
`Primary Examiner Insun Kang
`( 57 )
`ABSTRACT
`A device which runs software applications includes a net
`work interface , a non - transitory computer readable storage
`medium and at least one processor . The device identifies that
`a link for installation of a new software application is
`selected by user interaction with a software application that
`is running on the device . In response to the identification , an
`installation client is invoked to run in the background on the
`device without exiting the currently - running software appli
`cation . The installation client is instructed to automatically
`download an installation file of the new software application
`over the network using the network interface . The new
`software application is installed on the device using the
`downloaded installation file .
`22 Claims , 15 Drawing Sheets
`
`a
`
`Single Tap install Authentication And Eligibility
`
`Android
`Browser
`
`Installation
`Client
`APK
`
`Ad Server
`
`AUTH And
`Eligibility
`Server
`
`Deted Device
`Y ' is eligioie
`for ' Single Top
`Install
`
`Third
`Party
`
`have space and
`want to display
`carpaign on
`device ' Y
`
`Create
`authenticated
`deeplink for
`campaign ' X ' on
`device'Y
`
`Authenticate 31
`party to display
`carnpaiga " X ' on
`eligible device
`" V "
`
`Present Ad
`w / authenticated
`deepik
`
`Keceive
`deeplink with
`authentication
`token
`
`Ckck ' Single
`Tap Insiall
`Ad
`
`installation
`Client ' APK'S
`invoked
`
`Validate
`deeplink is
`authenticated
`
`Get ' Single
`Taplastall '
`Ad
`Information
`
`' installation
`Client '
`Validation
`Cycle
`
`' installation ,
`Clien
`Download
`lastall
`
`
`
`US 11,157,256 B2
`Page 2
`
`( 56 )
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`2009/0064135 Al
`2010/0095294 Al
`2011/0126192 Al
`2012/0198439 A1
`2013/0050093 Al
`2015/0074659 Al
`2015/0186126 A1
`2015/0193215 A1
`2016/0026462 Al
`2016/0077819 A1
`2016/0142859 Al
`2016/0162451 A1
`2016/0216954 A1
`2016/0283259 Al
`2016/0342403 A1
`2016/0359945 A1
`2017/0010878 A1
`2017/0052773 A1
`2017/0070361 A1
`2017/0078369 Al
`2017/0192764 Al
`2017/0286081 Al
`2018/0188924 Al
`2018/0234496 Al
`2018/0332453 A1
`2019/0012065 Al
`2019/0068537 Al
`2019/0109927 Al
`2019/0265958 Al
`2020/0081696 Al
`
`3/2009 Jimmerson
`4/2010 Yamada
`5/2011 Frost et al .
`8/2012 Kane
`2/2013 Kim et al .
`3/2015 Madsen et al .
`7/2015 Ivanov
`7/2015 Jianu et al .
`1/2016 Lang et al .
`3/2016 Xin et al .
`5/2016 Molinet et al .
`6/2016 Xu et al .
`7/2016 Jitkoff et al .
`9/2016 Mehta
`11/2016 Zamir et al .
`12/2016 Boudville
`1/2017 Barkie et al .
`2/2017 Deselaers et al .
`3/2017 Sundermeyer et al .
`3/2017 McDiarmid et al .
`7/2017 Cayre et al .
`10/2017 Shantharam et al .
`7/2018 Kumar et al .
`8/2018 Ratias
`11/2018 Molinet et al .
`1/2019 Lynch et al .
`2/2019 Judd et al .
`4/2019 Andrews et al .
`8/2019 Ayers et al .
`3/2020 Zmijewsky et al .
`
`OTHER PUBLICATIONS
`Advisory Action dated May 5 , 2020 from the U.S. Patent and
`Trademark Office Re . U.S. Appl . No. 15 / 903,054 . ( 4 pages ) .
`Notice of Allowance dated Jun . 2 , 2020 from the U.S. Patent and
`Trademark Office Re . U.S. Appl . No. 15 / 903,054 . ( 12 pages ) .
`
`Official Action dated Jan. 3 , 2020 from the U.S. Patent and
`Trademark Office Re . U.S. Appl . No. 15 / 903,054 . ( 18 pages ) .
`Official Action dated Jun . 27 , 2019 from the U.S. Patent and
`Trademark Office Re . U.S. Appl . No. 15 / 903,054 . ( 19 pages ) .
`Office Action dated Dec. 30 , 2020 from the Israel Patent Office Re .
`Application No. 264975 and its Translation into English . ( 8 Pages ) .
`Notice of Filing Date Accorded To Petition and Time For Filing
`Patent Owner Preliminary Response - Ironsource Ltd. Petitioner
`Versus Digital Turbine Inc. , Patent Owner , Case PGR2021-00096 ,
`U.S. Pat . No. 10,782,951 B2 , dated Jul . 9 , 2021 From the United
`States Patent and Trademark Office , Before the Patent Trial and
`Appeal Board . ( 5 Pages ) .
`Petition for Post - Grant Review of Claims 1-18 of U.S. Pat . No.
`10,782,951 – IronSource Ltd. , Petitioner Versus Digital Turbine
`Inc. , Patent Owner , Case PGR2021-00096 dated Jun . 21 , 2021 From
`the United States Patent and Trademark Office , Before the Patent
`Trial and Appeal Board . ( 103 Pages ) .
`Casey “ Android Vs. iOS Development : Background Processing ” ,
`Linkedln , 7 P. , Jun . 27 , 2016 .
`Curry “ App Store Data ( 2021 ) ” , Apps in the Apple App Store , 23 P. ,
`May 13 , 2021 .
`Maddern “ A Brief History of Deep Linking ” , Verizon Media , p . 1-9 ,
`Jun . 12 , 2015 .
`McClusky “ Using Java Reflection ” , Oracle , Technical Article , 12 P. ,
`Jan. 1998 .
`U.S. Court of Appeals Whitserve LLC , Plaintiff - Appellant V. Droppbox ,
`Inc. , Defendant - Appellee , Appeal From the United States District
`Court for the District of Delaware in No. 1 : 18 - cv - 00665 - CFC ,
`Decided Apr. 26 , 2021 From the United States Court of Appeals for
`the Federal Circuit , Case 19-2334 . ( 13 Pages ) .
`USPTO USPTO Forwards Petition dated Jul . 9 , 2021 .
`Almeroth Expert Declaration of Kevin C. Almeroth in Support Of
`IronSource Ltd's Petition for Post - Grant Review of Claims 1-18 of
`U.S. Pat . No. 10,782,951 . ( part 1 of 3 ) .
`Ayers et al . “ IronSource Exhibit 1002 Prosecution History of 951
`Patent ” , Commissioner for Patents , p . 1-275 , Feb. 23 , 2018. ( part 1
`of 2 ) .
`* cited by examiner
`
`2
`
`6
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 1 of 15
`
`US 11,157,256 B2
`
`Network
`
`Device
`
`110
`
`Processor
`
`Memory
`
`130
`
`100
`
`150
`
`Network
`interface
`
`120
`
`140
`
`Apps
`
`Installation
`client
`
`FIG . 1
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`9
`
`Sheet 2 of 15
`
`US 11,157,256 B2
`
`Device
`
`App 1
`
`Instant
`install
`App 2
`
`FIG . 2A
`
`Device
`
`App
`
`Popup
`App 2
`information
`Confirm
`install
`
`FIG . 2B
`
`210
`
`220
`
`210
`
`230
`
`240
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 3 of 15
`
`US 11,157,256 B2
`
`250
`
`250
`
`Device
`Progress bar
`
`App 1
`
`.
`
`FIG . 20
`
`Device
`
`Launch new app
`
`App 1
`
`FIG . 2D
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 4 of 15
`
`US 11,157,256 B2
`
`Device
`
`App 2
`
`210
`
`FIG . 2E
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 5 of 15
`
`US 11,157,256 B2
`
`100
`
`Device
`140
`
`Installation
`client
`
`310
`
`Content
`provider
`
`330
`
`Ad server
`
`340
`
`App information
`server
`
`Installation file
`addresses
`
`320
`
`Installation
`file ( s )
`
`FIG . 3
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 6 of 15
`
`US 11,157,256 B2
`
`Instant Install flow
`
`Device
`
`Installation Clieni
`
`Content provider
`
`Present
`content with
`instant install
`
`Ad space
`available
`
`Provide
`content with
`instant install
`link
`
`Select instant
`install link
`
`Installation
`client is
`
`invoked H Installation
`
`client cannot
`be invoked
`
`Redirect to app
`store
`
`App download
`and installation
`
`FIG . 4A
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`9
`
`Sheet 7 of 15
`
`US 11,157,256 B2
`
`Instant Install flow
`
`Device
`
`Installation Client
`
`Ad server
`
`Event
`endpoint
`
`Content provider
`
`Ad space
`available
`
`Detect instant
`install device
`
`Present
`content with
`instant install
`link
`
`Select instant
`install link
`
`Installation
`client cannot
`be invoked
`
`Get app
`information
`
`Installation
`client is
`invoked
`
`Display app
`information
`and get
`confirmation
`
`Redirect to app
`store
`
`Instant app
`download and
`installation
`
`Event
`reporting
`
`FIG . 4B
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 8 of 15
`
`US 11,157,256 B2
`
`Instant install link
`selected
`
`3
`1
`
`Invoke installation
`client in background
`
`Installation client
`gets user
`confirmation
`
`525
`
`1
`
`Installation client
`downloads installation
`file for app
`
`510
`
`520
`
`530
`
`App installed using
`installation file
`
`-540
`
`FIG . 5
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 9 of 15
`
`US 11,157,256 B2
`
`Instant install link for
`app selected
`
`610
`
`620
`
`Installation
`client
`available ?
`
`NO
`
`YES
`
`660
`
`Redirect to
`App Store
`
`630
`
`640
`
`Invoke installation
`client in background
`
`Installation client
`downloads installation
`file for app
`
`App installed using
`installation file
`
`650
`
`FIG . 6
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 10 of 15
`
`US 11,157,256 B2
`
`Installation Client
`
`710
`
`UX
`
`App Details
`
`712
`
`Animations
`
`713
`
`Instant Install Link
`Handler
`
`Download & Installer
`
`Events
`
`Events
`
`700
`
`Get App Details
`
`Reporter
`
`750
`
`Events
`
`{
`3
`$
`3
`
`3
`3
`3
`{
`3
`
`3
`
`$
`
`3
`
`3
`
`3
`
`3
`
`3
`3
`3
`
`720
`
`Download
`
`3
`
`3
`
`3
`
`1
`
`}
`
`3
`
`3
`
`}
`
`1
`}
`
`}
`1
`}
`$
`
`4
`}
`}
`1
`}
`
`}
`
`3
`
`3
`1
`
`{
`}
`
`}
`
`}
`1
`}
`1
`}
`1
`
`FIG . 7
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 11 of 15
`
`US 11,157,256 B2
`
`830
`
`Content provider ( s )
`
`Check AAID
`
`800
`
`AAD server
`
`FIG . 8
`
`1
`
`1
`
`1
`1
`!
`
`810
`
`FTP site
`
`AAIDs
`
`Instant Install
`DB
`
`820
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 12 of 15
`
`US 11,157,256 B2
`
`990
`
`Campaign management
`Campaigns
`Upload & configure Single - Tap Install
`Single - Tap Install Campaigns
`
`910
`
`Ad Server
`
`
`
`
`
`
`Install Campaigns For Single Tap
`
`
`
`
`
`Ads For Single - Tap Install
`
`950
`
`? } E 3 1 {
`3
`
`3 1
`
`APKS , Via
`
`O S3
`
`Install 960 Get Single Tap
`
`
`
`
`Ads & Details
`
`Microservice Ads 4 Details
`
`Install
`Single - Tap
`
`o
`
`DT dashboard
`
`980
`
`
`
`Event Schema
`
`
`
`install Events
`
`Reports
`
`FIG . 9
`
`920
`
`
`
`Content provider ( s )
`
`940
`
`Web page
`
`Ads
`
`Campaigns
`
`
`
`
`
`Get Single Tap Install Ads * Details
`
`
`
`Click on Ad see details
`
`{
`
`
`
`Ads Details
`
`
`
`Install , Installation client starts
`Click on instant
`
`Events
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 13 of 15
`
`US 11,157,256 B2
`
`Single Tap Install
`
`Browser
`
`Installation
`Client
`APK
`
`Ad Server
`
`Event Server Third Party
`
`I Have
`Space !!
`
`1020
`Detect
`Single
`Tap Install
`Device
`
`1030
`Present Ad
`w / Deeplink
`
`Click ' Single
`Tap Install
`
`1100
`Installation
`Client APK IS
`Not installed
`
`1050
`Installation
`Client APK IS
`
`Get ' Single
`Tap Install
`Ad
`Information
`
`Installed SH
`
`1070
`Installation
`Client
`Validation
`Cycle
`
`' installation
`Client
`Download
`Install
`
`1110
`
`1120
`Redirect To
`App Store
`
`FIG . 10
`
`1090
`Event
`Reporting
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`Sheet 14 of 15
`
`US 11,157,256 B2
`
`Authorize Third Party
`
`Authorization Server
`
`Third Party
`
`Authorize third
`party ' Z '
`
`Request authorization
`for third party ' Z '
`
`Provide
`authorization token
`
`Receive authorization
`token
`
`FIG . 11
`
`
`
`U.S. Patent
`
`Oct. 26 , 2021
`
`9
`
`Sheet 15 of 15
`
`US 11,157,256 B2
`
`Single Tap Install Authentication And Eligibility
`
`Android
`Browser
`
`Installation
`Client
`
`Ad Server
`
`Eligibility
`Server
`Detect Device
`' y is eligible
`for Single Tap
`Install
`
`Third
`Party
`
`have space and
`want to display
`campaign ' X ' on
`device ys
`
`Create
`authenticated
`deeplink for
`campaign ' X ' on
`devices
`
`Authenticate 3rd
`party to display
`campaign ' X ' on
`eligible device
`
`Present Ad
`w / authenticated
`deeplink
`
`deeplink with
`authentication
`token
`
`Click ' Single
`Tap Install
`
`' installation
`Client APK is
`invoked
`
`Validate
`deeplink is
`authenticated
`
`sinstallation
`Client
`Validation
`Cycle
`
`Installation
`Client '
`Download
`Install
`
`Get ' Single
`Tap Install
`
`Information
`
`FIG . 12
`
`
`
`US 11,157,256 B2
`
`1
`INSTANT INSTALLATION OF APPS
`
`2
`on the user experience in the current app . The user is
`therefore more likely to continue with installing the new app
`than if redirected to an app store because the current app
`RELATED APPLICATIONS
`remains in the foreground , and only minor ( if any ) further
`This application is a continuation of U.S. patent applica- 5 actions are required in order to install the new app .
`a
`Embodiments of the invention provide a technical solu
`tion Ser . No. 15 / 903,054 filed on Feb. 23 , 2018. The contents
`tion to the problem of enabling users easy download of new
`of the above application are all incorporated by reference as
`software applications onto their devices while maintaining
`if fully set forth herein in their entirety .
`interaction with their current application ( i.e. without con
`10 necting to an app store ) . The technical solution is to run an
`FIELD AND BACKGROUND OF THE
`installation client in the background while the current app
`INVENTION
`remains running in the foreground . Further interaction with
`The present invention , in some embodiments thereof ,
`the user relating to the installation process is processed by
`the installation client on the device , and is not forwarded to
`relates to installing software applications on devices and ,
`more specifically , but not exclusively , to installing apps on 15 a different network element ( e.g. app store server ) for
`processing . In fact , any communication with an app store
`mobile devices .
`The use of apps on mobile devices such as cell phones is
`may be completely eliminated from the communication and
`very widespread . Users frequently install new apps on their
`operation flow . This solution is an improvement of the state
`devices , providing the devices with new functionality such
`current art , in which an additional connection must be
`as access to new services , online shopping , gaming and 20 established and maintained between the device and the app
`store in order to enable installation of the new app .
`more .
`Many advertisement campaigns encourage users to buy
`This simplification of communication and operations flow
`results in the following benefits :
`and install apps on their devices . Typically , when a user
`viewing the ad is interested in installing a new app , the user
`a ) Improved speed — There is no need for the device to
`clicks on a link . After the link is clicked , the device connects 25
`connect to an app store or to wait for the app store to
`to an app store from which the new app may be downloaded .
`permit download and provide the installation file ( or a
`The user may obtain more information about the app by
`link to the installation file ) . Pop - ups , banners , etc. may
`interacting with the app store . If at the end of this interaction
`be generated by the installation client on the device and
`the user is still interested in installing the app , the app is
`not received from the app store .
`downloaded from the app store by clicking on another link . 30
`b ) Improved usability - Minimal interaction is required
`A significant problem with this flow is poor ad conver-
`from the user . The installation client runs in the background
`sion . The conversion problem arises when a user who
`during download of the installation file and the installation
`indicated interest in installing the new app is redirected to an
`elf , leaving the user free
`continue with other activities
`app store . This redirection interrupts user interaction with
`without distraction .
`the current app and forces user attention to the app store , 35
`c ) Improved accuracy — The installation file may be
`which may not be desired by the user . This often results in
`downloaded by direct communication between the device
`the user deciding not to install the new app or even to install
`and a software repository storing the installation files , with
`out an intermediary such as the app store . By removing
`a competing app advertised by the app store .
`Additionally , fraud is a major issue in the mobile ad
`additional parties from the download process , connection
`industry . Advertisers pay per conversion ( e.g. ad click or app 40 errors and crashes are reduced .
`installation ) and rely heavily on accurate ad attribution so
`d ) Improved control - It is possible to control which
`that they are billed appropriately . Unfortunately , fraudulent
`network is used to download the installation file and enable !
`parties have introduced malware practices to simulate ad
`disable downloading on a specific network . Additionally , the
`clicks or intercept and replace referral IDs . These “ click
`installation file ( e.g. APK ) may be downloaded from differ
`farms ” can consume large advertising budgets with what 45 ent external storage ( i.e. not the app store ) , making it is
`look like impressive results but that actually amount to very
`possible to install a specific version of the installation file
`little real user adoption / engagement . Honest advertisers are
`which is targeted at a specific audience ( versus the generic
`installation file available at the app store ) .
`left paying commissions for such fraudulent activity .
`e ) Improved interaction with third parties — The installa
`50 tion client may interact directly with other parties involved
`SUMMARY OF THE INVENTION
`in building ad campaigns ( e.g. an ad server ) , provide event
`notifications to the other parties , and provide information
`Embodiments described herein utilize an installation cli-
`regarding user charges for the installation .
`ent on a device in order to install apps on a device without
`f ) Fraud protection — The installation client provides a
`redirecting the device to an app store . The content provided
`to the device includes links ( denoted here “ instant install 55 closed ecosystem which accurately and reliably traces the
`links ” ) which indicate that the associated app should be
`user funnel from click to install with completely accurate
`installed by the installation client and not via an app store .
`referral attribution . The installation client may be designed
`When an instant install link is selected , the installation client
`to follow industry - standard security and authentication pro
`is invoked to run in the background . The installation client
`tocols to safeguard against malicious attacks . This protec
`downloads the installation file for the app associated with 60 tion ensures that advertisers are only charged for the ad click
`the instant install link to the device . The new app may then
`and / or app install as appropriate .
`be installed on the device using the installation file .
`As used herein , the term " device ” means a network
`In optional embodiments , the installation client obtains
`connected device on which software is installed and runs .
`user confirmation for installation and / or displays informa-
`The term " device ” includes both mobile devices ( such as
`tion relating to the instant installation process . These inter- 65 mobile phone , tablet , laptop , etc. ) and non - mobile devices
`actions between the installation client and the user may be
`( such as smart TVs , desktop computers , network enabled
`designed to maintain user context by having minimal impact
`devices , etc. ) .
`
`
`
`US 11,157,256 B2
`
`a
`
`4
`3
`instruct the installation client to automatically download
`As used herein , the terms “ software application ” , “ appli-
`an installation file of the first software application to the
`cation ” and “ app ” mean a software program installed ( or to
`be installed ) on a device .
`device over a network ; and
`install the first software application on the device using
`As used herein the term " installation client ” means an
`application running on the device and having the role of 5 the downloaded installation file .
`downloading and installing software applications on the
`According to a third aspect of some embodiments of the
`device ( e.g. installing an app on a mobile phone ) . The
`present invention there is provided a non - transitory com
`installation client may be a standalone client or a component
`puter readable medium including instructions that , when
`of another client having additional functionalities . The
`executed by at least one processor , cause the at least one
`installation client runs in the background for at least part of 10 processor to perform operations for installing software
`the time that it is active . As used herein the term “ installation
`applications on a device . The operations include :
`file ” means a file that after download to the device enables
`identifying that a link for installation of a first software
`application is selected by user interaction with a second
`installation of the app on the device .
`As used herein the term “ automatically download ” means
`software application running on the device ;
`that the installation file is downloaded by the installation 15
`in response to the identifying , invoking , without exiting
`client without closing the current app or moving the current
`the second software application , an installation client to run
`app into background operation .
`in the background on the device ;
`As used herein the term “ app store ” means a platform for
`instructing the installation client to automatically down
`receiving user instructions to install a software app and for
`load an installation file of the first software application to the
`making the installation file of the app accessible for down- 20 device over a network using a network interface of the
`load to the device . The app store is an external platform to
`device ; and using the downloaded installation file , installing
`which the mobile device is redirected by the current app . The
`the first software application on the device .
`app used to provide the user requests to the app store is
`In a first possible implementation of the first aspect or the
`second aspect or the third aspect the installation client is
`optionally a dedicated app store app or a browser .
`After being accessed by the device , the app store ( e.g. 25 closed when the installation of the first software application
`dedicated app or web page displayed on a browser ) remains
`is completed .
`running in the foreground of the device until the user
`In a second possible implementation of the first aspect or
`actively exits the app store ( for example by closing the
`the second aspect or the third aspect the installation client ,
`dedicated app store app , returning to a previously - displayed
`upon being instructed to automatically download the instal
`webpage , opening a new app , etc. ) .
`30 lation file , downloads the installation file onto the device
`As used herein the term " app store ” is not limited to
`from a respective network address of the installation file . In
`platforms distributing apps for mobile devices , and includes
`a first possible implementation form of the second possible
`platforms for distributing applications to mobile devices
`implementation of the first aspect or the second aspect or the
`( e.g. mobile phones , tablets , laptop computers etc. ) and / or to
`third aspect the installation client retrieves the respective
`non - mobile devices ( e.g. desktop computers , smart TVs , 35 network address over the network from an app information
`etc. ) . Examples of app stores for mobile devices include
`server . In a second possible implementation form of the
`GOOGLE PLAYTM , APPLETM App Store and others .
`second possible implementation of the first aspect or the
`According to a first aspect of some embodiments of the
`second aspect or the third aspect the installation client
`present invention there is provided a device adapted to run
`constructs the respective network address using information
`software applications . The device includes : a network inter- 40 included in the link .
`face adapted to communicate over network , at least one
`In a third possible implementation of the first aspect or the
`non - transitory computer readable storage medium storing
`second aspect or the third aspect the automatic download
`instructions and at least one processor associated with the
`maintains a user experience of interaction with the second
`software application .
`network interface and the storage medium . The processor
`In a fourth possible implementation of the first aspect or
`executes the instructions to :
`identify that a link for installation of a first software
`the second aspect or the third aspect the automatic download
`application is selected by user interaction with a second
`is performed without directing the user interaction to an app
`software application running on the device ;
`store .
`in response to the identifying , invoke , without exiting the
`In a fifth possible implementation of the first aspect or the
`second software application , an installation client to run in 50 second aspect or the third aspect the installation client is
`the background on the device ;
`invoked when the link is a deep link linking the installation
`instruct the installation client to automatically download
`of the first software application to the installation client .
`an installation file of the first software application to the
`In a sixth possible implementation of the first aspect or the
`device over the network using the network interface ;
`second aspect or the third aspect the device is a mobile
`and using the downloaded installation file , install the first 55 device .
`In a seventh possible implementation of the first aspect or
`software application on the device .
`According to a second aspect of some embodiments of the
`the second aspect or the third aspect the installation client
`present invention there is provided a method for installation
`prompts for user confirmation of the installation of the first
`of software applications on a device . The method includes
`software application prior to the automatic download and
`executing , by at least one hardware processor operating in 60 performs the automatic download only when the confirma
`tion is obtained . In a first possible implementation form of
`the device , program instructions to :
`identify that a link for installation of a first software
`the seventh possible implementation of the first aspect or the
`application is selected by user interaction with a second
`second aspect or the third aspect prompting for user confir
`mation includes retrieving information associated with the
`software application running on the device ;
`in response to the identifying , invoke , without exiting the 65 first software application from a server over the network
`second software application , an installation client to run in
`using the network interface and displaying the information
`on a display of the device . In a second possible implemen
`the background on the device ;
`
`45
`
`a
`
`?
`
`
`
`US 11,157,256 B2
`
`5
`
`2
`
`9
`
`a
`
`a
`
`a
`
`10
`
`15
`
`35
`
`6
`
`5
`In the drawings :
`tation form of the second possible implementation of the
`FIG . 1 is a simplified block diagram of a device for
`first aspect or the second aspect or the third aspect the
`running software applications , according to embodiments of
`installation client resumes running in the background when
`the invention ;
`a response is received to the prompting .
`FIGS . 2A , 2B , 2C , 2D and 2E are an exemplary series of
`In an eighth possible implementation of the first aspect or
`views displayed during instant installation of an app on a
`the second aspect or the third aspect the device is redirected
`device ;
`to an app store when the installation client is unavailable on
`FIG . 3 is a simplified diagram of a system for installation
`the device .
`of apps on a device , according to embodiments of the
`invention ;
`In an ninth possible implementation of the first aspect or
`FIGS . 4A and 4B are simplified flow diagrams illustrating
`the second aspect or the installation client includes inte-
`respective embodiments of the invention ;
`grated security processes . In a first possible implementation
`FIGS . 5 and 6 are simplified flowcharts of methods for
`form of the ninth possible implementation of the first aspect
`installing software applications on a device , according to
`or the second aspect or the third aspect the integrated
`respective embodiments of the invention ;
`security processes perform at least one of : browser authen
`FIG . 7 is a simplified schematic diagram of an installation
`tication , App authentication and deep link structure verifi
`client according to embodiments of the invention ;
`cation .
`FIG . 8 is a simplified block diagram of a system for
`Unless otherwise defined , all technical and / or scientific
`determining whether a device is enabled for instant instal
`terms used herein have the same meaning as commonly
`lation , according to embodiments of the invention ;
`understood by one of ordinary skill in the art to which the 20
`FIG . 9 is a simplified system diagram of a system for
`instant installation of apps on a device , according to exem
`invention pertains . Although methods and materials similar
`plary embodiments of the invention ; and
`or equivalent to those described herein can be used in the
`FIG . 10 is a simplified flow diagram illustrating an
`practice or testing of embodiments of the invention , exem-
`exemplary embodiment of the invention ;
`plary methods and / or materials are described below . In case
`FIG . 11 is a simplified flow diagram illustrating a pre
`of conflict , the patent specification , including definitions , 25
`authentication service , according to exemplary embodi
`will control . In addition , the materials , methods , and
`ments of the invention ; and
`examples are illustrative only and are not intended to be
`FIG . 12 is a simplified flow diagram illustrating per
`necessarily limiting .
`request authentication and eligibility services , according to
`Implementation of the method and / or system of embodi
`ments of the invention can involve performing or complet 30 exemplary embodiments of the invention .
`ing selected tasks manually , automatically , or a combination
`DESCRIPTION OF SPECIFIC EMBODIMENTS
`thereof . Moreover , according to actual instrumentation and
`OF THE INVENTION
`equipment of embodiments of the method and / or system of
`the invention , several selected tasks could be implemented
`The present invention , in some embodiments thereof ,
`by hardware , by software or by firmware or by a combina
`relates to installing software applications on devices and ,
`tion thereof using an operating system .
`more specifically , but not exclusively , to installing apps on
`For example , hardware for performing selected tasks
`mobile devices .
`according to embodiments of the invention could be imple
`Two significant problems that arise in the sale and distri
`mented as a chip or a circuit . As software , selected tasks 40 bution of software applications are poor ad conversion and
`according to embodiments of the invention could be imple-
`fraud . The conversion problem arises when a user who
`mented as a plurality of software instructions being executed
`indicated interest in an app by tapping on a link is redirected
`by a computer using any suitable operating system . In an
`to an app store . The user interaction with the current app or
`exemplary embodiment of the invention , one or more tasks
`web page is interrupted , and the user is forced into interac
`according to exemplary embodiments of method and / or 45 tion with the app store .
`system as described herein are performed by a data proces-
`It is desired to provide a user - friendly solution to this
`s