throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2016/0142859 A1
`Molinet et al.
`(43) Pub. Date:
`May 19, 2016
`
`US 2016O142859A1
`
`(54) CONTEXTUAL DEEP LINKING OF
`APPLICATIONS
`
`(71) Applicant: Branch Metrics, Inc., Palo Alto, CA
`(US)
`
`(72) Inventors: Michael Charles Molinet, Palo Alto,
`CA (US); Maria Madalina Seghete,
`Palo Alto, CA (US); Alexander John
`Austin, Palo Alto, CA (US); Dmitri
`Gaskin, Albany, CA (US)
`
`(21) Appl. No.: 14/935,308
`
`(22) Filed:
`
`Nov. 6, 2015
`
`O
`O
`Related U.S. Application Data
`(60) Provisional application No. 62/096,833, filed on Dec.
`24, 2014, provisional application No. 62/079,512,
`filed on Nov. 13, 2014.
`
`Publication Classification
`
`(51) Int. Cl.
`H0474/00
`H04L 29/06
`(52) U.S. Cl.
`CPC ............... H04 W4/003 (2013.01); H04L 67/42
`(2013.01)
`
`(2006.01)
`(2006.01)
`
`ABSTRACT
`(57)
`A client device transmits to a server a request associated with
`a contextual deep link, the contextual deep link associated
`with link data indicating a configuration of an application.
`The client device receives a response according to the con
`textual information of the client device. The client device
`initiates the application and transmits a request by the appli
`cation for link data. The application on the client device
`generates a unique fingerprint of the client device based on a
`lurality of characteristics of the client device and transmits
`E. Wi. fingerprint to the server. The client device receives
`the link data associated with the contextual deep link and
`configures the application according to the configuration
`indicated in the link data.
`
`Application Server
`
`- - - - -
`| Client Link
`Module
`122
`- - - - -
`
`Contextual Deep Linking Server
`110
`
`Server Link
`Module
`115
`
`Analysis
`Module
`116
`
`Analytics
`Store
`117
`
`App Store
`140
`
`Client Device
`120A
`
`Application
`121N
`
`Application
`121A
`Client Link
`Module
`122
`
`Client Device
`12OB
`Web Browser
`123
`
`Client Device
`12ON
`
`
`
`
`
`ironSource Exhibit 1005
`
`

`

`Patent Application Publication
`
`May 19, 2016 Sheet 1 of 7
`
`US 2016/O142859 A1
`
`
`
`
`
`
`
`J?SWOJ? qÐNA
`
`
`
`t — — — — —)
`
`

`

`Patent Application Publication May 19, 2016 Sheet 2 of 7
`
`US 2016/O142859 A1
`
`
`
`Link Request
`MOCule
`210
`
`Fingerprint
`Generation
`MOCule
`220
`
`Device
`Information
`MOCule
`230
`
`Link Data
`Retrieval
`MOCule
`240
`
`Application
`Configuration
`MOCule
`250
`
`Deep Link
`Database
`260
`
`Client Link Module 122
`
`FIG. 2
`
`

`

`Patent Application Publication
`
`May 19, 2016 Sheet 3 of 7
`
`US 2016/O142859 A1
`
`
`
`Link
`Generation
`MOCule
`310
`
`COntext
`Detection
`MOCule
`340
`
`Client
`Information
`MOCule
`380
`
`Fingerprint
`Generation
`MOCule
`320
`
`Fingerprint
`Matching
`MOCule
`330
`
`Contextual
`Data Store
`350
`
`Link Data
`Store
`360
`
`Link Data
`MOCule
`370
`
`Server Link Module 11
`FIG. 3
`
`

`

`Patent Application Publication May 19, 2016 Sheet 4 of 7
`
`US 2016/O142859 A1
`
`4 O
`
`
`
`Receive link creation request from the client device with link data
`indicating a particular configuration of an application.
`410
`
`Generate a Contextual deep link including a randomly generated
`identifier.
`420
`
`Store link data in association with generated contextual deep link.
`430
`
`Transmit contextual deep link to the client device.
`440
`
`FIG. 4
`
`

