필자의 기사인 "Supplement Creative Commons with open standards"(참고자료 참조)에서는 독점적인 DRM(Digital Rights Management) 기술의 문제점을 설명하고 몇 가지 해결책을 제시했다. 라이센스를 설명했으며 라이센스를 선택할 때 알아야 할 작업 특성에 대해서도 살펴보았다. 필자는 소비자가 선택할 수 있는 요구사항, 제한조건, 사용권한 및 사용권한 기준으로 구성된 크로스 브라우저 메뉴에 관한 예를 살펴보았다.
"Integrate ccREL into content"(참고자료 참조) 기사에서는 ccREL을 사용하여 Creative Commons 라이센스를 기술하는 방법을 설명했다. 또한 ccREL의 추상 모델과 이용할 수 있는 라이센스 유형에 관해 살펴보았다. 그리고 ccREL을 컨텐츠에 통합하는 방법을 보여주는 예를 제시하였다.
이 기사에서는 SLA를 RDF 코드 각 버전에 통합하는 과정을 살펴본다. CC 웹 사이트의 License Wizard는 RFD/XML에서 RDF/XHTML로 이주되지 않았으며 License Wizard에는 라이센스 특성에 SLA 요소가 없기 때문에 SLA 값에 대한 어휘는 다른 웹 사이트에서 호스트되어야 한다. 여기서는 RDF/XML보다 유연한 RDF/XHTML 버전을 사용하여 SLA 값을 애플리케이션에 통합하는 방법을 살펴본다. 여기서 작성하는 애플리케이션은 CC와 W3C 웹 사이트를 모두 참조한다.
표 1에는 작업 특성에 대한 목록과 설명이 표시되어 있다. dc와 cc는 작업 특성에 대한 접두부로 스펙의 소스를 표시한다.
표 1. 작업 특성
| 값 | 설명 |
|---|---|
| cc:attributionName | 작업에 속성을 설정할 경우에 확인할 이름을 지정한다. |
| cc:attributionURL | 속성을 할당할 경우에 URL을 지정한다. |
| cc:deprecateOn | 특정 날짜에서 사용되지 않은 라이센스를 표시한다. |
| dc:jurisdiction | 해당 라이센스를 특정 재판 관할권과 연관시킨다. |
| cc:legalCode | 해당 라이센스에 부합하는 법조문을 제공한다. |
| cc:source | 원본 소스를 URI와 연관시킨다. |
| cc:morePermissions | CC 라이센스에서 지정한 것 이외의 추가 사용권한에 관한 정보를 제공하는 URL을 가리킨다. |
| dc:title | 문서의 제목을 지정한다. |
| dc:type | 원본 소스를 URI로서 연관시킨다. |
SLA 값을 CC 라이센스에 통합하려면 SLA 값을 표 2에 있는 작업 특성에 추가해야 한다. 그리고 확장된 작업 특성에서 SLA를 임시 접두부로 할당하고 스펙의 소스를 표시하여 RDF로 SLA를 기술한다. 이 시점에서는 SLA 값이 아직 CC 스키마나 Dublin Core 어휘에 들어 있지 않으므로 여기서 SLA 어휘에 있어야 하는 값이 무엇인지 확인한다.
표 2. 확장된 작업 특성
| 값 | 설명 |
|---|---|
| sla:title | SLA의 제목을 지정한다. |
| sla:provider | SLA 서비스 제공자의 이름을 지정한다. |
| sla:values | SLA 값을 지정한다. |
| sla:providerURL | SLA 서비스 제공자의 URL을 지정한다. |
| sla:valuesURL | SLA 값을 할당하는 경우 URL을 지정한다. |
| sla:documentURL | SLA 문서의 URL을 지정한다. |
| sla:serviceCredit | 월간 서비스 신용을 이용하여 가용성을 백분율로 지정한다. |
| sla:serviceCreditURL | 월간 서비스 신용을 이용하여 가용성을 백분율로 표시할 URL을 지정한다. |
| sla:terminatedOn | 특정 날짜에 해지된 SLA를 표시한다. |
| sla:terminatedOnURL | SLA 해지 통지를 표시할 URL을 지정한다. |
| sla:legalText | SLA에 부합하는 법조문을 가리킨다. |
Listing 1에는 SLA 값을 애플리케이션에 추가하는 방법이 표시되어 있다. 일곱 번째 줄에는 SLA 정보의 위치가 정의되어 있다. 더 내려가서
property="sla:[some value]"가 포함된 링크는 SLA와 관련된 정보를 제공한다. 여기서 할당한 URL 소스는 임의로 지정한 것이다.
Listing 1. 사용자 정의 HTML 코드
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:biblio="http://examplebook.org"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://www.w3.org/2002/12/cal/ical#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sla="http://www.sla1.com/sla#">
<head>
<title>Judith M. Myerson's Stuff</title>
</head>
<body>
<p typeof="biblio:RFID">
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/us/">
<img alt="CC License" style="border-width:0"
src="http://i.creativecommons.org/l/by-nc-nd/3.0/us/88x31.png" ></a><br />
<span href="http://purl.org/dc/dcmitype/Text" property="dc:title"
rel="dc:type">RFID in the Supply Chain</span>by
<a href="www.ibm.com" property="cc:attributionName"
rel="cc:attributionURL">Judith Myerson</a> is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/us/">
CC Attribution-Noncommercial-No Derivative Works 3.0 United States License</a>.
Based on a work at <a href="www.source.com"
rel="dc:source">www.source.com</a>.<br/>
This license is guaranteed uptime availability by
<a property="sla:providerName" rel="sla:providerURL"
href="http://www.sla1.com/provider"> SLA Provider</a>
as specified in
<a property="sla:title" rel="sla:documentURL" href="http://www.sla1.com/document">
SLA Document</a>
You can look up sla values in
<a property="sla:values" rel="sla:valuesURL" href="http://www.sla1.com/slavlues">
SLA Values</a>
This SLA is available in rel="sla:legalText" href="http://www.sla1.com/legaltext">
Legal text</a>
Permissions beyond the scope of this license may be available at
<a href="www.morepermissions.com" rel="cc:morePermissions">www.morepermissions.com</a>
<a rel="cc:legalcode" href="http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode"/>
Legal Code</a>
<br/>
<span property="cal:dtstart" content="2008-11-16T16:00:00-05:00" datatype="xsd:dateTime">
November 16, 2008 at 4:00 PM </span>
</p>.
</p>
</body>
</html>
|
코드에 스타일 시트를 추가할 수 있다. 이것을 테스트하려면 라이센스 아이콘 단추나 라이센스 제목을 눌러서 적용된 라이센스에 관한 정보를 가져온다.
SLA에 예외를 둠으로써 서비스 제공자는 서비스 제공자가 직접 통제할 수 없는 장애, 네트워크 중단, 예정된 유지보수 문제 및 기타 네트워크 문제에 대해 책임을 면할 수 있다. 다시 말해서 경쟁 서비스에 SLA에 대한 예외가 더 적으면 고객은 더 나은 서비스를 보장하면서 비즈니스 운영상 더 많은 동작 시간 가용성을 제공하는 SLA를 선택할 수 있게 된다. 심지어 보장하는 동작 시간 가용성이 99.5%, 99.9% 및 99.999% 정도로 차이가 근소한 경우에도 SLA를 선택하는 데 있어서 의사 결정자는 영향을 받게 된다. 다음은 SLA에 포함될 가능성이 있는 몇 가지 예외이다.
표 3. 예외 사례
| 값 | 설명 |
|---|---|
| 오류 | 하드웨어 오류(결함이 있는 하드웨어가 드물지 않음) 통신 장애(예를 들면, 서비스 제공자가 광케이블을 우연히 자르는 경우) 소프트웨어 버그/결함 모니터링/측정 시스템 오류 |
| 서비스 제공자가 직접 통제할 수 없는 네트워크 문제 | 백본 피어링 포인트 문제(예를 들면, 캘리포니아에 있는 라우터의 계획된 중단 시간, 전체 서부 해안 지역에 대한 인터넷 서비스 거부) 서비스 제공자가 직접 통제할 수 없는 DNS 문제 |
| 서비스 거부 | 고객 태만/의도적인 불량 행위 네트워크 플러드, 해킹 및 공격 천재지변, 전쟁, 통신 두절, SLA를 제공하는 데 필요한 장비나 공급품의 부족 |
| 예정된 유지보수 | 하드웨어 업그레이드 소프트웨어 업그레이드 백업 |
서비스에서 목표로 하는 동작 시간 가용성이 일반적으로 매월 99.9%라고 해도 두 달을 기준으로 서비스 레벨이 99% 아래로 떨어지는 경우 고객이 신용을 받을 자격이 있다는 점을 서비스 제공자가 지정해야 한다. 동작 시간 가용성의 성능 저하로 사용자의 20%가 영향을 받은 경우에만 고객은 서비스 비용 지불 계정에서 신용을 공제할 수 있다.
예를 들어 보장된 서비스 시간이 동작 시간 가용성의 99.40 - 99.90% 사이로 떨어지면 고객은 매월 10%의 서비스 신용을 받는다. 마찬가지로 보장된 서비스 시간이 동작 시간 가용성의 98.00 - 99.00% 사이로 떨어지면 고객은 매월 30%의 서비스 신용을 받는다. 고객이 받을 수 있는 가장 큰 월간 서비스 신용은 60%로 보장된 서비스 시간이 동작 시간 가용성의 95%로 떨어지는 경우에 받게 된다.
표 4. 서비스 신용
| 가용성 백분율 | 월간 서비스 신용 |
|---|---|
| 99.40 - 99.70 | 10% |
| 99.00 - 99.40 | 20% |
| 98.00 - 99.00 | 30% |
| 97.00 - 98.00 | 40% |
| 96.00 - 97.00 | 50% |
| 95.00 - 96.00 | 60% |
Listing 2를 보면 서비스 신용의 범위를 애플리케이션에 추가하는 작업이 얼마나 쉬운지 알 수 있다.
Listing 2. 서비스 신용
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:biblio="http://examplebook.org" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://www.w3.org/2002/12/cal/ical#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sla="http://www.sla1.com/sla#"> . . This license is guaranteed uptime availability by <a property="sla:providerName" rel="sla:providerURL" href="http://www.sla1.com/provider"> SLA Provider</a> as specified in <a property="sla:title" rel="sla:documentURL" href="http://www.sla1.com/document">SLA Document</a> You can look up SLA values in <a property="sla:values" rel="sla:valuesURL" href="http://www.sla1.com/slavlues">SLA Values</a> This SLA is available in <a rel="sla:legalText" href="http://www.sla1.com/legaltext"> Legal text</a> <a property="sla:ServiceCredit" rel="sla:serviceCreditURL" href="http://www.sla1.com/servicecredit">Monthly Service Credit</a> <table> <tr> <th scope="col">Availability percentage</th> <th scope="col">Monthly service credit</th> </tr> <tr> <th scope="row" align="left">99.40 - 99.70</th> <td>10%</td> </tr> <tr> <th scope="row" align="left">99.00 - 99.40</th> <td>20%</td> </tr> <tr> <th scope="row" align="left">98.00 - 99.00</th> <td%gt30%</td> </tr> <tr> <th scope="row" align="left">97.00 - 98.00</th> <td>40%</td> </tr> <tr> <th scope="row" align="left">96.00 - 97.00</th> <td>50%</td> </tr> <tr> <th scope="row" align="left">95.00 - 96.00</th> <td>60%</td> </tr> %lt;/table> . . </html> |
임의의 3개월 동안 실제 가용성이 98% 미만이 되면 고객은 계약 위반을 이유로 SLA를 해지할 권한을 갖는다. 임의의 3개월 동안 실제 가용성이 95% 미만이 되면 서비스 제공자는 합리적인 시간 내에서 SLA 해지를 통보하고 다른 서비스 제공자를 제시할 수 있는 권한을 갖는다.
서비스 제공자가 SLA를 해지할 경우에 고객이 3개월을 기다릴 수 없으면 2달이 지난 후 벌금을 물리지 않은 상태에서 서비스 제공자에게 해지 요청을 할 수 있다. 그러면 서비스 제공자가 고객에게 해지 통보를 한다.
어느 경우에나 해지 통보는 아래와 같이 해당 애플리케이션에 코드화되어야 한다.
Listing 3. 해지 통보
This SLA was terminated on <a property="sla:terminatedOn" rel="sla:termiantedOnURL" href="http://www.sla1.com/terminated">Feb 23 2009</a> |
보장된 서비스 레벨 아래로 성능이 저하되는 경우 서비스 신용을 주는 것만으로는 충분하지 않다. 시간차가 크면 중단 임계값이 서비스 보장에 역효과를 일으킬 수 있는 레벨에 도달할 수 있다. 동작 시간 가용성이 보장된 시간에 미치지 못하는 경우에는 이러한 임계값을 성능 지표에 포함시킬 필요가 있다.
초고속 무선 네트워크가 10번 중단되었으며 신속하게 다시 연결되었다고 가정하자. 화면에서 보려고 DRM(Digital Rights Management) 서비스를 다운로드하거나 하드 디스크에 저장하는 동안에도 여전히 동작 시간 가용성은 99.9%로 유지될 수 있다. 그러나 11번 중단이 되었다고 가정해 보자. 그러면 동작 시간 가용성이 보장된 가용성보다 낮아지기 시작할 수 있다. 이 시점이 통신 회선이 신속하게 다시 연결될 수 없는 부분이다. 다운로드 중인 음악은 일시적으로 멈추게 된다. 마우스는 이동하려고 한 지점에서 고정된 것처럼 보인다.
여기에서 서비스 제공자는 다양한 네트워크 속도에서 어떤 중단 임계값이 있는지 결정해야 한다. 고속 네트워크에서 승인될 수 있는 중단 임계값은 저속 네트워크에서는 승인될 수 없다.
중단 임계값이 보장된 서비스 레벨의 최대값에 도달하면 서비스 제공자에게 이메일 경보가 전송될 수 있다. 그러면 서비스 제공자가 동작 시간 가용성이 보장된 서비스 레벨 밑으로 떨어지기 시작하기 전에 실시간으로 문제를 해결할 수 있다.
IPv4 주소가 고갈 중이기 때문에 훨씬 더 많은 주소를 제공하는 IPv6로 이동해 가는 중이다. 따라서 이러한 변화 과정에서 이중 네트워크의 사용 여부와 관계없이 SLA에 이러한 정보를 포함해야 한다. 이중 네트워크를 사용하고 있다면 IPv4와 IPv6를 대상으로 가용성 백분율 범위의 각 항목에 할당할 서비스 신용과 이 범위의 각 항목에 설정해야 하는 최대 중단 임계값을 SLA에 지정해야 한다.
독자는 이 기사를 통해 SLA를 CC 라이센스에 통합할 수 있다. SLA에 있는 보장 서비스 레벨에 대한 사용자의 요구는 창작자, 라이센스 제공자, 저작권자 및 서비스 제공자가 해결해야 할 하나의 과제이다. SLA 값에 대한 특성을 포함하고 있고 라이센스에 있는 스펙의 소스를 가리키는 애플리케이션을 작성함으로써 개발팀과 사용자는 어려움을 겪지 않게 된다.
- Judith의 "Supplement Creative Commons with open standards"(developerWorks 2009년 1월) 기사를 읽어보자.
- Judith의 "Integrate ccREL into the content"(developerWorks 2009년 7월) 기사를 읽어보자.
- ccREL: The Creative Commons Rights Expression Language(PDF)와 RDFa in XHTML: Syntax and Processing를 자세히 읽어보자.
- Judith M. Myerson의 시리즈 기사인 Use SLAs in a Web services context에서 SLA에 관한 자세한 정보를 확인할 수 있다.
- "Tight coupling Web services in the SOA"(developerWorks, 2008년 1월)를 읽어보자.
- My developerWorks: 웹 개발을
비롯한 관심 분야에 대한 그룹, 블로그 및 활동을 찾아보거나 만들어보자.
Judith M. Myerson은 시스템 아키텍트이자 엔지니어이다. 미들웨어 기술, 엔터프라이즈급 시스템, 데이터베이스 기술, 애플리케이션 개발, 네트워크 관리, 보안 및 프로젝트 관리에 관심을 가지고 있다. 이메일 주소는 jmyerson@bellatlantic.net이다.