RFC 4678 - Server/Application State Protocol v1(3)

时间:2006-11-02 来源: 作者: 点击:
balancer/schedulerisset. 7.1.1.RegistrationRequest 0123 01234567890123456789012345678901 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ .. .SASPHeaderTLV. .. +-+-+-+-+-+-+-+-+-+-+-
  
   balancer/scheduler is set.

7.1.1.  Registration Request

      0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .                      SASP Header TLV                          .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Registration Req. Type(0x1010)| Size of Registration Req. TLV |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Flag Field  |   Group of Member Data Count  |               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
      .                                                               .
      .           *Array of Group of Member Data Components           .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   *There will be as many Group of Member Data Components as "Group of
   Member Data Count" has specified.

                                 Figure 12

   o  Flag Field

      A.  Load Balancer Flag

          +  xxxx xxx1 The entity sending this message is the load
             balancer.

          +  xxxx xxx0 The entity sending this message is an
             Application.

      B.  Leftmost seven bits are reserved (0000 000x - 1111 111x).

   o  Group of Member Data Count: The number of "Group of Member Data"
      components immediately following the Registration Request
      component.

   o  Array of Group of Member Data Components: Each "Group of Member
      Data" component is immediately followed by Group Data Components
      and its Member Data components (as described in Section 6.1).  In
      the case where several of these "Group of Member Data" components
      may be present, the second "Group of Member Data" component only
      appears after all of the internal components that are referred to
      by the first "Group of Member Data" component are listed.  The
      format is the same for all subsequent "Group of Member Data"
      components in the message.

7.1.2.  Registration Reply

      0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .                      SASP Header TLV                          .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Registration Reply Type(0x1015)| Size of Registration Reply TLV|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Return Code  |
      +-+-+-+-+-+-+-+-+

                                 Figure 13

   o  General SASP return codes (0x00 - 0x3F)

      *  0x00 Successful

      *  0x10 Message not understood

      *  0x11 GWM will not accept this message from the sender.  Reasons
         for this include the following:
         a. The message was not sent by a LB and trust flag is off
         b. LB attempted to address members of a different LB in the
            message
         c. Vendor specific criteria for this message type were not met.

   o  Message-Specific return codes (0x40 - 0xFF)

      *  0x40 Member already registered

      *  0x44 Duplicate Member in Request

      *  0x45 Invalid Group (determined by the GWM)

      *  0x50 Invalid Group Name Size (size == 0)

      *  0x51 Invalid LB UID Size (size == 0 or > max)

      *  0x61 Member is registering itself, but LB hasn’t yet contacted
         the GWM.  This registration will not be processed.

   **The Invalid Group error return code refers to the LB or member
   attempting to form a group that the GWM considers invalid.  For
   example, some GWM vendors may not support the registration of both
   System and Application members in the same group.  To determine what
   can cause a GWM to return this error code, the vendor’s documentation
   must be consulted.

7.2.  DeRegistration Request and Reply

   This exchange happens between the load balancer/scheduler and the
   Group Workload Manager as well as between the Group Workload Manager
   and the Member to deregister members from a group specified by Group
   Name with the Group Workload Manager.  Even though deregistrations
   can come from either the load balancer/scheduler or the actual
   member, member-initiated deregistrations will only be considered if
   the Trust flag is set with a Set LB State message.

7.2.1.  DeRegistration Request

      0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .                      SASP Header TLV                          .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |DeRegistration Req.Type(0x1020)|Size of DeRegistration Req. TLV|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Flag Field  |     Reason    |   Group of Member Data Count  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .           *Array of Group of Member Data Components           .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   *There will be as many Group of Member Data Components as "Group of
   Member Data Count" has specified.

                                 Figure 14

   o  Flag Field

      A.  Load Balancer Flag

          +  xxxx xxx1 The entity sending this message is the load
             balancer.

          +  xxxx xxx0 The entity sending this message is an
             Application.

      B.  Leftmost seven bits are reserved (0000 000x - 1111 111x).

   o  Reason: Byte describing the reason for deregistering the group or
      instance.

      A.  SASP-defined Reason Codes (0x00-0x7F)

          +  0x00 No reason given.

          +  0x01 Learned and Purposeful, i.e., a human has deconfigured
             this member from the load balancer configuration.

          +  0x80-0xFF Open for vendor specific deregistration reason
             codes.

   o  Group of Member Data Count: The number of "Group of Member Data"
      components immediately following the DeRegistration Request
      component.

   o  Array of Group of Member Data Components: Each "Group of Member
      Data" component is immediately followed by Group Data Components
      and its Member Data components (as described in Section 6.1).  In
      this case, where several of these "Group of Member Data"
      components may be present, the second "Group of Member Data"
      component only appears after all of the internal components that
      are referred to by the first "Group of Member Data" component are
      listed.  The format is the same for all subsequent "Group of
      Member Data" components in the message.

   ** If Member Count equals zero in the Group of Member Data component,
   the Group Workload Manager will deregister the entire group.

   ** Recall that the Group Data Component contains both a Unique LB
   Identifier field and a Group Name field.  If the Group Data component
   has no Group Name (GroupData’s Group Name Length==0), the Group
   Workload Manager will deregister all groups associated with this load
   balancer.

