Download presentation
Presentation is loading. Please wait.
Published byByron Harrington Modified over 9 years ago
1
OASIS SDD TC Version Proposal Draft 2 after Jan. 2007 F2F Brent A. Miller STSM, IBM Corp.
2
Current State versionStringType: –We specify this –This is incorporated in the specification –Used in (PD).packageIdentity.IdentityType, (DD).resultingResource.backwardCompatibility, ( DD).resource, (DD).resultingResource, (DD).root[x]U.identity, (DD).ResourceConstraintGroup.versionConstraint –Blue = ones that we control and specify as VRML –We specify a version comparison algorithm
3
Problem Statement (1) We control the “make it up” version specifications –Descriptor identities We do not control the “look it up” version specifications –Resource –resultingResource –Version constraints Examples of version indication methods on next slide Hence, we cannot constrain version to VRML format in all cases
4
Version Indication Examples In just one hosting environment (OS), in just several popular OSes, we find “version” information consisting of some combination of: –Generation –Edition –Ver –KernelVer –Maint –BuildNum –CodeName –ProdNum My computer’s version identification information is “Version 5.1 (Build 2600.xpsp_sp2_gdr.050301-1519:Service Pack 2) ” –Windows version numbers ( “5.1” ) are little used –“XP” serves as a major version number, but doesn’t appear as a classic one –Build number is a key identifier, but does not update the version number –Etc. (and similarly in other OSes/hosting environments/applications…) Fixes (maintenance level, patches applies) are key version indicators in many OSes
5
Proposal 1.Accommodate (“import”) all version specifications genericVersionString This enables a single, consolidated version representation for: –Capturing versions returned this way from environments, to enable mapping to sequence defined in #2 below –Containing version information that can’t be mapped to the sequence 2.Define sequence in schema to allow genericVersionString to be mapped to version parts for version comparison 3.Specify mapping to this sequence in profiles –Manufacturer-to-SDD neutral vocabulary –Current “VRML” definition needs to be expanded to include non-numeric characters; probably split into separate elements –Add a string for versions that can’t be structured?? 4.Update version comparison algorithm to handle non-numeric values Result is: Normalization of version information Accommodation of “all” versions with structuring for comparison Consistent with CIM/SMASH (http://www.dmtf.org/standards/published_documents/DSP1023.pdf)
6
Schema [add]: [current]: [replace with]: type=“string" minoccurs=“1”/> type=“string" minoccurs=“0”/> type=“string" minoccurs=“0”/> Notes: 1.Assume 4 elements (a la CIM/SMASH/VRML) 2.Should version part strings have restrictions? 3.Do we need a choice for VersionStringType to allow a genericVersionString as the other choice?
7
Version comparison algorithm –Standard versions are of the form type VersionStringType, with each part being numeric. Non-standard versions may include alphabetic characters are mapped to the individual parts of VersionStringType according to mappings specified in profiles. Equality is determined by testing the equality of each part. Least significant parts may be omitted if they are “0”, e.g., 1.1 is equivalent to 1.1.0.0; 4a.1.2 is equivalent to 4a.1.2.0. –To compare versions, each version part is evaluated from left to right using either alphanumeric or alphabetic comparison (alphabetic comparison which MUST use a non-Unicode, locale-insensitive, case- insensitive collating sequence). For version parts that consist of a number followed by a letter, the numeric part is compared first: a version part “4a” is greater than a version part “4”; a version part of “40” is greater than “4a”. Comparison stops when the version parts are different (in this case, the greater version is the one with the greater version part), when no corresponding version part exists in one of the versions being compared (in this case, the greater version is the one with remaining non-zero version part(s)) or when the versions are equal.
8
Example (1) Windows “Version 5.1 (Build 2600.xpsp_sp2_gdr.050301-1519:Service Pack 2)” 1.Accommodate (“import”) all version specifications genericVersionString= “Version 5.1 (Build 2600.xpsp_sp2_gdr.050301-1519:Service Pack 2)” 2.Specify mapping to structure in profiles –major=“5” –minor=“1” –discriminant=“2600” –additionalDiscriminant=“”
9
Example (2) RHEL “RHEL AS 3 Update 8 k2.6.10-xenU” 1.Accommodate (“import”) all version specifications genericVersionString= “RHEL AS 3 Update 8 k2.6.10-xenU” (note: K2.6.10 is kernel version, which is distinct from the Linux release) 2.Specify mapping to structure in profiles –major=“AS 3” –minor=“” –discriminant=“” –additionalDiscriminant=“”
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.