WWW Push Technology

장병규

WWW Push Technology

대전 광역시 유성구 구성동 373-1

한국과학기술원 전산학과 컴퓨터 시스템 실험실

E-mail : chitos@cair.kaist.ac.kr

URL: http://cair.kaist.ac.kr/~chitos/

Abstract:

인터넷에서 정보를 전달하기 위한 기존의 풀 방식과는 다른 푸쉬 방식에 대해서 우선 알아본다. 그리고 이러한 개념을 구현하기 위한 기본적인 동작원리에 대하여 설명한다. 그리고 푸쉬 개념을 이용하여 개발된 여러 가지 푸쉬 제품들에 대한 간략한 특징들을 살펴보며, 주의해야할 점들을 기술하며, 마지막으로 결론을 맺는다.

Keywords:

Push, Pull, PointCast, Castanet, Downtown, BackWeb, NewsCatcher

1. Introduction

인터넷의 정보는 계속적으로 증가하고 있다. 인터넷의 정보가 많아지면서 자신이 원하는 정보를 찾기는 더욱 힘들어지고 있다. 아무리 좋게 평가되는 웹 검색을 사용하더라도 자신이 원하는 정보만을 얻기는 더욱 힘들어질 것 같다. 더욱이 특정한 주제에 관한 정보들을 수집하는 일은 더더욱 힘들어질 것 같다.

웹 브라우저로 더없이 넓은 인터넷을 헤매기보다 원하는 정보만을, 원하는 때에 받고 싶지는 않는가? 이러한 가장 기초적인 목적을 향해 나가고 있는, 최근의 가장 뜨거운 인터넷 응용 프로그램은 아무래도 푸쉬 제품들일 것이다. 이러한 제품은 최근의 뉴스, 주식 정보, 심지어는 소프트웨어까지 컴퓨터에 바로 전달하여준다. 또한 이러한 푸쉬 기술들은 이전의 브라우징과는 다른 방식으로, 정보를 수집, 가공하는 방식을 사용자들이 만들 수 있도록 도와준다.

2. Push/Pull Technology

현재는 대부분의 사람들은 인터넷의 컨텐트(content)를 당겨옴(pulling)으로서 그것에 접근한다. 브라우저를 사용하여 웹 서핑을 할 때에, 링크를 클릭할 때마다 브라우저는 웹 서버에 링크에 관련된 페이지를 요청(pull)하고, 이를 다운로드받아 브라우저에서 보여준다. 즉, 사용자가 어떤 요청(여기에서는 링크의 마우스 클릭)을 해야만 인터넷의 컨텐트가 사용자에게 보여진다는 것이다. 하지만, 푸쉬의 경우에는 다르다. 푸쉬의 경우에, 서버는 클라이언트에서 요청이 들어올 때까지 기다리지 않는다; 대신, 클라이언트에서 받아달라고 요청하거나 세팅한 컨텐트가 준비되었을 때, 서버가 그것을 자동적으로 클라이언트에 전달, 즉, 푸쉬 하여 준다. 사용자는 자신이 원할 때에, 자동적으로 전달된/푸쉬된 컨텐트를 볼 수 있다.

이러한 원칙에서 푸쉬는 현재의 브라우징 방식과 다른 원리를 가지고 있다. 컴퓨터 화면에서 보여지는 형태로 보았을 경우에는 현재의 웹 페이지를 보는 것과 별반 다를 것이 없다. 하지만, 브라우징을 하는 방식 자체가 근본적으로 다르며, 이러한 브라우징 방식만을 두고 볼 경우에는 차라리 TV, 혹은 라디오와 같은 기존의 오랜 전통을 가진 매체와 비교하는 것이 맞을 것이다.

3. How push clients should work

여기에서는 푸쉬 클라이언트가 어떻게 동작해야 하는지를 설명하고, 다음에서는 푸쉬 클라이언트가 실제로 동작하는 방식에 대하여 설명한다. 푸쉬에 대한 개념을 명확하게 정리하기 위해서 원칙을 우선 설명하는 것이다.

그림 . 푸쉬 클라이언트의 동작

위의 그림에서 보는 것과 같이 클라이언트는 웹 브라우저에서 사용자가 자발적으로 컨텐트를 가지고 오는 것과는 달리, 수동적으로 들어오는 데이터를 받아들이기만 한다. 반대로 서버는 자발적으로 뉴스들이 들어오면 들어온 뉴스들을 바로 클라이언트들에 뿌려주게(push) 된다.

