Introduction to SOME/IP — Scalable Service-Oriented Middleware over IP

The Scalable Service-Oriented Middleware over IP — commonly known as SOME/IP — is a powerful communication framework that enables seamless interaction between distributed systems over automotive IP networks. Running on top of UDP or TCP, Scalable Service-Oriented Middleware over IP provides a standardized way for services to discover, connect, and exchange data with each other.

At its core, Scalable Service-Oriented Middleware over IP is built upon the principles of service-oriented architecture (SOA) as against the typically signal-oriented messaging generally followed by CAN, LIN, and FlexRay technologies. It was originally published in 2011 as part of the BMBF-funded SEIS project and later made part of the AUTOSAR specifications.

In this article, we will explore the details of SOME/IP, how Scalable Service-Oriented Middleware over IP is mapped to the OSI layer model, its message structure, service types, and the service discovery protocol that enables dynamic service registration.

Understanding the OSI Layer and its Mapping to SOME/IP

To grasp the inner workings of Scalable Service-Oriented Middleware over IP, it is essential to understand the OSI (Open Systems Interconnection) model and how it maps to SOME/IP.

The OSI model is a conceptual framework that defines the functions and interactions of different layers in a network architecture. In the case of SOME/IP, Scalable Service-Oriented Middleware over IP primarily operates at the application layer (Layer 7) of the OSI model.

SOME/IP builds upon the transport layer protocols — TCP and UDP — to establish reliable and efficient communication between services. By leveraging these lower layers, Scalable Service-Oriented Middleware over IP ensures that data is transmitted securely and efficiently across the network.

SOME/IP OSI Layer Model Mapping

Key Features and Benefits of SOME/IP — Scalable Service-Oriented Middleware over IP

Scalable Service-Oriented Middleware over IP offers a range of key features and benefits that make it an attractive choice for building distributed automotive systems:

  1. Scalability: SOME/IP provides a scalable architecture that allows systems to grow and adapt to changing demands. It enables the addition of new services and components without disrupting the existing infrastructure, making Scalable Service-Oriented Middleware over IP ideal for large-scale applications.
  2. Flexibility: With SOME/IP, developers have the flexibility to configure services and fields according to their specific requirements, optimizing the communication process and reducing latency.
  3. Real-time Communication: SOME/IP supports the Services-Event mechanism, enabling real-time communication between services — crucial for automotive systems where timely information exchange is critical for safety and performance.
  4. Service Discovery: Scalable Service-Oriented Middleware over IP incorporates a robust service discovery protocol mechanism that allows services to find and connect with each other dynamically, eliminating the need for hard-coded IP addresses.
  5. Efficient Data Transfer: Data serialization is a core aspect of Scalable Service-Oriented Middleware over IP, ensuring efficient and compact representation of complex data structures, optimizing network bandwidth and reducing processing overhead.

Exploring the Structure of SOME/IP Messages

SOME/IP messages follow a predefined structure specified by the Scalable Service-Oriented Middleware over IP standard. Each SOME/IP message consists of a header and a payload. The header contains essential information — the message ID, service ID, and method ID — which helps in routing and processing the message correctly. The payload carries the actual data to be exchanged between services.

SOME/IP Message Structure

The first 4 bytes of the header constitute the message ID. This message ID must be unique across the vehicle network. If the 15th bit is 0, the Message ID represents a Remote Procedural Call (RPC) with the upper 16 bits as the Service ID and the lower 15 bits as the method ID. If this bit is 1, the Message ID represents an Event with the lower 15 bits as the Event ID.

The next 32 bits indicate the length of the message including the header minus 8. The following part is the Request ID — a concatenation of Client ID and session ID. One byte holds the protocol version, followed by a 1-byte interface version. The next 8 bits hold the message type: Request, Request with no response, Notification, Response, or Error response.

Services in SOME/IP — Scalable Service-Oriented Middleware over IP

As the name Scalable Service-Oriented Middleware over IP implies, the building blocks of SOME/IP are its services. A service consists of one, multiple, or none of Fields, Methods, and Events.

Fields are the data components that hold a value such as Engine Temperature. They can offer one or more of: Setter (subscriber can change the value), Getter (subscriber can read the value), and Notifier (subscriber is sent the data on change of value).

Methods are functions or remote procedural calls that can be invoked on the provider by the subscriber. Events are data that are either sent cyclically or on change from publisher to subscriber. In object-oriented terms, Fields are members of an object, Methods are methods, and Events are callbacks.

Each service is uniquely identified by a service ID and IP address and can be consumed by one or more clients simultaneously.

Request/Response Method in SOME/IP

The Request/Response method is a fundamental communication pattern in Scalable Service-Oriented Middleware over IP. It enables a client to send a request to a server and receive a corresponding response, widely used in scenarios where a client requires specific data from a server.

SOME/IP Services Request Response

When using the Request/Response method, the client sends a message with a specific method ID and payload to the server. The server processes the request and sends back a response. The Request/Response method ensures synchronous communication between services and allows for reliable data exchange.

Fire and Forget Method in SOME/IP

The Fire-and-Forget method is another communication pattern supported by Scalable Service-Oriented Middleware over IP. Unlike Request/Response, it does not expect any response from the server. It is commonly used when a client needs to send a command or trigger an action without requiring confirmation.

