KR101182523B1 - 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법 - Google Patents

홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법 Download PDF

Info

Publication number
KR101182523B1
KR101182523B1 KR1020080073635A KR20080073635A KR101182523B1 KR 101182523 B1 KR101182523 B1 KR 101182523B1 KR 1020080073635 A KR1020080073635 A KR 1020080073635A KR 20080073635 A KR20080073635 A KR 20080073635A KR 101182523 B1 KR101182523 B1 KR 101182523B1
Authority
KR
South Korea
Prior art keywords
container
browse
user
cache
prefetching
Prior art date
Application number
KR1020080073635A
Other languages
English (en)
Other versions
KR20100012315A (ko
Inventor
신호철
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080073635A priority Critical patent/KR101182523B1/ko
Priority to US12/510,719 priority patent/US20100023691A1/en
Publication of KR20100012315A publication Critical patent/KR20100012315A/ko
Application granted granted Critical
Publication of KR101182523B1 publication Critical patent/KR101182523B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 UPnP(Universal Plug and Play) AV 홈 네트워크에서 브라우징 속도를 향상하기 위한 방법을 제안한다. 이를 위해 본 발명에서는 컨트롤 포인트는 프리페칭(prefetching)을 이용하여 미리 필요한 브라우즈 데이터를 예측하고, 예측된 브라우즈 데이터를 가져와서 저장해놓는다. 이때, 브라우즈 데이터는 컨트롤 포인트에 구현된 캐시(cache)에 임시로 저장된다. 이에 따라 사용자가 해당 컨테이너를 선택했을 때 컨트롤 포인트에서는 미리 가져온 브라우즈 데이터를 디스플레이함으로써, 사용자는 바로 브라우즈 데이터를 이용할 수 있어 빠른 응답성을 기대할 수 있게 된다.
UPnP, 캐시, 프리페칭

Description

홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR IMPROVING OF BROWSING PERFORMANCE IN HOME NETWORK}
본 발명은 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및 방법에 관한 것으로, 특히 UPnP(Universal Plug and Play) AV 홈 네트워크에서 프리페칭(prefetching)을 이용한 브라우징 속도를 향상하기 위한 시스템 및 방법에 관한 것이다.
홈 네트워크는 현재 가장 주목받고 있는 차세대 IT 기술로써 댁내의 정보 가전기기에 대한 제어, 관리, 통합 및 연동을 바탕으로 인터넷과 결합하여 생활의 편리함을 극대화하기 위한 기술의 집합체이다. 홈 네트워크는 그 기술적인 계층에 따라 물리적인 데이터 전송을 위한 하부 네트워크 기술과 상위 응용과의 연동을 위한 미들웨어 기술 그리고 각각의 가전기기에 적용되는 정보 가전 기술로 나누어진다.
현재 하부 네트워크 계층과 정보 가전기기의 제어 및 관리를 위한 응용 계층 사이의 인터페이스에 해당하는 UPnP(Universal Plug and Play), Jini, OSGi(Open Service Gateway Initiative), HAVi(Home Audio/Video Interoperability)와 같은 다양한 홈 네트워크 미들웨어가 상호 공존하고 있다. 그 중에서도 UPnP는 네트워크 상에 있는 디바이스들을 P2P(Peer to Peer) 방식으로 자동으로 연결하는데, 보편적으로 사용될 아키텍처이다. 이러한 UPnP는 IPv4(Internal Protocol version4), HTTP(HyperText Transfer Protocol), XML(eXtensible Markup Language), SOAP(Simple Object Access Protocol) 등과 같은 표준을 기반으로 하여, 네트워크 상의 디바이스들을 자동으로 연결하는데 사용되는 오픈 아키텍쳐이다.
UPnP AV 홈 네트워크는 미디어 컨텐츠를 제공하는 미디어 서버와, 미디어 컨텐츠를 재생하는 미디어 렌더러(Media Renderer) 및 미디어 서버와 미디어 재생기를 사용자가 통제할 수 있게 하는 컨트롤 포인트로 구성된다. 그 중에서도 미디어 서버는 컨텐츠 디렉토리 서비스(Content Directory Service; CDS)를 통해서 자신이 보유하고 있는 미디어 컨텐츠에 대한 정보를 열람할 수 있게 하고, 그 컨텐츠 디렉토리 서비스는 미디어 서버가 보유하고 있는 오브젝트(Object)들을 컨트롤 포인트를 통해서 트리(Tree) 구조로 표시할 수 있도록 하는데, 오브젝트는 다른 오브젝트에 대한 정보를 가질 수 있는 컨테이너(Container)와 미디어 파일의 정보인 아이템(Item)으로 분류된다.
UPnP AV 홈 네트워크에서는 컨트롤 포인트 또는 사용자가 재생하고자 하는 미디어 컨텐츠를 찾기 위한 브라우즈(Browse) 요청 또는 서치(Search) 요청을 정의한다. 이때, SOAP와 같은 프로토콜이 사용된다. 일반적인 브라우즈 요청 과정을 도 1을 참조하여 설명하면, 100단계에서 사용자의 브라우즈 요청이 있으면 컨트롤 포인트는 110단계에서 실제 브라우즈 요청을 미디어 서버로 전송한다. 그러면 미디어 서버는 이 요청에 대응하는 브라우즈 데이터를 가지는 응답을 컨트롤 포인트로 전 송한다. 이에 따라 120단계에서와 같이 실제 브라우즈 응답을 수신하게 되면, 컨트롤 포인트는 예컨대, 컨텐츠 리스트를 디스플레이하는 등 브라우즈 요청에 따른 결과를 디스플레이한다. 이때, 브라우즈 요청 후 응답을 수신하기까지에는 일정 시간의 대기 시간이 발생하게 된다.
상기한 바와 같이 종래에는 원하는 컨텐츠의 리스트를 브라우징하기 위해, 컨트롤 포인트는 SOAP를 사용하여 브라우즈 요청을 전송하면, 미디어 서버가 그 컨트롤 포인트로 컨텐츠 리스트를 가지는 응답을 전송한다. 이때, SOAP는 HTTP 교환 매커니즘, 복잡한 XML 처리 및 미디어 서버측의 처리 시간으로 인해 오랜 대기 시간을 초래한다. 이러한 이유로, 컨트롤 포인트에서 인터랙션 어플리케이션은 반복적인 브라우즈 요청 및 응답으로 인해 사용자에게 왕복 대기 시간(round-trip latencies) 지연이라는 불편함을 초래하게 된다.
따라서 본 발명은 UPnP(Universal Plug and Play) AV 홈 네트워크에서 프리페칭(prefetching)을 이용한 브라우징 속도를 향상하기 위한 시스템 및 방법을 제공한다.
상술한 바를 달성하기 위한 본 발명은, 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템에 있어서, 컨텐츠 디렉토리 서비스가 검출되면 트리 구조의 초기 브라우즈 데이터를 디스플레이하고, 상기 디스플레이 상태에서 사용자에 의해 다음으로 선택 가능한 브라우즈 데이터를 결정하고, 결정된 브라우즈 데이터를 프리페칭하기 위한 브라우즈 요청을 전송하고, 응답 수신 시 상기 응답에 포함된 브라우즈 데이터를 내부에 구현된 캐시에 저장하는 컨트롤 포인트와, 상기 컨트롤 포인트로부터 브라우즈 요청 수신 시 상기 요청에 대응하는 브라우즈 데이터를 포함 하는 응답을 전송하는 미디어 서버를 포함함을 특징으로 한다.
또한 본 발명은, 컨트롤 포인트와 미디어 서버를 포함하는 홈 네트워크에서 상기 컨트롤 포인트에서의 브라우징 속도를 향상하기 위한 방법에 있어서, 컨텐츠 디렉토리 서비스가 검출되면 트리 구조의 초기 브라우즈 데이터를 디스플레이하는 과정과, 상기 디스플레이 상태에서 사용자에 의해 다음으로 선택 가능한 브라우즈 데이터를 결정하는 과정과, 상기 결정된 브라우즈 데이터를 프리페칭하기 위한 브라우즈 요청을 전송하는 과정과, 응답 수신 시 상기 응답에 포함된 브라우즈 데이터를 내부에 구현된 캐시에 저장하는 과정을 포함함을 특징으로 한다.
본 발명에 따르면, 프리페칭을 이용하여 보다 빠른 브라우징 방법을 제안함으로써, 브라우즈 요청에 따른 응답을 수신할 때까지의 대기 시간을 개선할 수 있게 된다. 또한 본 발명은 프리페칭을 이용하여 미리 브라우즈 데이터를 가져올 수 있어, 사용자에게 보다 빠른 응답성을 제공할 수 있어 사용자의 불편을 해소하는 효과가 있다.
이하 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
본 발명은 UPnP(Universal Plug and Play) AV 홈 네트워크에서 브라우징 속 도를 향상하기 위한 방법을 제안한다. 이를 위해 본 발명에서는 컨트롤 포인트는 프리페칭(prefetching)을 이용하여 미리 필요한 브라우즈 데이터를 예측하고, 예측된 브라우즈 데이터를 가져와서 저장해놓는다. 이때, 브라우즈 데이터는 컨트롤 포인트에 구현된 캐시(cache)에 임시로 저장된다. 이에 따라 사용자가 해당 컨테이너를 선택했을 때 컨트롤 포인트에서는 미리 가져온 브라우즈 데이터를 디스플레이함으로써, 사용자는 바로 브라우즈 데이터를 이용할 수 있어 빠른 응답성을 기대할 수 있게 된다.
상기한 바와 같은 기능이 구현된 UPnP(Universal Plug and Play) AV 홈 네트워크의 구성을 도 2를 참조하여 설명한다.
도 2를 참조하면, UPnP AV 네트워크의 구성은 컨텐츠를 제공하는 미디어 서버(Media Server)(200)와 컨텐츠를 재생하는 미디어 렌더러(Media Renderer)(220), 그리고, 미디어 서버(200)와 미디어 렌더러(220)를 사용자가 통제할 수 있게 하는 컨트롤 포인트(Control Point)(210)로 구성된다. 미디어 서버(200)/미디어 렌더러(220)와 컨트롤 포인트(210)간의 모든 UPnP 액션은 SOAP를 통하여 이루어진다. 또한 미디어 서버(200)로부터 미디어 렌더러(220)로의 미디어 컨텐츠의 스트리밍은 out-of-band 트랜스퍼 프로토콜을 사용하게 된다.
미디어 서버(200)는 컨텐츠의 정보를 저장하고 관리하는 데이터베이스 기능을 하는 컨텐츠 디렉토리(Content Directory), 미디어 서버(200)와 미디어 렌더러(220)의 연결에 관련된 역할을 하는 커넥션 매니저(Connection Manager) 및 정보의 전송과 관련된 역할을 하는 AV 트랜스포트(AV Transport)를 포함한다.
또한, 미디어 렌더러(220)는 재생에 관한 제어를 하는 렌더링 컨트롤(Rendering Control), 미디어 서버와 미디어 재생기의 연결에 관련된 역할을 하는 커넥션 매니저(Connection Manager) 및 정보의 전송과 관련된 역할을 하는 AV 트랜스포트(AV Transport)로 구성된다.
그리고 컨트롤 포인트(210)는 재생 등의 사용자가 원하는 작업을 수행하기 위해 사용자에 의해 지정된 대로 미디어 서버(200)와 미디어 렌더러(220)의 동작을 조정하고 관리한다. 또한, 컨트롤 포인트(210)는 사용자가 디바이스들의 동작을 제어하기 위해 인터랙트할 수 있도록 사용자 인터페이스 어플리케이션을 제공한다. 컨트롤 포인트의 예로는, 무선 PDA 등의 디바이스를 들 수 있다.
이러한 컨트롤 포인트(210)는 브라우즈 요청을 미디어 서버(200)로 전송함으로써, 그 미디어 서버(200)로부터 이용 가능한 컨텐츠를 열거하는 서비스를 제공받는다. 이와 같이 브라우즈 요청은 미디어 서버(200)가 제공할 수 있는 각 컨텐츠에 대한 세부적인 정보를 컨트롤 포인트(210)가 제공받을 수 있게 한다. 이때, 브라우즈 요청은 컨테이너 ID, 시작 인덱스, 리턴의 수 등을 포함한다. 이러한 브라우즈 요청에 대응하여 미디어 서버(200)는 브라우즈 데이터를 가지는 응답을 컨트롤 포인트(210)로 제공한다.
특히 컨트롤 포인트(210)는 브라우즈 요청 및 응답에 따른 대기 시간을 최소화하기 위해 본 발명의 실시예에 따라 프리페칭 및 캐시 매커니즘을 사용한다. 여기서, 프리페칭이란 트리 구조의 오브젝트들이 표시되는 상태에서 사용자의 다음 선택을 예측하고, 예측된 선택에 대응하는 브라우즈 데이터를 획득하기 위해 미리 브라우즈 요청을 전송한 후 그 응답을 저장하는 것을 의미한다. 즉, 사용자의 선택을 위해 캐시를 준비하기 이전에 이루어지는 과정을 의미한다. 여기서 프리페칭을 통해 획득되는 브라우즈 데이터는 다른 오브젝트에 대한 정보를 가질 수 있는 컨테이너와 미디어 파일의 정보인 아이템으로 분류되는 오브젝트를 의미한다.
이때, 사용자는 트리 구조에서 컨테이너를 네비게이션할 수 있으므로, 사용자가 컨테이너를 이동할 때마다 그 이동에 따라 해당 컨테이너가 디스플레이되어야 한다. 이에 따라 컨테이너를 이동할 때마다 매번 브라우즈 요청을 할 필요가 없도록 컨트롤 포인트(210)에서는 사용자가 선택할 수 있는 모든 가능성있는 노드들 즉, 선택 가능한 대상 컨테이너를 프리페칭해야 한다. 이때, 프리페칭되어야 할 다음 노드들은 트리 구조를 가지기 때문에 미리 필요한 노드들의 예측이 가능하다. 예를 들어, 선택 가능한 대상 컨테이너에는 선택된 컨테이너의 부모 컨테이너(parent container), 그 컨테이너의 이전 노드, 그 컨테이너의 다음 노드, 그 컨테이너의 자식 컨테이너들(children containers), 검출된 컨텐츠 디렉토리 서비스의 루트 컨테이너들(root contaniners)이 이에 해당한다.
이는 100% 캐시 히트율을 만들 수 있으나, 컨텐츠 디렉토리 서비스(Content Directory Service: CDS) 내의 모든 데이터들을 브라우즈하는 것은 아니다. 왜냐하면 프리페칭을 통해서는 사용자가 네비게이션할 때마다 필요한 브라우즈 데이터를 예측하여 가져오는 것이 가능하기 때문에, 미리 캐시에 모든 브라우즈 데이터를 넣어놓을 필요는 없다. 이러한 컨트롤 포인트(210)는 사용자의 선택에 해당하는 브라우즈 데이터가 캐시에 존재할 경우에는 그 브라우즈 데이터를 이용함으로써 추가적 인 브라우즈 요청을 최소화하게 된다. 또한 컨트롤 포인트(210)는 캐시에 원하는 브라우즈 데이터가 존재하지 않을 경우에는 프리페칭을 수행하여 사용자가 선택할 가능성이 있는 브라우즈 데이터를 캐시에 미리 추가하는 것이다.
예를 들어, 사용자의 요청 결과를 디스플레이하기 위해 일단 캐시에 존재하는 해당 브라우즈 데이터를 찾아 디스플레이하는 동안, 프리페칭이 수행된다. 이에 따라 현재 디스플레이 상태에서 컨트롤 포인트(210)는 사용자가 다음으로 선택 가능한 브라우즈 데이터가 캐시에 존재하는지를 판단하고, 만일 캐시에 존재하지 않는 경우에는 프리페칭을 통해 미리 필요한 데이터를 가져와서 캐시에 추가한다. 이와 같이 미리 초기에 필요한 최소한의 브라우즈 데이터를 캐시에 저장하고 이어 프리페칭을 통해 획득한 다음 브라우즈 데이터를 캐시에 추가하기 때문에, 컨트롤 포인트(210)는 대기 시간의 지연없이 사용자의 브라우즈 요청에 즉각적으로 대응하여 캐시로부터 원하는 브라우즈 데이터를 찾아 제공할 수 있게 된다.
이러한 컨트롤 포인트(210)에서는 미디어 서버(210)의 컨텐츠 디렉토리 서비스를 통해 컨텐츠에 대한 세부적인 정보를 제공받을 수 있는데, 이러한 컨텐츠 디렉토리 서비스는 미디어 서버(210)가 가지고 있는 오브젝트들을 트리 구조로 표시할 수 있게 한다. 이에 따라 초기에 컨트롤 포인트(210)는 프리페칭을 위해 미디어 서버(200)의 컨텐츠 디렉토리 서비스를 검출하게 되면, 그 컨텐츠 디렉토리 서비스의 루트 컨테이너(root container)를 우선적으로 프리페칭해야한다. 그리고나서 사용자가 어느 하나의 컨테이너를 선택하면, 사용자가 선택할 수 있는 다음 노드들이 프리페칭되어야 한다.
이러한 컨트롤 포인트(210)에서의 동작을 구체적으로 살펴보기 위해 도 3을 참조한다. 도 3은 본 발명의 실시예에 따른 컨트롤 포인트의 구성을 보인 도면이다.
도 3을 참조하면, 컨트롤 포인트(210)는 사용자 인터페이스(300), SOAP 페이로드 엔코딩부(315), HTTP 엔코딩부(320), 전송부(325), 네트워크 인터페이스(330), 수신부(335), HTTP 파싱부(340) 및 SOAP 디코딩부(345)를 포함한다. 특히 컨트롤 포인트(210)는 본 발명의 실시예에 따라 브라우징 속도를 향상시키기 위한 구성부로서 캐시(305) 및 프리페칭부(310)를 더 포함한다.
먼저, 사용자 인터페이스(300)는 사용자의 브라우즈 요청을 입력받는 수단이며, 그 요청에 대응하는 응답을 디스플레이하는 역할을 한다. 캐시(305)에는 초기에 브라우즈 요청을 하지 않고도 컨트롤 포인트(210)에서 사용자가 원하는 오브젝트를 이용할 수 있도록 최소한의 오브젝트를 미리 저장하고 있는 것이 바람직하다. 그러나 캐시(305)에 컨텐츠 디렉토리 서비스 내의 모든 오브젝트를 가져와서 저장하기 위해서는 반복적인 학습을 통한 데이터 축적 과정이 요구되므로, 본 발명의 실시예에서는 이러한 점을 감안하여 프리페칭 방식을 이용하는 것이다. 이에 따라 캐시(305)에는 사용자가 다음 선택을 하기 이전에 필요한 프리페칭에 따른 결과가 저장된다. 구체적으로 사용자가 트리 구조로 된 컨텐츠 디렉토리 서비스의 어느 하나의 컨테이너를 선택할 때마다 그 선택에 대응하는 오브젝트들이 프리페칭을 통해 획득되어 캐시(305)에 저장되는 것이다.
프리페칭부(310)는 사용자의 선택에 대응하여 필요한 오브젝트의 브라우즈 데이터를 예측하고, 이에 따라 미리 미디어 서버(200)로부터 해당 브라우즈 데이터를 가져오기 위한 예측 정보를 생성한다. 이와 같이 프리페칭부(310)는 사용자가 어느 하나의 컨테이너를 선택한 경우 다음으로 사용자가 선택 가능한 노드들에 대한 정보를 예측하는 역할을 한다. 이러한 예측 정보는 전술한 바와 같이 선택된 컨테이너의 부모 컨테이너(parent container), 그 컨테이너의 이전 노드, 그 컨테이너의 다음 노드, 그 컨테이너의 자식 컨테이너들(children containers), 검출된 컨텐츠 디렉토리 서비스의 루트 컨테이너들(root contaniners)을 의미한다.
이에 따라 SOAP 페이로드 엔코딩부(315)는 SOAP 프로토콜을 이용하여 프리페칭부(310)로부터 제공된 예측 정보를 포함하는 브라우즈 요청을 생성하고, HTTP 엔코딩부(320)는 이를 XML 형태로 엔코딩하여 전송부(325)로 전달한다. 그러면 전송부(325)는 이러한 브라우즈 요청을 네트워크 인터페이스(330)를 통해 미디어 서버(200)로 전송한다. 그러면 미디어 서버(200)로부터 응답을 네트워크 인터페이스(330) 및 수신부(335)를 통해 수신하게 되면, HTTP 파싱부(340)에서 파싱하고 SOAP 디코딩부(345)에서 SOAP 프로토콜을 사용하여 디코딩하게 된다. 이렇게 디코딩된 응답은 캐시(305)에 저장된다.
이하, 컨트롤 포인트에서 캐시 및 프리페칭을 이용한 브라우즈 속도를 향상하기 위한 과정을 도 4를 참조하여 설명한다. 도 4는 본 발명의 실시예에 따라 컨트롤 포인트에서의 캐시 및 프리페칭에 따른 동작 흐름도이다.
도 4를 참조하면, 컨트롤 포인트는 400단계에서 사용자로부터 브라우즈 요청이 입력됨에 따라 미디어 서버의 컨텐츠 디렉토리 서비스가 검출되는지를 판단한 다. 판단 결과 컨텐츠 디렉토리 서비스가 검출되면, 컨트롤 포인트는 사용자로 하여금 그 컨텐츠 디렉토리 서비스 내의 컨테이너를 네비게이션할 수 있도록 루트 컨테이너를 우선적으로 디스플레이해야 한다. 이에 따라 컨트롤 포인트는 405단계에서 루트 컨테이너 획득을 수행한다. 이때, 컨트롤 포인트는 루트 컨테이너를 획득하기 위한 브라우즈 요청을 미디어 서버로 보내는 대신 우선 캐시에 접근한다. 만일 루트 컨테이너가 캐시에 존재하는 경우에는 바로 캐시로부터 루트 컨테이너를 획득하여 이를 이용하지만, 존재하지 않는 경우에는 브라우즈 요청을 통해 루트 컨테이너를 획득한다.
이어, 컨트롤 포인트는 410단계에서 브라우즈 결과를 디스플레이하는데, 이에 따라 트리 구조의 루트 컨테이너가 디스플레이된다. 결과가 디스플레이되는 동안, 컨트롤 포인트는 415단계에서 트리 구조의 컨테이너들 중 어느 하나의 컨테이너가 선택되는지를 판단한다. 판단 결과 어느 하나의 컨테이너가 선택되면 420단계에서 사용자에 의해 선택 가능한 대상 컨테이너를 결정하게 된다.
여기서, 다음으로 선택 가능한 대상 컨테이너로는 사용자에 의해 선택된 어느 하나의 컨테이너의 부모 컨테이너(parent container), 그 컨테이너의 이전 노드, 그 컨테이너의 다음 노드, 그 컨테이너의 자식 컨테이너들(children containers), 검출된 컨텐츠 디렉토리 서비스의 루트 컨테이너들(root contaniners) 등이 이에 해당한다.
그러면 컨트롤 포인트는 425단계에서 결정된 대상 컨테이너가 캐시에 존재하는지를 검색하고, 검색 결과 대상 컨테이너가 캐시에 존재할 경우에는 430단계에서 캐시에 있는 대상 컨테이너를 이용하여 결과를 디스플레이한다. 여기서, 캐시는 같은 컨테이너 상에서 많은 요청들과 구별되도록 미디어 서버의 UUID(Universally Unique Identifier), 그 컨테이너의 오브젝트 ID 및 그 컨테이너 내의 오브젝트들의 인덱스를 가지고 검색이 이루어진다. 만일 원하는 컨테이너에 매칭되는 엔트리가 검색된다면 캐시에 있는 오브젝트들은 실제 브라우즈 요청의 응답 대신에 바로 응답으로서 사용된다.
이와 달리 대상 컨테이너가 캐시에 없는 경우 컨트롤 포인트는 프리페칭을 수행한다. 이에 따라 컨트롤 포인트는 435단계에서 대상 컨테이너 획득을 위해 브라우즈 요청을 미디어 서버로 전송한다. 이어, 컨트롤 포인트는 440단계에서 브라우즈 응답을 수신할 경우 445단계에서 캐시에 프리페칭한 대상 컨테이너를 저장해놓는다. 브라우즈 요청에 대한 응답은 캐시에 저장되는데, UUID, 오브젝트 ID 및 컨테이너의 시작 인덱스에 의해 인덱스되어진다.
한편, 컨테이너에 한번의 브라우즈 요청으로 획득할 수 있는 오브젝트들의 수보다 더 많은 오브젝트들이 있는 경우, 이후 브라우즈 요청을 통해서는 남아있는 오브젝트들 중 다음 선택 가능한 오브젝트들이 프리페칭되어야 함이 바람직하다. 이와 같이 컨트롤 포인트는 사용자가 이동할 컨테이너를 예측하여 대상 컨테이너를 미리 미디어 서버로부터 가져와서 캐시에 추가한 후 사용자가 컨테이너를 이동할 때마다 캐시에 있는 컨테이너를 바로 이용한다. 이렇게 함으로써 사용자는 컨테이너를 이동할 때마다 기다릴 필요없이 바로 컨테이너 이동 결과를 볼 수 있게 된다.
도 1은 일반적인 브라우즈 요청 과정을 도시한 도면,
도 2는 본 발명의 실시예에 따른 UPnP AV 홈 네트워크의 구성도,
도 3은 본 발명의 실시예에 따른 컨트롤 포인트의 구성을 보인 도면,
도 4는 본 발명의 실시예에 따라 컨트롤 포인트에서의 캐시 및 프리페칭에 따른 동작 흐름도.

Claims (18)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 홈 네트워크에서 브라우징 속도를 향상하기 위한 장치에 있어서,
    사용자의 브라우즈 요청을 입력받고, 그 요청에 대응하는 데이터를 디스플레이하는 사용자 인터페이스와,
    초기에 브라우즈 요청을 하지 않고 사용자가 원하는 오브젝트를 이용할 수 있도록 초기 브라우즈 데이터를 미리 저장하고, 사용자가 다음 선택을 하기 이전에 필요한 프리페칭(Prefetching)에 따른 결과를 저장하는 캐시와,
    사용자의 선택에 대응하여 필요한 오브젝트의 브라우즈 데이터를 예측하고, 오브젝트의 브라우즈 데이터를 저장하는 미디어 서버로부터 해당 브라우즈 데이터를 가져오기 위한 예측 정보를 생성하는 프리페칭부와,
    단일 객체 접속 규약(Simple Object Access Protocol; 이하, 'SOAP'라 함)를 이용하여 상기 프리페칭부로부터 제공된 상기 예측 정보를 포함하는 브라우즈 요청을 생성하는 SOAP 페이로드 엔코딩부와,
    상기 SOAP 페이로드 엔코딩부에 의해 생성된 브라우즈 요청을 확장성 생성 언어(Extensible Markup Language; 이하 'XML'이라 함) 형태로 엔코딩하는 하이퍼텍스트 전송 규약(Hypertext Transfer Protocol; 이하 'HTTP'라 함) 엔코딩부와,
    상기 XML 형태로 엔코딩된 상기 브라우즈 요청을 상기 미디어 서버로 전송하는 전송부와,
    상기 미디어 서버로부터 전송되며 상기 예측 정보에 대응하는 오브젝트 식별자와 브라우즈 데이터를 포함하는 응답 메시지를 수신하는 수신부와,
    상기 수신된 응답 메시지를 파싱하는 HTTP 파싱부와,
    SOAP를 사용하여 상기 응답 메시지에 포함된 상기 예측 정보에 대응하는 오브젝트 식별자와 브라우즈 데이터를 디코딩하는 SOAP 디코딩부를 포함하며,
    상기 프리페칭부는, 상기 SOAP 디코딩부에 의해 디코딩된 상기 예측정보에 대응하는 오브젝트 식별자와 브라우즈 데이터를 상기 캐시에 저장하고,
    상기 사용자 인터페이스는 상기 사용자의 브라우즈 요청에 대응하는 데이터를 상기 캐시로부터 검출하고,
    상기 브라우즈 데이터는, 다른 오브젝트에 대한 정보를 가질 수 있는 컨테이너와 미디어 파일의 정보인 아이템으로 분류되는 오브젝트이고,
    상기 프리페칭부는, 상기 사용자에 의해 어느 하나의 컨테이너가 선택되면 컨테이너 사이의 연결 구조를 고려하여, 상기 사용자가 다음으로 선택 가능한 컨테이너에 대응하는 예측 정보를 생성하는 것을 특징으로 하는 홈 네트워크에서 브라우징 속도를 향상하기 위한 장치.
  14. 삭제
  15. 제13항에 있어서, 상기 초기 브라우즈 데이터는,
    루트 컨테이너인 것을 특징으로 하는 홈 네트워크에서 브라우징 속도를 향상하기 위한 장치.
  16. 제13항에 있어서, 상기 프리페칭부는,
    상기 사용자에 의해 어느 하나의 컨테이너가 선택되면 상기 사용자가 다음으로 선택 가능한 대상 컨테이너를 결정하고, 상기 대상 컨테이너가 상기 캐시에 존재하는지를 판단하고, 상기 대상 컨테이너가 상기 캐시에 존재할 경우 상기 캐시에 있는 대상 컨테이너를 이용함을 특징으로 하는 홈 네트워크에서 브라우징 속도를 향상하기 위한 장치.
  17. 제16항에 있어서, 상기 결정된 대상 컨테이너는,
    상기 선택된 컨테이너의 부모 컨테이너(parent container), 상기 선택된 컨테이너의 이전 노드, 상기 선택된 컨테이너의 다음 노드, 상기 선택된 컨테이너의 자식 컨테이너들(children containers), 상기 미디어 서버의 초기 검출된 컨텐츠 디렉토리 서비스의 루트 컨테이너들(root contaniners) 중 어느 하나인 것을 특징으로 하는 홈 네트워크에서 브라우징 속도를 향상하기 위한 장치.
  18. 제16항에 있어서, 상기 프리페칭부는,
    상기 대상 컨테이너가 상기 캐시에 존재하지 않은 경우 상기 대상 컨테이너를 프리페칭하기 위한 예측 정보를 생성하는 것을 특징으로 하는 홈 네트워크에서 브라우징 속도를 향상하기 위한 장치.
