University of Melbourne: Machine Learning Models for IoT Deployed on Oracle Cloud

The University of Melbourne recently moved its FogBus2 research platform to Oracle Cloud Infrastructure (OCI), allowing computer science researchers throughout Australia to capture, analyze, and make predictions off of Internet of Things (IoT) data.

Using a three-tier architecture made up of IoT devices, a cluster of edge devices featuring Raspberry Pi and Jetson Nano, and a multi-cloud network, the university’s researchers can instantly ingest, analyze, and make inferences about IoT data coming from healthcare monitoring systems, surveillance cameras, mobile devices, and more.

Customer Story

Learn more about the University of Melbourne's journey to Oracle Cloud:

Learn how the University of Melbourne uses Oracle Autonomous Data Warehouse and Oracle Machine Learning:


Within its virtual cloud network (VCN) on Oracle Cloud Infrastructure (OCI), the University of Melbourne has a public subnet, in which researchers can process workloads on four virtual machines (VMs). Two VMs use Arm processors for computationally-intensive, and latency-sensitive workloads, such as those involving video analytics or electrocardiogram readings. Another two VMs use Intel X86 CPUs for lighter, more structured workloads, such as patient health records. The workloads are deployed across two fault domains for high availability. Each fault domain includes an Arm-based VM, and an X86 VM. To secure access, a bastion host is deployed in the public subnet, providing restricted, and time-limited access to the university's VMs.

In a private subnet, the University of Melbourne runs its backend systems, including an Oracle Autonomous Data Warehouse (ADW), and a VM running an Intel X86 CPU. To maintain a schedule for performing systems tasks, the University of Melbourne research team uses Oracle Autonomous Data Warehouse to log the performance of the edge devices, CPU cores, and memory capacity. The team then uses in-database Oracle Machine Learning to run algorithms that can predict the optimal run time for those tasks.

The following diagram illustrates this reference architecture.

The architecture has the following components:

  • Region

    An Oracle Cloud Infrastructure region is a localized geographic area that contains one or more data centers, called availability domains. Regions are independent of other regions, and vast distances can separate them (across countries or even continents).

  • Identity and access management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) enables you to control who can access your resources in Oracle Cloud Infrastructure and the operations that they can perform on those resources.

  • Virtual cloud network (VCN) and subnets

    A VCN is a customizable, software-defined network that you set up in an Oracle Cloud Infrastructure region. Like traditional data center networks, VCNs give you complete control over your network environment. A VCN can have multiple non-overlapping CIDR blocks that you can change after you create the VCN. You can segment a VCN into subnets, which can be scoped to a region or to an availability domain. Each subnet consists of a contiguous range of addresses that don't overlap with the other subnets in the VCN. You can change the size of a subnet after creation. A subnet can be public or private.

  • Security list

    For each subnet, you can create security rules that specify the source, destination, and type of traffic that must be allowed in and out of the subnet.

  • Route table

    Virtual route tables contain rules to route traffic from subnets to destinations outside a VCN, typically through gateways.

  • Virtual Machine

    The Oracle Cloud Infrastructure Compute service enables you to provision and manage compute hosts in the cloud. You can launch compute instances with shapes that meet your resource requirements for CPU, memory, network bandwidth, and storage. After creating a compute instance, you can access it securely, restart it, attach and detach volumes, and terminate it when you no longer need it.

    Ampere Altra processors come with 80 cores per CPU, with all cores capable of running at the maximum frequency of 3.0 Ghz consistently. Each core comes with its own 64 KB L1 I-cache, 64 KB L1 D-cache, and a huge 1 MB L2 D-cache.

  • Bastion

    The bastion host is a compute instance that serves as a secure, controlled entry point to the topology from outside the cloud. The bastion host is provisioned typically in a demilitarized zone (DMZ). It enables you to protect sensitive resources by placing them in private networks that can't be accessed directly from outside the cloud. The topology has a single, known entry point that you can monitor and audit regularly. So, you can avoid exposing the more sensitive components of the topology without compromising access to them.

    Oracle Cloud Infrastructure Bastion provides restricted and time-limited secure access to resources that don't have public endpoints and that require strict resource access controls, such as bare metal and virtual machines, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE), and any other resource that allows Secure Shell Protocol (SSH) access. With Oracle Cloud Infrastructure Bastion service, you can enable access to private hosts without deploying and maintaining a jump host. In addition, you gain improved security posture with identity-based permissions and a centralized, audited, and time-bound SSH session. Oracle Cloud Infrastructure Bastion removes the need for a public IP for bastion access, eliminating the hassle and potential attack surface when providing remote access.

  • Autonomous Data Warehouse

    Oracle Autonomous Data Warehouse is a self-driving, self-securing, self-repairing database service that is optimized for data warehousing workloads. You do not need to configure or manage any hardware, or install any software. Oracle Cloud Infrastructure handles creating the database, as well as backing up, patching, upgrading, and tuning the database.

  • Oracle Machine Learning

    Oracle Machine Learning is an in-database service that helps improve data scientist and developer productivity, and to reduce their learning curve by using familiar open source-based Apache Zeppelin notebook technology. Notebooks support SQL, PL/SQL, Python, and markdown interpreters for Oracle Autonomous Database so users can work with their language of choice when developing models. Python users accelerate model building and execution by leveraging Oracle Autonomous Database’s built-in Python environment as a high-performance computing platform. Built-in AutoML provides automated algorithm and feature selection, as well as model tuning and selection.

Get Featured in Built and Deployed

Want to show off what you built on Oracle Cloud Infrastructure? Care to share your lessons learned, best practices, and reference architectures with our global community of cloud architects? Let us help you get started.

  1. Download the template (PPTX)

    Illustrate your own reference architecture by dragging and dropping the icons into the sample wireframe.

  2. Watch the architecture tutorial

    Get step by step instructions on how to create a reference architecture.

  3. Submit your diagram

    Send us an email with your diagram. Our cloud architects will review your diagram and contact you to discuss your architecture.

Explore More

Learn more about the features of this architecture.


  • Authors: Sasha Banks-Louie, Hassan Ajan, Bill Wimsatt
  • Contributor: Robert Lies