`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 1 of 18
`
`EXHIBIT A
`
`EXHIBIT A
`
`
`
`(12) United States Patent
`Thomas
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 9,635,108 B2
`Apr. 25, 2017
`
`USOO9635.108B2
`
`(54) SYSTEMS AND METHODS FOR CONTENT
`SHARING USING UNIQUELY GENERATED
`IDENFERS
`
`(71) Applicant: Q Technologies Inc., Atlanta, GA (US)
`(72) Inventor: Marcus Allen Thomas, Atlanta, GA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 77 days.
`
`(*) Notice:
`
`(21) Appl. No.: 14/604,297
`(22) Filed:
`Jan. 23, 2015
`
`(65)
`
`Prior Publication Data
`US 2015/028876O A1
`Oct. 8, 2015
`Related U.S. Application Data
`(60) Provisional application No. 61/931.562, filed on Jan.
`25, 2014.
`(51) Int. Cl.
`Het 289
`(52) U.S. Cl.
`CPC .......... H04L 67/1095 (2013.01); H04L 67/18
`(2013.01); H04L 67/42 (2013.01)
`(58) Field of Classification Search
`CPC ...... H04L 67/1095; H04L 67/18: H04L 67/42
`USPC .......................................................... 709/203
`See application file for complete search history.
`
`3.
`(
`.01)
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`9,240,058 B1* 1/2016 Amacker ................ GO6T 11700
`2011/02 18996 A1* 9, 2011 Jin .......................... GO6F 17.30
`707f737
`
`200
`
`2012/0290648 A1 11/2012 Sharkey
`2012fO297466 A1* 11/2012 Li ........................... G06F 21/10
`726/7
`2013,0054697 A1* 2, 2013 Cha .................... HO4N 21/2347
`TO9.204
`2013/0151593 A1* 6, 2013 Shin ........................ HO4L 67/42
`TO9,203
`
`FOREIGN PATENT DOCUMENTS
`102013OO3743
`4/2013
`
`KR
`
`OTHER PUBLICATIONS
`International Search Report & Written Opinion on PCT/US2015/
`0.12701 dated May 12, 2015.
`k
`.
`cited by examiner
`
`Primary Examiner — Suraj Joshi
`74) Attorney, Agent, or Firm — Foley & Lardner LLP,
`V, Ag
`y
`John Lanza
`
`ABSTRACT
`(57)
`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.
`
`18 Claims, 5 Drawing Sheets
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 2 of 18
`
`receive a share content, a first
`location, and a unique identifier
`
`} Handle API calls associated with the
`shared corter, 28
`
`Receive a request from a second client,
`the request corprising a second
`location and the unique identifier
`21
`
`
`
`eferre titat the second location is
`within a predefined distance from the
`first iocation
`215
`
`Seri the sharec cert to he second
`cent
`22
`
`
`
`U.S. Patent
`
`Apr. 25, 2017
`
`Sheet 1 of 5
`
`US 9,635,108 B2
`
`1OO
`
`y
`
`O2
`
`
`
`
`
`First Client
`
`O6
`
`Second Client
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 3 of 18
`
`Server
`
`F.G. 1
`
`
`
`U.S. Patent
`
`Apr. 25, 2017
`
`Sheet 2 of 5
`
`US 9,635,108 B2
`
`200 -
`
`
`
`
`
`
`
`Receive a shared COften, a first
`locatioi, and a unique identifier
`2O3
`
`| Handle API calls associated with the
`Saed COnet, 28
`
`Receive a request from a second client,
`the request Coirprising a second
`location and the unique identifier
`2,
`
`212
`
`eterfire that the Secoid Catioi is
`within a predefined distance froii the
`first location
`213
`
`Sefid the Shafed COrteit to the Secord
`cert
`220
`
`F.G. 2A
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 4 of 18
`
`
`
`U.S. Patent
`
`Apr. 25, 2017
`
`Sheet 3 of 5
`
`US 9,635,108 B2
`
`250 -
`
`
`
`Receive a shared conteft and a unique
`certifier
`25
`
`Receive a request from a second client,
`the request Corrprising the unique
`deitifier
`2 O'
`
`Serd the shared CC}fter to the Secoid
`Cieft
`22'
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 5 of 18
`
`
`
`U.S. Patent
`
`Apr. 25, 2017
`
`Sheet 4 of 5
`
`US 9,635,108 B2
`
`300 -
`
`First Client
`
`Second Client
`106
`
`
`
`
`
`-------------------
`
`
`
`Tinnunina T
`-
`Download
`Upload Manager
`Manager
`345
`350
`--
`r-----------------, ...|--
`Broadcast
`----- Distance Module
`:
`Module 354
`358
`-----.In r-l-
`Shared Content
`Clients Database
`!
`Database
`370
`360
`
`-
`
`------------------i
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 6 of 18
`
`
`
`U.S. Patent
`
`Apr. 25, 2017
`
`Sheet S of 5
`
`US 9,635,108 B2
`
`400 -
`
`Shared
`Content
`
`
`
`— — — —
`First
`Unique |Predefined
`Config.
`Location
`identifier
`Distance
`Settings
`415
`420
`
`|
`|
`
`L
`
`500-
`
`505 -
`
`510 -
`
`N
`
`N 102b
`106b-S -C
`
`N
`M
`\
`
`I
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 7 of 18
`
`
`
`US 9,635,108 B2
`
`1.
`SYSTEMIS AND METHODS FOR CONTENT
`SHARING USING UNIQUELY GENERATED
`IDENFERS
`
`RELATED APPLICATION
`
`This application claims priority to U.S. Provisional Patent
`Application No. 61/931.562, entitled “Computer Program
`for the Transposition of PINs Into Cloud Stores, filed Jan.
`25, 2014, which is incorporated herein by reference in its
`entirety for all purposes.
`
`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.
`
`10
`
`15
`
`SUMMARY
`
`25
`
`30
`
`35
`
`One aspect of the disclosure is generally directed to
`methods for content sharing using uniquely generated iden
`tifiers. 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. A first client may generate a unique
`identifier associated with the shared content. The first client
`may also send a first location of the first client as well as the
`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 location or that the identifier matches
`a plurality of Stored unique identifiers. Upon Such determi
`nation, the server may send the shared content to the second
`client.
`Another aspect of the disclosure is generally directed to
`systems for content sharing using uniquely generated iden
`tifiers. The system may comprise a server connected to a
`network. A plurality of clients may also be connected to the
`network. The server may comprise memory and processor.
`Memory may store instructions, and the processor may
`execute the stored instructions. The server may receive,
`45
`from a first client, a shared content, a first location of the first
`client, and a unique identifier for the shared content. The
`server may determine that the unique identifier matches a set
`of pre-defined identifiers. The server may automatically
`generate or receive from the first client, a second unique
`identifier and instead associate it with the shared content.
`The server may also receive a request from a second client,
`the request may include a second location of the second
`client and the unique identifier for the shared content. The
`server may determine that the second location is within a
`predefined distance from the stored location of a unique
`identifier or that the identifier matches a plurality of stored
`unique identifiers. In response to this determination, the
`server may send the shared content to the second client.
`
`40
`
`50
`
`55
`
`60
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Those skilled in the art will appreciate that the summary
`is illustrative only and is not intended to be in any way
`limiting. The details of one or more implementations are set
`forth in the accompanying drawings and the description
`below. Other features, aspects, and advantages of the dis
`
`65
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 8 of 18
`
`2
`closure will become apparent from the description, the
`drawings, and the claims, in which:
`FIG. 1 is a block diagram of a computer system including
`a network, a first client, a second client, and a server,
`according to a described implementation;
`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
`FIG. 5 is an illustrative diagram depicting a plurality of
`first clients and a plurality of second clients.
`
`DETAILED DESCRIPTION
`
`The various concepts introduced above and discussed in
`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
`network, such as the Public Switched Telephone Network
`(PSTN), a wireless link, an intranet, the Internet, or combi
`nations thereof. The network 101 may connect one or more
`devices via an Open Systems Interconnection (OSI) model.
`In some implementation, the network 101 may use an
`internet protocol Suite, including the Transmission Control
`Protocol (TCP) and the Internet Protocol (IP).
`The first client 102, the second client 106, and the server
`104 may each be a computing device. A computing device
`(e.g. a data processing system) may include one or more
`processors, memory, and network interface. The one or more
`processors may be configured to execute instructions stored
`in memory to perform one or more operations described
`herein. The one or more processors and the memory device
`may form a processing module. The processor may include
`a microprocessor, a general purpose processor, an applica
`tion-specific integrated circuit (ASIC), a field-program
`mable gate array (FPGA), a data processor, a logic devices,
`a central processing unit (CPU), a graphics processing unit
`(GPU), a group of processing components, other Suitable
`electronic processing components, or combinations thereof.
`The processor may be connected directly or indirectly (e.g.
`via a bus) to the memory and the network interface. The
`memory may include, but is not limited to, any type of
`Volatile, non-volatile memory, media, memory device, elec
`tronic, optical, magnetic, semiconductor memory device, or
`any other storage or transmission device capable of provid
`ing processor with program instructions and/or data. The
`memory may include an optical disk, magnetic disk, hard
`disks, internal disks, removable disks, magneto-optical
`disks, memory chip, read-only memory (ROM), random
`access memory (RAM), Electrically Erasable Program
`mable Read-Only Memory (EEPROM), erasable program
`mable read only memory (EPROM), flash memory, or any
`other Suitable memory from which processor can read
`instructions and/or data. The instructions may include code
`and/or data from any Suitable machine-readable code or
`Source code. The machine code may be from Source code,
`
`
`
`3
`which may be in one or more computer programming
`languages (including scripting language or markup lan
`guage) such as, but not limited to, ACTIONSCRIPTR), C,
`C++, C#, Cascading Style Sheets (CSS), DARTR),
`ECMASCRIPTR, Extensible Markup Language (XML),
`JAVAR), JAVASCRIPTR including JAVASCRIPTR. Object
`Notation (JSON), PERLOR), Hyptertext Markup Language
`(HTML), PYTHONR, Typescript, VBScript, VISUAL
`BASICR, or any other language. In addition to the process
`ing circuit, a computing device may include one or more
`databases configured to store data. A data storage device
`may be connected to a computing device through the net
`work 101. The computing device may include input and/or
`output (e.g., an electronic display, a touch screen, a virtual
`reality display, a speaker, a keyboard, a pointing device, a
`mouse, a microphone, a printer, a gamepad, a camera, etc.).
`The computing device may be connected to the network 101
`via a network interface. The network interface may be a
`communication interface that includes wired or wireless
`interfaces (e.g., jacks, antennas, transmitters, receivers,
`transceivers, wire terminals, Ethernet ports, WiFi transceiv
`ers, Bluetooth, Bluetooth Low Energy, near field commu
`nication (NFC), ultrasonic sounds, radio-frequency identi
`fication (RFID), etc.) for conducting data communications
`with local or remote devices or systems via the network 101.
`A network interface may have a corresponding module or
`Software that works in conjunction with hardware compo
`nents. The network interface may allow a computing device
`to communicate with and exchange data with other com
`puting devices via the network 101. The network interface
`30
`may receive data from or transmit data to the processor,
`memory, and/or any module or application in memory.
`The first client 102 may be a computing device. Some
`implementations of the computer system 100 may include a
`plurality of first clients 102. The first client 102 may include
`any number and/or type of user-operable electronic device.
`For instance, a first client 102 may include a desktop
`computer, laptop, convertible PC. Smartphone, wearable
`device, Smart watch, tablet, phablet, personal digital assis
`tant, set-top box, Smart television, gaming console device,
`mobile communication device, remote workstation, client
`terminal, entertainment console, or any other device config
`ured to communicate with other computing devices, sys
`tems, and servers via the network 101. The first client 102
`may be capable of communicating with the server 104,
`and/or the second client 106 via the network 101. The first
`client 102 may be capable of determining its location, such
`as geographic location ("geolocation'). In some implemen
`tations, the first client 102 may determine its geographic
`location via global positioning system (GPS). In some
`implementations, the first client 102 may determine its
`geographic location via connection with a network 101. For
`instance, the first client 102 may be assigned an IP address
`by the network 101 and determine its geolocation via the IP
`address. In some implementations, the first client 102 may
`be capable of receiving location information from user
`input. For instance, a user may select a location on a map or
`designate coordinates. In some implementations, the loca
`tion may be defined in terms of the network location or
`characteristics. For instance, the location of the first client
`102 may be defined in terms of the IP address, ping or
`number of hops to a specified IP address, access to a specific
`network, type of network, etc.
`The first client 102 can execute an application to send
`content to a server 104 over the network 101. An application
`may be a mobile application, a web browser, a chat program,
`a stand-alone application, a widget application, a plug-in
`
`50
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 9 of 18
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`US 9,635,108 B2
`
`10
`
`15
`
`25
`
`4
`application, or any type application. The widget and the
`plug-in application may be a third-party application. The
`application may be written in any programming language.
`For instance, the widget or the plug-in application may be
`written in JAVASCRIPT. The application may use an appli
`cation programmable interface (API) to communicate to the
`server 104 or an API to communicate with a second appli
`cation executing on the first client 102 configured to com
`municate with the server 104. The application may be
`configured to allow a user to select a content to be shared,
`and accept a unique identifier from the user. The application
`may also receive location input from the user, or use a
`location of the first client 102. The application on the first
`client 102 may send the shared content, unique identifier,
`and the location to the server 104. The shared content,
`unique identifier, and the location are described in greater
`detail below in relation to FIG. 4. In some implementations,
`the first client 102 may send the unique identifier to the
`second client 106 via the network 101 and/or via the network
`interface. For instance, the first client 102 may send the
`unique identifier to the second client 106 via a Bluetooth
`signal, NFC, or ultrasonic sound. In another instance, a first
`user of the first client 102 may communicate the unique
`identifier to a second user of the second client 106. For
`instance, the first user may tell the second user the unique
`identifier via email, short message service (SMS) text,
`instant messaging, speech, etc. In some implementations, the
`first user may update a website or a social networking site
`(e.g. via TWITTER) the unique identifier, through which the
`second user may obtain the unique identifier.
`The second client 106 may be a computing device, similar
`to the first client 102. Some implementations of the com
`puter system 100 may include a plurality of second clients
`106. A plurality of second clients 106 may request the same
`shared content. A second client 106 may receive input from
`a user of the second client 106. The second client 106 may
`be configured to request the shared content from the server
`104. In some implementations, the second client 106 may
`receive a notification from the server 104 without sending a
`request to the server 106. The notification may indicate, for
`instance, an availability of a shared content. In some imple
`mentations, the second client 106 may execute an applica
`tion that communicates with the server 104 that downloads
`the shared content.
`The server 104 may be a computing device. Some imple
`mentations of the computer system 100 may include a
`plurality of servers 104. A server 104 may be connected to
`the network 101 and be configured to communicate to a first
`client 102 and a second client 106. The server 104 may
`comprise memory, processor, and network interface. The
`server 104 may further comprise a database or be configured
`to communicate with a database. The server 104 may be part
`of an infrastructure provider or a cloud computing platform.
`The server 104 may execute one or more virtual machines.
`The server 104 is described in greater detail in relation to
`FIG. 3.
`FIG. 2A is a flow diagram depicting a method for sharing
`content from a first client to a second client. In brief
`overview, the method 200 generally includes: receiving a
`shared content, a first location, and a unique identifier (step
`205); receiving a request from a second client, the request
`comprising a second location and the unique identifier (step
`210); determining that the second location is within a
`predefined distance from the first location (step 215); and
`sending the shared content to the second client (step 220).
`The method optionally includes handling API calls associ
`
`
`
`US 9,635,108 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`5
`ated with the shared content (step 208) and handling API
`calls of the request (step 212).
`Still referring to FIG. 2A, and in more detail, the method
`includes receiving a shared content, a first location, and a
`unique identifier (step 205). A server may receive the shared
`content, first location and unique identifier. A first client may
`send the shared content, first location and unique identifier.
`The server may associate the first location and the unique
`identifier with the shared content.
`The shared content may comprise one or more of file,
`calendar event, document, picture, video, audio, streaming
`media, rich media, and application data. In some implemen
`tations, the shared content may be specified by the first client
`and retrieved by the server via the network. For instance, the
`first client may specify the URL of the shared content and
`the server may download the shared content. In some
`implementations, the shared content may be hosted on a file
`sharing service and the server may download or copy the
`content from the file sharing service. In some implementa
`tions, the server may store a reference or the location of the
`content (e.g. the URL or on the file sharing service) instead
`of downloading or copying the content. The shared content
`may comprise an access to a stream of data from the first
`client 102: for instance, the shared content may enable a
`video stream and/or a voice-over-IP from the first client 102
`to a second client 106. The shared content, first location and
`unique identifier are described in greater detail in relation to
`FIG. 4.
`In some implementations, the server may determine
`whether the unique identifier is already in use. For instance,
`the server may receive a unique identifier, compare it against
`a plurality of unique identifiers in a database, and determine
`that the received unique identifier may not be used because
`it is in the plurality of unique identifiers. The server may
`then notify the first client for another unique identifier or
`Suggest a generated unique identifier not in the plurality of
`unique identifiers. In some implementations, the server
`and/or the first client may generate a unique identifier. In
`Some implementations, the first client may not send the
`unique identifier, and the server may generate or assign the
`unique identifier to the shared content. For instance, the
`unique identifier may be generated based on the first loca
`tion. In some implementations, the first client may be logged
`in to an account before sending the shared content, and the
`server and/or the first client may generate or assign a unique
`identifier based on the account. The unique identifier may be
`generated based on one or more of the account, the shared
`content, the first location, the predefined distance, and/or
`configuration settings. For instance, the unique identifier
`may be generated via a hash function or a concatenation of
`the first location and an account name of the account. In
`another instance, a characteristic of the shared content, e.g.
`file name or file size, may be used as an input to a hash
`function that outputs a unique identifier. In some implemen
`tations, the unique identifier may be randomly generated. In
`Some implementations, if the unique identifier is already in
`use, the server may generate a second unique identifier not
`in the plurality of unique identifier. In some implementa
`tions, the server may communicate with a database storing
`a plurality of unique identifiers and receive an available
`unique identifier not in the database. In some implementa
`tions, the server may filter the unique identifier, for instance
`for profanity or Vulgar words. The filtered unique identifier
`may be presented to a first user of the first client or renamed.
`In some implementations, the server may filter or rename a
`received unique identifier based on availability in the data
`base storing the plurality of unique identifiers.
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 10 of 18
`
`50
`
`55
`
`60
`
`65
`
`6
`In some implementations, a shared content may have the
`same unique identifier as one or more unique identifiers in
`the plurality of unique identifiers, such that the unique
`identifier may not be unique. In Such implementations, a
`combination of the unique identifier and the first location
`may be unique as compared to all other combinations in the
`plurality of unique identifiers with the respective locations.
`For instance, the unique identifier may be “Interview Cal
`endar Invite' with an associated first location in Atlanta, Ga.
`Another unique identifier in the plurality of unique identi
`fiers may also be “Interview Calendar Invite with an
`associated location of Boston, Mass. Both combinations of
`unique identifiers and locations may be allowed. In some
`implementations, a combination of the unique identifier and
`an account associated with the first location may be unique
`as compared to all other combinations in the plurality of
`unique identifiers with the respective accounts.
`In some implementations, the first location may be a
`location of the first client, a location of an account associated
`with the first client, or a location specified on the first client.
`For instance, the first location may be determined by the first
`client which be a GPS-enable device. In another instance,
`the first client may be logged in under a first account
`associated with a first client. In yet another instance, a first
`user may specify the first location on a map presented on the
`first client. In yet another instance, an application or a
`plug-in executing on the first client may specify the first
`location. In some implementations, the first client may not
`send the first location, and the server may determine the first
`location of the first client. For instance, the server may
`determine a network characteristic of the first client (e.g. IP
`address) and determine the location of the first client. In
`Some implementations, the first client may be logged in to an
`account before sending the shared content, and the server
`may determine a default location from the account; when the
`first client uploads the shared content, the server may
`associate the default location with the shared content. In
`Some implementations, the server may obtain the first loca
`tion by querying the first client. The first location may be
`defined in terms of geolocation, postal address, IP address,
`as part of a geographic hierarchy, etc.
`In some implementations, the server may further receive
`a predefined distance from the first client or specified by an
`account associated with the first client. The predefined
`distance may define, delimit, or restrict the shared content
`within an area, a geographic region, or a location centered on
`the first location. In some implementations, the predefined
`distance may define a maximum distance between the first
`location and a second location. The predefined distance may
`be any distance between, for instance, Zero feet to five
`hundred miles. In some implementations, the predefined
`distance may define a maximum distance between the first
`client and the second device. In some implementations, the
`server may not receive a predefined distance, and in Such
`implementations, the server may associate a default pre
`defined distance with the shared content. In some imple
`mentations, the predefined distance may be unlimited. Such
`that the shared content may be accessed from anywhere. In
`Some implementations, the predefined distance may be
`defined in terms of a geographic hierarchy. The predefined
`distance may be defined in terms of a Zip code, phone
`number area code, city, county, state, country, or any other
`geographic designation. For instance, the predefined dis
`tance may specify that any requests for the shared content
`may be made from within the same Zip code as the first
`location. In some implementations, the predefined distance
`may be defined in terms of network characteristic. For
`
`
`
`US 9,635,108 B2
`
`10
`
`15
`
`25
`
`30
`
`40
`
`45
`
`50
`
`7
`instance, the predefined distance may be defined in terms of
`range of IP addresses, geographic regions associated with IP
`addresses, pings or number of hops to a specified IP address
`or domain address, access to a specific network Such as a
`specific service set identifier, type of network such as WiFi
`or cellular data connection, etc.
`In some implementations, the server may receive addi
`tional configuration settings from the first client. For
`instance, the server may receive a configuration setting for
`whether the shared content should be broadcasted to one or
`more second clients within a predefined distance from the
`first location. In implementations where the server receives
`a broadcast setting for the shared content, the serve may
`identify one or more second clients to which the server will
`broadcast the availability of the shared content. For instance,
`the server may notify a plurality of second clients that are
`each determined to be within a predefined distance from the
`first location, as described in relation to step 215. In some
`implementations, each second client may be associated with
`an account and/or a setting that specifies that the second
`client may receive or view broadcasted shared content. In
`Some implementations, each second client may be associ
`ated with the unique identifier, with a password associated
`with the shared content, or any other authorization or
`authentication. In some implementations, the server may
`determine the second location in response to the second
`client executing an application or a plug-in. After notifying
`the plurality of second clients, the server may receive from
`a second client a request for the shared content as described
`in relation to step 210.
`In another instance, the server may receive a password for
`the shared content, such that any second client requesting the
`shared content with the unique identifier must also provide
`the password to access the shared content. In some imple
`mentations, one or more configuration settings may be used
`35
`together. For instance, the broadcast setting may be com
`bined with the password setting; a password may be required
`to be notified of a broadcast of the shared content and/or to
`access the shared content. In some implementations, the
`configuration setting may include additional authorization or
`authentication required for accessing the shared content. For
`instance, a second client must provide the additional autho
`rization when attempting to access the shared content. The
`additional authorization or authentication may be used by an
`application or a plug-in executing on the first client and/or
`the second client. In some implementations, the configura
`tion setting may include a valid time parameter, which may
`define a duration of time the shared content will be available
`to be accessed or a time at which the shared content will not
`be accessible. The duration of time may be any duration of
`time between, for instance, 30 seconds to indefinite (e.g.
`until the shared content is taken down by a first account
`associated with the shared content, until the first account is
`deactivated, or until the collapse of the universe). In some
`implementations, one or more of the configuration settings
`may be set with default values. For instance, the default
`value for the duration of time may be one year.
`In some implementations, the server may optionally
`handle API calls associated with the shared content (step
`208). The API calls may be part of the shared content or part
`of configuration settings. The API calls may include one or
`more parameters. For instance, a plug-in identifier may be a
`parameter of an API call. A plug-in may be associated with
`a plug-in identifier which may be passed in as a parameter
`of an API call. A plug-in may include, for instance, a chat
`program, or a pillow fight program, etc. In some implemen
`tations, the API call may include accessing a database, to
`
`55
`
`Case 6:21-cv-00321 Document 1-1 Filed 04/01/21 Page 11 of 18
`
`60
`
`65
`
`8
`modify or create a shared content. For instance, a pillow
`fight plug-in may make an API call that updates a document
`in a database that stores a time and location of a pillow fight
`event. In some implementations, an API call may generate a
`unique identifier Such that the unique identifier comprises
`the plug-in identifier, shared content, and or the first loca
`tion.
`The server may receive a request from a second client, the
`request comprising a second location and the unique iden
`tifier (step 210). The server may determine that the unique
`identifier received from the second client is the same as the
`unique identifier received from the first client. In some
`implementations, the second location may be a loc