KR1020080073635A 2008-07-28 2008-07-28 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법 KR101182523B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080073635A KR101182523B1 (ko) 2008-07-28 2008-07-28 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법
US12/510,719 US20100023691A1 (en) 2008-07-28 2009-07-28 System and method for improving a browsing rate in a home network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080073635A KR101182523B1 (ko) 2008-07-28 2008-07-28 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법

Publications (2)

Publication Number Publication Date
KR20100012315A KR20100012315A (ko) 2010-02-08
KR101182523B1 true KR101182523B1 (ko) 2012-09-12

Family

ID=41569652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080073635A KR101182523B1 (ko) 2008-07-28 2008-07-28 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법

Country Status (2)

Country Link
US (1) US20100023691A1 (ko)
KR (1) KR101182523B1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990499B2 (en) * 2010-03-26 2015-03-24 Amazon Technologies, Inc. Caching of a site model in a hierarchical modeling system for network sites
US20130067346A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Content User Experience
WO2013172626A1 (ko) * 2012-05-14 2013-11-21 엘지전자 주식회사 미디어 제어 장치, 미디어 렌더러 장치, 미디어 서버 장치 및 이들의 동작 방법
TWI465948B (zh) * 2012-05-25 2014-12-21 Gemtek Technology Co Ltd 前置瀏覽及瀏覽資料客製化的方法及其數位媒體裝置
US9092455B2 (en) 2012-07-17 2015-07-28 Microsoft Technology Licensing, Llc Image curation
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US9836464B2 (en) 2014-07-31 2017-12-05 Microsoft Technology Licensing, Llc Curating media from social connections
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US9787576B2 (en) 2014-07-31 2017-10-10 Microsoft Technology Licensing, Llc Propagating routing awareness for autonomous networks
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US9414417B2 (en) 2014-08-07 2016-08-09 Microsoft Technology Licensing, Llc Propagating communication awareness over a cellular network
JP7318899B2 (ja) * 2020-01-02 2023-08-01 レベル スリー コミュニケーションズ,エルエルシー 二次ストレージにコンテンツアイテムを格納するためのシステムおよび方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007510195A (ja) 2003-09-30 2007-04-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンテンツ・ディレクトリ・サービスを用いたシステムにおける問い合わせのキャッシング

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574423B2 (en) * 2003-03-20 2009-08-11 International Business Machines Corporation Partial data model exposure through client side caching
US20060143568A1 (en) * 2004-11-10 2006-06-29 Scott Milener Method and apparatus for enhanced browsing
US8065335B2 (en) * 2005-12-09 2011-11-22 Lg Electronics Inc. Method for managing and processing information of an object for presentation of multiple sources and apparatus for conducting said method
JP4940898B2 (ja) * 2006-11-02 2012-05-30 富士通株式会社 デジタルコンテンツ検索プログラム、デジタルコンテンツ検索装置およびデジタルコンテンツ検索方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007510195A (ja) 2003-09-30 2007-04-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンテンツ・ディレクトリ・サービスを用いたシステムにおける問い合わせのキャッシング

