Internet DRAFT - draft-dalela-sop-flows
draft-dalela-sop-flows
Network Working Group A. Dalela
Internet Draft Cisco Systems
Intended status: Standards Track M. Hammer
Expires: July 2012 January 4, 2012
SOP Message Flows
draft-dalela-sop-flows-00.txt
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on July 4, 2012.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Dalela Expires July 4, 2012 [Page 1]
Internet-Draft SOP Message Flows January 2012
Abstract
This document describes the Service Orchestration Protocol (SOP)
message flows for some important service orchestration scenarios. The
flows contain complete packet information including both SOP and
Service Description Framework (SDF) payloads. The message flows in
this document are by no means exhaustive, but they carry sufficient
information using which other flows can be easily constructed. The
deployment scenarios for services are varied, and it is not possible
to cover every possible scenario. Nevertheless, those flows will
follow closely the information given in this document.
Table of Contents
1. Introduction...................................................3
2. Conventions used in this document..............................3
3. Terms and Acronyms.............................................3
4. Network Discovery..............................................4
4.1. Service Node to Proxy Discovery...........................4
4.2. User to Proxy Discovery...................................7
4.3. Proxy to Proxy Discovery.................................11
4.4. WS to Proxy Discovery....................................12
5. Service Provisioning..........................................13
6. Service Deletion..............................................19
7. Service Update................................................20
8. Service Mobility..............................................22
8.1. Stateful Service Mobility................................22
8.2. Stateless Service Mobility...............................26
9. Security Considerations.......................................28
10. IANA Considerations..........................................28
11. Conclusions..................................................28
12. References...................................................28
12.1. Normative References....................................28
12.2. Informative References..................................28
13. Acknowledgments..............................................28
Dalela Expires July 4, 2012 [Page 2]
Internet-Draft SOP Message Flows January 2012
1. Introduction
This document describes orchestration message flows using the Service
Orchestration Protocol (SOP) messages and the Service Description
Framework (SDF) payloads. The SOP document [SOP] describes service-
independent messages and headers. The SDF document [SDF] describes a
framework to construct service-specific information payloads. The
present document combines SOP messages and SDF payloads into end-to-
end message flows for service orchestration.
This document also complements the SOP requirements [REQT] and SOP
architecture [ARCH] documents that cover interoperability and
deployment scenarios respectively. The flows covered in this document
apply to those interoperability and deployment scenarios.
2. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [RFC2119].
In this document, these words will appear with that interpretation
only when in ALL CAPS. Lower case uses of these words are not to be
interpreted as carrying RFC-2119 significance.
3. Terms and Acronyms
The key words Provider, Vendor, User, Orchestration, Client, in this
document have the same meaning as defined in SOP requirements [REQT].
The key words Proxy, Workflow Server (WS), Service Node (SN),
Workflow Anchor (WA), Workflow Branching, in this document have the
same meaning as defined in SOP architecture [ARCH].
The key words Service Description Framework (SDF), Service Domain
Name (SDN), SDN Attributes, Vendor Specific Domains (VSD) in this
document have the same meaning as defined in SDF description [SDF].
All messages, timers, counters, message headers and their values used
in this document are described in the SOP document [SOP].
Dalela Expires July 4, 2012 [Page 3]
Internet-Draft SOP Message Flows January 2012
4. Network Discovery
SOP discovery procedures involve multiple kinds of discoveries: (a)
SN to Proxy discovery, (b) User to Proxy discovery, (c) Proxy to
Proxy discovery, and (d) WS to Proxy discovery.
4.1. Service Node to Proxy Discovery
The SOP message flow for service discovery is shown below.
+--------+ +--------+ +--------+
| SN | | Proxy | | WS |
+--------+ +--------+ +--------+
| DISCOVER | |
|----(Proxy for svc X?)----->| |
| | |
| ADVERTISE | |
|<----(Proxy for svc X)------| |
| | |
| REGISTER | |
|------(SN is usable)------->| |
| | |
|<-------- 200 OK -----------| |
| | |
| PUBLISH | |
|-----(Update on Svc X)----->| PUBLISH |
| |-----(Update on Svc X)---->|
| | |
| |<---------200 OK-----------|
|<-------- 200 OK -----------| |
| | |
Figure-1: Message Flow for Service Node Discovery
On initialization, a SN will send out a DISCOVER message asking for a
Proxy to which it can send service information. The DISCOVER MUST
carry the Service Domains that the SN supports. A Proxy will respond
only for Domain Names that it is configured to Proxy. This allows
multiple kinds of domain specific Proxies to exist in a network,
orchestrating specific kinds of services only. DISCOVER is optional
and should be sent if an ADVERTISE matching the service has not been
received. It will use the IP broadcast address.
DISCOVER 1 SOP/1.0
From: default@default.com
Dalela Expires July 4, 2012 [Page 4]
Internet-Draft SOP Message Flows January 2012
Via: SOP/1.0/UDP default@default.com;branch=k9DjR5lbcw
Timestamp: 1285162130
Sequence-ID: 1 DISCOVER
Content-Type: application/sdf; charset=utf-8
Content-Length: 100
<?xml version="1.0" encoding="UTF-8"?>
<domain name="iaas.compute" type="capability" def="sdn"/>
In above message, SN supports the iaas.compute domain. It sends
DISCOVER to find any Proxies that may proxy for this domain.
On initialization, or on the receipt of a DISCOVER message, or on the
expiry of the Advertise-Timeout, whichever comes earlier, the Proxy
SHALL send an ADVERTISE message indicating its presence and readiness
to proxy for some service domains. The ADVERTISE will be unicast if
sent to a specific SN after receiving a DISCOVER from it. Otherwise,
the DISCOVER SHOULD be broadcast to all SN in the network. The
ADVERTISE MUST indicate service Domain Names so that only SNs with
those capabilities need to take cognizance of it.
ADVERTISE 1 SOP/1.0
From: default@p.provider.com
To: default@default.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.provider.com;branch=k9DjR5lbcw
Timestamp: 1285162132
Sequence-ID: 13224 ADVERTISE
Registration-Timeout: 1000
Advertisement-Timeout: 2500
Commit-Timeout: 30
Cancel-Timeout: 15
Publish-Timeout: 500
Subscribe-Timeout: 5000
Retry-Count: 3
Content-Type: application/sdf; charset=utf-8
Content-Length: 100
<?xml version="1.0" encoding="UTF-8"?>
<domain name="iaas.compute" type="capability" def="sdn"/>
The ADVERTISE message also has the function of globally configuring
all SNs under its control by sending out Timer and Counter
information in the message itself. Each transaction can subsequently
override these values for that transaction alone. Unless overridden
in those requests, these values apply for all transactions.
Dalela Expires July 4, 2012 [Page 5]
Internet-Draft SOP Message Flows January 2012
On receiving the ADVERTISE, a SN MAY respond with a REGISTER, if the
domains match. The REGISTER would be sent after receipt of the
ADVERTISE if the SN has not already registered, or upon the expiry of
the Registration-Timeout, whichever comes first. REGISTER identifies
a SN to the Proxy and acts as heartbeat between Proxy and SNs.
REGISTER 1 SOP/1.0
From: default@default.com
To: default@p.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@default.com;branch=k9DjR5lbcw
Sequence-ID: 1 REGISTER
Transfer-Mode: service-driven
Node-Type: service-node
Content-Type: application/sdf; charset=utf-8
Content-Length: 100
<?xml version="1.0" encoding="UTF-8"?>
<domain name="iaas.compute" type="capability" def="sdn"/>
In the example above, the REGISTER is being sent for the first time
to the Proxy. The SN does not yet have an identity. The "From" header
therefore has the default SOP address. For subsequent REGISTER, the
identity assigned to the SN in prior REGISTER MUST be used.
On receiving a REGISTER and after validating that the SN belongs to
the domain that the Proxy is configured for, the Proxy SHOULD respond
with a 200 OK, indicating a successful registration. If the REGISTER
had not indicated a unique name (the From field), the Proxy response
MUST contain a Service-ID header, assigning a user-name to the
service. The SN MUST use the assigned Service-ID henceforth, and the
Proxy SHALL reject all requests that do not match the assigned
Service-ID name (the "default" name is always admitted). The Proxy
SHALL match the name of the requestor against its IP Address that was
used during REGISTER for all subsequent requests.
200 OK 1 SOP/1.0
From: default@p.provider.com
To: default@4357254.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.provider.com;branch=k9DjR5lbcw
Sequence-ID: 1 REGISTER
Service-ID: 4357254.provider.com
Upon a successful registration, the SN SHALL send a PUBLISH to the
Proxy providing details about available services. While the REGISTER
Dalela Expires July 4, 2012 [Page 6]
Internet-Draft SOP Message Flows January 2012
is sent periodically, the PUBLISH SHOULD be sent only when service
availability changes or after the first registration or when the
Publish-Timeout expires, whichever comes first. A SN SHOULD send
PUBLISH after service creation or deletion to update the Proxy about
its new capabilities (which may be increased or decreased).
PUBLISH 1 SOP/1.0
From: default@4357254.provider.com
To: default@p.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@4357254.provider.com;branch=k9DjR5lbcw
Sequence-ID: 13432 PUBLISH
Distance: 1
Node-Type: service-node
Content-Type: application/sdf; charset=utf-8
Content-Length: 513
<?xml version="1.0" encoding="UTF-8"?>
<domain name="iaas.compute" type="capability" def="sdn">
<!-- list of domain attributes -->
</domain>
<domain name="iaas.compute" type="availability" def="sdn">
<!-- list of domain attributes -->
</domain>
The PUBLISH message MUST list capabilities for its domains. Upon
receipt of the PUBLISH, the Proxy MUST forward it to the appropriate
WS (the WS MUST have prior done a SUBSCRIBE for specific domains, see
Section 4.4. ). This allows the WS to know of the SN's capabilities
which can then be utilized in service allocations. After successfully
updating its service repository, the WS SHOULD respond with a 200 OK.
The Proxy SHALL forward the 200 OK back to the SN.
200 OK 1 SOP/1.0
From: default@p.provider.com
To: default@4357254.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.provider.com;branch=k9DjR5lbcw
Sequence-ID: 13432 PUBLISH
4.2. User to Proxy Discovery
Clients MAY be configured with Proxy addresses (e.g. if Client
connect to Proxies over the Internet where broadcasting is
impractical). The ADVERTISE from the Proxy is still useful because it
downloads network configuration of Timers, Counters, etc. Such a
Client SHOULD initiate the Proxy discovery by sending a unicast
Dalela Expires July 4, 2012 [Page 7]
Internet-Draft SOP Message Flows January 2012
DISCOVER to the Proxy. The ADVERTISE in response will also be
unicast. Subsequent REGISTER is identical to service discovery.
The message flow for user discovery differs from that of service
discovery in that a user does not send a PUBLISH to advertize its
capabilities. Instead, the user sends a SUBSCRIBE to the Proxy to
express its interest in certain types of services.
The SUBSCRIBE message SHOULD be sent by the User after a new
registration, or when the interest list of services changes, or upon
the expiry of Subscribe-Timeout, whichever comes first. SUBSCRIBE is
a request-response sequence and the Proxy SHALL send a 200 OK if the
SUBSCRIBE matches the service capabilities of the Proxy. In case a
Proxy's service capabilities change, the Proxy MUST send out a new
ADVERTISE listing new domain capabilities. If those capabilities are
of interest to a User, it MAY send a new SUBSCRIBE expressing
interest in receiving information about those services.
+--------+ +--------+ +--------+
| User | | Proxy | | WS |
+--------+ +--------+ +--------+
| DISCOVER | |
|---(Proxy for Domain X?)--->| |
| | |
| ADVERTISE | |
|<---(Proxy for Domain X)----| |
| | |
| REGISTER | |
|----(User is available)---->| |
| | |
|<-------- 200 OK -----------| |
| | |
| SUBSCRIBE | |
|---(Updates on Domain X)--->| SUBSCRIBE |
| |---(Updates on Domain X)-->|
| | |
| |<---------200 OK-----------|
|<-------- 200 OK -----------| |
| | PUBLISH |
| PUBLISH |<--(Updates on Domain X)---|
|<---(Updates on Domain X)---| |
| | |
|--------- 200 OK ---------->| |
| |----------200 OK---------->|
Figure-2: Message Flow for User Discovery
Dalela Expires July 4, 2012 [Page 8]
Internet-Draft SOP Message Flows January 2012
A SUBSCRIBE message SHOULD have a list of service domains the User is
interested in. If a SUBSCRIBE is sent without any specific domain,
the Proxy SHALL interpret it as an interest in all domains. The User
must also mention the Node-Type as a "service-client".
SUBSCRIBE 1 SOP/1.0
From: default@ws.provider.com
To: default@p.provider.com
Via: SOP/1.0/UDP default@ws.provider.com;branch=k9DjR5lbcw
Exchange: 43shXui7236
Timestamp: 1285162130
Sequence-ID: 1 SUBSCRIBE
Node-Type: service-client
Content-Type: application/sdf; charset=utf-8
Content-Length: 154
<?xml version="1.0" encoding="UTF-8"?>
<domain name="iaas.compute" type="capability" def="sdn/>
When a SUBSCRIBE is received, and the Proxy can support those
domains, it MUST forward the SUBSCRIBE to an appropriate WS. The WS
MUST validate if the user is authorized to receive those services. If
the user is authorized, the WS SHALL respond with a 200 OK to the
Proxy, and the Proxy SHALL forward the 200 OK to the Client.
200 OK 1 SOP/1.0
From: default@p.provider.com
To: default@ws.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.provider.com;branch=k9DjR5lbcw
Sequence-ID: 1 SUBSCRIBE
After subscribing to certain domains the WS SHALL send updates on
services through the PUBLISH message. These updates MUST be sent
after the first SUBSCRIBE, whenever services availability changes
(new services are available or old ones are removed), or upon expiry
of a Publish-Timer, whichever comes first. The PUBLISH message SHOULD
be forwarded to the Proxy which will send it to the Client. The Proxy
MUST change the From header to its own address (to hide the WS from
the Client). Upon receiving the PUBLISH, the Client SHOULD respond
with a 200 OK confirming receipt.
It SHOULD be possible to configure a WS for forwarding different
categories of information to the User through a PUBLISH:
- A WS may forward details of every SN available in its network to
the User and their individual service capabilities.
Dalela Expires July 4, 2012 [Page 9]
Internet-Draft SOP Message Flows January 2012
- A WS may only forward aggregated status of SNs in the network,
aggregated by domains, geographies, or other criteria.
- A WS may not forward any service status, but only mention that it
supports services from a certain domain.
- A WS may send to the user a list of all Workflows available that
may be of interest to the User.
- A WS may filter available Workflows and send only those Workflows
that have been explicitly configured for the User.
Accordingly, the PUBLISH can have different types of content. The
receiving Proxy SHOULD use the Node-Type header to apply a node-
specific policy of publishing (in conjunction with other policies).
The example below shows a PUBLISH that publishes a Workflow.
PUBLISH 1 SOP/1.0
From: default@p.provider.com
To: consumer@customer.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@4357254.provider.com;branch=k9DjR5lbcw
Sequence-ID: 13432 PUBLISH
Distance: 1
Content-Type: application/sdf; charset=utf-8
Content-Length: 513
<?xml version="1.0" encoding="UTF-8"?>
<workflow name="X32mnTrUwq" anchor="p.provider.com">
<description>workflow description</description>
<taskgroup id="1" prev="idle" next="idle">
<description>taskgroup description</description>
<task id="1" prev="idle" next="2" action="CREATE">
<domain name="iaas.compute" type="capability" def="sdn">
<!-list of domain attributes -->
</domain>
</task>
<task id="2" prev="1" next="idle" action="CREATE">
<domain name="iaas.network" type="capability" def="sdn">
<!-list of domain attributes -->
</domain>
</task>
</taskgroup>
</workflow>
The Workflow contains a list of tasks, domains and attributes, that
the user needs to populate. The WS can mask one or more of the tasks,
Dalela Expires July 4, 2012 [Page 10]
Internet-Draft SOP Message Flows January 2012
domains and attributes of a Workflow that are visible to a user. In
effect, the user is only allowed to specify certain portions of the
Workflow, and leave the rest to the WS. The Workflow can be viewed as
an API exposed to the user where the User is allowed to fill up
certain number of parameters before sending to Proxy. If the User
accepts the Workflow it SHOULD send a 200 OK response.
200 OK 1 SOP/1.0
From: consumer@customer.com
To: default@p.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@customer.com;branch=k9DjR5lbcw
Sequence-ID: 1 PUBLISH
4.3. Proxy to Proxy Discovery
+--------+ +--------+ +--------+
| Proxy | | Proxy | | WS |
+--------+ +--------+ +--------+
| DISCOVER | |
|---(Proxy for Domain X?)--->| |
| | |
| ADVERTISE | |
|<---(Proxy for Domain X)----| |
| | |
| REGISTER | |
|----(User is available)---->| |
| | |
|<-------- 200 OK -----------| |
| | |
| SUBSCRIBE | |
|---(Updates on Domain X)--->| SUBSCRIBE |
| |---(Updates on Domain X)-->|
| | |
| |<---------200 OK-----------|
|<-------- 200 OK -----------| |
| | PUBLISH |
| PUBLISH |<--(Updates on Domain X)---|
|<---(Updates on Domain X)---| |
| | |
|--------- 200 OK ---------->| |
| |----------200 OK---------->|
Figure-3: Message Flow for Proxy Discovery
SOP network setup requires Proxies to discover other Proxies. This
discovery procedure is nearly identical to that for Users. Each Proxy
Dalela Expires July 4, 2012 [Page 11]
Internet-Draft SOP Message Flows January 2012
SHALL send a SUBSCRIBE to other Proxies that it is configured to
communicate with, along with service domains that it is interested
in, in much the same way as the User subscribes for services. The
Node-Type header for Proxies should be set to "service-proxy". The
subscribing Proxy is the Client for receiving service information.
The PUBLISH accordingly can forward to that Proxy information about
the Workflows it owns, about the services its managing and details or
summaries of current capacities (depending on configured policies).
4.4. WS to Proxy Discovery
+--------+ +--------+
| WS | | Proxy |
+--------+ +--------+
| DISCOVER |
|---(Proxy for Domain X?)--->|
| |
| ADVERTISE |
|<---(Proxy for Domain X)----|
| |
| REGISTER |
|-----(WS is available)----->|
| |
|<-------- 200 OK -----------|
| |
| SUBSCRIBE |
|<--(Updates on Domain X)----|
| |
|--------- 200 OK ---------->|
| |
| PUBLISH |
|----(Updates on Domain X)-->|
| |
|<-------- 200 OK -----------|
| |
Figure-4: Message Flow for WS Discovery
A Proxy SHALL send its interest domains through an ADVERTISE. If the
WS finds a match, it SHALL send a REGISTER to the Proxy. In the
REGISTER, the Node-Type should be set as "workflow-server". This
informs the Proxy to send a SUBSCRIBE to the WS for interested
service domains. In the SUBSCRIBE, the Proxy SHALL indicate its
domains of interest. If one or more such domains match, the WS SHOULD
send a 200 OK, listing the matching domains. After this the WS SHOULD
forward matching Workflows to the Proxy.
Dalela Expires July 4, 2012 [Page 12]
Internet-Draft SOP Message Flows January 2012
Workflows in the WS SHOULD be configured with Anchors against each
Workflow. This allows a WS to determine which Workflows to forward to
a Proxy. The Anchors SHOULD be mentioned as the "anchor" attribute in
the <workflow> element. The "anchor" attribute informs the service
network where the workflow is anchored. When a Proxy forwards a
Workflow to another Proxy, it MAY retain the Anchor information. A
Proxy MAY remove the "anchor" attribute if forwarding the Workflow
outside an administrative domain to hide the service network's
topology. However, the Proxy MUST maintain Anchor information
internally to know which Proxy to send the information to.
Each Workflow has a "distance" attribute. This attribute must be
incremented by 1 every time a Proxy forwards a Workflow to another
Proxy. This will allow the Proxies to build a distance-vector routing
mechanism to reach a Workflow Anchor. A Proxy MAY be configured with
a maximum distance beyond which it will not forward any Workflows. In
forwarding requests to a Workflow, a Proxy may use the shortest
distance or other routing policies to forward requests.
5. Service Provisioning
+------+ +------+ +-------+ +-------+ +------+
| SN1 | | SN2 | | User | | Proxy | | WS |
+------+ +------+ +-------+ +-------+ +------+
| | | | |
| | | WORKFLOW | |
| | |----------->| |
| | | 100 TRYING | |
| | |<-----------| GET (workflow) |
| | | |------------------>|
| | | | 200 OK (workflow)|
| | | |<------------------|
| | CREATE (task) | |
| |<------------------------| GET (task) |
| | | |------------------>|
| | | | 200 OK (task) |
| CREATE (task) | |<------------------|
|<----------------------------------| |
| | | | GET (task) |
| | | |------------------>|
| | | | 200 OK (task) |
| | | |<------------------|
| | 200 OK | |
| |------------------------>| |
| 200 OK | | | |
|---------------------------------->| |
| | | | |
Dalela Expires July 4, 2012 [Page 13]
Internet-Draft SOP Message Flows January 2012
| | COMMIT (task) | |
| |<------------------------| |
| COMMIT (task) | | |
|<----------------------------------| |
| | 200 OK | |
| |------------------------>| |
| 200 OK | | | |
|---------------------------------->| |
| | | | COMMIT (workflow) |
| | | |------------------>|
| | | | 200 OK |
| | | |<------------------|
| | | 200 OK | |
| | | (workflow) | |
| | |<-----------| |
| | | | |
| | PUBLISH (svc) | |
| |------------------------>| |
| | 200 OK | |
| |<------------------------| |
| | | | |
| | PUBLISH (svc) | |
|---------------------------------->| |
| | 200 OK | | |
|<----------------------------------| |
| | | | |
Figure-5: Message Flow at Service Provisioning
A User initiates a workflow by sending the WORKFLOW message.
WORKFLOW 1 SOP/1.0
From: consumer@customer.com
To: default@p.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.customer.com;branch=k9DjR5lbcw
Sequence-ID: 5 WORKFLOW
Workflow-Name: gTyuI82Zx@provider.com
The User indicates a Workflow-Name that MUST already exist. This
message MAY contain a detailed specification of the Workflow Tasks
and parameters. As the WORKFLOW request traverses the network towards
the Workflow Anchor, the request MAY be modified in transit by
intermediate Proxies. However, the Workflow MUST NOT begin execution
until it reaches the Workflow Anchor. This means that the request
must not be branched into Tasks until reaching the Anchor.
Dalela Expires July 4, 2012 [Page 14]
Internet-Draft SOP Message Flows January 2012
Each Proxy SHOULD look up the source of the Workflow-Name and forward
it to another Proxy. The Workflow Anchor SHOULD send a 100 Trying
response to indicate to the User that it has received the request and
is processing it. Orchestration requests may take some time to
process, and the 100 Trying message will keep the User posted.
100 TRYING 1 SOP/1.0
From: default@p.provider.com
To: consumer@customer.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.provider.com;branch=k9DjR5lbcw
Sequence-ID: 5 WORKFLOW
Workflow-Name: gTyuI82Zx@provider.com
In case the Workflow-Name is available with a known WS, the Anchor
MUST send a GET request to the WS asking it to detail the Workflow.
If the original request was received with a detailed Workflow
description, the Anchor MUST forward the description to the WS. The
WS SHOULD use the received Workflow as an input to determine a
completed and finalized Workflow.
GET 1 SOP/1.0
From: default@p.provider.com
To: default@ws.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.provider.com;branch=k9oluElbcw
Sequence-ID: 286 WORKFLOW
Workflow-Name: gTyuI82Zx@provider.com
Query-Type: workflow-name
Requestor: consumer@customer.com
The GET copies requestor name into the Requestor header. This will
allow the WS to validate if the indicated workflow is available for
the Requestor and apply user-specific policies if any. It will then
return a workflow description comprising of individual tasks.
200 OK 1 SOP/1.0
From: default@ws.provider.com
To: default@p.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP ws@p.provider.com;branch=cw8gtrB56m
Sequence-ID: 286 GET
Workflow-Name: gTyuI82Zx@provider.com
Workflow-ID: 68743693
Query-Type: workflow-name
Requestor: consumer@customer.com
Content-Type: application/sdf; charset=utf-8
Dalela Expires July 4, 2012 [Page 15]
Internet-Draft SOP Message Flows January 2012
Content-Length: 542
<?xml version="1.0" encoding="UTF-8"?>
<workflow name="gTyuI82Zx" id="68743693"
xmlns:sdf="http://sdf.org/sdf">
<description>workflow description</description>
<taskgroup id="1" prev="idle" next="idle">
<description>taskgroup description</description>
<task id="1" prev="idle" next="idle" action="CREATE"
server="4357254.provider.com reference="67439375"
status="pending"/>
</taskgroup>
</workflow>
At this point, the WS has created an instance of a Workflow,
customized for this particular request. This instance is referenced
by the Workflow-ID "68743693". It carries a detailed configuration of
the VM, which is referenced by a Task-ID = "67439375". The WS has
allocated a server "4357254.provider.com" for the "CREATE" task. The
Proxy SHOULD now send a CREATE request to the selected server.
CREATE 1 SOP/1.0
From: default@p.provider.com
To: default@4357254.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.provider.com;branch=k9DjR5lbcw
Sequence-ID: 134 CREATE
Task-ID: 67439375
Workflow-Server: ws.provider.com
Requestor: consumer@customer.provider.com
The above CREATE request is sent by the proxy "p.provider.com" to a
server "4357254.provider.com". The CREATE informs the receiver that
there is a Task-ID "67439375" pending at "ws.provider.com". The
receiver should obtain that task and execute it. The Requestor field
describes the user for whom the request is proxied. The receiver
SHOULD download the Task description from the Workflow Server,
identified by the Task ID, using the GET request.
GET 1 SOP/1.0
From: default@4357254.provider.com
To: default@ws.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@4357254.provider.com;branch=cw8gtrB56m
Sequence-ID: 390 GET
Query-Type: task-id
Task-ID: 67439375
Dalela Expires July 4, 2012 [Page 16]
Internet-Draft SOP Message Flows January 2012
The Workflow Server SHOULD forward a Task Description to the
requestor, as shown below. The Task describes a workflow to be
executed by the receiver, pertaining to a domain "iaas.compute".
200 OK 1 SOP/1.0
From: default@ws.provider.com
To: default@4357254.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@ws.provider.com;branch=cw8gtrB56m
Sequence-ID: 390 GET
Task-ID: 67439375
Query-Type: task-id
Content-Type: application/sdf; charset=utf-8
Content-Length: 655
<?xml version="1.0" encoding="UTF-8"?>
<workflow name="gTyuI82Zx" id="68743693"
xmlns:sdf="http://sdf.org/sdf">
<description>workflow description</description>
<taskgroup id="1" prev="idle" next="idle">
<description>taskgroup description</description>
<task id="1" prev="idle" next="idle"
server="4357254.provider.com ">
<domain name="iaas.compute" def="sdn">
<!-- list of domain attributes -->
</domain>
</task>
</taskgroup>
</workflow>
If the SN does not understand the Task schema, it can discard the
description and send a 400 BAD REQUEST. Here, we will assume that the
receiver understands the request and can process it. After completing
the processing, the SN MUST send a 200 OK.
200 OK 1 SOP/1.0
From: default@4357254.provider.com
To: default@p.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@4357254.provider.com;branch=k9DjR5lbcw
Sequence-ID: 134 CREATE
The Proxy SHALL now commit the service. The COMMIT message is useful
when: (a) the workflow may involve many transactions in parallel, and
the Proxy may not commit requests if one of the transactions fails,
(b) the Proxy may have failed after making request, and the SN will
Dalela Expires July 4, 2012 [Page 17]
Internet-Draft SOP Message Flows January 2012
then cancel the earlier transaction and delete services. The Commit-
Timeout timer (received via the ADVERTISE) determines when
transactions must be cancelled.
COMMIT 1 SOP/1.0
From: default@p.provider.com
To: default@4357254.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.provider.com;branch=khewui6GDw
Sequence-ID: 134 COMMIT
Task-ID: 67439375
Workflow-Server: ws.provider.com
Requestor: consumer@customer.provider.com
On receiving the COMMIT the SN SHALL "activate" the service if the
service was dormant. The SN may use this occasion to perform clean up
tasks or other kinds of housekeeping. It will then send a 200 OK.
200 OK 1 SOP/1.0
From: default@4357254.provider.com
To: default@p.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@4357254.provider.com;branch=khewui6GDw
Sequence-ID: 134 COMMIT
The SN SHOULD send a PUBLISH indicating its new capabilities and
service availability. The capabilities may have reduced.
The Proxy MUST also COMMIT Workflow-ID in WS. This is a reference to
be used at the time of service deletion, and they will define how
create actions have to be reverted. Upon receiving a COMMIT, the WS
must create a Workflow description that the Proxy can send to the
Client. Note that not all the Tasks and their details need not be
made visible to the Client. However some of the actions must be. For
instance, if the use was allocating a VM, the address of the switch
to which the VM is attached should not be known, although the address
of the VM itself should be known. The WS has to return a Workflow
description that can be passed to the User. The WS SHOULD return this
reduced Task list to the Proxy as part of 200 OK.
200 OK 1 SOP/1.0
From: default@p.provider.com
To: consumer@customer.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.provider.com;branch=k9DjR5lbcw
Sequence-ID: 5 WORKFLOW
Workflow-Name: gTyuI82Zx@provider.com
Dalela Expires July 4, 2012 [Page 18]
Internet-Draft SOP Message Flows January 2012
Workflow-ID: 68743693
Content-Type: application/sdf; charset=utf-8
Content-Length: 655
<?xml version="1.0" encoding="UTF-8"?>
<workflow name="gTyuI82Zx" id="68743693"
xmlns:sdf="http://sdf.org/sdf">
<description>workflow description</description>
<taskgroup id="1" prev="idle" next="idle">
<description>taskgroup description</description>
<task id="1" prev="idle" next="idle" action="CREATE">
<domain name="iaas.compute" type="capability" def="sdn">
<!-- list of domain attributes -->
</domain>
</task>
</taskgroup>
</workflow>
The Proxy SHOULD forward the reduced Task list information to the
Client as part of the response to the original WORKFLOW request. This
information helps the Client deduce all information it needs to know
about the service, as well as what it needs to know to modify, delete
or transfer this service in future.
The Client MAY at any future time, obtain this information again
using a GET query on a specific Workflow-ID, Task-ID, etc. The Client
MAY also do a GET query on a Workflow-Name, with Query-Type set to
"active-workflows" and obtain all active Workflow-IDs against a
Workflow Name. The Workflow-IDs can then be used to query Task-IDs
and details of those Task and Workflow IDs. The WS that responds to
these queries must ensure that it is only sharing user-relevant
information and not information that the provider considers private.
6. Service Deletion
The service deletion works similar to service creation, except that
the initiating workflow is defined to be deleting a service instead
of creating. The deletion workflow request MUST mention the prior
Workflow-ID and/or Task-ID.
WORKFLOW 1 SOP/1.0
From: consumer@customer.com
To: default@p.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p.customer.com;branch=k9DjR5lbcw
Sequence-ID: 5 WORKFLOW
Workflow-Name: xhsdfpjTRm@provider.com
Dalela Expires July 4, 2012 [Page 19]
Internet-Draft SOP Message Flows January 2012
Workflow-ID: 68743693
The Proxy SHALL send a GET to the WS, asking for a workflow
description. The WS SHALL return a "flipped" workflow in the sense
that actions of provisioning have been reversed in deletion. The
order of tasks would be determined by the deletion workflow.
200 OK 1 SOP/1.0
From: default@ws.provider.com
To: default@p.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP ws@p.provider.com;branch=cw8gtrB56m
Sequence-ID: 286 GET
Workflow-Name: xhsdfpjTRm@provider.com
Workflow-ID: 68743693
Requestor: consumer@customer.com
Content-Type: application/sdf; charset=utf-8
Content-Length: 542
<?xml version="1.0" encoding="UTF-8"?>
<workflow name="xhsdfpjTRm" id="634794594"
xmlns:sdf="http://sdf.org/sdf">
<description>workflow description</description>
<taskgroup id="1" prev="idle" next="idle">
<description>taskgroup description</description>
<task id="1" prev="idle" next="idle" type="DELETE">
<domain name="iaas.compute" alias="d1" def="sdn">
<!-- list of domain attributes -->
</domain>
</task>
</taskgroup>
</workflow>
The WS SHALL allocate a new Workflow-ID and provide tasks that
reverse earlier service creation. The new Workflow-ID SHOULD have a
reference to the earlier Workflow-ID. Type of the task in the example
is set to "DELETE". The rest of the process remains unchanged as
compared to CREATE. COMMIT on the WS SHALL delete the original
Workflow-ID and Task-ID along with the new Workflow and Task IDs that
were created as part of the delete operation.
7. Service Update
The service update works similar to service creation, except that the
WORKFLOW request MUST reference prior Workflows and/or Tasks that are
being modified by the UPDATE. The service update workflow request
MUST mention the prior Workflow-ID and/or Task-ID. The WORKFLOW
Dalela Expires July 4, 2012 [Page 20]
Internet-Draft SOP Message Flows January 2012
request MAY also have a set of attributes being modified.
Alternately, the request MAY only invoke a workflow while the
attribute changes are determined by the WS.
WORKFLOW 1 SOP/1.0
From: consumer@customer.com
To: default@p.provider.com
Exchange: 437eYE3XY
Via: SOP/1.0/UDP default@p.customer.com;branch=k9DjR5lbcw
Sequence-ID: 5 WORKFLOW
Workflow-Name: xhsdfpjTRm@provider.com
Workflow-ID: 68743693
The Proxy SHALL send a GET to the WS, asking for a workflow
description. The WS SHALL return a "modified" workflow in the sense
that its Tasks include service updates, with references to prior
Tasks. The order of Tasks in the Workflow would be determined by the
update workflow.
200 OK 1 SOP/1.0
From: default@ws.provider.com
To: default@p.provider.com
Exchange: 437eYE3XY
Via: SOP/1.0/UDP ws@p.provider.com;branch=cw8gtrB56m
Sequence-ID: 286 GET
Workflow-Name: xhsdfpjTRm@provider.com
Workflow-ID: 68743693
Requestor: consumer@customer.com
Content-Type: application/sdf; charset=utf-8
Content-Length: 542
<?xml version="1.0" encoding="UTF-8"?>
<workflow name="xhsdfpjTRm" id="439356943"
xmlns:sdf="http://sdf.org/sdf">
<description>workflow description</description>
<taskgroup id="1" prev="idle" next="idle">
<description>taskgroup description</description>
<task id="1" prev="idle" next="idle" type="UPDATE">
<domain name="iaas.compute" alias="d1" def="sdn">
<!-- list of domain attributes -->
</domain>
</task>
</taskgroup>
</workflow>
The WS SHALL allocate a new Workflow-ID and provide tasks that update
the earlier service creation. The new Workflow-ID SHOULD have a
Dalela Expires July 4, 2012 [Page 21]
Internet-Draft SOP Message Flows January 2012
reference to the earlier Workflow-ID. Type of the task in the example
is set to "DELETE". When this update is completed, the Proxy SHALL
commit the Tasks and Workflow. The COMMIT on the WS MAY delete the
modify Workflow-ID and Task-ID and update the original Workflow-ID.
8. Service Mobility
Two types of service mobility models are supported in SOP. These are
called the "stateful" and "stateless" models. In the "stateful"
model, live state of the service is transferred from one SN to
another. In the "stateless" model, the live state of the service is
not transferred. Rather, a new service instance is created and the
old one is then terminated. These two models are described below.
8.1. Stateful Service Mobility
In the "stateful" mobility model, live state of a service is
transferred from one SN to another. SOP does not cover the actual
state transfer of services (which may use existing protocols such as
FTP to copy a service state). SOP only sets up the necessary control
session, identifying resources, to transfer service states.
+----+ +--------+ +------+ +--------+ +--------+ +--------+
| WS | | Source | |Client| | Source | | Target | | Target |
| | | SN | | | | Proxy | | SN | | Proxy |
+----+ +--------+ +------+ +--------+ +--------+ +--------+
| | | | | |
| | | WORKFLOW | | |
| | |----------->| | |
| GET | | | | |
|<---------------------------------| | |
| 200 OK | | | | |
|--------------------------------->| | |
| | | |TRANSFER (src=SN1, dst=?)
| | | |----------------------->|
| | | | | TRANSFER |
| | | | (src=SN1, dst=SN2)
| | | | |<----------|
| | | | | 200 OK |
| | | | |---------->|
| | | 200 OK (src=SN1, dst=SN2)|
| | TRANSFER |<-----------------------|
| | (src=SN1, dst=SN2 ) | | |
| |<---------------------| | |
| | | | | |
| | service state transfer | |
| |<<<*****************************>>>| |
Dalela Expires July 4, 2012 [Page 22]
Internet-Draft SOP Message Flows January 2012
| | | | | |
| | 200 OK | | |
| |--------------------->| | |
| | COMMIT (terminate) | | |
| |<---------------------| | |
| | 200 OK | | |
| |--------------------->| COMMIT (activate) |
| COMMIT (workflow) |----------------------->|
|<---------------------------------| COMMIT (activate)|
| | | | |<----------|
| 200 OK (workflow) | | 200 OK |
|--------------------------------->| |---------->|
| | | | 200 OK |
| | | |<-----------------------|
| | PUBLISH | | PUBLISH |
| | (svc deleted) | | (svc created)
| |--------------------->| |---------->|
| | 200 OK | | 200 OK |
| |<---------------------| |<----------|
| | | 200 OK | | |
| | |<-----------| | |
Figure-5: Message Flow for Stateful Service Mobility
The Client initiates service mobility by sending the WORKFLOW
message. It MUST include references to past Workflows and/or Task-ID
that need to be moved. The Proxy that receives the WORKFLOW message
(called the Source Proxy) MUST forward the content of the WORKFLOW
message to the WS via a GET to obtain a description of the Workflow.
GET 1 SOP/1.0
From: default@p1.provider.com
To: default@ws.provider.com
Exchange: 43shXui7236
Via: SOP/1.0/UDP default@p1.provider.com;branch=k9oluElbcw
Sequence-ID: 286 WORKFLOW
Workflow-Name: gTyuI82Zx@provider.com
Query-Type: workflow-name
Requestor: consumer@customer.com
If the Workflow is authorized for the user and the WS can find the
appropriate resources to move the service, it SHALL send a 200 OK.
200 OK 1 SOP/1.0
From: service1@ws.provider.com
To: default@p1.provider.com
Exchange: 43shXui7236
Dalela Expires July 4, 2012 [Page 23]
Internet-Draft SOP Message Flows January 2012
Via: SOP/1.0/UDP default@4357254.provider.com;branch=cw8gtrB56m
Sequence-ID: 1 GET
Content-Type: application/sdf; charset=utf-8
Content-Length: 142
<?xml version="1.0" encoding="UTF-8"?>
<workflow name="xhsdfpjTRm" id="634794594">
<description>workflow description</description>
<taskgroup id="1" prev="idle" next="idle">
<description>taskgroup description</description>
<task id="1" prev="idle" next="2" type="TRANSFER"
server="p2.provider.com" reference="347654933">
<domain name="iaas.compute" alias="d1" def="sdn">
<!-- list of domain attributes -->
</domain>
</task>
<task id="2" prev="1" next="idle" type="TRANSFER"
server="p2.provider.com" reference="4354395374">
<domain name="iaas.compute" alias="d1" def="sdn">
<!-- list of domain attributes -->
</domain>
</task>
</taskgroup>
</workflow>
The source Proxy SHALL now begin executing the service transfer by
sending the TRANSFER message to the target Proxy. The target Proxy
SHOULD have been selected by the WS and populated as the "server" in
the <domain> element of the Task.
TRANSFER 1 SOP/1.0
From: default@p1.provider.com
To: default@p2.provider.com
Exchange: 4j253TyXuM6
Via: SOP/1.0/UDP default@p1.provider.com;branch=XsMf634d2W
Sequence-ID: 1 TRANSFER
Source: service1@4357254.provider.com
Transfer-Mode: service-mobility
Requestor: default@p1.provider.com
Content-Type: application/sdf; charset=utf-8
Content-Length: 142
<?xml version="1.0" encoding="UTF-8"?>
<domain name="iaas.compute" type="capability" def="sdn">
<!-- list of domain attributes -->
</domain>
Dalela Expires July 4, 2012 [Page 24]
Internet-Draft SOP Message Flows January 2012
The target Proxy SHOULD allocate a new home for the service based on
the received service description. After that, it will forward the
request to the selected SN to prepare it for receiving the service.
If the allocation fails, the target Proxy may reject the request.
TRANSFER 1 SOP/1.0
From: default@p2.provider.com
To: default@sn2.provider.com
Exchange: 4j253TyXuM6
Via: SOP/1.0/UDP default@p1.provider.com;branch=XsMf634d2W,
SOP/1.0/UDP default@p2.provider.com;branch=dfdsye50ZR
Sequence-ID: 1 TRANSFER
Source: service1@4357254.provider.com
Transfer-Mode: stateful
Requestor: default@p1.provider.com
Content-Type: application/sdf; charset=utf-8
Content-Length: 142
<?xml version="1.0" encoding="UTF-8"?>
<domain name="iaas.compute" type="capability" def="sdn">
<!-- list of domain attributes -->
</domain>
Note that the "Requestor" and "Source" headers are preserved to let
the receiving SN know the Proxy and Service being moved. If the
receiver SN approves of the move (it has the necessary domain
capabilities and the resources) it SHOULD send a 200 OK. The SN may
approve a modified service description from the one it received. The
SN must also add a "Destination" header as name of target service.
200 OK 1 SOP/1.0
From: default@sn2.provider.com
To: default@p2.provider.com
Exchange: 4j253TyXuM6
Via: SOP/1.0/UDP default@p2.provider.com;branch=dfdsye50ZR,
SOP/1.0/UDP default@p1.provider.com;branch=XsMf634d2W
Sequence-ID: 1 TRANSFER
Requestor: default@p1.provider.com
Source: service1@sn1.provider.com
Destination: service2@sn2.provider.com
Content-Type: application/sdf; charset=utf-8
Content-Length: 142
<?xml version="1.0" encoding="UTF-8"?>
<domain name="iaas.compute" type="capability" def="sdn">
<!-- list of domain attributes -->
</domain>
Dalela Expires July 4, 2012 [Page 25]
Internet-Draft SOP Message Flows January 2012
On receiving the 200 OK, the source Proxy MUST use the received
service description and send it in a TRANSFER message to the source
SN. If the source SN approves it, it SHOULD initiate service creation
using the Source and Destination headers as the From and To headers.
If the service transfer is successful, the source Proxy SHALL send
COMMIT messages to the source and target SNs.
COMMIT 1 SOP/1.0
From: default@p1.provider.com
To: service1@sn1.provider.com
Exchange: 4j253TyXuM6
Via: SOP/1.0/UDP default@p1.provider.com;branch=khewui6GDw
Sequence-ID: 13 COMMIT
Task-ID: 347654933
Source: service1@sn1.provider.com
Destination: service2@sn2.provider.com
COMMIT 1 SOP/1.0
From: default@p1.provider.com
To: service2@sn2.provider.com
Exchange: 4j253TyXuM6
Via: SOP/1.0/UDP default@p1.provider.com;branch=hfs634BDmn,
SOP/1.0/UDP default@p2.provider.com;branch=hprit5WCQv
Sequence-ID: 5 COMMIT
Task-ID: 4354395374
Source: service1@sn1.provider.com
Destination: service2@sn2.provider.com
The Source Proxy MUST also commit the Workflow in WS so that the new
location of the service is known at the WS. This location may be used
to determine subsequent mobility actions or service deletion.
8.2. Stateless Service Mobility
In stateless service mobility, a new service is created with
identical service meta-attributes, although the live state of the
current service instance is not copied to the new instance.
+----+ +--------+ +------+ +--------+ +--------+ +--------+
| WS | | Source | |Client| | Source | | Target | | Target |
| | | SN | | | | Proxy | | SN | | Proxy |
+----+ +--------+ +------+ +--------+ +--------+ +--------+
| | | | | |
| | | WORKFLOW | | |
| | |----------->| | |
| GET | | | | |
Dalela Expires July 4, 2012 [Page 26]
Internet-Draft SOP Message Flows January 2012
|<---------------------------------| | |
| 200 OK | | | | |
|--------------------------------->| | |
| | | | CREATE |
| | | |----------------------->|
| | | | | CREATE |
| | | | |<----------|
| | | | | 200 OK |
| | | | |---------->|
| | | | 200 OK | |
| | DELETE |<-----------------------|
| |<---------------------| | |
| | | | | |
| | 200 OK | | |
| |--------------------->| | |
| | COMMIT (terminate) | | |
| |<---------------------| | |
| | 200 OK | | |
| |--------------------->| COMMIT (activate) |
| COMMIT (workflow) |----------------------->|
|<---------------------------------| COMMIT (activate)|
| | | | |<----------|
| 200 OK (workflow) | | 200 OK |
|--------------------------------->| |---------->|
| | | | 200 OK |
| | |<-----------------------|
| | PUBLISH | | PUBLISH |
| | (svc deleted) | | (svc created)
| |--------------------->| |---------->|
| | 200 OK | | 200 OK |
| |<---------------------| |<----------|
| | | 200 OK | | |
| | |<-----------| | |
Figure-6: Message Flow for Stateless Service Mobility
This mobility model differs from the stateful mobility in that the
TRANSFER message is not used. Instead, the Workflow delivers two
independent but coordinated Tasks, one that creates a new service
instance and the other that deletes the old service instance.
This model of service mobility may be useful when the state of the
service resides outside the service (e.g. an external database). This
model may be used for disaster recovery, geographical redundancy, or
simply moving capacity dynamically from one site to another.
Dalela Expires July 4, 2012 [Page 27]
Internet-Draft SOP Message Flows January 2012
9. Security Considerations
Encryption and authentication of SOP messages is described in the
Service Orchestration Protocol document [SOP].
10. IANA Considerations
NA.
11. Conclusions
This document described message flows for a few important service
orchestration scenarios. These message flows are not exhaustive.
These can be extended to apply to multiple interoperability scenarios
as described in the SOP requirements document [REQT].
12. References
12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
12.2. Informative References
[NIST] DRAFT Cloud Computing Synopsis and Recommendations
http://csrc.nist.gov/publications/drafts/800-146/Draft-
NIST-SP800-146.pdf
[REQT] Service Orchestration Protocol Requirements
http://www.ietf.org/id/draft-dalela-orchestration-00.txt
[ARCH] Service Orchestration Protocol Network Architecture
http://www.ietf.org/id/draft-dalela-sop-architecture-00.txt
[SOP] Service Orchestration Protocol
http://www.ietf.org/id/draft-dalela-sop-00.txt
[SDF] Service Description Framework
http://www.ietf.org/id/draft-dalela-sdf-00.txt
13. Acknowledgments
This document was prepared using 2-Word-v2.0.template.dot.
Dalela Expires July 4, 2012 [Page 28]
Internet-Draft SOP Message Flows January 2012
Authors' Addresses
Ashish Dalela
Cisco Systems
Cessna Business Park
Bangalore
India 560037
Email: adalela@cisco.com
Mike Hammer
Reston
Virginia
USA 20190
Email: mphmmr@gmail.com
Monique Morrow
Cisco Systems [Switzerland] GmbH
Richistrasse 7
CH-8304
Walllisellen
Switzerland
Email: mmorrow@cisco.com
Peter Tomsu
Cisco Systems Austria GmbH
30 Floor, Millennium Tower
Handelskai 94-96
A-1200 Vienna
Austria
Email: ptomsu@cisco.com
Dalela Expires July 4, 2012 [Page 29]