Skip to content

Protocol Documentation

Table of Contents

Top

fedvision/framework/protobuf/coordinator.proto

FetchTask

FetchTask.REP

Field Type Label Description
status FetchTask.Status
task fedvision.framework.Task

FetchTask.REQ

Field Type Label Description
party_id string
proposal_id string

Leave

Leave.REP

Field Type Label Description
status Leave.Status

Leave.REQ

Field Type Label Description
party_id string

Proposal

Proposal.REP

Field Type Label Description
status Proposal.Status

Proposal.REQ

Field Type Label Description
job_id string
job_type string
tasks fedvision.framework.Task repeated
proposal_wait_time uint32
minimum_acceptance uint32
maximum_acceptance uint32

Subscribe

Subscribe.REP

Field Type Label Description
status Subscribe.Status
proposal_id string
job_type string

Subscribe.REQ

Field Type Label Description
party_id string
job_types string repeated
credential string preserve

FetchTask.Status

Name Number Description
NOT_FOUND 0
NOT_ALLOW 1
TIMEOUT 2
CANCELED 3
RANDOM_OUT 4
READY 5

Leave.Status

Name Number Description
NOT_FOUND 0
SUCCESS 1

Proposal.Status

Name Number Description
UNKNOWN 0
SUCCESS 1
NOT_ENOUGH_RESPONDERS 2
NOT_ENOUGH_SUBSCRIBERS 3
REJECT 4

Subscribe.Status

Name Number Description
DUPLICATE_ENROLL 0
NOT_SERVING 1
SUCCESS 2

Coordinator

Method Name Request Type Response Type Description
Subscribe Subscribe.REQ Subscribe.REP stream
Proposal Proposal.REQ Proposal.REP
FetchTask FetchTask.REQ FetchTask.REP
Leave Leave.REQ Leave.REP

Top

fedvision/paddle_fl/protobuf/fl_job.proto

PaddleFLAggregatorTask

Field Type Label Description
scheduler_ep string
main_program bytes
startup_program bytes
config_string string

PaddleFLWorkerTask

Field Type Label Description
scheduler_ep string
trainer_id uint32
trainer_ep string
entrypoint string
main_program bytes
startup_program bytes
send_program bytes
recv_program bytes
feed_names bytes
target_names bytes
strategy bytes
feeds bytes
config_string string
algorithm_config_string string

Top

fedvision/paddle_fl/protobuf/scheduler.proto

Init

Init.REP

Field Type Label Description
status Init.Status

Init.REQ

Field Type Label Description
name string

WorkerFinish

WorkerFinish.REP

Field Type Label Description
status WorkerFinish.Status

WorkerFinish.REQ

Field Type Label Description
name string

WorkerJoin

WorkerJoin.REP

Field Type Label Description
status WorkerJoin.Status

WorkerJoin.REQ

Field Type Label Description
name string
step uint32

Init.Status

Name Number Description
REJECT 0
INIT 1

WorkerFinish.Status

Name Number Description
REJECT 0
DONE 1

WorkerJoin.Status

Name Number Description
REJECT 0
NOT_SELECTED 1
ACCEPT 2

Scheduler

Method Name Request Type Response Type Description
Init Init.REQ Init.REP
WorkerJoin WorkerJoin.REQ WorkerJoin.REP
WorkerFinish WorkerFinish.REQ WorkerFinish.REP

Top

fedvision/framework/protobuf/job.proto

Task

Field Type Label Description
job_id string
task_id string
task_type string
task google.protobuf.Any
assignee string

Top

fedvision/framework/protobuf/cluster.proto

Enroll

Enroll.REP

Field Type Label Description
status Enroll.Status
task fedvision.framework.Task

Enroll.REQ

Field Type Label Description
worker_id string
worker_ip string
max_tasks int32
port_start int32
port_end int32

TaskResourceRequire

TaskResourceRequire.REP

Field Type Label Description
status TaskResourceRequire.Status
worker_id string
endpoints string repeated

TaskResourceRequire.REQ

Field Type Label Description
num_endpoints int32

TaskSubmit

TaskSubmit.REP

Field Type Label Description
status TaskSubmit.Status

TaskSubmit.REQ

Field Type Label Description
task fedvision.framework.Task

UpdateStatus

UpdateStatus.REP

Field Type Label Description
status UpdateStatus.Status

UpdateStatus.REQ

Field Type Label Description
worker_id string
job_id string
task_id string
task_status UpdateStatus.TaskStatus
exception_id string
exception string
exec_result google.protobuf.Any

Enroll.Status

Name Number Description
UNKNOWN 0
ENROLL_SUCCESS 1
ALREADY_ENROLL 2
TASK_READY 3

TaskResourceRequire.Status

Name Number Description
UNKNOWN 0
FAILED 1
SUCCESS 2

TaskSubmit.Status

Name Number Description
UNKNOWN 0
FAILED 1
SUCCESS 2

UpdateStatus.Status

Name Number Description
UNKNOWN 0
FAILED 1
SUCCESS 2

UpdateStatus.TaskStatus

Name Number Description
TASK_UNKNOWN 0
TASK_CANCEL 1
TASK_EXCEPTION 2
TASK_FINISH 3

ClusterManager

service in cluster manager called by worker

Method Name Request Type Response Type Description
Enroll Enroll.REQ Enroll.REP stream service for worker: enroll and fetch tasks
UpdateTaskStatus UpdateStatus.REQ UpdateStatus.REP service for worker: update status or heartbeat
TaskSubmit TaskSubmit.REQ TaskSubmit.REP service for master: submit task to cluster
TaskResourceRequire TaskResourceRequire.REQ TaskResourceRequire.REP

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)