Implement a metaverse instance on OCI

The metaverse—a virtual world where people live, learn, play, work, shop, and interact with others—is where virtual and digital worlds merge.

The metaverse stack needs to support social interaction, 3D / 2D representation, artificial intelligence (AI), cross-platform functionality, and offer transparency. Metaverse market size was valued at USD 22.79 billion in 2021 and is expected to increase at a compound annual growth rate near 40% between 2022–2030.

Some examples applications of the metaverse include:

  • Social: Presence in immersive spaces allows users to interact with and manipulate their surroundings, fostering better collaboration and collective construction.
  • Education: Immersive spaces can be used to teach children about the solar system, atomic structure, and geography, as well as providing a representation of 18th-century Europe during the Renaissance.
  • Entertainment: Virtual spaces can be used for gaming, art, and concerts.
  • Commerce: Brands can use virtual spaces for product placements and to promote their products. Additionally, decentralized finance (DeFi) can be used to support virtual goods and spaces.

Metaverse principles are:

  • Social
  • Customizable
  • Universal accessibility
  • Immersive
  • AI & Generative AI (see Explore More)
  • Blockchain (see Explore More)

Architecture

This reference architecture utilizes current metaverse technology and understanding to best deploy it to OCI.

Oracle Cloud Infrastructure (OCI) can support the metaverse in various ways:

  • By providing the necessary computing resources and infrastructure to host and run the virtual world, we can run the metaverse front-end in OCI compute and consume all the 3D objects in an Oracle Cloud Infrastructure Object Storage bucket.
  • Metaverse users can interact with an OCI chatbot.
  • OCI supports a wide range of programming languages and frameworks, including Java, Python, Node.js, and more, making it easier to develop the metaverse.
  • Oracle Autonomous Database can store all the information and remove the complexity of a common database; so focus can be placed on the business.
  • Everything can be monitored and analyzed using the Oracle Analytics Cloud.
  • OCI is designed to be highly available and scalable, which means it can support many users without downtime or performance degradation.
  • AI plays a significant role in metaverse development, as it can create new content and experiences within the virtual world.

Each meaningful interaction can be saved in the blockchain platform (e.g., a new visit in a patient clinical record) or interchange documents between patient and doctor in a secure way, so blockchain is a critical solution in the metaverse. Blockchain and non-fungible tokens (NFTs) can bring several benefits to the metaverse, including:

  • A fair and transparent economy: Blockchain and NFTs allow users and businesses to represent their real-world assets and solutions in a decentralized digital environment.
  • New identity experiences: During the process of creating a presence in the metaverse, users can show their support for a specific project by holding NFT assets.
  • The ability to purchase a virtual property: Metaverses allows users to gain full ownership of virtual spaces using NFTs.
  • A powerful marketing tool: Brands can use NFTs to launch products and offer special privileges to followers. NFTs can also enable interoperability outside the metaverse with infrastructure that supports location-based participation features and augmented reality.
  • Improved access control: Linking real identities with digital avatars opens up opportunities to use NFTs to control access to the metaverse.

The following diagram illustrates this reference architecture.



oci-metaverse-architecture-diagram-oracle.zip

The architecture has the following components:

  • Tenancy

    A tenancy is a secure and isolated partition that Oracle sets up within Oracle Cloud when you sign up for Oracle Cloud Infrastructure. You can create, organize, and administer your resources in Oracle Cloud within your tenancy. A tenancy is synonymous with a company or organization. Usually, a company will have a single tenancy and reflect its organizational structure within that tenancy. A single tenancy is usually associated with a single subscription, and a single subscription usually only has one tenancy.

  • 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).

  • Compartment

    Compartments are cross-region logical partitions within an Oracle Cloud Infrastructure tenancy. Use compartments to organize your resources in Oracle Cloud, control access to the resources, and set usage quotas. To control access to the resources in a given compartment, you define policies that specify who can access the resources and what actions they can perform.

  • Availability domains

    Availability domains are standalone, independent data centers within a region. The physical resources in each availability domain are isolated from the resources in the other availability domains, which provides fault tolerance. Availability domains don’t share infrastructure such as power or cooling, or the internal availability domain network. So, a failure at one availability domain is unlikely to affect the other availability domains in the region.

  • Fault domains

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain has three fault domains with independent power and hardware. When you distribute resources across multiple fault domains, your applications can tolerate physical server failure, system maintenance, and power failures inside a fault domain.

  • 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.

  • Load balancer

    The Oracle Cloud Infrastructure Load Balancing service provides automated traffic distribution from a single entry point to multiple servers in the back end.

  • Object storage

    Object storage provides quick access to large amounts of structured and unstructured data of any content type, including database backups, analytic data, and rich content such as images and videos. You can safely and securely store and then retrieve data directly from the internet or from within the cloud platform. You can seamlessly scale storage without experiencing any degradation in performance or service reliability. Use standard storage for "hot" storage that you need to access quickly, immediately, and frequently. Use archive storage for "cold" storage that you retain for long periods of time and seldom or rarely access.

  • Autonomous Database

    Oracle Cloud Infrastructure Autonomous Database is a fully managed, preconfigured database environments that you can use for transaction processing and 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.

  • Compute

    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.

  • Integration

    Oracle Integration is a fully managed service that allows you to integrate your applications, automate processes, gain insight into your business processes, and create visual applications.

  • Analytics

    Oracle Analytics Cloud is a scalable and secure public cloud service that empowers business analysts with modern, AI-powered, self-service analytics capabilities for data preparation, visualization, enterprise reporting, augmented analysis, and natural language processing and generation. With Oracle Analytics Cloud, you also get flexible service management capabilities, including fast setup, easy scaling and patching, and automated lifecycle management.

  • Oracle Blockchain Platform

    Oracle Blockchain Platform (OBP) is a managed blockchain service, which provides a tamper-proof distributed ledger to record issuance (minting) of NFTs and maintain NFT transaction history, and infrastructure nodes to run smart contracts for NFT transactions. It is a preassembled, permissioned platform based on Hyperledger Fabric that can operate on its own or as part of a network consisting of validating nodes (peers). These nodes update the ledger and respond to queries by running smart contract code—the business logic that runs on the blockchain.

    External applications invoke transactions or run queries through client SDKs or REST API calls, which prompt selected peers to run smart contracts, such as the ERC-721 contract generated and deployed in the Develop section. Multiple peers endorse (digitally sign) the results, which are then verified and sent to the ordering service. After consensus is reached on the transaction order, transaction results are grouped into cryptographically secured, tamper-proof data blocks and sent to peer nodes to be validated and appended to the ledger.

    With OBP, you complete some simple instance creation steps, and then Oracle takes care of service management, patching, monitoring, and other service lifecycle tasks. Service administrators can use the OBP web console or its REST APIs to configure the blockchain and monitor its operation.

  • OCI Data Labeling

    The OCI Data Labeling service is an OCI native service that allows customers to create and browse datasets, view data records (text, images) and apply labels for the purposes of building AI/ML models. The service also provides interactive user interfaces designed to aide in the labeling process. Developers can upload raw images, add labels, and highlight areas of images. By adding these labels to images, the resulting datasets can be used to train custom image classification and object-detection models.

    Once records are labeled, the dataset can be exported as line-delimited JSON for use in AI/ML model development. OCI Data Labeling can also be accessed directly from other services such as Oracle Cloud Infrastructure Vision and OCI Language as part of a custom model-training workflow. Data scientists who prefer to build and train their own deep learning or natural language processing models can consume the labeled dataset through Oracle Cloud Infrastructure Data Science.

  • OCI Vision

    OCI Vision is an AI service for performing deep-learning–based image analysis at scale. With prebuilt models available out-of-the-box, developers can easily build image recognition and text recognition into their applications without machine learning (ML) expertise. For industry-specific use cases, developers can automatically train custom Vision models with their own data. These models can be used to detect visual anomalies in manufacturing, extract text from documents to automate business workflows, and tag items in images to count products or shipments. In addition to gaining access to pre-trained models, developers can create custom models without data science expertise or managing custom model infrastructure.

  • Oracle Digital Assistant

    Digital Assistant is a platform for creating conversational interfaces or chatbots. A chatbot is a computer program that simulates and processes human conversation (written or spoken), allowing humans to interact with applications and data as if they were communicating with a real person.

    Developers assemble digital assistants from one or more skills. Skills can be based on prebuilt skills provided by Oracle or third parties, custom developed, or based on one of the many skill templates available. Digital Assistant routes the user’s request to the most appropriate skill to satisfy the user’s request. Skills combine a multilingual NLP deep learning engine, a powerful dialogue flow engine, and integration components to connect to back-end systems.

Recommendations

Use the following recommendations as a starting point.Your requirements might differ from the architecture described here.
  • VCN

    When you create a VCN, determine the number of CIDR blocks required and the size of each block based on the number of resources that you plan to attach to subnets in the VCN. Use CIDR blocks that are within the standard private IP address space.

    Select CIDR blocks that don't overlap with any other network (in Oracle Cloud Infrastructure, your on-premises data center, or another cloud provider) to which you intend to set up private connections.

    After you create a VCN, you can change, add, and remove its CIDR blocks.

    When you design the subnets, consider your traffic flow and security requirements. Attach all the resources within a specific tier or role to the same subnet, which can serve as a security boundary.

  • Cloud Guard

    Clone and customize the default recipes provided by Oracle to create custom detector and responder recipes. These recipes enable you to specify what type of security violations generate a warning and what actions are allowed to be performed on them. For example, you might want to detect Object Storage buckets that have visibility set to public.

    Apply Cloud Guard at the tenancy level to cover the broadest scope and to reduce the administrative burden of maintaining multiple configurations.

    You can also use the Managed List feature to apply certain configurations to detectors.

  • Security Zones

    For resources that require maximum security, Oracle recommends that you use security zones. A security zone is a compartment associated with an Oracle-defined recipe of security policies that are based on best practices. For example, the resources in a security zone must not be accessible from the public internet and they must be encrypted using customer-managed keys. When you create and update resources in a security zone, Oracle Cloud Infrastructure validates the operations against the policies in the security-zone recipe, and denies operations that violate any of the policies.

  • Network security groups (NSGs)

    You can use NSGs to define a set of ingress and egress rules that apply to specific VNICs. We recommend using NSGs rather than security lists, because NSGs enable you to separate the VCN's subnet architecture from the security requirements of your application.

  • Load balancer bandwidth

    While creating the load balancer, you can either select a predefined shape that provides a fixed bandwidth, or specify a custom (flexible) shape where you set a bandwidth range and let the service scale the bandwidth automatically based on traffic patterns. With either approach, you can change the shape at any time after creating the load balancer.

Explore More

Learn more about required technologies in the metaverse.

Review these additional resources:

Acknowledgments

Authors: Jesus Brasero Jimenez

Contributors: Badr Tharwat, John Sulyok