KR100431565B1 - 데이터 전송 방법, 컴퓨터 네트워크 시스템 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

데이터 전송 방법, 컴퓨터 네트워크 시스템 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR100431565B1
KR100431565B1 KR10-2001-0072547A KR20010072547A KR100431565B1 KR 100431565 B1 KR100431565 B1 KR 100431565B1 KR 20010072547 A KR20010072547 A KR 20010072547A KR 100431565 B1 KR100431565 B1 KR 100431565B1
Authority
KR
South Korea
Prior art keywords
node
electronic document
communication path
server
client
Prior art date
Application number
KR10-2001-0072547A
Other languages
English (en)
Other versions
KR20020040574A (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20020040574A publication Critical patent/KR20020040574A/ko
Application granted granted Critical
Publication of KR100431565B1 publication Critical patent/KR100431565B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 컴퓨터 네트워크를 통해 데이터를 전송하는 방법, 시스템, 프로그램에 관한 것으로서 제 1 통신 경로를 이용하여 클라이언트로부터 메인 서버로의 전자 문서에 대한 요청을 발행하고 전자 문서를 형성하는 적어도 하나의 객체의 전송을 시간순으로 동기화하는데, 이 동기화는 주 서버와 전자 문서 객체의 적어도 다른 하나를 저장하는 부 서버 사이의 제 2 통신 경로를 이용하여 달성된다. 제 2 통신 경로는 제 1 통신 경로보다 더 빠른 전송 속도를 갖는다. 동기화는 전자 문서 객체 중 둘 이상을 시간순으로 순서화함으로써 달성될 수 있다. 동기화 정보는 전자 문서와 관련된 주 파일 내에 삽입될 수 있다.

Description

데이터 전송 방법, 컴퓨터 네트워크 시스템 및 컴퓨터 판독 가능한 기록 매체{DISTRIBUTED PROCESS FOR SYNCHRONIZING THE DELIVERY OF DATA FROM MULTIPLE WEB SERVERS}
본 발명은 전반적으로 컴퓨터 시스템, 더 구체적으로는 다수의 서버(server)를 이용하는 인터넷과 같은 컴퓨터 네트워크를 통해 데이터를 전송하는 방법, 시스템 및 프로그램에 관한 것이다.
일반화된 클라이언트-서버 컴퓨터 네트워크(2)가 도 1 에 도시된다. 네트워크(2)는 서로 직접 또는 다른 서버들 중 하나를 통해 간접적으로 상호 접속되는 몇몇 노드(node), 즉 서버(4, 6, 8, 10)를 갖는다. 각각의 서버는 본래 (하나 이상의 프로세서, 메모리 장치 및 통신 장치를 구비하는) 독립형 컴퓨터 시스템(stand-alone computer system)이지만, 정보를 다른 노드의 세트에서의 개개의 사용자, 즉 워크스테이션 클라이언트(12)에 제공한다는 하나의 주 목적을 위해 적합하게(프로그래밍)된다. 클라이언트는 자신이 관련되지 않은 또 다른 클래스나 그룹의 서비스를 사용하는 컴퓨터나 컴퓨터 시스템의 클래스 또는 그룹의 멤버이다. 또한, 클라이언트(12)는 휴대용 전화기 또는 텔레비전과 같은 인터넷 이용가능 장치뿐만 아니라 네트워크(2)를 제한적으로 사용하는 데 적합한 독립형 컴퓨터 시스템(개인용 컴퓨터, 즉 PC) 또는 "더머(dumber)" 시스템일 수 있다. 드물긴 하지만, 하나의 물리적 컴퓨터가 서버 및 클라이언트로서의 역할을 모두 할 수도 있다.
서버에 의해 제공된 정보는 주어진 클라이언트(12) 상에서 국부적으로 실행되는 프로그램의 형태 또는 다른 프로그램에 의해 사용되는 파일과 같은 데이터의 형태로 존재할 수 있다. 또한, 사용자는 서로 실시간으로 뿐만 아니라 지연된 파일 전송(delayed file delivery)을 이용하여 서로 통신할 수 있는데, 즉, 동일한 서버에 접속된 사용자는 네트워크(2) 없이 서로 통신할 수 있고 서버(4, 6)와 같이 상이한 서버에서의 사용자는 네트워크(2)를 통해 서로 통신할 수 있게 된다. 네트워크는 실제로 근거리(local)일 수도 있지만, 서버(8, 10)로 표시된 바와 같이 다른 시스템(도시되지 않음)에 원거리로 접속될 수 있다.
전반적으로 네트워크(2)의 구조는 인터넷에도 적용가능하다. 인터넷과 같은 컴퓨터 네트워크에 있어서 클라이언트는 또 다른 프로그램에 의해 제공되는 서비스를 요청하는 프로세스(즉, 프로그램 또는 태스크)이다. 클라이언트 프로세스는 다른 프로그램 또는 서비스 자체에 관한 어떠한 세부적인 작업도 "알아야" 할 필요없이 요청된 서비스를 사용한다. 사용자에 의한 요청에 기초하여 클라이언트 프로세스에 서버가 응답할 때 서버는 필터링된 전자 정보를 사용자에게 제공한다.
전자 메일, FTP(file transfer protocol)을 통한 단순한 파일 전송, 텔넷(Telnet)을 통한 원격 컴퓨터 사용(remote computing), "고퍼(gopher)" 검색,유즈넷 뉴스 그룹(usenet newsgroups), 하이퍼텍스트 파일 전송(hypertext file delivery) 및 월드 와이드 웹(World Wide Web : WWW)을 통한 멀티미디어 스트리밍(multimedia streaming)을 포함하는 다양한 유형의 정보 전송을 허용하는 통상의 프로토콜 및 서비스는 인터넷용으로 확립되었다. 주어진 서버는 이러한 동작 중 하나를 수행하거나 다수의 서비스를 실행하는 데 전용될 수 있다. 전형적으로 인터넷 서비스는 하나의 고유한 어드레스, 즉, URL(universal resource locator)를 지정함으로써 액세스된다. URL은 2 개의 기본 구성 요소, 즉 사용되는 프로토콜과 목적 경로명을 갖는다. 가령, URL "http://www.uspto.gov"(미국 특허 상표청(United States Patent Trademark Office)의 홈페이지)는 하이퍼텍스트 전송 프로토콜("http") 및 서버의 경로명("www.uspto.gov")을 지정한다. 서버명은 고유한 수치(a TCP/IP 어드레스, 즉 "도메인")와 관련된다.
본 발명은 사용자 액세스를 위해 사용하기 쉽게 링크된 파일을 제공하는 인터넷 - 특히 WWW에 적용가능함 - 과 같은 네트워크 상에 분포하는 컴퓨터 파일의 전송에 관한 것이다. 예를 들어, 도 2 에 도시된 바와 같이 파일 또는 페이지(16a 내지 16h)의 그룹(14)은 각각의 파일 내에 하이퍼텍스트 링크를 제공함으로써 상호 연관된다(따라서, 그룹(14)은 전형적인 "웹 사이트(web site)"로 간주된다.). 하이퍼텍스트 링크는 워크스테이션의 디스플레이(18) 상에서 볼 수 있는 객체(가령, 이미지 또는 텍스트)인데, (가령, 포인팅 장치 또는 "마우스"를 이용하여) 사용자가 선택할 수 있고 그에 따라 클라이언트 워크스테이션(12)이 그 특정 하이퍼텍스트 링크와 관련된 또 다른 페이지를 자동적으로 요청(즉, 또 다른 URL을 발행함)하도록 명령할 수 있다. 하이퍼텍스트 링크는 그림으로서 나타날 수도 있으며 밑줄이 쳐져 있거나 그렇지 않으면 그것이 보통의 문자나 문장이 아니라 정보를 제공하는 링크임을 나타내도록 강조된 문자나 문장으로 나타날 수도 있다.
WWW 페이지는 텍스트, 그래픽 (정지) 이미지 및 심지어는 사운드 레코딩(sound recording) 또는 동영상 클립(moving video clips)과 같은 멀티미디어 객체를 가질 수 있다. 하이퍼텍스트 페이지가 텍스트 외의 파일을 포함할 경우에는 보통 몇몇 개별 파일을 로딩함으로써 구성되는데, 가령, 하이퍼텍스트 파일 "main.html"은 그래픽 이미지 파일 "picture.gif" 또는 사운드 파일 "beep.wav"에 대한 레퍼런스(reference)를 포함할 수 있다. 클라이언트 워크스테이션(12)이 페이지(16a)와 같은 페이지 요청을 서버에 전송하는 경우에는 그 페이지와 관련된 주 하이퍼텍스트 파일을 (적어도 부분적으로) 서버가 먼저 전송하고, 그런 다음에 클라이언트가 후속하여 또는 동시에 그 페이지와 관련된 나머지 파일을 로드하고 나타낸다. 주어진 파일은 TCP/IP 프로토콜을 통해 몇몇 분리된 조각으로 전송될 수도 있다. 그런 후에, 구성된 페이지가 도 2에 도시된 바와 같이 워크스테이션 모니터(18) 상에 디스플레이된다. 페이지는 모니터 스크린의 물리적 크기보다 "더 클" 수도 있으며(즉, 페이지를 보기 위해 제공된 소프트웨어 프로그래밍된 "창(window)" 보다 더 큼), 페이지의 다른 부분을 보기 위한 스크롤 바(scroll bar)와 같은 기술이 뷰잉 소프트웨어(웹 브라우져)에 의해 사용된다.
인터넷 상의 사용자 및 서비스 제공자의 수가 극적으로 증가함에 따라 그러한 물리적 및 논리적으로 복잡한 네트워크를 통해 상당히 많은 정보를 분배하는 것에 대한 문제가 발생하였다. 전송 작업 부하(workload)를 효율적으로 분산시키는 한가지 방법은 다수의 웹 서버를 사용하는 것이다. 예를 들어, 많은 웹 사이트들은 그 웹 사이트의 서버와 별도의 서버에 전자적으로 저장되는 광고(가령, "배너(banner)")를 포함한다. 이들 "광고 서버(ad server)"는 광고 생성, 전송 및 모니터링을 관리하는 데 편리한 소스를 제공한다. 다수의 웹 서버를 사용하는 또 다른 예는 하나의 웹 사이트를 위한 정보를 다른 서버 위치에서 리던던트 저장(redundant storage)하는 것이다. 이러한 방법은 회사가 개선된 속도로 정보를 세계에 분배하는 것을 가능하게 한다. NAS(Network Attatched Storage) 및 SAN(Storage Area Network)의 발달로 사용자가 접속하는 주 HTTP 서버로부터 분리된 저장 장치의 중앙 관리형 네트워크 내에 방대한 양의 데이터를 보유할 수 있는 공간을 만들어 냈다. 이들 네트워크는 서버들이 초고속 LAN을 통해 서로 접속되는(그러나 낮은 레벨로 통합됨) "서버 팜(server farm)"과 개념면에서 유사하다.
이들 기술들은 유용하지만 정보 전송의 동기화에 관한 문제가 여전히 남아 있다. 도 3에 도시된 것과 같이 2 개의 텍스트 필드(22, 24), 4 개의 이미지(26(www.doubleclick.com/image_ad.gif로부터), 28(www.akamai.com/2323 /image_akamai.gif로부터), 30(www.yahooserver1.com/image_3.jpg로부터), 32(www.yahooserver2.com/image_4.jpg로부터))를 포함하는 웹 페이지(URL http://www.yahoo.com/mainpage.html)(20)를 검토해보자. 이 예에서는 페이지(20)가 웹 클라이언트에 의해 다운로드될 경우, 후속하는 이벤트의 시퀀스가 발생한다.
단계 1 : 페이지 "mainpage.html"은 www.yahoo.com(주 서버 HTTP 서버)에 있는 서버로부터 인출된다.
단계 2 : 주 서버 HTTP 서버는 페이지 "mainpage.html"을 클라이언트에게 보내고 클라이언트는 그 페이지의 표시를 개시한다.
(단계 3a 내지 3c는 효율적으로 동시에 수행된다.)
단계 3a : 클라이언트는 텍스트 필드(22)에 이어 텍스트 필드(24)를 스크린에 나타낸다.
단계 3b : 클라이언트는 doubleclick.com의 서버로부터 "image_ad.gif"를 요청하고 후속하여 스크린에 나타낸다.
단계 3c : 클라이언트는 akamai.com의 서버로부터 "image_akamai.gif"를 요청하고 후속하여 스크린에 나타낸다.
단계 3d : 클라이언트는 yahooserver1.com으로부터 "image_3.gif"를 요청하고 후속하여 스크린에 나타낸다.
단계 3e : 클라이언트는 yahooserver2.com으로부터 "image_4.gif"를 요청하고 후속하여 스크린에 나타낸다.
단계 (3a 내지 3e)에 이어서 사용자는 페이지(20)의 전체 컨텐츠를 알아볼 수 있다. 그러나, 전송의 비동기 분산 특성 때문에 컨텐츠가 클라이언트에 도착하고 클라이언트의 디스플레이 스크린 상에 나타나는 순서에 대한 제어 또는 사전예측은 하지 못한다. 따라서, 종래 기술의 웹 페이지 구성으로는 텍스트 필드("As you can see from the picture of Mountain Everest, in summer it is one of a group of clustered mountains and is always covered by snow")(24)가 스크린 상에 나타날 수 있지만, 에베레스트 산의 그림(28)은 다운로드되고 나타나는 데 20 초 이상이 더 걸린다.
웹 브라우져에 대한 연장(extensions), 적절한 스크립트 또는 애플릿을 이용하여 모든 컨텐츠가 다운로드될 때까지 표시를 지연시켜 모든 컨텐츠가 효과적으로 동시에 사용자에게 제공되도록 할 수도 있다. 그러나, 일반적으로는 다운로드되는 것은 무엇이든지 클라이언트가 이용할 수 있도록 하는 것이 바람직하다. 이를 달성하기 위해 특히, 그러한 복잡한 해석 또는 실행이 실현 불가능할 수도 있는 팜 탑 컴퓨터(palm-top computer), 웹 폰 등과 같이 성능이 뛰어나지 못한 클라이언트(thin clients)에서의 국부적 스크립팅 또는 프로그램은 좋은 생각이 아니다. 그러므로, 더욱 동기화된 방법으로 웹 클라이언트에게 컨텐츠를 전송하는 개선된 방법을 고안하는 것이 바람직할 것이다. 기존의 네트워크 기본 구조를 이용하는 것과 같은 방법으로 전자 문서의 서로 다른 부분의 전송을 조정하여 비용을 줄이고 사용을 단순화할 수 있으면 더 유리할 것이다.
따라서, 본 발명의 목적은 인터넷과 같은 네트워크를 통해 인출되는 정보를 액세스하는 개선된 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 전자 문서의 컨텐츠를 클라이언트에게 전송할 때 작업 부하를 효율적으로 분산시키기 위해 다수의 서버를 사용하는 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 기존의 네트워크 접속 기본 구조를 이용하여 다수의 웹 서버로부터의 컨텐츠의 전송을 동기화하는 방법을 제공하는 것이다.
전술한 목적은 컴퓨터 네트워크를 통한 데이터 전송 방법으로 달성되는데, 일반적으로는 제 1 통신 경로를 사용하여 복수개의 객체로 이루어진 전자 문서를 식별하는 요청을 컴퓨터 네트워크의 제 1 노드로부터 제 2 노드로 발행하는 단계와, 상기 전자 문서 객체들 중 적어도 하나의 객체를 제 1 노드로 전송하는 것을 컴퓨터 시스템의 제 2 노드와 상기 전자 문서 객체들 중 적어도 하나의 다른 객체를 저장하는 제 3 노드 사이의 제 2 통신 경로를 이용하여 시간순으로 동기화하는 단계를 포함한다. 예시적인 실시예에서 제 2 통신 경로는 제 1 통신 경로의 전송 속도보다 더 빠른 전송 속도를 갖는다. 인터넷과 같은 클라이언트 서버 네트워크에 있어서, 제 1 노드는 클라이언트 워크스테이션이고, 제 2 및 제 3 노드는 네트워크 서버이다. 동기화는 전자 문서 객체 중 둘 이상을 시간순으로 순서화함으로써 달성될 수 있다. 동기화 정보는 전자 문서와 관련된 주 파일 내에 삽입될 수 있다.
전술한 것들뿐만 아니라 부가적인 본 발명의 목적, 특징 및 이점들은 후속하는 상세한 설명에서 명백해 질 것이다.
도 1은 상호 접속된 서버 및 클라이언트 워크스테이션을 포함하는 통상의 컴퓨터 네트워크의 도면,
도 2는 WWW 상의 페이지와 같이 네트워크 상에 존재하는 링크된 객체의 세트로부터 객체 검색의 개략도,
도 3은 텍스트 필드 및 이미지와 같은 관련 특징을 보여주는 완전하게 표현된 웹 페이지의 도면,
도 4는 본 발명의 예시적 실시예에 따른 단순화된 네트워크 구성의 블록도,
도 5는 본 발명의 일 실시예에 따른 브라우져/서버 상호작용의 논리적 흐름도.
도면의 주요 부분에 대한 부호의 설명
2 : 클라이언트-서버 컴퓨터 네트워크 4, 6, 8, 10 : 노드 또는 서버
12 : 워크스테이션 클라이언트 14 : 파일 또는 페이지의 그룹
16a 내지 16h : 파일 또는 페이지
18 : 워크스테이션의 디스플레이
20 : 웹 페이지 22, 24 : 텍스트 필드
26, 28, 30, 32 : 이미지 42 : 주 웹 서버
44 : 보조 웹 서버 46 : 클라이언트
본 발명의 특성으로 믿어지는 새로운 특징은 첨부한 청구항에 제시된다. 그러나 본 발명 자체뿐만 아니라 바람직한 사용 모드, 또 다른 목적 및 그 이점은 후속하는 구체적 실시예의 상세한 설명을 첨부 도면과 함께 읽을 때 아주 잘 이해할 수 있을 것이다.
이제 도 4를 참조하면, 본 발명에 따라 구성된 네트워크 구성의 일 실시예(40)를 도시하고 있다. 네트워크(40)는 인터넷에 관하여 기술되지만 본 발명은 다른 네트워크에서도 구현될 수 있으므로 이러한 참조가 한정적 의미로 해석되어서는 안 될 것이다.
일반적으로, 네트워크(40)는 하나의 주 웹 서버(42), 하나 이상의 부 또는 보조 웹 서버(44) 및 하나의 클라이언트 워크스테이션(46)으로 이루어진다. 주 웹 서버(42)는 비교적 고속 링크(48)에 의해 Akamai, Doubleclick 또는 NAS와 같은 서버(44)에 접속된다. 그러나, 클라이언트(46)는 저속 링크(50)를 통해 서버에 접속된다. 클라이언트(46)는 데스크탑 워크스테이션일 수 있지만, PDA, 웹 이용가능 셀 폰, 인터넷 이용가능 텔레비전, 게임 콘솔 등일 수도 있다는 것을 당업자는 이해 할 것이다.
전형적으로, 서버(42, 44)를 운용하는 상업적 기업들은 네트워크 접속에 상당한 투자를 한다. 서버(42, 44)는 예를 들어, 고속 광섬유 링크를 사용하여 상호접속될 수 있다. 이와 달리, 클라이언트(46)는 전형적으로 전화 모뎀을 사용하여 접속된다. 본 발명은 이들 링크의 상이한 속도를 이용하여 사용자에게 투명한 방식으로 다수의 서버로부터 다운로드된 웹 컨텐츠가 순서화되도록 허용한다.
도 3의 예를 다시 고려해 보자. 본 발명에 따라 웹 페이지(20)는 후속하는 일련의 단계에 따라 더 효율적으로 구성된다.
단계 1 : 클라이언트(46)는 www.yahoo.com에 있는 서버, 즉 주 서버(42)로부터 "mainpage.html"(이 파일 "mainpage.html"은 텍스트 필드(22)와 연관된 완전한 텍스트를 포함하지만, 텍스트 필드(24)는 객체 태그(an object tag)를 갖는 삽입된 HTML 파일, 즉 HTML 파일 내부의 HTML 파일로서 제공된다.)을 요청한다.
(단계 2a 및 2b는 효율적으로 동시에 수행된다.)
단계 2a : 주 웹 서버(42)는 페이지 "mainpage.html"을 클라이언트(46)에 전송하고 클라이언트는 페이지의 표시를 개시한다.
단계 2b : 주 웹 서버(42)는 클라이언트(46)가 표시된 이미지 파일을 요청하고 있을 것이라는 것을 빠른 링크(48)를 통해 보조 서버(44)에 알린다(클라이언트(46)의 식별은 "쿠키(cookie)" 또는 URL 재기록을 통해 추적될 수 있다.).
(단계 3a 및 3f는 효율적으로 동시에 수행된다.)
단계 3a : 클라이언트(46)는 텍스트 필드(22)를 워크스테이션의 디스플레이 스크린 상에 나타낸다.
단계 3b : 클라이언트(46)는 doubleclick.com에 있는 서버로부터 "image_ad.gif"를 요청하고 후속하여 스크린에 나타낸다.
단계 3c : 클라이언트(46)는 akamai.com의 서버로부터 "image_akamai.gif"를 요청하고 후속하여 스크린에 나타낸다.
단계 3d : 클라이언트(46)는 yahooserver1.com의 서버로부터 "image_3.jpg"를 요청하고 후속하여 스크린에 나타낸다.
단계 3e : 클라이언트(46)는 yahooserver2.com의 서버로부터 "image_4.jpg"를 요청하고 후속하여 스크린에 나타낸다.
단계 3f : 클라이언트(46)는 www.yahoo.com의 서버로부터 텍스트 필드(24)를 위해 삽입된 객체(HTML 파일)를 요청한다(그러나, 이 주 서버(42)는 그 텍스트 객체를 즉지 전송하지는 않는다.).
단계 4 : 보조 서버(44)(akmai, doubleclick, yahooserver1 및 yahooserver2)는 그들의 클라이언트(46)로의 데이터 전송을 완료한 후, 다시 빠른 링크(48)를 통해 식별된 데이터를 클라이언트(46)로 전송하였다는 것을 주 서버(42)에 통지한다(또 다른 실시예에서는 전송을 기대하는 클라이언트로의 데이터 전송을 하기 직전에 이러한 확인이 전송될 수 있다.).
단계 5 : 주 서버(42)가 보조 서버로부터의 확인을 수신한 후에는 텍스트 필드(24)에 해당하는 요청된 파일을 클라이언트(46)로 전송하고, 후속하여 스크린에 나타낸다.
텍스트 "Mount Everest is the highest mountain in the world"가 스크린 상에 제일 먼저 나타나고, 후속하여 이미지가 나타날 것이다. 따라서, 본 발명에 따라 웹 페이지(20) 내에 삽입된 정보를 순서화하는 것에 기초하여 이미지가 나타난 후에만 텍스트 필드("As you can see from the picture of Mount Everest in summer it is one of a group of clustered mountains and is always covered by snow.")(24)가 나타난다. 그러므로, 에베레스트 산의 그림에 대한 해설적 문구가 나타나기 전에 이 그림이 나타날 것이다. 따라서, 분산된 데이터는 시간순으로 동기되어 전송된다. 타임아웃(timeouts)과 같은 발행은 본 발명의 범주에서 벗어나지만, 그 해결책은 이러한 개시를 참조할 때 당업자에게 명백할 것이다.
전술한 프로세스는 도 5의 흐름도를 참조하면 더 잘 이해할 수 있을 것이다. 먼저, 브라우져는 컨텐츠 서버에 대해 GET X를 실행한다(단계 52). 컨텐츠 서버는 요청과 관련된 클라이언트 특성을 기록한다(단계 54). 그런 다음, 클라이언트 유형이 서버에 알려졌는지 여부에 대한 판단을 한다(단계 56). 알려진 경우에는 서버가 요청된 아이템을 브라우져에 단순히 전송한다(단계 58). 알려지지 않은 경우에는 서버가 요청된 객체에 적절한 자바 스크립트를 첨부할 수 있다(단계 60). 그런 다음, 서버는 송신 및 수신 사이의 시간 차를 기록하고(단계 62), 동기화가 필요한지 여부에 관하여 또 다른 판단을 한다(단계 64). 동기화가 필요하지 않는 경우에는 소정의 동기화 단계 없이 적절한 서버에 단순히 통지만 송신될 수 있다(단계 66). 동기화가 필요한 경우에는 전송을 동기화 하기 위한 또 다른 단계가 취해진다(단계 68).
페이지 구성 요소의 동기화는 다양한 방법으로 달성 될 수 있다. 전술한 바와 같이, 이를테면 html 형 태그(html-type tags)를 사용하여 순서화 정보를 전자 문서 내에 삽입할 수 있다. 이와 달리, 동기화 정보는 동기화되어야 하는 객체에 대한 URL의 일부일 수도 있다. 예를 들어, 도 3에서의 에베레스트 산의 그림은 URL http://server3.akamai.com/bigimage.jpg/DELIVERY_INFO를 사용하여 가져올 수 있다(DELIVERY_INFO가 동기화 정보에 대응한다). 서버는 이러한 순서화 정보에 기초하여 필요한 통지를 제공하도록 적절히 프로그래밍된다. 그렇지 않으면, 네트워크(40)는 통상의 프로토콜 및 에이전트를 사용하여 다수의 노드 사이에 정보(데이터 및 메세지)를 라우팅할 수 있다. 클라이언트가 낮은 디스플레이 해상도를 갖는 경우에는 몇몇 이미지(특히, 페이지의 하단에 디스플레이되도록 구성된 것)가 최초의 가시 영역에서 벗어날 수 있고, 따라서 페이지의 최초 가시부 상에 디스플레이되는 객체의 나머지와 함께 동기화하는 것은 그다지 중요하지 않게 된다. 클라이언트측 비디오 장치 특성을 동적으로 결정하는 몇몇 방법이 있다. 예를 들어, 소형 프로그램(또는 스크립트) 서버로부터 다운로드되고 실행되어 그 결과를 서버로 반환(또는 나중에 서버에 의한 재사용을 위해 쿠키 내에 저장)할 수 있다. 이와 달리, 비디오 장치 특성이 클라이언트 브라우져에 의해 제공되는 선택적 HDTP 수용 태그 내의 데이터로부터 유추될 수도 있다. 브라우져 유형 및 운영 체제가 일반적으로 클라이언트로부터 서버로의 제 1 요청의 사용자-H 필드 내에서 전송되며, 따라서 서버는 이 정보를 사용할 수 있다. 전송 동기화는 클라이언트 디바이스 특성에 종속되는데, 예를 들어, 낮은 해상도의 모니터를 갖는 클라이언트는 판독하기 어려운 소정 이미지의 전송 동기화를 필요로 하지 않을 수도 있다.
따라서, 본 발명은 네트워크를 통해 전송되는 전자 문서 내의 다양한 구성 요소를 적시에 표현하는 제어 방법을 제공한다. 본 발명은 기존의 하드웨어를 이용하여 이 기능을 제공하고, 네트워크를 위한 접속 기본 구조를 이용한다. 또한, 본 발명은 적은 워크스테이션 오버헤드로 브라우져 내의 이벤트의 순서화를 허용하여 그 순간에 페이지 상의 실제 객체(즉, 이미지)에 의존하는 프로그램/스크립트의 실행을 용이하게 한다.
본 발명은 구체적 실시예를 참조하여 기술되었지만, 이러한 상세한 설명은 한정하는 의미로 구성되도록 의도된 것은 아니다. 본 발명의 상세한 설명을 참조하면 당업자에게는 본 발명의 또 다른 실시예뿐만 아니라 개시된 실시예의 다양한 변형이 명백해질 것이다. 예를 들어, 구체적 실시예가 클라이언트 서버 네트워크에 대해 기술되었지만, 당업자는 피어 투 피어 네트워크 내에서도 실시될 수 있다는 것을 이해할 것이다. 그러므로, 첨부된 청구항 내에 규정된 것과 같이 본 발명의 사상 또는 범주를 벗어나지 않고 그러한 변형이 구현될 수 있으리라 여겨진다.
본 발명에 의하면 네트워크를 통해 전송되는 전자 문서 내의 다양한 요소를 적시에 표현할 수 있고, 브라우져 내의 이벤트의 순서화를 적은 워크스테이션 오버헤드로 허용하여 그 순간 페이지 상의 실제 객체(즉, 이미지)에 의존하는 프로그램/스크립트의 실행을 용이하게 할 수 있다.

Claims (14)

  1. 컴퓨터 네트워크를 통해 데이터를 전송하는 방법에 있어서,
    제 1 통신 경로를 이용하여 상기 컴퓨터 네트워크의 제 1 노드로부터의 요청 - 상기 요청은 복수개의 객체로 이루어진 전자 문서를 식별함 - 을 상기 컴퓨터 네트워크의 제 2 노드에서 수신하는 단계와,
    상기 전자 문서 객체들 중 적어도 하나를 상기 제 1 노드로 전송하는 것을 시간순으로 동기화하는 단계 - 상기 동기화 단계는 상기 컴퓨터 시스템의 상기 제 2 노드와 상기 전자 문서 객체들 중 적어도 하나의 다른 객체를 저장하는 제 3 노드 사이의 제 2 통신 경로를 이용함 -
    를 포함하는 데이터 전송 방법.
  2. 제 1 항에 있어서,
    상기 제 2 통신 경로는 상기 제 1 통신 경로의 전송 속도보다 더 빠른 전송 속도를 갖는
    데이터 전송 방법.
  3. 제 1 항에 있어서,
    상기 동기화 단계에 기초하여 상기 적어도 하나의 전자 문서 객체를 상기 제 1 노드로 전송하는 단계를 더 포함하는
    데이터 전송 방법.
  4. 제 1 항에 있어서,
    상기 동기화 단계는 상기 전자 문서 객체 중 둘 이상을 시간순으로 순서화 하는 단계를 더 포함하는
    데이터 전송 방법.
  5. 제 1 항에 있어서,
    상기 동기화 단계는 상기 전자 문서와 관련된 주 파일 내에 삽입된 동기화 정보를 사용하는
    데이터 전송 방법.
  6. 제 1 항에 있어서,
    상기 동기화 단계는 상기 제 2 노드가 상기 제 1 노드를 상기 전자 문서 객체 중 하나 이상의 수령자로서 식별하는 메시지를 상기 제 3 노드로 전송하는 단계를 포함하는
    데이터 전송 방법.
  7. 제 6 항에 있어서,
    상기 동기화 단계는 상기 제 2 노드가 상기 하나 이상의 전자 문서 객체의 전송에 대한 정보를 상기 제 3 노드로부터 수신하는 단계를 더 포함하는
    데이터 전송 방법.
  8. 제 1 항에 있어서,
    상기 동기화 단계는 상기 제 1 노드의 적어도 하나의 장치 특성에 기초하는
    데이터 전송 방법.
  9. 제 1 노드와,
    제 2 노드와,
    제 3 노드와,
    데이터를 상기 제 1 노드로 전송하기 위한 제 1 통신 경로와,
    상기 제 2 및 제 3 노드 사이의 데이터 전송을 위한 제 2 통신 경로와,
    상기 제 1 통신 경로를 이용하여 상기 제 1 노드로부터의 요청 - 상기 요청은 복수개의 객체로 이루어진 전자 문서를 식별함 - 을 상기 제 2 노드에서 수신하는 수단과,
    상기 전자 문서 객체 중 적어도 하나를 상기 제 1 노드로 전송하는 것을 시간순으로 동기화하는 수단 - 상기 동기화 수단은 제 2 통신 경로를 사용함 -을 포함하되,
    상기 제 3 수단은 상기 전자 문서 객체들 중 적어도 하나의 다른 객체를 저장하는
    컴퓨터 네트워크 시스템.
  10. 제 9 항에 있어서,
    상기 제 2 통신 경로는 상기 제 1 통신 경로의 전송 속도보다 더 빠른 전송 속도를 갖고,
    상기 동기화 수단은 상기 전자 문서 객체 중 둘 이상을 시간순으로 순서화하고, 상기 전자 문서와 관련된 주 파일 내에 삽입된 동기화 정보를 사용하며, 상기 제 1 노드를 상기 전자 문서 객체 중 하나 이상의 수령자로서 식별하는 메시지를 상기 제 2 노드로부터 상기 제 3 노드로 전송하고, 상기 제 3 노드로부터의 상기 하나 이상의 전자 문서 객체의 전송을 상기 제 2 노드에 통지하며, 상기 제 1 노드의 적어도 하나의 장치 특성에 기초하는
    컴퓨터 네트워크 시스템.
  11. 제 9 항에 있어서,
    상기 동기화 수단에 응답하여 상기 적어도 하나의 전자 문서 객체를 상기 제 1 노드로 전송하는 수단을 더 포함하는
    컴퓨터 네트워크 시스템.
  12. 제 1 항 내지 제 8 항 중 어느 하나의 항에 따른 방법을 컴퓨터에서 구현하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  13. 삭제
  14. 삭제
KR10-2001-0072547A 2000-11-22 2001-11-21 데이터 전송 방법, 컴퓨터 네트워크 시스템 및 컴퓨터 판독 가능한 기록 매체 KR100431565B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US72219200A 2000-11-22 2000-11-22
US09/722,192 2000-11-22

Publications (2)

Publication Number Publication Date
KR20020040574A KR20020040574A (ko) 2002-05-30
KR100431565B1 true KR100431565B1 (ko) 2004-05-17

Family

ID=24900840

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0072547A KR100431565B1 (ko) 2000-11-22 2001-11-21 데이터 전송 방법, 컴퓨터 네트워크 시스템 및 컴퓨터 판독 가능한 기록 매체

Country Status (3)

Country Link
KR (1) KR100431565B1 (ko)
AU (1) AU782757B2 (ko)
TW (1) TWI224906B (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0146658B1 (ko) * 1994-12-13 1998-09-15 양승택 동기화 관계에 있는 멀티미디어 데이타의 전송방식
KR19990019227A (ko) * 1997-08-29 1999-03-15 구자홍 다중 스트림 서버를 갖는 비디오 서버의 최소 중복저장 방법 및 장치
KR100243187B1 (ko) * 1996-01-20 2000-02-01 윤종용 분산 멀티미디어 서버
WO2000019336A1 (en) * 1998-09-28 2000-04-06 Koninklijke Philips Electronics N.V. Web browser graphics management

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761439A (en) * 1995-09-25 1998-06-02 Intel Corporation Method and apparatus for synchronizing communications between networked computers
AU2900001A (en) * 2000-01-25 2001-08-07 Telefonaktiebolaget Lm Ericsson (Publ) Encryption of payload on narrow-band ip links
US20020078220A1 (en) * 2000-12-14 2002-06-20 Rhys Ryan System and method for content synchronization over a network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0146658B1 (ko) * 1994-12-13 1998-09-15 양승택 동기화 관계에 있는 멀티미디어 데이타의 전송방식
KR100243187B1 (ko) * 1996-01-20 2000-02-01 윤종용 분산 멀티미디어 서버
KR19990019227A (ko) * 1997-08-29 1999-03-15 구자홍 다중 스트림 서버를 갖는 비디오 서버의 최소 중복저장 방법 및 장치
WO2000019336A1 (en) * 1998-09-28 2000-04-06 Koninklijke Philips Electronics N.V. Web browser graphics management

Also Published As

Publication number Publication date
AU8926501A (en) 2002-05-23
TWI224906B (en) 2004-12-01
KR20020040574A (ko) 2002-05-30
AU782757B2 (en) 2005-08-25

Similar Documents

Publication Publication Date Title
EP1811747B1 (en) Method and apparatus for storing and restoring state information of remote user interface
US6134680A (en) Error handler for a proxy server computer system
US6769019B2 (en) Method of background downloading of information from a computer network
US6366947B1 (en) System and method for accelerating network interaction
KR100300494B1 (ko) 서버에서의 데이터 프리캐싱 방법 및 장치
US8219849B2 (en) Method and apparatus for controlling a computer over a wide area network
US6944658B1 (en) Content notification method, product, and apparatus
US9094369B2 (en) Method and apparatus for storing and restoring state information of remote user interface
US7509397B1 (en) Web portholes: using web proxies to capture and enhance display real estate
US20080154732A1 (en) Method, System, and Computer Program Product for Offline Advertisement Servicing and Cycling
WO2003050744A1 (en) Delivering content and advertisement
WO2000064118A2 (en) Method and system for electronic mail deployment
US6539406B1 (en) Method and apparatus to create virtual back space on an electronic document page, or an electronic document element contained therein, and to access, manipulate and transfer information thereon
WO2011002989A1 (en) System and method for enhancing digital content
Schulzrinne World Wide Web: whence, whither, what next?
WO2002065359A1 (en) Electronic information management system
US20050071754A1 (en) Pushing information to distributed display screens
US6934734B2 (en) Method and apparatus for managing and presenting changes to an object in a data processing system
US8458146B2 (en) Accessing data remotely
JP2000215136A (ja) インタ―ネット広告管理システム,このシステムを利用するインタ―ネット広告管理方法およびこの方法を記録した記録媒体
KR100431565B1 (ko) 데이터 전송 방법, 컴퓨터 네트워크 시스템 및 컴퓨터 판독 가능한 기록 매체
US20020116495A1 (en) System and method for displaying news information on a user computer
US20020113819A1 (en) Method for controlling a screen display
KR100332227B1 (ko) 이미지교체를 통한 웹페이지상의 배너광고방법
Bowen On-line museums

Legal Events

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