7.2.2.  DeRegistration Reply

      0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .                      SASP Header TLV                          .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   DeReg. Reply Type(0x1025)   |    Size of DeReg. Reply TLV   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Return Code  |
      +-+-+-+-+-+-+-+-+

                                 Figure 15

   o  Return Code: A byte return code indicating the status of action
      taken.

      A.  General SASP return codes (0x00 - 0x3F)

          +  0x00 Successful

          +  0x10 Message not understood

          +  0x11 GWM will not accept this message from the sender.
             Reasons for this include the following:
             a. The message was not sent by a LB and trust flag is off
             b. LB attempted to address members of a different LB in the
                message
             c. Vendor specific criteria for this message type were not
                met.

      B.  Message-Specific return codes (0x40 - 0xFF)

          +  0x41 Application or System not registered

          +  0x42 Unknown Group Name

          +  0x43 Unknown LB UID

          +  0x44 Duplicate Member in Request

          +  0x46 Duplicate Group in Request (for remove all
             members/groups requests)

          +  0x51 Invalid LB UID Size (size == 0 or > max)

          +  0x61 Member is deregistering itself, but LB hasn’t yet
             contacted the GWM.  This deregistration will not be
             processed.

7.3.  Get Weights Request and Reply

   This exchange happens between the load balancer/scheduler and the
   Group Workload Manager to get weights for the groups specified in the
   list of GroupData objects.  In the case of application load balancing
   (balancing workloads between applications with the same
   functionality), the load balancer would call the Group Workload
   Manager every Interval (parameter returned by the Group Workload
   Manager below) to get an array of weights and associated members
   (e.g., Application1 20, SecondCopyOfApplication 30,
   ThirdCopyOfApplication 5).  The load balancer then uses these weights
   to determine the fashion in which work will be sent to each of the
   members.  For example, in the case of weighted round robin, the load
   balancer/scheduler would then send a request to Application1, the
   next to SecondCopyOfApplication, and the next to
   ThirdCopyOfApplication.  After 15 requests, the load
   balancer/scheduler would only send work to Application1 and
   SecondCopyOfApplication.  After an additional 30 requests, the load
   balancer/scheduler would only send requests to
   SecondCopyofApplication.  After another 10 requests, the load
   balancer/scheduler product would start over using the weights of 20,

   30, and 5 again; or if the Interval number of seconds have passed,
   the load balancer/scheduler would get a new set of weights.

7.3.1.  Get Weights Request

      0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .                      SASP Header TLV                          .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Get Weights Req. Type(0x1030) |  Size of Get Weights Req. TLV |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Group Data Count       |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
      .                                                               .
      .                   *Array of Group Data Components             .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   *There will be as many Group Data Components as "Group Data Count"
   has specified.

                                 Figure 16

   o  Group Data Count: The number of "Group Data" components
      immediately following the Get Weights Request TLV.

   o  Array of Group Data Components: This array of Group Data
      Components lists the groups for which the load balancer wants to
      get weights.

   ** If there is no group name in the Group Data structure of the Get
   Weights Request, the load balancer is requesting weights for all
   groups registered for the load balancer.

7.3.2.  Get Weights Reply

      0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .                      SASP Header TLV                          .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Get Weights Reply Type(0x1035)| Size of Get Weights Reply TLV |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Return Code  |            Interval           | Group of Weight
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      Entry Data Count|                                               |
      +-+-+-+-+-+-+-+-+                                               +
      .                                                               .
      .             *Group of Weight Entry Data Components            .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   * There will be as many Group of Weight Entry Data Components as
   "Group of Weight Entry Data Count" has specified.

                                 Figure 17

   o  Return Code: A byte return code indicating the status of action
      taken.

      A.  General SASP return codes (0x00 - 0x3F)

          +  0x00 Successful

          +  0x10 Message not understood

          +  0x11 GWM will not accept this message from the sender.
             Reasons for this include the following:
             a. LB attempted to address members of a different LB in the
                message
             b. Vendor specific criteria for this message type were not
                met.

      B.  Message-Specific return codes (0x40 - 0xFF)

          +  0x42 Unknown Group Name

          +  0x43 Unknown LB UID

          +  0x46 Duplicate Group in Request

          +  0x51 Invalid LB uid Size (size == 0 or > max)

   o  Interval: These two bytes indicate a recommended polling interval
      for the load balancer to use.  The Group Workload Manager is
      stating that any polling interval smaller than the suggested
      interval would probably retrieve values before they have had a
      chance to change.

   o  Group of Weight Entry Data Components: Each "Group of Weight Data"
      component is immediately followed by Group Data Components and its
      Weight Entry Data components (as described in Section 6.2).  In
      this case, where several "Group of Weight Data" components may be
      present, the second "Group of Weight Data" component only appears
      after all of the internal components that are referred to by the
      first "Group of Weight Data" component are listed.  The format is
      the same for all subsequent "Group of Weight Data" components in
      the message.

7.4.  Send Weights

   This exchange happens between the Group Workload Manager and the load
   balancer/scheduler to send the new weights for the group specified in
   Group Name.  This message is unique in that it is the only message
   exchange initiated by the Group Workload Manager and the only message
   that has no reply.  In the case of application load balancing
   (balancing workloads between applications with the same
   functionality), the Group Workload Manager would message the load
   balancer at a possibly dynamic interval (chosen by the Group Workload
   Manager) to send an array of weights and associated members (e.g.,
   Application1 20, SecondCopyOfApplication 30, ThirdCopyOfApplication
   5).  The load balancer then uses these weights to determine the
   fashion in which work will be sent to each of the members.  For
   example, in the case of weighted round robin, the load
   balancer/scheduler would then send a request to Application1, the
   next to SecondCopyOfApplication, and the next to
   ThirdCopyOfApplication.  After 15 requests, the load
   balancer/scheduler would only send work to Application1 and
   SecondCopyOfApplication.  After another 30 requests, the load
   balancer/scheduler would only send requests to
   SecondCopyofApplication.  After an additional 10 requests, the load
   balancer/scheduler product would start over using the weights of 20,
   30, and 5 again, if it has not yet received a new set of weights.
   The Group Workload Manager only sends this message if the Push flag
   has been enabled using a Set Load Balancer State message.

      0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .                      SASP Header TLV                          .
      .                                                               .
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容