Only this pageAll pages
Powered by GitBook
1 of 64

English

Loading...

ODS-RAM

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

ODP

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Introductory guide

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Developer guide

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

3. Layers

"Layers" separate the DPQM into logical tiers according to functional purpose. ODS-RAM consists of four layers: (1) Data, (2) Transaction, (3) Identity, and (3) Semantics.

In ODS-RAM, each layer is independent of the others and fulfills its distributed data management functions in a loosely coupled manner. That is, ODS-RAM layers possess "detachability", allowing those who adopt ODS-RAM to selectively determine the number of layers required according to the nature and characteristics of each domain. For example, if the data addressability and semantics within a given cross-cutting domain are already clear, one may begin by implementing Data Product first using L3 through L1, omitting the implementation of Ontology Product — i.e., the set comprising L4 through L2.

ODS-RAM places a strong emphasis on flexibility tailored to each domain and use case, and by ensuring "backward compatibility", it allows for subsequent opt-in as needed, thereby providing options commensurate with the level of maturity. The following sections describe in detail the functions of each of the four layers.

3.1 Data Layer (L1)

The Data Layer (hereinafter "L1") is the layer that addresses the problems of Usage Control, Data Tampering, and Data Quality, and selectively adopts Closed World Assumption (CWA) behavior.

L1 requires functions for data usage control exercised by the data provider and for handling data with guaranteed integrity and quality:

  • Regarding usage control exercised by data providers: opportunities for self-determination must be provided within the scope defined in data sharing agreements, and the exercise of such control must be appropriately reflected.

  • Regarding data integrity and quality: the integrity and quality characteristics of each piece of data vary across target domains, and rather than establishing uniform standards, it is assumed that integrity and quality appropriate to the characteristics of the data will be guaranteed. Accordingly, the integrity and quality of data itself are not stipulated; only the methods and results of their evaluation and calculation must be provided in a form accessible to data consumers.

The Transaction Layer (hereinafter "L2") is the layer that addresses the problems of Modal, Query, and Protocol.

L2 must be capable of controlling the transaction process between data providers and data users in a manner that is agnostic to data modal (structured, semi-structured, unstructured, etc.) as well as to request and protocol type (synchronous, asynchronous, etc.).

The Identity Layer (hereinafter "L3") is the layer that addresses the problems of Authentication and Authorization.

L3 requires the necessary level of authentication and authorization through providing Credentials in a verifiable form:

  • Verification of the existence of data providers and users and authentication must ensure the required level of trustworthiness.

  • Access control based on the storage, usage conditions, and granularity self-determined by the data provider must ensure the required level of confidentiality.

The Semantics Layer (hereinafter "L4") is the layer that addresses the problems of Addressability and Semantics, and adopts Open World Assumption (OWA) behavior.

L4 requires semantic and ontological interoperability through providing Metadata in an accessible form:

  • Metadata related to destinations must be provided in order to access data or services.

  • Metadata related to meaning must be defined in a unique and accessible format with respect to the meaning of the information (input/output data) necessary to use the data or services.

3.2 Transaction Layer (L2)

3.3 Identity Layer (L3)

3.4 Semantics Layer (L4)

Chapter 2 Understanding ODS-RAM and ODS Protocols

This chapter organizes "what should be implemented" for readers who are in a position to implement Open Dataspaces technologies, refering to the design philosophy and architectural paradigm of ODS and the guidelines set out in its reference architecture model, "ODS-RAM (Open Data Spaces Reference Architecture Model)."

2.1 Design Philosophy of Open Dataspaces

Open Dataspaces is not merely a mechanism for sharing or publishing data; its purpose is to enable the management of data distributed across multiple enterprises and organizations while maintaining trust. The following A through E are essential to achieving this. For details on the design philosophy, refer to "Design Philosophy".

A. Distributed Data Management

Open Dataspaces does not assume that data is managed in a centralized manner by any specific party. Data remains under the management of each enterprise's or organization's own domain, and is provided as a product within the necessary scope and under defined conditions. Centralized management by any single party is not a premise. (Reference: Design Philosophy, Chapters 3 and 4)

B. Semantics and Ontology

Open Dataspaces explicitly separates "data structure and values (data model)" from "data meaning (information model)," and constrains domain-derived context through ontology, thereby enabling inference by data users. (Reference: Design Philosophy, Chapter 5)

C. Data Addressability and Discoverability

Open Dataspaces is designed so that data and ontology endpoints are globally identifiable and discoverable. (Reference: Design Philosophy, Chapter 6)

Open Dataspaces treats as design targets: "who can access data," "whether that party can be trusted," "under what conditions data can be provided and used," and "whether a given transaction can be considered to have been conducted correctly." The asymmetry of trust, security, and rights and obligations relationships is handled explicitly. (Reference: Design Philosophy, Chapter 7)

In ODS-RAM, "ODS Protocols (ODP)" are defined as the protocols to be relied upon in order to achieve connectivity across different enterprises, organizations, and legal jurisdictions. The design principle is to avoid dependence on any specific vendor, product, or legal framework. (Reference: Design Philosophy, Chapter 3)

ODS-RAM assumes two implementation patterns:

  • Distributed Service Model: an approach in which domain owners themselves build a Self-Serve Data Platform and provide Data Product/Ontology Product based on DPQM

  • Federated Service Model: an approach in which a managed service provider delivers the basic software stack that constitutes DPQM on behalf of the domain owner, while the domain owner retains responsibility for providing Data/Ontology Product.

It should be noted that even in the federated service model, data and ontology remain the responsibility of the data provider, who exercises usage control over them.

This section classifies the components that make up ODS — based on the ODP — into Common Functionalities,Fundamental Protocols,and Complementary Protocols,and provides an overview of what each is designed to enable.

Fundamental Protocols provide specifications for providing the core functions required to realize Open Dataspaces; protocols that must be adopted to realize the functions of the corresponding layer or perspective

  • Common Functionalities:

    • Versioning: A function for managing changes to specifications, configurations, and components, and for maintaining interoperability among participants on a shared set of assumptions

    • Logging: A function that enables comprehensive recording and analysis of system communication status, processing results of each service, and overall monitoring and operational status, based on three categories: communication logs, service logs, and processing logs

Complementary Protocols provide specifications for providing supplementary functions required to realize Open Dataspaces; protocols that may be adopted as needed to realize the functions of the corresponding layer or perspective

  • Heuristic Contracting: An interface function that supports the definition and agreement of terms of use and contractual conditions through third-party electronic contract applications (the contracting function itself is not included)

  • Clearing and Payment: An interface function for recording and reconciling data transaction records through third-party electronic payment applications, and for processing settlement and billing/payment (the settlement and billing/payment function itself is not included)

  • Marketplace: An interface function for forming a venue for data transactions among multiple participants and supporting distribution and transaction expansion (the marketplace function itself is not included)

Monitoring: A function for continuously monitoring and managing system health and performance by tracking the execution environment and service operational status from system logs

  • Notifier: An information notification function for sharing updates and acknowledgment status related to data transactions between data providers and users

  • Usage Control: An interface function that enables data providers to self-determine the scope of provision, storage/usage conditions, and responsibility boundaries (the Usage Control function itself is not included)

  • Data Trust Assessment: An interface function that enables the evaluation and calculation of data integrity and non-tampering (the evaluation and calculation of integrity and non-tampering itself is not included)

  • Data Trustworthiness and Quality Assessment: An interface function that enables the evaluation and calculation of data quality and trustworthiness (the evaluation and calculation of quality and trustworthiness itself is not included)

  • Transaction: A function responsible for endpoint management, process control, and data transfer, serving as the junction point across each layer to enable transactions

  • Identity and Trust: A function for identifying participating parties and providing the trust foundation that ensures data exchange occurs only between legitimate parties and only with authorized access to legitimate resources

  • Metadata Exchange: A function for exchanging metadata related to data location and meaning, enabling data discoverability and semantic interpretation in a distributed environment

  • Discovery and Search: An advanced function for exploration and search based on metadata

  • D. Identity and Usage Control

    E. Interoperability

    2.2 Assumption of Service Models in ODS-RAM

    2.3 Components and Functional Overview

    2.3.1 Fundamental Protocols

    2.3.2 Complementary Protocols

    Open Data Spaces Reference Architecture Model (ODS-RAM)

    ODS Logo

    An open and scalable foundation for distributed data, built on organizational and national diversity by design.

    ODS-RAM (Open Data Spaces Reference Architecture Model) Repository

    ODS-RAM is a reference document published under the design philosophy of Open Data Spaces, providing a reference architecture for distributed data management across enterprises, industries, and national borders. It encompasses the technical paradigm, layered structural model, protocol relationships, and related elements.

    Relationship to the Previous Version

    The Whitepaper (ODS-RAM V1) was published on the IPA website in 2025. https://www.ipa.go.jp/digital/architecture/reports/ouranos-ecosystem-dataspaces-ram-white-paper.html Copyright of ODS-RAM V1 belongs to METI (Ministry of Economy, Trade and Industry) and IPA.

    Copyright

    Copyright of ODS-RAM V2 belongs to IPA, METI, and NEDO. V2 was compiled and edited by IPA based on the outcomes of NEDO's "Project for the Development and Pilot of a Data Sharing System to Realize the Ouranos Ecosystem."

    License

    This document (ODS-RAM V2) is provided under the Creative Commons Attribution 4.0 International (CC BY 4.0). Full license text: https://creativecommons.org/licenses/by/4.0/

    README

    This site publishes documents related to Open Data Spaces (ODS).

    → Japanese Version

    Open Data Spaces Reference Architecture Model V2 (ODS-RAM V2)

    ODS-RAM is a reference architecture for distributed data management across enterprises, industries, and national boundaries —documented through technology paradigms, hierarchical structure models, and protocol relationships.

    Read ODS-RAM v2: README

    Open Data Spaces Protocols (ODP)

    ODP is a set of technical specifications that provide the functions for realizing distributed data management based on ODS-RAM and ensure the interoperability of open dataspaces.

    Read ODP: README

    Open Data Spaces Introductory Guidebook for Users

    Open Data Spaces Introductory Guidebook for Users is a guide for business practitioners and corporate planning staff at companies that use or implement data management and AI services, to evaluate entry into dataspace-related businesses from the perspectives of whether to enter, what roles they can fulfill, and how to approach initial investment.

    Read Open Data Spaces Introductory Guidebook for Users:

    Open Data Spaces Introductory Guidebook for Developers is a guide for developers who are in a position to adopt, implement, or provide services based on Open Dataspaces technologies, organizing the foundational concepts and minimum configuration for beginning design, implementation, and operations.

    Read Open Data Spaces Introductory Guidebook for Developer:

    Open Data Spaces Introductory Guidebook for Developers

    README
    README

    4. Perspectives

    "Perspectives" are logical viewpoints that fulfill cross-cutting functions in Open Dataspaces. ODS-RAM consists of four perspectives: (1) Service, (2) Governance, (3) Security, and (4) Trust.

    In ODS-RAM, each perspective is interrelated with the others and exerts influence across all aspects of distributed data management.

    4.1 Service Perspective (P1)

    The Service Perspective is a perspective that bridges the technical domain — encompassing functions and operations — with the business domain.

    4.1.1 Assumption of Service Models Envisioned in ODS-RAM

    The most orthodox method of implementing the Open Dataspaces architecture is (1) an approach in which domain owners themselves build a Self-Serve Data Platform and provide Data Product/Ontology Product based on DPQM (referred to as the “Distributed Service Model”). This approach, however, is only feasible for large enterprises with significant digital resources that can build and operate their own environments. SMBs, for example, often lack the financial capacity to provide the functions necessary for compliance as a domain owner and face implementation challenges.

    Therefore, the assumption of (2) an approach in which a managed service provider delivers the basic software stack that constitutes DPQM on behalf of the domain owner, while the domain owner retains responsibility for providing Data/Ontology Product (referred to as the “Federated Service Model”) has been made. In Open Dataspaces, the managed service business providing this core technology is called the Dataspace Service Provider (DSSP), following the terminology used in Classical Dataspaces.

    Open Dataspaces calls the mixture of domain owners onboarding on their own and onboarding through DSSP intermediary a Hybrid Service Model (HSM). (Figure 3)

    Figure 3: Types of Service Models

    In ODS-RAM, services are classified, into three formats: (A)Dataspace Fundamental, (B)Dataspace Complementary, and (C)Industry.

    A. Dataspace Fundamental Services (hereinafter "DFS") refers to services that provide, as managed services, the technical implementations of the functions required to realize the fundamental protocol requirements defined in ODP.

    B. Dataspace Complementary Services (hereinafter "DCS") refers to services that provide, as managed services, the technical implementations of the functions required to realize the complementary protocol requirements defined in ODP.

    C. Industry Services (hereinafter "IS") refers to services that provide business applications and business platforms specialized for specific industries and domain use cases. These generally correspond to application services already offered in existing businesses, such as AI, BI (Business Intelligence), and DI (Decision Intelligence).

    The set of services envisioned in ODS-RAM is organized as shown in Figure 4. While not exhaustive, this section defines the most representative services within DFS and DCS. Technical specifications required for implementation in service provision are described in the protocols, while the approach to governance, trust, and security is presented in the perspectives P2 through P4.

    Figure 4: Service Map

    4.1.2.1 Dataspace Fundamental Services (DFS)

    ⅰ. Core services refers to services within DFS that provide, as managed services, the core components playing a central role in each of layers L1 through L4. In ODS-RAM, third parties may provide managed services for core components — such as the semantics component, identity component, transaction component, and data store — within the scope of contractual relationships based on terms and conditions agreed upon by users.

    ⅱ. Semantics modeling Service refers to services that provide, as services, the design of meta-models published by semantics providers in L4 and the assignment of such models to data.

    ⅲ. Discovery and search service refers to a service that provides functionality for discovering and searching endpoints in L4.

    ⅳ. Credential issuing service refers to a service that provides credential issuance as a service offering in L3.

    4.1.2.2 Dataspace Complementary Services (DCS)

    ⅰ. Heuristic contracting service refers to a service that provides functionality enabling newly discovered service users and service providers on the dataspace to enter into new contracts electronically, either independently or by leveraging third-party contracting services.

    ⅱ. Clearing and payment service refers to services that provide functions enabling users who have newly discovered an endpoint to electronically establish a new contract with the service provider directly or through a third-party contract service.

    ⅲ. Marketplace service refers to a service in which a third party provides functions related to the buying and selling of data, acting as an intermediary between data providers and data users, or a service in which a data provider or data user provides such functions.

    The Governance Perspective is a perspective that establishes common rules and policies to achieve specific objectives within the ecosystem, and performs cross-cutting management, oversight, and administration.

    Open Dataspaces are premised on a design that DOES NOT depend on the institutional or regulatory framework of any specific jurisdiction. This is because, given that Open Dataspaces targets distributed data management spanning countries, regions, and industries, incorporating any single legal framework or associated legal requirements into the protocols would risk falling into Institutional Lock-in — institutionally binding participants and erecting barriers to entry in global markets. Accordingly, ODP does not itself impose obligations to comply with specific legal requirements or impose techno-legal requirements.

    However, a design that avoids institutional lock-in does not mean that ODS-RAM exempts participants from legal compliance obligations. For example, in order to support the various usage controls that exist legally and technically, ODS-RAM takes responsibility for providing the interface for Heuristic Contracting Protocol — a protocol related to electronic contracting — as an optional mechanism. This protocol DOES NOT include independent contract negotiation procedures relating to legal frameworks. Rather, it is designed to merely provide a connection point with third-party application services offering electronic contracting, for which a large market already exists. Legal and institutional localization concerning data sharing contracts is expected to be implemented as a complementary measure outside the data transaction process. In distributed data management across enterprises, industries, and national borders, different regulatory requirements exist for each applicable jurisdiction (data protection, privacy, security, export control, intellectual property, sector-specific regulations, etc.), and legal compliance should be implemented effectively in accordance with each applicable regulatory framework.

    Regarding the organization of functions within the governance perspective, it is necessary to examine common rules and policies required at each of layers L1 through L4, including the generally anticipated functions of Standardization and Conformity assessment. Implementers of open dataspaces technologies are required to implement ODP and to conduct governance that reflects the legal requirements of the jurisdictions, industries, and use cases they target.

    To facilitate efficient distributed data management, it is important to adopt a Unified Meta Identifier (UMI) as a common identification rule across open dataspaces. The unified meta identifier is developed in a form that abstracts identifier systems that have been individually optimized within enterprises and industries and exist as heterogeneous systems. The UMI can be understood as an important foundation for resolving compatibility, discoverability, and semantic interoperability in distributed data management. As a UMI, for example, IRI (International Resource Identifier) is assumed, and the specific specifications are defined in ODP.

    The Security Perspective adopts Security by Design as its fundamental principle, treating security not as an assumption but as a design target. It also adopts a design that applies cyber-physical security requirements — including identification/authentication, data protection, availability, observability, and response/recovery — across layers, assuming a dynamic environment in which cyberspace and physical space interact with each other.

    The Security Perspective upholds the following three principles, separating policy determination and enforcement to ensure consistency, explainability, and auditability:

    1. Zero Trust (always verify)

    2. Least Privilege (grant only the minimum authority required for operations)

    3. Policy-Driven Control (dynamic evaluation based on purpose of use and context)

    Taking interoperability and governance into consideration, the design incorporates the verification and explainability of semantics and ontology, lifecycle management, and transparent lineage.

    The security perspective within each layer is organized as follows:

    • Semantics Layer (L4): Clarify the responsibilities of destination resolution and semantic resolution, and operate with a role-separated interface and a trust verification framework. Semantics and ontology are managed based on minimization, anonymization, and appropriate handling policies, and provenance and auditability are ensured through explainability, propagation of changes and revocations, and observability metrics. Flexibility for extensibility in accordance with OWA is maintained while governance of interoperability is considered.

    • Identity Layer (L3): Identification, authentication, and authorization are designed within a framework that realizes zero trust and least privilege, supporting dynamic access control based on attributes and relationships. Data providers' usage control is technically supported through policy-driven and context-based decision-making. The design ensures consistency and auditability through the separation of policy evaluation and enforcement.

    The principles of the security perspective are premised on not being limited to technical measures, but on integrating the allocation of responsibilities among participants, operational rules, and audit and evaluation frameworks presented in the governance perspective. Governance to ensure interoperability, fairness, protection of trade secrets, and legal compliance is clearly defined, and flexibility to accommodate future expansion and technological evolution is maintained.

    The Trust Perspective adopts Trust by Design as its fundamental principle, treating trust not as an assumption but as a design targeta design target. Not only within specific domains, but in data management across enterprises and national boundaries, trust is a quality that should be constructed through design. This is why ODS-RAM explicitly separates the Trust Perspective (P4) from the Identity Layer (L3).

    ODS-RAM decomposes identity into three elements, assigning different responsibilities to each:

    • Identity Proofing: Guarantees that the entity exists in the real world. That is: which real-world individual or organization does this entity correspond to?

    • Authentication: Confirms the entity's claim. That is: is this entity the owner of the claimed identity?

    • Authorization: Permits actions based on the relationship between the entity and the resource. That is: is this entity permitted to perform this operation on this resource right now?

    The most important thing in the Trust Perspective is not to equate an "authenticated entity" with a "trustworthy entity".

    In Open Dataspaces, the required trust level is agreed upon according to the risks and purposes of distributed data management, and a purpose-appropriate trust structure is constructed by combining means such as verification, signing, and timestamping. This enables Open Dataspaces to realize not complete unification, but trust interconnection based on order and a benign discipline.

    Transaction Layer (L2): Consistent control from discovery through transfer and audit trail management is provided through endpoint routing, request intermediation, and the technical reflection of policy automation and agreement conditions. Transparency and reliability of control flow are considered from operational and governance perspectives.
  • Data Layer (L1): Data confidentiality, integrity, and quality in accordance with the selective application of CWA are design priorities, with data handling policies, tamper-detectable audit trails, and the assessability and referenceability of data quality systematically ensured. Data usage control and storage/revocation rules are explicitly defined, and a balance between use and protection is maintained.

  • Common Functions (Audit, Observability, Operations): Audit trail management to ensure transparency and traceability, definition of observability metrics, and frameworks for threat detection and incident response are incorporated into the overall design. Resilience requirements such as availability, business continuity, and network isolation are also considered at the design stage.

  • 4.1.2 Assumption of Service Classifications in ODS-RAM

    4.2 Governance Perspective (P2)

    4.2.1 Unified Meta Identifier (UMI)

    4.3 Security Perspective (P3)

    4.4 Trust Perspective (P4)

    Types of Service Models
    Service Map

    5. Protocols

    5.1 Types of Protocols

    Open Data Spaces Protocols (ODP) *2 are a set of technical agreements that provide the functionality to realize distributed data management and ensure interoperability. ODP consists of "Fundamental" and "Complementary" protocol groups. (Table 2)

    Table 2: Protocol Types in ODS-RAM

    Type
    Definition
    Adoption

    The following is a list of the protocols that constitute ODP. (Table 3)

    Table 3: List of Protocols

    Protocol
    Type
    Role

    ※ F = Fundamental (Mandatory), C = Complementary (Optional)

    Details: For detailed specifications of each protocol, please refer to ODP.


    Footnotes

    *2 Open Data Spaces Protocols.

    Data Trust Assessment

    F

    Interface that enables the assessment and calculation of data integrity and non-tamperability (does not include the assessment and calculation of integrity and non-tamperability themselves).

    Data Trustworthiness and Quality Assessment

    F

    Interface that enables the assessment and calculation of data quality and trustworthiness (does not include the assessment and calculation of quality and trustworthiness themselves).

    Transaction

    F

    Handles endpoint, process control and data transfer, establishing transactions as the junction point for each layer.

    Identity and Trust

    F

    Identifies participating entities and provides the trust foundation under which data exchange takes place only between legitimate entities and only with authorized access to legitimate resources.

    Metadata Exchange

    F

    Coordinates metadata related to the location and meaning of data, enabling data discoverability and semantic judgment in distributed environments.

    Discovery and Search

    F

    Enhances discovery and search capabilities based on metadata.

    Heuristic Contracting

    C

    Interface that supports the definition of usage and contractual terms and the formation of agreements through third-party electronic contracting applications (does not include the contract itself).

    Clearing and Payment

    C

    Interface that records, reconciles, and settles data transaction records and handles billing and payment through third-party electronic payment applications (does not include the clearing, billing, or payment functions themselves).

    Fundamental

    Specifications for providing the core functions required to realize Open Dataspaces; protocols that must be adopted to realize the functions of the corresponding layer or perspective

    Mandatory

    Complementary

    Specifications for providing supplementary functions required to realize Open Dataspaces; protocols that may be adopted as needed to realize the functions of the corresponding layer or perspective

    Optional

    Common Functionalities

    F

    Provides common functions including: "Versioning (managing changes to specifications, configurations, and components to maintain interoperability among participants under the same premises)," "Logging (enables comprehensive recording and analysis of system communication status, processing results of each service, and overall monitoring and operational status, based on three categories: communication logs, service logs, and processing logs)," "Monitoring (continuously monitoring and managing system health and performance by tracking the execution environment and service operational status from system logs)," and "Notifier (information notification for sharing updates and acknowledgment status related to data transactions between data providers and users)."

    Usage Control

    F

    Interface functionality that establishes a state in which data providers can self-determine the scope of provision, storage/usage conditions, and responsibility boundaries (does not include the Usage Control function itself).

    5.2 List of Protocols

    https://open-dataspaces.gitbook.io/ods-docs/

    Fundamental Protocols

    Introduction

    Purpose and Background

    This protocol specification document (Open Dataspaces Protocol: ODP) aims to provide an abstract specification of interoperable communication procedures (Protocol) that references the Open Data Spaces Reference Architecture Model (ODS-RAM) and aligns with its design principles. It translates the functions of each layer and perspective described in ODS-RAM into an abstract protocol specification, providing implementers with technical development guidelines grounded in its design philosophy. Furthermore, it seeks to deliver an abstract specification with extensibility and generality that, while presenting reference implementation examples, offers implementers flexibility in their choice of technology stack.


    Status of the Protocol Specification

    This protocol specification is established as the official normative protocol specification within the ODS ecosystem and will be continuously updated in accordance with revisions to the ODS-RAM and related documents.


    Scope

    This specification covers the following domains and corresponds to each layer and perspective defined in the ODS-RAM.

    ODS-RAM
    Protocol Name
    Protocol Category

    Figure 1 Relationship Between Layers and Perspectives in ODS-RAM


    The primary readers of this specification include:

    • System architects and engineers who design and operate Open Dataspaces

    • Developers implementing transaction connector, identity infrastructures, and semantic infrastructures

    • Data management departments engaged in cross-industry data collaboration

    Common Functionalities

    Fundamental

    L1

    Data Trustworthiness and Quality Assessment

    Fundamental

    L2

    Transaction

    Fundamental

    L3

    Identity and Trust

    Fundamental

    L4

    Metadata Exchange

    Fundamental

    L4

    Discovery and Search

    Fundamental

    P1

    Heuristic Contracting

    Complementary

    P1

    Clearing and Payment

    Complementary

    Research institutions, standardization bodies, and participants in pilot projects
  • Technical leaders of companies and municipalities participating in the ODS ecosystem

  • Common Functionalities

    Logging

    Fundamental

    Common Functionalities

    Monitoring

    Fundamental

    Common Functionalities

    Notifier

    Fundamental

    L1

    Intended Audience

    Relationship Between Layers and Perspectives in ODS-RAM

    Data Trust Assessment

    Open Data Spaces Protocols (ODP)

    This repository manages the official protocol specification (Normative Document) that technically clarifies interoperable communication procedures (Protocols), with reference to the Open Dataspaces Reference Architecture Model (ODS-RAM) and in alignment with its design principles.

    The purpose of this document is to translate the functional requirements defined in each layer of the ODS-RAM into concrete protocol specifications, thereby providing clear and implementable specifications to ensure consistent compliance by implementers.


    Each protocol is defined using a two-layer structure consisting of a logical definition (Protocol) and an implementation example mapped to a specific technology stack (Binding).

    • Protocol (Abstract Specification): Defines technology-agnostic logical message models, normative requirements, and state transitions.

    Protocol

    This protocol defines the logging function within ODS-RAM.

    Based on three categories—communication logs, service logs, and processing logs, the logging function aims to enable comprehensive recording and analysis of the system’s communication status, processing results of individual services, and overall monitoring and operational conditions. Each log category is designed and operated according to different retention requirements, security requirements, and intended purposes.

    • The logging function SHALL consistently provide the capability to record events that occur within the components of Open Dataspaces and that require recording, by attaching 5W1H information based on the requirements of each event.

    • When recording logs, mechanisms SHOULD be incorporated to appropriately protect information. In particular, for highly confidential information, mechanisms SHOULD be provided to implement measures such as tamper prevention.

    Logging

    Monitoring

    Binding (Concrete Specification): Describes implementation examples when mapped to actual communication mechanisms (e.g., HTTPS/JSON), including common headers and error mappings.

    Detailed API interface specifications (such as endpoints, detailed parameters, and schemas) are not included in this document. For implementation purposes, please refer to the separately published API Specification.


    Refer to the glossary of the ODS-RAM.


    • ODS-RAM(Japanese) / ODS-RAM(English)

    • Existing W3C Standards (RDF, JSON-LD, etc.)

    • OAuth 2.0


    Copyright of ODP belongs to IPA, METI, and NEDO. ODP was compiled and edited by IPA based on the outcomes of NEDO's "Project for the Development and Pilot of a Data Sharing System to Realize the Ouranos Ecosystem."

    This document (ODP) is provided under the Creative Commons Attribution 4.0 International (CC BY 4.0). Full license text: https://creativecommons.org/licenses/by/4.0/

    Components released as open-source software (OSS) SHALL follow the respective licenses defined in each repository.

    Overview

    Document Structure

    Terminology

    Related Standards and Documents

    Copyright

    License

  • Access to logs SHOULD be provided through standardized interfaces to ensure consistent access methods.

  • In this protocol, the logging function classifies roles into System Administrator, Security Administrator, Developer, and Auditor, and classifies logs into communication logs, processing logs, and service logs. For each category, roles and target information are defined to provide guidelines that address diverse system operation and monitoring needs.

    The following concepts are required for this protocol:

    Concept
    Description

    Data Provider

    An entity that sends data stored in a data store to a Data Consumer.

    Data Consumer

    An entity that receives data from a Data Provider.

    Payment Service

    An entity selected by the Data Provider outside this protocol to perform payment processing.

    Logs are classified into the following three categories:

    • Communication Log: Records messages (e.g., requests and responses) passing through the ODS and header information. The purpose is to monitor traffic and connection status and to detect anomalies.

    • Processing Log: Through real-time dashboards and operational monitoring tools, aims to monitor and improve operations by tracking the overall processing status of the system, error conditions, resource utilization, and related information.

    • Service Log: Records the processing results of individual integrated services or APIs. Service logs may include user processing details or confidential information, and appropriate protection may be required for certain information.

    The expected use of each log is as follows:

    • Communication Log

      • Monitoring traffic and connection status

      • Checking abnormal communications

      • Troubleshooting

      • Verifying records for regulatory compliance

    • Processing Log

      • Monitoring overall system processing status

      • Error detection and countermeasures

      • Performance analysis

    • Service Log

      • Understanding operational status of integrated services

      • Confirming appropriate protection of confidential information

    The logging function covers the following information for each category. Communication logs and service logs may contain users’ personal information or processing details and therefore may require appropriate protection.

    Communication Information Processed by the ODS System (Communication Logs):

    • Requests and responses of messages passing through the ODS.

    • In addition to message bodies, metadata (e.g., HTTP methods, HTTP headers, status codes).

    Operational Information within the ODS System (Processing Logs):

    • Overall system status and the results of each processing operation.

    • As specific information varies depending on the requirements and form of the target system, information SHALL be selected in consideration of system availability and operability.

    • Each piece of information SHALL be recorded in a format that enables aggregated monitoring.

    Information of Services Integrated with ODS (Service Logs):

    • Information related to various functions and processing results of each integrated service.

    • As services may include highly confidential information, appropriate protection is required.

    • All types of logs SHALL be recorded in a standard format (e.g., JSON, XML, CSV).

    • All types of logs SHALL include chronological information related to the originating event.

    • Highly confidential information contained in logs SHOULD be processed appropriately at the time of recording, such as through anonymization, according to service requirements.

    • Among logs, those whose reliability is directly related to service quality SHOULD be subject to tamper prevention measures. Examples of tamper prevention approaches include detection (e.g., hashing or digital signatures) and persistence (e.g., immutable storage or WORM (Write Once Read Many) media).

    • Log retention periods SHOULD be determined based on system requirements. This period may be constrained by audit or traceability requirements.

    • All types of logs MAY be stored in either centralized or distributed storage systems or databases, provided that consistent access mechanisms are ensured.

    • Log rotation mechanisms MAY be implemented to prevent excessive growth of log storage capacity by deleting past logs.

    • Communication logs SHOULD include the following key metadata:

      • Timestamp

      • Client IP address

      • Request address

      • Access method (e.g., HTTP GET, POST)

      • Status code (e.g., HTTP 200 OK)

      • Request/response headers (excluding confidential information)

      • Identifier for communication log tracing (e.g., X-TrackingID)

    • Processing logs SHOULD include the following:

      • Resource utilization status (CPU, memory, disk capacity, etc.)

      • Type and content of errors that occurred

    • Mechanisms to integrate processing logs with external services SHOULD be provided.

    • Service logs SHOULD include the following:

      • Processing results of each service (success/failure)

      • Service identifiers for tracing each service

    Overview

    Abstract Normative Specification

    Concepts and Roles

    Scope

    Normative Requirements

    Common

    Communication Logs

    Processing Logs

    Service Logs

    Protocol

    This protocol defines the monitoring function within ODS-RAM.

    The monitoring function continuously tracks the operational status of data transactions and provides functionality for the early detection of anomalies and failures. Based on data collected and aggregated through the logging function, this function enables real-time status awareness, system visualization, and early detection of anomalies.

    • The system SHALL provide the capability to calculate metrics from data collected by the logging function.

      • Rationale: To enable appropriate monitoring of various conditions.

    Protocol

    This protocol is a Fundamental Protocol corresponding to the L1 "Data Trust Assessment" of ODS-RAM, and is responsible for "an interface that enables the assessment and calculation of data integrity and non-tamperability (not including the functionality of the assessment and calculation of integrity and non-tamperability itself)."

    The "Data Trust Assessment" Protocol Specification is scheduled for public release in fiscal year 2026.

  • Verifying compliance with internal operational rules

  • Analyzing processing results of APIs and services
  • Confirming evidence of processing activities

  • Overview

    OpenID Connect
    ISO/IEC Directives, Part 2 (Edition 9)

    Data Trust Assessment (L1)

    Notifier

    The system SHOULD provide dashboards for the visualization of metrics.

    • Rationale: To improve visibility of system status and usability.

  • The system MAY provide functionality to notify users or intervene in the system when metrics meet user-specified conditions.

  • The following concepts are required for this protocol:

    Concept
    Description

    Data Provider

    An entity that sends data stored in a data store to a Data Consumer.

    Data Consumer

    An entity that receives data from a Data Provider.

    Payment Service

    An entity selected by the Data Provider outside this protocol to perform payment processing.

    The scope of monitoring covers each module that composes Open Dataspaces.

    The primary targets of this monitoring function are as follows. As Open Dataspaces handles sensitive data, in addition to general data persistence functions, evidence and trace information are also included as monitoring targets.

    • Communication Status of Integrated Services and APIs: Monitors traffic volume, error rates, response times, and related metrics based on communication data passing through the system and its communication history. Also manages the number of requests, success rates, types of failures, and processing times for each integrated service or API.

    • System Resource Status: Monitors resources such as CPU, memory, disk capacity, and network bandwidth. If thresholds defined by the system or services are exceeded, anomalies are detected and alerts are issued. Based on collected data, periodic reports and trend forecasts may be generated to support operational improvement activities.

    • Security Status and Audit: Through monitoring system components such as networks and processes, as well as the behavior of individual functions, detects behavior that deviates from normal behavior from a security perspective at an early stage. Also provides functionality for audit evidence purposes.

    • External interfaces SHOULD be provided through APIs with consideration for integration with other operational management tools and AI-based analysis services.

    • The system SHOULD provide dashboards for visualizing metrics. Users MAY be allowed to customize dashboards.

    • When monitoring metrics and detecting anomalies, the system SHOULD notify the System Administrator. The purpose of anomaly detection includes not only monitoring service operation status but also monitoring system security status. Thresholds MAY be set for various metrics as a means of anomaly detection.

      Examples of metrics include:

      • Service downtime

      • Response time and error rates in requests or service processing

      • System resources

      • Communication volume from specific IP addresses

      Examples of notification methods include:

      • Email

      • Instant messaging

      • System integration using webhooks

    • When anomalies are detected, the system MAY provide functionality to automatically intervene in the system by operating system resources or processes. However, the target systems and scope of intervention MUST be defined in advance. Security policies and permission scopes configured by the System Administrator MUST be complied with. Details of interventions MUST be recorded in logs for audit purposes and MUST be traceable as response history.

      • Rationale: To maintain service continuity at the time of anomaly detection while minimizing unnecessary intervention and potential security risks.

    • Metrics MAY be stored separately from logging data. In such cases, traceability with logging information SHOULD be ensured using timestamps and trace IDs.

      • Rationale: To improve the efficiency of metric management while maintaining consistency with logging information, thereby enhancing data traceability and analytical accuracy.

    • The system MAY provide functionality to generate reports for external audits based on the collection and processing of service-specific logs.

    Overview

    Abstract Normative Specification

    Concepts and Roles

    Scope

    Normative Requirements

    Protocol

    The Notifier provides functionality for delivering notifications containing information to be shared between data providers and consumers regarding updates and receipt status related to data transactions.

    This layer covers the following domains:

    • Notification Destination List Management Provides functionality for managing notification destination lists required when a Data Provider notifies Data Consumers of the registration, update, or deletion of provided data.

    • Notification Management Provides functionality for managing notifications issued by Data Providers and for enabling Data Consumers to review notification information.

    Binding

    This section describes a concrete communication binding (e.g., HTTPS, file transfer, WebSocket). All content in this section is non-normative and provided as an example implementation.

    • This protocol uses HTTPS (TLS 1.2 or higher) and communicates via RESTful HTTP request/response.

    • Endpoints: HTTP methods (GET, POST, PUT, DELETE) are used against specified URIs.

    Data Trustworthiness and Quality Assessment (L1)

    Transaction (L2)

    The following concepts are required for this protocol.
    Concept
    Description

    Data Provider

    An entity that sends data stored in a data store to a Data Consumer.

    Data Consumer

    An entity that receives data from a Data Provider.

    • Management of notification destination lists related to data provision within Open Dataspaces

    • Management of notifications related to data provision within Open Dataspaces

    • Notification destination lists SHALL be managed per Data Provider, and SHALL NOT be shared or mixed between different Data Providers.

      • Rationale: To ensure independence and security of notification configurations for each Data Provider.

    • The system MAY provide functionality to register, update, or delete multiple notification destinations in bulk, as necessary.

      • Rationale: To reduce operational burden and improve administrative efficiency.

    • If stored data is encrypted, standard cryptographic techniques, including those recommended by CRYPTREC, MAY be referenced and adopted as necessary.

      • Rationale: To allow consideration of encryption technologies in accordance with operational requirements.

    • Notification management SHOULD be performed based on authentication and authorization using identity information of Data Providers and Data Consumers derived from authentication credentials.

      • Rationale: To ensure consistency with the requirements of the L2 and L3 layers and to enforce access control for notification information.

    • The system MAY provide functionality to register, update, or delete multiple notifications in bulk, as necessary.

      • Rationale: To reduce operational burden and improve administrative efficiency.

    • If stored data is encrypted, standard cryptographic techniques, including those recommended by CRYPTREC, MAY be referenced and adopted as necessary.

      • Rationale: To allow consideration of encryption technologies in accordance with operational requirements.

    • This function is assumed to be used via Transaction(L2).

    • This function is assumed to use tokens issued by the Identity & Trust(L3)t.

    Type
    Sender ⇒ Receiver
    Description

    Request

    Client (Transaction(L2)) ⇒ Server (Notifier)

    A message sent by the client to execute functions of the Notifier. Includes authentication information and request parameters.

    Response

    Server (Notifier) ⇒ Client (Transaction(L2))

    A message sent by the server in response to a request. Includes processing results and error information.

    The message exchange sequence when using the Notifier is shown below.

    This section describes the error handling used in this protocol.

    Error Type
    Description
    Handling

    Invalid Request

    Returned when parameters are invalid or required fields are missing.

    Verify input values, correct them, and resend the request.

    Token-related Error

    Returned when the access token is not set or is invalid.

    Reacquire and reset the access token (re-login or token refresh if necessary) and resend the request.

    • CRYPTREC Cryptographic List: https://www.cryptrec.go.jp/list/cryptrec-ls-0001-2022r1.pdf

    Overview

    Abstract Normative Specification

    Concepts and Roles

    Scope

    Normative Requirements

    Notification Destination List Management

    Notification Management

    Non-functional / Cross-layer Requirements

    Message Types

    Protocol Flow

    Error Handling

    References

    Data Format: Request and response bodies use JSON format.
  • Authentication and Authorization: OAuth 2.0-based token authentication is used.

  • Security Requirements: TLS 1.2 or higher is required to ensure encrypted communication.

  • For each field used in this binding, the following information is provided:

    • Field Name: Name used within this binding

    • Type: Data type (e.g., integer, string)

    • Requirement: Usage condition of the field

      • R = Required

      • C = Conditional

      • O = Optional

    • Request: Used in request messages

    • Response: Used in response messages

    • Description: Meaning and usage of the field

    Field Name
    Type
    Required
    Request
    Response
    Description

    x-notifier-api-key

    String

    R

    ✔

    Since the Request and Response fields differ for each function of this protocol, refer to the API Specification.

    For detailed implementations such as Sent by, Resulting state(s), Request, Response, Examples, Error lists, and API-specific field definitions, refer to the API Specification.

    Category
    Function
    Description
    API Specification

    Notification Destination List

    Register / Retrieve / Update / Delete Notification Destination List

    Performs operations related to notification destination lists required when a Data Provider notifies Data Consumers.

    (Reference URL)

    Notification Management

    Concrete Specification

    Prerequisites

    Field Definitions

    Header Field Definitions

    Payload Field Definitions

    Functional Description

    Sequence Diagrams

    Notification Destination List Create / Update / Retrieve / Delete

    Notification Register / Update / Retrieve / Delete

    Notification Review and Confirmation Status Update

    Data Receipt and Receipt Status Update

    Binding

    • This protocol uses HTTPS (TLS 1.2 or higher) and communicates via RESTful HTTP request/response.

    • Endpoints: HTTP methods (GET, POST, PUT, DELETE) are used against specified URIs.

    • Data Format: Request and response bodies use JSON format.

    For each field used in this binding, the following information is provided:

    Protocol

    This protocol is a Fundamental Protocol corresponding to the L1 "Data Trustworthiness and Quality Assessment" of ODS-RAM, and is responsible for "an interface that enables the assessment and calculation of data quality and trustworthiness (not including the functionality of the assessment and calculation of quality and trustworthiness itself)."

    The "Data Trustworthiness and Quality Assessment" Protocol Specification is scheduled for public release in fiscal year 2026.

    Insufficient Authorization

    Returned when required permissions are lacking.

    Notify that the operation is not permitted. Do not resend, as it will not succeed.

    Resource Not Found

    Returned when the specified resource does not exist.

    Notify that the resource does not exist. Do not resend, as it will not succeed.

    Data Inconsistency Error

    Returned in cases such as duplicate data or concurrency control conflicts.

    Retrieve the latest data, resolve conflicts, and resend the request.

    Invalid Request Format

    Returned when an unsupported request format is specified.

    Set the correct Content-Type and resend the request.

    System Error

    Returned when an internal server error occurs.

    If it occurs continuously, notify the system administrator. Whether to resend depends on the operation performed.

    Specifies the API key issued per client application. ODS-specific field.

    Authorization

    String

    R

    ✔

    Specifies the access token. Example: Bearer .

    Content-Type

    String

    R

    ✔

    ✔

    Specifies the request format.

    User-Agent

    String

    R

    ✔

    Specifies the client user agent.

    Accept-Language

    String

    O

    ✔

    Specifies the client’s preferred language.

    X-TrackingID

    String

    R

    ✔

    ✔

    Specifies a unique ID used for request tracing. ODS-specific field.

    Content-Security-Policy

    String

    R

    ✔

    Specifies content loading and execution policies and controls allowed script and resource origins.

    X-Content-Type-Options

    String

    R

    ✔

    Prevents MIME-type sniffing by browsers and enforces the declared Content-Type.

    Strict-Transport-Security

    String

    R

    ✔

    Enforces HTTPS connections for a specified period and prevents downgrade to HTTP.

    Cache-Control

    String

    R

    ✔

    Specifies cache control mechanisms.

    ETag

    String

    C

    ✔

    Specifies a resource version identifier. Mandatory in responses to GET requests.

    Last-Modified

    String

    C

    ✔

    Specifies the last modified date and time of the resource. Mandatory in responses to GET requests.

    Register / Retrieve / Update / Delete Notifications

    Performs operations related to notification content issued by Data Providers.

    (Reference URL)

    Notification Management

    Update Notification Confirmation Status

    Allows a Data Consumer to update the confirmation status of a notification.

    (Reference URL)

    Notification Management

    Update Data Receipt Status

    Allows a Data Consumer to update the receipt status of data.

    (Reference URL)

    Overview

    Identity and Trust (L3)

    Bibliography

    Dehghani Z. (2019). How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh.

    Dehghani Z. (2022). Data Mesh: Delivering Data-Driven Value at Scale. O’Reilly Media.

    Franklin M, Halevy A, Maier D. (2005). From databases to dataspaces: a new abstraction for information management.

    Halevy A, Franklin M, Maier D. (2006). Principles of Dataspace Systems.

    Metadata Exchange (L4)

    Discovery and Search (L4)

    • Field Name: Name used within the protocol

    • Type: Data type (e.g., integer, string)

    • Requirement:

      • R = Required

      • C = Conditional

      • O = Optional

    • Request: Used in request messages

    • Response: Used in response messages

    • Description: Meaning and usage of the field

    During communication, the following header fields are required from the client. Any headers not listed below are optional and are not processed by the Web API Transfer Module.

    Field Name
    Type
    Required
    ODS-specific
    Request
    Response
    Description

    API-Key

    String

    C

    The Web API Transfer Module adopts a transparent API gateway approach. Since the payload structure depends on the API specification provided by the Data Provider, refer to the relevant Data Provider system specification for detailed payload definitions.

    For error responses, the following JSON payload is returned:

    Field Name
    Type
    Format
    Description

    code

    String

    [prefix] {Error Status}

    Error code including a prefix. Prefix values are as follows: - dataspace: Error occurred within the Web API Transfer Module - auth: Authentication or authorization-related error

    message

    Example:

    The Web API Transfer Module adopts a transparent API gateway approach and is limited to routing functionality. It does not provide payload parsing or model transformation capabilities. The Web API Transfer Module intermediates communication between Data Consumer applications and Data Provider systems and provides Policy Enforcement Point (PEP) functionality for token validation and authorization control in coordination with the Identity Component.

    The Transaction Layer provides the following functions:

    Category
    Overview
    Description

    Routing

    Provides routing functionality as a transparent API gateway.

    Routing rules are registered as "routes" to mediate between Data Consumers and Data Providers. Each route forwards requests to the target system API based on request conditions (path, method, headers, etc.). By modifying route configurations, destinations and conditions can be dynamically added or updated. During routing, the Web API Transfer Module performs necessary processing (e.g., generating a UUID if X-TrackingID is not included in the request header, rewriting headers, etc.).

    Authentication Control

    Performs client authentication.

    Two authentication mechanisms are supported: - API Key Authentication: Validates the "API-Key" request header within the Web API Transfer Module. - OAuth 2.0 / OpenID Connect Token Introspection: Validates the access token in the "Authorization" request header in coordination with the Identity & Trust(L3). If validation fails or the token is expired, the module returns an HTTP 401 Unauthorized response with a JSON error payload. By separating authentication control from business logic, responsibilities are clearly defined, maintainability is improved, and changes to authentication mechanisms have minimal impact on the gateway.

    Seq No.
    Description

    1

    The client (Data Consumer) sends an HTTP request to the Web API Transfer Module to execute a Data Provider API.

    2

    The Web API Transfer Module validates the API key. If valid, it sends an HTTP request to the token introspection endpoint of the Identity Component to verify the access token. If X-TrackingID is not included in the request header, a new UUID is generated.

    3

    The Identity Component validates the token and returns the validation result (e.g., validity, scope).

    Concrete Specification

    Prerequisites

    Field Definitions

    {
      "code": "[dataspace] BadRequest",
      "message": "Invalid request parameters",
      "detail": "2025-12-17T04:37:18.189972258Z"
    }

    Header Field Definitions

    Payload Field Definitions

    Functional Description

    Sequence Diagram

    Sequence Description

    Protocol

    Overview

    This protocol is responsible for endpoint and process control as well as data transfer, and provides functionality that enables transactions to be established as the nexus connecting each layer.

    The core component group of this protocol, referred to as the Transaction Component, serves as the junction point among protocols defined in ODP. It communicates with each layer and perspective (Common Functionalities, Fundamental Protocols, and Complementary Protocols).

    This protocol defines the following transaction management.

    • Data transfer

      Provides functionality to transfer data from a data store endpoint in response to requests from a Data Consumer.

      To support data transfers across different data structures (structured / unstructured) and processing modes (synchronous / asynchronous), the data plane modules are logically classified into the following four types:

      • Web API Transfer Module

        A data plane module specialized for transferring synchronous structured data (e.g., Web APIs).

      • Stream Transfer Module

        A data plane module specialized for transferring asynchronous structured data (streaming data).

    • Authentication and Authorization Integration

      Provides request-level authentication and authorization control in coordination with a credential issuance service and the Identity & Trust(L3).

    • Logging Records historical information and information required for clearing and payment (DCS) in coordination with Logging (Common Functionalities).

    The following concepts are required for this protocol:

    Concept
    Description

    This specification defines the Web API Transfer Module as a minimum implementation example.

    • Data transfer within Open Dataspaces SHALL be performed through a data plane module.

      • Rationale: To ensure reliability and interoperability within Open Dataspaces.

    • The architecture SHOULD maintain extensibility to support multiple data structures and transfer methods.

    • The module SHOULD integrate with the Identity & Trust(L3) to perform request-level authentication and authorization control.

      • Rationale: To ensure consistent access control, security, and interoperability across Open Dataspaces.

    • The module SHOULD be capable of recording the minimum data required by Dataspace Complementary Services (DCS).

    The protocol handles the following types of messages:

    Type
    Sender ⇒ Receiver
    Description

    Messages exchanged in this protocol consist of the following elements:

    Element
    Description
    No.
    Name
    Sender
    Receiver
    Field
    Description

    This section describes the states handled by this protocol.

    State
    Description

    This section describes the error handling used in this protocol.

    Error Type
    Description
    Occurrence Timing
    Handling

    1. Introduction

    This chapter describes the purpose, intended readers, and scope of ODS-RAM.

    1.1 Purpose and Significance

    "Open Data Spaces (ODS)" is an open and scalable foundation for distributed data, built on organizational and national diversity by design. “Open Dataspaces” as a general term in this document refers to a new-generation distributed data management approach and its constituent concepts. Its design draws on the original dataspace papers in the U.S. (Franklin et al., 2005; Halevy et al., 2006) and data mesh (Dehghani, 2019; Dehghani 2022) as its core, and incorporates verification through collaborative R&D with private companies and industry groups at a commercial level.

    This document is a reference (Reference Architecture Model) presenting the technical paradigm for users of open dataspaces technology, including a layered structural model for ensuring interoperability. To realize the three pillars of the distributed architecture, Open Dataspaces adopts three core design principles: (1) Vendor-agnostic, (2) Institution-agnostic, and (3) Product-Like, Service-Oriented Design:

    1. Vendor-agnostic: Open Dataspaces assumes multi-cloud and cloudless operation and adopts a vendor-agnostic design that does not depend on any specific company’s services or products.

    2. Institution-agnostic: Open Dataspaces explicitly separates the institutional and regulatory requirements of specific jurisdictions from its technical specifications. It is designed for localization under various institutions and regulations and provides an architectural paradigm and technical specifications that are adaptable globally.

    3. Product-Like, Service-Oriented Design: The problems to be solved and the functional requirements always reside in the market. Essential needs do not lie in legal systems, regulations, or the products of specific vendors. Designers must work backwards from the innovations the market latently demands and pursue Product Market Fit (PMF) through agile validation. Rigid technical specifications become obsolete, and the market rejects them. Open Dataspaces places high importance on the question of whether something contributes to Make Money, Save Money.

    This document aims to ensure cross-cutting interoperability toward the realization of "Data Free Flow with Trust (DFFT)" *1 and to serve as a common reference model for distributed data management.

    The primary readers of this document is engineers involved in the adoption, implementation, and planning of data management and AI-related technologies across a wide range of domestic and international industries:

    • Architects and technical leads at companies responsible for deploying open dataspaces technologies

    • Architects and technical leads at software companies and their technical divisions seeking to implement distributed data management services leveraging open dataspaces technologies

    • Developers, academics, students, and others who wish to explore open dataspaces technologies.

    Readers are expected to have a foundational knowledge of data management technology and business development.

    This document is also intended to be referenced as a meta-architecture when designing new architectures or evaluating existing architectures for the adoption of distributed data management technologies across enterprises, industries, and national borders.

    This document addresses technical approaches to distributed data management and covers the following items as a Reference Architecture Model:

    In Scope:

    Item
    Description

    Out of Scope: ODS-RAM is not a reference architecture that encompasses all data management, and therefore not all projects need to reference this document. This document also does not cover the following topics:

    • Explanation of design philosophy and architectural paradigms

    • Fundamental principles and industry requirements for architectural design (e.g. context catalog)

    • Implementation and practices related to specific products and vendor-provided services

    Table 1 Reference Documents

    Document Name
    Reference Purpose
    URL

    Footnotes

    1 Proposed at the World Economic Forum Annual Meeting (Davos Forum) in Geneva, Switzerland in 2019, and incorporated into the Leaders' Declaration with the support of heads of state at the G20 Osaka Summit in June 2019. Digital Agency. Overview of DFFT.

    Protocol

    Identity & Trust (L3) provides functionality that identifies participating entities and establishes the trust foundation ensuring that data exchange occurs only between legitimate entities and with authorized access to legitimate resources.

    This protocol covers the following domains:

    • Authentication

      Identifies and authenticates both natural persons (Human) and systems (Machine) as subjects, and enables authentication appropriate to the operational context.

    Protocol

    This protocol is a fundamental protocol that corresponds to ODS-RAM L4 Metadata Exchange and facilitates the exchange of metadata relating to the location and semantics of data, enabling data discoverability and semantic interpretation in distributed environments.

    RDF (Resource Description Framework) is adopted as the information model for metadata, and JSON-LD and Turtle are adopted as data model formats. By publishing this metadata, providers of data and services enable easier discovery, interpretation, and utilization of data and services. Furthermore, by using higher-level protocols such as Discovery and Search on top of this foundational protocol, even if data and services are distributed across a network, the entire Open Dataspaces can function transparently as a single system. This metadata is primarily intended to associate real-world entities such as mobility and supply chains with access to data and services in the cloud; however, the former is not mandatory.

    Through the mandatory metadata concerning services and access, the external specifications of services are grounded in a globally resolvable manner, and the necessary information for access, including destination information, becomes explicit.

    These metadata components are constructed on the side of general web application servers and clients. A metadata server statically or dynamically retrieves metadata from an application server.

    Binding

    • This protocol uses HTTPS (TLS 1.2 or higher) and communicates via RESTful HTTP request/response.

    • Endpoints: HTTP methods (GET, POST, PUT, DELETE) are used against specified URIs.

    • Data Format: Request and response bodies use JSON format.

    Glossary

    • Asynchronous processing A form of communication — such as batch processing, file transfer, and streaming — in which processing continues without waiting for the result of an external call, and the result is received via a callback or similar mechanism. The receiving side continues to receive data until the calling side stops processing.

    • Backward compatibility A state in which a newer means within the same family encompasses (is compatible with) the specifications and functions of older means.

    Protocol

    This protocol is a fundamental protocol that corresponds to ODS-RAM L4 Discovery and Search and is responsible for the advancement of discovery and search based on metadata, and performs resource discovery and endpoint resolution using information published on the Metadata Exchange.


    Role
    Description

    Binding

    This section describes definitions when mapped to an actual communication method (e.g., HTTPS, file transfer, WebSocket). All content described below is non-normative (examples).

    • Communication protocol: HTTPS (TLS 1.2 or higher)

    • Message format: JSON-LD

    • Encoding: UTF-8

    Closed World Assumption (CWA)
    A principle in which, if a piece of information does not exist in a knowledge base, that information is regarded as "false." This is the assumption underlying relational databases and general DBMS.
  • Common Functionalities A set encompassing the basic protocols for ensuring interoperability across dataspaces. Includes versioning, logging, monitoring, notifier, and similar functions.

  • Complementary Protocol Specifications for providing supplementary functions required to realize Open Dataspaces; protocols that may be adopted as needed to realize the functions of the corresponding layer or perspective.

  • Core services Within DFS, services within DFS that provide, as managed services, the core components playing a central role in each of layers L1 through L4.

  • Data Free Flow with Trust (DFFT) A concept that aims to promote internationally free data flows in which data beneficial to business and societal challenges can move freely across borders without constraint, while ensuring trust with respect to privacy, security, and intellectual property rights.

  • Data Layer (L1) The layer that addresses the problems of data usage control, data tampering, and data quality.

  • Data provider An entity that provide data and exercises usage control over it. The data provider self-determines the storage and usage conditions to be applied when granting permission for data use.

  • Data user An entity that uses data. Data users comply with the self-determination of data providers and acquire, store, and use data within the scope of the storage and usage conditions set by the data provider.

  • Dataspace Complementary Services (DCS) Services that provide, as managed services, the technical implementations of the functions required to realize the complementary protocol requirements defined in ODP.

  • Dataspace Fundamental Services (DFS) Services that provide, as managed services, the technical implementations of the functions required to realize the fundamental protocol requirements defined in ODP.

  • DSSP (Dataspace Service Provider) A managed service for the basic software stack constituting the DPQM, provided by an intermediary on behalf of domain owners.

  • Enterprise data A collective term for all data — regardless of whether structured or unstructured — that an organization generates, acquires, processes, uses, transfers, provides, stores, and disposes of in the course of its economic activities.

  • Federated service model A model in which an managed service provider (intermediary) delivers the basic software stack that constitutes DPQM on behalf of the domain owner, while the domain owner retains responsibility for providing Data/Ontology Product

  • Fundamental Protocol Specifications for providing the core functions required to realize Open Dataspaces; protocols that must be adopted to realize the functions of the corresponding layer or perspective.

  • Governance Perspective (P2) A perspective that establishes common rules and policies to achieve specific objectives within the ecosystem, and performs cross-cutting management, oversight, and administration.

  • Hybrid Service Model (HSM) A hybrid of the distributed service model and the federated service model. A service model in which both approaches coexist: domain owners onboarding voluntarily under loosely defined rules, and onboarding via DSSP intermediation.

  • Identity Layer (L3) The layer that addresses the problems of authentication and authorization.

  • Industry Service (IS) Services that provide business applications and business platforms specialized for specific industries and domain use cases.

  • Intermediary An entity that provides managed services as DSSP on behalf of data providers and data users who are unable to build and operate their own environments.

  • Layers Logical tiers into which the dataspace is separated according to functional purpose.

  • Logging A function that enables comprehensive recording and analysis of system communication status, processing results of each service, and overall monitoring and operational status, based on three categories: communication logs, service logs, and processing logs.

  • Monitoring A function for continuously monitoring and managing system health and performance by tracking the execution environment and service operational status from system logs.

  • Notifier A notification function for sharing updates and acknowledgment status related to data transactions between data providers and data users.

  • Open Data Spaces (ODS) An open and scalable foundation for distributed data, built on organizational and national diversity by design.

  • Open Data Spaces Protocols (ODS Protocols: ODP) A set of technical specifications that provide the functions realizing distributed data management and ensure the interoperability of Open Dataspaces.

  • Open World Assumption (OWA) A principle in which, if a piece of information does not exist in a knowledge base, that information is regarded as "neither true nor false (unknown)." This is the assumption underlying Semantic Web technologies such as RDF/OWL.

  • Perspectives Logical viewpoints that fulfill cross-cutting functions across the ecosystem encompassing the entirety of Open Dataspaces.

  • Reference implementation Hardware or software that realizes a certain function and is created for the purpose of helping others implement it independently using it as a reference.

  • Schema-first A methodology in which a schema is defined in advance and data is entered in conformance with that definition. Synonymous with Schema-on-write.

  • Schema-flexible A methodology premised on the absence of a pre-defined schema or the existence of multiple different pre-defined schemas, in which analysis is performed based on metadata and similar information only when data is read, and the data is made to conform to a schema as needed. Synonymous with schema-on-read.

  • Security-by-Design An approach to ensuring security from the planning and design stages.

  • Security Perspective (P3) A perspective that presents the security requirements and measures required in whole or in part within the ecosystem.

  • Semantics Layer (L4) The layer that addresses the problems of addressability and semantics.

  • Service Perspective (P1) A perspective that bridges the technical domain — encompassing functions and operations — with the business domain.

  • Structured data Formalized data such as web API request/response data, database transfers, and message queues. Premised on being read by systems, with schema structure as the priority, based on clear type definitions using Open API, Async API, and similar standards.

  • Synchronous processing A form of communication — such as API request/response — in which processing waits until the result of an external call is received. Processing terminates upon completion of the transmission and reception of the specified data.

  • Transaction component The core component of the transaction layer (L2) used by data providers when transmitting data.

  • Transaction Layer (L2) The layer that addresses the problems of modal, query, and protocol.

  • Trust Perspective (P4) A perspective that presents the trust requirements and measures required in whole or in part within the ecosystem.

  • Unified Meta Identifier (UMI) An identifier developed in a form that abstracts identifier systems that have been individually optimized within enterprises and industries and exist as heterogeneous systems.

  • Unstructured data Data with diverse formats — such as images, video, audio, drawings, and log data — that has a free structure not bound by a fixed schema.

  • Versioning A function that manages changes to specifications, configurations, and components to maintain interoperability among participants under the same premises.

  • ✔

    ✔

    Specifies the API key issued per client application.

    Authorization

    String

    R

    ✔

    Specifies the access token. Example: Bearer

    X-TrackingID

    String

    C

    ✔

    ✔

    ✔

    Specifies a unique ID used for request tracing. If not provided by the client, the Web API Transfer Module automatically generates a UUID. Depending on the integrated function, this field may become mandatory (e.g., when integrating with clearing and payment services).

    X-ODS-xxx

    String

    O

    ✔

    ✔

    Extension header used for internal ODS control. For example, it may be used for log-based consistency verification in a clearing and payment service (a type of Dataspace Complementary Service, DCS). Replace "xxx" with an arbitrary identifier (e.g., X-ODS-UserId).

    String

    {Error Message}

    Detailed error message

    detail

    String

    {Timestamp}

    Timestamp in ISO 8601 UTC format

    Authorization Control

    Operates as a Policy Enforcement Point (PEP).

    As a PEP, it coordinates with the Identity & Trust(L3) acting as the Policy Decision Point (PDP) to perform authorization control. Integration with the authorization function (OpenFGA) is achieved via the AuthZEN API. Since authorization requirements vary by use case, authorization control can be enabled or disabled by configuration.

    Logging

    Outputs logs required for ODS platform operation and maintenance.

    Logs include routing information, traffic information, and data required for integration with Dataspace Complementary Services (DCS). Logged information includes: Request phase: request source information, request destination information, API information, request received time, request sent time, X-TrackingID, X-ODS-xxx headers. Response phase: response received time, response sent time, X-TrackingID, status code.

    Route Persistence

    Persists route information required for routing.

    - Persist route information in a database to prevent loss upon restart. Persisted routes are loaded when the Web API Transfer Module starts. - Manage route information per use case. When multiple use cases share a single database instance, routes are separated using database schemas. The Web API Transfer Module specifies the schema in the database connection configuration to retrieve the appropriate route information.

    File Transfer

    Supports file transmission through the Web API Transfer Module.

    - File Retrieval: Retrieves file-based data (typically several MB in size) from a connected system via the Web API Transfer Module. - File Transmission: Transfers file-based data (typically several MB in size) to a connected system via the Web API Transfer Module.

    Portability

    Operates on a container platform.

    Designed to run on container infrastructure and does not depend on specific cloud services.

    4

    The Web API Transfer Module sends an HTTP request to the authorization check endpoint to verify whether the requested operation is permitted.

    5

    The Identity Component evaluates access rights based on policy and returns the authorization result.

    6

    If authentication and authorization succeed, the Web API Transfer Module forwards the HTTP request to the Data Provider API endpoint.

    7

    The Data Provider processes the request and returns the result to the Web API Transfer Module.

    8

    The Web API Transfer Module transparently returns the API result to the client.

    File / Bulk Transfer Module

    A data plane module specialized for transferring synchronous unstructured data (large files or bulk data).

  • Media Stream Transfer Module

    A data plane module specialized for transferring asynchronous unstructured data (real-time streaming data such as video or audio).

  • Rationale: Data distribution in Open Dataspaces involves diverse use cases, including structured / unstructured and synchronous / asynchronous patterns, and a single method cannot ensure interoperability and implementation flexibility.

  • A data plane module MAY be used directly without employing the Control Plane Orchestrator.

    • Rationale: To enable ease of adoption and phased deployment, and to preserve flexibility in implementation and operation.

  • Rationale: To enable information linkage with DCS.

    A message sent by the Data Consumer to the Web API Transfer Module to request a specific operation or information. Includes authentication information and request parameters.

    2

    Authentication and Authorization Request

    Web API Transfer Module

    Identity & Trust(L3)

    Request fields depend on the Identity & Trust(L3)specification. Refer to the Identity & Trust(L3)specification.

    A message sent by the Web API Transfer Module to the Identity & Trust(L3)to request authentication and authorization. Includes authentication information and request parameters.

    3

    Authentication and Authorization Response

    Identity & Trust(L3)

    Web API Transfer Module

    Response fields depend on the Identity & Trust(L3)specification. Refer to the Identity & Trust(L3)specification.

    A result message sent by the Identity & Trust(L3)to the Web API Transfer Module in response to a request. Includes authentication and authorization results, tokens, or error information.

    4

    Transfer Request

    Web API Transfer Module

    Data Provider

    Request fields depend on the target system specification. Refer to the specification published by the Data Provider.

    A message sent by the Web API Transfer Module to the Data Provider to request a specific operation or information. Includes authentication information (e.g., API key) and request parameters.

    5

    Provider Response

    Data Provider

    Web API Transfer Module

    Receives either a successful response or an error response returned by the Data Provider. Refer to the specification published by the Data Provider.

    A result message sent by the Data Provider to the Web API Transfer Module in response to a request. Includes API execution results or error information.

    6

    Consumer Response

    Web API Transfer Module

    Data Consumer

    The successful response or error response returned by the Data Provider is, in principle, passed through as-is. Refer to the specification published by the Data Provider.

    A result message sent by the Web API Transfer Module to the Data Consumer in response to a request. Includes API execution results or error information.

    Authorizing

    Performing authorization

    Processing

    Routing or proxying to the upstream system

    Rejecting

    Generating an error due to authentication or authorization failure

    Responding

    Returning a response (success or error) to the client

    Data Consumer ⇒ Web API Transfer Module

    The request is validated and an error response is generated and returned if invalid.

    API Key Error

    API key validation failure

    Data Consumer ⇒ Web API Transfer Module

    The API key is validated within the module and an error response is generated and returned if invalid.

    API Key Error (L3 Side)

    API key validation failure at the Identity & Trust(L3)

    Web API Transfer Module ⇒ Identity & Trust(L3)

    The response from the Identity & Trust(L3)is returned as is.

    Token-related Error (Authentication)

    Access token invalid or expired

    Web API Transfer Module ⇒ Identity & Trust(L3)

    Based on the token validation result, an error response is returned as is if invalid or expired.

    Insufficient Authorization

    Access denied by authorization decision

    Web API Transfer Module ⇒ Identity & Trust(L3)

    Based on the authorization decision result, an authorization error response is returned as is.

    Routing or Endpoint Error

    Destination cannot be determined due to unregistered route or path/method mismatch

    Web API Transfer Module

    An error response is generated and returned.

    External Connection Error

    Failure to connect to L3 or external system, or invalid response received

    Web API Transfer Module ⇒ Identity & Trust(L3)/ External System

    Upon detecting connection failure or invalid response, an error response is generated and returned.

    Timeout

    No response received from L3 or external system within the defined time

    Web API Transfer Module ⇒ Identity & Trust(L3)/ External System

    Upon detecting timeout, an error response is generated and returned.

    Internal Processing Failure

    Processing cannot be completed due to internal exception

    Web API Transfer Module

    The exception is handled and an error response is generated and returned.

    Data Provider

    An entity that sends data stored in a data store to a Data Consumer

    Data Consumer

    An entity that receives data from a Data Provider

    Request

    Data Consumer ⇒ Web API Transfer Module; Web API Transfer Module ⇒ L3 Identity Component; Web API Transfer Module ⇒ Data Provider

    A message sent to request data operations or authentication and authorization. It includes required header information and request parameters.

    Response

    Identity & Trust(L3)⇒ Web API Transfer Module; Data Provider ⇒ Web API Transfer Module; Web API Transfer Module ⇒ Data Consumer

    A message sent in response to a request. It includes operation results, authentication or authorization validation results, tokens, or error information.

    Header

    Located at the beginning of the message and contains metadata required for communication control.

    Payload

    Located in the body of the message and contains the business data.

    1

    Consumer Request

    Data Consumer

    Web API Transfer Module

    Idle

    Waiting for a request

    Receiving

    Receiving a request

    Authenticating

    Performing authentication

    External System Error (Transparent)

    Errors returned by an external system (4xx / 5xx specific to the external service)

    Web API Transfer Module ⇒ External System

    The external system response is returned as is.

    Invalid Request

    Abstract Normative Specification

    Concepts and Roles

    Scope

    Normative Requirements

    Non-functional / Cross-layer Requirements

    Message Types

    Message Format

    Protocol Flow

    Communication Flow

    Detailed Description of Each Communication

    State Machine

    States

    State Machine Diagram

    Error Handling

    Request fields depend on the target system specification. Refer to the specification published by the relevant Data Provider.

    Request cannot be processed due to missing required headers or invalid values

    Legal and regulatory compliance, and legal and governance practices
  • Requirements, analysis, and strategies for domain- or industry-specific use cases

  • Explanation of technical specifications, procedures for introducing OSS (open-source software), or usage of SDKs (software development kits)

  • Ecosystem and community formation

  • Open Data Spaces Introductory Guidebook for Users

    A guide for business practitioners and corporate planning staff at companies that use or implement data management and AI services, to evaluate entry into dataspace-related businesses from the perspectives of whether to enter, what roles they can fulfill, and how to approach initial investment

    Open Data Spaces Introductory Guidebook for Developers

    Aimed at engineers who are in a position to adopt, implement, or provide services based on Open Dataspaces technologies, this document organizes the foundational concepts and minimum configuration for beginning design, implementation, and operations

    Whitepaper: Ouranos Ecosystem Dataspaces Reference Architecture Model

    A whitepaper published in February 2025, presenting problem definitions and basic principles from the initial design stage, industry requirements (context catalog) as design inputs, and the component configuration

    Architecture Model

    An architectural structure consisting of four layers and four perspectives

    Protocol Requirements

    Requirements for protocols within each layer and perspective

    Why Open Dataspaces: Design Philosophy and the Architectural Paradigm (hereinafter "Design Philosophy")

    A document explaining the design philosophy and architectural paradigm of Open Dataspeces — a new technical paradigm for distributed data management across organizations, enterprises, and national borders

    https://www.ipa.go.jp/en/digital/architecture-guidelines/open-dataspaces-design-philosophy.html

    ODS Protocols (hereinafter "ODP")

    A set of technical specifications that provide the functions realizing distributed data management based on ODS-RAM and ensure the interoperability of open dataspaces

    https://open-dataspaces.gitbook.io/ods-docs/

    1.2 Intended Readers and Expected Actions

    1.3 Scope

    https://www.digital.go.jp/en/policies/dfft/dfft-overview
    Authorization

    Performs policy-based dynamic authorization on a per-request basis.

  • Token and Credential Management

    Issues access tokens and refresh tokens, and attaches business-context claims such as operator identifiers (e.g., operator_id) as token claims.

  • Federation & Trust

    Establishes mutual trust across different operating organizations and across different Open Dataspaces.

  • Concept
    Description

    Identity & Trust(L3)

    A generic term for an entity that provides identity-related functions. It performs authentication of users and systems, manages authorization (delegation of authority), and provides identity information. Depending on the architecture, including federated configurations, these roles MAY be performed by separate entities.

    Client

    An entity that accesses APIs provided by a Resource Server under delegated authorization granted by a Resource Owner.

    Resource Server

    An entity that provides functions or data via APIs. It provides resources to a Client according to the scope of authority delegated by the Resource Owner.

    This protocol defines requirements for the following functional areas:

    • Authentication

    • Authorization

    • Token and credential management

    • Federation (cross-Open Dataspaces trust establishment)

    • The Identity & Trust(L3)SHALL provide mechanisms capable of distinguishing and authenticating both natural persons and systems.

      • Rationale: ODS operational requirements involve both human interaction and system-to-system communication. These must be clearly distinguished to ensure proper security and accountability.

    • Authentication and authorization mechanisms SHALL use OAuth 2.0 and OpenID Connect. Authentication of natural persons SHALL use OpenID Connect (Authorization Code Flow). Authentication of systems SHALL use OAuth 2.0 (Client Credentials Flow).

      • Rationale: OAuth 2.0 and OpenID Connect are internationally adopted standards that ensure interoperability across heterogeneous systems and dataspaces.

    • User authentication SHOULD use Authorization Code Flow with PKCE.

      • Rationale: ODS environments commonly involve natural persons. PKCE improves resistance against authorization code interception attacks.

    • Additional credentials (e.g., Verifiable Credentials) MAY be used.

      • Rationale: This enables extensibility and future interoperability with other Open Dataspace and trust frameworks.

    • Phishing-resistant multi-factor authentication MAY be used.

      • Rationale: Multi-factor authentication reduces risks associated with credential theft and replay attacks.

      Note (Future revisions): MAY consider phishing-resistant authentication methods such as FIDO2-based passkeys.

    • Authorization decisions SHALL NOT depend solely on network boundaries (e.g., firewall or DMZ).

      • Rationale: This aligns with Zero Trust architecture principles and prevents implicit trust based on network location.

    • The subject identifier used for authorization decisions SHALL be based on verified claims contained in the access token.

      • Rationale: This ensures logical linkage between authentication and authorization and prevents impersonation or identity inconsistencies.

    • Authorization SHOULD adopt a two-layer structure consisting of coarse-grained access control at the API Gateway level and fine-grained access control at the application or resource level.

      • Rationale: Separation between infrastructure-level and business-level authorization preserves scalability and architectural flexibility.

    • PAP, PDP, and PEP SHOULD be logically separated.

      • Rationale: Separation of policy administration, decision logic, and enforcement improves maintainability, security isolation, and performance optimization.

    • Communication between PEP and PDP SHOULD align with the AuthZEN model or an equivalent standardized authorization interaction model.

      • Rationale: Alignment with standardized authorization interaction models improves consistency and supports interoperable policy evaluation mechanisms.

    • PAP and PDP SHOULD, logically, be integrated with the Identity & Trust(L3).

      • Rationale: To ensure consistency of the authorization model and evaluation logic and prevent complexity caused by distributed policy management.

    • The authorization model SHOULD adopt Relationship-based Access Control (ReBAC). When ReBAC is adopted, the authorization model SHALL be capable of explicitly representing at least subject, object, and relation.

      • Rationale: It naturally represents delegation and sharing relationships as graphs and provides superior readability and extensibility.

    • Access tokens SHOULD be signed JWTs.

      • Rationale: Signed JWTs provide interoperability, lightweight validation, and compatibility with existing ecosystem tooling.

    • Access tokens SHOULD have short lifetimes limited to the minimum necessary duration.

      • Rationale: Short-lived tokens minimize impact in case of leakage or compromise.

    • Business claims such as operator_id and system_id SHOULD be included where applicable.

      • Rationale: Identification of business entities within Open Dataspaces is essential.

    • Refresh Tokens MAY be used.

      • Rationale: Refresh tokens enable session continuity while maintaining short-lived access tokens.

    • Identity Federation across different Open Dataspaces operating organizations SHOULD be supported.

      • Rationale: Future interoperability is necessary.

    • In a federated environment, the subject identifier SHOULD be in a format that enables identification of the issuing authority.

      • Rationale: To prevent subject collisions during inter-Open Dataspaces collaboration.

    • Third-party trust mechanisms (e.g., PKI, DAPS, or equivalent trust infrastructures) MAY be used.

      • Rationale: This allows flexibility according to governance models and organizational trust policies.

    The following message types are handled by this protocol.

    Type
    Direction
    Description

    Request

    Client ⇒ Identity & Trust(L3)

    A message sent by the Client to request authentication or authorization. It includes authentication information and request parameters.

    Response

    Identity & Trust(L3) ⇒ Client

    A message sent by the Identity & Trust(L3) in response to a request. It may include authentication results, tokens, or error information.

    The following sequence illustrates a representative authentication scenario using the Authorization Code Flow for a natural person.

    1. Client requests authentication screen URL

      Client ⇒ Identity & Trust(L3): Request authentication screen URL

      {
        "client_id": "abc123xyz",
        "redirect_uri": "https://example.com/home",
        "code_challenge": "IevIR0cQsAuNuPha71dAbjkT-sipaqXEquPhtCqKL80"
      }
      • client_id: ID issued per client

      • redirect_uri: URI to redirect after authentication

      • code_challenge: PKCE challenge string

    2. Identity & Trust(L3) returns authentication screen URL

      Identity & Trust(L3) ⇒ Client: Return authentication screen URL

      • url: Authentication screen URL

    3. User enters credentials in browser

      User Browser ⇒ Identity & Trust(L3): Authentication request

    4. Identity & Trust(L3) returns authorization code

      Identity & Trust(L3) ⇒ User Browser: Authorization code response

    5. Client exchanges authorization code for tokens

      Client ⇒ Identity & Trust(L3): Token request

      • code: Authorization code issued when redirected to the redirect URI

      • client_id: ID issued for each client

    6. Identity & Trust(L3) returns tokens

      Identity & Trust(L3) ⇒ Client: Authentication response

      • access_token: Access token

      • expires_in: Access token expiration time (seconds)

    This section describes the states handled by this protocol.

    State
    Description

    UNAUTHENTICATED

    No token exists. Before authentication.

    AUTHENTICATING

    Authentication is in progress at the IdP (authentication via the /auth/token and /auth/token/client endpoints).

    AUTHENTICATED

    The access token is valid. Normal API calls are possible.

    This section describes the error handling used in this protocol.

    Error Type
    Description
    Handling

    Invalid Request

    Returned when parameters are invalid or required fields are missing.

    Reconfirm the input content, set the correct values, and resend the request.

    Token Configuration Error

    Returned when the access token is not set or is invalid.

    Reacquire and reset the access token (re-login or refresh the token as necessary), and resend the request.

    Overview

    Abstract Normative Specification

    Concepts and Roles

    Scope

    Normative Requirements

    Authentication

    Authorization

    Tokens and Credentials

    Federation and Trust

    Message Types

    Protocol Flow

    State Machine

    States

    Error Handling

    A metadata client provides metadata to an application client. As a design approach, while conventional web application systems are database-oriented and required to satisfy system requirements such as transactions, real-time processing, and high throughput, metadata-related systems shall prioritize the discovery of necessary data from a wide variety of data across broad-scale environments, and as a trade-off for this, consistency of data and similar properties shall initially be sacrificed and added as needed. It is assumed that use cases requiring strict consistency management of metadata are limited, since diverse real-world data and existing application server data are transformed and replicated into a unified metadata format.

    concept 3
    Role
    Description

    Business Domain

    A specific business domain. Common services such as Discovery Service may be constructed per business domain.

    Provider

    Provides data or services related to the business domain and may manage multiple resources.

    Consumer

    Uses data or services provided by a Provider.

    • RDF metadata publication

    • RDF Patch synchronization

    • SPARQL retrieval

    • Metadata SHALL be represented in RDF.

      • Rationale: To unify semantic representation and ensure interoperability.

    • Metadata SHALL include globally resolvable semantic definitions of interfaces related to data exchange or service provision, for example SAMM.

      • Rationale: Ambiguous interface semantics may lead to unintended usage.

    • Metadata SHALL include destination information of interfaces held by data or service providers.

      • Rationale: To enable transparent access to distributed services within a unified Open Dataspace under appropriate access control.

    • Metadata SHOULD be transmitted and received in JSON-LD format.

      • Rationale: High compatibility with web-based implementations and extensive track record of adoption.

    • If a provider is associated with a physical or logical entity in the real world, this SHOULD be included as metadata.

      • Rationale: Enables association of real-world entities with network services.

    • If such entities are related to entities of other providers, these reference relationships SHOULD be included as metadata.

      • Rationale: Following reference relationships enables discovery of other providers and enhances overall interoperability.

    • A mechanism for managing metadata differences MAY be provided, such as RDF Patch. Eventual consistency is assumed. Lineage, timestamps, and version control SHOULD be used to manage differences when necessary.

      • Rationale: While strong consistency is not required, metadata freshness may be important.

    • It SHALL be capable of integrating with Identity & Trust(L3).

    • If access control is required for metadata itself, it SHALL integrate with Identity & Trust(L3) and authorization management SHALL be applied.

    • The RDF model SHALL conform to the ODS semantics policy.

    Metadata is provided from systems that offer data or services to a Metadata Server and is then published. It becomes referable from other systems by referencing metadata of other service providers or by being published to a Discovery Service.

    Metadata consists of service metadata related to semantic definitions and destination information of data and services, and resource metadata corresponding to real-world entities. Service metadata consists of descriptions of the service specification itself and the deployed state (instance) of that specification in a given environment. The description of the service specification itself may be stored in another Metadata Server and expressed by referencing it. Specifications unique to a particular service may be stored in the corresponding Metadata Server. Service metadata may be referenced from resource metadata. Service specifications are described as Aspect Models using SAMM or similar approaches.

    Service metadata consists of two parts:

    Item
    Type
    Required
    Description

    @context

    object

    Yes

    Namespace definitions

    @graph

    @context defines the mapping between prefixes used in metadata and their corresponding namespaces.

    The following namespaces are used:

    • @prefix http: <http://www.w3.org/2011/http#> .

    • @prefix dcterms: <http://purl.org/dc/terms/> .

    • @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

    • @prefix ods: <https://github.com/ODS-DFS-L4/ods/> .

    • Namespace defining the Aspect Model, for example: @prefix uasl: <urn:samm:com.foo.uasl:0.5.3#> .

    • Namespace used by the domain application API definition file, for example: @prefix api: <https://uasl.foo.com/0.5.3/api#> .

    • Namespace for the domain application (explicit company namespace), for example: @prefix inst: <http://www.example.com/uasl/instance#> .

      • The default prefix is not used; the prefix inst is explicitly used.

    Domain application instances are defined as type ods:DomainApp.

    • dcterms:conformsTo is used to explicitly link to the Aspect Model and API definition.

    • Properties defined in the Aspect Model for the domain application are assigned actual values.

    • ods:hasBaseEndpoint indicates the base endpoint of the API.

      • The API base endpoint is defined as class ods:BaseEndpoint (a subclass of ods:DomainAppEndpoint).

    • ods:hasSparqlEndpoint indicates the SPARQL endpoint.

      • The SPARQL endpoint is defined as class ods:SparqlEndpoint (a subclass of ods:DomainAppEndpoint).

    • ods:hasEndpoint indicates endpoints for each API.

      • Each API endpoint is defined as class ods:DomainAppEndpoint (a subclass of ods:DomainAppEndpoint).

    • ods:accessURL specifies the URL of each endpoint.

    Key
    Type
    Description

    dcterms

    string (URI)

    Dublin Core Terms

    rdf

    string (URI)

    RDF namespace

    @graph consists of multiple objects:

    • DomainApp: Represents the entire domain application.

    • DomainAppEndpoint: Represents URI information of endpoints defined by SAMM.

    • BaseEndpoint: Represents the common URI part of REST API endpoints.

    • SparqlEndpoint: Represents endpoint information for SPARQL.

    DomainApp represents the entire domain application.

    Structure

    DomainAppEndpoint represents URI information of endpoints defined by SAMM.

    Common Structure

    BaseEndpoint represents the common URI part of REST API endpoints.

    SparqlEndpoint represents endpoint information for SPARQL.

    Resource metadata represents domain data generated and managed by applications, expressed in RDF and given meaning using a shared vocabulary. Since it is domain-dependent, concrete examples are provided in binding.md.

    (1) Basic Structure

    • Data is expressed in RDF using JSON-LD.

    • Each file follows the basic structure below:

    Element
    Description

    @context

    Namespace and vocabulary definitions

    @graph

    Array of RDF resources

    ID Representation

    • Each entity is uniquely identified by @id.

    • HTTP URI format is adopted.

    Example:

    Data Types

    • Literal values are explicitly expressed using @value and @type.

    • Typical types:

      • xsd:string

      • xsd:integer

      • xsd:double

      • xsd:boolean

      • xsd:dateTime

    Type
    Sender ⇒ Receiver
    Description

    sparqlQuery

    Metadata Client ⇒ Metadata Endpoint

    RDF retrieval

    patchNotify

    Metadata Endpoint ⇒ Metadata Client

    Differential notification

    This section describes the error handling used in this protocol.

    Error Type
    Description
    Handling

    RDF format error

    Invalid JSON-LD

    Correct input

    Endpoint unreachable

    Network issue

    Retry

    Michael Franklin, Alon Halevy, David Maier, "From Databases to Dataspaces: A New Abstraction for Information Management", SIGMOD Record, Vol. 34, N

    Overview

    concept 1
    concept 2
    {
      "@context": { ... },
      "@graph": [ ... ]
    }
    {
      "@id": "inst:MyServiceProd",
      "@type": "ods:DomainApp",
      "dcterms:conformsTo": [ ... ],
      "ods:hasBaseEndpoint": { ... },
      "ods:hasEndpoint": [ ... ],
      "ods:hasSparqlEndpoint": { ... },
      "service:serviceProviderName": { ... }
    }
    {
      "@id": "inst:xxxEndpoint",
      "@type": "ods:DomainAppEndpoint",
      "service:xxxRequestUri": {
        "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
        "@value": "https://example.com/api/v1/path"
      }
    }
    {
      "@id": "inst:myServiceBaseEndpoint",
      "@type": "ods:BaseEndpoint",
      "ods:accessURL": {
        "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
        "@value": "https://example.com/api/v1"
      }
    }
    {
      "@id": "inst:myServiceSparqlEndpoint",
      "@type": "ods:SparqlEndpoint",
      "ods:accessURL": {
        "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
        "@value": "https://example.com/sparql"
      }
    }
    {
      "@context": { ... },
      "@graph": [ ... ]
    }
    http://localhost:8080/resource/aircraft/{UUID}

    Abstract Normative Specification

    Concepts and Roles

    Scope

    Normative Requirements

    Non-functional / Cross-layer Requirements

    Metadata

    Overall Structure of Service Metadata

    Namespace Definition @context

    Metadata Related to Data/Service Providers @graph

    DomainApp

    DomainAppEndpoint

    BaseEndpoint

    SparqlEndpoint

    Resource Metadata

    Common Specification

    Message Types

    Protocol Flow

    Error Handling

    References

    Authentication and Authorization: OAuth 2.0 and OpenID Connect are used.

    For authentication involving natural persons, OpenID Connect (Authorization Code Flow) is used. For system-level access control, OAuth 2.0 (Client Credentials Flow) is used.

    Policy-based authorization control is also provided.

  • Security Requirements: TLS 1.2 or higher is required to ensure encrypted communication.

  • For each field used in this binding, the following information is provided:

    The definitions of the fields used in this protocol are described below. For detailed field definitions of each API, refer to the separately published API Specification.

    Each field includes the following information:

    • Field Name: Name used within the protocol

    • Type: Data type (e.g., integer, string)

    • Requirement:

      • R = Required

      • C = Conditional

      • O = Optional

    • Request: Used in request messages

    • Response: Used in response messages

    • Description: Meaning and usage of the field

    Field Name
    Type
    Required
    Request
    Response
    Description

    API-Key

    String

    R

    ✔

    Field Name
    Type
    Required
    Request
    Response
    Description

    type

    String

    R

    Refer to the API Specification for detailed implementations such as Request, Response, Examples, Error lists, and API-specific field definitions.

    Category
    Function
    Description

    Authentication

    User Identity Verification

    Performs user authentication based on the OIDC authorization flow.

    Authentication

    Client System Authentication

    Authenticates a client using the Client Credentials Flow with a client ID and a client secret.

    This protocol provides the following two authentication flows.

    Authentication Flow
    Description

    Authorization Code Flow

    Used in authentication scenarios involving a user. The client redirects the user to the Identity & Trust(L3)’s authentication screen, and after authentication, obtains an access token using the issued authorization code.

    Client Credentials Flow

    Used in non-interactive authentication scenarios without a user. The client accesses the Identity & Trust(L3)’s client system authentication endpoint using a client ID and a client secret to obtain an access token.

    The main authentication information used in this protocol is as follows.

    Authentication Information
    Applicable Flow
    Description

    login_user_id

    Authorization Code Flow

    Identifier entered by the user on the login screen in the Authorization Code Flow involving user authentication.

    password

    Authorization Code Flow

    This protocol attaches the following two types of custom claims to issued access tokens for business identification purposes.

    1. operator_id (Operator Identifier)

      Information used to identify the operator to which the user or client belongs. This claim is attached to the access token in the following flows.

      • Authorization Code Flow The operator specified at the time of user issuance is attached.

      • Client Credentials Flow The operator specified at the time of client_id issuance is attached.

    2. open_system_id (System Identifier)

      Information used to identify the system to which the client belongs. This claim is attached to the access token only in the following flow.

      • Client Credentials Flow

      It is not attached in the Authorization Code Flow (flow involving a user).

    Refer to the Protocol Flow section of the Protocol specification.

    Concrete Specification

    Prerequisites

    Field Definitions

    Header Field Definitions

    Payload Field Definitions

    Functional Description

    Authentication

    Authentication Information and Identifiers

    Authentication Information

    Identifiers

    Sequence Diagrams

    Authorization Code Flow

    Client Credentials Flow

    Token Validation

    Token Renewal

    Password Change

    API Key Validation

    Model Registration

    Tuple Registration

    Authorization Decision

    User and Client Registration

    Operator Information Management

    Office Information Management

    Provides data or services related to the business domain and may manage multiple resources.

    Consumer

    Uses data or services provided by a Provider.

    Metadata Server

    Publishes metadata as RDF. Accepts external retrieval requests at a Metadata Endpoint. Retrieves static data from a Metadata Store and dynamic data from an Application Server as needed.

    Metadata Store

    Stores metadata as RDF and primarily handles static data.

    Metadata Client

    Retrieves metadata, for example through a JavaScript library in a browser.

    Metadata Endpoint

    RDF retrieval endpoint in a Metadata Server, including a SPARQL endpoint.

    Discovery Finder

    A service that determines which Discovery Service to use. It provides metadata including the endpoint of a Discovery Service.

    Discovery Service

    Searches metadata based on resource attributes (e.g., latitude/longitude, strings). The returned metadata includes not only the target resource but also the semantic definitions and endpoints of the related data/service provider interfaces. Endpoints include the Metadata Endpoint as well as service-specific endpoints (e.g., reservation APIs).

    Note that the "Discovery Service" described in "Why Open Dataspaces: Design Philosophy and the Architectural Paradigm" is a concept that encompasses both the "Discovery Finder" (discovery of Discovery Services) and the "Discovery Service" (discovery of destination endpoints) as defined in this protocol specification.

    • Discovery Service resolution

    • Resource search

    • Endpoint retrieval


    • Discovery Service SHALL provide an API (register) to register searchable resources.

      • Rationale: Discovery assumes that service providers or data holders actively register their data or services to be searchable. Unlike passive indexing such as web search engines, the Discovery Service performs active indexing initiated by the site.

    • Discovery Service SHALL provide an API (find) that returns metadata including endpoints, using attributes as keys, in order for clients to resolve endpoints necessary to access data or services.

      • Rationale: In distributed data management, data and services may exist at arbitrary global locations, enabling data usage control. However, discovery becomes a technical challenge for clients; therefore, it is necessary to enable access to endpoints based on searchable attributes.

    • Discovery Service SHALL return metadata including resource endpoints as search results.

      • Rationale: Since the Discovery Service is used to identify the location of data or services, it must return metadata containing endpoints.

    • Discovery Service SHOULD support keyword search. It SHOULD provide an API (find) that returns metadata including endpoints using string-based keys.

      • Rationale: An index that returns metadata for data or services associated with keyword matches is broadly useful.

    • Metadata registration in the Discovery Service SHOULD become invalid after a certain period (TTL). To remain searchable, a keep-alive instruction is required.

      • Rationale: To minimize the existence of stale metadata when the underlying data/service no longer exists (cf. soft-state management in distributed systems).

    • Discovery Service MAY support geospatial search. It provide an API (find) that returns metadata including endpoints using geospatial attributes as keys.

      • Rationale: An index that returns metadata for data or services associated with real-world latitude and longitude can be useful depending on the use case.

    • Consistency requirements for metadata management in the Discovery Service MAY be eventual consistency.

      • Rationale: Scalability and fault tolerance are important in distributed systems. Consistency between metadata stored in the Discovery Service and that of the original provider can typically be verified when accessing the actual data/service.

    • Metadata of the Discovery Service itself MAY be managed using the same format and method (e.g., service definitions using SAMM).

      • Rationale: Enables uniform access from clients.

    • Construction of a Discovery Service in each domain MAY be facilitated by defining indexable attributes in metadata (e.g., via SAMM service definitions), allowing necessary components to be generated.

      • Rationale: Building a Discovery Service requires database setup and message handling, much of which is common and can be automated. Some domain-specific logic remains for developers, so generation is provided up to a template level.

    • Discovery Finder SHALL provide an API that returns metadata including the endpoint of a Discovery Service, based on the Discovery Service name or domain name, in order to resolve the endpoint required for clients to access a Discovery Service.

      • Rationale: Since multiple Discovery Services may exist per domain, endpoint resolution itself is required.

    • Clients SHOULD statically maintain metadata such as the endpoint and API information of the Discovery Finder.

      • Rationale: It is assumed that only one or a limited number of Discovery Finders exist within Open Dataspaces, and the frequency of retrieving domain-specific Discovery Services is relatively low.


    Type
    Sender ⇒ Receiver
    Description

    findDiscoveryService

    Metadata Client ⇒ Discovery Finder

    Search for a Discovery Service

    findResource

    Metadata Client ⇒ Discovery Service

    Search for a resource


    When information about a data/service provider is registered in the Discovery Service, its lifecycle is managed according to the following state transitions.

    State
    Description

    Initial

    State before being registered in the Discovery Service

    Active

    Registered in the Discovery Service and searchable

    Terminated

    Not registered in the Discovery Service or invalidated

    Event
    Description

    create

    Registration of provider information in the Discovery Service

    delete

    Deletion of provider information from the Discovery Service

    timeout

    Invalidation after a certain period following creation/update


    This section describes the error handling used in this protocol.

    Error Type
    Description
    Handling

    Invalid Query

    Invalid conditions

    Correct input

    Not Found

    No matching result

    Notification only

    Business Domain

    A specific business domain. Common services such as a Discovery Service may be constructed per business domain.

    Overview

    Abstract Normative Specification

    Concepts and Roles

    Provider

    Scope

    Normative Requirements

    Message Types

    Protocol Flow

    State Machine

    States

    State Machine Diagram

    Error Handling

    Service definition method: SAMM (Semantic Aspect Metamodel)

  • <base> indicates the connector base URL


  • For each field used in this binding, the following information is provided:

    Method
    Endpoint
    Description

    POST

    /v1/api/query

    Issue a SPARQL query

    The request body is as follows.

    Parameter
    Required
    Type
    Description

    query

    ✔

    string

    SPARQL query string

    target

    A sample is as follows.

    An example of metadata in a drone route domain is shown below.

    Aircraft

    Entity Overview

    Item
    Content

    RDF Type

    Aircraft

    Vocabulary

    ID Format (Example)

    Main Properties

    Property
    Type
    Description
    Example

    aircraftId

    string

    Aircraft ID

    DDDD2222-...0004

    aircraftName

    Geometry

    Sample Data


    Entity Overview

    Item
    Content

    RDF Type

    DronePort

    Vocabulary

    Main Properties

    Property
    Type
    Description
    Example Value

    dronePortId

    string

    Port ID

    DDDD2222-...0004

    dronePortName

    Sample Data


    Entity Overview

    Item
    Content

    RDF Type

    Uasl

    Vocabulary

    Route Entity

    Property
    Type
    Description

    uaslId

    string

    Route ID

    uaslName

    string

    Route name

    Sample Data

    RDF Patch update notifications from a domain application are received via AMQP.

    • At-least-once delivery

    • Arrival order is not guaranteed (ordering is controlled on the distributed catalog side)

    Field
    Description

    id

    Update sequence identifier (version ID)

    prev

    ID of the previous patch (used for ordering control)

    RDF Patch body

    Patch in Apache Jena/Fuseki format

    Header Name
    Description

    domain_app_id

    Domain application identifier (a default value is used if not specified)

    Element
    Description

    H

    Header (id, prev, etc.)

    TX / TC / TA

    Transaction boundaries

    PA / PD

    Add/remove prefixes

    For concrete implementations such as Sent by, Resulting state(s), Request, Response, Examples, Error lists, and API-specific field definitions, refer to the API specification.

    Function Category
    Summary
    Description

    Metadata Publish

    Publish RDF

    Register RDF

    Patch Notify

    Differential notification

    Send RDF Patch

    Concrete Specification (Implementation Example)

    Prerequisites

    {
      "query": "SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 10",
      "target": "https://domain-app.example.com/sparql",
      "options": {}
    }
    http://localhost:8080/resource/aircraft/DDDD2222-0000-0000-4444-000000000004
    {
      "@type": "sf:Point",
      "geo:asWKT": {
        "@value": "POINT (130.408585 33.588344)",
        "@type": "geo:wktLiteral"
      }
    }
    H id <uuid:...>
    H prev <uuid:...>
    TX
    PA ex: <http://example.org/>
    A ex:subject ex:predicate "object" .
    D ex:subject ex:oldPredicate "oldObject" .
    TC

    Field Definitions

    Issuing a SPARQL Query

    Resource Metadata

    Show sample data

    Drone Port (DronePort)

    Show sample data

    Route (UASL)

    Show sample data

    RDF Patch Notification

    Delivery Semantics

    Message Format

    AMQP Headers (Optional)

    RDF Patch Format (Apache Jena/Fuseki)

    Functional Description

    Sequence Diagram

    Issuing a SPARQL Query

    Binding

    This section describes definitions when mapped to an actual communication method (e.g., HTTPS, file transfer, WebSocket). All content described below is non-normative (examples).

    Concrete Specification (Implementation Example)

    Prerequisites

    • HTTPS communication

    • RDF

    • JSON-LD

    • UTF-8

    • SAMM

    • dcterms

    For each field used in this binding, the following information is provided:

    Discovery Finder and Discovery Service return "service instance" data. A service instance is expressed in JSON-LD format and consists of the following main elements:

    • Field Name: Name used within this binding

    • Type: Data type (e.g., integer, string)

    • Requirement: Usage condition of the field

    Field Name
    Type
    Mandatory
    Request
    Response
    Description

    • Resolves application endpoints related to resources in a business domain based on resource information (data/services).

    • Allows users to search domain data using various search keys and resolves both the data and the metadata of the domain application required to obtain that data.

      • Search keys: latitude/longitude, strings, numeric values

    Function Category
    Summary

    When constructing a Discovery Service for a custom business domain, the message processing and database components are auto-generated. Only the integration logic connecting them needs to be implemented.

    • Used to resolve the endpoint required for users to access a Discovery Service.

    • Registers Discovery Service endpoints.

      • Can register under an existing keyword or create a new keyword.


    Specifies the API key issued per client application. ODS-specific field

    Authorization

    String

    C

    ✔

    Specifies the access token. Example: Bearer < token >. Not required for authentication flow-related APIs (except password change).

    Content-Type

    String

    R

    ✔

    ✔

    Specifies the request format.

    User-Agent

    String

    O

    ✔

    Specifies the client user agent.

    Accept-Language

    String

    O

    ✔

    Specifies the client’s preferred language.

    X-TrackingID

    String

    O

    ✔

    ✔

    Specifies a unique ID used for request tracing. ODS-specific field

    Content-Security-Policy

    String

    O

    ✔

    Specifies content loading and execution policies and controls allowed script and resource origins.

    X-Content-Type-Options

    String

    O

    ✔

    Prevents MIME-type sniffing by browsers and enforces the declared Content-Type.

    Strict-Transport-Security

    String

    O

    ✔

    Enforces HTTPS connections for a specified period and prevents downgrade to HTTP.

    Access-Control-Allow-Origin

    String

    O

    ✔

    CORS header. Specifies permitted origins for cross-origin access.

    Access-Control-Allow-Methods

    String

    O

    ✔

    CORS header. Specifies allowed HTTP methods for cross-origin requests.

    Access-Control-Allow-Headers

    String

    O

    ✔

    CORS header. Specifies allowed request headers for cross-origin requests.

    Access-Control-Allow-Credentials

    String

    O

    ✔

    CORS header. Specifies whether credentials may be included in cross-origin requests.

    ✔

    Sets the URI that identifies the type of execution result.

    title

    String

    R

    ✔

    Sets a description of the execution result.

    status

    Integer

    R

    ✔

    Sets the HTTP status code.

    detail

    String

    R

    ✔

    Sets information required by the ODS operating entity for investigation (e.g., timestamp of error occurrence).

    data

    String

    C

    ✔

    Business data object for successful execution results. Not required in case of error.

    Token Validation / Renewal

    Token Introspection

    Validates an access token and retrieves its validity and associated information.

    Token Validation / Renewal

    Access Token Renewal

    Reacquires an access token using a refresh token.

    Password Management

    Password Change

    Changes the password of the user corresponding to the ID included in the request.

    API Key Validation

    API Key Validation

    Validates the API key included in the request body.

    Authorization

    Authorization Model Registration / Retrieval

    Registers or retrieves the authorization model used for authorization. Registration is restricted to authorized users only.

    Authorization

    Authorization Tuple Registration / Retrieval

    Registers or retrieves authorization tuples. Registration is restricted to authorized users only.

    Authorization

    Authorization Decision

    Performs authorization evaluation. The API definition conforms to the AuthZEN evaluation endpoint specification.

    User / Client Registration

    User Registration

    Creates a new user.

    User / Client Registration

    Client Registration

    Registers a client and issues a client secret.

    Operator Information Management

    Operator Information Registration / Retrieval / Update

    Performs operations related to operator information.

    Office Information Management

    Office Information Registration / Retrieval / Update

    Performs operations related to office information associated with an operator.

    Secret information corresponding to the login user ID.

    client_id

    Authorization Code Flow / Client Credentials Flow

    Identifier that identifies the client (application) in this protocol.

    client_secret

    Authorization Code Flow / Client Credentials Flow

    Secret used by the client to authenticate itself to the Identity & Trust(L3).

    keep alive

    Instruction to maintain searchable status

    System Error

    Internal failure

    Notify administrator

    https://open-dataspaces.gitbook.io/ods-docs/
    https://open-dataspaces.gitbook.io/ods-docs/
    https://www.ipa.go.jp/digital/architecture/reports/ouranos-ecosystem-dataspaces-ram-white-paper.html

    Resource

    Information managed on Open Dataspaces that corresponds to physical or logical entities in the real world. Examples include physical entities such as drones, logical entities such as routes, and inter-company commercial relationships. Resources are searchable targets of the Discovery Service within Open Dataspaces.

    Metadata Server

    Publishes metadata as RDF. Accepts external retrieval requests at a Metadata Endpoint. Retrieves static data from a Metadata Store and dynamic data from an Application Server as needed.

    Metadata Store

    Stores metadata as RDF and mainly handles static data.

    Metadata Client

    Retrieves metadata, for example through a JavaScript library in a browser.

    Metadata Endpoint

    RDF retrieval endpoint in a Metadata Server. Includes a SPARQL endpoint.

    Application Server

    Business application server of a Provider. Includes general application servers.

    Application Client

    Client that uses business applications, such as dedicated software or a browser.

    array

    Yes

    Metadata contents related to data/service providers

    api

    string (URI)

    API identification namespace

    inst

    string (URI)

    Instance identification namespace

    ods

    string (URI)

    ODS (Open Dataspace) related

    service

    string (URI)

    Service definition

    Patch inconsistency

    Differential order issue

    Resynchronize

    Complementary Protocols

    client_secret: Secret issued for each client

  • redirect_uri: Redirect URI specified when obtaining the authorization code

  • code_verifier: PKCE code challenge string specified when obtaining the authorization code

  • token_type: Access token type

  • not_before_policy: Access token validity start time

  • scope: Client scope

  • refresh_token: Refresh token obtained from the IDP

  • refresh_expires_in: Refresh token expiration time (seconds)

  • id_token: ID token

  • Resource Owner

    An entity that grants authorization to a Client to access a Resource Server (API Server) on its behalf.

    Service Provider

    The organization operating the Identity & Trust(L3).

    Operator

    An organization that receives delegated authority from the Service Provider and operates systems within the dataspace.

    PAP

    Policy Administration Point responsible for defining and managing authorization policies.

    PDP

    Policy Decision Point that receives authorization requests from the PEP, evaluates policies defined by the PAP together with request context, and determines whether access shall be permitted or denied.

    PEP

    Policy Enforcement Point that receives requests from a Client and, where necessary, requests an authorization decision from the PDP.

    Callback

    Identity & Trust(L3) ⇒ Client

    A message issued by the Identity & Trust(L3) (IdP role) when returning an authorization code during an authorization flow.

    TOKEN_EXPIRED

    The access token has expired. Token refresh using a refresh token or re-authentication is required.

    TERMINATED

    The session or token has been invalidated (e.g., logout, revocation, or refresh failure) and re-authentication is required.

    Insufficient Permission Error

    Returned when required permissions are insufficient.

    Notify that the operation is not permitted. Since resending will not succeed, do not resend the request.

    Resource Not Found Error

    Returned when the target resource does not exist.

    Notify that the resource does not exist. Since resending will not succeed, do not resend the request.

    Data Inconsistency Error

    Returned in cases such as duplicate data or concurrency control conflicts.

    Retrieve the latest data, resolve the conflict, and resend the request.

    Request Format Error

    Returned when an unsupported request format is specified.

    Set the correct Content-Type and resend the request.

    System Error

    Returned when an abnormality occurs inside the server.

    If the error continues to occur, notify the system administrator. Whether to resend depends on the operation performed.

    External System Error

    Returned when an abnormality occurs outside the server.

    Retry (resend) at fixed intervals. If the issue is not resolved, notify the user to retry after some time and notify the system administrator.

    R = Required
  • C = Conditional

  • O = Optional

  • Request: Used in request messages

  • Response: Used in response messages

  • Description: Meaning and usage of the field

  • Definition of JSON-LD namespaces. Binds prefixes (e.g., dcterms, ods, service) to URIs.

    @graph

    array

    R

    ✔

    Array containing the service instance data.

    ods:Connector

    object

    R

    ✔

    Definition of the Discovery Service or domain application, including provided endpoints and service provider name.

    ods:ConnectorEndpoint

    object

    R

    ✔

    Definition of individual API endpoints held by the Discovery Service or domain application. Specifies the URI of each endpoint.

    ods:BaseEndpoint

    object

    R

    ✔

    Base URL of the Discovery Service or domain application.

    ods:SparqlEndpoint

    object

    R

    ✔

    URL of the SPARQL endpoint of the RDF server provided by the domain application.

    Search results: metadata of service instances

    Database Generation

    Creates RDB tables for index management from interface definitions.

    Searches Discovery Service endpoints (access URLs).
    • Search keys:

      1. Discovery Service keyword (e.g., UAS Lines)

      2. Business domain keyword (e.g., drone, drone route, port)

    @context

    string

    R

    Spatial Index

    Enables high-speed geospatial search by managing nearby data based on latitude and longitude. Supports bounding box and radius-based queries.

    String Index

    Enables search for resources sharing the same keyword.

    Message Processing Generator

    Generates message processing programs from interface definitions.

    Field Definitions

    Example of Service Instance Returned by a Discovery Service (e.g. Aviation Industry)

    Example of Service Instance Returned by a Discovery Finder (e.g. Aviation Industry)

    Functional Description

    Discovery Service

    Discovery Finder

    Sequence Diagram

    ✔

    -

    string

    Destination URL. If omitted, issue to the cache

    options

    -

    object

    Optional parameters

    string

    Aircraft name

    B2 drone

    modelName

    string

    Model name

    B2 Nimbus Pro V4

    modelNumber

    string

    Model number

    B2-MD12348V1

    manufacturer

    string

    Manufacturer

    STU-B2, Inc.

    bodyWeight

    double

    Aircraft weight

    9.0

    maxTakeoffWeight

    double

    Maximum takeoff weight

    18.0

    maxFlightSpeed

    double

    Maximum speed

    65.0

    maxFlightTime

    double

    Maximum flight time

    160.0

    certification

    boolean

    Whether certified

    true

    publicFlag

    boolean

    Whether publicly available

    true

    string

    Port name

    B2 Fukuoka Landing Port

    address

    string

    Address

    B2, Fukuoka, Japan

    altitude

    double

    Altitude

    8.0

    latitude

    double

    Latitude

    33.5986554

    longitude

    double

    Longitude

    130.4218919

    supportDroneType

    string

    Supported aircraft type

    Medium-sized drone

    activeStatus

    integer

    Operational status

    2

    publicFlag

    boolean

    Whether publicly available

    true

    storesAircraft

    IRI

    Stored aircraft

    Reference to Aircraft

    flightPurpose

    string

    Flight purpose

    createdAt

    dateTime

    Created at

    updatedAt

    dateTime

    Updated at

    A / D

    Add/remove triples

    SPARQL Query

    Retrieve RDF

    SPARQL search

    http://example.com/aircraft#
    http://example.com/drone-port#
    http://example.com/uasl#
    {
      "type": "https://api.example.com/success",
      "title": "Request processed successfully",
      "status": 200,
      "detail": "time_stamp:2024-10-02T02:26:57.512Z, method:POST",
      "data": {
        "url": "https://ods.com/realms/myrealm/protocol/openid-connect/auth?client_id=myclient&response_type=code&scope=openid&redirect_uri=https%3A%2F%2Fmyapp.com%2Fhome"
      }
    }
    "login_user_id": "login_user_id_12345",
    "password": "xx@&&1234Pass"
    https://example.com/home?code=2c0d0237-9dc1-41da-86f3-d023ae599321.dc903c2f-9042-4940-869e-c0d753107b7f.0c395f1b-8931-467f-bf6a-db561be9742f&state=xyz123
    {
      "code": "2c0d0237-9dc1-41da-86f3-d023ae599321.dc903c2f-9042-4940-869e-c0d753107b7f.0c395f1b-8931-467f-bf6a-db561be9742f",
      "client_id": "abc123xyz",
      "client_secret": "abc123xyz",
      "redirect_uri": "https://example.com/home",
      "code_verifier": "IevIR0cQsAuNuPha71dAbjkT-sipaqXEquPhtCqKL80"
    }
    {
      "type": "https://api.example.com/success",
      "title": "Request processed successfully",
      "status": 200,
      "detail": "time_stamp:2024-10-02T02:26:57.512Z, method:POST",
      "data": {
        "access_token": "eyJhbGciOiJSUzI1NiIsInR5cC...HiFZcDhzDEg",
        "expires_in": 300,
        "token_type": "Bearer",
        "not_before_policy": 0,
        "scope": "openid scope1 scope2",
        "refresh_token": "eyJhbGciOiJIUzUxMiIsInR5...9w67QsdnDQ",
        "refresh_expires_in": 3600,
        "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI...IiwibWFuYWdlL"
      }
    }
    {
      "@context": {
        "dcterms": "http://purl.org/dc/terms/",
        "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
        "api": "https://localhost.com/v1/api#",
        "inst": "http://www.example.com/myservice/instance#",
        "ods": "https://github.com/ODS-DFS-L4/ods/",
        "service": "urn:samm:com.uasl.service:1.1.0#"
      },
      "@graph": [
        {
          "@id": "inst:MyServiceProd",
          "@type": "ods:Connector",
          "dcterms:conformsTo": [
            {
              "@id": "api:UaslServiceWebService"
            },
            {
              "@id": "service:UaslService"
            }
          ],
          "ods:hasBaseEndpoint": {
            "@id": "inst:myServiceBaseEndpoint"
          },
          "ods:hasEndpoint": [
            {
              "@id": "inst:airwayReservationDetailGetEndpoint"
            },
            {
              "@id": "inst:airwayReservationsPostEndpoint"
            }
          ],
          "ods:hasSparqlEndpoint": {
            "@id": "inst:myServiceSparqlEndpoint"
          },
          "service:serviceProviderName": {
            "@type": "http://www.w3.org/2001/XMLSchema#string",
            "@value": "Service Provider Name"
          }
        },
        {
          "@id": "inst:airwayReservationsPostEndpoint",
          "@type": "ods:ConnectorEndpoint",
          "service:airwayReservationsPostRequestUri": {
            "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
            "@value": "https://example.com/api/v1/path"
          }
        },
        {
          "@id": "inst:airwayReservationDetailGetEndpoint",
          "@type": "ods:ConnectorEndpoint",
          "service:airwayReservationDetailGetRequestUri": {
            "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
            "@value": "https://example.com/api/v1/path"
          }
        },
        {
          "@id": "inst:myServiceSparqlEndpoint",
          "@type": "ods:SparqlEndpoint",
          "ods:accessURL": {
            "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
            "@value": "https://example.com/sparql"
          }
        }
      ]
    }
    {
      "@context": {
        "dcterms": "http://purl.org/dc/terms/",
        "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
        "ods": "https://github.com/ODS-DFS-L4/ods/",
        "ads": "urn:samm:org.eclipse.esmf:1.0.0#",
        "api": "https://airway-discovery.example.com/1.0.0/api#",
        "inst": "http://airway-discovery.example.com/instance#"
      },
      "@graph": [
        {
          "@id": "inst:AirwayDiscoveryServiceProd",
          "@type": "ods:Connector",
          "dcterms:conformsTo": [
            {
              "@id": "ads:AirwayDiscoveryService"
            },
            {
              "@id": "api:AirwayDiscoveryWebService"
            }
          ],
          "dcterms:description": [
            {
              "@language": "en",
              "@value": "Production instance of Airway Discovery Service for finding and managing airway resources"
            },
            {
              "@language": "ja",
              "@value": "航路リソースの検索と管理のための航路ディスカバリーサービスの本番インスタンス"
            }
          ],
          "dcterms:title": [
            {
              "@language": "en",
              "@value": "Airway Discovery Service - Production"
            },
            {
              "@language": "ja",
              "@value": "航路ディスカバリーサービス - 本番環境"
            }
          ],
          "ods:hasEndpoint": [
            {
              "@id": "inst:FindResourceEndpointProd"
            },
            {
              "@id": "inst:RegisterDomainApplicationEndpointProd"
            },
            {
              "@id": "inst:RegisterResourceEndpointProd"
            }
          ],
          "ods:sparqlEndpoint": {
            "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
            "@value": "https://example.com/sparql"
          },
          "ads:serverUrl": {
            "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
            "@value": "https://example.com/rpc-api/v1"
          }
        },
        {
          "@id": "inst:RegisterDomainApplicationEndpointProd",
          "@type": "ods:ConnectorEndpoint",
          "dcterms:conformsTo": {
            "@id": "api:RegisterDomainApplicationAPI"
          },
          "dcterms:title": [
            {
              "@language": "en",
              "@value": "Register Domain Application Endpoint"
            },
            {
              "@language": "ja",
              "@value": "ドメインアプリケーション登録エンドポイント"
            }
          ],
          "ods:endpointInformation": "JSON-RPC endpoint for registering new domain applications",
          "ads:registerDomainApplicationRequestUri": {
            "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
            "@value": "https://example.com/rpc-api/v1/airway/operations"
          }
        },
        {
          "@id": "inst:RegisterResourceEndpointProd",
          "@type": "ods:ConnectorEndpoint",
          "dcterms:conformsTo": {
            "@id": "api:RegisterResourceAPI"
          },
          "dcterms:title": [
            {
              "@language": "en",
              "@value": "Register Resource Endpoint"
            },
            {
              "@language": "ja",
              "@value": "リソース登録エンドポイント"
            }
          ],
          "ods:endpointInformation": "JSON-RPC endpoint for registering new resources",
          "ads:registerResourceRequestUri": {
            "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
            "@value": "https://example.com/rpc-api/v1/airway/operations"
          }
        },
        {
          "@id": "inst:FindResourceEndpointProd",
          "@type": "ods:ConnectorEndpoint",
          "dcterms:conformsTo": {
            "@id": "api:FindResourceAPI"
          },
          "dcterms:title": [
            {
              "@language": "en",
              "@value": "Find Resource Endpoint"
            },
            {
              "@language": "ja",
              "@value": "リソース検索エンドポイント"
            }
          ],
          "ods:endpointInformation": "JSON-RPC endpoint for finding resources by location and drone model",
          "ads:findResourceRequestUri": {
            "@type": "http://www.w3.org/2001/XMLSchema#anyURI",
            "@value": "https://example.com/rpc-api/v1/airway/operations"
          }
        }
      ]
    }
        "@graph": [
            {
                "@id": "http://localhost:8080/resource/aircraft/DDDD2222-0000-0000-4444-000000000004",
                "geo:hasGeometry": {
                    "@id": "http://localhost:8080/resource/aircraft/DDDD2222-0000-0000-4444-000000000004/geometry"
                },
                "publicFlag": {
                    "@value": "true",
                    "@type": "http://www.w3.org/2001/XMLSchema#boolean"
                },
                "ownerType": {
                    "@value": "1",
                    "@type": "http://www.w3.org/2001/XMLSchema#int"
                },
                "ownerId": "550e8400-e29b-41d4-a716-446655440018",
                "operatorId": "DDDD2222-0000-0000-0000-0000",
                "modelNumber": "B2-MD12348V1",
                "modelName": "B2 Nimbus Pro V4",
                "@type": "Aircraft",
                "aircraftId": "DDDD2222-0000-0000-4444-000000000004",
                "aircraftName": "B2 drone",
                "aircraftType": {
                    "@value": "3",
                    "@type": "http://www.w3.org/2001/XMLSchema#int"
                },
                "bodyWeight": {
                    "@value": "9.0e0",
                    "@type": "http://www.w3.org/2001/XMLSchema#double"
                },
                "certification": {
                    "@value": "true",
                    "@type": "http://www.w3.org/2001/XMLSchema#boolean"
                },
                "dipsRegistrationCode": "B2-DIPS126",
                "hasAircraftType": {
                    "@id": "http://example.com/aircraft#MultiRotor"
                },
                "hasOwnerType": {
                    "@id": "http://example.com/aircraft#OperatorOwned"
                },
                "latitude": {
                    "@value": "33.588344e0",
                    "@type": "http://www.w3.org/2001/XMLSchema#double"
                },
                "longitude": {
                    "@value": "130.408585e0",
                    "@type": "http://www.w3.org/2001/XMLSchema#double"
                },
                "manufacturer": "STU-B2, Inc.",
                "manufacturingNumber": "B2-MN456792",
                "maxFlightSpeed": {
                    "@value": "65.0e0",
                    "@type": "http://www.w3.org/2001/XMLSchema#double"
                },
                "maxFlightTime": {
                    "@value": "160.0e0",
                    "@type": "http://www.w3.org/2001/XMLSchema#double"
                },
                "maxTakeoffWeight": {
                    "@value": "18.0e0",
                    "@type": "http://www.w3.org/2001/XMLSchema#double"
                }
            },
            {
                "@id": "http://localhost:8080/resource/aircraft/DDDD2222-0000-0000-4444-000000000004/geometry",
                "geo:asWKT": {
                    "@value": "POINT (130.408585 33.588344 )",
                    "@type": "geo:wktLiteral"
                },
                "@type": "http://www.opengis.net/ont/sf#Point"
            }
        ],
        "@context": {
            "geo": "http://www.opengis.net/ont/geosparql#",
            "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
            "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
            "@vocab": "http://example.com/aircraft#"
        }
        "@graph": [
            {
                "@id": "http://localhost:8080/resource/dronePort/DDDD2222-0000-0000-3333-000000000004",
                "geo:hasGeometry": {
                    "@id": "http://localhost:8080/resource/dronePort/DDDD2222-0000-0000-3333-000000000004/geometry"
                },
                "visDronePortCompanyId": "B2-VIS126",
                "updateTime": {
                    "@value": "2025-10-03T09:00:00Z",
                    "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
                },
                "supportDroneType": "Medium-sized drone",
                "storesAircraft": {
                    "@id": "http://localhost:8080/resource/aircraft/DDDD2222-0000-0000-4444-000000000004"
                },
                "@type": "DronePort",
                "activeStatus": {
                    "@value": "2",
                    "@type": "http://www.w3.org/2001/XMLSchema#integer"
                },
                "address": "B2, Fukuoka, Japan",
                "altitude": {
                    "@value": "8.0e0",
                    "@type": "http://www.w3.org/2001/XMLSchema#double"
                },
                "dronePortId": "DDDD2222-0000-0000-3333-000000000004",
                "dronePortName": "B2 Fukuoka Landing Port",
                "hasActiveStatus": {
                    "@id": "http://example.com/drone-port#AvailableStatus"
                },
                "hasPortType": {
                    "@id": "http://example.com/drone-port#UnmannedDronePort"
                },
                "latitude": {
                    "@value": "33.5986554e0",
                    "@type": "http://www.w3.org/2001/XMLSchema#double"
                },
                "longitude": {
                    "@value": "130.4218919e0",
                    "@type": "http://www.w3.org/2001/XMLSchema#double"
                },
                "manufacturer": "MNO-B2, Inc.",
                "operatorId": "DDDD2222-0000-0000-0000-0000",
                "portType": {
                    "@value": "1",
                    "@type": "http://www.w3.org/2001/XMLSchema#integer"
                },
                "publicFlag": {
                    "@value": "true",
                    "@type": "http://www.w3.org/2001/XMLSchema#boolean"
                },
                "serialNumber": "B2-SN789015",
                "storedAircraftId": "DDDD2222-0000-0000-4444-000000000004"
            },
            {
                "@id": "http://localhost:8080/resource/dronePort/DDDD2222-0000-0000-3333-000000000004/geometry",
                "geo:asWKT": {
                    "@value": "POINT Z (130.4218919 33.5986554 8.0)",
                    "@type": "geo:wktLiteral"
                },
                "@type": "http://www.opengis.net/ont/sf#Point"
            }
        ],
        "@context": {
            "geo": "http://www.opengis.net/ont/geosparql#",
            "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
            "@vocab": "http://example.com/drone-port#"
        }
        "@graph": [
            {
                "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000",
                "updatedAt": {
                    "@value": "2025-01-24T05:36:26.021Z",
                    "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
                },
                "uaslName": "Route E",
                "uaslId": "22222222-EEEE-0000-0000-446655440000",
                "@type": "Uasl",
                "belongsToUaslAdministrator": {
                    "@id": "http://localhost:8080/resource/uaslAdministrator/22222222-678643e0-b4d4-4d0f-866c-c441a4659be4"
                },
                "createdAt": {
                    "@value": "2025-01-24T05:36:26.021Z",
                    "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
                },
                "droneId": [
                    {
                        "@value": "1",
                        "@type": "http://www.w3.org/2001/XMLSchema#integer"
                    },
                    {
                        "@value": "2",
                        "@type": "http://www.w3.org/2001/XMLSchema#integer"
                    }
                ],
                "flightPurpose": "Flight purpose-Route E",
                "hasRepresentativePoint": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000/representativePoint"
                },
                "hasUaslPoint": [
                    {
                        "@id": "http://uasl-system-a.revitie.org/resource/uaslPoint/11111111-DDDD-0000-1111-000000000003"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000004"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000001"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000003"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000002"
                    }
                ],
                "hasUaslSection": [
                    {
                        "@id": "http://localhost:8080/resource/uaslSection/22222222-EEEE-0000-2222-000000000003"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslSection/22222222-EEEE-0000-2222-000000000002"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslSection/22222222-EEEE-0000-2222-000000000001"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslSection/22222222-EEEE-0000-2222-000000000004"
                    }
                ]
            },
            {
                "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000/representativePoint",
                "longitude": {
                    "@value": "130.42092",
                    "@type": "http://www.w3.org/2001/XMLSchema#decimal"
                },
                "latitude": {
                    "@value": "33.597",
                    "@type": "http://www.w3.org/2001/XMLSchema#decimal"
                },
                "@type": "UaslRepresentativePoint"
            },
            {
                "@id": "http://uasl-system-a.revitie.org/resource/uaslPoint/11111111-DDDD-0000-1111-000000000003",
                "belongsToUasl": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000"
                },
                "@type": "UaslPoint"
            },
            {
                "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000004",
                "belongsToUasl": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000"
                },
                "@type": "UaslPoint"
            },
            {
                "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000001",
                "belongsToUasl": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000"
                },
                "@type": "UaslPoint"
            },
            {
                "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000003",
                "belongsToUasl": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000"
                },
                "@type": "UaslPoint"
            },
            {
                "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000002",
                "belongsToUasl": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000"
                },
                "@type": "UaslPoint"
            },
            {
                "@id": "http://localhost:8080/resource/uaslSection/22222222-EEEE-0000-2222-000000000003",
                "connectsUaslPoint": [
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000003"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000002"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000001"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000004"
                    },
                    {
                        "@id": "http://uasl-system-a.revitie.org/resource/uaslPoint/11111111-DDDD-0000-1111-000000000003"
                    }
                ],
                "belongsToUasl": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000"
                },
                "@type": "UaslSection"
            },
            {
                "@id": "http://localhost:8080/resource/uaslSection/22222222-EEEE-0000-2222-000000000002",
                "connectsUaslPoint": [
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000003"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000002"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000001"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000004"
                    },
                    {
                        "@id": "http://uasl-system-a.revitie.org/resource/uaslPoint/11111111-DDDD-0000-1111-000000000003"
                    }
                ],
                "belongsToUasl": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000"
                },
                "@type": "UaslSection"
            },
            {
                "@id": "http://localhost:8080/resource/uaslSection/22222222-EEEE-0000-2222-000000000001",
                "connectsUaslPoint": [
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000003"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000002"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000001"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000004"
                    },
                    {
                        "@id": "http://uasl-system-a.revitie.org/resource/uaslPoint/11111111-DDDD-0000-1111-000000000003"
                    }
                ],
                "belongsToUasl": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000"
                },
                "@type": "UaslSection"
            },
            {
                "@id": "http://localhost:8080/resource/uaslSection/22222222-EEEE-0000-2222-000000000004",
                "connectsUaslPoint": [
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000003"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000002"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000001"
                    },
                    {
                        "@id": "http://localhost:8080/resource/uaslPoint/22222222-EEEE-0000-1111-000000000004"
                    },
                    {
                        "@id": "http://uasl-system-a.revitie.org/resource/uaslPoint/11111111-DDDD-0000-1111-000000000003"
                    }
                ],
                "belongsToUasl": {
                    "@id": "http://localhost:8080/resource/uasl/22222222-EEEE-0000-0000-446655440000"
                },
                "@type": "UaslSection"
            }
        ],
        "@context": {
            "geo": "http://www.opengis.net/ont/geosparql#",
            "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
            "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
            "@vocab": "http://example.com/uasl#"
        }

    6. Onboarding and Operations

    Technical implementation and operations for development vendors conducting system development and application service provision, as well as for practitioners in the system development departments and data management departments of user enterprises and government agencies, are concretely presented in the Open Data Spaces Introductory Guidebook for Developers *3, with reference to ODP. The Open Data Spaces Introductory Guidebook for Users *4 is also published for practitioners and corporate planning staff at enterprises and government agencies that use or implement data management and AI services.

    The open-source software provided as a reference implementation of ODP (ODS Middleware) and the SDK are each published on the following GitHub repositories:

    • ODS Middleware: Reference implementation of ODP, https://github.com/open-dataspaces

    • ODS SDK (Software Development Kit): ODS Software Development Kit,


    Footnotes

    3 Open Data Spaces Introductory Guidebook for Developers.

    4 Open Data Spaces Introductory Guidebook for Users.

    Protocol

    Overview

    Clearing Payment provides an interface that records, reconciles, and settles/charges data transaction results through third-party electronic payment applications (not including the functionality of clearing, billing, or payment processing itself). This protocol is one of the Complementary Protocols and provides supplementary functionality necessary to realize Open Dataspaces.

    This layer covers the following domains:

    • Clearing

      Records transactions between Data Providers and Data Consumers in data exchanges and performs clearing processing based on usage volume and pricing models. Recorded transactions are verified as clearing targets by comparing them with transaction records of data exchanges collected through the logging function.

    • Payment

      Provides information necessary for payment processing. The actual execution of payment processing is out of scope.

    The following concepts are required for this protocol:

    Concept
    Description
    • Clearing for processes conducted within an Open Dataspaces

    • Payment for processes conducted within an Open Dataspaces

    • Clearing functionality SHALL determine clearing target transactions by reconciling multiple pieces of evidence. The evidence SHALL include at least (a) evidence from Dataspace Fundamental Services (DFS), (b) provider declarations, and (c) consumer declarations.

      • Rationale: Depending on the dataspace configuration (federated or distributed), the legitimacy of clearing targets cannot be ensured using a single source of information.

    • As a principle, transactions SHOULD be treated as clearing targets only when all evidence sources—(a) DFS evidence, (b) provider declarations, and (c) consumer declarations—are consistent.

    • As a principle, the payment method SHOULD be selected by the Data Consumer from among the payment methods presented by the Data Provider and agreed upon in advance.

      • Rationale: To follow general commercial practices.

    • Information required for payment processing SHOULD be based on the results of clearing processing.

    • This function is assumed to be used via Transaction(L2).

    • This function is assumed to use tokens issued by the Identity & Trust(L3).

    • Each transaction between a Data Provider and a Data Consumer in data exchange SHALL be uniquely identifiable by X-TrackingID.

    Type
    Sender ⇒ Receiver
    Description

    The message exchange sequence when using Clearing and Payment is shown below.

    This section describes the error handling used in this protocol.

    Error Type
    Description
    Handling
    • CRYPTREC Cryptographic List:

    Binding

    This section describes a concrete communication binding (e.g., HTTPS, file transfer, WebSocket). All content in this section is non-normative and provided as an example implementation.

    • This protocol uses HTTPS (TLS 1.2 or higher) and communicates via RESTful HTTP request/response.

    • Endpoints: HTTP methods (GET, POST, PUT, DELETE) are used against specified URIs.

    https://github.com/open-dataspaces
    https://open-dataspaces.gitbook.io/ods-docs/
    https://open-dataspaces.gitbook.io/ods-docs/

    Rationale: If inconsistencies exist among evidence sources, the clearing function must not automatically determine the clearing target.

  • Information from Industry Services (IS) MAY be used as necessary.

    • Rationale: To allow flexible implementation according to business requirements.

  • The state of clearing results MAY be defined and managed as necessary.

    • Rationale: To allow implementation of state management when reconciling multiple evidence sources to determine clearing targets.

  • If stored data is encrypted, standard cryptographic techniques, including those recommended by CRYPTREC, MAY be referenced and adopted as necessary.

    • Rationale: To allow consideration of encryption technologies in accordance with operational requirements.

  • Rationale: To follow general commercial practices.

  • Payment processing functions MAY utilize external payment services. When an external payment service is selected, integration methods and necessary controls with that service SHOULD, as a principle, be customized within the Clearing and Payment function.

    • Rationale: To allow flexible implementation according to business requirements and to absorb differences among payment services while ensuring consistent provision of Clearing and Payment functionality.

  • If stored data is encrypted, standard cryptographic techniques, including those recommended by CRYPTREC, MAY be referenced and adopted as necessary.

    • Rationale: To allow consideration of encryption technologies in accordance with operational requirements.

  • Insufficient Authorization

    Returned when required permissions are lacking.

    Notify that the operation is not permitted. Do not resend, as it will not succeed.

    Resource Not Found

    Returned when the specified resource does not exist.

    Notify that the resource does not exist. Do not resend, as it will not succeed.

    Data Inconsistency Error

    Returned in cases such as duplicate data or concurrency control conflicts.

    Retrieve the latest data, resolve conflicts, and resend the request.

    Invalid Request Format

    Returned when an unsupported request format is specified.

    Set the correct Content-Type and resend the request.

    System Error

    Returned when an internal server error occurs.

    If it occurs continuously, notify the system administrator. Whether to resend depends on the operation performed.

    Data Provider

    An entity that sends data stored in a data store to a Data Consumer.

    Data Consumer

    An entity that receives data from a Data Provider.

    Payment Service

    An entity selected by the Data Provider outside this protocol to perform payment processing.

    Request

    Client (Transaction(L2)) ⇒ Server (Clearing and Payment)

    A message sent by the client to execute Clearing and Payment functions. Includes authentication information and request parameters.

    Response

    Server (Clearing and Payment) ⇒ Client (Transaction(L2)s)

    A message sent by the server in response to a request. Includes processing results and error information.

    Invalid Request

    Returned when parameters are invalid or required fields are missing.

    Verify input values, correct them, and resend the request.

    Token-related Error

    Returned when the access token is not set or is invalid.

    Reacquire and reset the access token (re-login or token refresh if necessary) and resend the request.

    Abstract Normative Specification

    Concepts and Roles

    Scope

    Normative Requirements

    Clearing

    Payment

    Non-functional / Cross-layer Requirements

    Message Types

    Protocol Flow

    Error Handling

    References

    https://www.cryptrec.go.jp/list/cryptrec-ls-0001-2022r1.pdf

    Clearing and Payment (P1)

    Data Format: Request and response bodies use JSON format.
  • Authentication and Authorization: OAuth 2.0-based token authentication is used.

  • Security Requirements: TLS 1.2 or higher is required to ensure encrypted communication.

  • For each field used in this binding, the following information is provided:

    • Field Name: Name used within this binding

    • Type: Data type (e.g., integer, string)

    • Requirement: Usage condition of the field

      • R = Required

      • C = Conditional

      • O = Optional

    • Request: Used in request messages

    • Response: Used in response messages

    • Description: Meaning and usage of the field

    Field Name
    Type
    Required
    Request
    Response
    Description

    x-payment-api-key

    String

    R

    ✔

    Since the Request and Response fields differ for each function of this protocol, refer to the API Specification.

    For detailed implementations such as Sent by, Resulting state(s), Request, Response, Examples, Error lists, and API-specific field definitions, refer to the API Specification.

    Category
    Function
    Description
    API Specification

    Usage Fee Model

    Register / Retrieve / Update / Delete Usage Fee Model

    Performs operations related to usage fee models that define pricing information for service usage. Usage fee models are defined per Data Provider, Data Consumer, and exchange target data.

    (Reference URL)

    Transaction Information

    • The purchase confirmation process is executed in accordance with the timing of log output from the Logging component.

    • A transaction is treated as eligible for planned billing and planned payment amounts when the data exchange status from the Data Consumer is “completed,” the data exchange status from the Data Provider is “completed,” and the data exchange log status is “successful.”

    • The Data Provider retrieves transaction information with a specified Data Consumer, filtered by time period and clearing/payment status.

    Concrete Specification

    Prerequisites

    Field Definitions

    Header Field Definitions

    Payload Field Definitions

    Functional Description

    Sequence Diagrams

    Usage Fee Model Registration / Update / Retrieval / Deletion

    Purchase Processing

    Purchase Confirmation Processing

    Payment Processing

    Payment Status Retrieval

    Specifies the API key issued per client application. ODS-specific field.

    Authorization

    String

    R

    ✔

    Specifies the access token. Example: Bearer .

    Content-Type

    String

    R

    ✔

    ✔

    Specifies the request format.

    User-Agent

    String

    R

    ✔

    Specifies the client user agent.

    Accept-Language

    String

    O

    ✔

    Specifies the client’s preferred language.

    X-TrackingID

    String

    R

    ✔

    ✔

    Specifies a unique ID used for request tracing. ODS-specific field.

    Content-Security-Policy

    String

    R

    ✔

    Specifies content loading and execution policies and controls allowed script and resource origins.

    X-Content-Type-Options

    String

    R

    ✔

    Prevents MIME-type sniffing by browsers and enforces the declared Content-Type.

    Strict-Transport-Security

    String

    R

    ✔

    Enforces HTTPS connections for a specified period and prevents downgrade to HTTP.

    Cache-Control

    String

    R

    ✔

    Specifies cache control mechanisms.

    ETag

    String

    C

    ✔

    Specifies a resource version identifier. Mandatory in responses to GET requests.

    Last-Modified

    String

    C

    ✔

    Specifies the last modified date and time of the resource. Mandatory in responses to GET requests.

    Transaction Eligibility Check

    Verifies whether a transaction is permitted for service usage. A transaction ID is issued when checking eligibility, and subsequent transaction information is managed using this ID.

    (Reference URL)

    Transaction Information

    Register / Update Data Exchange Status

    Registers transaction status (success/failure) from Data Consumers and Data Providers.

    (Reference URL)

    Transaction Information

    Retrieve Payment Status

    Allows a Data Provider to check the payment status associated with transaction information.

    (Reference URL)

    Billing / Payment

    Retrieve Planned Billing Amount

    Retrieves the planned billing amount for a Data Provider.

    (Reference URL)

    Billing / Payment

    Retrieve Planned Payment Amount

    Retrieves the planned payment amount for a Data Consumer.

    (Reference URL)

    Heuristic Contracting (P1)

    Protocol

    Overview

    This protocol is a Complementary Protocol corresponding to the DCS "Heuristic Contracting" of ODS-RAM, and is responsible for "an interface that supports the definition and agreement of terms of use and contractual conditions through third-party electronic contract applications (not including the contracts themselves)."

    The "Heuristic Contracting" Protocol Specification is scheduled for public release in fiscal year 2026.

    Open Data Spaces Introductory Guidebook for Users

    Chapter 2: Industrial Structural Transformation in the AI Era and the Strategic Value of Data Management

    2.1 Industrial Structural Transformation

    The structure of value creation has undergone significant change in recent years. A model in which value is continuously generated not only through performance and quality at the point of manufacture, but also through functional updates during operation and integration with external services, is becoming the norm. This shift is observed across many sectors, not just the automotive industry or manufacturing industry, and operations and services that leverage data and software are increasingly becoming the center of value competition.

    2.2 Global Structural Change and the Reality of Platform Competition

    In digital domains such as search, operating systems, social media, e-commerce, and cloud computing, platform-based businesses built on the accumulation of users and data have established competitive advantages. This is driven by a network effect: as more users join, more data accumulates, which enables service improvements, which in turn attracts even more users.

    In the domain of industrial data collaboration that this document addresses, however, different dynamics prevail compared to consumer-facing platforms. Data exchanged between enterprises comes with prerequisites such as contractual terms, liability boundaries, confidentiality requirements, and regulatory compliance, meaning that centralized management or lock-in by a single entity is not necessarily rational. According to research by NEDO (New Energy and Industrial Technology Development Organization)*1, the digital-related market centered on applications and middleware for such industrial data is expected to continue expanding, with projections reaching approximately 1.2 trillion dollar globally by 2040.

    2.3 The Structural Problem of "Data Exists But Cannot Be Used" and Data Access Capability

    In value creation involving AI and other technologies, competitive advantage is determined less by what data a company possesses and more by whether it can access the necessary data under appropriate conditions — what can be called data access capability. Yet many enterprises have not made sufficient progress in leveraging external data. The root cause lies not in a lack of effort by individual companies, but in structural factors. The structural challenges that impede data collaboration are systematically documented in Design Philosophy. This document proceeds on the premise that these challenges exist.

    The next chapter examines how Open Dataspaces differs from conventional data management frameworks and reviews the functional structure that users need to understand.


    Footnotes

    *1 New Energy and Industrial Technology Development Organization (NEDO). (2025). Market Size Study of Data Spaces and Impact Modeling & Scenario Analysis Report.

    https://www.nedo.go.jp/content/800039315.pdf

    Open Data Spaces Introductory Guidebook

    Open Data Spaces (ODS) is an open and scalable foundation for distributed data, built on organizational and national diversity by design

    “Open Dataspaces” as a general term in this document refers to a new-generation distributed data management approach and its constituent concepts. Its design draws on the original dataspace papers in the U.S. (Franklin et al., 2005; Halevy et al., 2006) and data mesh (Dehghani, 2019; Dehghani 2022) as its core, and incorporates verification through collaborative R&D with private companies and industry groups at a commercial level.

    This document aims to organize the perspectives needed for business practitioners and corporate planning staff at enterprises and government agencies that use or implement data management and AI services, to make informed decisions — regarding whether to enter, what roles their organization can play, and how to allocate initial investment — when considering entry into dataspace-related businesses.

    This document is not a technical manual or procedural guide explaining individual specifications or implementation steps, but rather focuses on providing the conceptual understanding and evaluation perspectives necessary for making entry decisions. It is important to develop this understanding while verifying what is possible with standard specifications using actual reference implementation software, and this is intended to be covered with concrete examples in the ODS Introductory Guidebook for Developers. Accordingly, this document serves as a prerequisite step, aimed at helping users(both in private and public sector) understand the overall picture of Open Dataspaces from their perspective, identify where business opportunities lie, and distinguish what should be verified in implementation guides and reference implementations beyond that point.

    Copyright of ODS Introductory Guidebook for Users belongs to IPA.

    This document (ODS Introductory Guidebook for Users) is provided under the Creative Commons Attribution 4.0 International (CC BY 4.0). Full license text:

    Copyright

    License

    https://creativecommons.org/licenses/by/4.0/

    Chapter 4: ODS Participation Structure

    4.1 Choosing a Participation Model: Distributed vs. Federated

    ODS-RAM offers two implementation patterns: the "Distributed Service Model" (in which the organization directly implements and operates ODS Protocols) and the "Federated Service Model" (in which the organization participates via a managed service provider). Table 4 presents an overview of the Distributed, Federated, and Hybrid models, the last of which combines elements of both. For users, the federated model tends to lower the barriers to entry in the initial stages. It should be noted that even in the federated model, the data provider retains responsibility for data and ontology, and exercises usage control.

    Table 4 Participation Models in ODS-RAM

    Participation Model
    Overview
    Cases Suited to User Enterprises

    Open Dataspaces is not a centralized platform but a distributed architectural paradigm in which multiple parties, centered on domain owners, each fulfill distinct roles and responsibilities. When evaluating entry and adoption, it is important to understand one's own position not from the perspective of "which entity to become", but rather "which functions and responsibilities to take on". (Table 5)

    Table 5 Types of Users in Open Dataspaces

    Participation Role
    Primary Responsibilities
    Examples of Entry as a User

    Participation in Open Dataspaces does not require uniform compliance with all requirements from the outset; phased adoption in line with the organization's own maturity is both realistic and effective. Table 6 presents the levels of phased adoption.

    Table 6 levels of Phased Adoption

    Level
    Status
    Typical Activities

    The key to successful participation in Open Dataspaces is to advance not from "abstract discussion of the framework" but in alignment with actual use cases. To progress participation in a phased manner, it is practical and effective to start by establishing the minimum necessary functions and governance structures within the use cases in which the organization has a direct stake.

    The following questions are useful as a starting point for selecting use cases:

    • Is the organization primarily a "data provider," a "data consumer," or both?

    • What is the current level of cost and effort spent on individual API integrations and CSV-based data exchange? (Save Money perspective)

    • How would data obtained through Open Dataspaces contribute to the organization's AI initiatives and BI/DI capabilities? (Make Money perspective)

    The next chapter systematizes the entry evaluation process for organizing answers to these questions.

    Industry Service User

    Adopt ODP-implemented applications and managed services as a user

    Use of Open-Dataspaces-compatible BI tools, DI tools, AI services, and inventory management services

    Fundamental Service User (Federated Model)

    Participate by utilizing foundational functions (Identity and Trust, Metadata Exchange, etc.) provided by a managed service provider

    Connect to Open Dataspaces using an external provider's ODP implementation

    Lv2: PoC Participation

    Participating in small-scale proof of concept using managed services

    Piloting one to two distributed data management use cases

    Lv3: Full Participation

    Full operation of internal data provision and external data utilization

    Distributed data management with multiple partners in continuous operation

    Lv4: Expansion and Rollout

    Horizontal expansion across multiple Open Dataspaces and industry profiles

    Leveraging Open Dataspaces as a competitive business advantage

    Distributed

    Operate ODS Middleware in-house and connect directly

    When the enterprise has technical capability and operational resources, and wishes to retain full control over software and its operations

    Federated

    Participate using infrastructure provided by a managed service provider

    When seeking early entry while keeping initial costs low, or when technical resources are limited

    Hybrid

    Core functions are operated in-house; supplementary functions leverage external services

    When expanding the scope of participation in a phased manner

    Data Provider (Domain Owner)

    Provide internally held data and its meaning (ontology) as a Product to external parties, and manage terms of use internally

    Conditional external provision of product data, sensor data, and purchasing data

    Data Consumer

    Acquire external data under defined conditions and apply it to operations, analytics, and AI

    Lv0: Pre-Consideration

    Not yet participating in Open Dataspaces; in information-gathering phase

    At the stage of reading this document; beginning to articulate challenges and use cases

    Lv1: Awareness

    Understanding concepts of Open Dataspaces and benefits; beginning internal discussion

    Evaluating whether to enter at the management and business planning level

    4.2 The Position of Users in Open Dataspaces

    4.3 Phased Entry Maturity

    4.4 Use Case-Driven Adoption Strategy

    Acquisition of supply chain data, integration with external APIs

    Chapter 3: What is Open Data Spaces (ODS)?

    3.1 Concepts of Open Dataspaces

    Open Dataspaces is neither an extension of an enterprise's internal data infrastructure nor a shared platform controlled by a single company. What matters is not "collecting all data in one place (Push and Ingest)," but rather "handling data in a distributed state — where it is, what it means, and who can use it and how (Serving and Pull)."

    As an approach to distributed data management, "Data Mesh" has already attracted significant attention in the United States and elsewhere, with a growing number of companies adopting it. However, data mesh focuses on how to manage data scattered within an organization while keeping it distributed, and does not address data management that crosses organizations and national boundaries. Open Dataspaces is an approach designed to fill this gap.

    There are various challenges in cross-organizational data management, and Open Dataspaces provides solutions addressing primarily the following three:

    1. "Where to Get" Problem: Addresses the existence, identity, and discoverability of data. (e.g., Where does that data exist in the first place? Does that data refer to the same thing as this data?)

    2. "What to Mean" Problem: Addresses the meaning, vocabulary, and semantic consistency of data. (e.g., What does that data mean? Is the meaning of that data consistent with the meaning of this data?)

    3. "Who and How to Use" Problem: Addresses subject trust, access, and terms of use. (e.g., Who is attempting to access the data? Who is allowed to access that data? How must that data be used?)

    These are organized as three pillars accordingly:

    • (1)DAD(Data Addressability and Discoverability)

    • (2)OSI(Ontology and Semantic Interoperability)

    • (3)IUC(Identity and Usage Control)

    The design philosophy, principles, and architectural implications of these three pillars are documented in Design Philosophy and ODS-RAM. This document limits its coverage to mapping the role of each pillar to the entry opportunities available to users.

    Conventional data management has relied on two approaches:

    1. consolidating data internally for management and analysis

    2. establishing individual point-to-point connections with each required counterpart.

    Open Dataspaces takes a different approach — neither consolidation nor individual negotiation — by handling existence, meaning, and terms of use while keeping data distributed. Table 2 presents a comparison with conventional data management approaches. For a more detailed comparison, please refer to "Design Philosophy".

    Table 2 Comparison with Conventional Data Management Approaches

    Perspective
    Individual API Integration
    Enterprise Internal Data Infrastructure
    Open Dataspaces

    The reasons data providers hesitate to share data externally go beyond the risk of information leakage alone. Compounding problems include: "We cannot accurately communicate what our data means to external parties," "Our data may be conflated with other companies' data and misused," and "It is difficult to operationalize terms of use." Open Dataspaces enables the separate handling of issues related to data existence and identification, data meaning and vocabulary, and access and terms of use. This separation makes it easier for data providing enterprises to design external data sharing within the necessary scope and conditions, without needing to unify their internal systems or internal identifiers.

    By separately handling discoverability, semantic organization, and the management of entities and terms of use, Open Dataspaces reduces the operational burden of "interpreting meaning, ensuring consistency, and confirming terms of use" after acquiring external data. This makes it easier for utilizing enterprises to incorporate external data into BI/DI analysis, business applications, and AI initiatives.

    Entry opportunities for users in Open Dataspaces can be organized as shown in Table 4. These represent general business model perspectives applicable across industries and use cases.

    Table 4 Entry Pattern to Open Dataspaces

    Entry Pattern
    Overview
    Save Money / Make Money Perspective

    It should be noted that in Open Dataspaces, N:N connectivity becomes a realistic option through a degree of discipline and interoperability. The scale of business value that cannot be achieved through one-to-one individual integrations represents the fundamental motivation for participation in Open Dataspaces.

    Finally, the relationship between the AI industry and the Open Dataspaces market is examined. In AI applications — particularly in analytics based on operational data and the use of Agentic AI — the ability to continuously handle "data context, meaning, terms of use, and currency" is more important than simply having a large volume of data. The Design Philosophy also highlights that in the Agrntic AI era, unique context is the essence of data, and emphasizes the importance of domain owners explicitly providing that context as meaning (ontology). Open Dataspaces technology provides the technical foundation for addressing these challenges through endpoint discoverability, semantics and ontology, and identity and usage control.

    As a result, the following kinds of benefits can be expected:

    • It becomes easier to perform reasoning and interpretation that presupposes relationships and context between data points

    • It becomes easier to construct AI pipelines that account for data provenance and currency

    • It becomes easier to incorporate external data into AI applications without relying solely on individual integration efforts

    The next chapter builds on this foundation to examine, from the perspective of participation structure, the positions that users can occupy.

    Assumes prior knowledge of connections and specifications

    Assumes an internal catalog

    Assumes addressability and discoverability (DAD)

    Handling of meaning

    Dependent on individual implementation

    Managed under internal schema; meaning and structure tend to be tightly coupled

    Meaning (semantics/ontology) is separated from structure (OSI)

    Identity and usage control

    Dependent on individual contracts and implementation

    Centered on internal access management

    Identity, access, and terms of use are handled explicitly (IUC)

    Ecosystem participation through mutual data exchange

    Exchange data mutually with multiple parties to enable supply chain management, quality control, and traceability

    Operational efficiency and risk reduction (Save) / Compliance with industry standards, enhanced brand value (Make)

    Adoption of ODP-implemented services as a user

    Use ODP-implemented managed services and applications as a user

    Reduced initial investment, faster time to value (Save)

    Data placement

    Handled individually per connection

    Consolidated internally

    Handled in a distributed state

    Collection and utilization of external data

    Acquire data from multiple providers and apply it to BI/DI/AI analysis and operational improvement

    Reduction of individual API coordination costs, faster decision-making (Save) / Improved AI accuracy, new service creation (Make)

    External provision and monetization of internal data

    Provide internally held data to external parties under defined conditions, generating revenue

    3.2 Differences from Conventional Data Management

    3.3 Value Provided by Open Dataspaces

    3.3.1 Value for Data Providers

    3.3.2 Value for Data Users

    3.4 Examples of Business Models Achievable with ODS

    3.5 The Relationship Between AI and Open Dataspaces

    Discovery

    Acquisition of new revenue streams, expansion of partnerships (Make)

    Chapter 1: Introduction

    1.1 Purpose of This Document

    The "Open Data Spaces Introductory Guidebook for Users (this document)" is not a technical manual or procedural guide explaining individual specifications or implementation steps, but rather focuses on providing the conceptual understanding and evaluation perspectives necessary for making entry decisions. It is important to develop this understanding while verifying what is possible with standard specifications using actual reference implementation software, and this is intended to be covered with concrete examples in the ODS Introductory Guidebook for Engineers. Accordingly, this document serves as a prerequisite step, aimed at helping users(both in private and public sector) understand the overall picture of Open Dataspaces from their perspective, identify where business opportunities lie, and distinguish what should be verified in implementation guides and reference implementations beyond that point.

    1.2 Intended Readers

    The users referred to in this document encompass a broad range of personas involving otganizations(both in private and public sectors) engaged in data management and AI service utilization:

    • GTM strategy and digital transformation staff at organizations considering the use of external data (procurement, quality management, AI analysis, etc.)

    • Data management and business development staff evaluating whether to provide or share their organization's data externally

    • System and procurement department staff seeking to improve data collaboration with multiple business partners and supply chain partners

    • Information systems and business reform staff considering the introduction of BI/DI analytics and AI services

    • New business development staff considering the use (as a user) of Open-Dataspaces-related managed services and applications

    This document focuses on the content necessary for users to decide whether to enter open dataspace-related businesses. Detailed specialized areas not directly relevant to that decision are not covered.

    • Explanation of the concept for Open Dataspaces

    • Entry axes and key evaluation points anticipated from the user perspective

    • Practical considerations for small-start

    • Explanation of design philosophy and architectural paradigms

    • Support and practices related to services provided by specific products or specific vendors

    • Compliance with legal systems, and legal or governance practices

    Related documents to be consulted are listed below:

    Table 1 Reference Documents

    Document Name
    Reference Purpose
    URL

    This document is structured to progressively deepen the understanding necessary for user enterprises to consider entry into dataspace-related businesses. Please read on, as each chapter covers the following topics:

    • Chapter 2: Industrial Structural Transformation in the Agentic AI Era and the Strategic Value of Distributed Data Management

    • Chapter 3: What is Open Dataspaces?

    • Chapter 4: Participation in Open Dataspaces and the Position of Users

    Requirements, analysis, and strategy for domain- or industry-specific use cases
  • Explanation of technical specifications, OSS (open source software) installation procedures, and SDK (software development kit) usage

  • ODS Protocols (ODP)

    A set of technical specifications that provide the functions realizing distributed data management based on ODS-RAM and ensure the interoperability of open dataspaces

    ODS Introductory Guidebook for Developers

    Intended for engineers adopting, deploying, or providing services based on open dataspaces technologies, this guide helps them understand the overall technical landscape and foundations, and begin design, implementation, and operations

    Chapter 5: The Process for Evaluating Entry for Open Dataspaces Business
  • Chapter 6: The Process for Planning Implementation of Open Dataspaces

  • Chapter 7: How to Proceed by Implementation Stage

  • Chapter 8: Summary and a Message to Users

  • Why Open Dataspaces: Design Philosophy and the Architectural Paradigm (hereinafter "Design Philosophy")

    A document explaining the design philosophy and architectural paradigm of ODS — a new technical paradigm for distributed data management across organizations, enterprises, and national borders

    https://www.ipa.go.jp/en/digital/architecture-guidelines/open-dataspaces-design-philosophy.html

    Open Data Spaces Reference Architecture Model (hereinafter "ODS-RAM")

    A reference architecture for distributed data management across enterprises, industries, and national boundaries. A reference document comprising technology paradigms, hierarchical structure models, protocol relationships

    https://open-dataspaces.gitbook.io/ods-docs/

    1.3 Scope of This Document

    In Scope

    Out of Scope

    Reference Documents

    1.4 Overall Structure of This Document

    https://open-dataspaces.gitbook.io/ods-docs/
    https://open-dataspaces.gitbook.io/ods-docs/

    Chapter 6: The Process for Planning ODS Implementation

    This chapter organizes the standard process for users adopting Open Dataspaces. The process proceeds in four steps:

    • (1) Organizing the project structure and architecture design

    • (2) Selecting an implementation approach

    • (3) Data handling agreements

    • (4) Ensuring data trustworthiness

    When launching an Open Dataspaces implementation project, begin by clarifying the following.

    • Clarify the purpose and objectives of adoption (starting from the challenge identification in Section 5.1)

    • Identify internal stakeholders (data management, IT, business units, legal) and build consensus

    • Identify external stakeholders (partners, managed service providers, integration vendors)

    Key deliverables:

    • Project Proposals: Background of the challenge, business positioning, system configuration policy, legal/compliance considerations, and business process definitions

    • Roles and Responsibilities Matrix: Delineation of areas handled by the organization itself versus those handled by managed service providers and integration vendors

    Implementation approaches can be broadly divided into two patterns in ODS-RAM: in-house development (Pattern A) and use of managed services (Pattern B). Each is described below to provide a basis for deciding which to adopt.

    An approach for organizations that have technical resources and wish to implement and operate ODS Protocols internally.

    • Proceed with development while verifying that the implementation of ODS Protocols

    • Leverage SDKs and reference implementation software (ODS Middleware), while developing business-specific logic in-house

    • Deliverables include connectivity and API specifications implementing ODS Protocols, and operational procedures

    When technical resources for implementing and operating ODS Protocols in-house are limited, or when minimizing entry costs at the PoC stage is a priority, the federated model — using services provided by managed service providers — becomes a realistic option.

    When selecting a managed service, confirm the following five perspectives:

    • Interoperability: Is ODP implemented and supported, and does the service offer interoperability with other products?

    • SLA and Support Structure: Do incident response, protocol update tracking, and operational support meet the organization's requirements?

    • Data Usage Control: Even in the federated model, can the organization retain control over the management and usage of its own data and ontology? (Is the service designed to avoid consolidating data with the service provider?)

    Distributed data management through ODS requires both a reliable technical foundation and the legal compliance that underpins it. It is important to organize data handling agreements while taking the following considerations into account:

    • Data Sharing Agreements: Clarify the roles, rights, and obligations among the three parties: "managed service provider," "data provider," and "data consumer." Customizing these to fit the organization's specific use case is an effective approach.

    • Explicit Terms of Use and Prohibitions: Data providers shall establish terms of use covering the purpose of use, duration of use, and whether secondary use or third-party provision is permitted. Ownership of intellectual property rights and terms of use should also be clearly defined in contracts in advance.

    • Traceability of Contract Execution and Performance: Ensure traceability of contract execution and performance through the use of digital contracts, smart contracts, etc..

    To ensure the trustworthiness of entities and data, it is necessary to organize authentication schemes (Table 9) and provenance management.

    Table 9 Authentication Schemes

    Authentication Scheme
    Target
    Content and Application Scenarios

    When designing a provenance management, it is effective to organize it in the following phased process:

    1. Visualize the data processing flow: Map the flow of data the organization provides and receives, the parties involved, and the points at which data is transformed or processed.

    2. Identify risks: Identify the primary risks at each data handoff point (information leakage, misuse, violations of terms of use, etc.).

    3. Select an authentication scheme: Determine which combination of self-declaration, mutual authentication, and third-party certification is appropriate, based on cost and the importance of the use case.

    Determine the entry pattern (distributed, federated, or hybrid) (refer to Section 5.2)
    For technical implementation guidance, refer to the Open Data Spaces Introductory Guidebook for Developers

    Phased Migration Feasibility: What is the portability and degree of vendor lock-in when migrating from federated to distributed in the future?

  • Pricing Model: Does the pricing structure based on number of users, data volume, and features align with the organization's business plan?

  • Warranties and Liability: It is standard practice for data providers to warrant that the data they provide does not infringe upon third-party rights and has been obtained lawfully, while not warranting the "accuracy" or "completeness" of the data (provided on an as-is basis).

    Third-Party Certification

    Optional

    Certification by an external certification body. Consider when industry standards or regulatory compliance is required, or when higher trust requirements apply.

    Determine the provenance management implementation policy: Design what granularity of access, operation, contract, and evaluation history will be recorded and made verifiable after the fact.

    Self-Declaration

    Participants

    The organization declares its own commitment to comply with usage rules. Readily applicable in the initial entry stage and at the PoC phase.

    Mutual Authentication

    Between participants

    6.1 Organizing the Project Prolosals and Teams

    6.2 Selecting an Implementation Approach

    Pattern A) In-House Development Using ODS SDKs and OSS

    Pattern B) Selection and Use of Managed Services

    6.3 Data Handling Agreements

    6.4 Ensuring Data Trustworthiness

    Evaluate and confirm the trust level of counterparties. Established based on agreement with the partner.

    Chapter 8: Conclusion

    8.1 Summary

    This document was written with the aim of organizing the perspectives needed for users to evaluate entry into dataspaces-related businesses — specifically, whether to enter, what roles their organization can play, and how to allocate initial investment.

    • Chapter 2 organized the changes in industrial structure and the background context that makes necessary of Open Dataspaces.

    • Chapter 3 presented the fundamental concepts of Open Dataspaces and the significance of its three pillars (DAD, OSI, and IUC), and organized four entry patterns available to users.

    • Chapter 4 organized the roles of participants in Open Dataspaces and the positioning of the organization itself, while Chapter 5 presented a four-step process for making the entry decision.

    • Chapter 6 covered the implementation planning process, and Chapter 7!organized the three stages of Evaluation, Proof of Concept, and Rollout (GTM).

    What this document has presented is neither a "universal architecture" nor "the one right answer." The focus has been on systematically organizing the points of uncertainty that users are likely to encounter, and providing a foundation for making informed decisions.

    A consistent theme throughout this document has been the importance of clarifying "how far not to go" — even more so than "how far to go." Distinguishing the areas the organization itself will handle, the areas a managed service will handle, the areas integration partners will handle, and the areas to be added in the future — and clearly defining the boundaries between each — is what makes it possible to avoid excessive initial investment and sustain participation over time.

    Unlike servicers, the first step for users is often to begin by "using" ODP-implemented managed services and applications. Before any technical implementation, it is an important prerequisite to understand "what it means to provide data" and "what conditions and responsibilities that entails."

    Open Dataspaces may appear complex, but at its core it is a collection of simple activities — connecting, coordinating, and complementing. The three things users need to take their first step are:

    1. Define the minimum use case the organization will take on

    2. Rather than attempting to implement everything in-house from the outset, leverage managed services to advance incrementally

    3. Learn through connections with integration partners, and expand the scope of participation in a phased manner

    It is our hope that this document serves as a resource to support your evaluation and preparation, and as an opportunity to discover new possibilities for data collaboration and data utilization through Open Dataspaces.

    8.2 Deciding "How Far Not to Go" Determines the Success of Entry

    8.3 Entry as a Users Begins with "Using"

    8.4 Start Small: Three First Steps

    Chapter 7: How to Proceed by Implementation Stage

    This chapter organizes the implementation stages for users actually launching dataspace-related businesses into three phases (Table 10) :

    1. Evaluation

    2. Proof of Concept

    3. Rollout (GTM, Go-to-Market)

    These stages do not progress in a strictly linear fashion; they are advanced iteratively in light of PoC results and changes in the external environment.

    Table 10 Implementation Stages of Open Dataspaces

    Stage
    Role
    Key Activities
    Primary Outputs

    Building on the entry pattern organized in Chapter 5, this phase gives concrete form to "what will and will not be built" as the construction scope. Table 11 presents the considerations to be addressed in this phase.

    Table 11 Considerations in the Evaluation Stage

    Perspective
    Key Considerations

    Confirm "whether the technical, business, and operational elements are viable" using a minimum viable configuration (MVP). The objective is not to achieve a high level of completeness, but to gain confidence that the system — including operations — can function end-to-end, with a design that structurally separates areas requiring external alignment from areas left to the organization's own discretion. Table 12 presents the considerations to be addressed in this phase.

    Table 12 Considerations in the PoC Stage

    Perspective
    What to Confirm

    Migrate to the production environment on the basis of the feasibility confirmed in the PoC stage. What matters here is not the success of a one-off PoC, but whether the system has the structural resilience to withstand updates to standard specifications, changes in operational requirements, and the expansion of integration partners. Table 13 presents the considerations to be addressed in this phase.

    Table 13 Considerations in the Rollout Stage

    Perspective
    Key Considerations

    Table 14 presents an implementation checklist to support the adoption readiness decision.

    Table 14 Implementation Checklist

    Checklist Item
    Sample Confirmation Question

    Building a PoC environment using managed services or SDKs; validating technical, business, and operational feasibility

    Feasibility report (technical, business, operational)

    Rollout Stage (GTM)

    Full implementation and sustained operation

    Migration to production environment, finalization of SLAs and pricing, continuous KPI management

    Production launch, GTM strategy execution

    Boundary conditions with other parties

    Clarify the delineation of responsibilities with data users, data providers, and managed service providers

    Ongoing business evaluation

    Define Save Money / Make Money KPIs and continue validating the value hypotheses formed during the PoV in the production environment

    PoC

    Has a PoC environment been built and operationally confirmed using an SDK or managed service?

    PoV

    Has the organization formed a value hypothesis with a sense of the numbers? (Preliminary estimates for Save Money / Make Money)

    Agreements and contracts

    Have data terms of use, participation conditions, and responsibility boundaries been established or agreed upon?

    Trust design

    Have authentication scheme selections (self-declaration, mutual authentication, third-party certification) and provenance management policies been determined?

    Operational structure

    Has an internal structure (responsible staff, budget, update response process) been established in preparation for production launch?

    Evaluation Stage

    Clarifying entry decision and scope

    Challenge identification, entry pattern selection, and PoC scope definition based on the process in Chapter 5

    Business plan hypotheses, minimum viable configuration (MVP) definition

    Proof of Concept Stage

    Finalizing the entry pattern

    Treat the entry pattern selected in Chapter 5 (data provider, consumer, or both) as a given premise

    Scope of building blocks to take on

    Determine which functional areas of DAD, OSI, and IUC to enter from; decide the extent of managed service utilization

    Separating mandatory areas from differentiated areas

    Distinguish areas governed by protocol (where interoperability is mandatory) from areas left to the organization's own discretion

    Technical feasibility

    Can the minimum configuration using managed services or SDKs operate standalone? Is interoperability ensured, and are optional extensions structurally separated?

    Business feasibility

    Can the intended value proposition be clearly explained? Can the organization concisely articulate to whom it is valuable, what it delivers, and why?

    Operational feasibility

    Can the operational burden of the minimum configuration be understood? Is there a clear outlook for configuration management, log collection, and update response?

    Keeping pace with specification updates

    Define a policy for responding to ODP updates; confirm the update-tracking capability of managed services

    Responding to operational requirements

    Address changes in participation conditions, credentials, and audit requirements; clarify the SLA scope and the organization's own scope of responsibility

    Preparing for horizontal expansion

    Organize in advance the expansion scenarios for multiple Open Dataspaces and multiple integration partners

    Clarification of purpose and challenges

    Has a use case been identified, and is the challenge to be solved articulated in concrete terms?

    Determination of entry pattern

    Has a decision been made on whether to enter as a data provider, data consumer, or both?

    Selection of implementation approach

    Has a decision been made on whether to proceed as distributed, federated, or hybrid?

    7.1 Evaluation Stage: Clarifying the Entry Decision and Build Scope

    7.2 Proof of Concept Stage: Confirming Feasibility with Minimum Configuration

    7.3 Rollout Stage (GTM): Transitioning to Full Implementation and Sustained Operation

    7.4 Implementation Checklist (Decision Support for Adoption Readiness)

    Confirming feasibility with minimum configuration

    Chapter 5: The Process for Evaluating ODS Adoption

    Chapter 5 The Process for Evaluating ODS Protocols Adoption

    This chapter organizes the evaluation process by which user enterprises determine whether to enter dataspace-related businesses. The process proceeds in four steps: "(1) Identifying the organization's own challenges and use cases," "(2) Selecting an entry pattern," "(3) Validating feasibility," and "(4) Making the entry decision."

    5.1 Step 1: Identifying the Organization's Own Challenges and Use Cases

    It is important that entry evaluation begins not from "responding to Open Dataspaces as a technology" but from "solving the organization's own business challenges".

    In the world of data management, the principle known as "Garbage-in, Garbage-out" illustrates that collecting large volumes of data without a clear purpose results in nothing more than mounting running costs, with ROI steadily worsening. Breaking free from the illusion that "something good will happen if we just collect data," and instead collecting only the data that is necessary — working backward from the purpose of solving a specific problem — will be the key to project success.

    The questions shown in table 7 are examples of how to articulate specific challenges as a starting point for this discussion.

    Table 7 Questions to Identify the Organization's Own Challenges

    Question (Example)
    Focus Area

    A users entry strategy can be organized as a combination of the following four axes. These axes are not independent — their combination gives concrete form to the entry approach.

    Choose from: data provider, data consumer, or a combination of both. Even within the same function, which role the enterprise takes on changes how value is articulated and where responsibility boundaries lie.

    Identify which of the following represents the organization's greatest pain: 'Where to Get' problem (DAD), 'What to Mean' problem (OSI), or 'Who and How to Use' problem (IUC).

    Distributed (the organization implements and operates protocols in-house) or federated (using managed services). In the initial stages, the federated model tends to lower entry costs.

    Determine whether the organization will design its own data provision scope, terms of use, and SLAs, or whether it will operate within the framework of a managed service.

    In addition to a PoC (Proof of Concept) that confirms technical operability, a PoV (Proof of Value) that validates "whether this makes sense as a business" is indispensable. Table 8 presents the steps for feasibility validation.

    Table 8 Steps for Feasibility Validation

    Type of Validation
    What Is Confirmed
    Primary Output

    Whether the organization can form its own hypothesis with a sense of the numbers for the following questions serves as one benchmark for deciding whether to proceed to full-scale entry.

    • Relative to current individual integration costs, how much cost reduction (Save Money) can be expected after Open Dataspaces entry?

    • To what extent will new revenue and competitive advantage (Make Money) emerge from the use of external data?

    • Is the initial investment required for entry (human resources, technology investment, external service costs) acceptable within the business plan?

    The next chapter organizes the implementation planning process following the decision to enter.

    What data is needed for AI and BI/DI initiatives but currently inaccessible?

    Upstream supply chain data, external statistical and market data, real-time environmental data, etc.

    How much does our current individual integration work cost in time and effort?

    Quantitative estimation from a "Save Money" perspective

    Operational Feasibility

    Whether the operational burden and organizational requirements of the minimum configuration can be understood.

    Operational flow

    Is there competitive risk if other organizations enter the Open Dataspaces busines?

    What specific business or operational challenge are we trying to solve by integrating data in the first place?

    Threats and opportunities facing the current business model; operations that are locally optimized at the individual team or company level but not optimized at the organization or supply chain level; data silos

    What is currently blocking us in connecting with external data?

    Coordination costs for individual API integrations, opacity of data quality, difficulty in aligning terms of use

    What would change if we could provide our data externally?

    New revenue streams, strengthened partnerships, compliance with industry standards

    PoC. Whether data integration is technically achievable in a minimum configuration (MVP).

     Confirmed by building a PoC environment using ODS SDKs or managed services.

    Connectivity validation report

    PoV

    ROI through cost reduction and value creation effects. Lead time improvements. Usefulness of external data for AI applications.

    5.2 Step 2: Selecting an Entry Pattern (Organized Along Four Axes)

    (1) The User's Participation Role

    (2) Addressing the Priority Pain Point: Which Challenge Will Open Dataspaces Solve?

    (3) Implementation Scope: The Range of Functions the Organization Will Handle Internally

    (4) Scope of Responsibility (SLA): How Much Will the Organization Take On?

    5.3 Step 3: Validating Feasibility

    5.4 Step 4: Making the Entry Decision

    Value hypothesis memo, business case

    References

    • Information-technology Promotion Agency, Japan. (2026). Open Data Spaces Reference Architecture Model.

    • Dehghani Z. (2019). How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh.

    • Dehghani Z. (2022). Data Mesh: Delivering Data-Driven Value at Scale. O'Reilly Media.

    Open Data Spaces Introductory Guidebook for Developers

    "Open Data Spaces (ODS)" is an open and scalable foundation for distributed data, built on organizational and national diversity by design.

    The general technical term "open dataspaces" as used in this document refers to a new-generation dataspace paradigm for distributed data management, designed with reference to the original dataspaces papers from the ACM Special Interest Group on Management of Data (Franklin et al., 2005; Halevy et al., 2006) and data mesh-related papers (Dehghani, 2019; Dehghani, 2022) as its core, and validated through research and development in collaboration with private companies and organizations at commercial-grade levels.

    This document is intended for vendors and engineers who actually implement and deliver open dataspaces technologies, and aims to organize the foundational concepts and minimum configuration needed to begin initial development and operations, with reference to ODS.

    Copyright of ODS Introductory Guidebook for Developers belongs to IPA, METI, and NEDO. ODS Introductory Guidebook for Developers was compiled and edited by IPA based on the outcomes of NEDO's "Project for the Development and Pilot of a Data Sharing System to Realize the Ouranos Ecosystem."

    This document (ODS Introductory Guidebook for Developers) is provided under the Creative Commons Attribution 4.0 International (CC BY 4.0). Full license text:

    Chapter 1 Introduction

    "Open Data Spaces Introductory Guidebook for Developers (this document)" is intended for engineers who are in a position to adopt, implement, or provide services refering to ODS. Its purpose is to provide an initial guide for understanding the overall technical landscape and fundamentals, and for beginning design, implementation, and operations.

    Open Data Spaces (ODS)" is an open and scalable foundation for distributed data, built on organizational and national diversity by design. Its adoption requires not merely system construction, but an approach that encompasses technology, compliance, and business considerations. For this reason, enterprises must make decisions — prior to asking "which technology to use" — about what to implement, how much to take on internally, and where to delegate to others. This document is not a technical manual or procedural guide explaining individual specifications or implementation steps; its primary focus is on providing the conceptual understanding and evaluation perspectives needed for making implementation decisions.

    Accordingly, this document aims to help enterprises that are adopting or providing ODS-based services understand the overall picture of ODS from their perspective, and to serve as an "entry point for stepping into design and implementation" toward the adoption of Open Dataspaces technologies.

    The engineers referred to in this document encompass a broad range of personas involved in the adoption, implementation, and planning of technologies related to data management and AI:

    Franklin M, Halevy A, Mayer D. (2005). From databases to dataspaces: a new abstraction for information management.

  • Halevy A, Franklin M, Mayer D. (2006). Principle of dataspace systems.

  • Information-technology Promotion Agency, Japan; Ministry of Economy, Trade and Industry. (2025). Whitepaper: Ouranos Ecosystem Dataspaces Reference Architecture Model (ODS-RAM). https://www.ipa.go.jp/digital/architecture/reports/ouranos-ecosystem-dataspaces-ram-white-paper.html

  • Tsuda M. (2026). Why Open Dataspaces: Design Philosophy and the Architectural Paradigm. Information-technology Promotion Agency. https://www.ipa.go.jp/en/digital/architecture-guidelines/open-dataspaces-design-philosophy.html

  • Introduction

    Copyright

    License

    https://creativecommons.org/licenses/by/4.0/
  • Architects and technical leads at enterprises responsible for ODS adoption and implementation

  • Architects and technical leads at software companies and their technical departments seeking to implement distributed data management services leveraging ODS

  • Developers, academics, students, and others who wish to explore ODS technology

  • This document focuses on the content necessary for engineers to begin adopting and implementing ODS. Detailed specialized areas involving advanced design and operations are not covered.

    • Foundational technical explanation to support ODS adoption and implementation

    • Explanation of technical specifications, OSS (open source software) installation procedures, and SDK (software development kit) usage

    • Explanation of design philosophy and architectural paradigms

    • Support and practices related to services provided by specific products or specific vendors

    • Compliance with legal systems, and legal or governance practices

    • Requirements, analysis, and strategy for domain- or industry-specific use cases

    • Ecosystem and community formation

    Related documents to be consulted are listed below:

    Table 1 Reference Documents

    Document Name
    Reference Purpose
    URL

    Why Open Dataspaces: Design Philosophy and the Architectural Paradigm (hereinafter "Design Philosophy")

    A document explaining the design philosophy and architectural paradigm of ODS — a new technical paradigm for distributed data management across organizations, enterprises, and national borders

    https://www.ipa.go.jp/en/digital/architecture-guidelines/open-dataspaces-design-philosophy.html

    Open Data Spaces Reference Architecture Model (hereinafter "ODS-RAM")

    A reference architecture for distributed data management across enterprises, industries, and national boundaries. A reference document comprising technology paradigms, hierarchical structure models, protocol relationships

    https://open-dataspaces.gitbook.io/ods-docs/

    This document is structured to progressively deepen the understanding necessary for business practitioners to begin adopting and implementing ODS. Please read on, as each chapter covers the following topics:

    • Chapter 2: Understand ODS-RAM (Open Data Spaces Reference Architecture Model), ODS Protocols and the positioning of its key components

    • Chapter 3: Develop a concrete image of implementation and operations through representative system architecture examples

    • Chapter 4: In the "Data as a Product" section, gain a foothold for getting started with the SDK through deployment and initial configuration procedures, and understand the initial setup and basic steps toward going live.

    • Chapter 5: In the "Ontology as a Product" section, gain a foothold for getting started with the SDK through deployment and initial configuration procedures, and understand the initial setup and basic steps toward going live.

    1.1 Purpose

    1.2 Intended Readers

    1.3 Scope of This Document

    In Scope

    Out of Scope

    Reference Documents

    1.4 Overall Structure of This Document

    2. Architecture

    Architectural Quanta (AQ) is the minimum constituent unit of architecture in distributed data management. Data Product is the AQ of data mesh. To address Data Product’s interoperability problem, Open Dataspaces newly introduces the concept of “Ontology Product”, which has a symmetric relationship with Data Product. Open Dataspaces then designates both Data Product and Ontology Product together as the constituent unit AQ. This is the greatest differentiator from the data mesh paradigm. Open Dataspaces calls this AQ paradigm the Double-Product Quanta Model (DPQM). (Figure 1)

    Figure 1: Double-Product Quanta Model (DPQM)

    ODS-RAM consists of four layers and four perspectives, which represent a functional decomposition of the DPQM defined as the minimum unit of architecture. (Figure 2)

    Figure 2: Relationship Between DPQM, Layers, and Perspectives

    ODS Protocols (ODP)

    A set of technical specifications that provide the functions realizing distributed data management based on ODS-RAM and ensure the interoperability of open dataspaces

    https://open-dataspaces.gitbook.io/ods-docs/

    Open Data Spaces Introductory Guidebook for Users

    A guide for business practitioners and corporate planning staff at companies that use or implement data management and AI services, to evaluate entry into dataspace-related businesses from the perspectives of whether to enter, what roles they can fulfill, and how to approach initial investment

    https://open-dataspaces.gitbook.io/ods-docs/

    Double-Product Quanta Model (DPQM)
    Relationship Between DPQM, Layers, and Perspectives

    Chapter 5 System Build and Operations Setup Procedures (Ontology as a Product)

    This chapter describes how to create semantic definitions using SAMM (Semantic Aspect Meta Model) as provided by the ODS SDK for Semantic (hereafter "SDK"), how to register them with the Discovery Service, and the SDK usage and environment setup procedures. For details, refer to the .

    SDK documentation

    Chapter 4 System Build and Operations Setup Procedures (Data as a Product)

    This chapter presents the procedures for building a minimum configuration system capable of performing data exchange between participants, using the deploy definition files provided by ODS SDK for Onboarding (hereinafter "SDK").

    System Build Procedures (4.1–4.3)

    4.1 System Architecture

    The system architecture to be built in this chapter is as shown in Figure 3. Rectangles represent components or services, and arrows represent dependencies between them.

    Figure 3 System Architecture Provided by the SDK

    This SDK uses PostgreSQL as the RDBMS, Keycloak as the authentication system, and OpenFGA as the ReBAC authorization system. In the following sections, the Identity Component and Web API Transfer Module may be referred to simply as L3 and L2, respectively.

    4.2 Initial Configuration of Each Component

    The SDK provides files that aggregate the deploy definition files for each service, which can be used to start and stop all services at once. The usage instructions for the Docker Compose version are shown below.

    Clone the SDK repository locally.

    $ git clone https://github.com/open-dataspaces/SDK-docker-compose.git

    Navigate into the cloned directory and clone the repositories for L2, L3, and the clearing and payment service.

    Run Docker Compose using the docker-compose.yml file located at the top level of the repository to start all services.

    The setup is complete when all services have started, as shown below. For procedures on starting and stopping components individually, refer to "4.5 Starting and Stopping."

    Next, perform the initial configuration for L3, OpenFGA, and L2 by running the scripts provided by the SDK. For details, refer to the .

    Before starting operations, it is necessary to register participant business information in L3. For details, refer to the .

    It is necessary to configure the L3 URL in L2's configuration file so that L2 can communicate with L3. For details, refer to the .

    The procedures for starting and stopping each component individually are as follows.

    Start

    Stop

    Start

    Stop

    Start (L3 and Logging must be started beforehand)

    Stop

    Start (L3 must be started beforehand)

    Stop

    Data providers must configure authorization settings for the APIs published by the industry service, for the business entity created in "4.3 Data Configuration for Starting Operations." For details, refer to the .

    Data users must set the headers shown in Table 2 in their HTTP requests.

    Table 2: Required Header Information

    Header Name
    Description

    Data users acquire data from providers using the following procedure.

    1. Obtain an access token: Follow to obtain an access token.

    2. Access data: Use the obtained access token to access data. A sample command is shown below.

    For details, refer to the .

    The types of logs output by each component are as follows.

    Logs output by L2 serve as the basis for billing records and are therefore collected by the logging service and stored as files in object storage. For information on output destinations, rotation intervals, and other details, refer to the .

    L3 outputs logs to standard output and standard error. When running in a container, logs can be viewed with the following command.

    The clearing and payment service outputs logs to standard output and standard error. When running in a container, logs can be viewed with the following command.

    X-ODS-xxx

    Item subject to logging. Specify for xxx the string designated by the service provider (e.g., X-ODS-UserId)

    API-Key

    API key issued by this service

    Authorization

    Access token issued by L3 (Identity Component) in JWT format

    X-TrackingId

    Log output item for provenance management (UUID format)

    Operations Setup Procedures (4.3–4.8)

    4.3 Data Configuration for Starting Operations

    4.4 Environment Configuration Between Components

    4.5 Starting and Stopping

    L3: Identity Component

    Logging Service

    L2: Web API Transfer Module

    Clearing and Payment Service

    4.6 Application Integration

    4.7 Executing and Verifying Data Exchange

    4.8 Monitoring (Log Management)

    L2: Web API Transfer Module

    L3: Identity Component

    Clearing and Payment Service

    SDK documentation
    relevant section of the SDK documentation
    relevant section of the SDK documentation
    relevant section of the SDK documentation
    L3 Reference Implementation Tutorial 5-3. User Authentication (Authorization Code Flow)
    relevant section of the SDK documentation
    relevant section of the SDK documentation
    $ cd SDK-docker-compose
    $ git clone --depth 1 https://github.com/open-dataspaces/L2-dp-webapi.git
    $ git clone --depth 1 https://github.com/open-dataspaces/L3-identity-component.git
    $ git clone --depth 1 https://github.com/open-dataspaces/DCS-Payment.git
    $ docker compose up -d
    [+] Running 17/17
     ✔ gateway                      Built                                                            0.0s
     ✔ payment-app                  Built                                                            0.0s
     ✔ l3-app                       Built                                                            0.0s
     ✔ Volume "ods_pgdata"          Created                                                          0.0s
     ✔ Volume "ods_postgres_data"   Created                                                          0.0s
     ✔ Volume "ods_pgdata_openfga"  Created                                                          0.0s
     ✔ Container minio              Started                                                          1.0s
     ✔ Container postgres           Started                                                          1.1s
     ✔ Container fluentd            Started                                                          1.1s
     ✔ Container l3-app             Started                                                          1.0s
     ✔ Container payment-db         Healthy                                                         11.5s
     ✔ Container postgres-openfga   Started                                                          1.0s
     ✔ Container payment-app        Started                                                         12.0s
     ✔ Container keycloak           Started                                                          1.7s
     ✔ Container openfga            Started                                                          1.6s
     ✔ Container ods-minio-init-1   Started                                                          1.4s
     ✔ Container gateway            Started                                                          2.2s
    $ docker compose -f l3/docker-compose.yml up -d
    $ docker compose -f l3/docker-compose.yml down
    $ docker compose -f logging/docker-compose.yml up -d
    $ docker compose -f logging/docker-compose.yml down
    $ docker compose up -d gateway 
    $ docker compose -f l2/docker-compose.yml down
    $ docker compose -f payment/docker-compose.yml up -d
    $ docker compose -f payment/docker-compose.yml down
    $ curl -X POST "http://localhost:8090/test " \
      -H 'api-key: 2dfd3409-ce01-4451-96fa-7e10c9681422y' \
      -H "Authorization: bearer $ACCESS_TOKEN" \
      -H 'X-ODS-UserId: 112233' \
      -H "Content-Type: application/json" \
      -H "Prefer: return=representation" \
      -d '{"userid":112233}' | jq .
    $ docker logs l3-app
    $ docker logs payment-app

    Chapter 3 System Architecture Examples

    This chapter presents two representative service models and system architecture examples as patterns for implementing the ODS-RAM.

    • Distributed Service Model: an approach in which domain owners themselves build a Self-Serve Data Platform and provide Data Product/Ontology Product based on DPQM

    • Federated Service Model: an approach in which a managed service provider delivers the basic software stack that constitutes DPQM on behalf of the domain owner, while the domain owner retains responsibility for providing Data/Ontology Product

    The architecture for implementing distributed data management varies depending on "which functions are provided by which party and to what extent."

    Figure 1 illustrates an example system architecture for the Distributed Service Model.

    Figure 1 Example System Architecture for the Decentralized Service Model

    In the distributed service model, both data providers and data users each hold the functions necessary to enable distributed data management. Typically, the following elements are deployed on the participant (data provider, data user) side. For details on each function, please also refer to the ODP.

    • Metadata Exchange

    • Discovery and Search

    • Identity and Trust, Credential Service

    • Transaction (Control Plane Orchestrator, Data Plane Module)

    Figure 2 illustrates an example system architecture for the Federated Service Model.

    Figure 2 Example System Architecture for the Federated Service Model

    In the federated service model, ODS Middleware are deployed as DSSP on the data provider side. DSSP supplements areas that would be burdensome for participants to prepare individually, enabling participants to focus on "providing and consuming data."

    In the ODS-RAM, each layer is independent of the others and fulfills its role in the overall distributed data management function through loose coupling. This allows the number of layers required to be selectively determined based on the nature and characteristics of the domain.

    For example:

    • if the data destination and meaning within a given cross-domain context are clear, it is acceptable to implement Data Product first using L3 through L1, omitting the Ontology Product (a set comprising L4 through L2).

    • In terms of the federated service model configuration described above, it is also acceptable to prioritize the implementation of L3: Identity and Trust and Credential Service, L2: Transaction, and L1: Data Store and Industry Services.

    In implementing the ODP, emphasis is placed on a Minimal Yet Viable design that allows opt-in participation in response to market demands centered on Save Money and Make Money. To achieve this, protocols are structured with loose coupling and backward compatibility built in at the design stage. The components that make up the two service models presented in this chapter should be understood as elements that are selected according to the characteristics and maturity of the market, and introduced and expanded incrementally.

    The following chapters proceed as follows:

    • Chapter 4 presents the procedures for building a minimum configuration capable of performing data exchange between participants, using the deploy definition files provided by ODS SDK for Onboarding. The build targets are presented as L3, L2, L1, Logging, and Clearing and Payment (optional).

    • Chapter 5 presents the methods for creating semantic definitions using SAMM (Aspect Model files, web service API definition files, and instance files) as provided by ODS SDK for Semantics, as well as the procedures for registering with the Discovery Service, using the SDK, and setting up the environment.

    Logging

  • Heuristic Contracting, Clearing and Payment (optional)

  • 3.1 Distributed Service Model

    3.2 Federated Service Model

    3.3 Opt-ins and Backward Compatibility

    Distributed Architecture Diagram
    Federated Architecture Diagram