Also Published As

Publication number Publication date
US20100023691A1 (en) 2010-01-28
KR20100012315A (ko) 2010-02-08

Similar Documents

Publication Publication Date Title
KR101182523B1 (ko) 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법
US8060637B2 (en) Playback apparatus and playback control method
US7548960B2 (en) Multimedia service apparatus and method for multimedia service providers outside home to UPnP devices inside home using home gateway and service gateway platform
US8219692B2 (en) Method and apparatus for storing and restoring state information of remote user interface
US8521814B2 (en) Apparatus and method for managing user interface
US20100223353A1 (en) Method and apparatus for managing bookmark information for content stored in a networked media server
US20080250061A1 (en) Method and Apparatus For Supporting Mobility of Content Bookmark
US11700193B2 (en) Methods, systems, and media for detecting the presence of a digital media device on a network
JP2008520029A (ja) コンテンツを追跡する方法、装置及びソフトウェア
US20110196915A1 (en) Method and apparatus for using service of home network device based on remote access
KR100801004B1 (ko) 임베디드 aⅴ 컨텐츠의 프로토콜 매칭 장치 및 방법
KR20060090688A (ko) 콘텐츠 디렉토리 서비스를 이용하는 시스템에서 질문 캐싱
JP5454341B2 (ja) 情報処理装置、情報処理方法、プログラム、情報提供装置および情報処理システム
KR101147215B1 (ko) Dlna 홈 네트워크 및 dlna 홈 네트워크에서의 썸네일 관리 방법
KR101862700B1 (ko) 휴대용 단말기의 메타데이터 데이터베이스 복사를 이용한 멀티미디어 공유장치 및 방법
KR101076037B1 (ko) Dlna 홈 네트워크의 플레이리스트 구성 장치 및 방법
KR20070100464A (ko) Dlna 네트워크 기반의 컨텐츠 검색 장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee