상술한 목적을 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 프레즌스 관리 시스템은, 온라인상에서 제공되는 하나 이상의 서비스에 대한 사용자 프레즌스 정보를 통합적으로 제공하는 프레즌스 서버를 포함하고, 상기 프레즌스 서버는, 사용자의 공통 정보를 관리하는 공통 정보 관리부, 사용자가 가입한 서비스와 관련된 사용자 정보를 관리하는 서비스별 사용자 정보 관리부, 각각의 서비스에 대해 사용자의 상태를 관리하는 서비스별 상태 관리부 및 각각의 서비스에 대한 사용자 프레즌스 정보를 통합적으로 제공하는 프레즌스 정보 제공부를 포함한다.
여기서, 상기 프레즌스 정보 제공부는, 사용자가 가입한 서비스와 상기 가입 서비스에 대한 사용자 상태를 트리화하여, 온라인 상에서 접근 가능한 문서로서 저장할 수 있다.
또한, 상기 프레즌스 서버는, 사용자가 가입한 서비스에 대한 버디 리스트를 서비스 별로 구분하여 통합적으로 제공하는 버디 리스트 제공부를 더 포함하고, 상기 버디 리스트는 사용자가 가입한 서비스와 상기 서비스에 속한 버디에 관한 정보를 트리화하여 온라인 상에서 접근 가능한 문서로서 저장할 수 있다.
본 발명의 제 2 측면을 따른 프레즌스 제공 방법은, a) 사용자 클라이언트로부터 사용자의 공통 정보를 수신하여 등록하는 단계; b) 상기 사용자가 가입한 서비스를 등록하는 단계; c) 상기 사용자가 가입한 서비스 별로 사용자 상태를 관리하여 가장 최근의 상태로 갱신하는 단계; 및 d) 프레즌스 정보 요청에 응답하여 상기, 사용자의 서비스 별 상태를 통합하여 프레즌스 정보로서 제공하는 단계를 포함한다.
여기서, 상기 사용자의 서비스 별 상태는 XML 문서로서 저장되며, 상기 단계 c)는, 상기 XML 문서의 생성, 변경, 삭제 중 적어도 하나를 위한 XCAP 기반 메시지에 응답하여 수행될 수 있다.
본 발명의 제 3 측면을 따른 버디 리스트 제공 방법은, a) 버디 리스트의 디스플레이 요청을 수신하는 단계; b) 버디 리스트의 소유자의 사용자 ID를 검색하는 단계; c) 검색된 사용자 ID에 해당하는 사용자가 가입한 서비스 리스트를 생성하는 단계; 및 d) 상기 서비스별 버디 정보를 통합적으로 디스플레이하는 단계를 포함한다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명의 명세서에서 사용된“내부 서비스”란 용어는 동일 주체에서 제공하는 서비스 그룹 중 하나의 서비스를 의미한다.
또한, 본 발명의 명세서에서 사용된“외부 서비스”란 용어는 다른 주체에서 제공되는 서비스 그룹 중 하나의 서비스를 의미한다.
또한, 본 발명의 명세서에서 사용된 “신규 서비스”는 상기 “내부 서비스”와 “외부 서비스”외에 새롭게 추가될 수 있는 서비스를 의미한다.
또한, 본 발명의 명세서에서 사용된 “버디”는 다양한 서비스에서 특정 사용자와 관련되어 등록된 타 사용자로서, 예를 들어 블로그 이웃, 메신저 친구, 인터넷 폰의 전화번호부에 등록된 사용자들을 포괄적으로 포함하는 개념이다.
도 2는 본 발명의 일 실시예에 따른 프레즌스 관리 시스템을 개략적으로 도시한 도면이다.
본 발명의 일 실시예에 따른 프레즌스 관리 시스템은 사용자 1 또는 사용자 2가 가입한 서비스의 정보를 통합적으로 관리하는 프레즌스 서버(100)을 포함한다.
상기 프레즌스 서버(100)는 서비스 그룹(20)의 서브 서비스(21, 22, 23)에 대한 상태 정보(예를 들어, 로그인 상태)를 통합적으로 관리함으로써, 만약 사용자 1이 상기 서브 서비스 중 일부에만 로그인 되어 있는 경우에도 다른 서브 서비스에 로그인 된 사용자 2가 파악할 수 있게 된다.
도 3은 본 발명의 일 실시예에 따른 IMS를 이용한 프레즌스 서비스 네트워크를 도시한 도면이다.
본 발명의 일실시예 따른 프레즌스 서비스 네트워크는, 내부 서비스 그룹(20), 외부 서비스 그룹(30), 신규 서비스 그룹(40), 프레즌스 서버(100), IMS 코어망(200)을 포함한다.
내부 서비스 그룹(20)은 동일 주체가 제공하는 통합 서비스로서 서브 서비스를 위한 서버(21, 22, 23)을 포함한다. 내부 서비스 그룹(20)은 동일 주체에 의해 제공되는 서비스의 그룹으로서 예를 들어, 검색 포털, 뉴스 포털, 게임 포털, 메신저, 인터넷 폰 등의 서브 서비스를 포함한다. 내부 서비스 그룹(20)은 동일한 도메인을 공유하거나, 동일한 이메일 도메인을 사용할 수 있다.
외부 서비스 그룹(30)은 내부 서비스 그룹(20)의 제공 주체와 다른 주체에 의해 제공되는 서브 서비스를 위한 서버(31, 32)를 포함한다. 외부 서비스 그룹(30)의 서브 서비스는 미디어 컨텐츠, 길찾기, 지도 서비스, 광고, 쇼핑몰 등의 서브 서비스를 포함할 수 있다.
신규 서비스 그룹(40)은 상기 내부, 외부 서비스 외에 새롭게 추가될 수 있는 서비스로서 IP 기반 통신이 지원되는 IPTV, 유, 무선 방송, VOD 등의 서브 서비스를 포함할 수 있다.
여기서, 프레즌스 서버(100)는 내부 서비스 그룹(20)의 각각의 서브 서비스의 사용자 상태를 관리하고 제공한다. 따라서, 외부 서비스 그룹(30)은 사용자 로그인 상태 등에 따라서 부가 서비스를 제공할 수 있다. 예를 들어, 내부 서비스 그룹(20)의 특정 서브 서비스(21)에서 이용 가능한 외부 서비스의 컨텐츠에 대해서도, 서브 서비스(21)에 로그인하지 않고 서브 서비스(22) 또는 서브 서비스(23)에 로그인 된 사용자에 대해서 컨텐츠를 제공하거나 컨텐츠 제공 가능 상태를 통보할 수 있다.
도 3에 도시된 실시예에서는 기본적인 프레즌스 정보의 조회, 변경, 추가, 삭제는 XCAP을 이용할 수 있으며, 특정 이벤트에 대한 통지(notification) 처리를 수행할 경우에는 SIP를 이용하여 처리할 수 있다. 또한, 외부 서비스 그룹(30)과의 프레즌스 정보 공유가 필요한 경우에는 XCAP 인터페이스를 제공하여 해당 정보에 접근하는 것을 지원한다. IP TV 또는 VOD와 같은 외부 서비스 역시 XCAP 인터페이스를 이용하여 프레즌스 정보의 이용을 가능하도록 한다.
XCAP은 범용성이 우수한 XML 문서를 채용하고 있으며, HTTP 프로토콜을 기반으로 하고 있으므로, IP 기반 네트워크에서 프레즌스 정보의 관리를 수행하는데 적합하며, SIP는 IMS는 SUBSCRIBE 및 NOTIFY 메소드를 채용하고 있으므로 통지 처리에 적합하다.
도 4는 본 발명의 일 실시예에 따른 프레즌스 서버의 구성을 도시한 도면이다.
본 발명의 일 실시예에 따른 프레즌스 서버(100)는 공통 정보 관리부(111), 서비스 별 사용자 정보 관리부(112), 서비스 별 사용자 상태 관리부(113), 프레즌스 정보 제공부(120), 버디 리스트 제공부(130), 송수신 인터페이스(140)를 포함한다.
공통 정보 관리부(111)는 사용자의 공통 정보를 관리한다. 예를 들어, 사용자의 고유 ID, 실명, 나이, 생년 월일 등 서비스와 독립적인 공통 정보를 관리한다.
서비스별 사용자 정보 관리부(112)는 사용자가 가입한 서비스와 관련된 사용자 정보를 관리한다. 예를 들어, 인터넷 폰에 가입된 사용자의 닉네임, 서비스 ID, 전화 번호부 리스트 등의 등록, 삭제, 변경을 관리한다. 만약, 메신저 서비스인 경우에는 메신저 ID, 닉네임, 친구 리스트 등의 등록, 삭제, 변경을 관리한다.
서비스별 사용자 상태 관리부(113)은 사용자가 가입한 다양한 서비스에 대한 상태(status)를 관리한다. 예를 들어, 로그인, 로그 아웃 상태 또는 자리 비움, 수신 거부 등의 상태를 관리한다.
프레즌스 정보 제공부(120)는, 상기 공통 정보 관리부(111), 서비스별 사용자 정보 관리부(112), 서비스별 사용자 상태 관리부(113)의 정보를 기초로 하여, 각각의 서비스별 사용자의 프레즌스 정보를 제공할 수 있다. 예를 들어, 고유 사용자 ID를 매개로 하여, 서비스 명, 상태 정보를 트리화하여 XML 문서로서 저장하고 XCAP 접근 표준을 통해 상기 XML 문서의 조회를 제공한다.
버디 리스트 제공부(130)는, 상기 공통 정보 관리부(111), 서비스별 사용자 정보 관리부(112), 서비스별 사용자 상태 관리부(113)의 정보를 기초로 하여 특정 사용자의 버디 리스트를 서비스 별로 구분하여 통합적으로 제공한다. 전술한 버디 리스트는 사용자의 버디의 서비스 별 닉네임과 프레즌스 정보를 그룹화하여 제공하는 특정 사용자의 버디 리스트로서 제공한다. 상기 버디 리스트는 서비스별 리스트를 생성하고, 상기 서비스 마다의 속성에 관한 ID를 부여하고, 관련된 버디에 관한 식별자와 닉네임을 정보 요소로서 트리화하여 관리한다. 상기 버디 리스트 역시 XCAP 접근 표준을 통해 상기 XML 문서의 조회를 제공한다.
송수신 인터페이스(140)는 SIP 또는 XCAP 프로토콜 기반의 request/response 시그널을 송, 수신하여 프레즌스 및 버디 리스트 관리에 필요한 정보 요소의 등록, 조회, 변경, 삭제, 통지 기능을 수행하게 된다.
이하, 본 발명의 일 실시예에서 프레즌스 정보의 접근 및 변경에 관한 통지를 위한 신호 흐름을 설명한다.
도 5는 본 발명의 일 실시예에 따른 프레즌스 변경에 대한 이벤트 처리를 도시한 신호 흐름도이다.
사용자 1의 클라이언트(10)은 CSCF(Call session Control Function)(210)에 SIP SUBSCRIBE 요청 메시지를 전송하고, CSCF(210)은 상기 메시지를 프레즌스 서버(100)에 전달한다. CSCF(210)는 SIP 메시지를 라우팅 해주는 프록시 서버이다. 상기 SUBSCRIBE 메시지가 성공적으로 수신된 경우에는 순차적으로 200 OK 메시지가 회신된다. SUBSCRIBE는 전술한 바와 같이, SIP에서 특정 이벤트에 관한 통지를 요청하는 메시지이다.
여기서, 만약 사용자 2의 클라이언트(11)로부터 정보 변경의 요청이 발생한 경우에는 XCAP PUT 메시지가 프레즌스 서버(100)에 전송된다. 전술한 바와 같이, PUT은 XCAP에서 정보의 변경 또는 등록에 이용되는 메시지이다.
프레즌스 서버(100)은 상기 PUT 메시지에 의해 발생한 이벤트가 SUBSCRIBE에 대응하는 이벤트인 경우에는 SIP의 NOTIFY 메시지를 CSCF(210)에 전송하고, CSCF는 상기 메시지를 사용자 1의 클라이언트(10)에 전달한다.
전술한 구성을 통하여, 본 발명의 실시예에서는 XCAP 또는 SIP과 같은 표준 오픈 인터페이스를 제공하여 외부 서비스와 손쉬운 연동이 가능해진다.
여기서, XCAP은 전술한 바와 같이 HTTP 기반의 XML 무선 접근 표준이므로, 범용적으로 이용될 수 있는 URI(Universal Resource Indicator) 형식을 이용하여 XML 문서에 접근할 수 있다.
XCAP은 XML 문서의 element, attribute를 접근하는 방식을 나타내는 Xpath를 이용한다. 본 발명의 실시예에서는 예를 들어 <presence>-><tuple>-><status> 의 형태의 Tree 구조로 되어 있는 XML 문서에서 <status> element 를 접근하고 싶을 때 /presence/tuple/status 형태로 정의하여 Addressing 하는 방식을 Xpath 라 한다. XCAP URI는 다음과 같은 형태로 정의 된다.
[XCAP-Root]/[Doc Selector]/~~/[Node Selector]
[Doc Selector] : [AUID]/[users/global]/[XUID]/[document]
* AUID : 각각의 서비스 또는 애플리케이션의 고유 ID를 나타낸다. 본 발명의 실시예에서는 서비스 명을 나타낼 수 있다. (예를 들어, presence 의 경우 pidf-manipulation )
* Users/global : 특정 사용자 또는 모든 사용자에 해당되는 지를 나타낸다.
* XUID : 사용자 고유 ID를 나타낸다. (예를 들어, tro1234@naver.com)
* Node Selector : XPath 로 정의된 XML 문서 경로를 의미한다.
예를 들어, tro1234@naver.com 의 사용자의 상태 정보를 얻을 경우 URI는 이하와 같이 정의된다.
GET http://nphone.naver.com/pidf-manipulation/users/tro1234@naver.com/index/~~ /presence/tuple/status HTTP/1.1
전술한 바와 같이, XCAP에서는 XML 문서의 조회에 GET를 사용하고, 생성과 변경은 PUT, 삭제시에는 DELETE를 사용한다.
도 6은 본 발명의 일 실시예에 따른 프레즌스 정보 구조를 도시한 도면이다.
tro1234 라는 ID를 가진 사용자가 현재 NAVER 및 네이버 폰 서비스에는 로그인되어 있으나, Hangame 서비스에는 로그 아웃 상태에 있는 경우에는 프레즌스 서버(100)에 기록된 XML 문서는 도 6과 같다.
즉, tro1234 사용자의 프레즌스 XML 문서에서 각각 서비스 별 <tuple>을 생성하고 해당 서비스에 대한 사용자의 상태를 <status> element 를 이용하여 나타낸다. 또한 각각의 서비스 종속되는 정보들은 해당 <tuple> element 의 child element 로 추가하여 관리 한다.
또한, 해당 사용자의 공통 정보는 <person> element 의 child element 로 추가하여 관리 할 수 있다.
도 6에서 확인할 수 있듯이, NAVER 및 네이버폰 서비스(tuple id“naver-service”,”naver-phone”)에 해당하는 사용자의 상태는 “open”으로 로그인 된 것을 확인할 수 있지만, Hangame 서비스(tuple id“hangame”)에 해당하는 사용자 상태는 “close”로 로그 아웃 된 것을 확인할 수 있다.
전술한 트리 구조의 XML 문서는 PUT 또는 DELETE 메시지와 전술한 Xpath와 결합하여 서비스별 상태 정보를 생성, 변경 및 삭제가 가능함은 충분히 이해될 것이다.
도 7은 본 발명의 일 실시예에 따른 버디 리스트의 정보 구조를 도시한 도면이다.
도 7에 도시된 버디 리스트 문서는 ID가“tro1234@naver.com”인 사용자 버디 중 ID가 “test1@naver.com”의 정보 및 상태를 도시하고 있다. tro1234@naver.com 사용자의 resource-lists 문서에서 각각 서비스 별 <list>를 생성하고 ID 속성(예를 들어, naver-phone)을 구분하여 서비스를 표시한다. 관련된 버디 정보는 <entry> element 를 이용하여 나타낸다.
즉, test1@naver.com의 ID를 가진 버디는 현재 네이버 폰 서비스(list name= “naver-phone”)에서는 “박기사”라는 닉네임으로 등록되어 있으며, 네이버 블로그 서비스(list name “naver-blog”)에서 “살다보면 그런거지”란 닉네임으로 등록되어 있다.
이러한 버디 리스트 정보는 도 7에 도시된 바와 같이 GET 메시지를 이용하여 조회할 수 있으며, PUT 및 DELETE 메시지와 Xpath를 이용하여 버디 정보의 생성, 변경, 삭제를 수행할 수 있다.
이러한 계층적인 정보 구조를 통해, 상이한 서비스에서 상이한 닉네임을 사용하는 경우에도 버디 정보를 상호 연관시킬 수 있으며, 서비스 별 프레즌스 정보를 이용하여 버디 리스트를 통합적으로 관리할 수 있게 된다.
전술한 프레즌스 관리 시스템을 이용하는 경우에는 사용자에게 내부 서비스간의 연동과 외부 서비스 또는 신규 서비스의 컨버전스를 용이하게 제공할 수 있다. 또한, 방송과 통신의 경계가 모호해지는 ALL-IP 기반 네트워크 서비스에서 사용자에 대한 다양한 맞춤형 서비스를 제공하는 것이 가능해진다.
도 8은 본 발명의 일 실시예에 따른 프레즌스 관리 방법을 도시한 흐름도이다.
단계(S100)에서는 사용자 공통 정보를 등록한다. 상기 사용자 공통 정보는 서비스에 독립적으로 단일 사용자에 대한 공통 정보를 의미하며, 고유 ID, 실명, 주민등록 번호, 나이, 생년월일, 연락처 등을 포함한다. 상기 공통 정보의 일부는 보안이 유지되고, 다른 일부는 사용자의 선택에 따라 공개되어 프레즌스 제공에 활용될 수 있다.
단계(S110)에서는 사용자별 가입 서비스를 등록한다. 상기 등록된 서비스는 프레즌스 정보 제공에 있어서, 로그인 또는 로그 아웃 된 서비스를 식별하는 데 사용된다. 또한, 상기 등록된 서비스는 버디 리스트 관리에 있어서, 버디의 닉네임이나 상태와 매칭되어 관리될 수 있다.
사용자 공통 정보와 가입 서비스가 등록되면, 서비스별 사용자 상태를 관리한다(S120). 상기 사용자 상태는 로그인 및 로그 아웃을 포함한다. 또한, 설계자의 선택에 따라서, 자리 비움, 수신 거부, 프레즌스 정보 감춤 등을 더 포함할 수 있다. 서비스별 사용자 상태의 관리는 전술한 바와 같이, 사용자-서비스-상태의 트리 구조로 XML 문서에 의해 관리 될 수 있으며, 상기 XML 문서의 조회, 변경 및 삭제는 XCAP 메시지와 Xpath를 이용하여 수행될 수 있다.
즉, XML 문서의 생성(S121) 단계 및 변경 단계(S122)는 PUT 메시지를 이용하여 수행될 수 있으며, 삭제 단계(S123)은 DELETE 메시지를 이용하여 수행될 수 있다.
단계(S130)에서는 SUBSCRIBE 메시지 등을 이용하여 특정 이벤트에 대한 통지 요청이 있었는지를 판단한다. 만약 통지 요청이 존재하였다면, 단계(S131)에서 통지를 수행한다. 상기 통지는 SIP 프로토콜의 NOTIFY 메시지를 이용하여 수행될 수 있다.
단계(S140)에서는 서비스별 사용자 상태 관리에 응답하여 서비스 별 사용자 상태가 갱신되어 항상 최신 정보가 저장된다.
갱신된 사용자별 상태는 XML 문서의 정보 요소로서 저장되어, 상기 프레즌스 정보를 조회하고자 하는 요청(예를 들어, XCAP 프로토콜의 GET 메시지)에 응답하여 프레즌스 정보를 제공하게 된다(S150). 상기 서비스별 사용자 프레즌스 정보는 전술한 바와 같이, 사용자-서비스-상태의 트리 구조로 형성되기 때문에 원하는 element 에 대한 조회, 생성, 변경, 삭제가 지속적으로 이뤄질 수 있다.
도 9는 본 발명의 일 실시예에 따른 버디 리스트 제공 방법을 도시한 흐름도이다.
단계(S200)에서는 특정 서비스에 대한 버디 리스트의 요청을 수신한다. 상기 버디 리스트의 요청은 XCAP 접근 방식에서 “resource-list”등과 같은 버디 리스트 애플리케이션 고유 ID(AUID)를 이용하여 수행될 수 있다.
단계(S210)에서는, 버디 리스트의 소유자인 사용자의 ID를 검색한다. 상기 사용자 ID 역시 XCAP 접근 방식에서 user에 해당하는 ID(XUID)를 이용하여 수행될 수 있다.
사용자 ID로부터 사용자가 특정되면, 상기 사용자가 가입한 서비스의 리스트를 생성한다(S220). 예를 들어, 사용자가 검색 포털, 게임 포털, 인터넷 폰 서비스에 가입하였다면, 각각의 서비스에 대한 리스트가 생성된다. 상기 서비스는 버디 리스트에 관한 XML 문서에서 상기 사용자 ID에 대한 하위 트리로서 생성될 수 있다.
단계(S230)에서는, 상기 생성된 서비스 별로 버디 정보가 디스플레이된다. 상기 버디 정보는 각각의 서비스에 대한 닉네임 또는 프레즌스 정보 등이 될 수 있다. 버디 정보는 우선 버디의 고유 ID를 특정하고, 상기 고유 ID에 대응하는 닉네임을 서비스 별로 디스플레이 하는 방식으로 제공된다. 상기 버디 정보는 사용자 ID?서비스?버디 정보 형태의 트리 구조를 이룰 수 있다.
전술한 구성에 의하여, 사용자는 자신의 가입 서비스의 버디 리스트를 통합 인터페이스를 이용하여 조회할 수 있다.
도 7에 도시되지 않았지만, 도 6에 도시된 프레즌스 정보의 변경에 대한 통지 요청이 존재하는 경우에는 상기 통지는 상기 버디 리스트에도 적용될 수 있음은 전술한 본 발명의 실시예를 통해 자명하게 파악할 수 있을 것이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비 휘발성 매체, 분리형 및 비 분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비 휘발성, 분리형 및 비 분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍처를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
도 10은 상술한 하나 이상의 구성 요소 또는 동작을 실시하기 위하여 사용될 수 있는 컴퓨터 시스템 아키텍쳐의 일례를 도시한 도면이다. 일 실시예에서, 하드웨어 시스템(800)은 프로세서(810), 캐쉬(815), 메모리(815) 및 상술한 기능에 관련된 하나 이상의 소프트웨어 어플리케이션 및 드라이버를 포함한다.
추가적으로, 하드웨어 시스템(800)은 고성능 입/출력(I/O) 버스(840) 및 표준 I/O 버스(870)를 포함한다. 호스트 브릿지(820)는 프로세서(810)를 고성능 I/O 버스(840)에 결합시키고, I/O 버스 브릿지(850)는 두 개의 버스(840 및 870)를 상호 결합시킨다. 시스템 메모리(860) 및 네트워크/통신 인터페이스(830)는 고성능 I/O 버스(840)에 결합된다. 하드웨어 시스템(800)은 비디오 메모리(도시 생략) 및 그 비디오 메모리에 결합된 디스플레이 장치를 더 포함할 수 있다. 대용량 기억장치(880) 및 I/O 포트(890)는 표준 I/O 버스(870)에 결합된다. 하드웨어 시스템(800)은 키보드 및 포인팅 디바이스(pointing device), 그리고 표준 I/O 버스(870)에 결합된 디스플레이 장치(도시 생략)를 선택적으로 포함할 수 있다. 총괄적으로, 이러한 요소들은 넓은 범위의 컴퓨터 하드웨어 시스템을 표현하도록 의도되며, 캘리포니아주 산타 클라라의 인텔사에 의해 제조된 Pentium 프로세서뿐만 아니라 다른 적절한 프로세서에 기반하는 범용 컴퓨터 시스템을 포함하나 이에 제한되지는 않는다.
하드웨어 시스템(800)의 구성 요소들은 아래에서 더 상세하게 설명된다. 보다 구체적으로, 네트워크 인터페이스(830)는 하드웨어 시스템과 이더넷(예를 들어, IEEE 802.3) 네트워크 등과 같은 임의의 넓은 범위의 네트워크 사이의 통신을 제공한다. 본 발명의 프레즌스 관리 시스템의 경우, 네트워크 인터페이스(830)는 하드웨어 시스템(800)과 네트워크 사이를 접속하여 하드웨어 시스템(800)이 그것들의 데이터베이스들을 관리하도록 한다. 대용량 기억장치(830)는 데이터와 프로그래밍 명령을 위한 영구 기억장치를 제공하여 본 발명의 프레즌스 관리 시스템에서 구현되는 상술한 기능을 수행하고, 시스템 메모리(860)(예를 들어, DRAM)는 프로세서(810)에 의하여 수행될 때 데이터 및 프로그래밍 명령을 위한 임시 기억장치를 제공한다. I/O 포트(890)는 하드웨어 시스템(800)에 결합될 수 있는 추가적인 주변 장치 간의 통신을 제공하는 하나 이상의 직렬 및/또는 병렬 통신 포트이다.
하드웨어 시스템(800)은 다양한 종류의 시스템 아키텍쳐를 포함할 수 있고, 하드웨어 시스템(800)의 다양한 구성요소가 재배치될 수 있다. 예를 들어, 캐쉬(815)는 프로세서(810)에 내장될 수 있다. 선택적으로, 캐쉬(815) 및 프로세서(810)는 “프로세서 모듈”로써 함께 묶여질 수 있고, 이 때 프로세서(810)는 “프로세서 코어”로서 지칭될 수 있다. 또한, 본 발명의 특정한 실시예는 상술한 구성 요소의 전부를 요구하거나 포함하지 않을 수 있다. 예를 들어, 표준 I/O 버스(870)에 결합되는 것으로 도시된 주변 장치들은 고성능 I/O 버스(840)에 결합할 수 있다. 추가적으로, 임의의 실시예에서 단지 하나의 버스만 존재할 수 있고, 하드웨어 시스템(800)의 구성 요소들은 그 하나의 버스에 결합될 수 있다. 더욱이, 하드웨어 시스템(800)은 추가적인 프로세서, 기억 장치 또는 메모리와 같은 추가적인 구성요소를 포함할 수 있다. 이하에서 논의되는 것처럼, 일 실시예에서, 본 발명의 프레즌스 관리 시스템의 동작은 하드웨어 시스템(800)에 의해 구동되는 일련의 소프트웨어 루틴으로서 실시될 수 있다. 이러한 소프트웨어 루틴들은 프로세서(810)와 같은 하드웨어 시스템에서 프로세서에 의하여 실행될 수 있는 복수의 또는 일련의 명령들을 포함한다. 우선, 일련의 명령들은 대용량 기억 장치(880)와 같은 기억 장치에 저장된다. 그러나 일련의 명령들은 디스켓, CD-ROM, ROM, EEPROM 등과 같은 임의의 적절한 기억 매체에 저장될 수 있다. 더욱이, 일련의 명령들은 국소적으로 저장될 필요가 없고, 네트워크/통신 인터페이스(830)를 통하여 네트워크 상의 서버 등과 같은 원격 기억 장치로부터 수신될 수 있다. 그 명령들은 대용량 기억 장치(880)와 같은 기억 장치로부터 시스템 메모리(860)로 복사되고, 프로세서(810)에 의하여 액세스되고 실행된다.
운영 시스템은, 소프트웨어 어플리케이션(도시 생략)과의 데이터 입/출력을 포함하는 하드웨어 시스템(800)의 동작을 관리하고 제어한다. 운영 시스템은 시스템 상에서 실행되는 소프트웨어 어플리케이션과 시스템의 하드웨어 구성 요소 사이의 인터페이스를 제공한다. 본 발명의 일 실시예에 따른 운영 시스템은 마이크로소프트사의 Windows 95/98/NT/XP/VISTA 운영 시스템이다. 그러나, 본 발명은 애플 컴퓨터사의 애플 맥킨토시 운영 시스템, 유닉스(UNIX) 운영 시스템, 리눅스(LINUX) 운영 시스템 등과 같은 다른 적절한 운영 시스템에서도 사용될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.