이 경우 서버가 뿌려주기 위해서는 우선 모든 시스템이 아닌, 등록된 클라이언트에만 뿌려주기 위해서 등록된 사용자들에 대한 데이터베이스(user DB)가 필요하다. 또한, 등록된 사용자들에게만 컨텐트를 뿌리기 위하여, 특정한 여러 시스템에 컨텐트를 보낼 수 있는 멀티캐스트(multicast)가 필요하다. 하지만, 실제로 이러한 서비스를 이용하려고 등록하는 사람의 수가 굉장히 많아지면 (PointCast과 같은 서비스의 경우에는 사용자 백만명을 넘은지 꽤 되었다) 이렇게 사용자 데이터베이스를 보면서 컨텐트를 멀티캐스팅을 해준다는 것은 불가능하다. 그렇기 때문에, 현실적인 대안으로 다음에 설명하는 것과 같이 구현한다.

4. How push clients work

http://www.cnet.com/Content/Reviews/Compare/Push/ss04b.html에서 발췌한 다음 내용은 푸쉬 클라이언트들이 어떻게 동작하는가를 간단하지만, 정확하게 보여주고 있다.

(1) 우선 사용자는 몇 초에 한번씩 데이터를 갱신하라고 세팅한다. 이 과정에서 실제로 원하는 분류에 있는 뉴스/정보들만을 자신에게 가지고 오라고 세팅을 하게 된다.

(2) 이러한 세팅에 따라서 푸쉬 클라이언트는 실제로 정해진 시간에 서버에 접속하여 (그림에는 웹 서버라고 되어 있지만, 웹 서버만 되는 것은 아니다. 푸쉬 클라이언트가 이해할 수 있는 고유한 프로토콜을 사용하여도 상관없다) 사용자가 원하는 분류의 정보만을 가지고 온다.

(3) 사용자는 자신이 원하는 때에 푸쉬 클라이언트가 가지고 와서, 로컬 파일 시스템(즉, 하드 디스크)에 저장한 정보를 읽으면 된다. 이러한 정보는 자신이 원하는 분류에 속한 뉴스/정보만이 된다.

1.

configuration

The user configures the

push client to deliver

news headlines at

regular intervals, say

every 15 minutes.

2.

client/server

exchange

While the user is away

or working on

something else, the push

client will pull the

available headlines from

the server at the

requested interval.

3. news

delivered

Once the user returns,

the push client delivers

the headlines it has

collected.

이러한 구조에서는 서버에 뉴스/정보가 있다고 해서 바로 클라이언트에 넣어주는(push) 것이 아니다. 단지, 클라이언트에서 지속적으로 서버를 체크하여 데이터를 가지고 오는 폴링(polling) 방식으로, 서버에서 마치 정보를 넣어주는(push) 것처럼 보일 뿐이다. 즉, 푸쉬라고 하는 단어가 실제로는 잘못 사용되고 있음을 나타낸다.

이러한 경우, 사용자가 서버를 체크하는 시간을 크게 잡아둔다면 실시간으로 올라오는 데이터와 같은 경우(예를 들면, 현재 진행 중인 야구 경기의 점수와 같은 경우)에는 클라이언트에서 보여주기가 곤란해진다. 이러한 폴링 방식의 단점을 극복하기 위해서 실시간이 꼭 필요한 뉴스/정보의 경우에는 일반적인 뉴스/정보에 대하여 사용자가 세팅하는 시간과는 별개로 처리하는 방식이 필요하다.

5. Push vs. TV

푸쉬 기술이 정보 전달의 방식 측면에서는 차라리 기존의 TV나 라디오와 유사하다. 두 매체 모두 서버(TV의 경우에는 방송국)가 자발적으로 정보를 제공한다는 정보 전달 방식이 비슷한 것이다. 여기에서는 기존의 TV와 푸쉬를 비교하여 푸쉬의 성격을 더욱 명확하게 알아본다.

표1. 푸쉬와 TV/라디오의 비교

	Push	TV/Radio
casting	multicast	broadcast
storage	exist	doesn't exist
channels	customizable, personalized	fixed
media	HTML, informative(?) media, software	video/Audio
contents	information, news, softwares	no limits

위의 표에서와 같이, 푸쉬의 경우에는 등록된 사용자들에게만 정보가 제공되는 multicast의 성격을 지니는데 반하여, TV나 라디오는 대상을 고려하지 않고 내용물을 제공하는 broadcast의 성격을 지닌다. 이러한 성격 차이 때문에 푸쉬의 경우에는 타겟 마케팅(target marketing)이 TV의 경우보다 더욱 정밀하게 가능하다.

푸쉬의 경우에는 전달되는 정보를 저장해 두었다가 사용자가 원할 때 볼 수 있다. 하지만, TV나 라디오의 경우에는 정보 전달이 일어나는 그 순간에 볼 수 없다면, 그 내용은 볼 수 없다. 물론 재방송과 같은 장치가 있으나, 이것 또한 사용자가 주도된 것은 아니다.

TV와 푸쉬 모두 각 서비스에 따라서 고정된 수의 채널을 지닌다. 하지만, 푸쉬의 경우에는 TV와는 달리 받아볼 채널을 자신에 맞게 세팅할 수 있다. 이러한 방식으로 자신이 원하는 정보만을 받아본다. 채널이 개인화될 수 있다는 것이다.

제공되는 매체 형태는 TV와 라디오에서 더욱 자유롭게 된다. 푸쉬의 경우에는 기존의 웹에서 사용하였던 HTML과 자신들만의 독특한 매체(PointCast과 같은 경우에는 자신들만을 스크린 세이브 파일 포맷) 등이 있다. 이러한 매체는 소프트웨어를 제외한다면 비디오와 오디오로 모두 표현이 가능하므로, TV에서 사용하는 매체로 모두 표현이 가능하다. 즉, 표현력에 있어서는 떨어진다고 할 수 있다.

하지만, 정보 매체(informative media, 이 단어는 필자가 붙인 용어이다. 정보를 전달을 쉽게 하려는 목적을 가진, 생성에 드는 비용이 비디오에 비하여 상대적으로 적은 매체를 나타낸다.)의 경우에는 이야기가 약간 다르다. 푸쉬의 경우에는 대부분 뉴스/정보를 전달하려는 목적으로 현재 사용되고 있기 때문에 비디오와 같이 높은 네트워크 밴드폭을 필요로 하는 매체가 필요없기 때문이다. 정보 매체가 기본적인 푸쉬 기술의 요소임을 아래에서 설명한다.

제공되는 컨텐트는 위와 같은 여러 가지 요소들에 의하여 TV에서는 거의 제약이 없는 반면, 푸쉬의 경우에는 뉴스/정보/소프트웨어에 한정되어 제공되고 있다.

6. Five push products

여기에서는 5개 정도의 푸쉬 제품들을 알아본다. 각각의 제품들은 약간씩 다른 고유한 특성을 가지고 있으며, 고유한 특성을 중점적으로 설명한다. 그 외의 구동 원리와 같은 것들은 앞에서 설명한 것과 마찬가지로 유사하며, 더 자세한 설명과 실제 동작을 위해서는 각 사이트에 접속하여 직접 제품들을 다운로드하여 사용하기를 바란다.

표2. 다섯개의 푸쉬 제품 비교

	Features	Media
PointCast	Channel Viewer, SmartScreens	HTML, Screen Saver file format
Castanet	Java-based	Java
Downtown	Channel Bar	HTML, Web Site, ?
BackWeb		Infopaks
NewsCatcher	wireless (national pager network)	HTML

