1、American National StandardDeveloped byfor Information Technology Information Management Extensible Access Method (XAMTM)INCITS 464-2010INCITS 464-2010Reaffirmed as INCITS 464-2010 R2015INCITS 464-2010American National Standardfor Information Technology Information Management Extensible Access Method
2、 (XAMTM)SecretariatInformation Technology Industry CouncilApproved December 20, 2010American National Standards Institute, Inc.Approval of an American National Standard requires review by ANSI that therequirements for due process, consensus, and other criteria for approval havebeen met by the standa
3、rds developer.Consensus is established when, in the judgement of the ANSI Board ofStandards Review, substantial agreement has been reached by directly andmaterially affected interests. Substantial agreement means much more thana simple majority, but not necessarily unanimity. Consensus requires that
4、 allviews and objections be considered, and that a concerted effort be madetowards their resolution.The use of American National Standards is completely voluntary; theirexistence does not in any respect preclude anyone, whether he has approvedthe standards or not, from manufacturing, marketing, purc
5、hasing, or usingproducts, processes, or procedures not conforming to the standards.The American National Standards Institute does not develop standards andwill in no circumstances give an interpretation of any American NationalStandard. Moreover, no person shall have the right or authority to issue
6、aninterpretation of an American National Standard in the name of the AmericanNational Standards Institute. Requests for interpretations should beaddressed to the secretariat or sponsor whose name appears on the titlepage of this standard.CAUTION NOTICE: This American National Standard may be revised
7、 orwithdrawn at any time. The procedures of the American National StandardsInstitute require that action be taken periodically to reaffirm, revise, orwithdraw this standard. Purchasers of American National Standards mayreceive current information on all standards by calling or writing the AmericanNa
8、tional Standards Institute.American National StandardPublished byAmerican National Standards Institute, Inc.25 West 43rd Street, New York, NY 10036Copyright 2010 by Information Technology Industry Council (ITI)All rights reserved.No part of this publication may be reproduced in anyform, in an electr
9、onic retrieval system or otherwise,without prior written permission of ITI, 1101 K Street NW, Suite 610Washington, DC 20005. Printed in the United States of AmericaCAUTION: The developers of this standard have requested that holders of patents that may berequired for the implementation of the standa
10、rd disclose such patents to the publisher. However,neither the developers nor the publisher have undertaken a patent search in order to identifywhich, if any, patents may apply to this standard. As of the date of publication of this standardand following calls for the identification of patents that
11、may be required for the implementation ofthe standard, no such claims have been made. No further patent search is conducted by the de-veloper or publisher in respect to any standard it processes. No representation is made or impliedthat licenses are not required to avoid infringement in the use of t
12、his standard.iContentsPageINCITS 464.1, Information Management - Extensible Access Method (XAMTM) - Part 1: ArchitectureINCITS 464.2, Information Management - Extensible Access Method (XAMTM) -Part 2: C APIINCITS 464.3, Information Management - Extensible Access Method (XAMTM) -Part 3: Java APIiiFor
13、eword (This foreword is not part of American National Standard INCITS 464-2010.)INCITS 464 consists of the following parts, under the general title Information Tech-nolgy - Information Management - Extensible Access Method (XAMTM):- Part 1: Architecture- Part 2: C API- Part 3: Java APIRequests for i
14、nterpretation, suggestions for improvement or addenda, or defect re-ports are welcome. They should be sent to InterNational Committee for InformationTechnology Standards (INCITS), ITI, 1101 K Street, NW, Suite 610, Washington, DC20005.This standard was processed and approved for submittal to ANSI by
15、 INCITS. Com-mittee approval of this standard does not necessarily imply that all committee mem-bers voted for its approval. At the time it approved this standard, INCITS had thefollowing members:Don Wright, ChairJennifer Garner, SecretaryOrganization Represented Name of RepresentativeAdobe Systems
16、Inc. . Scott Foshee Steve Zilles (Alt.)AIM Global Inc. Dan Mullen Charles Biss (Alt.)Apple Computer, Inc. . Kwok Lau Helene Workman (Alt.)David Singer (Alt.)Distributed Management Task Force John Crandall Jeff Hilland (Alt.)Electronic Industries Alliance Edward Mikoski, Jr. Henry Cuschieri (Alt.)EMC
17、 Corporation . Gary Robinson Farance Inc. . Frank Farance Timothy Schoechle (Alt.)Google Zaheda Bhorat GS1 US . Ray Delnicki Frank Sharkey (Alt.)James Chronowski (Alt.)Mary Wilson (Alt.)Hewlett-Packard Company Karen Higginbottom Paul Jeran (Alt.)IBM Corporation Gerald Lane Robert Weir (Alt.)Arnaud L
18、e Hors (Alt.)Debra Boland (Alt.)Steve Holbrook (Alt.)IEEE . Bill Ash Jodie Haasz (Alt.)Bob Labelle (Alt.)Intel Philip Wennblom Grace Wei (Alt.)Stephen Balogh (Alt.)Lexmark International. Don Wright Dwight Lewis (Alt.)Paul Menard (Alt.)Jerry Thrasher (Alt.)Microsoft Corporation . Jim Hughes Dick Brac
19、kney (Alt.)John Calhoun (Alt.)iiiNational Institute of Standards Setting the Retention Identifier 120Table 58 Setting the Retention Enabled Flag .121Table 59 Setting the Duration .121Table 60 Setting the Start Time 122Table 61 Increasing the Retention Duration on an Active Retention Scope .122Table
20、62 Deletion Value Management Properties 124Table 63 XSet Policy Management Properties .127Table 64 Hold Properties 133Table 65 Valid Comparisons 136Table 66 Comparison Operators 136Table 67 Operator Descriptions 136Table 68 Summary of “like“ Operator .137Table 69 Query Numeric Comparisons of Differe
21、nt types 138Table 70 Escape Sequences for Quoted Field Names and Strings .144Table 71 Query Job-Specific Fields 145Table 72 Query Job Error Codes 147Table 73 Query Example XSets .150Table 74 XAM Requirements for SASL 156Table 75 XSet Policy Management Properties .164Table 76 XSet Access Control Poli
22、cy Methods 164Table A.1 XAMQuery Methods .166Table A.2 XUIDIterator Methods 166Table A.3 Base64 Methods 167Table A.4 XUID Padding Methods 167Table A.5 Field Determination Methods .168iForeword (This foreword is not part of American National Standard INCITS 464.1-2010.)Purpose and AudienceThis docume
23、nt is intended to be used by two broad audiences. The first audience consists of application programmers who wish to use the XAM Application Programmers Interface (API) to create, access, manage, and query reference content through standardized methods that are collectively referred to as XAM (eXten
24、sible Access Method). The second audience consists of those who implement reference content stores that wish to provide access to their stores through the XAM standardized methods.OrganizationThe contents of this part of INCITS 464 are described as follows:Chapter Contents1, “Scope” Defines the subj
25、ect of the document and the aspects covered.2, “References” Lists the referenced documents that are indispensable for the application of this document.3, “Terms and Conventions” Defines the terms and typographical conventions used in the document.4, “Business Overview” Gives the background of the SN
26、IA XAM and how XAM addresses the industry and market needs.5, “Overview of the XAM Architecture”Gives an overview of the XAM architecture, including how the XAM Storage System vendors connect their storage systems through the XAM standard APIs.6, “XAM Objects and Common Operations”Defines the XAM ob
27、jects as well as the common data structures and operations that can be associated with the XAM object.7, “XAM Library and XSystems”Specifies the XAM applications logical view of the XAM Storage System and the software modules that comprise XAM.8, “XSet Operations” Defines the behavioral and semantic
28、 model of an XSet by describing applicable methods on individual XSets and their elements.9, “XSet Management” Specifies XSet lifecycle management capabilities, including retention, deletion, and hold.10, “Query” Describes the query language grammar and the two levels of query supported through the
29、XAM API.11, “Security” Describes three XAM security functions: XAM application authentication, XSystem authorization, and XSet access control.Annex A, “(normative) XAM Toolkit”Describes toolkit methods to simplify some common operations within XAM.Annex A, “(normative) Canonical XSet Interchange For
30、mat”Describes the XSD (XML Schema Definition) for the XML manifest that is used by the XSet canonical format when importing and exporting an XSet.ii11 ScopeThis part of the XAM standard is a normative specification of the general architecture and semantics of the XAM API. It applies to programmers w
31、ho are generating XAM applications in any programming language. It also applies to storage system vendors who are creating vendor interface modules (VIMs).This document uses an object model to describe syntax in examples; these examples are informative only. It is not a normative specification of th
32、e syntax of the XAM interfaces in any language binding. The normative specification of the syntax of the C language binding is defined in the XAM C API Specification XAM-C-API. The normative specification of the syntax of the Java language binding is defined in the XAM Java API Specification XAM-JAV
33、A-API. AMERICAN NATIONAL STANDARD INCITS 464.1-2010American National Standardfor Information Technology Information Management Extensible Access Method (XAMTM) Part 1: ArchitectureINCITS 464.122 References2.1 Normative ReferencesThe following standards contain provisions which, through reference in
34、this text, constitute provisions of this American National Standard. All standards are subject to revision, and parties to agreements based on this American National Standard are encouraged to investigate the possibility of applying the most recent editions of the standards indicated below.For dated
35、 references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.CRC Williams, Ross, “A Painless Guide to CRC Error Detection Algorithms”, Chapter 16, August 1993, http:/www.repairfaq.org/filipg/LINK/F_crc_v3.html I
36、ANA-SASL “Simple Authentication and Security Layer (SASL) Mechanisms” http:/www.iana.org/assignments/sasl-mechanismsIEEE754 IEEE Standard 754-1985. IEEE Standard for Binary Floating-Point Arithmetic. IEEE, New York, 1985.ISO8601 “Data elements and interchange formats - Information interchange - Repr
37、esentation of dates and times”, ISO 8601, http:/isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch all other invoked methods cause errors.3.1.5 CRCAcronym for cyclic redundancy check.3.1.6 fatal errorA method result indicating that the invoked method failed to completely perf
38、orm its intended operation. A fatal error indicates that the object instance on which the method was invoked has transitioned to the corrupt state.3.1.7 fieldA piece of uniquely identifiable data that can be attached to an XSet, an XSystem, or a XAM Library. Two types of fields exist: a property and
39、 an XStream.3.1.8 field attributeOne or more features associated with a field. A field has multiple attributes associated with it, including type (MIME type), binding (TRUE/FALSE), readonly (TRUE/FALSE), and length (length of the value).3.1.9 method An abstract interface definition for a specific pi
40、ece of functionality. When mapped to a specific programming language definition of the method, this may be a function, a procedure, a macro, or an object-oriented method.3.1.10 MIMEAcronym for Multipurpose Internet Mail Extensions. MIME types are used by XAM to indicate the format of the data contai
41、ned in an XStream. For additional information, see RFC2045 and RFC2046. INCITS 464.153.1.11 nonbinding fieldAn XSet field that does not affect the value assigned to the XUID when the XUID is created after committing the XSet to persistent storage.3.1.12 nonbinding modificationA modification that inc
42、ludes all field editing that is not a binding modification, specifically, adding or deleting nonbinding fields, changing nonbinding field values, changing the nonbinding field type, or opening a nonbinding XStream in writeonly or appendonly mode.3.1.13 non-fatal errorA method result indicating that
43、the invoked method did not perform its intended operation. A non-fatal error shall not cause an object instance to change its current state.3.1.14 OIDAcronym for object identifier.3.1.15 propertyA field whose MIME type attribute is one of the XAM-defined simple types (stypes).3.1.16 RBACAcronym for
44、Role Based Access Control.3.1.17 reference informationData that changes infrequently once written. Also commonly referred to as fixed content.3.1.18 Role Based Access ControlAn approach to controlling the system access of authorized users based on the users role within an organization. For additiona
45、l discussion, see Chapter 10, “Query”. For more information, see RBAC.3.1.19 SASLAcronym for Simple Authentication and Security Layer.3.1.20 Simple Authentication and Security LayerA framework for providing authentication and data security services in connection-oriented protocols and interfaces via
46、 replaceable mechanisms. See RFC4422.3.1.21 stypeA set of MIME types defined in the XAM specification that are used for field type attributes and are commonly referred to as simple types.3.1.22 synthetic fieldA XAM field that may not be physically represented within the XAM Storage System. Some fiel
47、ds may be derived from other state information within the XAM Storage System. From a XAM application perspective, it does not matter whether a specific XAM field is synthetic or not.3.1.23 system fieldA XAM field with a name attribute in the reserved system field namespace of .* (see Term 3.1.1, “ap
48、plication field”). XAM applications are prevented from creating fields in this portion of the field namespace, though they may be able to change a system field value at the discretion of the XAM Library and VIM implementations.INCITS 464.163.1.24 system propertiesA property that is created and manag
49、ed by the XSystem or the XAM Library.3.1.25 TLSAcronym for Transport Layer Security.3.1.26 VIM Acronym for Vendor Interface Module.3.1.27 Vendor Interface ModuleA vendor-specific shared library that implements the standard API calls (known as the VIM API) used by the XAM Library to communicate with a specific storage system.3.1.28 VIM APIThe methods that the XAM Library uses to communicate with the VIMs.3.1.29 XAMAcronym for eXtensible Access Method.3.1.30 XAM APIThe methods that a XAM application u