KR20120122846A - 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법 - Google Patents

푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법 Download PDF

Info

Publication number
KR20120122846A
KR20120122846A KR1020110062475A KR20110062475A KR20120122846A KR 20120122846 A KR20120122846 A KR 20120122846A KR 1020110062475 A KR1020110062475 A KR 1020110062475A KR 20110062475 A KR20110062475 A KR 20110062475A KR 20120122846 A KR20120122846 A KR 20120122846A
Authority
KR
South Korea
Prior art keywords
content
upnp
push server
client devices
control point
Prior art date
Application number
KR1020110062475A
Other languages
English (en)
Other versions
KR101329668B1 (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 KR1020110062475A priority Critical patent/KR101329668B1/ko
Publication of KR20120122846A publication Critical patent/KR20120122846A/ko
Application granted granted Critical
Publication of KR101329668B1 publication Critical patent/KR101329668B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/4061Push-to services, e.g. push-to-talk or push-to-video
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • H04W88/10Access point devices adapted for operation in multiple networks, e.g. multi-mode access points

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (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)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법에 관한 것이다. 본 발명에 따른 콘텐츠 공유 시스템은, 푸쉬 서버(push server), 복수의 클라이언트(client) 장치, 및 무선 AP(access point) 장치를 포함하는 DLNA(Digital Living Network Alliance) 홈 네트워크 기반의 콘텐츠 공유 시스템이다. 푸쉬 서버는 컨트롤 포인트를 실행하여 사용자에게 UI(user interface) 화면을 제공한다. 푸쉬 서버는 UPnP(Universal Plug and Play) 서버 프로그램을 더 실행하며, 푸쉬 서버 또는 외부장치에 저장된 콘텐츠 중 사용자에 의해 선택된 콘텐츠를 복수의 클라이언트 장치 중 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송한다. 복수의 클라이언트 장치 각각은, UPnP 클라이언트 프로그램을 실행하고, 푸쉬 서버로부터 콘텐츠를 수신한 클라이언트 장치들이 해당 콘텐츠를 각각 동시에 재생한다. 컨트롤 포인트에 의해 호출되는 UPnP 액션(action)에 의해, UPnP 서버 프로그램과 UPnP 클라이언트 프로그램의 동작이 각각 제어됨으로써, 푸쉬 서버의 콘텐츠 전송 동작이 실행되고, 클라이언트 장치들의 콘텐츠 재생 동작이 실행된다. 본 발명에 따른 콘텐츠 공유 시스템 및 방법은 푸쉬 서버를 이용하여 네트워크에 연결된 인증된 복수의 클라이언트에 콘텐츠를 동시에 전송하므로, 클라이언트가 요청한 콘텐츠를 각각 복수의 클라이언트에서 동시에 재생할 수 있다.

Description

푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법{Contents sharing system and method using push server}
본 발명은 콘텐츠 공유 시스템 및 방법에 관한 것으로서, 더욱 상세하게는, 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법에 관한 것이다.
최근 무선 통신 기술이 발달함에 따라, 가정 내에서 사용되는 다양한 기기들을 하나의 네트워크(network)에 연결하여 각 기기의 동작을 통제하는 홈(home) 네트워크 기술이 개발되고 있다. 이러한 홈 네트워크 기술의 일례로서, 마이크로소프트사가 개발한 UPnP(Universal Plug and Play) 기술에 기반한 DLNA(Digital Living Network Alliance) 홈 네트워크 시스템이 있다. DLNA 홈 네트워크 시스템의 경우, 홈 네트워크에 속해 있는 특정 장치가 그 장치의 위치에 상관없이 홈 네트워크에 속해 있는 또 다른 장치(예를 들어, PC(personal computer), 휴대용 단말기 등)에 저장된 디지털 미디어 콘텐츠(예를 들어, 이미지, 음악, 동영상 등)를 공유할 수 있다.
DLNA 홈 네트워크 시스템에 기반한 종래의 콘텐츠 공유 기술은 콘텐츠를 공유하고자 하는 특정 장치가 콘텐츠를 저장하고 있는 장치로부터 콘텐츠 목록을 읽어온 후, 콘텐츠 목록에 포함된 파일들 중에서 사용자에 의해 선택된 하나의 파일을 재생하도록 이루어진 것(즉, 풀(pull) 기술)이 일반적이다. 하지만 이러한 종래의 콘텐츠 공유 기술에서는, 콘텐츠를 저장하고 있는 장치가 특정 콘텐츠를 홈 네트워크에 속해 있는 다수의 장치에 동시에 전송하는 것이 불가능하다. 즉, 종래의 콘텐츠 공유 기술에서는, 콘텐츠를 저장하고 있는 장치가 특정 콘텐츠를 홈 네트워크에 속해 있는 다수의 장치 중 하나의 장치에만 전송할 수 있다. 이로 인하여 다수의 장치를 각각 사용하는 다수의 사용자가 불편함을 느낄 수 있다. 따라서 DLNA 홈 네트워크 시스템에 기반한 종래의 콘텐츠 공유 기술도, 콘텐츠를 저장하고 있는 장치가 특정 콘텐츠를 홈 네트워크에 속해 있는 다수의 장치에 동시에 전송할 수 있도록 개선될 필요가 있다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 홈 네트워크에 속해 있는 푸쉬 서버가 자신에 저장된 적어도 하나의 콘텐츠를 홈 네트워크에 속해 있는 복수의 클라이언트 장치에 동시에 전송하도록 제어하여, 복수의 클라이언트 장치가 해당 콘텐츠를 동시에 재생하도록 함으로써, 사용자들에게 편의를 제공할 수 있는 푸쉬 서버를 이용한 콘텐츠 공유 시스템을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 홈 네트워크에 속해 있는 푸쉬 서버가 자신에 저장된 적어도 하나의 콘텐츠를 홈 네트워크에 속해 있는 복수의 클라이언트 장치에 동시에 전송하도록 제어하여, 복수의 클라이언트 장치가 해당 콘텐츠를 동시에 재생하도록 함으로써, 사용자들에게 편의를 제공할 수 있는 푸쉬 서버를 이용한 콘텐츠 공유 방법을 제공하는 데 있다.
본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들이 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 푸쉬 서버를 이용한 콘텐츠 공유 시스템은, 푸쉬 서버(push server), 복수의 클라이언트(client) 장치, 및 푸쉬 서버와 복수의 클라이언트 장치 간의 무선통신을 제공하는 무선 AP(access point) 장치를 포함하는 DLNA(Digital Living Network Alliance) 홈 네트워크 기반의 콘텐츠 공유 시스템이다.
푸쉬 서버는 제어 프로그램인 컨트롤 포인트를 실행하여 사용자에게 UI(user interface) 화면을 제공한다. 푸쉬 서버는 UPnP(Universal Plug and Play) 서버 프로그램을 더 실행하며, 푸쉬 서버, 또는 푸쉬 서버에 연결된 외부장치에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를 복수의 클라이언트 장치 중 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송한다.
복수의 클라이언트 장치 각각은, UPnP 클라이언트 프로그램을 실행하고, 푸쉬 서버로부터 콘텐츠를 수신한 클라이언트 장치들이 해당 콘텐츠를 각각 동시에 재생한다.
컨트롤 포인트에 의해 호출되는 UPnP 액션(action)에 의해, UPnP 서버 프로그램과 UPnP 클라이언트 프로그램의 동작이 각각 제어됨으로써, 푸쉬 서버의 콘텐츠 전송 동작이 실행되고, 클라이언트 장치들의 콘텐츠 재생 동작이 실행된다.
UI 화면은, 푸쉬 서버, 또는 푸쉬 서버에 연결된 외부장치에 저장된 콘텐츠의 파일명이 표시되는 공유파일 목록창과, 푸쉬 서버의 이름 및 IP(internet protocol) 주소와, 복수의 클라이언트 장치 각각의 이름 및 IP 주소가 표시되는 디바이스 목록창을 포함한다.
상기한 기술적 과제를 달성하기 위한 본 발명의 다른 일면에 따른 푸쉬 서버를 이용한 콘텐츠 공유 시스템은, 제어 장치, 푸쉬 서버(push server), 복수의 클라이언트(client) 장치, 및 제어 장치, 푸쉬 서버, 및 복수의 클라이언트 장치 간의 무선통신을 제공하는 무선 AP(access point) 장치를 포함하는 DLNA(Digital Living Network Alliance) 홈 네트워크 기반의 콘텐츠 공유 시스템이다.
제어 장치는 제어 프로그램인 컨트롤 포인트를 실행하여 사용자에게 UI(user interface) 화면을 제공한다. 제어 장치는 사용자의 입력 정보에 기초하여 푸쉬 서버, 또는 푸쉬 서버에 연결된 외부장치에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를, 푸쉬 서버가 복수의 클라이언트 장치 중 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송하도록 제어한다.
푸쉬 서버는 UPnP(Universal Plug and Play) 서버 프로그램을 실행하고, 제어 장치의 제어에 따라, 사용자에 의해 선택된 콘텐츠를 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송한다.
복수의 클라이언트 장치 각각은, UPnP 클라이언트 프로그램을 실행하고, 푸쉬 서버로부터 콘텐츠를 수신한 클라이언트 장치들이 해당 콘텐츠를 각각 동시에 재생한다.
컨트롤 포인트에 의해 호출되는 UPnP 액션(action)에 의해, UPnP 서버 프로그램과 UPnP 클라이언트 프로그램의 동작이 각각 제어됨으로써, 푸쉬 서버의 콘텐츠 전송 동작이 실행되고, 클라이언트 장치들의 콘텐츠 재생 동작이 실행된다.
UI 화면은, 푸쉬 서버, 또는 푸쉬 서버에 연결된 외부장치에 저장된 콘텐츠의 파일명이 표시되는 공유파일 목록창과, 푸쉬 서버의 이름 및 IP(internet protocol) 주소와, 복수의 클라이언트 장치 각각의 이름 및 IP 주소가 표시되는 디바이스 목록창을 포함한다.
상기한 기술적 과제를 달성하기 위한 본 발명의 또 다른 일면에 따른 푸쉬 서버를 이용한 콘텐츠 공유 시스템은, 푸쉬 서버(push server), 복수의 클라이언트(client) 장치, 및 푸쉬 서버와 복수의 클라이언트 장치 간의 무선통신을 제공하는 무선 AP(access point) 장치를 포함하는 DLNA(Digital Living Network Alliance) 홈 네트워크 기반의 콘텐츠 공유 시스템이다.
복수의 클라이언트 장치 중 어느 하나는, 제어 프로그램인 컨트롤 포인트를 실행하여 사용자에게 UI(user interface) 화면을 제공한다. 복수의 클라이언트 장치 각각은, UPnP 클라이언트 프로그램을 실행하고, 푸쉬 서버로부터 콘텐츠를 수신한 클라이언트 장치들이 해당 콘텐츠를 각각 동시에 재생한다.
푸쉬 서버는 UPnP(Universal Plug and Play) 서버 프로그램을 실행하고, 푸쉬 서버, 또는 푸쉬 서버에 연결된 외부장치에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를 복수의 클라이언트 장치 중 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송한다.
컨트롤 포인트에 의해 호출되는 UPnP 액션(action)에 의해, UPnP 서버 프로그램과 UPnP 클라이언트 프로그램의 동작이 각각 제어됨으로써, 푸쉬 서버의 콘텐츠 전송 동작이 실행되고, 클라이언트 장치들의 콘텐츠 재생 동작이 실행된다.
UI 화면은, 푸쉬 서버, 또는 푸쉬 서버에 연결된 외부장치에 저장된 콘텐츠의 파일명이 표시되는 공유파일 목록창과, 푸쉬 서버의 이름 및 IP(internet protocol) 주소와, 복수의 클라이언트 장치 각각의 이름 및 IP 주소가 표시되는 디바이스 목록창을 포함한다.
상기한 다른 기술적 과제를 달성하기 위한 본 발명에 따른 푸쉬 서버를 이용한 콘텐츠 공유 방법은, 푸쉬 서버(push server), 복수의 클라이언트(client) 장치, 및 푸쉬 서버와 복수의 클라이언트 장치 간의 무선통신을 제공하는 무선 AP(access point) 장치를 포함하는 DLNA(Digital Living Network Alliance) 홈 네트워크 기반의 콘텐츠 공유 시스템에 의해 실행되는 콘텐츠 공유 방법으로서, 푸쉬 서버에서 실행되는 제어 프로그램인 컨트롤 포인트에 의해, 사용자에게 UI(user interface) 화면을 제공하는 단계; 컨트롤 포인트에 의해, 푸쉬 서버에서 실행되는 UPnP 서버 프로그램과, 사용자에 의해 선택된 클라이언트 장치들에서 각각 실행되는 UPnP 클라이언트 프로그램들로부터, 콘텐츠 전송 제어에 필요한 정보를 획득하는 단계; 콘텐츠 전송 제어에 필요한 정보에 기초하여, 컨트롤 포인트에 의해, 푸쉬 서버, 또는 푸쉬 서버에 연결된 외부장치에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를, 푸쉬 서버가 선택된 클라이언트 장치들에 각각 동시에 전송하도록 제어하는 단계; 선택된 클라이언트 장치들에 의해, 선택된 콘텐츠를 각각 동시에 재생하는 단계; 및 컨트롤 포인트에 의해, 전송 완료 시점을 확인하고 전송을 완료하는 단계를 포함한다.
UI 화면은, 푸쉬 서버, 또는 푸쉬 서버에 연결된 외부장치에 저장된 콘텐츠의 파일명이 표시되는 공유파일 목록창과, 푸쉬 서버의 이름 및 IP(internet protocol) 주소와, 복수의 클라이언트 장치 각각의 이름 및 IP 주소가 표시되는 디바이스 목록창을 포함한다.
상술한 것과 같이, 본 발명에 따른 콘텐츠 공유 시스템 및 방법은 푸쉬 서버를 이용하여 홈 네트워크에 연결된 인증된 복수의 클라이언트에 콘텐츠를 동시에 전송하므로, 해당 콘텐츠를 각각 복수의 클라이언트가 동시에 재생할 수 있다.
도 1은 본 발명의 일실시예에 따른 콘텐츠 공유 시스템의 개략적인 블록 구성도이다.
도 2는 도 1에 도시된 컨트롤 포인트, UPnP 서버 프로그램, 및 UPnP 클라이언트 프로그램 간의 동작 관계를 설명하기 위한 개념도이다.
도 3a는 도 1에 도시된 UPnP 서버 프로그램의 상세한 계층 구조를 나타내는 도면이다.
도 3b는 도 1에 도시된 UPnP 클라이언트 프로그램의 상세한 계층 구조를 나타내는 도면이다.
도 4는 도 1에 도시된 콘텐츠 공유 시스템의 콘텐츠 공유 동작 과정을 나타내는 도면이다.
도 5는 도 1에 도시된 푸쉬 서버가 콘텐츠를 복수의 클라이언트 장치에 각각 동시에 전송하는 과정을 설명하기 위한 개념도이다.
도 6 내지 도 14는 도 1에 도시된 푸쉬 서버에 표시되는 화면들을 나타내는 도면이다.
도 15는 본 발명의 다른 실시예에 따른 콘텐츠 공유 시스템의 개략적인 블록 구성도이다.
도 16은 본 발명의 또 다른 실시예에 따른 콘텐츠 공유 시스템의 개략적인 블록 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 명세서 전체에 걸쳐 동일한 참조부호는 동일한 구성요소를 지칭한다.
도 1은 본 발명의 일실시예에 따른 콘텐츠 공유 시스템의 개략적인 블록 구성도이다. 도면의 간략화를 위해, 도 2에는 본 발명과 관련된 부분들만이 도시되고, 각 구성 요소들 간의 송수신 신호의 도시가 생략된다. 콘텐츠 공유 시스템(100)의 각 장치들은 유무선, WiFi, 블루투스 통신으로 상호 연결되어 DLNA(Digital Living Network Alliance) 기반의 홈 네트워크 환경을 이룬다.
콘텐츠 공유 시스템(100)은 푸쉬 서버(push server)(즉, 디지털 미디어 서버(Digital Media Server; DMS))(110), 복수의 클라이언트(client) 장치(즉, 디지털 미디어 랜더러(Digital Media Renderer; DMR) 또는 디지털 미디어 플레이어(Digital Media Player; DMP))(CL1?CLK)(K는 자연수), 및 무선 AP(access point) 장치(120)를 포함한다.
푸쉬 서버(110)는 콘텐츠를 생성 및 제공하는 서버로서, 개인용 서버, 개인용 PC(Personal Computer), 네트워크 스토리지(storage), 비디오 카메라, 네트워크지원 카메라, 모바일 장치 등 유무선 전송 프로토콜을 지원하는 장비를 포함할 수 있다.
푸쉬 서버(110)는 제어 프로그램인 컨트롤 포인트(118)를 실행하여 사용자에게 UI(user interface) 화면(예를 들어, 도 6 참고)을 제공한다. 따라서, 사용자는 원하는 콘텐츠를 선택하거나 해당 콘텐츠를 재생할 타깃 클라이언트 장치를 선택할 때 컨트롤 포인트(118)가 제공하는 UI를 사용한다.
푸쉬 서버(110)는 복수의 클라이언트 장치(CL1?CLK)에서 재생될 다양한 오락 콘텐츠들이 저장된 메모리(112)를 포함한다. 푸쉬 서버(110)는 제1 인터페이스부(113)를 통하여 연결된 외부 장치(130)에 저장된 다양한 오락 콘텐츠를 액세스할 수도 있다.
푸쉬 서버(110)는 접근 가능한 메모리(112) 또는 외부 장치(130)에 저장된 콘텐츠들은 비디오(동영상), 오디오, 스틸 이미지 등을 포함할 수 있다. 이 콘텐츠들은 푸쉬 서버(110)에 의해 전송 프로토콜을 사용하여 홈 네트워크상에서 클라이언트 장치(CL1?CLK 중 적어도 하나)에 전송되며, 그 데이터 형식은 푸쉬 서버(110)나 복수의 클라이언트 장치(CL1?CLK)가 이해할 수 있는 형식이다. 푸쉬 서버(110)는 각 콘텐츠 아이템에 대해 다수개의 전송 프로로콜과 데이터 형식을 지원할 수 있다. 선택적으로, 푸쉬 서버(110)는 전송될 콘텐츠를 특정 전송 프로토콜 및 데이터 형식에 맞게 변환할 수 있다.
푸쉬 서버(110)는 푸쉬 서버(110), 또는 푸쉬 서버(110)에 연결된 외부장치(130)에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를 복수의 클라이언트 장치(CL1?CLK) 중 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송한다. 이를 위해, 푸쉬 서버(110)는 UPnP(Universal Plug and Play) 서버 프로그램(119)을 실행한다.
UPnP 서버 프로그램(119)은 CDS(Content Directory Service)(131)(도 2 참고), CMS(Connection Manager Service)(132), 및 AVT(AV Transport Service)(133)를 포함한다.
CDS(131)는 컨트롤 포인트(118)가 홈 네트워크상에서 제공하는 콘텐츠를 열거할 수 있도록 하기 위한 액션(Action) 세트를 제공한다. CDS(131)의 기본적인 액션은 'Browse()' 또는 'Search()'이다. 이 액션은 푸쉬 서버(110)가 제공하는 각 콘텐츠 아이템에 대한 상세한 정보를 컨트롤 포인트(118)가 얻을 수 있도록 해준다. 콘텐츠 아이템에 대한 상세한 정보(메타 데이터)는 이름, 아티스트, 생성일자, 크기 등의 특성을 포함한다. CDS(131)는 UPnP 액션 중 'Browse()' 또는 'Search()' 액션이 컨트롤 포인트(118)에 의해 호출될 때, 공유파일 목록에 대한 정보 및 공유파일 목록에 포함된 콘텐츠의 상세정보를 컨트롤 포인트(118)에 제공한다.
CMS(132)는 UPnP 액션 중 'PrepareForConnection()' 또는 'ConnectionComplete()' 액션이 컨트롤 포인트(118)에 의해 호출될 때, 푸쉬 서버(110)와 복수의 클라이언트 장치(CL1?CLK)간의 통신 연결을 관리한다.
CMS(132)는 푸쉬 서버(110)와 특정 장치 간의 통신 연결을 관리하는데 사용된다. CMS(132)의 기본적인 액션은 'PrepareForConnection()' 액션이다. 이 선택적 액션은 푸쉬 서버(110)가 차기의 연결을 준비할 기회를 주기 위해 컨트롤 포인트(118)에 의해 호출된다. 이 액션이 호출될 때, CMS(132)는 컨트롤 포인트(118)가 콘텐츠의 흐름을 제어(정지, 멈춤, 탐색 등)할 수 있도록 AVT(133)의 'InstanceID'를 컨트롤 포인트(118)에 리턴한다. 컨트롤 포인트(118)는 'InstanceID'를 이용하여 AVT(133)의 여러 (가상) 인스턴스들을 구별할 수 있다. AVT(133)의 여러 (가상) 인스턴스들은 푸쉬 서버(110)가 동시에 복수의 클라이언트 장치(CL1?CLK)의 요청에 대응할 수 있도록 해준다. 만일 CMS(132)의 'PrepareForConnection()' 액션이 구현되지 않은 경우, 컨트롤 포인트(118)는 특정 시점에 하나의 클라이언트 장치의 요청에만 대응할 수 있다. 이 경우에 컨트롤 포인트(118)는 'InstanceID=0'를 사용해야 한다. 컨트롤 포인트(118)가 푸쉬 서버(110)와 특정 클라이언트 장치 간의 통신 연결을 종료할 때는 연결 해제를 위해 CMS(132)의 'ConnectionComplete()' 액션을 호출해야 한다.
AVT(133)는 특정 AVTransport와 연관된 콘텐츠의 재생을 콘트롤 포인트(118)가 제어할 수 있게 하는데 사용된다. 콘텐츠의 재생 제어는 정지, 멈춤, 탐색 등의 기능을 포함한다. 지원되는 전송 프로토콜 및 데이터 형식에 따라 UPnP 서버 프로그램(119)에서 AVT(133)가 구현될 수도 있고 구현되지 않을 수도 있다. 만일 UPnP 서버 프로그램(119)에서 AVT(133)가 구현된다면, 푸쉬 서버(110)는 각 AVTransport 액션에 포함된 InstanceID를 사용하여 다수의 인스턴스를 구별할 수 있다. AVT(133)의 새로운 인스턴스는 CMS(132)의 'PrepareForConnection()' 액션이 호출될 때 생성되며, 새로운 인스턴스 ID는 각 새로운 서비스 인스턴스를 위해 할당된다.
AVT(133)는 UPnP 액션 중 'SetAVTransportURI()' 및 'Play()' 액션이 컨트롤 포인트(118)에 의해 호출되면, 푸쉬 서버(110)가 사용자에 의해 선택된 콘텐츠를 선택된 클라이언트 장치들(CL1?CLK)에 동시에 전송할 수 있도록, 'SetAVTransportURI()' 액션에 의해 설정된 URI에 해당하는 콘텐츠 파일의 전송을 위한 쓰레드(thread)(도 5 참고)를, 해당 콘텐츠를 재생할 클라이언트 장치의 수에 대응하게 생성하여 실행한다.
선택적으로, AVT(133)는 사용자에 의해 선택된 클라이언트 장치들(예를 들어, CL1?CLK)로부터 URI에 해당하는 콘텐츠 파일에 대한 전송 요청이 있을 때, 되거나 또는 선택된 클라이언트 장치들(CL1?CLK)로부터 요청된 URI에 해당하는 콘텐츠 파일의 전송을 위한 쓰레드(thread)를, 해당 콘텐츠를 재생할 클라이언트 장치의 수에 대응하게 생성하여 실행한다.
복수의 클라이언트 장치(CL1?CLK) 각각은 홈 네트워크로부터 획득한 콘텐츠를 랜더링(디스플레이(display), 또는 리스닝(listening))하는 기능을 수행한다. 복수의 클라이언트 장치(CL1?CLK) 각각은 콘텐츠를 재생하는 기기로서, 예를 들어, 개인용 PC, TV, 오디오/비디오 플레이어, PMP, 모바일장치 등 유무선 전송 프로토콜을 지원하는 장비들을 포함할 수 있다.
복수의 클라이언트 장치(CL1?CLK) 각각의 중요한 기능은 컨트롤 포인트(118)가 콘텐츠를 재생하는 방법(밝기, 대비, 볼륨, 묵음 등)을 제어하도록 해준다는데 있다. 복수의 클라이언트 장치(CL1?CLK)는, 푸쉬 서버(118)로부터 콘텐츠를 수신하면, 해당 콘텐츠를 각각 동시에 재생한다. 이를 위해, 복수의 클라이언트 장치(CL1?CLK) 각각은, UPnP 클라이언트 프로그램(CP1?CPK 중 하나)을 실행한다.
UPnP 클라이언트 프로그램(CP1?CPK) 각각은 RCS(Rendering Control Service)(141)(도 2 참고), CMS(Connection Manager Service)(142), 및 AVT(AV Transport Service)(143)를 포함한다.
복수의 클라이언트 장치(CL1?CLK) 각각이, 동시에 다수의 콘텐츠 아이템을 다룰 수 있도록 하기 위해, RCS(141)와 AVT(143) 각각은 다수의 독립적인 (논리) 인스턴스(instance)를 포함하고 있다. RCS(141)와 AVT(143)의 각 (논리) 인스턴스는 서로 독립적으로 입력되는 콘텐츠를 컨트롤 포인트(118)가 제어할 수 있게 해준다.
RCS(141)는 클라이언트 장치(CL1?CLK 중 하나)(즉, 디지털 미디어 랜더러)가 수신되는 콘텐츠를 어떻게 랜더링 하는가를 콘트롤 포인트(118)가 제어하도록 하는 액션의 모음이다. 이것은 밝기, 대비, 볼륨, 묵음 등과 같은 랜더링 특성을 포함한다. RCS(141)는 UPnP 액션 중, 밝기, 대비, 볼륨, 및 묵음을 포함하는 콘텐츠의 재생 방법을 제어하기 위한 액션들이 컨트롤 포인트(118)에 의해 호출될 때, 콘텐츠의 재생 동작을 제어한다.
RCS(141)는 여러 개의 동적인 인스턴스를 지원한다. 즉, 클라이언트 장치(CL1?CLK 중 하나)가 하나 이상의 콘텐츠 아이템을 상호 혼합하도록 해준다. RCS(141)의 새로운 인스턴스는 CMS(142)의 'PrepareForConnection()' 액션에 의해 생성된다.
CMS(142)는 UPnP 액션 중 'GetProtocolInfo()', 또는 'PrepareForConnection()' 또는 'ConnectionComplete()' 액션이 컨트롤 포인트(118)에 의해 호출될 때, 해당 클라이언트 장치(CL1?CLK 중 적어도 하나)와 푸쉬 서버(110)간의 통신 연결을 관리한다.
CMS(142)는 클라이언트 장치(CL1?CLK 중 하나)와 특정 장치간의 연결을 관리하는데 사용된다. CMS(142)의 기본적인 액션은 'GetProtocolInfo()' 액션이다. 이 액션은 클라이언트 장치(CL1?CLK 중 하나)에 의해 지원되는 전송 프로토콜과 데이터 포맷을 컨트롤 포인트(118)가 나열하도록 해준다. 클라이언트 장치(CL1?CLK 중 하나)에 의해 지원되는 전송 프로토콜과 데이터 포맷에 따라 클라이언트 장치(CL1?CLK 중 하나)가 재생할 수 있는 콘텐츠 아이템이 결정될 수 있다.
UPnP 클라이언트 프로그램(CP1?CPK) 각각에서 선택적으로 'PrepareForConnection()' 액션이 구현될 수 있다. 이 액션은 클라이언트 장치(CL1?CLK 중 하나)가 곧 사용할 전송 프로토콜을 준비할 수 있도록 컨트롤 포인트(118)에 의해 호출된다. 부가적으로, 이 액션은 클라이언트 장치(CL1?CLK 중 하나)가 사용하는 연결에 대한 정보를 얻을 수 있는 3rd 파티 컨트롤 포인트(예를 들어, 도 15의 171 참고)에 사용될 수 있는 유일한 ConnectionID를 배정한다. 또한, 이 액션이 호출될 때, CMS(142)는 유일한 AVTransport InstanceID를 컨트롤 포인트(118)에 리턴한다. 이값은 컨트롤 포인트가 콘텐츠의 흐름(정지, 멈춤, 탐색 등)을 제어하는데 사용한다. 또, 'PrepareForConnection()' 액션이 호출될 때, CMS(142)는 컨트롤 포인트(118)가 밝기, 대비, 볼륨, 묵음 등과 같은 콘텐츠의 랜더링 특성을 제어하는데 사용할 수 있는 유일한 Rendering Control InstanceID를 컨트롤 포인트(118)에 리턴한다. 컨트롤 포인트(118)가 통신 연결을 종료할 때는 CMS(142)의 'ConnectionComplete()' 액션을 호출한다.
AVT(143)는 컨트롤 포인트(118)가 연관된 콘텐츠의 흐름을 제어하는데 사용된다. 이것은 재생, 멈춤, 정지, 탐색 등의 기능을 포함한다. 전송 프로토콜과 지원되는 데이타 형식에 따라 UPnP 클라이언트 프로그램(CP1?CPK) 각각에서 AVT(143)가 구현될 수도 있고, 구현되지 않을 수도 있다. 여러 콘텐츠 아이템을 동시에 핸들하는 클라이언트 장치(CL1?CLK 중 하나)를 지원하기 위해, AVT(143)는 다수개의 논리 인스턴스를 지원한다. AVTransport InstanceID는 다수의 서비스 인스턴스 간의 구별을 위해 CMS(142)의 'PrepareForConnection()' 액션에 의해 할당된다. AVT(143)는 UPnP 액션 중 'SetAVTransportURI()' 및 'Play()' 액션이 컨트롤 포인트(118)에 의해 호출될 때, 'SetAVTransportURI()' 액션에 의해 전달된 URI에 해당하는 콘텐츠 파일에 대한 전송을 푸쉬 서버(110)에 요청한다.
도 2에 도시된 것과 같이, 컨트롤 포인트(118)에 의해 호출되는 UPnP 액션(action)에 의해, UPnP 서버 프로그램(119)과 UPnP 클라이언트 프로그램(CP1?CPK)의 동작이 각각 제어됨으로써, 푸쉬 서버(119)의 콘텐츠 전송 동작이 실행되고, 클라이언트 장치들(CL1?CLK)의 콘텐츠 재생 동작이 실행된다.
무선 AP(Access Point) 장치(120)는 IEEE 802.11a/g/b/n 규격을 준수하며, DLNA 홈 네트워크에 속해 있는 다수의 장치들 각각은 유선랜, 무선랜, 블루투스 등 무선전송 프로토콜을 사용하여 상호 연결되어 있어야 한다. 무선 AP 장치(120)를 통하여 로컬(Local)한 홈 네트워크가 구성되어야 한다. 무선 AP 장치(120)는 푸쉬 서버(110)와 복수의 클라이언트 장치(CL1?CLK) 간의 무선통신을 제공한다.
도 3a는 도 1에 도시된 UPnP 서버 프로그램의 상세한 계층 구조를 나타내는 도면이다. UPnP 서버 프로그램(119)의 계층 구조는 CDS 계층(151), CMS 계층(152), AVT 계층(153), UPnP DA(Device Architecture) 계층(154), 미디어 스트리밍 계층(155), HTTP 계층(156), TCP/IP 계층(157), 및 Wi-Fi(또는 Ethernet) 계층(158)으로 이루어져 있다. 각 계층에 대한 구체적인 설명은 본 발명의 기술분야에서 통상의 지식을 가진 자라면 잘 이해할 수 있으므로 생략된다.
도 3b는 도 1에 도시된 UPnP 클라이언트 프로그램의 상세한 계층 구조를 나타내는 도면이다. UPnP 클라이언트 프로그램(CP1?CPK) 각각의 계층 구조는 CMS 계층(161), AVT 계층(162), RCS 계층(163), UPnP DA(Device Architecture) 계층(164), 미디어 디코딩 계층(165), HTTP 계층(166), TCP/IP 계층(167), 및 Wi-Fi(또는 Ethernet) 계층(168)으로 이루어져 있다. 각 계층에 대한 구체적인 설명은 본 발명의 기술분야에서 통상의 지식을 가진 자라면 잘 이해할 수 있으므로 생략된다.
다음으로, 콘텐츠 공유 시스템(101)의 콘텐츠 공유 동작 과정을 설명한다. 푸쉬 서버(110)는 DLNA 홈 네트워크상에서 클라이언트 장치(CL1?CLK 중 적어도 하나)를 인식하면, 다음과 같은 기본적인 동작 과정(도 5 참고)을 거쳐 'HTTP POST' 방식으로 푸쉬 기법을 이용하여 콘텐츠를 해당 클라이언트 장치(CL1?CLK 중 적어도 하나)에 전송한다. 기본적인 동작 과정은 다음과 같다.
a. 정보요청 :
httpRequestRecieved(HTTPRequest httpReq) 메소드 호출
(in MediaServer.java)
b. 전송할 스트림 정보획득
contentExportRequestRecieved(HTTPRequest httpReq) 메소드 호출
(in ContentDirectory.java)
InputStream contentIn = itemNode.getContentInputStream();
c. 서버에서 Push 방식으로 콘텐츠 전송
post(HTTPResponsehttpRes, InputStream in, long contentOffset, long
contentLength, boolean isOnlyHeader) 메소드 호출
(in HTTPSocket.java)
도 4를 참고하여, 콘텐츠 공유 시스템(101)의 콘텐츠 공유 동작 과정을 좀 더 상세히 설명하면 다음과 같다.
먼저, 푸쉬 서버(110)가 컨트롤 포인트(118)를 실행하여, 사용자에게 UI(user interface) 화면(도 6 참고)을 제공한다(단계 401). 그 결과, 사용자는 UI 화면을 보면서, 푸쉬 서버(110) 또는 외부 장치(130)에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠를 검색하고, 재생할 콘텐츠와 해당 콘텐츠를 동시에 재생할 타깃 클라이언트 장치들(예를 들어, CL1?CLK)을 선택할 수 있다.
이 후, 컨트롤 포인트(118)는 푸쉬 서버(110)에서 실행되는 UPnP 서버 프로그램(119)과, 사용자에 의해 선택된 클라이언트 장치들(CL1?CLK)에서 각각 실행되는 UPnP 클라이언트 프로그램들(CP1?CPK)로부터, 콘텐츠 전송 제어에 필요한 정보를 획득한다(단계 402).
여기에서, 단계 402의 과정을 좀 더 상세히 설명하면 다음과 같다.
먼저, 푸쉬 서버(110)에 포함된 입력부(116)를 통한 사용자의 메뉴 선택 정보 입력에 따라, 컨트롤 포인트(118)가 UPnP 서버 프로그램(119)의 'Browse()' 또는 'Search()' 액션을 호출한다.
UPnP 서버 프로그램(119)은 'Browse()' 또는 'Search()' 액션 호출에 응답하여, 공유파일 목록에 대한 정보 및 공유파일 목록에 포함된 콘텐츠의 상세정보를 컨트롤 포인트(118)에 제공한다.
입력부(116)를 통한 사용자의 콘텐츠 및 클라이언트 선택 정보 입력에 따라, 컨트롤 포인트(118)가 사용자가 선택한 클라이언트 장치들(CL1?CLK)에서 각각 실행되는 UPnP 클라이언트 프로그램들(CP1?CPK)의 'GetProtocolInfo()' 액션을 각각 호출한다.
UPnP 클라이언트 프로그램들(CP1?CPK)은 'GetProtocolInfo()' 액션 호출에 응답하여, 프로토콜 및 데이터 형식 목록을 컨트롤 포인트(118)에 각각 전송한다.
컨트롤 포인트(118)는 사용자가 선택한 클라이언트 장치들(CL1?CLK)로부터 수신한 프로토콜 및 데이터 형식 목록에서, 사용자가 선택한 콘텐츠의 프로토콜 및 데이터 형식에 일치하는 프로토콜 및 데이터 형식을 선택한다.
한편, 컨트롤 포인트(118)는 콘텐츠 전송 제어에 필요한 정보에 기초하여, 사용자에 의해 선택된 콘텐츠를, 푸쉬 서버(110)가 사용자에 의해 선택된 클라이언트 장치들(CL1?CLK)에 각각 동시에 전송하도록 제어한다(단계 403).
여기에서, 단계 403의 과정을 좀 더 상세히 설명하면 다음과 같다.
컨트롤 포인트(118)는 UPnP 서버 프로그램(119)의 'PrepareForConnection()' 액션을 호출한다.
UPnP 서버 프로그램(119)은 'PrepareForConnection()' 액션 호출에 응답하여, 'AVTInstanceID'를 컨트롤 포인트(118)에 제공한다.
이 후, 컨트롤 포인트(118)는 UPnP 클라이언트 프로그램들(CP1?CPK)의 'PrepareForConnection()' 액션을 호출한다.
UPnP 클라이언트 프로그램들(CP1?CPK)은 'PrepareForConnection()' 액션 호출에 응답하여, 'AVTInstanceID' 및 'RCSInstanceID'를 컨트롤 포인트(118)에 전송한다.
컨트롤 포인트(118)는 UPnP 서버 프로그램(119)의 'SetAVTransportURI()' 액션 및 'Play()' 액션을 연속적으로 호출한다. 'SetAVTransportURI()' 액션 및 'Play()' 액션 호출에 응답하여, UPnP 서버 프로그램(119)이 'SetAVTransportURI()' 액션에 의해 설정된 URI에 해당하는 콘텐츠 파일의 전송을 위한 쓰레드(thread)를, 콘텐츠를 재생할 클라이언트 장치의 수에 대응하게 생성하여 처리한다. 그 결과, 푸쉬 서버(110)는 사용자가 선택한 콘텐츠에 대한 콘텐츠 스트림을 사용자가 선택한 클라이언트 장치들(CL1?CLK)에 각각 동시에 전송한다.
선택적으로, 컨트롤 포인트(118)는 UPnP 서버 프로그램(119)의 'SetAVTransportURI()' 액션 및 'Play()' 액션 대신에, UPnP 클라이언트 프로그램들(CP1?CPK)의 'SetAVTransportURI()' 액션 및 'Play()' 액션을 연속적으로 각각 호출할 수도 있다. 이 경우, UPnP 클라이언트 프로그램들(CP1?CPK)이 'SetAVTransportURI()' 액션 및 'Play()' 액션 호출에 응답하여, 'SetAVTransportURI()' 액션에 의해 전달된 URI에 해당하는 콘텐츠 파일에 대한 전송을 푸쉬 서버(110)에 각각 요청한다. 그 결과, 푸쉬 서버(110)는 사용자가 선택한 콘텐츠에 대한 콘텐츠 스트림을 사용자가 선택한 클라이언트 장치들(CL1?CLK)에 각각 동시에 전송한다.
사용자에 의해 선택된 클라이언트 장치들(CL1?CLK)은 푸쉬 서버(110)로부터 수신한 콘텐츠를 각각 동시에 재생한다(단계 404).
이 후, 컨트롤 포인트(118)는 전송 완료 시점을 확인하고 전송을 완료한다(단계 405). 여기에서, 단계 405의 과정을 좀 더 상세히 설명하면 다음과 같다.
컨트롤 포인트(118)는 콘텐츠의 상세정보에 기초하여 전송 완료 시점인지의 여부를 판단한다. 이때, 콘텐츠의 상세정보에는 재생시간이나 파일 용량과 같이 전송 완료 시점을 판단할 수 있는 정보가 포함되어 있으므로, 이 정보를 이용하여 컨트롤 포인트(118)가 해당 콘텐츠의 전송 완료 시점을 판단할 수 있다.
전송 완료 시점에 도달할 때, 컨트롤 포인트(118)는 UPnP 클라이언트 프로그램들(CP1?CPK)의 'TransferComplete()' 액션을 호출하여 콘텐츠의 전송이 완료되었음을 UPnP 클라이언트 프로그램들(CP1?CPK)에 알린다.
또한, 전송 완료 시점에 도달할 때, 컨트롤 포인트(118)는 UPnP 서버 프로그램(119)의 'TransferComplete()' 액션을 호출하여 콘텐츠의 전송이 완료되었음을 UPnP 서버 프로그램(119)에 알린다.
클라이언트 장치들(CL1?CLK)에서 다수의 콘텐츠가 연속적으로 재생되어야 하는 경우, 상술한 단계 401 내지 단계 405의 동작이 반복될 수 있다.
도 6 내지 도 14는 도 1에 도시된 푸쉬 서버에 표시되는 화면들을 나타내는 도면들로서, 각 도면을 좀 더 상세히 설명하면 다음과 같다.
도 6은 도 1에 도시된 푸쉬 서버에 표시되는 UI 화면을 나타낸다. UI 화면은 공유 메뉴창(201), 공유파일 폴더창(202), 공유파일 목록창(203), 디바이스 목록창(204), 및 로그 정보창(205)을 포함한다. 공유파일 폴더창(202)에는 푸쉬 서버(110) 또는 외부장치(130)에 저장된 콘텐츠들의 파일명이 표시된다. 디바이스 목록창(204)에는 푸쉬 서버(110)의 이름 및 IP(internet protocol) 주소와, 복수의 클라이언트 장치(CL1?CLK) 각각의 이름 및 IP 주소가 표시된다.
도 7은 UI 화면에서 사용자가 공유 메뉴창(201)의 메뉴를 이용하여 사진 공유 설정을 선택할 때의 화면을 나타낸다. 도 8은 사용자가 사진 공유 설정 메뉴를 입력한 경우 팝업(poo-up)창의 형태로 표시되는 공유 폴더 검색창(206)을 포함하는 UI 화면을 나타낸다.
도 9는 공유파일 목록창(203)에 표시된 특정 콘텐츠(예를 들어, 사진)(301)가 디바이스 목록창(204)에 표시된 푸쉬 서버(110)와 복수의 클라이언트 장치(CL1?CLK)에서 각각 재생되도록 설정하는 화면을 나타낸다. 사용자는 특정 콘텐츠(301)의 아이콘(icon)을 선택한 후 드레그(drag)하여, 푸쉬 서버(110)와 복수의 클라이언트 장치(CL1?CLK)에 각각 드롭(drop)한다. 그 결과, 도 10에 도시된 것과 같이, 푸쉬 서버(110)의 출력부(예를 들어, 디스플레이부)(115)에 콘텐츠(301)에 해당하는 이미지 재생 화면(207)이 표시된다. 한편, 복수의 클라이언트 장치(CL1?CLK) 각각의 출력부(144)에도 콘텐츠(301)에 해당하는 이미지 재생 화면(미도시)이 표시된다.
도 11은 UI 화면에서 사용자가 공유 메뉴창(201)의 메뉴를 이용하여 동영상 공유 설정을 선택할 때의 화면을 나타낸다. 도 12는 공유파일 목록창(203)에 표시된 특정 콘텐츠(예를 들어, 동영상)(302)가 디바이스 목록창(204)에 표시된 푸쉬 서버(110)와 복수의 클라이언트 장치(CL1?CLK)에서 각각 재생되도록 설정하는 화면을 나타낸다. 사용자는 특정 콘텐츠(302)의 아이콘을 선택한 후 드레그하여, 푸쉬 서버(110)와 복수의 클라이언트 장치(CL1?CLK)에 각각 드롭한다. 그 결과, 도 13에 도시된 것과 같이, 푸쉬 서버(110)의 출력부(예를 들어, 디스플레이부)(115)에 콘텐츠(302)에 해당하는 동영상 재생 화면(208)이 표시된다. 한편, 복수의 클라이언트 장치(CL1?CLK) 각각의 출력부(144)에도 콘텐츠(302)에 해당하는 이미지 재생 화면(미도시)이 표시된다.
선택적으로, 사용자는 복수의 콘텐츠가 푸쉬 서버(110)와 복수의 클라이언트 장치(CL1?CLK)에서 각각 재생되도록 설정할 수도 있다. 이 경우, 사용자는 복수의 콘텐츠의 아이콘을 선택한 후 드레그하여, 푸쉬 서버(110)와 복수의 클라이언트 장치(CL1?CLK)에 각각 드롭한다. 그 결과, 도 14에 도시된 것과 같이, 푸쉬 서버(110)의 출력부(예를 들어, 디스플레이부)(115)에 복수의 콘텐츠에 해당하는 재생 화면들(209, 210)이 각각 표시된다. 한편, 복수의 클라이언트 장치(CL1?CLK) 각각의 출력부(144)에도 복수의 콘텐츠에 해당하는 재생 화면들(미도시)이 표시된다.
도 15는 본 발명의 다른 실시예에 따른 콘텐츠 공유 시스템의 개략적인 블록 구성도이다. 콘텐츠 공유 시스템(102)의 구성 및 구체적인 동작은 몇 가지 차이점을 제외하고 도 1을 참고하여 상술한 콘텐츠 공유 시스템(101)과 실질적으로 동일하다. 따라서, 본 실시예에서는 설명의 중복을 피하기 위해 콘텐츠 공유 시스템들(102, 101) 간의 차이점을 중심으로 설명하기로 한다.
콘텐츠 공유 시스템들(102, 101) 간의 차이점은, 콘텐츠 공유 시스템(102)이 제어 장치(170)를 더 포함하는 것이다. 제어 장치(170)는 휴대용 리모콘의 형태로 구현될 수 있다.
제어 장치(170)는 제어 프로그램인 컨트롤 포인트(171)를 실행하여 사용자에게 UI(user interface) 화면을 제공한다. 제어 장치(170)는 사용자의 입력 정보에 기초하여 푸쉬 서버(180), 또는 푸쉬 서버(180)에 연결된 외부장치(130)에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를, 푸쉬 서버(180)가 복수의 클라이언트 장치(CL1?CLK) 중 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송하도록 제어한다.
콘텐츠 공유 시스템(102)에 제어 장치(170)가 추가됨으로써, 콘텐츠 공유 시스템(101)의 푸쉬 서버(110)의 동작과는 달리, 푸쉬 서버(180)의 CPU(181)는 UPnP 서버 프로그램(188)만을 실행하게 된다.
도 16은 본 발명의 또 다른 실시예에 따른 콘텐츠 공유 시스템의 개략적인 블록 구성도이다. 콘텐츠 공유 시스템(103)의 구성 및 구체적인 동작은 몇 가지 차이점을 제외하고 도 1을 참고하여 상술한 콘텐츠 공유 시스템(101)과 실질적으로 동일하다. 따라서, 본 실시예에서는 설명의 중복을 피하기 위해 콘텐츠 공유 시스템들(103, 101) 간의 차이점을 중심으로 설명하기로 한다.
콘텐츠 공유 시스템들(103, 101) 간의 차이점은, 콘텐츠 공유 시스템(103)의 복수의 클라이언트 장치(CLL1?CLLK) 중 어느 하나가, 제어 프로그램인 컨트롤 포인트(191)를 실행하여 사용자에게 UI 화면을 제공하는 것이다. 복수의 클라이언트 장치(CLL1?CLLK) 중 어느 하나가 컨트롤 포인트(191)를 실행하므로, 콘텐츠 공유 시스템(101)의 푸쉬 서버(110)의 동작과는 달리, 푸쉬 서버(180)의 CPU(181)는 UPnP 서버 프로그램(188)만을 실행하게 된다.
상술한 것과 같이, 콘텐츠 공유 시스템들(101?103)에서는, 푸쉬 서버(110 또는 180)가 특정 콘텐츠를 복수의 클라이언트 장치(CL1?CLK 또는 CLL1?CLLK)에 각각 동시에 전송할 수 있다. 한편, 콘텐츠 공유 시스템들(101?103)은 전자 강의 시스템 등과 같이 선생님의 특정 강의 콘텐츠를 복수의 학생들의 PC에 동시에 보내줄 때 사용될 수 있다.
상기한 실시 예들은 본 발명을 설명하기 위한 것으로서 본 발명이 이들 실시 예에 국한되는 것은 아니며, 본 발명의 범위 내에서 다양한 실시예가 가능하다. 또한, 설명되지는 않았으나, 균등한 수단도 또한 본 발명에 그대로 결합되는 것이라 할 것이다. 따라서 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
101, 102, 103: 콘텐츠 공유 시스템 110, 180: 푸쉬 서버
120: 무선 AP 장치 130: 외부 장치
CL1?CLK, CLL1?CLLK: 클라이언트 장치 118, 171, 191: 컨트롤 포인트
119, 188: UPnP 서버 프로그램 CP1?CPK: UPnP 클라이언트 프로그램

Claims (10)

  1. 푸쉬 서버(push server), 복수의 클라이언트(client) 장치, 및 상기 푸쉬 서버와 상기 복수의 클라이언트 장치 간의 무선통신을 제공하는 무선 AP(access point) 장치를 포함하는 DLNA(Digital Living Network Alliance) 홈 네트워크 기반의 콘텐츠 공유 시스템으로서,
    상기 푸쉬 서버는 제어 프로그램인 컨트롤 포인트를 실행하여 사용자에게 UI(user interface) 화면을 제공하고, UPnP(Universal Plug and Play) 서버 프로그램을 더 실행하며, 상기 푸쉬 서버, 또는 상기 푸쉬 서버에 연결된 외부장치에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를 상기 복수의 클라이언트 장치 중 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송하고,
    상기 복수의 클라이언트 장치 각각은, UPnP 클라이언트 프로그램을 실행하고, 상기 푸쉬 서버로부터 콘텐츠를 수신한 클라이언트 장치들이 해당 콘텐츠를 각각 동시에 재생하고,
    상기 컨트롤 포인트에 의해 호출되는 UPnP 액션(action)에 의해, 상기 UPnP 서버 프로그램과 상기 UPnP 클라이언트 프로그램의 동작이 각각 제어됨으로써, 푸쉬 서버의 콘텐츠 전송 동작이 실행되고, 클라이언트 장치들의 콘텐츠 재생 동작이 실행되고,
    상기 UI 화면은, 상기 푸쉬 서버, 또는 상기 푸쉬 서버에 연결된 외부장치에 저장된 콘텐츠의 파일명이 표시되는 공유파일 목록창과, 상기 푸쉬 서버의 이름 및 IP(internet protocol) 주소와, 상기 복수의 클라이언트 장치 각각의 이름 및 IP 주소가 표시되는 디바이스 목록창을 포함하는 콘텐츠 공유 시스템.
  2. 제1항에 있어서, 상기 푸쉬 서버에서 실행되는 UPnP 서버 프로그램은,
    상기 UPnP 액션 중 'Browse()' 또는 'Search()' 액션이 상기 컨트롤 포인트에 의해 호출될 때, 공유파일 목록에 대한 정보 및 공유파일 목록에 포함된 콘텐츠의 상세정보를 상기 컨트롤 포인트에 제공하는 CDS(Content Directory Service);
    상기 UPnP 액션 중 'PrepareForConnection()' 또는 'ConnectionComplete()' 액션이 상기 컨트롤 포인트에 의해 호출될 때, 상기 푸쉬 서버와 상기 복수의 클라이언트 장치간의 통신 연결을 관리하는 CMS(Connection Manager Service); 및
    상기 UPnP 액션 중 'SetAVTransportURI()' 및 'Play()' 액션이 상기 컨트롤 포인트에 의해 호출되거나, 또는 사용자에 의해 선택된 클라이언트 장치들로부터 URI에 해당하는 콘텐츠 파일에 대한 전송 요청이 있을 때, 상기 푸쉬 서버가 사용자에 의해 선택된 콘텐츠를 상기 선택된 클라이언트 장치들에 동시에 전송할 수 있도록, 'SetAVTransportURI()' 액션에 의해 설정되거나 또는 상기 선택된 클라이언트 장치들로부터 요청된 URI에 해당하는 콘텐츠 파일의 전송을 위한 쓰레드(thread)를, 해당 콘텐츠를 재생할 클라이언트 장치의 수에 대응하게 생성하여 실행하는 AVT(AV Transport Service)를 포함하는 콘텐츠 공유 시스템.
  3. 제1항에 있어서, 상기 복수의 클라이언트 장치에서 각각 실행되는 UPnP 클라이언트 프로그램은,
    상기 UPnP 액션 중, 밝기, 대비, 볼륨, 및 묵음을 포함하는 콘텐츠의 재생 방법을 제어하기 위한 액션들이 상기 컨트롤 포인트에 의해 호출될 때, 콘텐츠의 재생 동작을 제어하는 RCS(Rendering Control Service);
    상기 UPnP 액션 중 'GetProtocolInfo()', 또는 'PrepareForConnection()' 또는 'ConnectionComplete()' 액션이 상기 컨트롤 포인트에 의해 호출될 때, 해당 클라이언트 장치와 상기 푸쉬 서버간의 통신 연결을 관리하는 CMS(Connection Manager Service); 및
    상기 UPnP 액션 중 'SetAVTransportURI()' 및 'Play()' 액션이 상기 컨트롤 포인트에 의해 호출될 때, 'SetAVTransportURI()' 액션에 의해 전달된 URI에 해당하는 콘텐츠 파일에 대한 전송을 상기 푸쉬 서버에 요청하는 AVT(AV Transport Service)를 포함하는 콘텐츠 공유 시스템.
  4. 푸쉬 서버(push server), 복수의 클라이언트(client) 장치, 및 상기 푸쉬 서버와 상기 복수의 클라이언트 장치 간의 무선통신을 제공하는 무선 AP(access point) 장치를 포함하는 DLNA(Digital Living Network Alliance) 홈 네트워크 기반의 콘텐츠 공유 시스템에 의해 실행되는 콘텐츠 공유 방법으로서,
    상기 푸쉬 서버에서 실행되는 제어 프로그램인 컨트롤 포인트에 의해, 사용자에게 UI(user interface) 화면을 제공하는 단계;
    상기 컨트롤 포인트에 의해, 상기 푸쉬 서버에서 실행되는 UPnP 서버 프로그램과, 사용자에 의해 선택된 클라이언트 장치들에서 각각 실행되는 UPnP 클라이언트 프로그램들로부터, 콘텐츠 전송 제어에 필요한 정보를 획득하는 단계;
    콘텐츠 전송 제어에 필요한 정보에 기초하여, 상기 컨트롤 포인트에 의해, 상기 푸쉬 서버, 또는 상기 푸쉬 서버에 연결된 외부장치에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를, 상기 푸쉬 서버가 상기 선택된 클라이언트 장치들에 각각 동시에 전송하도록 제어하는 단계;
    상기 선택된 클라이언트 장치들에 의해, 상기 선택된 콘텐츠를 각각 동시에 재생하는 단계; 및
    상기 컨트롤 포인트에 의해, 전송 완료 시점을 확인하고 전송을 완료하는 단계를 포함하고,
    상기 UI 화면은, 상기 푸쉬 서버, 또는 상기 푸쉬 서버에 연결된 외부장치에 저장된 콘텐츠의 파일명이 표시되는 공유파일 목록창과, 상기 푸쉬 서버의 이름 및 IP(internet protocol) 주소와, 상기 복수의 클라이언트 장치 각각의 이름 및 IP 주소가 표시되는 디바이스 목록창을 포함하는 콘텐츠 공유 방법.
  5. 제4항에 있어서, 상기 콘텐츠 전송 제어에 필요한 정보를 획득하는 단계는,
    상기 푸쉬 서버에 포함된 입력부를 통한 사용자의 메뉴 선택 정보 입력에 따라, 상기 컨트롤 포인트에 의해, 상기 푸쉬 서버에서 실행되는 UPnP 서버 프로그램의 'Browse()' 또는 'Search()' 액션을 호출하는 단계;
    상기 UPnP 서버 프로그램에 의해, 'Browse()' 또는 'Search()' 액션 호출에 응답하여, 공유파일 목록에 대한 정보 및 공유파일 목록에 포함된 콘텐츠의 상세정보를 상기 컨트롤 포인트에 제공하는 단계;
    상기 입력부를 통한 사용자의 콘텐츠 및 클라이언트 선택 정보 입력에 따라, 상기 컨트롤 포인트에 의해, 사용자가 선택한 클라이언트 장치들에서 각각 실행되는 UPnP 클라이언트 프로그램들의 'GetProtocolInfo()' 액션을 각각 호출하는 단계;
    상기 UPnP 클라이언트 프로그램들에 의해, 'GetProtocolInfo()' 액션 호출에 응답하여, 프로토콜 및 데이터 형식 목록을 상기 컨트롤 포인트에 각각 전송하는 단계; 및
    상기 컨트롤 포인트에 의해, 사용자가 선택한 클라이언트 장치들로부터 수신한 프로토콜 및 데이터 형식 목록에서, 사용자가 선택한 콘텐츠의 프로토콜 및 데이터 형식에 일치하는 프로토콜 및 데이터 형식을 선택하는 단계를 포함하는 콘텐츠 공유 방법.
  6. 제4항에 있어서, 상기 제어 단계는,
    상기 컨트롤 포인트에 의해, 상기 UPnP 서버 프로그램의 'PrepareForConnection()' 액션을 호출하는 단계;
    상기 UPnP 서버 프로그램에 의해, 'PrepareForConnection()' 액션 호출에 응답하여, 'AVTInstanceID'를 상기 컨트롤 포인트에 전송하는 단계;
    상기 컨트롤 포인트에 의해, 상기 UPnP 클라이언트 프로그램들의 'PrepareForConnection()' 액션을 호출하는 단계;
    상기 UPnP 클라이언트 프로그램들에 의해, 'PrepareForConnection()' 액션 호출에 응답하여, 'AVTInstanceID' 및 'RCSInstanceID'를 상기 컨트롤 포인트에 제공하는 단계;
    상기 컨트롤 포인트에 의해, 상기 UPnP 서버 프로그램의 'SetAVTransportURI()' 액션 및 'Play()' 액션을 연속적으로 호출하는 단계;
    상기 UPnP 서버 프로그램의 'SetAVTransportURI()' 액션 및 'Play()' 액션 호출에 응답하여, 상기 UPnP 서버 프로그램에 의해, 'SetAVTransportURI()' 액션에 의해 설정된 URI에 해당하는 콘텐츠 파일의 전송을 위한 쓰레드(thread)를, 콘텐츠를 재생할 클라이언트 장치의 수에 대응하게 생성하는 단계; 및
    상기 푸쉬 서버에 의해, 사용자가 선택한 콘텐츠에 대한 콘텐츠 스트림을 사용자가 선택한 클라이언트 장치들에 각각 동시에 전송하는 단계를 포함하는 콘텐츠 공유 시스템.
  7. 제4에 있어서, 상기 제어 단계는,
    상기 컨트롤 포인트에 의해, 상기 UPnP 서버 프로그램의 'PrepareForConnection()' 액션을 호출하는 단계;
    상기 UPnP 서버 프로그램에 의해, 'PrepareForConnection()' 액션 호출에 응답하여, 'AVTInstanceID'를 상기 컨트롤 포인트에 전송하는 단계;
    상기 컨트롤 포인트에 의해, 상기 UPnP 클라이언트 프로그램들의 'PrepareForConnection()' 액션을 호출하는 단계;
    상기 UPnP 클라이언트 프로그램들에 의해, 'PrepareForConnection()' 액션 호출에 응답하여, 'AVTInstanceID' 및 'RCSInstanceID'를 상기 컨트롤 포인트에 제공하는 단계;
    상기 컨트롤 포인트에 의해, 상기 UPnP 클라이언트 프로그램들의 'SetAVTransportURI()' 액션 및 'Play()' 액션을 연속적으로 각각 호출하는 단계;
    상기 UPnP 클라이언트 프로그램들의 'SetAVTransportURI()' 액션 및 'Play()' 액션 호출에 응답하여, 상기 UPnP 클라이언트 프로그램들에 의해, 'SetAVTransportURI()' 액션에 의해 전달된 URI에 해당하는 콘텐츠 파일에 대한 전송을 상기 푸쉬 서버에 각각 요청하는 단계; 및
    상기 푸쉬 서버에 의해, 사용자가 선택한 콘텐츠에 대한 콘텐츠 스트림을 사용자가 선택한 클라이언트 장치들에 각각 동시에 전송하는 단계를 포함하는 콘텐츠 공유 시스템.
  8. 제4항에 있어서, 상기 전송을 완료하는 단계는,
    상기 컨트롤 포인트에 의해, 콘텐츠의 상세정보에 기초하여 전송 완료 시점인지의 여부를 판단하는 단계;
    전송 완료 시점에 도달할 때, 상기 컨트롤 포인트에 의해, 상기 UPnP 클라이언트 프로그램들의 'TransferComplete()' 액션을 호출하여 콘텐츠의 전송이 완료되었음을 상기 UPnP 클라이언트 프로그램들에 알리는 단계; 및
    전송 완료 시점에 도달할 때, 상기 컨트롤 포인트에 의해, 상기 UPnP 서버 프로그램의 'TransferComplete()' 액션을 호출하여 콘텐츠의 전송이 완료되었음을 상기 UPnP 서버 프로그램에 알리는 단계를 포함하는 콘텐츠 공유 시스템.
  9. 제어 장치, 푸쉬 서버(push server), 복수의 클라이언트(client) 장치, 및 상기 제어 장치, 상기 푸쉬 서버, 및 상기 복수의 클라이언트 장치 간의 무선통신을 제공하는 무선 AP(access point) 장치를 포함하는 DLNA(Digital Living Network Alliance) 홈 네트워크 기반의 콘텐츠 공유 시스템으로서,
    상기 제어 장치는 제어 프로그램인 컨트롤 포인트를 실행하여 사용자에게 UI(user interface) 화면을 제공하고, 사용자의 입력 정보에 기초하여 상기 푸쉬 서버, 또는 상기 푸쉬 서버에 연결된 외부장치에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를, 상기 푸쉬 서버가 상기 복수의 클라이언트 장치 중 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송하도록 제어하고,
    상기 푸쉬 서버는 UPnP(Universal Plug and Play) 서버 프로그램을 실행하고, 상기 제어 장치의 제어에 따라, 사용자에 의해 선택된 콘텐츠를 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송하고,
    상기 복수의 클라이언트 장치 각각은, UPnP 클라이언트 프로그램을 실행하고, 상기 푸쉬 서버로부터 콘텐츠를 수신한 클라이언트 장치들이 해당 콘텐츠를 각각 동시에 재생하고,
    상기 컨트롤 포인트에 의해 호출되는 UPnP 액션(action)에 의해, 상기 UPnP 서버 프로그램과 상기 UPnP 클라이언트 프로그램의 동작이 각각 제어됨으로써, 푸쉬 서버의 콘텐츠 전송 동작이 실행되고, 클라이언트 장치들의 콘텐츠 재생 동작이 실행되고,
    상기 UI 화면은, 상기 푸쉬 서버, 또는 상기 푸쉬 서버에 연결된 외부장치에 저장된 콘텐츠의 파일명이 표시되는 공유파일 목록창과, 상기 푸쉬 서버의 이름 및 IP(internet protocol) 주소와, 상기 복수의 클라이언트 장치 각각의 이름 및 IP 주소가 표시되는 디바이스 목록창을 포함하는 콘텐츠 공유 시스템.
  10. 푸쉬 서버(push server), 복수의 클라이언트(client) 장치, 및 상기 푸쉬 서버와 상기 복수의 클라이언트 장치 간의 무선통신을 제공하는 무선 AP(access point) 장치를 포함하는 DLNA(Digital Living Network Alliance) 홈 네트워크 기반의 콘텐츠 공유 시스템으로서,
    상기 복수의 클라이언트 장치 중 어느 하나는, 제어 프로그램인 컨트롤 포인트를 실행하여 사용자에게 UI(user interface) 화면을 제공하고, 상기 복수의 클라이언트 장치 각각은, UPnP 클라이언트 프로그램을 실행하고, 상기 푸쉬 서버로부터 콘텐츠를 수신한 클라이언트 장치들이 해당 콘텐츠를 각각 동시에 재생하고,
    상기 푸쉬 서버는 UPnP(Universal Plug and Play) 서버 프로그램을 실행하고, 상기 푸쉬 서버, 또는 상기 푸쉬 서버에 연결된 외부장치에 저장된 스틸 이미지, 오디오, 및 동영상 중 적어도 하나를 포함하는 콘텐츠 중 사용자에 의해 선택된 콘텐츠를 상기 복수의 클라이언트 장치 중 사용자에 의해 선택된 클라이언트 장치들에 각각 동시에 전송하고,
    상기 컨트롤 포인트에 의해 호출되는 UPnP 액션(action)에 의해, 상기 UPnP 서버 프로그램과 상기 UPnP 클라이언트 프로그램의 동작이 각각 제어됨으로써, 푸쉬 서버의 콘텐츠 전송 동작이 실행되고, 클라이언트 장치들의 콘텐츠 재생 동작이 실행되고,
    상기 UI 화면은, 상기 푸쉬 서버, 또는 상기 푸쉬 서버에 연결된 외부장치에 저장된 콘텐츠의 파일명이 표시되는 공유파일 목록창과, 상기 푸쉬 서버의 이름 및 IP(internet protocol) 주소와, 상기 복수의 클라이언트 장치 각각의 이름 및 IP 주소가 표시되는 디바이스 목록창을 포함하는 콘텐츠 공유 시스템.
KR1020110062475A 2011-04-29 2011-06-27 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법 KR101329668B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110062475A KR101329668B1 (ko) 2011-04-29 2011-06-27 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20110040518 2011-04-29
KR1020110040518 2011-04-29
KR1020110062475A KR101329668B1 (ko) 2011-04-29 2011-06-27 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20120122846A true KR20120122846A (ko) 2012-11-07
KR101329668B1 KR101329668B1 (ko) 2013-11-15

Family

ID=47509044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110062475A KR101329668B1 (ko) 2011-04-29 2011-06-27 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101329668B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512491B1 (ko) * 2014-08-28 2015-04-16 주식회사 이도링크 게이트웨이용 스마트폰에 의한 홈네트워크 시스템
KR20210023342A (ko) * 2019-08-23 2021-03-04 한화테크윈 주식회사 감시 시스템에서의 영상 전송 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102123544B1 (ko) 2018-11-19 2020-06-16 주식회사 유비펀스튜디오 푸쉬 기반의 통신 서비스 방법 및 그 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044739A (ja) 2001-07-27 2003-02-14 Kinya Kuriyama コンテンツ配信方法およびコンテンツ配信プログラム
JP2004151906A (ja) 2002-10-30 2004-05-27 Fuji Photo Film Co Ltd コンテンツ共有システム
JP2005149387A (ja) 2003-11-19 2005-06-09 Nec Corp リアルタイムWeb共有システム
JP2011248819A (ja) 2010-05-31 2011-12-08 Nec Corp コンテンツ管理システム、コンテンツ管理方法、情報処理装置、及び、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512491B1 (ko) * 2014-08-28 2015-04-16 주식회사 이도링크 게이트웨이용 스마트폰에 의한 홈네트워크 시스템
KR20210023342A (ko) * 2019-08-23 2021-03-04 한화테크윈 주식회사 감시 시스템에서의 영상 전송 방법

Also Published As

Publication number Publication date
KR101329668B1 (ko) 2013-11-15

Similar Documents

Publication Publication Date Title
US11831561B2 (en) System, apparatus, and method for controlling internet devices via a mobile device session
US9853830B2 (en) Information-provision control method, information reproduction system, information-provision apparatus, information reproduction apparatus and information-presentation control program
US9124441B2 (en) Remote audio
JP6292681B2 (ja) メディア再生処理と制御の方法、装置、およびシステム
USRE48946E1 (en) Systems and methods for providing a media playback in a networked environment
TWI669957B (zh) Media projection method, media projection device, control terminal, and cloud server
US9137292B2 (en) Remote management of DLNA system
US9883251B2 (en) Method and apparatus for managing connection between broadcast receiving device and another device connected by network
CN105323628B (zh) 基于dlna跨屏播放的方法及系统、浏览器端装置和播放装置
WO2012030318A1 (en) System and method for transferring media content
US8504712B2 (en) Method and apparatus for managing multi-streaming contents and for controlling of changing players during playback of multi-streaming contents
JP5898166B2 (ja) UPnPを用いてシーンを再生する方法及び装置
US20070033288A1 (en) Method of using pause time information on media content in UPnP environment
DK2907036T3 (en) MANAGING PLAYBACK OF DIGITAL CONTENT STREAMING
JP4789604B2 (ja) コンテンツ切替判定システム及び切替指示端末、並びに、コンテンツ切替判定方法
US8176343B2 (en) Method for providing information for power management of devices on a network
KR101329668B1 (ko) 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법
US8873446B2 (en) Method and apparatus for supporting multicast of AV data in a network
Heredia An introduction to the DLNA architecture: network technologies for media devices
JP4529478B2 (ja) 情報再生システム、情報提供装置、情報再生方法および情報管理プログラム
US20090292807A1 (en) Multimedia data transferring method and system thereof
JP5224387B2 (ja) コンテンツ共有システム、コンテンツ制御装置、コンテンツ共有方法及びコンテンツ共有プログラム
US20240129257A1 (en) System, Apparatus, And Method For Controlling Internet Devices Via A Mobile Device Session
Qi Multi Screen Interactive Technology in SMART TV Operating System

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 6