US 20150361
cu») United States
c2) Patent Application Publica
‘Wang et al.
6)
MESSAGING-ENABLED UNMANNED.
AERIAL VEHICLE,
Applicant: Twitter, Ine. San Francisco,
AUS)
Inventors: Ya-Ting Wang, San Franciseo, CA (US);
‘Wayne Robins, San Francisco, CA (US)
Appl. Now 147738087
Bilked:
12,2015
Related US. Application Data
Provisional application No. 62/012,202, filed on Jun
13,2014.
Messaging
Platform
100
ion
29
ITAL
(10) Pub. No.: US 2015/0362917 Al
(43) Pub, Date Dee. 17, 2015
(2)
S.C
ce 05D 1/0011 (2013.01)
on ABSTRACT
AAn unmanned aerial vehicle (UAV) caries 1 camera, sends
“ata from the camera, and receives commands, The UAV is
fonnected to & messauing platiorm, Pictures or video elips
received from the UAV aze selected and placed in messages
broadeast by an account associated with the UAV. Video
Thole from the cameras live-sireamed in a ear-type mies
sage. Account holders ofthe messaging platform may’ control
‘the UAV with commands embedded in messages and directed
towards an account associated with the UAV. Controllable
clements ofthe UAV include UAV location, eamera orienta.
‘ion, camera subject, UAV-mounted lighting, UAV-mounted
splay, « UAV-mounted projector, UAV-mounted speakers
land detachable payload. UAV control may be determined
‘rough democratic means. Some UAV functionality may'be
{riggered through aggregated engagements on the messaging
platorm, The UAV may include a display sereen andior a
microphoneto provide fr telepresence or interview fanction-
aly
' Pict
pl Client
i 29
Pict Frontend] |
Madule
122
UAV
Interaction
Engine
150
i API
2
Rowing Message
ule Repository
125 40
Frontend
Module
‘Connection om
Graph
Repository Web
182 14
Delivery
Module cand
Repository
1aPatent Application Publication Dee. 17, 2015 Sheet 1 of 7 US 2015/0362917 AI
~ Messaging i
Platiorm Pilot
400 liont
q 120
1
Pilot Frontend
Module
122
1
i
UAV !
Interaction eon !
; Reposiony 1 uav
ee 6 1 as
190 ! us
ae || |
uz || |
Reuing Message 1
lodule Repository 1
128 1 JF cient
Frontend | —T—} oe
Module | 1 LAS
cami | | ae |
Graph !
Repository weo |]!
142 ae |} |
i
i
Stream 1
Rpository i
“ad 1
1
1
i
FIG. 1Patent Application Publication Dec. 17,2015 Sheet 20f7 US 2015/0362917 A
Unmanned Aerial Vehicle (UAV)
us
UAV
Receiver Camera | [ Transmitter | [ Payload
205 | | Sograter 215 220 225
FIG. 2Patent Application Publication Dee. 17, 2015. Sheet 3 of 7 US 2015/0362917 AI
Unmanned Aerial Vehicle (UAV)
Interaction Engine
150
Message Interactive
Authoring Message frat
crane Irs ag
310 320
UAV Controller
330
Command
Identifier commen
aa Repository
334
Command
Selector mae
335
UAV Flight UAV Payload
Controller Controller
338 339
FIG. 3Patent Application Publication Dee. 17, 2015. Sheet 4 of 7 US 2015/0362917 AI
Start
v
Receive Media Captured by UAV
410
'
Incorporate Media into Message
420
v
Broadcast Message to Clients
430
Y
Receive Interactions Related to the
UAV from Clients
440
'
Determine UAV Command based
on Received Interactions
450
ul
Transmit UAV Command to UAV.
460
End
FIG. 4Patent Application Publication Dee. 17, 2015. Sheet 5 of 7 US 2015/0362917 AI
Messaging Platform Glient uav
190 195 1S
Capture Media
incorporate Captured
Media into Message
Interact with Message
Generate Command
Respond to Command
550
FIG. 5Patent Application Publication
Dec. 17,2015 Sheet 6 of 7
US 2015/0362917 AI
Computer
‘system
09
Monitor
Processor 612
602 2
—
Keyboard
608
Memory
604
Bus
618
Mouse
Storage VG) — a0
608
Network Netware
Interface Device sa
18
Microphone
aa 620
Touch-Sensitive Z
Input Device
& p G22
adds
t
i
FIG. 6Patent Application Publication Dee. 17, 2015. Sheet 7 of 7 US 2015/0362917 AI
FIG. 7US 2015/0362917 Al
-MESSAGING-ENABLED UNMANNED.
AERIAL VEHICLE
(CROSS-REFERENCE TO RELATED
"APPLICATION
[0001] This application claims the benefit of U.S. Appliea-
tion No, 62/012,202 filed Jun. 13, 2014, whieh is incorpo-
rated by reference i its entirety
BACKGROUND
{0002} Ontine social media servos, such as social pete
Yworkingsites, ews ogaregatr, blogs, ane ike provide a
Fh environment for user o comment on evens of interest
‘and communicate With other users. Social media seoount
holders may’ capture and transmit certain facets of an event
(Ga, a sporting event, a concert performance, an avarls
show, a festival, 2 competition) 10 flowers of the event
‘Thuse fllowers may be her account holders of social media
networks who recive socal media poss about an event fo
‘expericae the event rom the spective othe social mia
sccount holders atthe event. Generally, the followers rosive
posts fom account bolders that they are connected to oF
Dthenvineassneoted wit. Torocciveadeguntecoverage ofan
‘event, followers assemble their owe iss of followed acount
holders who are attending the event. Ifa follower is not
‘connected to many followed account holders who are attend-
in the event, then the follower may’ not receive adaguste
‘coverage ot event. Aditonally this configuration may be
Jess than satisfying becausethefollowedaccountholdersmay
not capture the event infill detail doe to isses such as
inaccessibility to cerin parts of encvent os lack of ke
tee about occurrences a that even
10003} Followers of an eveat may also have access to an
‘officially dstrioted feed ofthe event trough a tslvision,
‘odio, of lem sears of a event hat provide more cocks
‘orstricture However these foo can be lacking from a social
media perspective os resource and cost constrains prevent
‘wider owerageso thateven anoficialy dst fod lacks
the multifaceted perspective that social media provides
Additionally, an ofiilly distributed fed is generally not
responsive fo request io cover dierent aspects ofan event
Aithovgh followed account holders of social medi that are
‘ateading an event may capture an wansmita diffrent per
spective onan event, their atention is focused mainly onthe
‘event rather than documenting the event fora wider range of
followers, partculsy, nonattendce followers who. are
‘scout holder.
0004] Aationsly mos social maa event re covered
by followed acconnt holders tht are present ata parcuae
‘observed moment of the event. Hewever, thse followed
‘observers are contained physically to wherethey are located
land cannot capture a broader perspextive on an event oF
‘Quickly respond to requests to capture geographically ise
persed aspects ofan event, particully as they Oour in ele
time. Hence, media coverage of events may be inadequate to
Satate bot allowed al following account holders o social
media services.
BRIEF DESCRIPTION OF DRAWINGS
10005] The disclosed embodiments have other advantages
‘and features which will be more readily appsreat from the
Dee. 17, 2015
etated description, the appended clin
pigs orden)
[0006] FIG. (Figure") 1 isa block diagram of an example
‘wal-time messaging platform, aecording to an embodiment
[0007] FIG. 2 isa block diqyram of an example unmanned
‘eral Vehicle (UAV), according o aa embodiment.
[0008] FIG. 3s block diagram ofan example UAV inter-
action engine, according to an embodiment
[0009] FIG. isa flowchart ofan example method forusing
messages 10 interact with a UAV, according to an embodi-
eat
[W010] FIG. § is an iterxetion diagram sHlustrating
‘example flow of information between the messaging plat-
‘orm, client, and the UAV. according 1 an embodiment
0011] FIG. 6 illustrates components of an example
nachine able to read instctons from a machine-readable
‘medium and execute them in @ processor (or controler),
according to one embodiment.
[0012] FIG. Tisadiagram ofan example UAV, aceording to
an embod
andthe accompa
juclion ofthe figures
DETAILED DESCRIPTION
[0013] The Figures (FIGS.) and the following description
relate to preferred embodiments by way of illustration ony. It
should be noted that from the following diseussion, alterna
tive embodiments of the structures and methods disclosed
herein will be readily recognized as viable alternatives that
say be employed without departing fom the principles of
‘whit is elaimed
[0014] Reference will now be made in detail to several
embodiments, examples of which are illustrated in the
‘accompanying figures, It is aoted that wherever practicable
Similar o ike reference numbers may be used in the figures
‘and may indicate similar or lke funeionality. The figures
{pict embodiments ofthe disclosed system (or method) for
purposes ofillsiration only. oe skilled the at will realy
recognize from the following description that altemative
‘embodiments ofthe structures and method illustrated herein
may be employed without departing fom the principles
described herein,
1. Configuration Overview
[0018] One example embodiment ofa real-time messaging
system, method, and non-transitory computer readable stor
‘age medium tha includes aecouat holders interscting wih aa
‘unmanned aedal vehiele ("UAV") using 8 messaging plat-
orm. The UAV is antononmons or is piloted from a loction
remote ftom where the UAV is presoat. It is noted that while
the descriptions herein ar inthe context of a UAV, the prin-
ciples described may apply to other unmanned vehicles
(CUV™ such as emote controlled boats and ears.
[0016] In one example embodiment, the secount holders
receive media eapnired via the UAV tid may submit com:
‘mands for wansmission to the UAV. Media captured by the
UAV is received and incorporated into a message. The mes-
sage incliding the captured media is broadcast to accounts of
the messaging platform. Interactions related to the UAV are
received from client devices of account holders. Based on
these interactions related to the UAV, a command is deter
smined for the UAV and transmitted to the UAV, which is
configured to respond (othe commandUS 2015/0362917 Al
[0017] The features and advantages deseribe inthe speci-
fication and in this summary are not all inclusive and, in
particular, many additional features and advantages will be
‘apparent to one of ordinary skill in the atin view of the
“drawings, specification, and elaims. Moreover, it should be
noted thatthe language used in the specification has beea
principally selectod for readability snd insteetionsl pure
poses, and may not have heen selected tn delineate orcircim-
Scribe the disclosed subject matter
UW. Real
10018] FIG. 1 isa block diagram of a realtime messaging
platform 100, aecording to one embodiment. The real-time
restaging platform 100 (also referred to as a “messaging
platfoem) includes a frontend module 110, a pilot frontend
module 122, 2 routing module 128, a graph module 130, 2
livery module 138, a message repository 140, aconnection,
raph repository 142, a stream repository 144, an account
Fepository 146, and an unmanned aerial vehicle (UAV) inter=
‘action engine 150
[0019] | Themessoping platform 100 allows account holders
'o create, publish, and view messages in a message stream
Visible to themselves and other subseribing accounts of the
restaging platform 100, Account holders compase messages
using a elient software aplication running on a client com-
puting device 105 (als refered to as cient 105 oF a client
‘device, such as mobile phone, tablet, a personal computer
(laptop. desktop, or server). ora specialized appliance having
‘communication capability” The client software application
may include a web-based client, a Short Messaging Service
(SMS) interfee, an instant messaging interface, an email
based interface, or an API (application programming inter
ace) function based interface. The client comparing devices
105 communicate with the messaging platform visa network
Thenetwork may’ communicate information trough Wired oF
wireless communication channels over a local-area network,
‘wide-area network such as the inteme, of & combination
there. The notwork may include multiple networks or sub-
networks,
TI. A. Message Composition with 2 Real-Time Messaging
Platform
10020] Messages are containers for a variety of types of
‘computer data repreventing content provided by the com=
poser ofthe message. Types of data that may be stored in @
message include text (eg. 0 140 character “Tweet”, geaph-
jes, video, computer code (@., uniform resource locators
(URTs)), or other content. Messages can also include key
Phrases (eg. symbols, sch as hastag "#") that ean aid in
‘or contextualizing messages. Messages may
addtional metadata that may oF may not be
‘editable by the composing account holder, depending upon
the implementation. Fxamples of message metadata inclade
the time and date of authorship as well asthe geographical
Jocation were the message was composed (e.g. the ctrent
physieal location ofthe elient 108).
[0021] _Themessages composedby one aeeount holder may
also reference other account. Forexample,amessagemay be
‘composed in reply to another message composed by another
account holder, Messages may’also be repeats (or reposts) of
‘amessage composed by another account holder. Repostsmay
also be rofered to as “otwoots.” Generally, an account refer-
‘enced in a message may both appear as Visible content inthe
message (eg. the name ofthe acon), and may also appear
as metadata in the message. As a result, the messaging plat
ime Messaging Platform Overview
Dee. 17, 2015
{orm allows interaction witha referenced account in a mes-
sage. For example, clients 103 may interact with account
‘names that appear in their message stream to navigate to the
message sreams of those acoounts, The messaging platform
100 allows messages to be private, sueh that a composed
message will only appear inthe message streams of the com-
posing aecount and designated recipients’ accounts
[0022] The frontend module 110 receives composed mes-
sages from the clients 105, interfaces with other intemal
components of the messaging platform 100, and distributes
‘message streams to account holders. The frontend module
110 may provide a varity of interfaces for interacting with 2
numberof different types of eliens 108, For example, when
‘an aovoual holder uses a web-based client 108 to acces the
‘messaging platform 100 (eg. through an Intemet browser), a
web interlace mode 114 inthe front end mode 10 can be
sed to provide the client 105 access. Similarly, when an
account holder uses an APLtype client 198 10 access the
‘messaging platform 100 (eg, through an application native
{oan operating system of the clieat 108), an API interface
‘mosdule 112 can be used to provide the cient 108 access.
[0023] The routing module 128 stores newly composed
messages received through the frontend module 110 in a
message repository 140. In ation to storing the content of
aamessage, the routing module 12S aso stores an identifier for
each message. This way, the message can be included in &
variety of different message streams without needing to store
‘more than one copy of the message,
1, B. Connections in « Real-Time Messaging Platform
[0024] Tae graph module 130 manages connections
between account holders, thus determining which accounts
receive which messages when tninsmiting message streams
to clients 108. Generally, the messaging platform 100 uses
unidirectional connections hetween accounts 0 allow
‘count holders a subscribe tothe message streams of other
aecount holders. By using unidirectional connections, the
‘messaging platform allows an account holder to receive the
message stream of anther account, without necessarily
implying any sor of reciprocal relationship the oer way. For
‘example, the messaging platform 100 allows aecount holder
Atosubseribeto the message stream of secount holder B, and
‘eonsequenlly account holder Ais provided and ean view th
messages authored by account holder B. Hovsever, this uni
iretional connection of A subseribing to B does not imply
that account holder B ean view the messages authored by
‘account holder A, This could be the ease if account bolder 2
sbsribed to the message sircam af account holder A; how
ever, this would require the establishment of another uni
rectional connection. In one embodiment, an account holder
‘who establishes a unidirectional connection to receive
fanather acoount holder's message stream is refered to as @
“follower”, and the at of ereating the unidirectional connee-
tion is referred to as “following” another account holder. The
raph module 130 receives requests to ereate and delete uni-
‘rctional connections hetween account holders argh the
ontend module 110, These connections are stored Tor later
tse in the connection graph repository 142 as pat of «nid
‘eetional connection graph. Each connection inthe connee-
tion graph repository 142 references an account in the
‘account repository 146
[0025] In the same or a different embodiment, the graph
‘module 130 manages connections between account holders
using bidirectional connections between account boldersUS 2015/0362917 Al
Upon establishing a bidirectional connection, both accounts
are considered subscribed to each other's account message
stream. The graph module sores bidirectional connections in
the connection griph repository 142 a put of social grap.
Inone embodiment, the messaging platform and connection
raph repository 142 inelude both unidirectional and bdirec-
tional connections
11. C. Message Delivery with a Real
form
10026] The dolivery modole 135 constructs_message
‘streams and provides dhem to requesting clients 105 through
the frontend modiale 110, Responsive to a request fora mes-
sage stream ofa requested accouat holder, the delivery mod-
tule constructsamessage stream in realtime. Thismay include
providing messages from subscribed account holders who are
‘mutually connected 0 the messaging platform during eon-
‘current sessions (eg, simultaneously). However itmay also
‘include messages authored not in el time and/or via account
holders that are no simultaneously connected to the messag-
ing plato with the requesting account oer (aso refered
to asthe contextual account holder). The eontents of a mes-
sage stream fora requested account holder may include mes-
ages composed hy the requested account holder, messazes
‘composed by the other account holders that the requested
‘account holder follows, messages authored by other secount
holders that reference the requested account bolder, and ia
some cases advertisement messages selected by the messag-
ing platform 100, The messages of the message stream may
be ordered chronologically by time and date of suthorship, or
reverse chionologically. Other orderings may also be used
10027] There may be a laue numberof possible messages
that might be inchided in the message stream. The delivery
module 135 identities a subset ofthe possible messages for
inclusion in the message steam. For example, the delivery
module 138 orders the subset of messages by time of com-
position orany other item of information available regarding
the messages, The delivery module 138 stores the messaze
stream na stream repository 144, Thestored message seam
‘ay include the eatire contents ofeach af the messages inthe
stream, ort may ince pointer that point tothe location of
the message in the message repository 140, The delivery
module 135 provides the messaue stream to the requesting