# US 7,411,953 B2 · Distributed finite state machine

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,411,953 B2
- Document ID: US7411953B2
- Status: Granted
- Kind: B2
- Application number: 11/038,205
- Filed: 2005-01-21
- Published: 2005-08-04
- Granted: 2008-08-12
- Earliest claimed: 2004-02-02
- Assignees: Telefonaktiebolaget LM Ericsson (publ)
- Inventors: Sylvain Monette; Mathieu Giguere; Martin Julien; Benoit Tremblay
- Web page: https://patentgrep.com/patent/US7411953B2

## CPC

- H04L 49/3009: {Header conversion, routing tables or routing tags}
- H04L 45/76: Routing in software-defined topologies, e.g. routing between virtual machines
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A finite state machine and a router adapted thereto for providing a service. The finite state machine is executed on a first and a second distinct hardware modules. The first module has access to a first memory and the second module has access to a second memory. The first and second memory are different and not shared therebetween. At least one transition between a first state and a second state of the finite state machine from the first module to the second module is performed by sending local information of the first module toward the second module. The local information at least indicates the second state of the finite state machine. Local information can be inserted by the router, for example, in a meta-data header.

## Claims

### Claim 1

A finite state machine for providing a service, the finite state machine being executed on a first and a second distinct hardware modules:
wherein the first module has access to a first memory and the second module has access to a second memory, the first memory and the second memory being different and not shared therebetween and wherein at least one transition between a first state and a second state of the finite state machine from the first module to the second module is performed by:
sending local information of the first module toward the second module, wherein the local information at least indicates the second state of the finite state machine.

### Claim 2 (depends on 1)

The finite state machine of claim 1 wherein the local information further comprises results of the first state, wherein the results of the first state are obtained by the first module using information unavailable to the second module.

### Claim 3

A router for providing at least one network service, the router comprising:
a network interface;
a forwarding element receiving a packet stream on the network interface, wherein the forwarding element is:
following reception of at least one packet of the packet stream, detecting that at least one further action is necessary to provide the at least one service;
detecting that the farther action cannot be performed in the forwarding element; and
sending the packet stream to a further element of the router by adding a meta-data header to each packet of the packet stream, wherein the meta-data header contains an identification of the further action.

### Claim 4 (depends on 3)

The router of claim 3, wherein the forwarding element is further inserting in the meta-data header information available locally that is useful for the further element to perform the further action and that would otherwise not be available thereto.

### Claim 5 (depends on 3)

The router of claim 3, wherein the forwarding element is further:
performing computation on the packet stream; and
inserting in the meta-data header results of the computation that is useful for the further element to perform the further action.
