This is a static archive of the previous Open Grid Forum GridForge content management system saved from host forge.ogf.org file /sf/sfmain/do/go/artf5934?selectedTab=associations at Sun, 06 Nov 2022 22:33:23 GMT SourceForge : artf5934: Doc Change Response

Project Home

Tracker

Documents

Tasks

Source Code

Discussions

File Releases

Wiki

Project Admin
Search Tracker
Project: RUS-WG     Trackers > Doc Change Request > View Artifact
Artifact artf5934 : Doc Change Response
Tracker: Doc Change Request
Title: Doc Change Response
Description:
As a pre-release changes according to public comments and OGF20. The following changes are intended to be made for 
version 1.9.
1. Abstract and Introduction are rephrased for generic expression instead of gMarket or MCS-RUS implementation specific.
 But gMarket will be put into the added section, "example usage scenarios", as a use case. Other use cases including 
usage policing and banking service that access URF through RUS.

2. Configuration (Normative)
there will be only mandatory usage record element while leaving access control to security section. The configuration is
 extended to support attribute based configuration as well aligned with URF extension frameowrk. Although this feature 
might undermine interoperability, it is worthwhile to allow URF extension propreties to be specified but with similar 
clarification as URF extension framework. However, restriction on value as what Rosario proposed will not considered in 
the specificaiton and leaves implementations to support this feature. Again RUS has close relationship with OGF URF and 
should support what feature URF would possibly provide. 

3. Usage Record Representation will be full OGF-UR compatible.

4. Fault Framework (Normative)
    A complex Type used as a common data type for all RUS faults.
    <xsd:complexType name="RUSFaultType">
        <xsd:sequence>
            <xsd:element name="errorCode" type="xsd:string" minOccurs="1" maxOccurs="1"/>
             <xsd:element name="rusAction" type="xsd:string" minOccurs="0" maxOccurs="1" />
             <xsd:element name="recordId" type="xsd:string" maxOccurs="1" minOccurs="0" />
             <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1" />
        </xsd:sequence>
       <xsd:complexType>
The definition of this general fault type gives flexibility on both operations and fine-granularity usage record fault 
handling. 

Clarification on RUS faults and corresponding errorCodes:
- RUSProcessingFault: RUS server-side internal processing error [errorCode: INTERNAL_PROCESSING_ERROR];
-RUSDuplicateFault: trying to insert usage record(s) already exist(s) [errorCode: DUPLICATE_USAGE_RECORD]
-RUSUserNotAuthorisedFault: user not authorised to pexecute rus operation (on particular usage record)[ErrorCode: 
USER_NOT_AUTHORISED]
-RUSNotExistentFault:trying to process usage records not existent [ErrorCode: USAGE_RECORD_NOT_EXISTENT]
-RUSTooComplexFault: try to process complex operation or huge amount of usage records that exceeds service's capacity [
ErrorCode:TOO_COMPLEX_OPERATION]
-RUSInputFault: trying to process operations with invalid input statement or invalid usage records [ErrorCode: 
INVALID_INPUT]

5. Operation Result 
There is no "recordIdList" element specified in version 1.7 based on following consideration:
1). RUSId not existent anymore;
2). Only error message will be returned to client;
3). the "recordIdList" element requires client to memorise recordId properties in sequence. However, it is impossible 
for client to known exact sequence when submitting a batch of usage records. 
Accordingly the operation results should provide the overall operation result as well as error information.
Therefore:
<xsd:element name="operationResult">
   <xsd:complexType>
        <xsd:sequence>
        <xsd:element name="totalProcessed" type="xsd:boolean" />
        <xsd:element name="processed" type="xsd:unsigned-long">
        <xsd:element ref="RUSDuplicateFault" minOccurs="0" maxOccurs="unbounded" />
        <xsd:element ref="RUSUserNotAuthorisedFault" minOccurs="0" maxOccurs="unbounded" />
        <xsd:element ref="RUSTooComplexFault" minOccurs="0" maxOccurs="unbounded" />
        <xsd:element ref="RUSProcessingFault" minOccurs="0" maxOccurs="unbounded" />
        <xsd:element ref="RUSInputFault" minOccurs="0" maxOccurs="unbounded" />
        <xsd:element ref="RUSNotExistentFault" minOccurs="0" maxOccurs="unbounded" />
       </xsd:sequence>
    </xsd:complexType>
</xsd:element>

6. Service Interface Definition
The SID defined in the specification allows batch processing by default. However, the implementation might restrict this
 capacity by throwing "RUSTooComplexFault". For example, an implementation would like to restrict inserting single usage
 record per transcation. When a client submitting multiple usage records as parameter to RUS insert service interface, 
then a RUSTooComplexFault will be thrown. 

There are two new service interfaces being defined:
1). RUS::ListUsageRecordHistory
     This is the only operation that restrict the transaction on single usage record for querying record modification 
history.
     Input: RecordId
     Output: RecordHistory Element
     Faults: RUSUserNotAuthorisedFault
                RUSProcessingFault
2). RUS::ListAssignedRoles
     allows the user to obtain assigned roles relating to the user identity (i.e. userDN). The definition of this 
operation explicitly requires the implementation providing role-based access control mechanism.
     INPUT:user id;
     Output: a list of valid roles assigned to the user
     Faults: RUSProcessingFault

7. Security and Authorisation
    Clarification on Role-baed access control (RBAC) and fine-granuarlity access control over usage records. 

As OGF-RUS roadmap, the document will be available soon (by the end of June). Please give some feedbacks on 
aforementioned points. 





Submitted By: Xiaoyu Chen
Submitted On: 06/24/2007 8:59 PM EDT
Last Modified: 07/12/2007 11:27 PM EDT

Status / Comments Change Log Associations Attachments  
Date Association Posted By Comment Association Type
No results found.

 
 


The Open Grid Forum Contact Webmaster | Report a problem | GridForge Help
This is a static archive of the previous Open Grid Forum GridForge content management system saved from host forge.ogf.org file /sf/sfmain/do/go/artf5934?selectedTab=associations at Sun, 06 Nov 2022 22:33:23 GMT