KR20080035586A - 차후 처리를 위한 이벤트 큐잉 전략 - Google Patents
차후 처리를 위한 이벤트 큐잉 전략 Download PDFInfo
- Publication number
- KR20080035586A KR20080035586A KR1020087002237A KR20087002237A KR20080035586A KR 20080035586 A KR20080035586 A KR 20080035586A KR 1020087002237 A KR1020087002237 A KR 1020087002237A KR 20087002237 A KR20087002237 A KR 20087002237A KR 20080035586 A KR20080035586 A KR 20080035586A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- event
- recipient
- action
- later
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Economics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Telephonic Communication Services (AREA)
- Facsimiles In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
한 예시적인 구현에서, 제1 장치(예를 들어, 미디어 서버)로부터 제2 장치(예를 들어, 원격 미디어 장치)로 통지 정보(notification information)를 전송하는 전략이 기술되어 있다. 이 통지 정보에 기초하여, 수신자-사용자는 통지 정보에 관한 이벤트를 발생하여 그 이벤트를 제2 장치(이곳에서 이벤트가 로그(log)됨)로 전달하기 위해 제1 장치를 사용할 수 있다. 제2 장치는 이어서 프롬프트 정보(prompting information)를 추후 사용자(follow-up user)(수신자-사용자와 동일할 수 있음)로 전송하여 로그된 이벤트가 존재한다는 것을 그 사용자에게 경고할 수 있다. 추후 사용자는 프롬프트 정보에 기초하여 행위(리소스를 구매하는 것, 리소스를 인쇄하는 것, 기타 등등)를 더 진행시킬 수 있다. 어느 수신자-사용자가 이벤트를 전송할 수 있는지를 판정하고 어느 추후 사용자가 이벤트의 존재를 알려주는 프롬프트 정보를 수신할 수 있는지를 판정하는 필터링 메카니즘이 기술되어 있다.
이벤트 큐잉, UPnP, 통지 정보, 프롬프트 정보, 미디어 서버
Description
산업계는 장치들을 서로 매끄럽게(seamless) 연결하는 다수의 기술을 제공하였다. UPnP(Universal Plug and Play)가 한가지 이러한 기술이다. UPnP는 UPnP-지원 네트워크(UPnP-equipped network)에 장치를 추가 및 그로부터 장치를 제거하는 것을 용이하게 해주는 기능을 제공한다. 예를 들어, UPnP 기술에 의해 사용자는 새 장치를 네트워크 연결부(network coupling)에 단지 "끼워넣기(plug)"만 하면 되고, 그 후에 UPnP 네트워크는 자동적으로 새 장치의 특성을 판정하고 이어서 이 판정된 특성에 기초하여 이 새 장치와 네트워크 내의 다른 장치들 간의 상호작용을 조정하게 된다. UPnP 기술은 특히 가정, 직장, 학교, 기타 등등의 로컬 환경(local setting)과 연관된 네트워크에 아주 적합하다.
소위 UPnP 장치는 개념적으로 실제 장치, 서비스, 기타 등등을 포함할 수 있는 추상 컨테이너(abstract container)를 정의한다. 한가지 이러한 UPnP 장치가 미디어 서버이고, 다른 하나는 미디어 렌더링 장치(media rendering device)이다. 미디어 서버는 하나 이상의 제어 포인트 개체(control point entity)에 의해 제어되는 하나 이상의 미디어 렌더링 장치에 컨텐츠 정보를 공급한다. 예시적인 미디어 서버는 다양한 유형의 컴퓨터, 주크박스, 개인용 비디오 레코더(personal video recorder), 기타 등등을 포함할 수 있다. 예시적인 미디어 렌더링 장치는 다양한 유형의 컴퓨터, 스테레오 시스템, TV, 핸드-헬드 오디오 플레이어, 기타 등등을 포함할 수 있다. 제어 포인트는 상기한 UPnP 장치들 중 하나와 통합될 수 있다. 예를 들어, 미디어 렌더링 장치는 또한 미디어 서버와 상호작용하기 위한 제어 포인트 기능을 포함할 수 있다. 다른 대안으로서, 제어 포인트는 미디어 정보를 실제로 제공하는 미디어 렌더링 장치와 별도로 구현되는 장치를 나타낼 수 있다. UPnP 포럼의 웹 사이트(즉, http://upnp.org/)는 UPnP 아키텍처 및 관련 주제들에 관한 더 많은 상세한 배경 정보를 제공한다.
UPnP 등의 기술은 그에 의해 다수의 전자 장치들을 가정 내에 또는 어떤 다른 정의된 환경 내에 균일하게 통합하는 것을 용이하게 해준다. 그렇지만, 이들 유형의 기술에 개선할 여지가 있다.
예를 들어, 사용자가 미디어 서버에 의해 공급된 미디어 정보를 재생하기 위해 미디어 렌더링 장치(텔레비전 세트 등)를 동작시키고 있는 경우를 생각해보자. 본 발명자가 잘 알고 있는 바와 같이, 사용자가 미디어 상영(media presentation)에 응답하여 어떤 조치를 취하고자 할지도 모른다. 예를 들어, 사용자가 광고를 보고 있고 그 광고에 의해 선전되고 있는 리소스를 구입하고자 하는 것으로 가정하자. 종래에 이러한 작업을 수행하기 위해서는, 사용자가 손으로 광고에 제공된 연락처 정보를 적어 두었다가(또는 이 정보를 기억해 두었다가) 수작업으로 이 정보를 사용하여 나중의 시점에서 트랜잭션을 완료해야만 한다. 예를 들어, 사용자는 트랜잭션을 완료하기 위해 손으로 기록하거나 기억해둔 연락처 정보를 사용하여 전 화를 걸거나 웹 사이트에 접속할지도 모른다. 다른 유형의 트랜잭션을 수행하기 위해 유사한 절차가 사용될 수 있다. 예를 들어, 사용자는 원격 미디어 장치 상의 사진들을 브라우징하고 사용자에게 특별히 흥미있는 하나 이상의 사진을 인쇄 출력하고자 할지도 모른다. 이 작업을 수행하기 위해, 사용자는 어느 사진을 인쇄할지를 적어두어야만 한다(또는 이 정보를 기억해두어야만 한다). 사용자는 이어서 수작업으로 이들 사진의 소스(예를 들어, 퍼스널 컴퓨터)에 액세스하여 확인된 사진들을 인쇄 출력할 수 있다.
상기 절차는 번거롭다. 그 결과, 사용자는 트랜잭션을 수행하는 불편을 감수하려고 하지 않을지도 모른다. 상기 절차는 또한 오류가 발생할 가능성이 있다. 예를 들어, 사용자는 광고에 대해 전화 번호 또는 웹사이트 주소를 부정확하게 적어둘 수 있다(또는 기억할 수 있다). 이들 단점 둘다는 트랜잭션을 수행할 때 사용자에게 좋지 않은 경험을 줄 수 있다. 게다가, 이들 단점은, 예를 들어, 사용자가 마지못해 트랜잭션을 수행하는 결과, 이들 트랜잭션을 수행하는 데 사용되는 장비 또는 서비스를 제공하는 개체에 부정적인 영향을 줄 수 있다.
그에 따라, 임의의 종류의 트랜잭션을 수행하기 위해 장치들을 하나로 통합하는 보다 효과적인 기법이 필요하다.
일부분이 제1 장치를 사용하여 수행되고 나머지 부분이 제2 장치를 사용하여 수행되는 트랜잭션을 처리하는 전략들이 본 명세서에 기술되어 있다. 하나의 예시적이고 제한적이 아닌 경우에, 제1 장치는 원격 미디어 장치이고, 제2 장치는 미디어 서버이다. 이 예시적인 구현에서, 미디어 서버는 원격 미디어 장치에서 상영하기 위해 수신자-사용자로 통지 정보를 전송한다. 이 통지 정보는 리소스의 구매를 시작하는 것, 리소스를 인쇄 출력하는 것, 기타 등등의 어떤 개시 동작(commencement action)을 수행하기 위해 수신자-사용자에게 응답을 요청할 수 있다. 수신자-사용자는 원격 미디어 장치에 의해 제공되는(또는 원격 제어 장치 등의 다른 장치에 의해 제공되는) 물리적 콘트롤 또는 사용자 인터페이스(UI) 콘트롤을 작동시킴으로서 개시 동작을 수행할 수 있다. 이 동작은 개시 동작을 기술하는 이벤트를 생성한다. 이 이벤트는 2 부분을 포함할 수 있다, 즉 제1 부분은 수신자-사용자의 동작의 대상 객체(target object)(수신자-사용자가 구입하고자 하는 리소스 등)를 기술하고, 제2 부분은 수신자-사용자가 그 객체에 대해 수행하고자 하는 동작(즉, 한 경우에, 리소스를 구입하는 것)을 기술한다. 미디어 서버는 이벤트를 수신하고 이벤트를 발생한 수신자-사용자와 관련하여 그 이벤트를 로그한다.
그 다음에, 수신자-사용자, 또는 아마도 다른 사용자가 나중에 미디어 서버와 직접 상호작용하는 것으로 가정하자. (수신자-사용자가 이벤트를 생성한 후에 미디어 서버의 사용자가 동작을 취한다는 것을 나타내기 위해는 미디어 서버의 사용자는 일반적으로 본 명세서에서 "추후 사용자(follow-up user)"라고 한다.) 이것은 미디어 서버로 하여금 추후 사용자에게 이벤트의 존재를 경고하는 비쥬얼 및/또는 오디오 프롬프트 정보를 제공하게 한다. 추후 사용자가 프롬프트 정보를 활성화시키면, 미디어 서버는 추후 사용자가 원격 미디어 장치에서 수신자-사용자에 의해 시작되었던 트랜잭션을 더 진행시킬 수 있게 해주는 인터페이스의 제공(presentation)을 조정할 수 있다. 예를 들어, 추후 사용자는 수신자-사용자로부터 수신된 구매-이벤트(buy-event)에 의해 플래그(flag)되어 있는 리소스를 구입할 수 있다.
이 접근방법의 한가지 이점은 수신자-사용자가 편리하게도 리소스와 관련하여 어떤 동작이 요망되는지를 그 리소스에 표시(tag)할 수 있다는 것이다. 이어서, 추후 사용자(수신자-사용자와 동일한 사용자일 수 있음)는 편리하게도 플래그된 리소스에 대해 통보받을 수 있고 또 그 리소스와 관련된 트랜잭션을 완료할 기회를 부여받을 수 있다. 이것은 수신자-사용자가 다른 장치를 사용하여 트랜잭션을 계속하기 위해 트랜잭션의 상세를 손으로 기록하거나 기억할 필요성을 줄여준다.
다른 이점에 따르면, 원격 미디어 장치는 (꼭 그렇지는 않더라도) 종종 제한된 처리 능력을 갖는 장치이다. 따라서, 이 장치는 트랜잭션의 모든 측면을 적절히 처리할 기능을 가지고 있지 않을 수도 있다. 그렇지만, 본 명세서에 기술된 전략들은 이 제한된 처리 능력을 미디어 서버에 의해 제공된 향상된 기능에 편승(piggyback)함으로써 이 제한된 처리 능력을 효과적으로 이용한다. 즉, 원격 미디어 장치는 적어도 미디어 서버에 이벤트를 알려줄 수 있으며, 그에 의해 트랜잭션을 개시할 수 있다. 이어서, 미디어 서버는 그의 향상된 기능을 사용하여 트랜잭션을 완료할 수 있다. 이것에 의해 원격 미디어 장치가 여전히 비교적 단순할 수 있음에도 사용자가 복잡한 동작을 수행할 수 있게 된다.
다수의 다른 특징들이 이들 전략의 유용성에 기여한다. 예를 들어, 통지 정보의 수신자-사용자로의 전파를 제한하는 메카니즘이 이용될 수 있다. 즉, 한 구현에서, 미디어 서버는 단지 통지 정보를, 이러한 정보를 수신하도록 사전 허가되어 있는 그러한 수신자-사용자들(및 연관된 미디어 렌더링 장치)로 전송하기만 한다. 또는, 미디어 서버는 통지 정보를 많은 사용자에게로 전송할 수 있지만, 단지 사전 허가된 사용자만이 통지 정보에 응답할 수 있게 해준다. 이와 마찬가지로, 미디어 서버는 프롬프트 정보의 배포(dissemination)를 허가된 추후 사용자로만 제한할 수 있다. 이벤트가 미디어 서버에 의해 처음으로 수신될 때(추후 사용자가 이 정보를 수신할 수 있는 경우), 또는 추후 사용자가 얼마 동안 비활성(inactive)으로 있은 후에 미디어 서버와의 활성 세션(active session)을 재개할 때, 미디어 서버는 이 프롬프트 정보를 추후 사용자에게 제공한다.
부가적인 구현들은 상기한 접근방법을 다른 시나리오들에 적용할 수 있다. 한가지 이러한 대안의 시나리오에서, 제1 장치는 로컬 리소스(local resource)(제1 데이터 저장소에 있는 파일 등)에 대해 동작을 수행하고 이어서 제2 장치로 전송하기 위한 이벤트를 생성할 수 있다. 제2 장치는 그 자신의 로컬 데이터 저장소(제2 데이터 저장소를 포함함)에 저장된 대응하는 리소스(counterpart resource)에 변경을 행함으로써 그 이벤트에 따라 동작할 수 있다. 이 경우에, 추후 동작은 (제1 장치에서 수행되었던) 개시 동작을 제2 장치에 대해서도 역시 똑같이 수행한다는 의미에서 개시 동작을 "완료"한다고 할 수 있다. 상기한 이벤트 처리 패러다임의 또다른 응용도 가능하다.
이들 전략의 또다른 특징 및 부수적인 이점들이 이하에서 기술된다.
이 요약 부분에 기술된 내용은 본 발명의 예시적인 구현을 말하며, 따라서 청구항 부분에서 설정된 본 발명의 범위를 제한하지 않는다. 보다 구체적으로는, 청구항 부분은 이 요약 부분에 기술된 개념들보다 범위가 더 넓은 본 발명의 측면들을 기술할 수 있다.
도 1은 트랜잭션을 처리하는 예시적인 시스템을 2 부분 - 제1 부분은 수신자-사용자가 원격 미디어 장치와 상호작용함으로써 수행하고 제2 부분은 추후 사용자가 미디어 서버와 상호작용함으로써 수행함 - 으로 나타낸 도면.
도 2는 도 1의 미디어 서버에 의해 구현되는 예시적인 이벤트 처리 모듈을 나타낸 도면.
도 3은 도 1의 시스템에서 사용하기 위한 예시적인 원격 미디어 장치를 나타낸 도면.
도 4는 도 1의 미디어 서버에 의해 디스플레이되는 예시적인 프롬프트 정보를 나타낸 도면.
도 5는 사용자가 도 4의 프롬프트 정보를 활성화시킬 때 미디어 서버가 제공할 수 있는 예시적인 사용자 인터페이스 표현을 나타낸 도면.
도 6은 사용자가 도 4의 프롬프트 정보를 활성화시킬 때 미디어 서버가 제공할 수 있는 다른 예시적인 사용자 인터페이스 표현을 나타낸 도면.
도 7은 도 1의 시스템에서 이벤트 정보를 교환하는 프로토콜을 구현할 수 있는 예시적인 마크업 언어 모듈을 나타낸 도면.
도 8 내지 도 10은 모두 도 1에 도시된 시스템의 동작 방식의 예시적인 측면들을 나타낸 도면.
도 11은 트랜잭션을 처리하기 위해 이벤트를 사용하는 것의 대안의 응용을 나타낸 도면.
도 12는 이전의 도면들 중 임의의 것의 시스템들의 측면들을 구현하는 예시적인 컴퓨터 환경을 나타낸 도면.
설명 및 도면 전반에 걸쳐 유사한 구성요소 및 특징을 참조하기 위해 동일한 번호가 사용된다. 100 계열 번호는 도 1에서 처음으로 발견된 특징들을 말하고, 200 계열 번호는 도 2에서 처음으로 발견된 특징들을 말하며, 300 계열 번호는 도 3에서 처음으로 발견된 특징들을 말하고, 이하 마찬가지이다.
요약하면, 이들 전략은 원격 미디어 장치를 사용하여 이벤트를 생성하고 그에 의해 트랜잭션을 개시하는 매끄럽고 편리한 기법을 제공한다. 이 기법은 이어서 트랜잭션을 완료하기 위해 이 이벤트를 미디어 서버로 넘겨 준다.
준비 사항으로서, 본 설명에서 사용되는 어떤 용어들이 이하에 정의되어 있다.
용어 "수신자-사용자"는 개시 동작을 생성하기 위해 임의의 종류의 장치와 상호작용하는 사용자(또는 자동화된 에이전트(automated agent))를 말한다. 이 동작은 이벤트를 생성한다.
용어 "추후 사용자(follow-up user)"는 수신자-사용자에 의해 생성된 이벤트를 처리하기 위해 임의의 종류의 장치와 상호작용하는 사용자(또는 자동화된 에이전트)를 말한다. 수신자-사용자는 추후 사용자와 동일하거나 그와 다를 수 있다.
용어 "추후 동작(follow-up action)"은 개시 동작에 의해 시작된 트랜잭션을 완료하기 위해(또는 적어도 더 처리하기 위해) 추후 사용자가 취하는 임의의 종류의 동작을 말한다. "추후 동작"은 트랜잭션에서의 최종적인 완성 단계 또는 트랜잭션의 추가 진행만을 나타낼 수 있다.
용어 "통지 정보"는 수신자-사용자로 하여금 개시 동작을 수행하게 유인하는 수신자-사용자에게로 전송되는 임의의 종류의 정보를 말한다. 통지 정보는, 예를 들어, 구입될 수 있는 리소스에 대해 기술할 수 있다.
용어 "프롬프트 정보(prompting information)"는 추후 사용자에게로 전송되어 이 사용자에게 수신자-사용자에 의해 생성된 이벤트의 존재를 경고하는 임의의 종류의 정보를 말한다.
보다 일반적으로, 본 명세서에 기술된 어떤 예들은 미디어 서버와 원격 미디어 장치 간의 상호작용을 조정하기 위해 UPnP(Universal Plug and Play) 기술에 의존한다. 그렇지만, 본 명세서에 기술된 원리들이 UPnP 기술에 한정되지 않는다.
게다가, 본 명세서에 기술된 어떤 예들은 가정 환경에서, 예를 들어, 수신자-사용자가 가정 내에서 개시 동작을 수행하기 위해 원격 미디어 장치를 사용하고, 이어서 나중에 트랜잭션을 완료하기 위해 역시 가정 내에 있는 미디어 서버(예를 들어, 퍼스널 컴퓨터) 사용하는 경우, 이벤트를 큐잉하는 것에 대해 기술하고 있다. 그렇지만, 본 명세서에 기술된 원리들은, 다른 종류의 로컬 환경(업무-관련 환경 등)은 물론 특성상 "로컬"인 것으로 생각되지 않는 응용을 비롯한 임의의 환경에 적용될 수 있다. 예를 들어, 원격 미디어 장치 및 미디어 서버는 원거리 통신망을 사용하여, 예를 들어, 웹 서비스(Web Services) 기술, 기타 등등을 사용하여 서로 연결될 수 있다.
게다가, 본 명세서에 기술된 어떤 예들은 사용자에게 동작을 수행하도록 권유하는 정보를 수신한 것에 응답하여 사람 사용자에 의해 수행되는 절차의 관점에서 개시 동작(commencement action) 및 추후 동작(follow-up action)에 대해 기술하고 있다. 그러나, 본 명세서에 기술된 원리들은 또한 부분적으로 또는 완전히 자동화된 시스템, 예를 들어, 어떤 종류의 트리거 발생(triggering occurrence)에 응답하여 제1 장치가 제2 장치로 이벤트를 자동적으로 전송하고 및/또는 제2 장치가 수신 시에 자동적으로 그 이벤트에 따라 동작하는 시스템에도 적용할 수 있다.
게다가, 본 명세서에 기술된 어떤 예들은 개시 동작을 (이벤트를 발생하는) 제1 장치에 대해 어떤 변환 효과(transformative effect)도 갖지 않는 것으로 기술하고 있다. 그러나, 다른 경우들에서, 개시 동작은 제1 장치에서 변환 결과를 획득하는 동작을 말할 수 있고, 추후 동작은 제2 장치에서 변환 결과를 획득한다. 리소스 동기화 응용에 대해서도 이러하며, 이 경우 개시 동작은 제1 데이터 저장소에 있는 적어도 하나의 리소스에 변화를 야기하고, 추후 동작은 제2 데이터 저장소에 있는 적어도 하나의 대응하는(예를 들어, 똑같은) 리소스에 동일한 변화를 야기한다.
또다른 변형예들에 대해서는 이하의 설명에서 다루어진다.
본 설명은 이하의 섹션들을 포함한다. 섹션 A는 본 명세서에 기술된 원리들을 구현하는 예시적인 시스템을 제공한다. 섹션 B는 섹션 A의 시스템의 예시적인 동작 방법에 대해 기술한다. 섹션 C는 본 명세서에 기술된 원리들을 구현하는 대안의 예시적인 시스템에 대해 기술한다. 그리고, 섹션 D는 이전의 섹션들의 시스템의 여러 측면들을 구현하는 예시적인 컴퓨터 환경에 대해 기술한다.
A. 예시적인 시스템
일반적으로, 도면들을 참조하여 기술된 기능들 중 임의의 것이 소프트웨어, 펌웨어(예를 들어, 고정 논리 회로(fixed logic circuitry)), 수작업 처리(manual processing) 또는 이들 구현의 조합을 사용하여 구현될 수 있다. 용어 "논리", "모듈" 또는 "기능"은, 본 명세서에서 사용되는 바와 같이, 일반적으로 소프트웨어, 펌웨어, 또는 소프트웨어와 펌웨어의 조합을 나타낸다. 예를 들어, 소프트웨어 구현의 경우에, 용어 "논리", "모듈" 또는 "기능"은 처리 장치 또는 장치들(CPU 또는 CPU들) 상에서 실행될 때 지정된 작업들을 수행하는 프로그램 코드(또는 선언적 컨텐츠(declarative content))를 나타낸다. 이 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 장치에 저장될 수 있다. 보다 일반적으로, 논리, 모듈 및 기능을 개별적인 유닛으로 분할하여 나타낸 것은 이러한 소프트웨어 및/또는 하드웨어의 실제의 물리적 그룹화 및 할당을 반영할 수 있거나 하나의 소프트웨어 프로그램 및/또는 하드웨어 유닛에 의해 수행되는 서로 다른 작업들의 개념적 할당에 대응할 수 있다. 예시된 논리, 모듈 및 기능은 한 곳에 위치해 있을 수 있고(예를 들어, 하나의 처리 장치에 의해 구현됨) 또는 복수의 위치에 걸쳐 분산되어 있을 수 있다.
도 1은 이벤트들을 큐잉하고 그러한 큐잉된 이벤트들에 기초하여 트랜잭션을 더 진행시키는 예시적인 시스템(100)을 도시한 것이다. 도 1에 도시된 컴포넌트들 간의 정보의 교환은 UPnP(Universal Plug and Play) 기술(이에 한정되지 않음) 등의 어떤 기술에 의해서도 통제될 수 있다.
이 시스템은 미디어 서버(102) 및 하나 이상의 원격 미디어 장치(104, ... 106)를 비롯한 장치들의 집합체를 포함한다. 장치(102, 104, ... 106)는 네트워크(108)를 통해 서로 연결되어 있다. "수신자-사용자"는 대표적인 원격 미디어 장치(104)와 상호작용하는 반면, "추후 사용자"는 미디어 서버(102)와 상호작용한다. 이상에서 설명한 바와 같이, 수신자-사용자는 추후 사용자와 동일한 사람을 나타낼 수 있거나 다른 사람을 나타낼 수 있다. 또는, "사용자"는 사람의 역할을 자동적으로 수행하는 자동화된 에이전트(예를 들어, 논리 기능)에 관한 것일 수 있다.
하나의 기본적인 UPnP 동작 흐름에서, 미디어 서버(102)는 하나 이상의 원격 미디어 장치(104, ... 106)로 정보를 전달한다. 하나 이상의 제어 포인트가 도 1에 도시된 컴포넌트들 간의 정보의 교환을 조정한다. 한 경우에, 제어 포인트는 도 1에 도시된 컴포넌트들 중 임의의 컴포넌트(원격 미디어 장치들 중 하나 등)에 통합될 수 있다. 예를 들어, 미디어 서버(102)는 원격 미디어 장치(104)로 정보를 전달할 수 있으며, 이 원격 미디어 장치(104)는 그 정보를 렌더링한다. 여기서, 원격 미디어 장치(104)는 미디어 렌더링 장치 및 제어 포인트 둘다로서 기능할 수 있다. 다른 경우에, 제어 포인트는 별도의 개체를 나타낼 수 있다. 예를 들어, 미디어 서버(102)는 원격 미디어 장치(104)의 지시 하에서 다른 원격 미디어 장치로 정보를 전달할 수 있으며, 이 다른 원격 미디어 장치는 이어서 그 정보를 렌더링할 수 있다. 이 경우에, 원격 미디어 장치(104)는 미디어 렌더링 장치로서가 아니라 제어 포인트의 역할로 기능하고 있다. 또다른 라우팅 및 제어 경로가 가능하다.
시스템(100)에서, 미디어 서버(102)는 처리 기능을 갖는 임의의 종류의 장치를 나타낼 수 있다. 홈 네트워크의 경우에, 미디어 서버(102)는 퍼스널 컴퓨터 또는 다른 종류의 컴퓨터에 의해 구현될 수 있다. 원격 미디어 장치(104, ... 106)에 의해 발생된 이벤트를 처리하는 미디어 서버(102)의 기능은 이벤트 처리 모듈(event handling module)(110)이라고 한다. 이벤트 처리 모듈(110)은 소프트웨어, 하드웨어, 하드웨어와 소프트웨어의 조합, 기타 등등으로 구현될 수 있다.
원격 미디어 장치(104, ... 106)도 이와 마찬가지로 임의의 종류의 장치를 나타낼 수 있다. 많은 경우에, 꼭 그렇지는 않지만, 원격 미디어 장치(104, ... 106)는 미디어 서버(102)와 비교하여 더 적은 처리 자원을 갖는 장치를 나타낸다. 환언하면, 원격 미디어 장치(104, ... 106)는 "씬 장치(thin device)"(미디어 서버(102)와 비교하여 감소된 처리 자원을 갖는다는 것을 의미함)를 나타낼 수 있다. 예시적인 유형의 원격 미디어 장치(104, ... 106)는 임의의 종류의 휴대용 또는 웨어러블(wearable) 처리 장치, 모바일 전화 장치, 셋톱 박스, 게임 콘솔, 오디오 재생 장치, 대화형 텔레비전, 지능형 가전 기기(intelligent appliance), 기타 등등을 포함한다. 미디어 서버(102)로 전송하기 위한 이벤트를 발생하는 대표적인 원격 미디어 장치(104)의 기능은 이벤트 발생 모듈(112)이라고 한다. 이벤트 발생 모듈(112)은 소프트웨어, 하드웨어, 하드웨어와 소프트웨어의 조합, 기타 등등으로 구현될 수 있다.
수신자-사용자는 원격 미디어 장치(104) 등의 원격 미디어 장치와 직접 상호작용할 수 있다. 또는, 수신자-사용자는 예시적인 원격 제어 장치(114) 등의 어떤 다른 장치를 통해 원격 미디어 장치(104)와 상호작용할 수 있다. 원격 제어 장치(114) 자체는 UPnP 기술에 의해 통제되는 장치를 포함할 수 있다. 보다 구체적으로는, 원격 제어 장치(114)는 시스템(100) 내의 UPnP 제어 포인트의 역할을 수행할 수 있다.
네트워크(108)는 장치들 간에 정보를 교환하기 위한 임의의 종류의 채널 또는 채널들의 조합을 나타낼 수 있다. 이 네트워크는 근거리 통신망(LAN), 원거리 통신망(WAN), 또는 이들의 조합을 나타낼 수 있다. 이 네트워크는 유선 전도성 링 크(hardwired conductive link), 무선 링크(wireless link), 전력선(power line), 기타 등등의 임의의 종류의 링크 및 이들의 임의의 조합을 사용하여 물리적으로 구현될 수 있다. 네트워크(108)는 또한 다양한 라우터, 게이트웨이, 네임 서버, 기타 등등의 네트워크-관련 장비의 임의의 조합을 포함할 수 있다. TCP/IP, SOAP, GENA, HTTP, 기타 등등의 임의의 종류의 프로토콜 또는 프로토콜들의 임의의 조합이 네트워크(108)를 거쳐 정보를 교환하기 위해 사용될 수 있다.
도 1에 도시된 굵은 화살표는 이벤트 큐잉 전략의 한 예시적인 표현의 개요를 나타낸다. 큐잉 전략은 미디어 서버(102)와 대표적인 미디어 장치(104) 간의 상호작용의 관점에서 설명된다.
제1 동작 (1)에서, 미디어 서버(102)는 원격 미디어 장치(104)로 정보를 전송한다. 이 정보는 수신자-사용자가 어떤 리소스에 관해 어떤 동작을 수행할 수 있는지 그 리소스를 수신자-사용자에게 통지하며, 따라서 본 명세서에서 "통지 정보(notification information)"라고 한다. 이 용어는 광의적으로 해석되어야만 한다. 한 경우에, 통지 정보는 수신자-사용자에게 리소스에 관련한 어떤 동작을 수행하도록 요청하는 특정의 명령어를 포함할 수 있다. 다른 경우에, 통지 정보는 리소스 자체 또는 그의 어떤 샘플의 표현(presentation)(구입할지도 모르는 음악 앨범의 한 트랙 등)을 포함할 수 있다. 다른 경우에, 통지 정보는 리소스와 연관된 어떤 종류의 설명 컨텐츠(구입할 앨범의 타이틀 등)를 포함할 수 있다. 설명 정보(descriptive information)는 또한 리소스를 묘사하는 그림 컨텐츠(pictorial content)(구매할 앨범과 연관된 그림을 제공하는 "앨범 아트" 등)도 포함할 수 있 다. 또다른 종류의 정보가 "통지 정보"를 구성할 수 있는데, 그 이유는 이 용어가 본 명세서에서 광의적으로 사용되기 때문이다. 게다가, 통지 정보는 상기한 종류의 정보의 다른 조합들을 포함할 수 있다.
한 경우에, 미디어 서버(102)는 요청되지 않았는데도(랜덤한 팝업 광고의 방식으로) 수신자-사용자에게 통지 정보를 전송할 수 있다. 다른 경우에, 미디어 서버(102)는 수신자-사용자의 원격 미디어 장치(104)와의 현재의 상호작용의 상황에 적합한 통지 정보를 수신자-사용자에게 전송할 수 있다. 예를 들어, 미디어 서버(102)는 수신자-사용자로부터의 요청(수신자-사용자에 의해 행해진 브라우즈 또는 검색 요청 등)에 응답하여 원격 미디어 장치(104)로 통지 정보를 전송할 수 있다. 수신자-사용자에게 통지 정보를 전송하는 또다른 방법이 가능하다.
특정의 앨범 아트 예를 생각해보자. 수신자-사용자가 브라우즈 또는 검색 동작을 수행할 때, 미디어 서버(102)는 앨범 아트를 확인해주는 응답을 원격 미디어 장치(104)로 전송할 수 있다. 보다 구체적으로는, 미디어 서버(102)는 예시적인 메타데이터 정보를 반환할 수 있다.
<AlbumArtURI>http://192.168.0.0/albumart.jpg</AlbumArtURI>
이 메타데이터 정보는 미디어 서버(102) 상에 위치하는(또는 다른 곳에 위치하는) 앨범 아트 리소스를 가리키는 링크를 포함하고 원격 미디어 장치(104)가 이 앨범 아트에 액세스하여 이를 디스플레이할 수 있게 해준다. 이 디스플레이 동작은 자동적으로 수행될 수 있거나(수신자 장치가 앨범 아트를 디스플레이하도록 적절한 장비를 갖추고 있는 경우) 선택에 따라서는 수신자-사용자의 임의대로 수행될 수 있다.
보다 구체적으로는, 한 예시적인 경우에, 앨범 아트 태그가 단일의 미디어 리소스(하나의 노래 등)를 기술하는 외부 태그(outer tag) 내에 내장될 수 있다. 이와 관련하여, 앨범 아트는 그의 컨텐츠의 일부로서 노래를 포함하는 앨범에 대한 커버 아트(cover art)를 나타낼 수 있다. 하나의 노래가 그와 연관된 다수의 앨범 아트 태그를 가질 수 있다. 이들 다수의 태그는 동일한 앨범 아트를 다른 크기, 형식, 기타 등등으로 제공할 수 있거나, 이 태그는 아마도 동일한 노래를 포함하는 다른 앨범을 나타낼 수 있다.
통지 정보의 수신 시에, 원격 미디어 장치(104)는 통지 정보를 임의의 방식으로, 그의 디스플레이의 주변 영역(peripheral region)에, 그의 디스플레이의 중심 영역(main region)에, 기타 등등에 통지 정보를 자동적으로 디스플레이하는 등에 의해 제공할 수 있다. 또는, 원격 미디어 장치(104)는 더 많은 정보를 수신하기 위해 수신자-사용자에 의해 그의 임의대로 활성화될 수 있는 하이퍼텍스트 주석(hypertext annotation)으로서 통지 정보를 디스플레이할 수 있다. 또다른 대안으로서(또는 그에 부가하여), 원격 미디어 장치는, 메시지 "이 음악이 좋으시면 구입하세요"를 제공하는 등에 의해, 통지 정보를 소리로 제공할 수 있다.
미디어 서버(102)는 통지 정보에 따라 행동하도록 사전-허가되어 있는 수신자-사용자에게만 통지 정보를 선택적으로 전송할 수 있다. 예를 들어, UPnP 환경에서, 시스템(100)은 시스템(100) 내의 장치들의 특성을 기술하는 데이터베이스(도시 생략)를 유지할 수 있다. 이 특성은 장치 프로파일을 사용하여 표현될 수 있 다. 미디어 서버(102)는 어느 장치가 통지 정보를 수신하도록 사전-허가되어 있는지를 판정하고 이어서 이 통지 정보를 수신하도록 사전-허가되어 있는 그러한 장치들에게만 이 정보를 배포하기 위해 이 데이터베이스에 액세스할 수 있다. 대안의 경우에, 미디어 서버(102)는 제한 없이 모든 원격 미디어 장치들(104, ... 106)에 통지 정보를 전송할 수 있지만, 사전-허가된 미디어 장치만이 이 정보에 기초하여 동작을 수행할 수 있게 해준다.
다른 시나리오에서, 미디어 서버(102)는 원격 미디어 장치(104)로 어떤 통지 정보도 전송할 필요가 없다. 예를 들어, 정의된 대상 객체에 대해 어떤 동작이 수행되어야만 하는지 여부를 수신자-사용자가 독립적으로 결정하는 경우를 생각해보자. 수신자-사용자는 미디어 서버(102)로부터 어떤 종류의 프롬프트 정보도 수신하지 않고 원격 미디어 장치에서 쓸데없이 그 동작을 개시할 수 있다. 또는, 미디어 서버(102)는 수신자-사용자에게 통지 정보를 전송할 수 있지만, 수신자-사용자가 통지 정보를 수신한 후에 지체하여 개시 동작을 발생할 수 있다. 즉, 예를 들어, 수신자-사용자는 통지 정보가 그에게 동시에 제공되게 할 필요없이 개시 동작을 발생할 수 있다. 가장 일반적으로 말하면, 수신자-사용자는 사용자가 그에 따라 행동하게 될 객체에 관한 얼마간의 지식을 가짐으로써 개시 동작을 발생하고, 이 지식은 아주 다양한 직접적 및 간접적 방식으로 사용자에게 분배될 수 있다.
제2 동작 (2)에서, 수신자-사용자는 대상 객체(예를 들어, 통지 정보에 의해 식별된 리소스를 포함함)에 관련한 어떤 동작을 수행한다. 이 동작이 트랜잭션을 개시하기 때문에, 본 명세서에서 "개시 동작(commencement action)"이라고 한다. 가능한 개시 동작의 비전수적인 목록은 다음과 같다.
수신자-사용자는 통지 정보와 연관된 특정의 리소스를 구입하기 위해 명령어를 발행할 수 있다. 예를 들어, 통지 정보는 수신자-사용자가 구입할 수 있는 음악 앨범을 식별해주는 그림 앨범 아트 또는 아마도 그 앨범으로부터의 발췌된 음악(musical excerpt)을 포함할 수 있다. 이 통지 정보를 수신한 것에 응답하여, 수신자-사용자는 그 앨범을 구입하기 위해 명령어를 발행할 수 있다. 수신자-사용자는 유사한 방식으로 임의의 다른 종류의 리소스를 구입할 수 있다.
수신자-사용자는 통지 정보에 의해 식별된 특정의 리소스를 인쇄하기 위해 명령어를 발행할 수 있다. 예를 들어, 수신자-사용자는 사진 이미지 모음을 브라우즈할 수 있다. 관심의 사진을 찾았을 때, 수신자-사용자는 이 사진을 인쇄하기 위해 명령어를 발행할 수 있다. 이와 유사한 방식으로, 수신자-사용자는 식별된 대상 목적지로 리소스를 전달하기 위해 명령어를 발행할 수 있다. 예를 들어, 수신자-사용자는 그의 누이에게 전송할 사진에 플래그(flag), 기타 등등을 할 수 있다.
수신자-사용자는 식별된 리소스에 대한 처리를 수행하기 위해 명령어를 발행할 수 있다. 예를 들어, 수신자-사용자는 사진을 회전시키기 위해, 특정의 사 진을 잘라내기(cropping) 위해, 사진의 색상 및/또는 밝기를 변경하기 위해, 사진으로부터 적목 현상(redeye)을 제거하기 위해, 기타 등등을 위해 명령어를 발행할 수 있다.
수신자-사용자는 식별된 리소스의 상태를 변경하기 위해 명령어를 발행할 수 있다. 예를 들어, 수신자-사용자가 원격 미디어 장치(104) 상의 이메일을 브라우즈하고 있는 시나리오를 생각해보자. 수신자-사용자는 이들 이메일 중 하나를 아카이브(archive)하기 위해(이메일을 장기 저장소로 이동시키기 위해), 기타 등등을 위해 명령어를 발행할 수 있다.
당업자라면 수행될 수 있는 더 많은 종류의 동작들이 있고 이러한 동작의 대상일 수 있는 더 많은 종류의 객체가 있다는 것을 잘 알 것이다.
수신자-사용자는 임의의 종류의 입력 메카니즘을 통해 명령어를 발행할 수 있다. 가능한 유형의 입력 메카니즘은 물리적 제어 메카니즘(물리적 버튼, 슬라이더, 노브(knob), 키보드, 조이스틱, 트랙볼, 터치 감응 스크린 요소, 데이터 글러브(data glove), 기타 등등), UI 제어 메카니즘(그래픽 버튼, 슬라이더, 노브, 기타 등등), 음성 작동 입력 메카니즘(voice activated input mechanism), 기타 등등을 포함한다. 차례로 설명하게 될 도 3은 수신자-사용자가 개시 동작을 수행할 수 있게 해주는 예시적인 메카니즘에 관한 부가적인 정보를 제공한다.
도 1은 수신자-사용자가 원격 미디어 장치(104)를 통해 통지 정보를 수신하고 이어서 동일한 원격 미디어 장치(104)를 사용하여 개시 동작을 수행하는 한 시나리오를 나타낸 것이다. 다른 시나리오들이 가능하다. 예를 들어, 수신자-사용자는 원격 미디어 장치(104)를 통해 통지 정보를 수신할 수 있지만, 이어서 원격 제어 장치(114) 등의 어떤 다른 장치를 사용하여 개시 동작을 수행할 수 있다. 예를 들어, 원격 제어 장치(114)는, 원격 미디어 장치(104)에 의해 제공된 통지 정보에 기초하여, 수신자-사용자가 개시 동작을 수행할 수 있게 해주는 일련의 물리적 또는 UI 버튼을 포함할 수 있다. 보다 구체적인 예에서, 수신자-사용자는 원격 미디어 장치(104)를 통해 앨범의 샘플을 듣고 있다가 원격 제어 장치(114) 상의 버튼을 활성화시킴으로써 그 샘플과 연관된 전체 앨범을 구매하기 위해 명령어를 발행할 수 있다. 부가적인 장치를 필요로 할 수 있는 또다른 시나리오가 가능하다. 예를 들어, 제1 원격 장치는 음악의 샘플을 제공할 수 있고, 제2 원격 장치는 앨범 아트를 제공할 수 있으며, 제3 원격 장치는 구매 이벤트를 발행하기 위해 사용될 수 있다.
수신자-사용자의 개시 동작에 응답하여 이벤트가 생성된다. 이벤트는 개시 동작을 기술하고 다른 장치로 전파되어 그 장치에게 그 동작의 특성을 알려줄 수 있는 임의의 종류의 정보를 말한다. 한가지 비제한적인 예에서, 이 이벤트는 적어도 2 부분을 포함한다. 제1 부분은 이벤트의 대상인 객체를 식별해준다. 예를 들어, 사용자가 리소스에 대해 어떤 동작을 수행하거나 리소스를 구입하려고 시도하는 경우, 그 객체는 리소스 자체를 포함한다. 제2 부분은 객체에 대해 수행될 동 작을 식별해준다. 상기한 예시적인 동작들은 객체의 구입, 객체의 인쇄, 식별된 수신자로의 객체의 전송, 객체의 크기 조정, 잘라내기(cropping), 적목 현상 감소, 등을 수행하는 것, 기타 등등을 포함한다. 다른 동작들은 다른 각자의 코드를 사용하여 또는 어떤 다른 기법에 의해 표현될 수 있다.
제3 동작 (3)에서, 미디어 서버(102)는 이벤트를 수신하고 선택에 따라서는 그 이벤트를 이벤트 저장소에 로그한다.
제4 동작 (4)에서, 추후 사용자는 임의의 로그된 이벤트를 처리하기 위해 미디어 서버(102)에 액세스한다. 추후 사용자는 수신자-사용자에 의해 개시된 트랜잭션을 완료하는 사람을 말한다. 한 경우에, 추후 사용자는 수신자-사용자와 동일하다.
한 시나리오에서, 이벤트가 수신될 때, 추후 사용자가 미디어 서버(102)와 능동적으로 연계되어 있다. 이 경우에, 미디어 서버(102)는 이벤트의 수신을 추후 사용자에게 즉각 통지할 수 있다(이 경우, 이벤트를 로그까지 할 필요는 없을 수 있다). 그렇지만, 다른 시나리오에서, 이벤트가 수신될 때, 추후 사용자가 미디어 서버(102)와 능동적으로 연계되어 있지 않을 수 있다. 이렇게 될 수 있는 이유는 추후 사용자가 미디어 서버(102)를 구현하는 컴퓨터에서 로그오프되어 있기 때문이거나, 예를 들어, 컴퓨터가 FUS(Fast User Switching)를 지원하는 경우에, 추후 사용자가 미디어 서버와의 능동 세션(active session)에 관여되어 있지 않기 때문이다. 이 시나리오에서, 미디어 서버(102)는 추후 사용자에게 그의 "부재(absence)"(그렇지만 정의되어 있음) 동안에 수신된 임의의 이벤트의 존재에 대 해 경고할 수 있다.
미디어 서버(102)는 그래픽 정보, 오디오 정보, 이들의 어떤 조합, 기타 등등을 제공하는 등, 다양한 방식으로 추후 사용자에게 이벤트의 존재를 경고할 수 있다. 한가지 제한이 아닌 예시적인 경우에, 미디어 서버(102)는 그래픽 버블 메시지(graphical bubble message)를 제공함으로써 추후 사용자에게 이벤트의 존재를 경고할 수 있다. 어쨋든, 미디어 서버(102)가 추후 사용자에게 제공하는 정보는, 이 정보가 원격 미디어 장치(104)에서 수신자-사용자에 의해 시작된 트랜잭션을 완료하도록 추후 사용자를 프롬프트한다는 것을 나타내기 위해, 본 명세서에서 "프롬프트 정보(prompting information)"라고 한다.
미디어 서버(102)는 프롬프트 정보를 허가된 추후 사용자에게만 전송하도록 구성될 수 있다. 예를 들어, 부모가 어떤 종류의 후속 처리를 받도록 어떤 리소스에 플래그함으로써 수신자-사용자의 역할로서 기능하는 것으로 가정하자. 이들 리소스는 가족의 구성원들 모두가 보기에 부적절할 수 있거나 가족의 구성원들 모두가 실제로 금융 거래를 하는 것이 부적절할 수 있다. 부모의 한 아이가 추후 사용자로서 미디어 서버(102)에 로그온하는 것으로 가정하자. 미디어 서버(102)는 이 사용자의 ID(identity)를 (사용자의 패스워드에 기초하여) 판정하고 이 사용자가 수신자-사용자 부모에 의해 개시된 트랜잭션을 완료하도록 허가되어 있는지 여부를 판정하도록 구성되어 있을 수 있다. 이러한 검증 동작은 특정의 사용자가 프롬프트 정보를 수신하도록 허가되어 있는지 여부를 판정하기 위해 데이터베이스를 조회함으로써 수행될 수 있다. 이와 같이, 미디어 서버(102)는 그 아이가 프롬프트 정 보를 수신하지 못하도록 할 수 있다.
추후 사용자는 프롬프트 정보를 활성화시킴으로써, 예를 들어, 프롬프트 정보의 그래픽 표현을 클릭함으로써 프롬프트 정보에 응답할 수 있다. 이것은 추후 사용자가 트랜잭션(들)을 완료하거나 적어도 트랜잭션을 더 진행시킬 수 있게 해주는 하나 이상의 사용자 인터페이스 표현(user interface presentation)을 호출할 수 있다. 예를 들어, 한 경우에, 미디어 서버(102)는 사용자가 리소스를 구입하고, 리소스에 대해 처리를 수행하며, 기타 등등을 할 수 있게 해주는 하나 이상의 사용자 인터페이스 표현을 호출할 수 있다. 이들 표현(presentation)은 미디어 서버(102) 자체 또는 아마도 원거리 통신망 접속을 통해 액세스가능한 어떤 제3자 개체에 의해 호스팅될 수 있거나 표현들의 어떤 조합이 미디어 서버(102)와 제3자 개체의 조합에 의해 호스팅될 수 있다. 예를 들어, 미디어 서버(102)는 사용자에게 판매 트랜잭션을 진행시키는 옵션을 제공하는 사용자 인터페이스 표현을 추후 사용자에게 제공할 수 있다. 추후 사용자가 이 옵션을 호출하는 경우, 미디어 서버(102)는 사용자를 리소스를 판매하는 기업(commercial entity)에 의해 호스팅되는 웹사이트로 안내할 수 있다. 어쨋든, 수신자-사용자에 의해 개시된 트랜잭션을 더 진행시키는 데 추후 사용자에 의해 취해진 동작을 본 명세서에서 "추후 동작(follow-up action)"이라고 한다. 추후 동작은 트랜잭션에서의 마지막 단계를 나타내거나 트랜잭션을 구성하는 일련의 동작들에서의 다른 마지막이 아닌(non-terminal) 단계를 나타낼 수 있다.
이상의 설명은 원격 미디어 장치(104)가 미디어 서버(102)와 다른 장치인 시 나리오를 기술한 것이다. 상세하게는, 원격 미디어 장치(104)는 미디어 서버(102)와 비교하여 감소된 처리 리소스를 가지고 있음을 의미하는 씬 클라이언트(thin client)를 나타낼 수 있다. 이상에 기술된 방법은, 원격 미디어 장치를 사용하여 더 다재다능한 미디어 서버(102)에 의해 나중에 완료되도록 트랜잭션에 플래그함으로써, 비교적 간단한 원격 미디어 장치가 더 복잡한 서비스를 구현할 수 있게 해준다. 이 전략에 의해 원격 미디어 장치는 설계가 간단한 채로 있을 수 있지만 개선된 서비스를 구현할 수 있다.
다른 시나리오에서, 상기한 4개의 동작 (1-4)은 하나의 장치와 관련하여 끝까지 수행할 수 있다. 예를 들어, 사용자는 제1 장치를 사용하여 이벤트를 로그하고, 이어서 나중에 동일한 장치로 돌아와서, 로그된 이벤트에 액세스하며, 그에 기초하여 트랜잭션을 완료할 수 있다.
이제 도 2로 가서, 이 도면은 미디어 서버(102)에 설치된 이벤트 처리 모듈(110)을 더 상세히 도시한 것이다.
이벤트 처리 모듈(110)은 다수의 모듈 및 데이터 저장소를 포함한다. 먼저, 통지 배포 모듈(notification dissemination module)(202)은 통지 정보를 수신자-사용자에게로 전송한다. 앞서 기술한 바와 같이, 통지 정보는 어떻게든 수신자-사용자가 동작을 취하도록 프롬프트할 수 있는 임의의 정보를 포함할 수 있다. 예를 들어, 통지 정보는 수신자-사용자에게 리소스의 존재를 경고할 수 있고, 수신자-사용자는 그 리소스에 관련한 개시 동작을 수행할 수 있다. 이 개시 동작은 이벤트를 발생한다.
이벤트 수신 모듈(204)은 수신자-사용자에 의해 생성된 이벤트를 수신한다. 이상에서 설명한 바와 같이, 이벤트는 2 부분을 가질 수 있으며, 제1 부분은 동작의 객체를 기술하고, 제2 부분은 동작 자체를 기술한다. 이벤트 수신 모듈(204)은 또한 선택에 따라서는 수신된 이벤트를 로그할 수 있다.
동작 진행 모듈(action advancement module)(206)은 추후 사용자가 수신자-사용자에 의해 개시된 트랜잭션을 더 진행시킬 수 있게 해준다(다시 말하면, 추후 사용자는 수신자-사용자와 동일한 사용자를 나타낼 수 있다). 예를 들어, 진행 모듈(206)은 추후 사용자에게 하나 이상의 로그된 이벤트의 존재를 경고할 수 있다. 진행 모듈은 프롬프트 정보를 추후 사용자에게 전송함으로써 이 작업을 수행할 수 있다. 이벤트가 수신될 때 추후 사용자가 우연히 미디어 서버(102)와 능동적으로 연계되어 있는 경우, 동작 진행 모듈(206)은 즉각 프롬프트 정보를 추후 사용자에게 전송할 수 있으며, 그렇지 않은 경우, 추후 사용자가 (예를 들어, 다시 로그온하고, 활성 사용자 세션을 재개하며, 기타 등등을 함으로써) 미디어 서버(102)의 사용을 재개할 때 동작 진행 모듈(206)은 추후 사용자에게 프롬프트 정보를 전송할 수 있다.
등록 모듈(registration module)(208)은 관리 사용자(administrative user)(도시 생략)가 이벤트 처리 모듈(110)의 동작을 통제하는 여러가지 동작 파라미터 및 기타 정보를 설정할 수 있게 해준다. 예를 들어, 등록 모듈(208)은 관리 사용자가 통지 정보가 수신자-사용자에게로 전송되는 조건, 프롬프트 정보가 추후 사용자에게로 전송되는 조건, 기타 등등을 설정할 수 있게 해준다.
컨텐츠 정보 저장소(content information store)(210)는 수신자-사용자에게로 전송되는 통지 정보, 추후 사용자에게로 전송되는 프롬프트 정보, 기타 등등의 사용자에게 배포되는 정보를 저장한다. 이 저장소는 미디어 서버(102) 자체 또는 어떤 다른 개체(원격 웹사이트 등)에 의해 구현될 수 있다.
조건 정보 저장소(condition information store)(212)는 이벤트 처리 모듈(110)의 동작을 통제하는 정보를 저장한다. 예를 들어, 조건 정보 저장소(212)는 통지 정보가 수신자-사용자에게로 전송되는 조건, 프롬프트 정보가 추후 사용자에게로 전송되는 조건, 기타 등등을 저장할 수 있다.
마지막으로, 사용자 동작 정보 저장소(user action information store)(214)는 원격 미디어 장치(104, ... 106)로부터 수신되는 이벤트를 저장할 수 있다. 이러한 이벤트는 이벤트의 대상 객체는 물론 동작 자체의 특성에 대해 기술할 수 있다. 사용자 동작 정보 저장소(214)는 사용자별로 이벤트를 저장할 수 있다.
도 3은 예시적인 원격 미디어 장치(300)를 나타낸 것이다. 이 장치는 선택에 따라서는 그래픽 사용자 인터페이스(302)는 물론 물리적 키 모음(304)을 포함할 수 있다. 그래픽 사용자 인터페이스(302)는 앨범 아트 등의 통지 정보를 디스플레이하는 데 사용될 수 있다. 다른 대안으로서, 또하나의 원격 장치가 통지 정보를 제공하는 데 사용될 수 있어, 원격 미디어 장치(300)에게 통지 정보에 기초하여 이벤트를 발생할 기회를 부여할 수 있다.
원격 미디어 장치(300)는 사용자가 이벤트를 발생하게 해주기 위한 하나 이상의 그래픽 UI 컨트롤(예를 들어, UI 컨트롤(306)) 및/또는 하나 이상의 물리적 컨트롤(예를 들어, 물리적 버튼(308))을 포함할 수 있다. 예를 들어, 구입 시나리오에서, 원격 미디어 장치(300)는 구매 버튼(또는 다른 종류의 컨트롤)을 포함할 수 있다. 사진 브라우즈 시나리오에서, 원격 미디어 장치(300)는 인쇄 버튼, (사진을 회전시키기 위한) 회전 버튼, (사진에서 적목 현상을 제거하기 위한) 적목 현상 제거 버튼, 기타 등등을 포함할 수 있다.
도 4는 프롬프트 정보를 제공하는 예시적인 메카니즘을 나타낸 것이다. 이 경우에, 퍼스널 컴퓨터(402)는 미디어 서버(102)를 구현한다. 퍼스널 컴퓨터(402)는 프롬프트 정보(404)를 디스플레이하는 그래픽 사용자 인터페이스를 포함한다. 이 예시적인 경우에서, 프롬프트 정보(404)는 이벤트가 사용자의 관심을 기다리고 있다는 사실을 추후 사용자에게 경고하는 그래픽 버블 메시지의 형태를 갖는다. 오디오 정보, 기타 등등을 제공하는 등 많은 다른 방식으로 프롬프트 정보를 제공할 수 있다.
한 예시적인 구현에서, 미디어 서버(102)는 자동화된 재생 루틴(automated playback routine)(미국 워싱턴주 레드몬드 소재의 마이크로소프트사에 의해 제공된 WINDOWS의 AUTOPLAY 기능 등)을 통해 추후 동작(큐잉된 이벤트에 기초하여 프롬프트 정보를 제공하는 것을 포함함)의 처리를 조정할 수 있다.
도 5는 추후 사용자가 프롬프트 정보(404)를 활성화할 때 호출될 수 있는 예시적인 사용자 인터페이스 표현(500)을 도시한 것이다. 이 특정의 시나리오에서, 로그된 이벤트는 구입 이벤트에 관한 것이다. 따라서, 이 경우에, 사용자 인터페이스 표현(500)은 구입 이벤트를 열거하고 식별된 리소스를 실제로 구매(또는 리소 스의 구입을 거부)함으로써 구입 이벤트를 완료할 기회를 사용자에게 줄 수 있다. 예를 들어, 표현(500)에서의 엔트리(502)는 수신자-사용자가 바흐 피아노 협주곡의 앨범을 구매하는 데 관심을 표명했다는 것을 알려준다. 이 엔트리(502)에 의해 사용자는 이 앨범에 관한 부가의 정보를 찾아내거나 실제로 앨범을 구매함으로써 구입을 확인할 수 있다. 엔트리(502) 상의 임의의 버튼을 클릭하면 선택에 따라서는 식별된 자산의 판매를 실제로 처리하는 웹사이트로 추후 사용자를 안내할 수 있다. (또는, 미디어 서버(302) 자체는 판매를 조정하는 UI를 구현할 수 있다.)
도 6은 다른 예시적인 사용자 인터페이스 표현(600)을 나타낸 것이다. 이 표현(600)은 시스템(100)이 많은 종류의 동작에 적용될 수 있다는 것을 강조한 것이다. 예를 들어, 엔트리(602)는 인쇄 동작을 완료하는 옵션을 추후 사용자에게 제공한다. 엔트리(604)는 적목 현상 감소 동작을 완료하는 옵션을 추후 사용자에게 제공한다. 엔트리(606)는 이메일 처리 동작을 완료하는 옵션을 추후 사용자에게 제공한다. 당업자라면 많은 다른 동작들이 가능하다는 것을 잘 알 것이다.
상기한 바와 같이, 이 섹션의 마지막 주제로서, 한 구체적인 구현에서, 시스템(100)의 측면들은 UPnP 기술을 사용하여 구현될 수 있다. 이 경우, 도 7은 원격 미디어 장치(104)와 미디어 서버(102) 간에 이벤트 정보를 교환하는 프로토콜을 정의하는 데 사용될 수 있는 예시적인 XML 발췌(LobObjectEvent)를 나타낸 것이다. 이 발췌는 이벤트의 작성을 정의한 것으로서, 동작의 대상 객체를 식별해주는 제1 부분(ObjectID) 및 동작 자체를 식별해주는 제2 부분(EventType)을 포함한다.
B. 예시적인 프로세스
도 8 내지 도 10은 도 1에 도시된 시스템(100)의 예시적인 동작 방식을 설명하는 절차(800, 900, 1000)를 나타낸 것이다. 설명의 편의상, 어떤 동작들은 어떤 순서로 수행되는 개별적인 단계들을 구성하는 것으로 기술되어 있다. 이러한 구현은 예시적인 것이며 제한하는 것이 아니다. 본 명세서에 기술된 어떤 단계들은 하나로 그룹화되어 하나의 동작으로 수행될 수 있고, 어떤 단계들은 본 설명에 기술된 예들에서 이용된 순서와 다른 순서로 수행될 수 있다. 이들 플로우차트에 기술된 동작들이 시스템(100)의 아키텍처와 관련하여 이미 설명되었기 때문에, 이 섹션은 주로 이들 동작을 다시 살펴보는 역할을 한다.
도 8은 관리 사용자가 시스템(100)의 동작을 통제하는 다양한 파라미터 및 기타 정보를 설정할 수 있게 해주는 절차(800)를 나타낸 것이다. 단계(802)에서, 관리 사용자는 통지 정보, 프롬프트 정보, 기타 등등의 배포를 통제하는 다양한 조건들을 설정할 수 있다. 단계(804)에서, 관리 사용자는 단계(802)에서 정의된 조건들이 만족될 때 배포될 컨텐츠를 등록할 수 있다. 예를 들어, 단계(804)에서, 관리 사용자는 통지 정보(예를 들어, 앨범 아트), 프롬프트 정보(예를 들어, 프롬프트 버블 메시지), 기타 등등을 정의할 수 있다.
도 9는 (미디어 서버(102)의 관점에서 볼 때) 이벤트의 요청, 수신 및 로그에 대해 기술하는 절차(900)를 나타낸 것이다. 단계(902)에서, 미디어 서버(102)는 원격 미디어 장치(104)로 통지 정보를 전송할지를 판정한다. 예를 들어, 미디어 서버(102)는 사전-허가된 원격 미디어 장치만이 통지 정보를 수신하거나 사전-허가된 원격 미디어 장치만이 통지 정보에 응답할 수 있도록 보장해줄 수 있다. 단계(904)에서, 미디어 서버(102)는 원격 미디어 장치(104)로 통지 정보를 전송한다. 단계(906)에서, 미디어 서버(102)는 통지 정보에 응답하여, 수신자-사용자가 통지 정보에 응답하여 어떤 개시 동작을 수행했음을 나타내는 이벤트를 수신한다. 단계(908)에서, 미디어 서버(102)는 수신된 이벤트를 그의 이벤트 저장소(예를 들어, 도 2의 사용자 동작 정보 저장소(214))에 로그한다.
도 10은 로그된 이벤트의 처리를 기술하는 절차(1000)를 나타낸 것이다. 단계(1002)에서, 미디어 서버(102)는 특정의 추후 사용자에게 프롬프트 정보를 전송하는 것이 적절한지를 판정한다. 프롬프트 정보가 추후 사용자에게 로그된 이벤트의 존재를 경고한다는 것을 상기한다. 단계(1004)에서, 미디어 서버(102)는 추후 사용자에게 프롬프트 정보를 전송한다. 단계(1006)에서, 미디어 서버(102)는, 예를 들어, 프롬프트 정보의 그래픽 표현을 클릭함으로써, 추후 사용자가 프롬프트 정보를 활성화시켰음을 나타내는 응답을 추후 사용자로부터 수신한다. 단계(1008)에서, 미디어 서버(102)는 수신자-사용자에 의해 개시된 트랜잭션의 진행을 조정한다. 이 단계는 식별된 리소스를 구입하는 등, 궁극적으로 추후 사용자가 동작을 실행할 수 있게 해주는 사이트에 접속하는 것을 포함할 수 있다.
C. 기타 예시적인 응용
이상의 설명은 트랜잭션을 분할된 방식으로 처리하는 시스템 및 절차에 대해 기술하였으며, 이 경우 트랜잭션의 일부가 제1 역할을 담당하는 장치와 관련하여 수행되고, 트랜잭션의 다른 일부는 제2 역할을 담당하는 장치와 관련하여 수행된다. 이들 응용에서, 트랜잭션은 하나 이상의 사람 사용자가 이들 장치와 상호작용 함으로써 그 사용자에 의해 주도되었다. 이들 장치는 UPnP 미디어 렌더링 장치 및 미디어 서버 장치 또는 임의의 종류의 관련 컴포넌트들과 관련하여 예시적이고 비제한적인 것으로 기술되었다.
본 명세서에 기술된 원리들은 다수의 측면에서 상기한 예들과 다를 수 있는 부가의 응용을 갖는다.
예를 들어, 용어 "트랜잭션", "개시 동작" 및 "추후 동작"은 본 명세서에서 광의적으로 해석되어야 한다. 2개 이상의 사이트들 간의 리소스 동기화(파일 동기화 등)를 달성하는 도 11의 시스템(1100)을 생각해보자. 즉, 제1 장치(1102)는 제1 데이터 저장소(1104)에 제1 일련의 리소스를 유지할 수 있고, 제2 장치(1106)는 제2 데이터 저장소(1108)에 제2 일련의 리소스를 유지할 수 있다. 이들 리소스는 파일, 기타 등등의 임의의 종류의 자산을 나타낼 수 있다. 제1 데이터 저장소(1104) 내의 적어도 어떤 리소스는 제2 데이터 저장소(1108) 내에 저장된 동일한 리소스를 나타낼 수 있으며, 따라서 이들 데이터 저장소(1104, 1108)는 동일한 리소스의 중복하는 복사본을 유지하고 있다. 리소스 동기화 동작의 목적은 제1 데이터 저장소(1104)에 행해진 변경이 제2 데이터 저장소(1108)에 들어 있는 대응하는 리소스에 똑같이 행해지도록(또 그 역도 마찬가지이도록) 보장하는 것이다.
이를 위해, 제1 데이터 저장소(1104) 내의 리소스에 행해진 변경은 이벤트의 발생을 야기하는 개시 동작을 구성할 수 있다. 이벤트는 수정되고 있는 리소스(또는 아마도 리소스 자체의 복사본)의 특성은 물론 리소스에 행해지는 변경의 설명을 지정할 수 있다. 이 이벤트는 상기한 방식으로 제1 장치(1002)에 의해 제2 장 치(1106)로 전송될 수 있다. 수신되면, 제2 장치(1106)는 상기한 방식으로 이 이벤트를 로그할 수 있다. 제2 장치(1106)는 이벤트의 수신 시에 즉각 이벤트에 따라 동작할 수 있거나, 추후 사용자가 제2 장치(1106)와의 활성 세션을 재개할 때 이벤트에 따라 동작할 수 있다. 이벤트에 따라 동작하는 것은 제1 데이터 저장소(1104)에서 행해진 변경을 제2 데이터 저장소(1108)에 저장된 적어도 하나의 대응하는 리소스에 대해 똑같이 수행하는 것을 구성할 수 있다.
상기한 리소스 동기화 경우에, 유의할 점은 "트랜잭션"이 제1 장치(1102)에서 수행되는 변환 동작(transformative act) 및 그에 뒤이어서 제2 장치(1106)에 의해 수행되는 변환 동작을 포함한다는 것이다. 리소스 동기화는 2개의 사이트(도 11 참조)로 제한되지 않는다. 보다 일반적으로, 임의의 장치에 행해진 변경은 상기한 이벤트 프로토콜을 통해 임의의 수의 다른 장치에서도 똑같이 행해질 수 있다.
보다 일반적으로, 상기한 원리들은 제1 역할을 담당하는 장치(예를 들어, 제1 장치)가 제2 역할을 담당하는 장치(예를 들어, 제2 장치)로 이벤트를 전송하고, 그에 의해 제2 장치가 이벤트를 수신한 직후 또는 그 얼마 후에 이벤트에 따라 동작할 수 있게 해주는 어떤 상황에도 적용될 수 있다. 제1 장치 및 제2 장치는 미디어 렌더링 장치 및 미디어 서버 장치로 한정되지 않는다. 이들 장치도 UPnP 장치로 한정되지 않는다.
게다가, 트랜잭션을 주도하는 자극이 사람 사용자 동작일 필요는 없다. 자동 트리거링 이벤트(automatic triggering event)에 응답하여 또는 적어도 부분적 으로 자동 트리거링 이벤트에 응답하여 여러가지 동작이 수행될 수 있다.
상기한 원리들의 또다른 부가적인 응용 및 변형이 있을 수 있다.
D. 예시적인 컴퓨터 환경
도 12는 미디어 서버(102) 등의 이전의 섹션들에 기술된 처리 기능들 중 임의의 것을 구현하는 데 사용될 수 있는 컴퓨터 환경(1200)에 관한 정보를 제공한다. 원격 미디어 장치들(104, ... 106) 중 임의의 것도 역시 이하에 기술하는 특징들 또는 그의 어떤 일부분을 구현할 수 있다.
컴퓨팅 환경(1200)은 범용 또는 서버형 컴퓨터(1202) 및 디스플레이 장치(1204)를 포함한다. 그렇지만, 컴퓨팅 환경(1200)은 다른 종류의 컴퓨팅 장비를 포함할 수 있다. 예를 들어, 도시되어 있지는 않지만, 컴퓨터 환경(1200)은 핸드-헬드 또는 랩톱 장치, 셋톱 박스, 게임 콘솔, 메인프레임 컴퓨터, 기타 등등을 포함할 수 있다. 게다가, 도 12는 설명의 편의상 컴퓨터 환경(1200)의 구성요소들을 하나로 그룹화하여 도시하고 있다. 그렇지만, 컴퓨팅 환경(1200)은 분산 처리 구성을 이용할 수 있다. 분산 컴퓨팅 환경에서, 컴퓨팅 리소스는 물리적으로 이 환경 전체에 걸쳐 분산되어 있을 수 있다.
예시적인 컴퓨터(1202)는 하나 이상의 프로세서 또는 처리 장치(1206), 시스템 메모리(1208), 및 버스(1210)를 포함한다. 버스(1210)는 다양한 시스템 컴포넌트들을 서로 접속시킨다. 예를 들어, 버스(1210)는 프로세서(1206)를 시스템 메모리(1208)에 접속시킨다. 버스(1210)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스, AGP(accelerated graphics port), 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 프로세서 또는 로컬 버스를 비롯한 임의의 종류의 버스 구조 또는 버스 구조들의 임의의 조합을 사용하여 구현될 수 있다.
컴퓨터(1202)는 또한 다양한 유형의 휘발성 및 비휘발성 매체를 비롯한 다양한 컴퓨터 판독가능 매체를 포함할 수 있으며, 이들 각각은 이동식 또는 비이동식일 수 있다. 예를 들어, 시스템 메모리(1208)는 랜덤 액세스 메모리(RAM)(1212) 등의 휘발성 메모리 및 판독 전용 메모리(ROM)(1214) 등의 비휘발성 메모리 형태의 컴퓨터 판독가능 매체를 포함한다. ROM(1214)은 시동 중과 같은 때에 컴퓨터(1202) 내의 구성요소들 간에 정보를 전송하는 데 도움이 되는 기본적인 루틴들이 들어 있는 입/출력 시스템(BIOS)(1216)을 포함한다. RAM(1212)에는 통상적으로 처리 장치(1206)에 의해 신속하게 액세스될 수 있는 형태로 데이터 및/또는 프로그램 모듈들이 들어 있다.
다른 종류의 컴퓨터 저장 매체는 비이동식·비휘발성 자기 매체로부터 판독하고 그에 기록하는 하드 디스크 드라이브(1218), 이동식·비휘발성 자기 디스크(1222)(예를 들어, "플로피 디스크")로부터 판독하고 그에 기록하는 자기 디스크 드라이브(1220), 및 CD-ROM, DVD-ROM, 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(1226)로부터 판독하고 및/또는 그에 기록하는 광 디스크 드라이브(1224)를 포함한다. 하드 디스크 드라이브(1218), 자기 디스크 드라이브(1220) 및 광 디스크 드라이브(1224) 각각은 하나 이상의 데이터 매체 인터페이스(1228)에 의해 시스템 버스(1210)에 접속되어 있다. 다른 대안으로서, 하드 디스크 드라이브(1218), 자기 디스크 드라이브(1220) 및 광 디스크 드라이브(1224)는 SCSI 인터 페이스(도시 생략) 또는 기타 연결 메카니즘에 의해 시스템 버스(1210)에 접속될 수 있다. 도시되어 있지는 않지만, 컴퓨터(1202)는 자기 카세트 또는 기타 자기 저장 장치, 플래쉬 메모리 카드, CD-ROM, DVD(digital versatile disk) 또는 기타 광 저장 장치, EEPROM(electrically erasable programmable read-only memory), 기타 등등의 다른 유형의 컴퓨터 판독가능 매체를 포함할 수 있다.
일반적으로, 상기한 컴퓨터 판독가능 매체는 컴퓨터(1202)에서 사용하기 위한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 및 기타 데이터의 비휘발성 저장을 제공한다. 예를 들어, 판독가능 매체는 운영 체제(1230), 애플리케이션-관련 기능(1232)(미디어 서버(102)의 이벤트 처리 모듈(120)의 측면들을 구현하는 기능을 포함함), 기타 프로그램 모듈(1234) 및 프로그램 데이터(1236)를 저장할 수 있다.
컴퓨터 환경(1200)은 다양한 입력 장치를 포함할 수 있다. 예를 들어, 컴퓨터 환경(1200)은 명령 및 정보를 컴퓨터(1202)에 입력하기 위한 키보드(1238) 및 포인팅 장치(1240)(예를 들어, "마우스")를 포함한다. 컴퓨터 환경(1200)은 마이크, 조이스틱, 게임 패드, 위성 안테나, 직렬 포트, 스캐너, 카드 판독 장치, 디지털 또는 비디오 카메라, 기타 등등의 기타 입력 장치들(도시 생략)을 포함할 수 있다. 입/출력 인터페이스(1242)는 입력 장치들을 처리 장치(1206)에 연결시킨다. 보다 일반적으로, 입력 장치들이 병렬 포트, 직렬 포트, 게임 포트, USB(universal serial bus) 포트, 기타 등등의 임의의 종류의 인터페이스 및 버스 구조를 통해 컴퓨터(1202)에 연결될 수 있다.
컴퓨터 환경(1200)은 또한 디스플레이 장치(1204)를 포함한다. 비디오 어댑터(1244)는 디스플레이 장치(1204)를 버스(1210)에 연결시킨다. 디스플레이 장치(1204)에 부가하여, 컴퓨터 환경(1200)은 스피커(도시 생략), 프린터(도시 생략), 기타 등등의 기타 출력 주변 장치를 포함할 수 있다.
컴퓨터(1202)는 원격 컴퓨팅 장치(1246) 등의 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작한다. 원격 컴퓨팅 장치(1246)는 범용 퍼스널 컴퓨터, 휴대용 컴퓨터, 서버, 기타 등등을 비롯한 임의의 종류의 컴퓨터 장비를 포함할 수 있다. 원격 컴퓨팅 장치(1246)는 컴퓨터(1202)와 관련하여 상기한 특징들 전부 또는 그의 어떤 일부분을 포함할 수 있다.
도 4의 WAN(402), LAN, 기타 등등의 임의의 유형의 네트워크(1248)가 컴퓨터(1202)를 원격 컴퓨팅 장치(1246)와 연결시키는 데 사용될 수 있다. 컴퓨터(1202)는 광대역 접속, 모뎀 접속, DSL 접속, 또는 기타 접속 전략을 이용할 수 있는 네트워크 인터페이스(1250)(예를 들어, 도 4에 도시된 인터페이스(416))를 통해 네트워크(1248)에 연결되어 있다. 도시되어 있지는 않지만, 컴퓨터 환경(1200)은 (예를 들어, 피변조 무선 신호, 피변조 적외선 신호, 기타 등등을 통해) 컴퓨터(1202)를 원격 컴퓨팅 장치(1246)와 접속시키기 위한 무선 통신 기능을 제공할 수 있다.
끝으로, 이들 특징들이 해결할 수 있는 예시적인 문제점들을 먼저 확인하는 것으로 본 명세서에 다수의 특징들을 기술하였다. 이와 같이 설명했다고 하여 다 른 사람들이 본 명세서에 명시된 방식으로 문제점들을 잘 이해하고 및/또는 유기적으로 연관시키고 있다고 인정하는 것은 아니다. 종래 기술에 존재하는 문제점들의 이해 및 유기적 연관이 본 발명의 일부라는 것을 잘 알 것이다. 보다 구체적으로는, 본 설명의 배경 부분에 기술된 특징들이 종래 기술을 구성한다고 본 명세서에서 인정하는 것은 아니다. 게다가, 배경 부분에서 제한된 일련의 문제점들을 기술한 것이 본 발명의 응용을 그러한 문제점들만 해결하는 것으로 제한하지 않으며 본 명세서에 명시적으로 언급되지 않은 문제 및 환경에 적용될 수 있다. 게다가, 본 명세서의 요약 부분 및 요약서에 기술된 내용도 청구항에 기술된 발명 내용을 제한하지 않는다.
보다 일반적으로, 본 발명이 구조상 특징 및/또는 방법적 작용들에 관련된 언어로 기술되어 있지만, 첨부된 청구항들에 정의된 발명이 반드시 기술된 특정의 특징들 또는 작용들로 제한되는 것은 아님을 잘 알 것이다. 오히려, 특정의 특징들 및 작용들은 청구된 발명을 구현하는 예시적인 형태로서 기술된 것이다.
Claims (20)
- 트랜잭션을 처리하는 방법으로서,컨텐츠에 관련된 통지 정보를 수신자-사용자(recipient-user)에 제공하는 단계,상기 통지 정보에 응답하여 개시 동작과 연관된 컨트롤을 활성화시킴으로써 상기 수신자-사용자가 상기 개시 동작을 수행했다는 것을 나타내는 이벤트를 수신하는 단계 - 상기 이벤트는 상기 컨텐츠와 연관된 대상 객체 및 상기 대상 객체에 대해 수행될 동작을 기술함 -,상기 이벤트를 로그(log)하여 로그된 이벤트(logged event)를 제공하는 단계,상기 로그된 이벤트의 존재를 추후 사용자(follow-up user)에게 알려주는 단계, 및상기 추후 사용자가 상기 로그된 이벤트와 연관된 추후 동작(follow-up action)을 수행할 수 있게 해주는 단계 - 상기 추후 동작은 상기 컨텐츠에 관련되어 있고 상기 이벤트에서 식별되는 동작(operation)과 연관되어 있음 - 를 포함하며,상기 개시 동작 및 상기 추후 동작은 모두 상기 트랜잭션의 적어도 일부를 구성하는 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 개시 동작은 리소스를 구입하라는 상기 수신자-사용자에 의한 요청을 포함하고,상기 추후 동작은 상기 리소스의 구입과 관련된 동작을 포함하는 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 개시 동작은 리소스에 어떤 처리를 수행하라는 상기 수신자-사용자에 의한 요청을 포함하고,상기 추후 동작은 상기 처리의 수행과 관련된 동작을 포함하는 것인 트랜잭션 처리 방법.
- 제3항에 있어서, 상기 처리는,상기 리소스를 대상 목적지로 전송하는 단계,상기 리소스와 연관된 데이터를 변환하기 위해 상기 리소스에 대해 데이터 처리를 수행하는 단계,상기 리소스와 연관된 상태를 변경하는 단계, 또는상기 리소스를 백업하는 단계 중 하나 이상을 포함하는 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 컨트롤은 상기 개시 동작과 연관된 물리적 컨트롤 요소인 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 컨트롤은 상기 개시 동작과 연관된 그래픽 사용자 인터페이스 요소인 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 수신자-사용자가 상기 통지 정보를 수신하기 위해 사용하는 수신자 장치는 상기 수신자-사용자가 상기 이벤트를 발생하기 위해 사용하는 동일한 장치인 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 수신자-사용자가 상기 통지 정보를 수신하기 위해 사용하는 수신자 장치는 상기 수신자-사용자가 상기 이벤트를 발생하기 위해 사용하는 장치와 다른 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 수신자-사용자가 상기 통지 정보를 수신하도록 사전-허가되어 있는지 또는 상기 수신자-사용자가 상기 통지 정보에 따라 동작하도록 사전-허가되어 있는지를 판정하고, 상기 수신자-사용자가 상기 통지 정보를 수신할 자격이 있는 경우에만 상기 수신자-사용자에게 상기 통지 정보를 제공하는 단계를 더 포함하는 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 이벤트를 로그하는 단계는 상기 이벤트를 발생한 상기 수신자-사용자와 관련하여 상기 이벤트를 큐잉하는 단계를 포함하는 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 수신자-사용자는 제1 역할을 수행하는 장치를 사용하여 상기 이벤트를 발생하고,상기 추후 사용자는 제2 역할을 수행하는 장치를 사용하여 상기 추후 동작을 수행하는 것인 트랜잭션 처리 방법.
- 제11항에 있어서, 상기 제1 역할을 수행하는 상기 장치는 상기 제2 역할을 수행하는 상기 장치와 다른 것인 트랜잭션 처리 방법.
- 제12항에 있어서, 상기 제1 역할을 수행하는 상기 장치는 상기 제2 역할을 수행하는 상기 장치와 비교하여 더 적은 처리 리소스(processing resource)를 갖는 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 수신자-사용자는 상기 추후 사용자와 동일한 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 수신자-사용자는 상기 추후 사용자와 동일하지 않은 것인 트랜잭션 처리 방법.
- 제1항에 있어서, 상기 추후 사용자에게 상기 로그된 이벤트를 알려주는 단계는, 상기 추후 사용자가 프롬프트 정보를 제공하는 장치와 연계되어 있을 때, 오토-플레이 루틴(auto-play routine)을 통해 상기 추후 사용자에게 상기 프롬프트 정보를 자동적으로 전송하는 단계를 포함하는 것인 트랜잭션 처리 방법.
- 제16항에 있어서, 상기 추후 사용자가 상기 트랜잭션을 완료할 자격이 있는지를 판정하고, 상기 추후 사용자가 상기 프롬프트 정보를 수신할 자격이 있는 경우에만 상기 프롬프트 정보를 상기 추후 사용자에게 제공하는 단계를 더 포함하는 트랜잭션 처리 방법.
- 제1항의 방법을 수행하는 컴퓨터 판독가능 명령어들을 포함하는 하나 이상의 컴퓨터 판독가능 매체.
- 트랜잭션을 처리하는 방법으로서,제1 장치에서,컨텐츠에 관련되어 있는 통지 정보를 사용자에게 제공하는 단계,제2 장치에서,상기 통지 정보를 수신하는 단계,상기 컨텐츠와 연관된 개시 동작과 연관되어 있는 컨트롤을 호출함으로써 상기 개시 동작을 수행하는 단계 - 상기 개시 동작은 상기 컨텐츠와 연관된 대상 객체 및 상기 대상 객체에 대해 수행될 동작을 기술하는 이벤트를 발생함 -,상기 제1 장치에서,상기 이벤트를 수신하는 단계,상기 이벤트를 로그하여 로그된 이벤트를 제공하는 단계,상기 사용자에게 상기 로그된 이벤트의 존재를 알려주는 단계, 및상기 사용자가 상기 로그된 이벤트와 연관된 추후 동작을 수행할 수 있게 해주는 단계 - 상기 추후 동작은 상기 컨텐츠와 관계되어 있으며 상기 이벤트에서 식별된 동작과 연관되어 있음 - 를 포함하며,상기 개시 동작 및 상기 추후 동작은 모두 상기 트랜잭션의 적어도 일부를 구성하는 것인 트랜잭션 처리 방법.
- 트랜잭션을 처리하는 방법으로서,제1 동작이 제1 역할을 담당하는 장치와 관련하여 수행되었다는 것을 나타내는 UPnP(Universal Plug and Play) 이벤트를 수신하는 단계,상기 이벤트를 로그하여 로그된 이벤트를 제공하는 단계, 및제2 역할을 담당하는 장치에서 상기 로그된 이벤트와 연관된 제2 동작을 수행하는 단계를 포함하며,상기 제2 동작은 트랜잭션의 일부로서 상기 제1 동작을 포함하는 트랜잭션을 진행시키는 것인 트랜잭션 처리 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/192,510 | 2005-07-29 | ||
US11/192,510 US20070027808A1 (en) | 2005-07-29 | 2005-07-29 | Strategies for queuing events for subsequent processing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080035586A true KR20080035586A (ko) | 2008-04-23 |
Family
ID=37695543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087002237A KR20080035586A (ko) | 2005-07-29 | 2006-07-14 | 차후 처리를 위한 이벤트 큐잉 전략 |
Country Status (12)
Country | Link |
---|---|
US (1) | US20070027808A1 (ko) |
EP (1) | EP1913552A4 (ko) |
JP (1) | JP2009503681A (ko) |
KR (1) | KR20080035586A (ko) |
CN (1) | CN101228548A (ko) |
AU (1) | AU2006279124A1 (ko) |
BR (1) | BRPI0613048A2 (ko) |
CA (1) | CA2613051A1 (ko) |
MX (1) | MX2008001153A (ko) |
NO (1) | NO20076577L (ko) |
RU (1) | RU2008103272A (ko) |
WO (1) | WO2007018961A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140044855A (ko) * | 2011-07-20 | 2014-04-15 | 소니 주식회사 | 트리거 압축을 위한 방법, 컴퓨터 프로그램, 수신 장치, 및 정보 제공 장치 |
US10491965B2 (en) | 2012-04-20 | 2019-11-26 | Saturn Licensing LLC. | Method, computer program, and reception apparatus for delivery of supplemental content |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8335259B2 (en) | 2008-03-12 | 2012-12-18 | Packetvideo Corp. | System and method for reformatting digital broadcast multimedia for a mobile device |
WO2009123694A2 (en) * | 2008-03-31 | 2009-10-08 | Packetvideo Corp. | System and method for managing, controlling and/or rendering media in a network |
US8544046B2 (en) * | 2008-10-09 | 2013-09-24 | Packetvideo Corporation | System and method for controlling media rendering in a network using a mobile device |
WO2010065107A1 (en) * | 2008-12-04 | 2010-06-10 | Packetvideo Corp. | System and method for browsing, selecting and/or controlling rendering of media with a mobile device |
US8543975B2 (en) * | 2008-12-18 | 2013-09-24 | Microsoft Corporation | Behavior-first event programming model |
WO2010093430A1 (en) * | 2009-02-11 | 2010-08-19 | Packetvideo Corp. | System and method for frame interpolation for a compressed video bitstream |
US9195775B2 (en) | 2009-06-26 | 2015-11-24 | Iii Holdings 2, Llc | System and method for managing and/or rendering internet multimedia content in a network |
US20120210205A1 (en) | 2011-02-11 | 2012-08-16 | Greg Sherwood | System and method for using an application on a mobile device to transfer internet media content |
US11647243B2 (en) | 2009-06-26 | 2023-05-09 | Seagate Technology Llc | System and method for using an application on a mobile device to transfer internet media content |
WO2011078879A1 (en) * | 2009-12-02 | 2011-06-30 | Packet Video Corporation | System and method for transferring media content from a mobile device to a home network |
US20110183651A1 (en) * | 2010-01-28 | 2011-07-28 | Packetvideo Corp. | System and method for requesting, retrieving and/or associating contact images on a mobile device |
US8798777B2 (en) | 2011-03-08 | 2014-08-05 | Packetvideo Corporation | System and method for using a list of audio media to create a list of audiovisual media |
CA2839808C (en) | 2012-06-19 | 2021-09-14 | Sony Corporation | Extensions to trigger parameters table for interactive television |
WO2015009273A1 (en) * | 2013-07-15 | 2015-01-22 | Nokia Corporation | Method and apparatus for filtering of a notification |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6829368B2 (en) * | 2000-01-26 | 2004-12-07 | Digimarc Corporation | Establishing and interacting with on-line media collections using identifiers in media signals |
US6084952A (en) * | 1996-01-18 | 2000-07-04 | Pocketscience, Inc. | System and method for communicating electronic messages over a telephone network using acoustical coupling |
US5966135A (en) * | 1996-10-30 | 1999-10-12 | Autodesk, Inc. | Vector-based geographic data |
US6728775B1 (en) * | 1997-03-17 | 2004-04-27 | Microsoft Corporation | Multiple multicasting of multimedia streams |
US6192415B1 (en) * | 1997-06-19 | 2001-02-20 | International Business Machines Corporation | Web server with ability to process URL requests for non-markup language objects and perform actions on the objects using executable instructions contained in the URL |
US6119167A (en) * | 1997-07-11 | 2000-09-12 | Phone.Com, Inc. | Pushing and pulling data in networks |
JP4596495B2 (ja) * | 1997-07-18 | 2010-12-08 | ソニー株式会社 | 制御装置、制御方法、電気機器システム、電気機器システムの制御方法、および、記録媒体 |
US6925483B1 (en) * | 1998-06-25 | 2005-08-02 | Cisco Technology, Inc. | System for characterizing information from an information producer |
US6366296B1 (en) * | 1998-09-11 | 2002-04-02 | Xerox Corporation | Media browser using multimodal analysis |
US6760916B2 (en) * | 2000-01-14 | 2004-07-06 | Parkervision, Inc. | Method, system and computer program product for producing and distributing enhanced media downstreams |
US6910068B2 (en) * | 1999-06-11 | 2005-06-21 | Microsoft Corporation | XML-based template language for devices and services |
US6964012B1 (en) * | 1999-09-13 | 2005-11-08 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts |
US6788768B1 (en) * | 1999-09-13 | 2004-09-07 | Microstrategy, Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for book-related information |
US6850603B1 (en) * | 1999-09-13 | 2005-02-01 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized dynamic and interactive voice services |
US6430624B1 (en) * | 1999-10-21 | 2002-08-06 | Air2Web, Inc. | Intelligent harvesting and navigation system and method |
US20050076357A1 (en) * | 1999-10-28 | 2005-04-07 | Fenne Adam Michael | Dynamic insertion of targeted sponsored video messages into Internet multimedia broadcasts |
US6564257B1 (en) * | 1999-12-09 | 2003-05-13 | International Business Machines Corporation | Repository protection by URL expiration |
WO2001050225A2 (en) * | 1999-12-30 | 2001-07-12 | Nextaudio, Inc. | System and method for multimedia content composition and distribution |
US20040220926A1 (en) * | 2000-01-03 | 2004-11-04 | Interactual Technologies, Inc., A California Cpr[P | Personalization services for entities from multiple sources |
US20030097338A1 (en) * | 2000-02-03 | 2003-05-22 | Piotrowski Tony E. | Method and system for purchasing content related material |
DE60143797D1 (de) * | 2000-03-24 | 2011-02-17 | Eliza Corp | Spracherkennung |
US6839748B1 (en) * | 2000-04-21 | 2005-01-04 | Sun Microsystems, Inc. | Synchronous task scheduler for corba gateway |
US6643650B1 (en) * | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US6670971B1 (en) * | 2000-05-11 | 2003-12-30 | Onder Uzel | Internet television system and method with user selectable genres and schedule |
US7194689B2 (en) * | 2000-08-22 | 2007-03-20 | Microsoft Corporation | Generic user control point tool for universal plug and play (UPnP) devices |
US20020092019A1 (en) * | 2000-09-08 | 2002-07-11 | Dwight Marcus | Method and apparatus for creation, distribution, assembly and verification of media |
US20020174425A1 (en) * | 2000-10-26 | 2002-11-21 | Markel Steven O. | Collection of affinity data from television, video, or similar transmissions |
US20020077988A1 (en) * | 2000-12-19 | 2002-06-20 | Sasaki Gary D. | Distributing digital content |
US20020170068A1 (en) * | 2001-03-19 | 2002-11-14 | Rafey Richter A. | Virtual and condensed television programs |
US20020194604A1 (en) * | 2001-06-19 | 2002-12-19 | Sanchez Elizabeth C. | Interactive television virtual shopping cart |
US20030005130A1 (en) * | 2001-06-29 | 2003-01-02 | Cheng Doreen Yining | Audio-video management in UPnP |
JP3695369B2 (ja) * | 2001-08-07 | 2005-09-14 | ソニー株式会社 | 情報配信システム及び情報配信方法、情報供給装置及び情報供給方法 |
US7337402B2 (en) * | 2001-11-09 | 2008-02-26 | Microsoft Corporation | Tunable information presentation appliance using an extensible markup language |
US7610358B2 (en) * | 2001-11-26 | 2009-10-27 | Time Warner Cable | System and method for effectively presenting multimedia information materials |
GB0129177D0 (en) * | 2001-12-06 | 2002-01-23 | Koninl Philips Electronics Nv | Havi-upnp bridging |
US8261306B2 (en) * | 2001-12-11 | 2012-09-04 | Koninklijke Philips Electronics N.V. | System for and method of shopping through television |
US7287053B2 (en) * | 2002-01-15 | 2007-10-23 | International Business Machines Corporation | Ad hoc data sharing in virtual team rooms |
US7690012B2 (en) * | 2002-02-28 | 2010-03-30 | Scientific-Atlanta, Inc. | Positive parental control |
JP3823929B2 (ja) * | 2002-05-17 | 2006-09-20 | ソニー株式会社 | 情報処理装置、情報処理方法、およびコンテンツ配信装置、コンテンツ配信方法、並びにコンピュータ・プログラム |
US7149755B2 (en) * | 2002-07-29 | 2006-12-12 | Hewlett-Packard Development Company, Lp. | Presenting a collection of media objects |
CN1322432C (zh) * | 2002-10-25 | 2007-06-20 | 国际商业机器公司 | 用于媒体内容数据文件网络发布的安全系统及方法 |
US20040158823A1 (en) * | 2003-02-12 | 2004-08-12 | Ylian Saint-Hilaire | Method, apparatus and system for generating customized UPnP applications |
US7308489B2 (en) * | 2003-05-29 | 2007-12-11 | Intel Corporation | Visibility of media contents of UPnP media servers and initiating rendering via file system user interface |
KR100608590B1 (ko) * | 2003-09-16 | 2006-08-03 | 삼성전자주식회사 | 서비스 품질에 따른 서비스 지원이 가능한 네트워크 장치,이를 이용한 네트워크 시스템 및 그 방법 |
US20050125564A1 (en) * | 2003-12-04 | 2005-06-09 | Matsushita Electric Industrial Co., Ltd. | Profiling service for the automatic service discovery and control middleware frameworks |
US7555543B2 (en) * | 2003-12-19 | 2009-06-30 | Microsoft Corporation | Server architecture for network resource information routing |
US7668939B2 (en) * | 2003-12-19 | 2010-02-23 | Microsoft Corporation | Routing of resource information in a network |
US20050138137A1 (en) * | 2003-12-19 | 2005-06-23 | Microsoft Corporation | Using parameterized URLs for retrieving resource content items |
US7647385B2 (en) * | 2003-12-19 | 2010-01-12 | Microsoft Corporation | Techniques for limiting network access |
US20050160458A1 (en) * | 2004-01-21 | 2005-07-21 | United Video Properties, Inc. | Interactive television system with custom video-on-demand menus based on personal profiles |
US7707039B2 (en) * | 2004-02-15 | 2010-04-27 | Exbiblio B.V. | Automatic modification of web pages |
US7412534B2 (en) * | 2005-09-30 | 2008-08-12 | Yahoo! Inc. | Subscription control panel |
US20070107016A1 (en) * | 2005-11-04 | 2007-05-10 | Angel Albert J | Interactive Multiple Channel User Enrollment, Purchase Confirmation Transactional System with Fulfillment Response Feature for Video On Demand Cable Systems |
JP5016610B2 (ja) * | 2005-12-21 | 2012-09-05 | ディジマーク コーポレイション | ルール駆動パンidメタデータルーティングシステム及びネットワーク |
US7706740B2 (en) * | 2006-01-06 | 2010-04-27 | Qualcomm Incorporated | Apparatus and methods of selective collection and selective presentation of content |
-
2005
- 2005-07-29 US US11/192,510 patent/US20070027808A1/en not_active Abandoned
-
2006
- 2006-07-14 CN CNA2006800266780A patent/CN101228548A/zh active Pending
- 2006-07-14 EP EP06787194A patent/EP1913552A4/en not_active Withdrawn
- 2006-07-14 CA CA002613051A patent/CA2613051A1/en not_active Abandoned
- 2006-07-14 KR KR1020087002237A patent/KR20080035586A/ko not_active Application Discontinuation
- 2006-07-14 MX MX2008001153A patent/MX2008001153A/es not_active Application Discontinuation
- 2006-07-14 JP JP2008523921A patent/JP2009503681A/ja not_active Withdrawn
- 2006-07-14 WO PCT/US2006/027253 patent/WO2007018961A2/en active Application Filing
- 2006-07-14 BR BRPI0613048-8A patent/BRPI0613048A2/pt not_active IP Right Cessation
- 2006-07-14 RU RU2008103272/09A patent/RU2008103272A/ru not_active Application Discontinuation
- 2006-07-14 AU AU2006279124A patent/AU2006279124A1/en not_active Abandoned
-
2007
- 2007-12-20 NO NO20076577A patent/NO20076577L/no not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140044855A (ko) * | 2011-07-20 | 2014-04-15 | 소니 주식회사 | 트리거 압축을 위한 방법, 컴퓨터 프로그램, 수신 장치, 및 정보 제공 장치 |
US10491965B2 (en) | 2012-04-20 | 2019-11-26 | Saturn Licensing LLC. | Method, computer program, and reception apparatus for delivery of supplemental content |
Also Published As
Publication number | Publication date |
---|---|
AU2006279124A1 (en) | 2007-02-15 |
US20070027808A1 (en) | 2007-02-01 |
EP1913552A4 (en) | 2010-08-18 |
NO20076577L (no) | 2008-02-28 |
JP2009503681A (ja) | 2009-01-29 |
WO2007018961A3 (en) | 2007-11-22 |
EP1913552A2 (en) | 2008-04-23 |
MX2008001153A (es) | 2008-03-13 |
RU2008103272A (ru) | 2009-08-10 |
CA2613051A1 (en) | 2007-02-15 |
WO2007018961A2 (en) | 2007-02-15 |
BRPI0613048A2 (pt) | 2010-12-14 |
CN101228548A (zh) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20080035586A (ko) | 차후 처리를 위한 이벤트 큐잉 전략 | |
US8595641B2 (en) | Methods, apparatus and systems for displaying and/or facilitating interaction with secure information via channel grid framework | |
US8521857B2 (en) | Systems and methods for widget rendering and sharing on a personal electronic device | |
CN107402696B (zh) | 使用动作注册表跨用户和设备编辑数据 | |
US10049161B2 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
TWI339341B (en) | Method and computer program product for controlling contact information provided to computer applications | |
US20090113315A1 (en) | Multimedia Enhanced Instant Messaging Engine | |
US8145676B2 (en) | Shared inventory item donation in a virtual universe | |
US20160125190A1 (en) | Managing shared inventory in a virtual universe | |
US20130103796A1 (en) | Media enhancement mechanism | |
CN103562908B (zh) | 利用不同文件宿主实现文件访问的方法和计算设备 | |
JP2002215573A (ja) | クライアント/サーバ・システム及びクラインアント・アプリケーションのボタン更新方法 | |
CN104603831B (zh) | 可嵌入媒体上传对象 | |
TW201140336A (en) | Companion experience | |
JP2015156209A (ja) | 情報処理システム | |
US7984033B2 (en) | Data control system capable of present current image of writer with data | |
US11601485B2 (en) | Instant conferencing system | |
US11445083B1 (en) | Methods and systems for handling multiple URLS generated upon scanning multiple documents to one or more cloud locations | |
JP2004220318A (ja) | 情報処理装置及びこれに用いるプログラム | |
JP2008165771A (ja) | ファイルのダウンロードシステムおよび方法 | |
JP5942397B2 (ja) | 文書管理装置、文書管理装置の制御プログラム、文書管理システム、文書管理装置の制御方法 | |
JP4537122B2 (ja) | 表示制御装置、及び表示制御装置における制御方法 | |
JP2020053796A (ja) | コミュニケーションシステム、情報処理装置およびプログラム | |
JP2020048086A (ja) | コミュニケーションシステムおよびプログラム | |
JP2016128982A (ja) | コンテンツ配信装置、コンテンツ配信装置の制御方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |