`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 1 of 19
`
`EXHIBIT B
`
`EXHIBIT B
`
`
`
`United States Patent
`Thomas
`
`( 10 ) Patent No .: US 10,567,473 B2
`( 45 ) Date of Patent :
`Feb. 18 , 2020
`
`US010567473B2
`
`( * ) Notice :
`
`( 54 ) SYSTEMS AND METHODS FOR CONTENT
`SHARING USING UNIQUELY GENERATED
`IDENTIFIERS
`( 71 ) Applicant : Q Technologies , Inc. , Brookhaven , GA
`( US )
`( 72 ) Inventor : Marcus Allen Thomas , Atlanta , GA
`( US )
`( 73 ) Assignee : Q Technologies , Inc. , Brookhaven , GA
`( US )
`Subject to any disclaimer , the term of this
`patent is extended or adjusted under 35
`U.S.C. 154 ( b ) by 236 days .
`( 21 ) Appl . No .: 15 / 494,451
`Apr. 22 , 2017
`( 22 ) Filed :
`( 65 )
`Prior Publication Data
`US 2017/0264667 A1 Sep. 14 , 2017
`Related U.S. Application Data
`( 63 ) Continuation of application No. 14 / 604,297 , filed on
`Jan. 23 , 2015 , now Pat . No. 9,635,108 .
`( 60 ) Provisional application No. 61 / 931,562 , filed on Jan.
`25 , 2014 .
`( 51 ) Int . Ci .
`H04L 29/08
`H04L 29/06
`H04W 4/80
`( 52 ) U.S. Ci .
`CPC
`
`( 2006.01 )
`( 2006.01 )
`( 2018.01 )
`H04L 67/06 ( 2013.01 ) ; H04L 67/02
`( 2013.01 ) ; H04L 67/10 ( 2013.01 ) ; H04L
`67/1095 ( 2013.01 ) ; H04L 67/18 ( 2013.01 ) ;
`H04L 67/26 ( 2013.01 ) ; H04L 67/42 ( 2013.01 ) ;
`H04W 4/80 ( 2018.02 )
`
`( 58 )
`
`( 56 )
`
`Field of Classification Search
`HO4L 67/06
`CPC
`See application file for complete search history .
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`8,776,193 B2
`9,288,254 B2
`9,378,386 B1
`2013/0054697 A1
`2013/0151593 Al
`2014/0033286 A1 *
`
`7/2014 Li
`2/2016 Sharkey
`6/2016 Saylor
`2/2013 Cha
`6/2013 Shin et al .
`1/2014 Zhang
`( Continued )
`FOREIGN PATENT DOCUMENTS
`
`H04L 63/083
`726/7
`
`KR
`
`1020130037434
`
`4/2013
`
`OTHER PUBLICATIONS
`Written Opinion on PCT / US2015 /
`International Search Report
`102701 dated May 12 , 2015 .
`Primary Examiner Suraj M Joshi
`( 57 )
`ABSTRACT
`Systems and methods for location - based online content
`sharing using unique identifiers are provided . A server and
`a plurality of clients may be connected to one or more
`networks . A first client may send a shared content to the
`server . The first client may also send a first location of the
`first client as well as a unique identifier for the shared
`content . The server may store the shared content . A second
`client may request the shared content , and the request may
`include the unique identifier and a second location of the
`second client . The server may determine that the second
`location is within a predefined distance from the first loca
`tion . Upon such determination , the server may send the
`shared content to the second client .
`28 Claims , 5 Drawing Sheets
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 2 of 19
`
`Receive a shared content , a first
`ocation , and a unique identifier
`205
`
`Handle API calls associated with the
`shared content , 208
`
`250
`
`Receive a request from a second clieni ,
`the request comprising a second
`location and the unique identifier
`
`Handle API calls of the request
`212
`
`Determine that the second location is
`within a predefined distance from the
`first location
`215
`
`Send the shared content to the second
`client
`220
`
`Receive a shared content and a unique
`identifier
`205
`
`Receive a request from a second client ,
`the request comprising the unique
`identifier
`210
`
`Send the shared content to the second
`
`220
`
`
`
`References Cited
`U.S. PATENT DOCUMENTS
`7/2014 Eggert
`2/2015 Gault
`
`US 10,567,473 B2
`Page 2
`
`G06K 19/06112
`235/375
`G06F 21/60
`726/26
`
`( 56 )
`
`2014/0203071 A1 *
`
`2015/0052615 A1 *
`
`* cited by examiner
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 3 of 19
`
`
`
`U.S. Patent
`
`Feb. 18 , 2020
`
`9
`
`Sheet 1 of 5
`
`US 10,567,473 B2
`
`100
`
`102
`
`First Client
`
`106
`
`Second Client
`
`101
`
`104
`
`Network
`
`Server
`
`FIG . 1
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 4 of 19
`
`
`
`U.S. Patent
`
`Feb. 18 , 2020
`
`9
`
`Sheet 2 of 5
`
`US 10,567,473 B2
`
`200
`
`Receive a shared content , a first
`location , and a unique identifier
`205
`
`}
`i Handle API calls associated with the
`shared content , 208
`}
`www
`1
`
`ins
`
`???
`ww
`www
`
`Receive a request from a second client ,
`the request comprising a second
`location and the unique identifier
`210
`
`w
`
`www
`
`w
`
`w
`
`Handle API calls of the request
`212
`
`ww
`
`w
`
`ww
`
`Determine that the second location is
`within a predefined distance from the
`first location
`215
`
`Send the shared content to the second
`client
`220
`
`FIG . 2A
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 5 of 19
`
`
`
`U.S. Patent
`
`Feb. 18 , 2020
`
`9
`
`Sheet 3 of 5
`
`US 10,567,473 B2
`
`250
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 6 of 19
`
`Receive a shared content and a unique
`identifier
`205
`
`Receive a request from a second client ,
`the request comprising the unique
`identifier
`210
`
`Send the shared content to the second
`client
`220
`
`FIG . 2B
`
`
`
`U.S. Patent
`
`Feb. 18 , 2020
`
`Sheet 4 of 5
`
`US 10,567,473 B2
`
`300
`
`First Client
`102
`
`Second Client
`106
`
`104
`
`Network Interface
`305
`
`Processor
`310
`
`Memory
`315
`Network Module
`320
`
`Content Manager
`
`www .
`
`.
`
`API Call Handler 330
`
`Upload Manager
`345
`
`ninet
`
`Download
`Manager
`350
`
`wwwwww
`
`.
`
`w
`
`Broadcast
`Module 354
`
`Distance Module
`358
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 7 of 19
`
`Shared Content
`Database
`360
`
`Clients Database
`370
`
`FIG . 3
`
`
`
`U.S. Patent
`
`Feb. 18 , 2020
`
`9
`
`Sheet 5 of 5
`
`US 10,567,473 B2
`
`400
`
`500
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 8 of 19
`
`Shared
`Content
`
`First
`Location
`410
`
`Unique
`Identifier
`415
`
`Predefined
`Distance
`420
`
`Config
`Settings
`425
`
`FIG . 4
`
`510 -
`
`102b
`
`106c
`
`FIG . 5
`
`505
`
`102a
`
`106a
`
`
`
`US 10,567,473 B2
`
`1
`SYSTEMS AND METHODS FOR CONTENT
`SHARING USING UNIQUELY GENERATED
`IDENTIFIERS
`
`CROSS - REFERENCE TO RELATED
`APPLICATION
`
`5
`
`20
`
`BACKGROUND
`Online content sharing services allow a client to upload a
`file . The file may be identified by a uniform resource locator
`( URL ) . Other clients may access the file via the URL , and
`download the shared file .
`
`2
`FIG . 2A is a flow diagram depicting a method for sharing
`content from a first client to a second client ;
`FIG . 2B is another flow diagram depicting a method for
`sharing content from a first client to a second client ;
`FIG . 3 is a block diagram illustrating an implementation
`of the server of FIG . 1 in greater detail ;
`FIG . 4 is an illustration of data received from a first client
`at a server ; and
`This application is a continuation of U.S. patent applica
`FIG . 5 is an illustrative diagram depicting a plurality of
`tion Ser . No. 14 / 604,297 , filed Jan. 23 , 2015 which claims
`priority to U.S. Provisional Patent Application No. 61/931 , 10 first clients and a plurality of second clients .
`562 , entitled “ Computer Program for the Transposition of
`DETAILED DESCRIPTION
`PINs Into Cloud Stores ” , filed Jan. 25 , 2014 , which is
`incorporated herein by reference in its entirety for all pur
`The various concepts introduced above and discussed in
`poses .
`15 greater detail below may be implemented in any of numer
`ous ways , as the described concepts are not limited to any
`particular manner of implementation . Examples of specific
`implementations and applications are provided primarily for
`illustrative purposes .
`FIG . 1 is a block diagram of a computer system 100
`including a network 101 , a first client 102 , a second client
`106 , and a server 104. The system 100 may use at least one
`computer network 101. The network 101 may include a local
`area network ( LAN ) , wide area network ( WAN ) , a telephone
`25 network , such as the Public Switched Telephone Network
`( PSTN ) , a wireless link , an intranet , the Internet , or combi
`One aspect of the disclosure is generally directed to
`nations thereof . The network 101 may connect one or more
`methods for location - based online content sharing using
`devices via an Open Systems Interconnection ( OSI ) model .
`unique identifiers . A server and a plurality of clients may be
`In some implementation , the network 101 may use an
`connected to one or more networks . A first client may send
`a shared content to the server . The first client may also send 30 internet protocol suite , including the Transmission Control
`a first location of the first client as well as a unique identifier
`Protocol ( TCP ) and the Internet Protocol ( IP ) .
`for the shared content . The server may store the shared
`The first client 102 , the second client 106 , and the server
`content . A second client may request the shared content , and
`104 may each be a computing device . A computing device
`the request may include the unique identifier and a second
`( e.g. a data processing system ) may include one or more
`location of the second client . The server may determine that 35 processors , memory , and network interface . The one or more
`the second location is within a predefined distance from the
`processors may be configured to execute instructions stored
`first location . Upon such determination , the server may send
`in memory to perform one or more operations described
`herein . The one or more processors and the memory device
`the shared content to the second client .
`Another aspect of the disclosure is generally directed to
`may form a processing module . The processor may include
`systems for location - based online content sharing using 40 a microprocessor , a general purpose processor , an applica
`unique identifiers . The system may comprise a server con
`tion - specific integrated circuit ( ASIC ) , a field - program
`nected to a network . A plurality of clients may also be
`mable gate array ( FPGA ) , a data processor , a logic devices ,
`connected to the network . The server may comprise memory
`a central processing unit ( CPU ) , a graphics processing unit
`and processor . Memory may store instructions , and the
`( GPU ) , a group of processing components , other suitable
`processor may execute the stored instructions . The server 45 electronic processing components , or combinations thereof .
`may receive , from a first client , a shared content , a first
`The processor may be connected directly or indirectly ( e.g.
`location of the first client , and a unique identifier for the
`via a bus ) to the memory and the network interface . The
`shared content . The server may also receive a request from
`memory may include , but is not limited to , any type of
`a second client , the request comprising a second location of
`volatile , non - volatile memory , media , memory device , elec
`the second client and the unique identifier for the shared 50 tronic , optical , magnetic , semiconductor memory device , or
`content . The server may determine that the second location
`any other storage or transmission device capable of provid
`is within a predefined distance from the second client and the
`ing processor with program instructions and / or data . The
`unique identifier . In response to this determination , the
`memory may include an optical disk , magnetic disk , hard
`server may send the shared content to the second client .
`disks , internal disks , removable disks , magneto - optical
`55 disks , memory chip , read - only memory ( ROM ) , random
`access memory ( RAM ) , Electrically Erasable Program
`BRIEF DESCRIPTION OF THE DRAWINGS
`mable Read - Only Memory ( EEPROM ) , erasable program
`mable read only memory ( EPROM ) , flash memory , or any
`Those skilled in the art will appreciate that the summary
`other suitable memory from which processor can read
`is illustrative only and is not intended to be in any way
`limiting . The details of one or more implementations are set 60 instructions and / or data . The instructions may include code
`forth in the accompanying drawings and the description
`and / or data from any suitable machine - readable code or
`below . Other features , aspects , and advantages of the dis
`source code . The machine code may be from source code ,
`closure will become apparent from the description , the
`which may be in one or more computer programming
`languages ( including scripting language or markup lan
`drawings , and the claims , in which :
`FIG . 1 is a block diagram of a computer system including 65 guage ) such as , but not limited to , ACTIONSCRIPT® , C ,
`a network , a first client , a second client , and a server ,
`C ++ , C # , Cascading Style Sheets ( CSS ) , DART® ,
`according to a described implementation ;
`ECMASCRIPT® , Extensible Markup Language ( XML ) ,
`
`SUMMARY
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 9 of 19
`
`
`
`US 10,567,473 B2
`
`4
`3
`cation programmable interface ( API ) to communicate to the
`JAVA? , JAVASCRIPT® including JAVASCRIPT® Object
`server 104 or an API to communicate with a second appli
`Notation ( JSON ) , PERL® , Hyptertext Markup Language
`cation executing on the first client 102 configured to com
`( HTML ) , PYTHON® , TypeScript , VBScript , VISUAL
`municate with the server 104. The application may be
`BASIC® , or any other language . In addition to the process
`ing circuit , a computing device may include one or more 5 configured to allow a user to select a content to be shared ,
`databases configured to store data . A data storage device
`and accept a unique identifier from the user . The application
`may be connected to a computing device through the net
`may also receive location input from the user , or use a
`work 101. The computing device may include input and / or
`location of the first client 102. The application on the first
`output ( e.g. , an electronic display , a touch screen , a virtual
`client 102 may send the shared content , unique identifier ,
`reality display , a speaker , a keyboard , a pointing device , a 10 and the location to the server 104. The shared content ,
`mouse , a microphone , a printer , a gamepad , a camera , etc. ) .
`unique identifier , and the location are described in greater
`The computing device may be connected to the network 101
`detail below in relation to FIG . 4. In some implementations ,
`via a network interface . The network interface may be a
`the first client 102 may send the unique identifier to the
`communication interface that includes wired or wireless
`second client 106 via the network 101 and / or via the network
`interfaces ( e.g. , jacks , antennas , transmitters , receivers , 15 interface . For instance , the first client 102 may send the
`transceivers , wire terminals , Ethernet ports , WiFi transceiv
`unique identifier to the second client 106 via a Bluetooth
`ers , Bluetooth , Bluetooth Low Energy , near field commu
`signal , NFC , or ultrasonic sound . In another instance , a first
`nication ( NFC ) , ultrasonic sounds , radio - frequency identi
`user of the first client 102 may communicate the unique
`fication ( RFID ) , etc. ) for conducting data communications
`identifier to
`a second user of the second client 106. For
`with local or remote devices or systems via the network 101. 20 instance , the first user may tell the second user the unique
`A network interface may have a corresponding module or
`identifier via email , short message service ( SMS ) text ,
`software that works in conjunction with hardware compo
`instant messaging , speech , etc. In some implementations , the
`nents . The network interface may allow a computing device
`first user may update a website or a social networking site
`to communicate with and exchange data with other com
`( e.g. via TWITTER ) the unique identifier , through which the
`puting devices via the network 101. The network interface 25 second user may obtain the unique identifier .
`may receive data from or transmit data to the processor ,
`The second client 106 may be a computing device , similar
`memory , and / or any module or application in memory .
`to the first client 102. Some implementations of the com
`The first client 102 may be a computing device . Some
`puter system 100 may include a plurality of second clients
`implementations of the computer system 100 may include a
`106. A plurality of second clients 106 may request the same
`plurality of first clients 102. The first client 102 may include 30 shared content . A second client 106 may receive input from
`any number and / or type of user - operable electronic device .
`a user of the second client 106. The second client 106 may
`For instance , a first client 102 may include a desktop
`be configured to request the shared content from the server
`computer , laptop , convertible PC , smartphone , wearable
`104. In some implementations , the second client 106 may
`device , smart watch , tablet , phablet , personal digital assis
`receive a notification from the server 104 without sending a
`tant , set - top box , smart television , gaming console device , 35 request to the server 106. The notification may indicate , for
`mobile communication device , remote workstation , client
`instance , an availability of a shared content . In some imple
`terminal , entertainment console , or any other device config
`mentations , the second client 106 may execute an applica
`ured to communicate with other computing devices , sys
`tion that communicates with the server 104 that downloads
`tems , and servers via the network 101. The first client 102
`the shared content .
`may be capable of communicating with the server 104 , 40
`The server 104 may be a computing device . Some imple
`and / or the second client 106 via the network 101. The first
`mentations of the computer system 100 may include a
`client 102 may be capable of determining its location , such
`plurality of servers 104. A server 104 may be connected to
`as geographic location ( “ geolocation ” ) . In some implemen
`the network 101 and be configured to communicate to a first
`tations , the first client 102 may determine its geographic
`client 102 and a second client 106. The server 104 may
`location via global positioning system ( GPS ) . In some 45 comprise memory , processor , and network interface . The
`implementations , the first client 102 may determine its
`server 104 may further comprise a database or be configured
`geographic location via connection with a network 101. For
`to communicate with a database . The server 104 may be part
`instance , the first client 102 may be assigned an IP address
`of an infrastructure provider or a cloud computing platform .
`by the network 101 and determine its geolocation via the IP
`The server 104 may execute one or more virtual machines .
`address . In some implementations , the first client 102 may 50 The server 104 is described in greater detail in relation to
`be capable of receiving location information from user
`FIG . 3 .
`input . For instance , a user may select a location on a map or
`FIG . 2A is a flow diagram depicting a method for sharing
`designate coordinates . In some implementations , the loca
`content from
`a first client to a second client . In brief
`tion may be defined in terms of the network location or
`overview , the method 200 generally includes : receiving a
`characteristics . For instance , the location of the first client 55 shared content , a first location , and a unique identifier ( step
`102 may be defined in terms of the IP address , ping or
`205 ) ; receiving a request from a second client , the request
`number of hops to a specified IP address , access to a specific
`comprising a second location and the unique identifier ( step
`210 ) ; determining that the second location is within a
`network , type of network , etc.
`The first client 102 can execute an application to send
`predefined distance from the first location ( step 215 ) ; and
`content to a server 104 over the network 101. An application 60 sending the shared content to the second client ( step 220 ) .
`may be a mobile application , a web browser , a chat program ,
`The method optionally includes handling API calls associ
`a stand - alone application , a widget application , a plug - in
`ated with the shared content ( step 208 ) and handling API
`application , or any type application . The widget and the
`calls of the request ( step 212 ) .
`plug - in application may be a third - party application . The
`Still referring to FIG . 2A , and in more detail , the method
`application may be written in any programming language . 65 includes receiving a shared content , a first location , and a
`For instance , the widget or the plug - in application may be
`unique identifier ( step 205 ) . A server may receive the shared
`written in JAVASCRIPT . The application may use an appli
`content , first location and unique identifier . A first client may
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 10 of 19
`
`
`
`US 10,567,473 B2
`
`5
`6
`plurality of unique identifiers with the respective locations .
`send the shared content , first location and unique identifier .
`For instance , the unique identifier may be “ Interview Cal
`The server may associate the first location and the unique
`endar Invite ” with an associated first location in Atlanta , Ga .
`identifier with the shared content .
`Another unique identifier in the plurality of unique identi
`The shared content may comprise one or more of file ,
`calendar event , document , picture , video , audio , streaming 5 fiers may also be “ Interview Calendar Invite ” with an
`media , rich media , and application data . In some implemen
`associated location of Boston , Mass . Both combinations of
`tations , the shared content may be specified by the first client
`unique identifiers and locations may be allowed . In some
`and retrieved by the server via the network . For instance , the
`implementations , a combination of the unique identifier and
`first client may specify the URL of the shared content and
`an account associated with the first location may be unique
`the server may download the shared content . In some 10 as compared to all other combinations in the plurality of
`implementations , the shared content may be hosted on a file
`unique identifiers with the respective accounts .
`sharing service and the server may download or copy the
`In some implementations , the first location may be a
`content from the file sharing service . In some implementa
`location of the first client , a location of an account associated
`tions , the server may store a reference or the location of the
`with the first client , or a location specified on the first client .
`content ( e.g. the URL or on the file sharing service ) instead 15 For instance , the first location may be determined by the first
`of downloading or copying the content . The shared content
`client which be a GPS - enable device . In another instance ,
`may comprise an access to a stream of data from the first
`the first client may be logged in under a first account
`client 102 ; for instance , the shared content may enable a
`associated with a first client . In yet another instance , a first
`video stream and / or a voice - over - IP from the first client 102
`user may specify the first location on a map presented on the
`to a second client 106. The shared content , first location and 20 first client . In yet another instance , an application or a
`unique identifier are described in greater detail in relation to
`plug - in executing on the first client may specify the first
`location . In some implementations , the first client may not
`FIG . 4 .
`In some implementations , the server may determine
`send the first location , and the server may determine the first
`location of the first client . For instance , the server may
`whether the unique identifier is already in use . For instance ,
`the server may receive a unique identifier , compare it against 25 determine a network characteristic of the first client ( e.g. IP
`a plurality of unique identifiers in a database , and determine
`address ) and determine the location of the first client . In
`that the received unique identifier may not be used because
`some implementations , the first client may be logged in to an
`it is in the plurality of unique identifiers . The server may
`account before sending the shared content , and the server
`then notify the first client for another unique identifier or
`may determine a default location from the account ; when the
`suggest a generated unique identifier not in the plurality of 30 first client uploads the shared content , the server may
`unique identifiers . In some implementations , the server
`associate the default location with the shared content . In
`and / or the first client may generate a unique identifier . In
`some implementations , the server may obtain the first loca
`some implementations , the first client may not send the
`tion by querying the first client . The first location may be
`unique identifier , and the server may generate or assign the
`defined in terms of geolocation , postal address , IP address ,
`unique identifier to the shared content . For instance , the 35 as part of a geographic hierarchy , etc.
`unique identifier may be generated based on the first loca
`In some implementations , the server may further receive
`tion . In some implementations , the first client may be logged
`a predefined distance from the first client or specified by an
`in to an account before sending the shared content , and the
`account associated with the first client . The predefined
`server and / or the first client may generate or assign a unique
`distance may define , delimit , or restrict the shared content
`identifier based on the account . The unique identifier may be 40 within an area , a geographic region , or a location centered on
`generated based on one or more of the account , the shared
`the first location . In some implementations , the predefined
`content , the first location , the predefined distance , and / or
`distance may define a maximum distance between the first
`configuration settings . For instance , the unique identifier
`location and a second location . The predefined distance may
`may be generated via a hash function or a concatenation of
`be any distance between , for instance , zero feet to five
`the first location and an account name of the account . In 45 hundred miles . In some implementations , the predefined
`another instance , a characteristic of the shared content , e.g.
`distance may define a maximum distance between the first
`file name or file size , may be used as an input to a hash
`client and the second device . In some implementations , the
`function that outputs a unique identifier . In some implemen
`server may not receive a predefined distance , and in such
`tations , the unique identifier may be randomly generated . In
`implementations , the server may associate a default pre
`some implementations , if the unique identifier is already in 50 defined distance with the shared content . In some imple
`use , the server may generate a second unique identifier not
`mentations , the predefined distance may be unlimited , such
`in the plurality of unique identifier . In some implementa
`that the shared content may be accessed from anywhere . In
`tions , the server may communicate with a database storing
`some implementations , the predefined distance may be
`a plurality of unique identifiers and receive an available
`defined in terms of a geographic hierarchy . The predefined
`unique identifier not in the database . In some implementa- 55 distance may be defined in terms of a zip code , phone
`tions , the server may filter the unique identifier , for instance
`number area code , city , county , state , country , or any other
`for profanity or vulgar words . The filtered unique identifier
`geographic designation . For instance , the predefined dis
`may be presented to a first user of the first client or renamed .
`tance may specify that any requests for the shared content
`In some implementations , the server may filter or rename a
`may be made from within the same zip code as the first
`received unique identifier based on availability in the data- 60 location . In some implementations , the predefined distance
`base storing the plurality of unique identifiers .
`may be defined in terms of network characteristic . For
`In some implementations , a shared content may have the
`instance , the predefined distance may be defined in terms of
`same unique identifier as one or more unique identifiers in
`range of IP addresses , geographic regions associated with IP
`the plurality of unique identifiers , such that the unique
`addresses , pings or number of hops to a specified IP address
`identifier may not be unique . In such implementations , a 65 or domain address , access to a specific network such as a
`combination of the unique identifier and the first location
`specific service set identifier , type of network such as WiFi
`may be unique as compared to all other combinations in the
`or cellular data connection , etc.
`
`Case 6:21-cv-00321 Document 1-2 Filed 04/01/21 Page 11 of 19
`
`
`
`US 10,567,473 B2
`
`7
`8
`unique identifier such that the unique identifier comprises
`In some implementations , the server may receive addi
`the plug - in identifier , shared content , and or the first loca
`tional configuration settings from the first client . For
`instance , the server may receive a configuration setting for
`tion .
`The server may receive a request from a second client , the
`whether the shared content should be broadcasted to one or
`more second clients within a predefined distance from the 5 request comprising a second location and the unique iden
`tifier ( step 210 ) . The server may determine that the unique
`first location . In implementations where the server receives
`identifier received from the second client is the same as the
`a broadcast setting for the shared content , the serve may
`unique identifier received from the first client . In some
`identify one or more second clients to which the server will
`implementations , the second location may be a location of
`broadcast the availability of the shared content . For instance ,
`10 the second client , a location of an account associated with
`the server may notify a plurality of second clients that are
`the second client , or a location specified on the second client .
`each determined to be within a predefined distance from the
`For instance , the second location may be determined by the
`first location , as described in relation to step 215. In some
`second client which may be a GPS - enabled device . The
`implementations , each second client may be associated with
`second location may be associated with the second client or
`an account and / or a setting that specifies that the second 15 with a second account logged in on the second client . The
`client may receive or view broadcasted shared content . In
`second location may be specified by a second user on the
`some implementations , each second client may be associ
`second client or by an application or a plug - in executing on
`ated with the unique identifier , with a password associated
`the second client . In some implementations , the request may
`with the shared content , or any other authorization or
`not specify a second location . The server may retrieve a
`authentication . In some implementations , the server may 20 default location associated with the second client or may
`determine the second location in response to the second
`process the request without a second location .
`client executing an application or a plug - in . After notifying
`The second client may receive the unique identifier from
`the
`ality of second clients , the server may receive from
`the first client . The first client may send the unique identifier
`a second client a request for the shared content as described
`to the second client . In some implementations , the first client
`25 may send the unique identifier via a Bluetooth signal . For
`in relation to step 210 .
`In another instance , the server may receive a password for
`instance , the first client may pair with the second client via
`a Bluetooth connection . In another instance , the first client
`the shared content , such that any second client requesting the
`may transmit the unique identifier to the second client
`shared content with the unique identifier must also provide
`without pairing via a Bluetooth signal using advertising
`the password to access the shared content . In some imple
`mentations , one or more configuration settings may be used 30 mode or friendly name . In some implementations , the sec
`ond client ma