SOME/IP Services Fire and Forget

The Fire-and-Forget method reduces the overhead of waiting for a response, resulting in improved performance and efficiency for non-critical operations.

Services-Event in SOME/IP: Enabling Real-time Communication

The Services-Event mechanism in SOME/IP enables real-time communication between services. It allows services to subscribe to specific events and receive notifications whenever those events occur. SOME/IP allows events to be transmitted on change or cyclically or both as per the sender configuration.

SOME/IP Services Event

In the Services-Event model, publishers generate events and notify subscribers, while subscribers express their interest in specific events and receive corresponding notifications. For example, a service might subscribe to the Engine Temperature event and receive notifications whenever the temperature exceeds a threshold, enabling real-time monitoring and immediate action.

Services-Field in SOME/IP: Flexibility in Service Configuration

Like the Event mechanism, the Field services feature in Scalable Service-Oriented Middleware over IP provides asynchronous notifications. The difference is that it is associated with a Field, enabling getter and setter operations. When the value changes, subscribers are notified of the update.

SOME/IP Services Get Set Field

For example, a service might have fields like Engine Speed, Fuel Level, and Odometer Reading. These fields can be updated and accessed independently, and subscribers are alerted on change with the updated value.

Event Group Subscription in SOME/IP

Sometimes it makes sense to group a set of events logically so that subscribers can subscribe to the entire event group with a single subscription rather than requesting each constituent event individually. For example, all events from a Fuel Computer module — low fuel, tank fill, fuel drain — can be grouped under FuelEvents. Scalable Service-Oriented Middleware over IP supports such event groups to optimize communication.

Service Discovery Protocol in SOME/IP

The SOME/IP service discovery protocol (SOME/IP-SD) is the mechanism by which clients and servers locate each other dynamically at runtime. The service discovery protocol uses a dedicated message format transmitted over UDP multicast and supports the following operations: Offer (server broadcasts available services), Find (client requests a specific service), Stop Offer (server announces service unavailability), Subscribe (client subscribes to an event group), SubscribeAck, SubscribeNack, and StopSubscribe. The service discovery protocol eliminates static IP configuration and supports plug-and-play addition of new services to the Scalable Service-Oriented Middleware over IP network. For teams building web-based service consumers or dashboards that integrate with SOME/IP, Embien's web application development services provide IP-layer service integration. For embedded-side service discovery protocol implementation within automotive ECUs, Embien's product engineering services offer SOME/IP stack integration across AUTOSAR and Linux platforms.

The service discovery protocol in SOME/IP is distinct from the data-plane messages: it uses a reserved Message ID of 0xFFFF8100 and its payload carries entry arrays describing offered or sought services along with options arrays containing endpoint information such as IPv4 address and UDP/TCP port. This clean separation between the service discovery protocol plane and the data plane is one of the architectural strengths of Scalable Service-Oriented Middleware over IP.

SOME/IP Protocol Integration in Automotive Networking

The SOME/IP protocol is now a foundational layer in modern automotive networking architectures, particularly in Ethernet-based domain and zonal controllers. In an automotive networking context, the SOME/IP protocol sits above the TCP/IP stack and integrates with the AUTOSAR Adaptive Platform, enabling service-oriented communication between high-compute ECUs such as ADAS processors, infotainment systems, and vehicle gateway modules. Understanding the SOME/IP protocol is essential for architects designing software-defined vehicle platforms where automotive networking must support dynamic service deployment and over-the-air configuration updates.

Scalable Service-Oriented Middleware over IP in Automotive Networking Design

When designing automotive networking architectures, Scalable Service-Oriented Middleware over IP offers clear advantages over signal-based protocols for high-bandwidth, low-latency domains. Scalable Service-Oriented Middleware over IP enables automotive networking to transition from static bus schedules to dynamic service meshes, supporting the needs of connected vehicle applications such as remote diagnostics, digital cockpit integration, and V2X data aggregation.

Conclusion

Thus, Scalable Service-Oriented Middleware over IP provides all the necessary mechanisms needed to achieve a service-oriented architecture in automotive systems. With its SOME/IP services, service discovery protocol, message types, and event group subscriptions, this article provides a base for understanding SOME/IP further. We will venture into data serialization, transport protocol, and the SOME/IP service discovery protocol in detail in the upcoming article on SOME/IP protocol communication.

« EXPLORING THE NMEA 2000 PROTOCOL
SOME IP PROTOCOL COMMUNICATION A COMPREHENSIVE GUIDE »

Related Content

Scalable Service-Oriented Middleware over IP Development Services
insight image

Embien's integrated product engineering services include Scalable Service-Oriented Middleware over IP (SOME/IP) stack development, service discovery protocol integration, and AUTOSAR Adaptive deployment.

Read More


Embedded Software for Scalable Service-Oriented Middleware over IP
insight image

Embien's embedded software development services cover SOME/IP stack implementation, service discovery protocol configuration, and automotive networking integration for Ethernet-based ECU platforms.

Read More


IoT Protocol Integration — Energy Meter Reading with eStorm-B1
insight image

An IoT-based energy meter reading solution demonstrating Embien's expertise in service-oriented protocol stacks applicable to Scalable Service-Oriented Middleware over IP deployments.

Read More


Subscribe to our Insights