Patent ID: 7804844

Claim:
A processor-implemented method of specifying a processor implementing a plurality of actions for manipulating a plurality of packets of a communication protocol, comprising: inputting a cluster-specification of a plurality of clusters of the actions for manipulating a plurality of fields of the packets of the communication protocol, wherein each action of each cluster is not dependent on all other of the actions in the cluster; inputting a constraint-specification of at least one dependency constraining a performance of the actions, including a dependency between a first one of the actions from a first one of the clusters and a second one of the actions from a second one of the clusters; for each cluster, assigning the cluster of the actions to a respective one of a plurality of stages of a dataflow pipeline of the processor, wherein the at least one dependency is satisfied by performing the actions of each stage in an order of the stages in the dataflow pipeline; transferring the first action from the respective stage of the first cluster to the respective stage of the second cluster; for each stage, scheduling a timeframe for the performance of each action in the stage of the dataflow pipeline, including scheduling the timeframe for the performance of the first and second actions in the respective stage of the second cluster in accordance with the dependency; and outputting a processor-specification of the dataflow pipeline.