[MUSIC PLAYING]
LAUREN JOYCE: So today we're here with Arcules.
And Arcules is seeing into actionable intelligence.
Arcules, a Canon group, launched about a year ago
from incubation and today is launching their product
into market.
The Arcules Video Cloud platform combines enterprise video
and IoT sensor data, leveraging cloud technologies
and analytics to turn information streams
into insights for businesses, optimizing operations,
and improving safety.
So, with that, I'll hand it over to Sheriff and Ben
to tell you more.
SHERIFF MOHAMED: Thank you, Lauren.
LAUREN JOYCE: You're welcome.
SHERIFF MOHAMED: Good afternoon, everyone.
Oh, seriously?
Come on.
[APPLAUSE AND CHEERS]
Thank you.
Awesome.
So I am Sheriff Mohamed, the principal engineer.
I run the engineering department for Arcules.
I have Ben here, who is our cloud and security architect.
So we get to blame him for everything that's not working.
BEN ROWE: Pretty much.
[LAUGHTER]
SHERIFF MOHAMED: Clicker, come on.
There we go.
So, what do we do?
So our roots really start from video surveillance on premise.
And the idea was is that we wanted to take that and put
that into the cloud.
And with that thought, we were kind of building out
the product and everything.
We realized that you could do so much more than just video
surveillance in the cloud.
And with, especially, the power of AI and IoT
and that correlation of the data, we
realized there's so much more there.
So we're boldly trying to create a new category by the name
of Video IoT as a service--
Video Cloud IoT as a service, excuse me.
And what we're going to talk about today is real.
It's not vaporware.
These are a few screenshots of our product,
our dashboard, and some of the insights
that you're able to see when you are clicking around
in the application.
So I want you guys to dream a little bit with me.
All right?
Imagine if there was a way for us
to be able to detect a school shooting when it's happening,
or prior to the fact that it happens through sound
and other IoT devices, that we can lock down
the school immediately and react immediately.
Or what if there was a lost child at an amusement park
and we could find that lost child based on what color
shirt it was wearing or pants or whatever,
or even a bracelet that it may have through beacon technology?
Thank you.
All right.
What if we're able to maximize the ad revenue that retailers
have through real-time shopper analytics
to see how their shoppers are actually interacting
with the products and within the store-- their traffic
and all of that.
So our goal is to revolutionize video and IoT intelligence
and bring that together, from this era of unstructured data--
very forensic-- and after-the-fact type
of thing to more of a structured and preventative and a way
to be able to react on the spot.
Let me explain a little bit more about what the unstructured
versus structured data is.
So unstructured data is very blobby and homogeneous,
just like water flowing.
It's just going through, into the cloud.
You can't really do anything with it,
unless you have some sort of human element,
human interaction with it to tell you what it
is that's actually happening.
Now, there are ways to be able to detect disturbances
in that field, such as motion detection.
But it still doesn't give you enough.
You still need a human there to tell you, oh, that
was just a bug--
literally, a bug flying on the camera.
Or it was a blurry camera screen.
Or it was actually a human doing something.
Right?
And, again, it's reactive.
It happens after the fact.
So with the advent of AI and bringing everything up
into the cloud, we're able to add more structure
to that data, be able to tell you
what is actually in the video that you are seeing.
Such as in this scenario, we're able to see there
are six people running.
You know, that's great.
We're able to know that there are actually six people there.
We know it's not a blurry screen.
We know there's no smudge there or something.
But we know there are six people.
However, they're running.
Why are they running?
We don't know exactly why.
We still don't have enough context
to be able to react to that, right?
So we need a little bit more.
That's where IoT comes in and being
able to correlate all of that data together.
So in this particular scenario, we
know that six people running.
We know they weren't exercising because it seemed like there
was a big spike in temperature.
All right.
We don't know what that spike in temperature was because of.
It could be a fire.
More than likely, it's a fire.
But we're going to be proactive and go sound the alarm so we
get more and more people out of the building
to save lives and things like that.
And then, after the fact, we can always
figure out, forensics-wise, who, what, where, why, and when.
OK.
Now, as I said, all of this stuff you can actually
do today with our product.
Again, this is a quick demo of our product on the left
there, with all that scrolling.
You see our dashboard and our web portal
where you can manage settings and things like that, also
view video.
The middle portion-- that is our thick client that
is used by 24-7 operations, that you
can see actual, real-time AI events come in through.
And then on the furthest right side--
my right-- that is our iOS or Android app where you
could actually view live video.
So with that, I'm going to pass it over to Ben
and he'll talk to you guys about architecture and high-level
how we do this.
BEN ROWE: Cool.
Thank you.
Cool.
Hey, guys.
So we use a variety of technologies in our platform.
We have Go lang, Node.js, React, Python for TensorFlow stuff,
as well as some C code.
We're kind of polyglot.
We kind of give our engineers the ability
to use the tools that they need to solve the problem,
rather than just trying to smash a square peg in a round hole.
It doesn't really work very well when you
try to get into that situation.
We also use Kubernetes.
I'm going to talk a little bit more
about that in the next few slides.
Kubernetes is awesome.
I don't know whether you guys are familiar with it.
But GKE and we also happen to have Kubernetes at the edge
as well.
Very interesting.
And then, finally, obviously, why we're all here
is Google Cloud.
They've been awesome to us as partners.
We have literally two, three pages
worth of requests or problems that we're trying to solve.
And Trish and Juan over there have
been awesome being able to solve all of our problems.
The other reason why we also use Google Cloud--
we tested out several different cloud platforms.
I can't mention their names.
But, at the end of the day, it came down
to speed and reliability.
And Google won hands-down.
There was no question about it.
There was-- when you're dealing with video,
such a high, intense kind of data flow,
there's not one dropped packet or, oh,
it's 10 seconds too late by the time it gets there.
We can't react quick enough.
And so that's why we chose Google as our cloud partner.
Cool.
So, a quick overview of our solution.
We have a variety of methods of input,
I guess, is the best way of putting it.
So we have a mobile app, which is mostly used by our security
guards, just roaming security guards,
running around, trying to figure out what's going on.
They'll get notifications and alarms to their cell phone.
We have our web client.
A lot of different things are done through there.
Pretty much the entire--
anything you can do in our thick client,
you can also do in our web client.
We have a thick client, which is more traditional.
That's where you have kind of your normal sort of--
trying to think of the word.
I can't remember it.
I'm sorry.
Huh?
- Security operations.
BEN ROWE: Security operations center--
I can't remember the word.
But it's all good.
So mostly they'll be using that product.
High, lots of volume video, normally 32 cameras up
on one big screen.
And then, kind of get down into the IoT side of things,
and the actual device side, right?
So, cameras-- as we are effectively
out of incubation for milestone, we
actually support about 6,000 cameras,
primarily through the ONVIF protocol,
which, if you're familiar with security cameras,
that's very large for us, along with a variety of very specific
device drivers for the cameras.
Our IoT device platform is completely extensible.
Although it's not fully open-platform yet,
it will eventually be open platform,
so we can plug into any IoT vendor on prem,
as well as potentially cloud-to-cloud integrations
in the future.
Access control is another huge one,
obviously being able to react, lock down doors or open up
doors, or video verification-- hey,
someone passed through this door.
Hey, what's going on?
It's pretty interesting.
And then, finally, our third-party integrations.
It's not fully open yet.
We are planning on releasing a fully open API platform.
It's very interesting being able to integrate
with other sources of data.
We don't know what they are yet.
But that's where like being able to pull in
like unstructured data into structured data
and having all these feeds of structured data,
we can do so much more, whether it
be analytics over the top of that
or whether it's just reactive elements.
OK, so here's our architecture.
GKE in the cloud, obviously, I talked about before.
And, also, we actually run Kubernetes at the edge.
And it's something I kind of saved for this slide.
Kubernetes is very, very interesting.
It allows us to deploy micro services at the edge,
as well as in the cloud.
And then you're much quicker at reacting, from a devop
standpoint, being able to fix certain things,
but also being able to deploy upgrades on the fly--
they go down, they come up-- with very little interruption
to the customer.
There's no longer you're downloading firmware updates
or Windows updates.
It's all kind of just done live and switched hot-swappable.
It's great.
Being able to do that on a security platform
is insanely useful, is the best way I can put it.
Cool.
So, a quick, high-level view.
We have a video micro service that sits on the edge.
That's actually where all our camera drivers live.
So it's all of our data in, which is unstructured,
which then pushes it to the video proxy.
Our proxy, then, manages--
we use Google Storage.
We store all that stuff there.
We then have our AI-ML flow and workflow.
We convert our unstructured data to structured data,
as Sheriff said earlier.
We also have our IoT devices.
Again, all the drivers and devices
live down there, at the edge.
All the devices connect on prem or on the cloud.
It does live on the GKE side as well.
But, primarily, right now it's all at the gateway.
We use Cloud IoT Core.
Obviously, that's one of the big things here.
It saved us about a month of development time
building off of IoT Core.
It's already hardened.
It's already secure.
We use the MQTT socket base, if anyone is interested.
We don't use HTTP push.
It just had all the features we needed at the time.
And the fact that it automatically
supported private-public key exchange and all that stuff,
it just made so much sense.
Obviously, with Cloud IoT, we use
pub-sub to transport all of our messages,
similar to RabbitMQ and Kafka, just messaging platform.
And then the next one is our processor.
How many of you guys have heard of GDPR?
How many of you have to deal with it
in like actual, real life?
So one of the interesting things with IoT data
is you don't actually know what kind of data
is actually coming in.
We've built a platform with our drivers.
We actually have to categorize that data before it comes in.
And we actually have to pause out and make sure
that we can utilize it in certain situations.
So we've got a whole framework and legal framework
around this, separate pieces which allow us to say, hey,
if this data is coming in from Germany,
it can't leave the country, so we have to store it
in a German data center--
that kind of rules-based engine, based on geolocation.
It's pretty intense.
It was pretty interesting find.
So that's how we kind of handled that,
just by classifying the data, and then being able to move it.
And then, based on that classification,
depending on what we can do with it, we can either store it.
We can just drop it.
We store all of our historical data in BigQuery.
That's where we can do statistical analysis over time.
But we also then like to pass some of that information
onto our real-time engine, which is an in-house built function
as a service style system.
We can choose to send it to this or not.
Obviously, anyone familiar with some
of the legal ramifications of GDPR,
you may not be able to pass it to users.
So we may actually have to just drop it
before it even gets there.
So the real-time engine-- what it can do
are taking multiple sensors.
So it could be coming from our AI-ML services.
It could be coming from our IT services.
And we can kind of, based on a series set of rules,
or potentially replumb it back into any kind of engine.
So it's kind of an anything-to-anything engine.
We have sent away.
But we can kind of take in lots of different types of data,
and then either reprocess it in a different form,
or then take that form and then action upon it back out,
either via an IoT data sensor, or change a configuration
somewhere on our platform to help provide
more actionable insights.
[MUSIC PLAYING]