6.1 PointCast (http://www.pointcast.com/)

PointCast 서비스는 현재 푸쉬 제품 중에서 독보적인 선두주자로 꼽히고 있다. PointCast 서비스는 옆에서 보는 것과 같이 채널을 보기 위한 채널 뷰어(channel viewer)와 화면보호기인 스마트스크린(SmartScreens)으로 구성된다. 옆의 채널 뷰어에서는 현재 날씨 채널을 보이고 있으며, 주황색/파란색의 광고 화면이 보인다. 이러한 채널 뷰어에서는 뉴스들은 HTML 파일로, 자체적인 포맷을 가지는 주식/날씨와 같은 데이터들은 그래픽을 이용한 처리를 통해 보여진다.

다른 여타의 푸쉬 제품들에 비한, PointCast의 가장 큰 장점으로는 안정성이 꼽혀진다. 채널 뷰어, 스마트스크린의 깨끗한 그래픽 또한 중요하지만, 사용자의 입장에서는 안정성이 얼마나 중요한지를 단적으로 보여주는 일례이다. PointCast 서비스의 독특한 면은 스마트스크린이라고 하는 제품으로 화면보호기의 역할을 하면서 컨텐트의 정보를 효과적으로 전달한다(그 이후에 AD Online, http://www.afterdark.com/과 같은 제품도 나왔다). 옆의 그림에서는 COMPANIES라는 채널의 컨텐트를 보여주고 있으며, 왼편으로 하얀색의 광고가 보인다. 이러한 스크린을 구성하기 위해서 PointCast은 독자적인 포맷을 만들었다. 이러한 화면을 구성하는데 가장 크게 어려운 요소는 네트워크 밴드폭이 그리 크지 않다는 것이다. 이러한 밴드폭을 만족시키기 위하여 동영상으로 처리하면 쉬운 것도 스크립트(예를 들면, 이러한 객체는 오른쪽에서 나와서 왼쪽으로 사라져라 등)를 사용하여 만들어진다는 것을 주의해야 한다. 이러한 정보 매체를 만드는 것도 기본적인 기술 중의 하나이며, PointCast의 경우에는 스마트스크린으로 표현되는 정보 매체 기술을 가지고 있다고 볼 수 있다.

6.2 Castanet (http://www.marimba.com/)

자바를 기반으로 하고 있다는 점에서 다른 푸쉬 제품들과 차별화가 된다. 채널에서 받아볼 수 있는 정보로는 자바 응용 프로그램, 자바 애플릿, 웹 사이트가 있다. 즉, 자바 응용 프로그램을 받아볼 수 있기 때문에 자바로 만들어진 프로그램을 인트라넷/인터넷에서 네트워크를 이용하여 배포하고 관리하기 위해서 매우 좋은 해결책을 제공한다.

따라서 뉴스/정보를 제공하는 푸쉬 제품이기보다는 소프트웨어를 인트라넷/인터넷에서 배포하기 위한 혁신적인 푸쉬 제품이라고 소개하는 것이 올바를 것이다.

6.3 Downtown (http://www.incommon.com/)

Downtown의 경우에는 위의 그림과 같은 채널바만이 기본적인 인터페이스로 제공된다. PointCast과 같은 채널 뷰어와 Smartscreens와 같이 인터페이스가 한 화면을 모두 덮기보다 윈도우즈의 태스크바와 같이 하나의 막대 형태로 제공되기 때문에 적은 공간만을 푸쉬 제품을 위하여 사용하려는 사용자의 요구에 부응될 수 있다. 이러한 채널 바에서 채널을 선택하면, 선택한 채널을 위한 창이 따로 오른쪽의 그림과 같이 화면에 뜨게 된다. 그러면 이 채널에서 자신이 원하는 섹션(옆의 그림에는 National, News, International 등의 섹션이 있다)을 선택하여 기사를 읽으면 된다.

그리고 이러한 채널에는 웹 페이지 또한 등록을 할 수 있기 때문에 항상 갱신하고자 하는 웹 페이지를 자신만의 채널로 만들 수 있다는 특징도 있다. 앞으로 나올 Microsoft사의 Active Desktop이나, Netscape사의 Constellation 모두 웹 페이지를 등록하여 윈도우즈의 어딘가에 항상 갱신된 상태로 둘 수 있다는 것을 볼 때에, 푸쉬 제품에서 사용자가 등록하는 웹 페이지를 항상 갱신하는 기능을 하는 것은 필요하다고 생각된다.

6.4 BackWeb (http://www.backweb.com/)

다음과 같은 네 가지 매체를 가지는 Infopak이라는 정보 매체를 사용한다는 특징을 BackWeb은 가지고 있다. Infopak을 브라우징하기 위한 브라우저도 있다.

·InfoFlash : 정보가 날라왔을 때에 화면에 정보가 왔다는 것을 알리는 아이콘과 같은 것이 떠다니게 된다. 이것을 누르면 실제로 전달된 정보가 실제로 보이게 된다.

·SoftwareFlash : 아래의 그림과 같이 소프트웨어가 날라왔을 때에 화면에 소프트웨어가 왔다는 것을 알리는 아이콘과 같은 것이 나타난다. InfoFlash의 경우와 비슷하기 때문에 둘다 Flash라고 하지만, 모양은 약간 다르다. 이것을 누르면 실제로 전달된 소프트웨어를 실행할 수 있다.

·Wallpaper : 화면에 까는 Wallpaper 또한 정보로 전달될 수 있다.

·Screensaver : 화면 보호기 또한 전달될 수 있다.

이러한 매체들을 개발하기 위한 BackWeb Software Development Kit (SDK) 또한 제공되고 있다. 하지만, 실제로 소프트웨어와 같은 것들은 플랫폼에 의존적이기 때문에 (예를 들어, Castanet의 경우에는 자바 기반이므로, 플랫폼에 독립적인 특성을 가진다) 자바 기반이 아닌 소프트웨어를 사용한다는 것은 단점으로 생각된다. 하지만, Flash라고 할 수 있는 인터페이스는 독자적인 것으로 평가받을 수 있다. 물론, 이러한 이유 때문에 컨텐트의 개발에 문제가 있다는 단점을 간과할 수는 없을 것이다.

6.5 NewsCatcher (http://www.airmedia.com/)

NewsCatcher는 여타의 푸쉬 제품들에 비하여 푸쉬라는 개념에 매우 근접해있다. 여타의 푸쉬 제품들이 인터넷에 연결되어 있다는 것을 기초로 하여 소프트웨어로만 제공되는 것과는 달리, NewsCatcher에서는 유료로 하드웨어 하나가 제공된다. 옆의 그림에서 피라미드와 같은 모양의 검은색을 가진 물건이다. 이것은 페이저(삐삐)와 비슷한 기능을 하는 것으로 national pager network을 이용하여 뉴스/정보 데이터를 받게 된다. 물론, 페이저 네트워크의 밴드폭이 그리 크지 않기 때문에(인터넷보다도 훨씬 작다) 많은 데이터를 보낼 수 없다는 단점을 가지지만, 서버에 정보가 있을 때마다 클라이언트에 데이터를 뿌려준다는 점에서 푸쉬라는 개념에 가장 근접해 있는 것이다. 옆의 그림에서 보여지듯이, 대략적으로 다음과 같은 방식으로 사용자에게 정보가 전달(push)되어서 보여진다.

(1) 서버에 있는 여러 정보가 national pager network을 통하여 NewsCatcher에 전달된다. (2) 전달된 정보가 NewsCatcher에서 컴퓨터로 시리얼 포트를 통하여 전달되며, 이렇게 전달된 정보는 NewsCatcher를 위한 브라우저로 사용자가 원할 때에 보여진다.

7. Component technologies

다음과 같은 기술들이 푸쉬 제품을 개발하기 위한 가장 기본적인 기술들이다.

·웹 서버/클라이언트 기술 : 뉴스/정보의 대부분이 현재는 HTML로 표현된다는 것을 감안한다면 웹 서버/클라이언트 기술은 가장 기본적인 기술이다.

·광고를 위한 logging/auditing/rating 기술 : 실제로 이러한 푸쉬 제품을 가지고 대규모의 서비스를 하기 위해서는 광고가 필연적이다. 물론 Castanet과 같이 인트라넷에서의 소프트웨어 배분을 위한 제품이라면 광고와 같은 것은 필요 없지만 말이다. 만약 광고를 통한 수익을 생각한다면 광고를 위한 통계를 기록/분석하기 위한 기술들도 필요하다는 것을 잊지 말아야 한다. 우선 광고에 대한 여러 가지 통계치를 뽑기 위한 logging 기술이 필요하다. 그리고 이를 이용하여 자세하게 사용자의 행동 양식, 사용자의 스테레오 타입, 광고의 효과 등의 여러 가지 요소들을 분석하는 auditing 기술이 다음으로 필요하다. 마지막으로 각 컨텐트에 등급을 매겨서 적절하게 컨텐트가 보여질 수 있도록 하는 rating 기술이 필요하다.

·정보 매체 (informative media) 기술 : PointCast의 스마트스크린과 BackWeb의 Infopak과 같은 것들은 푸쉬 제품에서 전달된 뉴스/정보를 어떻게 가공하여 효과적으로 정보를 전달하면서 낮은 네트워크 밴드폭에서도 운영될 수 있도록 할 것인지를 고려하여 만들어진 정보 매체로 볼 수 있다. 이러한 정보 매체의 디자인과 구현 또한 푸쉬 제품을 이루는 기본적인 기술이다.

이러한 기본적인 기술들에 앞서서, 여러 푸쉬 제품이 자신들만의 특화된 장점과 분야를 가지고 있는 것을 보았듯이, 푸쉬 제품을 만들기 위해서는 우선 자신들의 목적과 특화된 기술을 확실하게 정해야만 한다. 그리고 이를 단시일 내에 개발하여 빠른 기술 변화에 대응할 수 있어야 한다.

8. Conclusion

기존의 풀 방식과는 다른 정보 전달 방식인 푸쉬 방식은 최근 인터넷의 새로운 응용 프로그램으로 부상되고 있으며, 이러한 현상은 최근의 웹TV, 인터넷TV와 같이 TV와 웹/인터넷을 함께 취하고자 하는 노력과 맞물려서 더욱 급부상하고 있다. 정보 매체라든지, 여러 가지 기술들이 웹TV, 인터넷TV를 만들기 위한 기반 기술로 자리잡게 될 것으로 기대되며, 이러한 푸쉬 제품으로만 제공되어야할 서비스 또한 존재할 것이다. 여기서 주의할 것은, 푸쉬 제품들이 나온다고 해서 풀 방식이 없어지지는 않는다는 것이다. 즉, 푸쉬/풀 방식이 상호보완적으로 사용자들에 의하여 사용될 것이라는 점이다.