`

`Patent Application Publication May 19, 2016 Sheet 5 of 7
`
`US 2016/O142859 A1
`
`
`
`Receive a request associated with a valid contextual deep link from a client
`device.
`510
`
`Does client device have stored an indicator of a previously generated
`fingerprint?
`520
`
`Generate a unique fingerprint of client device based on a
`plurality of characteristics of the client device.
`530
`
`Retrieve stored contextual information for the client device identified by a
`locally stored fingerprint identified by the indicator.
`540
`
`Determine Contextual information of the request based on a characteristic
`Of the Client device and asSOCiate the Contextual information with the
`generated fingerprint.
`550
`
`Transmit a response to the client device that is selected based on the Context of
`the client device such that the response is operable on the client device.
`560
`
`FIG. 5
`
`

`

`Patent Application Publication May 19, 2016 Sheet 6 of 7
`
`US 2016/O142859 A1
`
`Application
`121
`
`App initiated.
`610
`
`Generate unique fingerprint based on a
`plurality of characteristics of the client
`device.
`620
`
`Link data request + fingerprint 630
`
`Select link data identified by locally stored
`fingerprint matching at least a threshold
`number of elements of the received
`fingerprint.
`640
`
`
`
`
`
`Link data 650
`
`Configure application based on received
`link data, the link data having one or more
`configuration parameters Corresponding to
`a particular configuration of the
`application.
`660
`
`FIG. 6
`
`

`

`Patent Application Publication
`
`May 19, 2016 Sheet 7 of 7
`
`US 2016/O142859 A1
`
`702
`724
`
`PROCESSOR
`
`INSTRUCTIONS
`
`
`
`704
`724
`
`INSTRUCTIONS
`
`7OO
`/1
`
`GRAPHICS
`DISPLAY
`
`710
`
`ALPHA-NUMERIC
`INPUT DEVICE
`
`712
`
`708
`
`
`
`
`
`7O6
`
`STATIC
`MEMORY
`
`CURSOR
`CONTROL
`DEVICE
`
`714.
`
`
`
`
`
`72O
`
`NETWORK
`INTERFACE
`DEVICE
`
`726
`
`MACHINE
`READABLE
`MEDIUM
`
`INSTRUCTIONS
`
`
`
`SIGNAL
`GENERATION | 73
`DEVICE
`
`FIG. 7
`
`

`

`US 2016/O 142859 A1
`
`May 19, 2016
`
`CONTEXTUAL DEEP LINKING OF
`APPLICATIONS
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`0001. This application claims the benefit of U.S. Provi
`sional Application No. 62/096,833, filed Dec. 24, 2014, and
`claims the benefit of U.S. Provisional Application No.
`62/079,512, filed Nov. 13, 2014, both of which are incorpo
`rated by reference in their entirety.
`
`BACKGROUND
`0002 1. Field of Art
`0003. The disclosure generally relates to the field of
`mobile applications, and specifically to contextual deep link
`ing of mobile applications.
`0004 2. Description of Art
`0005. The development of application ecosystems on cli
`ent devices (such as the ecosystem associated with “applica
`tion stores' on Smartphones) has created a system where
`users can easily install new applications and immediately add
`new functionality to their client devices. This is because the
`applications that are provided by the ecosystem are semi
`standardized to provide a unified installation process, and
`may use standardized library functions provided by the eco
`system. However, as the number of applications provided by
`these ecosystems increase, the environment on a user's client
`device becomes less cohesive as unlike with hyperlinks on the
`Internet, each application on the client device is unable to
`easily link to a section of another application on the client
`device through the application installation process. Addition
`ally, users are unable to direct other users to particular sec
`tions of these applications either, especially in the case where
`the other user does not have the application installed on his or
`her client device. This creates a situation where users are
`forced to operate each application in semi-isolation. Hence,
`what was lacking was a method of easily directing users to
`sections within applications and passing data to applications,
`regardless of the type of client device the user and whether the
`application is installed on the client device.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0006. The disclosed embodiments have advantages and
`features which will be more readily apparent from the
`detailed description, the appended claims, and the accompa
`nying figures (or drawings). A brief introduction of the figures
`is below.
`0007 FIG. 1 illustrates an example system capable of
`contextual deep linking.
`0008 FIG. 2 illustrates the client link module according to
`an embodiment.
`0009 FIG. 3 illustrates the server link module according
`to an embodiment.
`0010 FIG. 4 is a flow chart illustrating an exemplary
`method for generating a contextual deep link according to one
`embodiment.
`0011
`FIG. 5 is a flow chart illustrating an exemplary
`method for responding to a request associated with a contex
`tual deep link with a context based response according to one
`embodiment.
`0012 FIG. 6 is an interaction diagram illustrating an
`exemplary interaction for requesting and transmitting link
`data according to one embodiment.
`
`0013 FIG. 7 is a block diagram illustrating components of
`an example machine able to readinstructions from a machine
`readable medium and execute them in a processor (or con
`troller).
`
`DETAILED DESCRIPTION
`0014. The Figures (FIGS.) and the following description
`relate to preferred embodiments by way of illustration only. It
`should be noted that from the following discussion, alterna
`tive embodiments of the structures and methods disclosed
`herein will be readily recognized as viable alternatives that
`may be employed without departing from the principles of
`what is claimed.
`0015 Reference will now be made in detail to several
`embodiments, examples of which are illustrated in the
`accompanying figures. It is noted that wherever practicable
`similar or like reference numbers may be used in the figures
`and may indicate similar or like functionality. The figures
`depict embodiments of the disclosed system (or method) for
`purposes of illustration only. One skilled in the art will readily
`recognize from the following description that alternative
`embodiments of the structures and methods illustrated herein
`may be employed without departing from the principles
`described herein.
`
`Configuration Overview
`0016 Disclosed by way of example embodiments is a
`system for creating and using contextual deep linking. In an
`embodiment, a client device transmits to a server a request
`associated with a contextual deep link, the contextual deep
`link associated with link data indicating a configuration of an
`application.
`0017. The client device receives from the server a response
`according to the contextual information of the client device.
`The client device initiates the application stored on the client
`device. This application is indicated by the link data.
`0018. The client device, in response to initiating the appli
`cation, transmits to the server a request by the application for
`link data. The application generates a unique fingerprint of
`the client device based on a plurality of characteristics of the
`client device and transmits the unique fingerprint to the
`SeVe.
`0019. The client device receives the link data associated
`with the contextual deep link from the server, and configures
`the application according to the configuration indicated in the
`link data.
`
`Example Contextual Deep Linking System
`0020 FIG. 1 illustrates an example system 100 capable of
`contextual deep linking. The system 100 includes one or more
`client devices 120, an application store 140, an application
`server 130, and a contextual deep linking server 110.
`Although the illustrated system 100 includes the elements
`shown in FIG. 1, in other embodiments the system 100 may
`include different elements. Furthermore, the functionalities
`of each element may be distributed differently among the
`elements in other embodiments.
`0021. The network 150, which can be wired, wireless, or a
`combination thereof, enables communications among the cli
`ent devices 120, the application store 140, the application
`server 130, and the contextual deep linking server 110 and
`may include the Internet, a LAN. VLAN (e.g., with VPN),
`WAN, or other network. In one embodiment, the network 150
`
`

`

`US 2016/O 142859 A1
`
`May 19, 2016
`
`uses standard communications technologies and/or proto
`cols, such as Hypertext transfer Protocol (HTTP), Transmis
`sion Control Protocol/Internet Protocol (TCP/IP), Uniform
`Resource Locators (URLs), and the Doman Name System
`(DNS). In another embodiment, the entities can use custom
`and/or dedicated data communications technologies instead
`of, or in addition to, the ones described above.
`0022. The application store 140 is a component in an
`application ecosystem (e.g., a mobile application ecosystem)
`that provides a centralized location for client devices to sub
`mit requests for applications to be installed on the client
`device 120. The application store 140 provides an interfacing
`application that may be preinstalled on the client devices 120.
`The application store 140 also includes a database of avail
`able applications along with application metadata Such as
`installation requirements, application permissions, and so on.
`The application store 140 receives requests to install applica
`tions from the interfacing application. In response to the
`request, the application store 140 transmits the data used to
`install the application to the client device 120.
`0023 The client devices 120 are electronic devices used
`by users to perform functions such as consuming digital con
`tent, executing software applications, browsing websites
`hosted by web servers on the network 150, downloading files,
`and interacting with the application store 140, the application
`server 130, and the contextual deep linking server 110. For
`example, the client devices 120 may be dedicated e-readers,
`Smartphones, wearables (e.g., Smartwatches or pendants), or
`tablets, laptops, or desktop computers configured similar to
`an exemplary machine (or computing system) described with
`FIG. 7.
`0024. Each client device 120 includes one or more appli
`cations 121 that when executed by the client device 120
`perform various functions as defined by the application devel
`oper. The application 121 may utilize the operating system
`and hardware features of the client device 120, and may
`interface with the user using one or more input/output com
`ponents of the client device 120. Examples of applications
`121 include a navigation application, an online radio appli
`cation, an electronic (e-) commerce application, a local busi
`ness reviews application, and so on.
`0025. In one embodiment, one or more applications 121
`Support contextual deep links. A contextual deep link indi
`cates a particular configuration for an application 121. In
`Some cases, this configuration is simply a reference to a
`location in an application 121. Such as a section within the
`application 121. For example, a particular location in a
`crowd-sourced review application may be a review page for a
`local restaurant. This link to a location in the application 121
`by itselfmay also be known as a deep link. In other cases, this
`configuration includes particular settings, parameters, vari
`ables, and other options for the application 121. For example,
`a particular set of settings for an e-commerce application may
`set a certain referral bonus for a particular user account.
`0026. In one embodiment, the contextual deep link may be
`a Uniform Resource Locator (URL). Furthermore, when a
`client device 120 makes a request associated with a contex
`tual deep link for the application 121, the client device 120
`receives from the contextual deep linking server 110 a
`response that is based on the contextual information of the
`client device 120. The contextual information may include
`the platform of the client device 120 (e.g., mobile or desktop),
`the type and version of the operating system executing on the
`client device 120, whether the application 121 is installed on
`
`client device 120 already, and so on. As the response is con
`textual and not fixed, any client device 120 is able to operate
`on the response. This allows for the use of the contextual deep
`link across all client device platforms.
`0027. As an example, a contextual deep link may be au
`URL in the format of “http://link-provider.com/application
`identifier/unique identifier”. In this example, “link-pro
`vider.com' is the domain name associated with the entity
`performing the operations coordinating the contextual deep
`linking. This may be associated with a specialized server Such
`as a contextual deep linking server as described below. The
`“application identifier is a unique character string identi
`fier that identifies the application in question. The "unique
`identifier is another unique character string identifier that
`identifies the particular link. Note that other embodiments of
`a contextual deep link may have a different combination of
`identifiers in a URL (e.g., the URL may include a query
`string). When a user clicks (or interacts) with the contextual
`deep link, a request is made to the “link-provider.com' server
`which receives the unique identifiers and is able to send a
`contextually valid response to the client device 120 of the
`user. For example, if the user is using a mobile device that
`Supports a mobile application ecosystem, the server may
`detect this contextual information and respond with a redi
`rection to the application store on the user's client device 120
`if the user does not have installed the application referenced
`in the link.
`0028. To support contextual deep linking, in one embodi
`ment, an application 121 includes a client link module 122
`that requests contextual deep links from the contextual deep
`linking server 110 and retrieves link data related to contextual
`deep links from the contextual deep linking server 110. To
`create a contextual deep link to send to a second client device
`120, the first client link module 122 on a first client device 120
`requests the contextual deep link from the contextual deep
`linking server 110. The first client link module 122 also sends
`link data to the contextual deep linking server 110, indicating
`a particular configuration of the application 121. The first
`client link module 122 then receives newly generated contex
`tual deep link from the contextual deep linking server 110.
`0029 When the second client device 120 sends a request
`associated with the contextual deep link (e.g., as a result of
`receiving a tap interaction to the contextual deep link from a
`user), the second client device 120 receives a response from
`the contextual deep linking server 110. If the application 121
`indicated by the link data of the contextual deep link is
`already installed on the second client device 120, then the
`response includes a link that causes the second client device
`121 to open or initiate the application 121 on the second client
`device 120. When the application 121 initiates, the second
`client link module 122 on the application 121 of the second
`client device 120 transmits a request to the contextual deep
`linking server 110 for any link data. The second client link
`module 122 then uses the received link data to configure the
`application 121. If the application 121 indicated by the link
`data of the contextual deep link is not installed on the second
`client device 120, the response includes a link that causes the
`second client device 121 to open or initiate an application that
`interfaces with the application store 140 and which causes the
`application store application to open a landing page of the
`application 121.
`0030. In another embodiment, to create a contextual deep
`link, the client link module 122 does not initially request a
`contextual deep link from the server. Instead, the client link
`
`

`

`US 2016/O 142859 A1
`
`May 19, 2016
`
`module 122 may independently generate a contextual deep
`link according to aparticular format that also includes the link
`data for which the application is configured to associate with
`the contextual deep link. In one embodiment, this format is
`“link-provider.com/key=application identifier?link data.”
`where the “application identifier” represents an identifier of
`the application as described above, and the “link data repre
`sents a query string with the link data that the application is
`configured to associate with the independently generated
`contextual deep link.
`0031 When the second client device 120 sends a request
`associated with the contextual deep link, the request is made
`to the contextual deep linking server 110. The contextual deep
`linking server 110 identifies the link data indicated in the
`independently generated contextual deep link and stores the
`link data. The contextual deep linking server 110 generates a
`new contextual deep link, and associates the newly stored link
`data with the newly generated contextual deep link. The con
`textual deep linking server 110 responds to the request from
`the second client device 120 with this newly generated con
`textual deep link. The second client device 120 is directed to
`the location indicated by the newly generated contextual deep
`link, and receives response data that causes the second client
`device 120 to perform one or more actions as described above
`for the non-independently generated contextual deep link.
`0032. In one embodiment, the responses described above
`are performed in real time by the contextual deep linking
`server 110 such that there is no delay or no delay beyond a
`threshold or user perceptible time period between a request
`made to the contextual deep linking server 110 and a response
`by the contextual deep linking server 110. By having the
`responses be made in real-time or near real-time, the user
`does not easily perceive any delay in determining the context
`or configuring the application based on the link data, thus
`providing a seamless experience.
`0033. In some embodiments, this client link module 122 is
`provided by the developer of the contextual deep linking
`system to the developer of the application 121 as a plug-in or
`library that is inserted into the application 121.
`0034. In some embodiments, the client device 120
`includes a web browser 123 that can transmit requests asso
`ciated with contextual deep links. In Such a case, the contex
`tual deep link takes the form of a Hypertext Markup Lan
`guage (HTML) hyperlink. The web browser 123 displays the
`hyperlink contextual deep link and if a user clicks, taps, or
`interacts with the hyperlink, the web browser 123 submits a
`request to the contextual deep linking server 110 indicated by
`the hyperlink. The web browser 123 then receives a response
`based on the context of the client device 120 that is executing
`the web browser 123.
`0035. The contextual deep linking server 110 generates
`contextual deep links in response to requests from applica
`tions, sends responses to client devices making requests for
`valid contextual deep links, and provides analytics regarding
`the contextual deep links to application owners. As illus
`trated, the contextual deep linking server 110 includes a
`server link module 115, an analysis module 116, and an
`analytics store 117.
`0036. The server link module 115 generates contextual
`deep links in response to requests and transmits responses to
`requests associated with valid contextual deep links that are
`selected based on the context of the client device making the
`request.
`
`0037. In one embodiment, the server link module 115
`receives requests from applications 121 to generate contex
`tual deep links. When the server link module 115 receives
`Such a request, it generates a new contextual deep link and
`associates that link with the information associated with the
`request. The server link module 115 may also receive link
`data along with the request. As described above, this link data
`describes information that the application 121 has requested
`to be associated with the generated contextual deep link and
`can indicate a particular configuration of an application 121.
`The server link module 115 stores this link data and associates
`it with the generated contextual deep link.
`0038. The server link module 115 also responds to
`requests associated with contextual deep links. When the
`server link module 115 receives a request from a client device
`120 associated with a contextual deep link, the server link
`module 115 determines if the client device 120 has stored an
`indicator of a unique fingerprint (e.g., in a cookie). If such an
`indicator of a fingerprint exists, the server link module 115
`retrieves previously stored contextual information about the
`client device 120 based on the fingerprint. If no fingerprint
`exists, the server link module 115 generates one based on
`characteristics of the client device 120 (e.g., network address,
`operating system version, and so on). The server link module
`115 also determines contextual information for the client
`device 120 based on the characteristics of the client device
`120. Based on the contextual information, the server link
`module 115 transmits a response back to the client device 120
`such that the response is operable on the client device 120.
`0039. Additionally, the server link module 115 may
`receive a request for link data from an application 121 on a
`client device 120. The server link module 115 once again
`determines the fingerprint of the client device 120 and
`retrieves any link data that is associated with a contextual
`deep link that has a recently associated request from a client
`device 120 with the same fingerprint. The server link module
`115 sends this link data to the client device 120.
`0040. The analysis module 116 analyzes requests associ
`ated with contextual deep links to provide analytics informa
`tion for an owner of an application. An owner of an applica
`tion may be the developer of the application 121 or an entity
`that owns the legal rights to the application 121. The types of
`analytical information that the analysis module 116 provides
`to the owner may include the client devices 120 that have
`clicked on contextual deep links, known information about
`client devices 120 including characteristics of the client
`devices 120, as well as inferred profile information of the
`users of the client devices based on their contextual deep link
`interaction history.
`0041. The analysis module 116 may also provide informa
`tion to the owner of an application 121 regarding some the
`actions that a user performs in the application 121 that was
`referenced by a contextual deep link. Examples of such
`actions may include the sections in the application that a user
`Subsequently accessed, any sponsored content that the user
`Subsequently consumed in the application 121, and so on. In
`one embodiment, the analysis module 116 provides the infor
`mation described above to the owner via a web interface.
`0042. In one embodiment, the contextual deep linking
`server 110 receives from the owner of the application tagging
`information associated with each contextual deep link. The
`tagging information may be included in the link data or a
`separate tag data for the contextual deep link. The analysis
`module 116 provides the tagging information to the owner for
`
`

`

`US 2016/O 142859 A1
`
`May 19, 2016
`
`each contextual deep link that has been interacted with and
`which has tagging information associated with it. Examples
`of tags include tags indicating campaigns, tags indicating
`referral programs, tags indicating invites, and so on.
`0043. The analytics store 117 stores the data that the
`analysis module 116 uses to provide analytics information to
`the owner. This data may include the data described above
`that is used by the analytics module 116. In one embodiment,
`the data in the analytics store 117 is received from the server
`link module 115.
`0044) The application server 130 provides any server side
`functionality that is needed for one or more of the applications
`121. While a single application server 130 is illustrated, in
`other embodiments more than one application server 130 may
`be used to support different applications 121. Although the
`application server 130 is illustrated with a client link module
`122, in other embodiments the application server 130 also
`includes additional components, such as server-side applica
`tion module to process server-side functions of the applica
`tion 121, a web server, and/or a database to store server-side
`data related to the application 121. As with the functionality
`of the application 121, the functionality of the application
`server 130 is primarily determined by the owner of the appli
`cation 121 itself.
`0045. In one embodiment, the application server 130
`includes a client link module 122 that may perform the same
`functions as the client link module 122 on the application 121.
`The client link module 122 may be used to request a contex
`tual deep link from the contextual deep linking server 110.
`The client link module 122 on the application server 130
`provides this generated contextual deep link to client devices
`120 that connect to the application server 130. For example,
`the application server 130 may include a web server, and the
`application server 130 may receive a web page request from
`a client device 120. In response, the client link module 122 on
`the application server 130 may request a contextual deep link
`and present this to the user of the client device 120 via the web
`SeVe.
`0046. The system 100 described above presents an
`improved method in computer networks of sending a link that
`indicates a particular configuration within an application of
`an application ecosystem based on the contextual information
`of the client device making the request associated with the
`link. Such a system may be used to at least address an issue in
`computer networks of how to identify a client device through
`separate requests to a server in order to send link data asso
`ciated with a contextual deep link to the client device. Addi
`tionally, such a system may be used to at least address an issue
`in computer networks of how to provide access to a deeper
`level of an application, Such as to provide access to a location
`in an application, or to provide access to a configuration of the
`application. An application can request a contextual deep link
`that indicates a particular configuration within the applica
`tion, and a contextual deep linking server responds with the
`newly generated contextual deep link. When a user of a client
`device interacts with the contextual deep link, the contextual
`deep linking server determines the context of the client device
`by determining the characteristics of the client device, and
`transmits a response to the client device that is appropriate
`based on the context. The contextual deep linking server also
`associates the contextual deep link with a fingerprint of the
`client device.
`0047. The response may initiate an application on the
`user's client device, which Submits a request to the contextual
`
`deep linking server for link data associated with any recently
`used contextual deep links. The contextual deep linking
`server matches the fingerprint provided by the application
`with a fingerprint associated with a contextual deep link and
`sends the associated link data to the application, which can
`then be used to configure the application, thus allowing data
`to be passed to cross-application and cross-device.
`Example Client Link Module of an Application
`0048 FIG. 2 illustrates the client link module 122 of FIG.
`1 according to an embodiment. As illustrated, the client link
`module 122 includes a link request module 210, a fingerprint
`generation module 220, a device information module 230, a
`link data retrieval module 240, an application configuration
`module 250, and a deep link database 260. Although the
`illustrated client link module 122 includes the elements
`shown in FIG. 2, in other embodiments the client link module
`122 may include different elements. Furthermore, the func
`tionalities of each element may be distributed differently
`among the elements in other embodiments.
`0049. The deep link database 260 stores indicators of loca
`tions within the application 121 and/or other configuration
`information that are indicated in link data for contextual deep
`links. Locations are pages, sections, content items, and any
`other element in the application that a user can navigate to.
`For example, in an Internet radio application, a location may
`include a particular radio station’s landing page within the
`application. In one embodiment, the deep link database 260
`stores the indications of these locations in a hierarchical tree
`that matches the navigation structure of the application. Thus,
`for each location in the application, the deep link database
`260 may include an indicator of the location itself as well as
`branches to indicators representing the various Subsequent
`locations that can be reached directly from that location. In
`one embodiment, the deep link database 260 includes a map
`ping between an internal set of indicators for a location and
`the external indicator of the location used for the contextual
`deep link.
`0050. In one embodiment, the deep link database 260 also
`stores information regarding discount rates and code

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket