throbber
( 12 ) United States Patent
`Pasha et al .
`
`( 10 ) Patent No . : US 10 , 353 , 686 B1
`( 45 ) Date of Patent :
`Jul . 16 , 2019
`
`US010353686B1
`
`( 54 ) APPLICATION INSTALLATION SYSTEM
`( 71 ) Applicant : Facebook , Inc . , Menlo Park , CA ( US )
`( 72 ) Inventors : Zain Pasha , Fremont , CA ( US ) ; John
`Stephen Ketchpaw , Seattle , WA ( US ) ;
`Tong Man , Bellevue , WA ( US ) ;
`Stephanie Shum , Sunnyvale , CA ( US ) ;
`Mina Maher Shawky Abouseif ,
`Sammamish , WA ( US ) ; Robert Huang ,
`Seattle , WA ( US )
`( 73 ) Assignee : Facebook , Inc . , Menlo Park , CA ( 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 .
`( 21 ) Appl . No . : 15 / 392 , 945
`( 22 ) Filed :
`Dec . 28 , 2016
`( 51 ) Int . Ci .
`H04L 29 / 08
`( 2006 . 01 )
`( 2018 . 01 )
`G06F 8 / 61
`( 52 ) U . S . CI .
`CPC . . . . . . . . . . . . . . . G06F 8 / 61 ( 2013 . 01 ) ; H04L 67 / 34
`( 2013 . 01 )
`Field of Classification Search
`CPC . . . . . . . . . . . . . . . G06F 8 / 60 ; G06F 8 / 61 ; H04L 67 / 34
`USPC . . . . . . . . . . . . . . . .
`. . . . . . . . . . 717 / 168 - 178
`See application file for complete search history .
`References Cited
`U . S . PATENT DOCUMENTS
`6 , 775 , 830 B1 *
`8 / 2004 Matsunami . . . . . . . . . . . . . G06F 8 / 61
`717 / 174
`7 , 774 , 762 B2 *
`8 / 2010 Rochette
`GO6F 8 / 61
`717 / 138
`8 , 024 , 815 B2 *
`9 / 2011 Lorch . . . . . . . . . . . . . . . . HO4N 21 / 4435
`726 / 29
`
`( 56 )
`
`( 58 )
`
`8 , 074 , 231 B2 * 12 / 2011 Hunt . . . . . . . . . . . . . . . . . . . GO6F 9 / 4411
`719 / 321
`8 , 156 , 488 B2 *
`4 / 2012 Kotamarthi . . . . . . . . . GO6F 21 / 6281
`717 / 174
`8 , 255 , 991 B1 *
`8 / 2012 Hackborn . . . . . . . . . . . . . . . . . G06F 8 / 61
`726 / 21
`( Continued )
`OTHER PUBLICATIONS
`G . Chen , J . H . Cox A . S . Uluagac and J . A . Copeland , “ In - Depth
`Survey of Digital Advertising Technologies , " in IEEE Communi
`cations Surveys & Tutorials , vol . 18 , No . 3 , pp . 2124 - 2148 , third
`quarter 2016 . ( Year : 2016 ) . *
`( Continued )
`Primary Examiner — Andrew M . Lyons
`( 74 ) Attorney , Agent , or Firm — Baker Botts L . L . P .
`ABSTRACT
`( 57 )
`In one embodiment , a method includes presenting , in a user
`interface of a host application , content that includes a
`download link referencing a downloadable application ,
`wherein the user interface of the host application performs
`operations unrelated to downloading applications , receiving ,
`in the host application , selection of the download link , and
`downloading and installing the host application while the
`host application performs the operations unrelated to down
`loading applications . The downloading and installing com
`prises sending , to a server computer system , a request to
`download the downloadable application , receiving an appli
`cation package that corresponds to the downloadable appli
`cation , and installing the downloadable application on the
`computer system from the application package by executing
`program code having permission to install applications . The
`content may include an advertisement for the application ,
`and the advertisement may include the download link . The
`download link may identify the server computer system and
`the application package .
`20 Claims , 6 Drawing Sheets
`
`1010
`
`164
`DATA
`STORE
`
`160
`
`SOCIAL NETWORKING SYSTEM
`
`CONTENT
`164
`APP
`DOWNLOAD
`LINKS
`166
`
`SERVER
`162
`
`APP
`DOWNLOAD
`PAGE
`168
`
`APP
`PACKAGE
`172
`
`1302
`
`CLIENT SYSTEM
`
`HOST
`APPLICATION
`132
`
`CONTENT
`164
`APP
`DOWNLOAD
`LINKS
`166
`APP
`DOWNLOAD
`PAGE
`168
`
`INSTALLED
`APP
`184
`
`APP
`PACKAGE
`172
`REQUESTED
`PERMS .
`174
`
`ACCEPTED
`PERMS .
`176
`
`APP
`MANAGER
`180
`
`INSTALLER
`182
`
`NETWORK
`110
`
`1507
`
`THIRD - PARTY
`SYSTEM
`
`ironSource Exhibit 1003
`
`

`

`US 10 , 353 , 686 B1
`Page 2
`
`( 56 )
`
`References Cited
`U . S . PATENT DOCUMENTS
`8 , 332 , 936 B1 * 12 / 2012 Hackborn . . . . . . . . . . . . . . G06F 8 / 61
`713 / 176
`8 , 341 , 631 B2 *
`12 / 2012 Havemose
`GO6F 8 / 62
`718 / 100
`8 , 484 , 728 B2 *
`7 / 2013 De Atley . . . . . . . . . . . . . . . G06F 21 / 51
`711 / 154
`8 , 528 , 062 B1 *
`9 / 2013 Connor . . . . . . . . . . . . . . . H04L 63 / 14
`713 / 187
`8 , 640 , 187 B2 *
`1 / 2014 Walsh . . . . . . . . . . . . . . . . . G06F 21 / 10
`726 / 1
`8 , 868 , 692 B1 *
`10 / 2014 Khanna . . . . . . . . . . . . . . H04L 41 / 0866
`709 / 219
`9 , 032 , 387 B1 *
`5 / 2015 Hill . . . . . . . . . . . . . . . . . . . . . . . . . . GO6F 8 / 61
`717 / 173
`9 , 183 , 259 B1 * 11 / 2015 Marra . . . . . . . . . . . . . . . GO6F 17 / 30867
`GO6F 9 / 445
`9 , 830 , 169 B2 * 11 / 2017 Chakrabarti
`. . . . . . . . . . . .
`G06F 21 / 53
`2006 / 0069692 A1 *
`3 / 2006 Pernia
`2007 / 0260749 A1 * 11 / 2007 Lahdensivu . . . . . . . . . . . . G06F 9 / 451
`709 / 246
`2009 / 0300596 Al * 12 / 2009 Tyhurst . . . . . . . . . . . . . . . . . G06F 8 / 65
`717 / 173
`2010 / 0077475 A1 *
`3 / 2010 Deschenes . . . . . . . . . . . . . GO6F 8 / 61
`726 / 21
`2010 / 0078018 A1 *
`4 / 2010 Heinonen . . . . . . . . . . . . . A61M 16 / 01
`128 / 202 . 22
`2010 / 0313196 A1 * 12 / 2010 De Atley . . . . . . . . . . . . . . . GOOF 8 / 61
`717 / 174
`2011 / 0099516 A1 *
`4 / 2011 Hughes
`GO6F 8 / 61
`715 / 810
`2011 / 0173251 A1 *
`7 / 2011 Sandhu . . . . . . . . . . . . . .
`GO6F 8 / 61
`709 / 203
`2011 / 0265080 A1 * 10 / 2011 Matthew . . . . . . . . . . . . . . . . . GO6F 8 / 61
`717 / 176
`2011 / 0276396 A1 * 11 / 2011 Rathod . . . . . . . . . . . . GO6F 17 / 30867
`705 / 14 . 49
`2012 / 0084292 A1 *
`4 / 2012 Liang . . . . . . . . . . . . . . . . GO6F 17 / 30899
`707 / 741
`2012 / 0209946 A1 *
`8 / 2012 McClure . . . . . . . . . . . . . . HO4N 21 / 233
`709 / 217
`2013 / 0159996 A1 *
`6 / 2013 Lin . . . . . . . . . . . . . . . . . . . . . . . . . . G06F 8 / 60
`717 / 178
`2013 / 0263113 A1 * 10 / 2013 Cavazza . . . . . . . . . . . . . . . . G06F 8 / 63
`717 / 178
`
`2 / 2014 Kirkham . . . . . . . . . . . . G06Q 30 / 0631
`2014 / 0052683 A1 *
`706 / 46
`12 / 2014 Rosenberg . . . . . . . . . . . . . . . . GO6F 8 / 61
`2014 / 0359408 A1 *
`715 / 205
`2 / 2015 Schechter . . . . . . . . . . . . . . . G06F 9 / 542
`2015 / 0046934 Al *
`719 / 318
`3 / 2015 Brown . . . . . . . . . . . . . . . G06Q 30 / 0246
`2015 / 0073892 A1 *
`705 / 14 . 45
`4 / 2015 Chakrabarti . . . . . . . . . . . . GO6F 9 / 445
`2015 / 0095905 Al *
`717 / 178
`9 / 2015 Niemoeller . . . . . . . . . . . H04W 4 / 001
`2015 / 0249673 A1 *
`726 / 4
`2015 / 0281238 A1 * 10 / 2015 Ramachandran . . . . . . . G06F 21 / 51
`726 / 4
`2015 / 0347123 A1 * 12 / 2015 Zhu . . . . . . . . . . . . . . . . . . . . . . . . . . H04L 67 / 10
`717 / 172
`2015 / 0378709 A1 * 12 / 2015 D ' Amico . . . . . . . . . . . . . . . G06F 8 / 61
`717 / 176
`2016 / 0085521 Al *
`3 / 2016 Savliwala . . . . . . . . . G06F 17 / 30867
`717 / 108
`2016 / 0085533 Al *
`3 / 2016 Jayanti Venkata . . . . . . . . GO6F 8 / 60
`717 / 175
`2016 / 0085977 A1 *
`3 / 2016 Oh
`G06F 8 / 61
`726 / 20
`2016 / 0092186 A1 *
`3 / 2016 Cross . . . . . . . . .
`G06F 8 / 61
`717 / 177
`2016 / 0188671 A1 *
`6 / 2016 Gupta . . . . . . . . . . . . . . . GO6F 17 / 30528
`707 / 722
`3 / 2017 Rajwat . . . . . . . . . . . . . . . . . . . . . . H04L 67 / 34
`2017 / 0078444 A1 *
`2017 / 0169343 A1 *
`6 / 2017 Kirkham . . . . . . . . .
`GOON 5 / 04
`7 / 2017 Ben - Tzur
`. . . . . . . G06F 8 / 34
`2017 / 0206065 A1 *
`
`OTHER PUBLICATIONS
`B . Christophe , M . Narganes , V . Antila and L . Maknavicius , “ Mobile
`execution environment for non - intermediated content distribution , ”
`in Bell Labs Technical Journal , vol . 15 , No . 4 , pp . 117 - 134 , Mar .
`2011 . ( Year : 2011 ) . *
`I . Ullah , R . Boreli , M . A . Kaafar and S . S . Kanhere , “ Characterising
`user targeting for in - App Mobile Ads , ” 2014 IEEE Conference on
`Computer Communications Workshops ( INFOCOM WKSHPS ) ,
`Toronto , ON , 2014 , pp . 547 - 552 . ( Year : 2014 ) . *
`* cited by examiner
`
`

`

`U . S . Patent
`
`Jul . 16 , 2019
`
`Sheet 1 of 6
`
`US 10 , 353 , 686 B1
`
`100
`
`164
`DATA
`STORE
`
`160
`
`SOCIAL NETWORKING SYSTEM
`
`CONTENT
`164
`APP
`DOWNLOAD
`LINKS
`166
`
`SERVER
`162
`
`APP
`DOWNLOAD
`PAGE
`168
`
`APP
`PACKAGE
`172
`
`1307
`
`CLIENT SYSTEM
`
`HOST
`APPLICATION
`132
`
`CONTENT
`164
`APP
`DOWNLOAD
`LINKS
`166
`
`APP
`DOWNLOAD
`PAGE
`168
`
`INSTALLED
`APP
`184
`
`APP
`PACKAGE
`172
`REQUESTED
`PERMS .
`174
`
`ACCEPTED
`PERMS .
`176
`
`APP
`MANAGER
`180
`
`INSTALLER
`182
`
`FIG . 1
`
`150 75
`NETWORK
`110
`
`150 5
`
`170 -
`
`THIRD - PARTY
`SYSTEM
`
`

`

`U . S . Patent
`
`Jul . 16 , 2019
`
`Sheet 2 of 6
`
`US 10 , 353 , 686 B1
`
`204
`
`202
`
`App “ All About Recipes "
`
`User “ E ”
`
`used
`
`like
`
`206
`
`204
`
`206 -
`
`- 206
`
`200
`
`206
`
`204
`
`Song “ Imagine ”
`
`| played
`
`listened
`
`206 -
`
`- 206
`
`attended
`
`School “ Stanford ”
`
`206
`
`- 204
`206
`
`App “ Spotify
`206
`
`used
`
`User “ C ”
`
`202
`
`Location
`
`Pro "
`" Old
`
`like
`
`- 206
`
`friend
`
`worked at
`
`206
`
`204 -
`
`worked at
`
`206 -
`
`User
`
`2027
`
`worked at
`
`204 -
`
`206
`
`worked at
`
`206 -
`
`“ D ”
`
`User
`
`2027
`
`- 204
`
`206
`
`202
`
`App
`" Online Poker "
`
`played
`
`User " F "
`
`- 204
`
`Recipe “ Chicken
`Parmesan "
`
`recommended
`
`cooked
`
`User “ B ”
`
`206
`watched
`
`friend
`
`- 204
`
`Redemption "
`Movie “ Shawshank
`
`FIG . 2
`
`- 202
`
`User User
`
`“ A ”
`
`friend
`friend
`
`206
`
`206 -
`
`202
`
`like
`
`Company
`
`“ Acme "
`
`
`
`206 med
`
`

`

`U . S . Patent
`
`Jul . 16 , 2019
`
`Sheet 3 of 6
`
`US 10 , 353 , 686 B1
`
`300
`
`3100
`
`Presenting , in a user interface of a host application , content
`that includes a download link referencing a downloadable
`application , wherein the user interface of the host application
`performs operations unrelated to downloading applications
`
`320 -
`
`Receiving , in the host application , selection of the download
`link
`
`3300
`
`Sending , to a server computer system , a request to download
`the downloadable application
`
`340
`
`350
`
`Receiving an application package that corresponds to the
`downloadable application
`
`Installing the downloadable application on the computer
`system from the application package by executing program
`code having permission to install applications
`
`FIG . 3
`
`

`

`U . S . Patent
`
`Jul . 16 , 2019
`
`Sheet 4 of 6
`
`US 10 , 353 , 686 B1
`
`400
`
`Client System
`130
`
`Web Server
`162a
`
`Download Server
`162b
`
`Host application
`requests content
`402
`
`Display
`content
`406
`
`Receive
`selection of
`download link
`408
`
`Send request to
`download app
`referenced by
`selected link
`410
`
`Download app
`package
`416
`
`Send content that
`includes link to
`downloadable app
`404
`
`Receive request for app
`412
`
`Send app package to
`client system
`414
`
`FIG . 4
`
`

`

`U . S . Patent
`
`Jul . 16 , 2019
`
`Sheet 5 of 6
`
`US 10 , 353 , 686 B1
`
`500
`
`510
`
`Receive app package from server , updating a download
`progress indicator as data is received
`
`520 -
`
`Extract requested permissions from app package
`
`iser
`
`5400
`
`Receive accepted permissions from user
`
`550 ~
`
`Compare requested permissions to accepted permissions
`
`5304 UUUUU Present request to grant requested permissions to user
`
`HIR HIHIHIHIHI
`
`560
`
`4
`
`Are accepted
`permissions sufficient to
`install app ?
`
`YES
`
`5705
`- NO Do not install
`app
`
`580
`
`Request and receive any additional portions of app package
`
`590
`
`Invoke Installer to install received app package
`
`FIG . 5
`
`

`

`atent
`
`Jul . 16 , 2019
`
`Sheet 6 of 6
`
`US 10 , 353 , 686 B1
`
`COMPUTER SYSTEM
`
`612
`
`PROCESSOR
`
`MEMORY
`
`STORAGE
`
`- A 600
`
`t602
`
`+
`
`604
`
`I / O INTERFACE
`
`COMMUNICATION
`INTERFACE
`
`1
`
`608
`
`-
`
`610
`
`—
`
`—
`
`—
`
`—
`
`—
`
`—
`
`-
`
`-
`
`-
`
`-
`
`FIG . 6
`
`

`

`US 10 , 353 , 686 B1
`
`permissions , or the user has previously granted the permis
`APPLICATION INSTALLATION SYSTEM
`sions , then the download and install may be performed in a
`TECHNICAL FIELD
`single user interaction , e . g . , with no further interactions by
`the user after the link has been selected . In particular
`This disclosure generally relates to installing applications 5 embodiments , third - party applications such as those pro
`on computing devices .
`vided by third - party application developers are not permitted
`to download and install other applications , and such per
`BACKGROUND
`mission cannot be granted by the user . The direct install
`feature may , however , be implemented by delegating down
`A social - networking system , which may include a social - 10 load requests from applications to particular computer pro
`gram code that is authorized to download and install appli
`networking website , may enable its users ( such as persons or
`organizations ) to interact with it and with each other through
`cations . The program code may have been authorized at the
`it . The social - networking system may , with input from a
`time of the device ' s manufacture , for example .
`user , create and store in the social - networking system a user
`profile associated with the user . The user profile may include 15
`BRIEF DESCRIPTION OF THE DRAWINGS
`demographic information , communication - channel informa
`tion , and information on personal interests of the user . The
`FIG . 1 illustrates an example network environment asso
`social - networking system may also , with input from a user ,
`ciated with application installation in a social - networking
`create and store a record of relationships of the user with
`system .
`other users of the social - networking system , as well as 20
`FIG . 2 illustrates an example social graph .
`provide services ( e . g . , wall posts , photo - sharing , event orga -
`FIG . 3 illustrates an example method for downloading
`nization , messaging , games , or advertisements ) to facilitate
`and installing applications .
`FIG . 4 illustrates an example interaction diagram for
`social interaction between or among users .
`The social - networking system may send over one or more
`requesting and downloading applications .
`FIG . 5 illustrates an example method for receiving and
`networks content or messages related to its services to a 25
`mobile or other computing device of a user . A user may also
`installing applications .
`install software applications on a mobile or other computing
`FIG . 6 illustrates an example computer system .
`device of the user for accessing a user profile of the user and
`DESCRIPTION OF EXAMPLE EMBODIMENTS
`other data within the social - networking system . The social
`networking system may generate a personalized set of 30
`FIG . 1 illustrates an example network environment 100
`content objects to display to a user , such as a newsfeed of
`aggregated stories of other users connected to the user .
`associated with a social networking system . Network envi
`ronment 100 includes a client system 130 , a social - network
`SUMMARY OF PARTICULAR EMBODIMENTS
`ing system 160 , and a third - party system 170 connected to
`35 each other by a network 110 . Although FIG . 1 illustrates a
`In particular embodiments , a direct application install
`particular arrangement of client system 130 , social - network
`ing system 160 , third - party system 170 , and network 110 ,
`feature may be used by third - party applications to download
`and install additional applications onto a mobile device . This
`this disclosure contemplates any suitable arrangement of
`direct install feature can be used to provide download links
`client system 130 , social - networking system 160 , third - party
`or buttons in third - party applications that may download and 40 system 170 , and network 110 . As an example and not by way
`install applications in response to a single user action , such
`of limitation , two or more of client system 130 , social
`as touching the link or button . The direct install feature
`networking system 160 , and third - party system 170 may be
`simplifies the user interface aspects of downloading and
`connected to each other directly , bypassing network 110 . As
`installing applications from third - party applications such as
`another example , two or more of client system 130 , social
`social - networking applications , web browsers , and the like . 45 networking system 160 , and third - party system 170 may be
`For example , an advertisement for an application on a web
`physically or logically co - located with each other in whole
`site or in another application many include a link that the
`or in part . Moreover , although FIG . 1 illustrates a particular
`user can select to download and install another application
`number of client systems 130 , social networking systems
`without leaving the application in which the advertisement
`160 , third - party systems 170 , and networks 110 , this disclo
`was presented . In particular embodiments , the direct install 50 sure contemplates any suitable number of client systems
`feature may be used by an application that presents content ,
`130 , social networking systems 160 , third - party systems
`such as advertisements , to download and install other appli -
`170 , and networks 110 . As an example and not by way of
`cations directly , e . g . , without requiring the user to interact
`limitation , network environment 100 may include multiple
`with another application such as an app store . That is , an
`client system 130 , social - networking systems 160 , third
`application can be downloaded and installed when a user 55 party systems 170 , and networks 110 .
`selects an advertisement , without requiring the user to leave
`This disclosure contemplates any suitable network 110 .
`the application that displays the advertisement . This direct
`As an example and not by way of limitation , one or more
`application install feature can increase the number of users
`portions of network 110 may include an ad hoc network , an
`who download applications linked to by advertisements or
`intranet , an extranet , a virtual private network ( VPN ) , a local
`other content , because users are more likely to download 60 area network ( LAN ) , a wireless LAN ( WLAN ) , a wide area
`applications when the process is simple and non - intrusive
`network ( WAN ) , a wireless WAN ( WWAN ) , a metropolitan
`The application to be downloaded may request permission
`area network ( MAN ) , a portion of the Internet , a portion of
`to perform particular types of operations on the mobile
`the Public Switched Telephone Network ( PSTN ) , a cellular
`device , such as accessing network or storage resources , in
`telephone network , or a combination of two or more of
`which case the user may be prompted to grant the requested 65 these . Network 110 may include one or more networks 110 .
`permission in a dialog box or other user interface element .
`Links 150 may connect client system 130 , social - net
`If the application to be downloaded does not request such
`working system 160 , and third - party system 170 to commu
`
`

`

`US 10 , 353 , 686 B1
`
`5
`
`host an online social network . Social - networking system
`nication network 110 or to each other . This disclosure
`160 may generate , store , receive , and send social network
`contemplates any suitable links 150 . In particular embodi -
`ing data , such as , for example , user - profile data , concept
`ments , one or more links 150 include one or more wireline
`profile data , social - graph information , or other suitable data
`( such as for example Digital Subscriber Line ( DSL ) or Data
`related to the online social network . Social - networking
`Over Cable Service Interface Specification ( DOCSIS ) ) ,
`System 160 may be accessed by the other components of
`wireless ( such as for example Wi - Fi or Worldwide Interop
`network environment 100 either directly or via network 110 .
`erability for Microwave Access ( WiMAX ) ) , or optical ( such
`As an example and not by way of limitation , client system
`as for example Synchronous Optical Network ( SONET ) or
`130 may access social - networking system 160 using a web
`Synchronous Digital Hierarchy ( SDH ) ) links . In particular
`embodiments , one or more links 150 each include an ad hoc 10 browser 132 , or a native application associated with social
`network , an intranet , an extranet , a VPN , a LAN , a WLAN ,
`networking system 160 ( e . g . , a mobile social - networking
`a WAN , a WWAN , a MAN , a portion of the Internet , a
`application , a messaging application , another suitable appli
`portion of the PSTN , a cellular technology - based network , a
`cation , or any combination thereof ) either directly or via
`satellite
`communications technology - based network ,
`network 110 . In particular embodiments , social - networking
`another link 150 , or a combination of two or more such links 15 system 160 may include one or more servers 162 . Each
`150 . Links 150 need not necessarily be the same throughout
`server 162 may be a unitary server or a distributed server
`network environment 100 . One or more first links 150 may
`spanning multiple computers or multiple datacenters . Serv
`differ in one or more respects from one or more second links
`ers 162 may be of various types , such as , for example and
`without limitation , web server , news server , mail server ,
`150 .
`In particular embodiments , client system 130 may be an 20 message server , advertising server , file server , application
`server , exchange server , database server , proxy server ,
`electronic device including hardware , software , or embed
`ded logic components or a combination of two or more such
`another server suitable for performing functions or processes
`components and capable of carrying out the appropriate
`described herein , or any combination thereof . In particular
`functionalities implemented or supported by client system
`embodiments , each server 162 may include hardware , soft
`130 . As an example and not by way of limitation , a client 25 ware , or embedded logic components or a combination of
`system 130 may include a computer system such as a
`two or more such components for carry
`desktop computer , notebook or laptop computer , netbook , a
`priate functionalities implemented or supported by server
`tablet computer , e - book reader , GPS device , camera , per -
`162 . In particular embodiments , social - networking system
`sonal digital assistant ( PDA ) , handheld electronic device ,
`160 may include one or more data stores 164 . Data stores
`cellular telephone , smartphone , augmented / virtual reality 30 164 may be used to store various types of information . In
`device , other suitable electronic device , or any suitable
`particular embodiments , the information stored in data
`combination thereof . This disclosure contemplates any suit -
`stores 164 may be organized according to specific data
`able client systems 130 . A client system 130 may enable a
`structures . In particular embodiments , each data store 164
`network user at client system 130 to access network 110 . A
`may be a relational , columnar , correlation , or other suitable
`client system 130 may enable its user to communicate with 35 database . Although this disclosure describes or illustrates
`particular types of databases , this disclosure contemplates
`other users at other client systems 130 .
`In particular embodiments , client system 130 may include
`any suitable types of databases . Particular embodiments may
`a web browser 132 , such as MICROSOFT INTERNET
`provide interfaces that enable a client system 130 , a social
`EXPLORER , GOOGLE CHROME or MOZILLA FIRE -
`networking system 160 , or a third - party system 170 to
`FOX , and may have one or more add - ons , plug - ins , or other 40 manage , retrieve , modify , add , or delete , the information
`extensions , such as TOOLBAR or YAHOO TOOLBAR . A
`stored in data store 164 .
`user at client system 130 may enter a Uniform Resource
`In particular embodiments , social - networking system 160
`Locator ( URL ) or other address directing the web browser
`may store one or more social graphs in one or more data
`132 to a particular server ( such as server 162 , or a server
`stores 164 . In particular embodiments , a social graph may
`associated with a third - party system 170 ) , and the web 45 include multiple nodes — which may include multiple user
`browser 132 may generate a Hyper Text Transfer Protocol
`nodes ( each corresponding to a particular user ) or multiple
`( HTTP ) request and communicate the HTTP request to
`concept nodes ( each corresponding to a particular con
`server . The server may accept the HTTP request and com -
`cept ) — and multiple edges connecting the nodes . Social
`municate to client system 130 one or more Hyper Text
`networking system 160 may provide users of the online
`Markup Language ( HTML ) files responsive to the HTTP 50 social network the ability to communicate and interact with
`request . Client system 130 may render a webpage based on
`other users . In particular embodiments , users may join the
`the HTML files from the server for presentation to the user
`online social network via social - networking system 160 and
`This disclosure contemplates any suitable webpage files . As
`then add connections ( e . g . , relationships ) to a number of
`an example and not by way of limitation , webpages may
`other users of social - networking system 160 to whom they
`render from HTML files , Extensible Hyper Text Markup 55 want to be connected . Herein , the term “ friend ” may refer to
`Language ( XHTML ) files , or Extensible Markup Language
`any other user of social - networking system 160 with whom
`( XML ) files , according to particular needs . Such pages may
`a user has formed a connection , association , or relationship
`also execute scripts such as , for example and without
`via social - networking system 160 .
`limitation , those written in JAVASCRIPT , JAVA , MICRO -
`In particular embodiments , social - networking system 160
`SOFT SILVERLIGHT , combinations of markup language 60 may provide users with the ability to take actions on various
`and scripts such as AJAX ( Asynchronous JAVASCRIPT and
`types of items or objects , supported by social networking
`XML ) , and the like . Herein , reference to a webpage encom
`system 160 . As an example and not by way of limitation , the
`passes one or more corresponding webpage files ( which a
`items and objects may include groups or social networks to
`browser may use to render the webpage ) and vice versa ,
`which users of social networking system 160 may belong ,
`where appropriate .
`65 events or calendar entries in which a user might be inter
`In particular embodiments , social - networking system 160
`ested , computer - based applications that a user may use ,
`transactions that allow users to buy or sell items via the
`may be a network - addressable computing system that can
`
`

`

`US 10 , 353 , 686 B1
`
`module , user - interface module , user - profile store , connec
`service , interactions with advertisements that a user may
`tion store , third - party content store , or location store . Social
`perform , or other suitable items or objects . A user may
`networking system 160 may also include suitable compo
`interact with anything that is capable of being represented in
`nents such as network interfaces , security mechanisms , load
`social - networking system 160 or by an external system of
`5 balancers , failover servers , management - and - network - op
`third - party system 170 , which is separate from social - net -
`erations consoles , other suitable components , or any suitable
`working system 160 and coupled to social - networking sys -
`combination thereof . In particular embodiments , social
`tem 160 via a network 110 .
`networking system 160 may include one or more user
`In particular embodiments , social - networking system 160
`profile stores for storing user profiles . A user profile may
`may be capable of linking a variety of entities . As an
`example and not by way of limitation , social networking 10 include , for example , biographic information , demographic
`system 160 may enable users to interact with each other as
`information , behavioral information , social information , or
`well as receive content from third - party systems 170 or other
`other types of descriptive information , such as work expe
`entities , or to allow users to interact with these entities
`rience , educational history , hobbies or preferences , interests ,
`through an application programming interfaces ( API ) or
`affinities , or location . Interest information may include inter
`15 ests related to one or more categories . Categories may be
`other communication channels .
`In particular embodiments , a third - party system 170 may
`general or specific . As an example and not by way of
`include one or more types of servers , one or more data
`limitation , if a user “ likes ” an article about a brand of shoes
`stores , one or more interfaces , including but not limited to
`the category may be the brand , or the general category of
`APIs , one or more web services , one or more content
`“ shoes ” or “ clothing . " A connection store may be used for
`sources , one or more networks , or any other suitable com - 20 storing connection information about users . The connection
`ponents , e . g . , that servers may communicate with . A third -
`information may indicate users who have similar or common
`party system 170 may be operated by a different entity from
`work experience , group memberships , hobbies , educational
`an entity operating social networking system 160 . In par -
`history , or are in any way related or share common attri
`ticular embodiments , however , social - networking system
`butes . The connection information may also include user
`160 and third - party systems 170 may operate in conjunction 25 defined connections between different users and content
`with each other to provide social networking services to
`( both internal and external ) . A web server may be used for
`users of social - networking system 160 or third - party sys -
`linking social - networking system 160 to one or more client
`tems 170 . In this sense , social - networking system 160 may
`systems 130 or one or more third - party system 170 via
`provide a platform , or backbone , which other systems , such
`network 110 . The web server may include a mail server or
`as third - party systems 170 , may use to provide social - 30 other messaging functionality for receiving and routing
`networking services and functionality to users across the
`messages between social networking system 160 and one or
`more client systems 130 . An API - request server may allow
`Internet .
`In particular embodiments , a third - party system 170 may
`a third - party system 170 to access information from social
`include a third - party content object provider . A third - party
`networking system 160 by calling one or more APIs . An
`content object provider may include one or more sources of 35 action logger may be used to receive communications from
`content objects , which may be communicated to a client
`a web server about a user ' s actions on or off social
`system 130 . As an example and not by way of limitation ,
`networking system 160 . In conjunction with the action log ,
`content objects may include information regarding things or
`a third - party - content - object log may be maintained of user
`activities of interest to the user , such as , for example , movie
`exposures to third - party - content objects . A notification con
`show times , movie reviews , restaurant reviews , restaurant 40 troller may provide information regarding content objects to
`menus , product information and reviews , or other suitable
`a client system 130 . Information may be pushed to a client
`information . As another example and not by way of limita -
`system 130 as notifications , or information may be pulled
`tion , content objects may include incentive content objects ,
`from client system 130 responsive to a request received from
`such as coupons , discount tickets , gift certificates , or other
`client system 130 . Authorization servers may be used to
`45 enforce one or more privacy settings of the users of social
`suitable incentive objects .
`In particular embodiments , social - networking system 160
`networking system 160 . A privacy setting of a user deter
`also includes user - generated content objects , which may
`mines how particular information associated with a user can
`enhance a user ' s interactions with social networking system
`be shared . The authorization server may allow users to opt
`160 . User - generated content may include anything a user
`in to or opt out of having their actions logged by social
`can add , upload , send , or " post " to social - networking system 50 networking system 160 or shared

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