KR100368167B1 - 표준인터넷프로토콜을이용한파일전송재시작방법및장치 - Google Patents

표준인터넷프로토콜을이용한파일전송재시작방법및장치 Download PDF

Info

Publication number
KR100368167B1
KR100368167B1 KR1019970056056A KR19970056056A KR100368167B1 KR 100368167 B1 KR100368167 B1 KR 100368167B1 KR 1019970056056 A KR1019970056056 A KR 1019970056056A KR 19970056056 A KR19970056056 A KR 19970056056A KR 100368167 B1 KR100368167 B1 KR 100368167B1
Authority
KR
South Korea
Prior art keywords
file
download
component
server
internet
Prior art date
Application number
KR1019970056056A
Other languages
English (en)
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 인터내셔널 비지네스 머신즈 코포레이션
Application granted granted Critical
Publication of KR100368167B1 publication Critical patent/KR100368167B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 바람직하게는 인터넷 클라이언트에 의한 동작 없이, 인터넷 서버로부터 인터넷 클라이언트로 파일을 다운로드하는 방법에 관한 것이다. 이 방법은 서버측에서 파일을 구성 요소들의 집합에 연관시킴으로써 시작된다. 다음에, 파일의 프로파일이 생성된다. 이 프로파일은 파일 및 그 각각의 구성 요소에 대한 식별 정보를 포함한다. 이와 같은 정보는 바람직하게는 식별자, 크기 값 및 구성 요소를 유일하게 식별하는 코드를 포함한다. 이 파일은 각각의 구성 요소가 인터넷 프로토콜을 이용하여 서버로부터 클라이언트로 하나씩 전송되도록 하는 다운로드 시퀀스를 개시하므로써 전송된다. 다운로드 시퀀스가 완료되면, 개별 구성 요소는 인터넷 클라이언트에 의한 동작 없이 프로파일을 이용하여 파일로 재조립된다. 만일 전송이 어떤 이유로 인해 인터럽트되면, 그 인터럽트에 의해 영향을 받은 구성 요소부터 다운로드 시퀀스가 재시작된다. 이로 인해 전체 파일을 재전송할 필요성을 없앨 수 있다.

Description

표준 인터넷 프로토콜을 이용한 파일 전송 재시작 방법 및 장치
본 발명은 일반적으로 컴퓨터 네트워크에 관한 것으로서, 특히, 표준 인터넷 프로토콜을 이용하여 인터넷을 통해 비교적 큰 컴퓨터 파일을 효율적으로 전송하는 것에 관한 것이다.
인터넷은 일 대 일 메시징(one-to-one messaging)(e-mail), 일 대 다수(one-to-many) 메시징(전자 게시판), 온-라인 채트(chat), 파일 전송 및 브라우징을 포함하여 일련의 잘 알려진 서비스를 제공한다. 이러한 서비스에는 다양한 공지된 인터넷 프로토콜이 사용된다. 그러므로, 예를 들어, 브라우징은 하이퍼텍스트 마크업 언어(HTML)를 이용하여 멀티미디어에 대한 사용자 억세스를 제공하는 하이퍼텍스트 전송 프로토콜(HTTP)을 이용하여 수행된다. HTTP를 이용하는 서버의 집합은 인터넷 멀티미디어 정보 검색 시스템인 월드 와이드 웹을 포함한다. 파일 전송 프로토콜(FTP)은 서버로부터 클라이언트로 파일을 전송하기 위한 메카니즘이다. 통상적으로, 클라이언트는 검색된 파일의 전송 및 압축해제를 제어하기 위해 FTP 인터페이스 및 적절한 소프트웨어를 포함한다.
최소의 경제적 비용으로 인터넷 억세스를 제공하는 데에 대한 관심이 매우 크다. 현재, 대부분의 컴퓨터는 인터넷 억세스를 감안한 구성을 가지고 있으나, 상당한 비율의 가정은 아직 개인용 컴퓨터를 구비하고 있지 않다. 그러므로, VCR과 같이 텔레비젼 셋트에 접속되어 시스템 유니트와 관련된 통상적인 원격 제어 장치를 통해 웹 억세스를 제공이 가능한, 개인용 컴퓨터 대신에 사용될 수 있는 데이터 처리 시스템을 제공하는 것이 제안되었다. 이와 같은 시스템은 텔레비젼이 사실상 "웹" 어플라이언스(Web appliance)가 되도록 한다. 시청자는 원격 제어 유니트를 이용하여 통상적인 텔레비젼과 인터넷 억세스 사이에서 빠르게 전환할 수 있다. 양호하게도 모든 종래의 인터넷 억세스 툴 및 네비게이션 기능은 시스템에 내장되고, 따라서 사용자에게 은폐되어 있다.
또한, 상호 대화(interaction)가 필요없거나 또는 사용자가 인식하지도 않은 상태에서 웹 어플라이언스상에서 실행되는 소프트웨어를 자동적으로 갱신하는 것이 바람직하다. 그러나, 이러한 목적은 신뢰성 있고 값싸게 실현될 수 없는데, 그 이유는 FTP 및 다른 인터넷 프로토콜이 파일 전송 재시작(file transfer restarts)을 허용하지 않기 때문이다. 파일 전송 재시작은 인터럽트 시점에서 전송이 재개시되는 것을 의미한다. 그러므로, 예를 들어 정전 또는 다른 사건으로 인해 FTP 파일 전송이 인터럽트된 경우에, 전체 파일을 재전송할 필요가 있다. 이것은, 특히 사용자 상호작용없이 통상적인 28.8 Kbs 모뎀을 통한 매우 큰 파일의 전송에 있어서는 매우 비실용적이다.
본 발명은 이러한 문제를 언급하고 해결하는 것이다.
따라서, 본 발명의 일차적인 목적은 통상적인 FTP를 이용하지만 파일 전송 재시작이 허용되는 파일 전송 메카니즘을 제공하는 것이다.
본 발명의 다른 목적은 인터넷 서버로부터의 파일을 웹 어플라이언스로 다운로드하므로써 사용자에게 투명하게 웹 어플라이언스상에서 실행되는 소프트웨어를 갱신하는 것이다.
본 발명의 또 다른 목적은 인터넷을 통해 파일을 다운로드하기 위한 체크 포인트 할 수 있는(checkpointable) 방법을 제공하는 것이다.
본 발명의 또 다른 목적은, 바람직하게는 직접적인 사용자 개입없이 파일의 개별 부분을 기본 연산(atomic operation)으로서 반복적으로 전송하고, 이들 개별 부분을 클라이언트에서 재조립 하므로써 인터넷을 통한 파일 전송 다운로드를 구현하는 것이다.
본 발명의 또 다른 목적은, 전송 인터럽트의 경우에 파일 전송 재시작을 허용하면서, 소유권이 있는 프로토콜 없이 인터넷을 통해 파일을 다운로드하는 방법을 제공하는 것이다.
본 발명의 보다 일반적인 목적은 소프트웨어가 인터넷을 통해 다운로드되도록 하는 데 있어서의 편의성을 향상시키는 것이다.
본 발명의 이러한 목적 및 다른 목적은 바람직하게는 인터넷 클라이언트의 사용자와의 대화 없이 인터넷 서버로부터 인터넷 클라이언트로 파일을 다운로드하는 방법에 제공된다. 이 방법은 파일을 일련의 구성 요소(component)로 분할하므로써 시작된다. 다음에는, 파일 및 그 각각의 구성 요소에 대한 식별 정보를 포함하는 프로파일이 그 파일에 대해 발생된다. 식별 정보는 식별자, 크기 값, 및 그 파일 및/또는 그 구성 요소를 유일하게 식별하는 코드를 포함할 수도 있다. 파일을 전송하기 위해, 각각의 구성 요소가 서버로부터 클라이언트로 하나씩 전송되도록 하는 다운로드 시퀀스가 개시된다. 바람직하게도, 각각의 구성 요소의 전송은 통상적인 인터넷 FTP를 이용하여 실현된다. 다운로드 시퀀스가 완료되면, 구성 요소는 재조립된다. 만일 어떤 이유로 인해 다운로드 시퀀스가 인터럽트되면, 이 시퀀스는 이전에 전달된 구성 요소의 재전송을 필요로하는 것과 달리, 그 인터럽트 시점에서 재시작된다. 바람직하게도, 파일의 구성 요소는 프로파일에 의해 결정되는 바와 같은 순차적인 순서로 전송된다.
바람직하게도, 파일 프로파일은 다운로드 시퀀스의 시작, 또는 필요한 경우에 재시작 이전에 서버로부터 클라이언트로 전송된다. 이 프로파일은 다음에, 클라이언트에서 수신된 구성 요소가 "완료(complete)" 되었는지 검증하기 위해 사용된다. 그러므로, 예를 들어 클라이언트에서의 구성 요소 수신시, 식별 정보는 서버로부터 구성 요소의 완전한 버전이 전송되었는지 검증하기 위해 사용된다. 통상적으로, 이것은 그 구성 요소의 크기를 (프로파일에서의 크기 값에 의해 결정되는 바와 같은) 예정된 크기와 비교하고, 그 코드를 계산하고 그것을 프로파일에서의 코드와 비교하므로써 실현된다. 만일 (이러한 테스트의 하나 또는 모두에 의해 판단할 때) 구성 요소의 완전한 버전이 전송되지 않았으면, 프로파일이 재전송되고, 그 전송이불완전한 구성 요소에서 시작하여 다운로드 시퀀스가 재시작된다. 서버가 다운로드를 완료하면, 클라이언트에 내재하는 코드에 의해 그 파일에 대한 식별 정보를 이용하여 그 파일의 완전한 버전이 전송되었는지 검증되게 된다. 만일 파일의 완전한 버전이 전송되었으면, 그 구성 요소는 파일로 재조립된다.
본 발명의 양호한 실시예에서, 인터넷 클라이언트는 웹 어플라이언스이며, 파일은 그 웹 어플라이언스에서 실행되는 프로그램(예, 브라우저)의 갱신된 버전 이다.
전술한 것은 본 발명의 보다 적절한 목적 및 특징의 일부에 대해 약술한 것이다. 이들 목적은 단지 본 발명의 보다 현저한 특징 및 응용의 일부를 예시한 것으로 해석되어야 한다. 여기에 개시된 본 발명을 다른 방식으로 적용하고, 후술되는 본 발명을 수정하므로써 다른 유익한 많은 결과가 얻어질 수 있다. 따라서, 다음의 양호한 실시예의 상세한 설명을 참조하므로써 본 발명이 보다 완전하게 이해될 수 있다.
도 1은 본 발명이 구현되는 대표적인 시스템을 도시한 도면.
도 2a는 "웹" 어플라이언스를 형성하기 위해 종래의 텔레비젼 셋트에 접속된 데이터 처리 시스템 유니트를 도시한 도면.
도 2b는 데이터 처리 시스템 유니트의 전면 패널을 도시한 도면.
도 2c는 데이터 처리 시스템 유니트의 후면 패널을 도시한 도면.
도 2d는 데이터 처리 시스템 유니트와 관련된 원격 제어 유니트를 도시한 도면.
도 3은 데이터 처리 시스템 유니트의 주요 구성 요소의 블록도.
도 4는 인터넷 서버로부터 도2a의 웹 어플라이언스와 같은 인터넷 클라이언트로 파일을 다운로드하기 위한 본 발명의 양호한 방법의 프로세스 흐름도.
도 5는 본 발명에 따른 대표적인 파일의 "프로파일"을 도시한 도면.
도 6은 본 발명의 양호한 방법의 흐름도.
〈 도면의 주요 부분에 대한 부호의 설명 〉
10 : 클라이언트 머신
12 : 서버 플랫폼
14 : 통신 채널
18 : 컴퓨터
20 : 운영체제
22 : 서버 프로그램
23 : 파일 전송 프로토콜 메카니즘
24 : 그래픽 사용자 인터페이스
본 발명 및 그 장점의 보다 완전한 이해를 위해, 첨부 도면과 함께하는 다음의 상세한 설명에 대한 참조가 이루어져야 한다.
도1에는 본 발명이 구현되는 대표적인 시스템이 도시되어 있다. 인터넷 클라이언트(client) 머신(10)은 통신 채널(14)을 통해 서버 플랫폼(server platform)(12)에 접속된다. 예시 목적을 위해, 채널(14)은 인터넷, 인트라넷, 또는 다른 공지의 접속이다. 인터넷의 경우에, 서버 플랫폼(12)은 도면에 머신(10)으로도시된 클라이언트에 의해 억세스될 수 있는 다수의 서버중 하나이다. 클라이언트 머신은 통상적으로, 네트워크의 서버에 억세스하여 소정의 서비스를 얻기 위해 일련의 공지된 인터넷 툴을 포함한다. 이러한 서비스에는, 일 대 일 메시징, 일 대 다수 메시징(전자 게시판), 온-라인 채트, 파일 전송 및 브라우징이 있다. 이들 서비스를 위해 다양한 공지의 인터넷 프로토콜이 이용된다. 그러므로, 예를 들어 브라우징은 하이퍼텍스트 전송 프로토콜(HTTP)을 이용하여 실행되는데, 이 프로토콜은 하이퍼텍스트 마크업 언어(HTML)를 이용하여 멀티미디어 파일에 대한 사용자 억세스를 제공한다. HTTP를 이용하는 서버의 집합에는 인터넷 멀티미디어 정보 검색 시스템인 월드 와이드 웹이 있다. 파일 전송 프로토콜(FTP)은 서버로부터 클라이언트로 파일을 전송하기 위한 메카니즘이다. 통상적으로, 클라이언트는 전송 및 필요에 따라, 검색된 파일의 압축해제를 용이하게 하기 위해 FTP 인터페이스 및 관련 코드를 포함한다. 또한, 특정 접속의 서버측(소위 "FTP 사이트"에는)에는 적절한 코드가 내재되어 있다.
단지 예를 들자면, 클라이언트 머신은 노트북 컴퓨터의 데스크탑과 같은 개인용 컴퓨터가 되는데, 예를 들어,
Figure pat00001
운영체제하에서 실행되는
Figure pat00002
또는 IBM-호환성 머신, IBM
Figure pat00003
머신, 또는 Window 3.1 이나 보다 큰 운영체제를 실행하는 다른 Intel x86 또는
Figure pat00004
기반 컴퓨터가 있다. 대표적인 서버 플랫폼(12)에는, AIX(Advanced Interactive Executive Version 4.1 또는 그 이상) 운영체제(20) 및 서버 프로그램(22)을 실행하는 IBM RISC 시스템/6000컴퓨터(18)(RISC-기반 워크스테이션)이 있다. 본 발명의 목적을 위해, 서버 프로그램(22)은 FTP 메카니즘(23)을 이용하여 공지된 방식으로 FTP를 지원하며, 따라서, 서버 플랫폼은 FTP 사이트이다. FTP는 파일 전송을 위한 TCP/IP 프로토콜이다. FTP 프로토콜에 관한 정보는 리퀘스트 포 코멘트(Request For Comment;RFC) 765(1985년 10월)로부터 얻을 수 있는데, 이것은 본 명세서에 참조로써 병합되어 있다. 플랫폼(12)은 또한 관리 및 운영을 위한 그래픽 사용자 인터페이스(GUI)(24)를 포함하고 있다. 또한, 애플리케이션 프로그래밍 인터페이스(API)를 포함할 수도 있다. 예를 들어,RISC System/6000, 7013 and 7016 POWERstation and POWERserver Hardware Technical Reference, Order No. SA23-2644-00 등의 IBM사의 많은 공보에는 RISC-기반 컴퓨터의 다양한 모델이 설명되어 있다. IBM사에 의해 발간된AIX Operating System Technical Reference, 제1판(1985년 11월) 및 다른 공보에는 AIX OS에 대해 설명되어 있다. 전술한 플랫폼이 유용하지만, 어떤 다른 적절한 하드웨어/운영체제/서버 조합이 사용될 수도 있다.
대안으로, 인터넷 클라이언트는 도 2a 내지 도 2d 및 도 3에 도시된 바와 같은 데이터 처리 시스템 또는 소위 "웹 어플라이언스"가 될 수도 있다. 도 2a는 데이터 처리 시스템을 전체적으로 도시하는 도면이다. 도시된 예에서 데이터 처리 시스템(100)은 사용자에 최소의 경제적인 하드웨어 비용으로 인터넷에 대한 억세스를 제공한다. 이 데이터 처리 시스템(100)은 데이터 처리 유니트(102)를 포함한다. 이 데이터 처리 유니트(102)는 바람직하게도, 통상적인 엔터테인먼트 센터에 적합한 크기로 되고, 사용자가 인터넷을 "브라우즈" 할 수 있도록 하기 위해 통상적으로개인용 컴퓨터에 존재하는 모든 필요한 기능을 제공한다. 또한, 이 데이터 처리 유니트(102)는 응답 머신으로서 작용하거나 팩시밀리 전송을 수신하는 것과 같은 다른 일반적인 기능을 제공할 수도 있다.
데이터 처리 유니트(102)는 그래픽 정보를 디스플레이하기 위한 텔레비젼(104)에 접속된다. 텔레비젼(104)은 임의의 적절한 텔레비젼이될 수도 있지만, S-Video 입력을 가진 칼라 텔레비젼이 그래픽 정보를 보다 양호한 표현을 제공하게 된다. 데이터 처리 유니트(102)는 표준 동축 케이블 접속을 통해 텔레비젼(104)에 접속된다. 원격 제어 유니트(106)는 사용자가 데이터 처리 유니트(102)와 대화하고 제어할 수 있도록 한다. 이 원격 제어 유니트(106)는 바람직하게는 간섭을 피하기 위해 정상적인 텔레비젼, 스테레오, 및 VCR 적외선 원격 제어 주파수와는 다른 주파수로 변조된 적외선(IR) 신호를 방사한다. 원격 제어 유니트(106)는, 디스플레이상의 커서 및 선택항목을 이동시키는 능력을 포함하여, 통상적인 개인용 컴퓨터에서 포인팅 장치[예컨대, 마우스, 글라이드포인트(glidepoint), 트랙볼]의 기능을 제공한다.
도 2b는 데이터 처리 유니트(102)의 전면 패널을 도시하는 도면이다. 이 전면 패널은 원격 제어 유니트(106)로부터 신호를 수신하고, 적외선 신호를 송신하기 위한 적외선 윈도우(108)를 포함한다. 데이터 처리 유니트(102)는 물체 또는 표면에서 반사되는 적외선 신호를 송신할 수도 있으며, 이로 인해 데이터 처리 유니트(102)는 텔레비젼(104) 및 다른 적외선 원격 제어 장치를 자동적으로 제어할 수 있게 된다. 볼륨 제어장치(110)는 데이터 처리 유니트(102)나 텔레비젼(104)내의 스피커로부터 발산되는 사운드 레벨을 조정할 수 있도록 한다. 다수의 발광 다이오드(LED) 인디케이터(112)는 데이터 처리 유니트(102)가 온 상태에 있을 때, 사용자가 메시지를 갖고 있는지, 모뎀/전화 라인이 사용중에 있는지, 또는 데이터 처리 유니트(102)가 서비스를 필요로하는지에 관한 표시를 사용자에게 제공한다.
도 2c는 데이터 처리 유니트(102)의 후면 패널을 도시하는 도면이다. 3선(접지 포함) 절연 전원 코드(114)가 후면 패널을 통해 통과한다. 후면 패널상의 표준 텔레비젼 잭(116,118)은 전화 라인으로부터 입력을 모뎀에 제공하고 출력을 핸드셋 (도시 안됨)에 제공한다. 이 후면 패널은 또한, 표준 컴퓨터 키보드 접속부(120), 마우스 포트(122), 컴퓨터 모니터 포트(124), 프린터 포트(126) 및 부가적인 직렬 포트(128)를 제공한다. 이러한 접속부는 데이터 처리 유니트(102)가 통상적인 개인용 컴퓨터의 방식으로 동작하도록 하기 위해 사용될 수 있다. 후면 패널상의 게임 포트(130)는 조이스틱 또는 다른 게임 제어 장치(글로브, 등)를 위한 접속을 제공한다. 적외선 연장 잭(132)은 케이블로 연결된 적외선 LED가 적외선 신호를 송신하기 위해 이용될 수 있도록 한다. 마이크로폰 잭(134)은 외부 마이크로폰이 데이터 처리 유니트(102)에 접속될 수 있도록 허용한다.
표준 동축 케이블 커넥터인 비디오 접속부(136)는 텔레비젼(104) 또는 비디오 카세트 레코더(도시 안됨)의 비디오-입력 단자에 접속된다. 좌우 오디오 잭 (138)은 텔레비젼(104)상의 대응하는 오디오-입력 커넥터나 또는 스테레오(도시 안됨)에 접속된다. 만일 사용자가 S-Video 입력을 갖고 있으면, 복합(composite) 신호 보다 양호한 화상을 제공하도록 텔레비젼(104)에 연결하기 위해 S-Video 접속부(140)가 사용될 수 있다. 만일 텔레비젼(104)이 비디오 입력부를 갖고 있지 않으면, 안테나 접속과 일렬로 외부 채널 3/4 변조기(도시 안됨)가 접속될 수도 있다.
도 2d는 원격 제어 유니트(106)를 도시하는 도면이다. 표준 전화 키패드와 마찬가지로, 원격 제어 유니트(106)도 아라비아 숫자 0 내지 9, 별표(*), 및 파운드 기호(#)를 위한 버튼(142)을 포함한다. 원격 제어 유니트는 또한, 텔레비젼 방송을 선택적으로 시청하기 위한 "TV" 버튼(144)과, 인터넷의 "브라우징"을 개시하기 위한 "Web" 버튼(146)을 포함하고 있다. "Web" 버튼(146)을 누름으로써, 데이터 처리 유니트(102)는 사용자의 인터넷 서비스 제공자의 모뎀 다이얼 호출(dial-up)을 개시하고, 인터넷 브라우저를 위한 시작 스크린을 디스플레이하게 된다.
트랙포인트 또는 "버튼" 포인팅 장치가 바람직한 포인팅 장치(147)는 원격 제어 유니트(106)에 포함되어 있으며, 사용자로 하여금 텔레비젼(104)의 디스플레이상의 커서를 조작할 수 있도록 한다. "Go" 버튼(148) 및 "Back" 버튼(150)은 각각 사용자로 하여금 옵션을 선택하거나 또는 이전의 선택으로 복귀할 수 있도록 한다. "Help" 버튼(151)은 문맥-감지 도움말(context-sensitive help)이 디스플레이되거나 제공되도록 한다. "Menu" 버튼(152)은 옵션의 문맥-감지 메뉴가 디스플레이되도록하고, "Update" 버튼(153)은 사용자 입력에 기반하여 디스플레이되는 옵션을 갱신하게 되고, "Home" 버튼(154)은 사용자가 옵션의 디폴트 디스플레이로 복귀할 수 있도록 한다. "PgUp" 및 "PgDn" 버튼(156, 158)은 사용자로 하여금 스크롤링 (scrolling)에 의하지 않고 디스플레이-크기의 블록내에서 디스플레이의 문맥을 변경할 수 있도록 한다. 메시지 버튼(160)은 사용자가 메시지를 검색할 수 있도록 한다.
원격 제어 유니트(106)에 부가하여, 또는 그 대신에, 데이터 처리 유니트 (102)를 제어하기 위해 내부 포인팅 장치를 가진 적외선 키보드(도시 안됨)가 사용될 수도 있다. 내부 포인팅 장치는 트랙포인트 또는 버튼 형태의 포인팅 장치가 바람직하다. 또한, 키보드 접속부(120)를 통해 유선 키보드(도시 안됨)가 사용될 수도 있고, 마우스 포트(122)를 통해 마우스나 트랙볼과 같은 유선 포인팅 장치가 사용될 수도 있다. 만일 사용자가 하나 또는 그 이상의 원격 제어 유니트(106), 적외선 키보드, 유선 키보드 및/또는 동작가능한 유선 포인팅 장치를 갖고 있다면, 동작중인 장치는 규정된 비동작 시간이 지나갈 때 까지 모든 다른 장치를 폐쇄(lock out) 시킨다.
이제, 도 3을 참조하면, 데이터 처리 유니트(102)의 주요 구성 요소의 블록도가 도시되어 있다. 종래의 개인용 컴퓨터에서와 같이, 데이터 처리 유니트(102)는 시스템 버스(280)에 접속된 프로세서(204) 및 메모리(206)를 구비하는 마더보드 (202)를 포함한다. 프로세서(204)는 100 MHz 또는 그 이상으로 동작하는 적어도 486 급 프로세스가 바람직하다. 메모리(206)는 캐시 메모리 및/또는 비디오 램 (RAM)을 포함할 수도 있다. 프로세서(204), 메모리(206) 및 시스템 버스(208)는 종래의 데이터 처리 시스템내의 대응하는 구성 요소와 동일한 방식으로 동작한다.
마더보드(202)에 위치하고 시스템 버스(208)에 접속된 비디오/TV 변환기 (210)는 컴퓨터 모니터를 위한 컴퓨터 비디오 신호, 복합 텔레비젼 신호, 및 S-Video 신호를 발생한다. 이 비디오/TV 변환기(210)의 기능은 'Analog DeviceAD722' 변환기 칩과 함께 'Trident TVG9685' 비디오 칩을 이용하여 실현될 수도 있다. 비디오/TV 변환기(210)는 특수 운영체제 장치 드라이버의 적재를 필요로할 수도 있다.
마더보드(202)상의 키보드/원격 제어 인터페이스 유니트(212)는, 유선 키보드/포인팅 장치 또는 적외선 키보드/원격 제어장치가 사용되는 것에 관계없이, 제어기(214)를 통해 키보드 코드를 수신한다. 적외선 원격 제어 유니트(106)는 종래의 마우스 또는 포인팅 장치 이동에 의해 발생되는 제어 신호와 같이 궁극적으로 직렬 포트로 전송되는 신호를 송신한다. 원격 제어 유니트(106)상의 2개의 버튼은 종래의 마우스상의 2개의 버튼과 동일하게 해석되지만, 나머지 버튼은 적외선 키보드상의 키입력에 대응하는 신호를 전송한다. 따라서, 원격 제어 유니트(106)는 적외선 키보드에 의해 제공되는 것의 일부의 기능을 갖고 있다.
마더보드(202)상의 커넥터/인디케이터(216)는 전술한 데이터 처리 유니트(102)상의 접속부 및 인디케이터의 일부를 제공한다. 다른 접속부는 다른 구성 요소와 관련되어 찾아볼 수 있다. 예를 들어, 전화 잭(116, 118)은 모뎀(222)상에 배치되어 있다. 커넥터/인디케이터(216)내의 전원 인디케이터는 제어기(214)에 의해 제어된다.
도시된 예에서 마더보드(202) 외부에는, 전원 공급장치(218), 하드 드라이버 (220), 모뎀(222) 및 스피커(224)가 있다. 전원 공급장치(218)는, 그것이 마더보드 (202)와 하드 드라이브(220) 및 모뎀(222)으로의 모든 전원의 차단을 지시하는 제어 신호를 제어기(214)로부터 수신한다는 것 이외에는 종래의 전원 공급장치와 동일하다. 어떤 복구(recovery) 상황에서는, 전원을 제거하고 재부팅하는 것은 이들 모든 장치를 기지의 상태로 리셋트하는 유일한 보장된 방법이다. 그러므로, 전원 공급장치(218)는 제어기(214)로부터의 신호에 응답하여, 데이터 처리 유니트(102)의 전원을 다운시키고 재시작시킬 수 있다.
제어기(214)는 하나 또는 그 이상의 805x 계열의 제어기가 바람직하다. 이 제어기(214)는 적외선 원격 제어장치(106), 적외선 키보드, 유선 키보드 및 유선 마우스로부터 입력을 수신하여 처리한다. 하나의 키보드 또는 포인팅 장치가 사용될 때, 모든 다른 장치는 규정된 주기 동안 동작상태에 있는 것이 없게 될 때 까지 폐쇄(무시)된다. 이때, 동작상태로 되는 첫 번째 키보드 또는 포인팅 장치는 모든 다른 장치를 폐쇄시킨다. 제어기(214)는 또한, 모뎀 사용을 표시하는 것을 제외하고 모든 LED 인디케이터를 직접 제어한다. 고장 복구 시스템의 일부로서, 제어기 (214)는 소정의 전원 오프-온 사이클 동안에 부트 섹터 선택을 지정한다.
하드 드라이브(220)는 데이터 처리 유니트(102)를 위한 운영체제 및 애플리케이션 소프트웨어를 포함하는데, 이러한 소프트웨어로는, 미국 뉴욕 아몬크 소재의 IBM 사의 제품인 IBM DOS 7.0; 미국 워싱턴 레드몬드 소재의 마이크로소프트사의 제품인 Window 3.1(또는 그 이상)와 같은 운영체제; 및 미국 캘리포니아 마운틴 뷰 소재의 넷스케이프 통신사의 Netscape Navigator(버젼 1.0 또는 그 이상)가 바람직하다. 하드 드라이브(220)는 또한, 모두 공지된 방식으로, 인터넷 FTP 사이트로부터의 파일 전송을 용이하게 하기 위해 종래의 FTP 메카니즘을 지원한다. 전자우편, 전자 게시판 및 온-라인 채트 능력을 포함하여 다른 종래의 인터넷 툴이 제공될 수도 있다. 물론, 전술한 소프트웨어는 단지 예시적인 것이며, 다른 대안 또는 추가적으로 다른 공지된 프로그램이 사용될 수도 있다. 또한, 데이터 처리 유니트(102)의 성능을 최적화하기 위해 이들 소프트웨어 패키지의 미소한 수정이 요구될 수도 있다.
모뎀(222)은 종래의 데이터 처리 시스템에 사용되는 어떠한 적절한 모뎀이 될 수도 있지만, V.42bis, V.34, V.17 Fax, MNP 1-5, 및 AT 명령어 셋트를 지원하는 33.6 kbps 모뎀이 바람직하다. 데이터 처리 시스템(102)의 높이를 슬림형으로 유지하기 위해, 모뎀(222)은 마더보드(202)상에서 옆으로 장착되는 슬롯에 삽입되는 것이 바람직하다. 이 모뎀(222)은 물리적 통신 링크(227)에 접속되며, 이 링크는 다음에, 인터넷(도시 안됨)에 접속되거나 또는 접속될 수도 있다.
이 기술 분야에 통상의 지식을 가진 자는 전술한 도 2a내지 도 2d 및 도 3에 도시된 구성 요소는 특정 애플리케이션 또는 실시예에 따라 변형될 수도 있다는 것을 인식할 것이다. 본 발명이 구현될 수도 있는 이러한 변형은 본 발명의 사상 및 범위내에 속한 것으로 간주된다.
본 발명에 따르면, 프로세서에 의해 실행되는 파일 전송 프로그램(225)은 바람직하게는 어플라이언스의 사용자에 의한 상호작용 또는 개입 없이, 다양한 애플리케이션 프로그램의 "갱신(updating)"을 운영(administer)하고 관리(manage)하기 위해 사용된다. 이러한 코드 부분은 본 발명의 파일 전송 다운로드 방법을 용이하게 하기 위해 서버측에 위치된 프로그램과 협동하며, 종래의 FTP 메카니즘의 상위 계층에(on top)에 배치되도록 설계되는 것이 바람직하다. 본 발명에 따르면, 인터넷 클라이언트는 다운로드 루틴의 클라이언트 구성 요소를 실행하고, 인터넷 서버는 프로그램의 서버 구성요소를 실행하며, 이들 구성요소는 모두 본 발명이 기존의 접근방법에 소급하여 호환성이 있게 되도록 FTP 메가니즘에 오버레이된다.
도 4의 프로세스 흐름도에는 클라이언트 및 서버 구성요소에 의해 구현되는 바람직한 프로토콜이 도시되어 있다. 이 연산에 대해 상세하게 논의하기 전에, 본 발명에 따른 대표적인 파일인 "프로파일"을 예시하는 도 5를 참조해야 한다. 비록 제한적인 것을 의미하는 것은 아니지만, 전송되길 원하는 각각의 파일은 다운로드될 파일의 마스터 리스트에서 식별된다. 바람직하게도, 이 마스터 리스트는 인터넷 서버측에서 저장되며, 클라이언트에 의해 억세스될 수 있다. 다운로드될 각각의 파일에 대해서는, 생성된 관련 "프로파일" 이 존재한다. CONFIG.SYS.PRO 란 제목의 파일에 대한 대표적인 프로파일(250)이 예시되어 있다. 이 프로파일은 2개의 기본 섹션, 즉 하나의 헤더 섹션(252)과 하나의 바디 섹션(254)을 포함한다. 각각의 섹션은 파일을 원문분석(deconstruct)하고 구성(construct)하는데 있어 유용한 소위 식별 정보를 포함한다. 헤더 섹션(252)은 파일에 대한 식별자 CONFIG.SYS 및 여러 가지 속성(attributes), 즉, 프로파일이 생성된 날짜 및 시간을 식별하는 {Date/Time} 속성, 전체 파일의 크기를 (바람직하게는 바이트로) 표시하는 {Size} 속성 및 파일을 유일하게 식별하는 체크섬(checksum)으로서 작용하는 순환 리던던시 코드 {CRC}를 포함한다. {Size}는 32-비트 크기(unsigned long)가 바람직하며, CRC는 32-비트 CRC 이다. 이 기술 분야에 잘 알려진 바와 같이, CRC는 파일을 포함하는 16진법 또는 다른 문자 스트링으로부터 실행 카운트(running count)를 발생하므로써 특정 파일(또는 그 구성 요소)에 대해 생성될 수 있다. 전체 파일에 대한 CRC는 프로파일 헤더 섹션(252)에서 계산되어 저장된다. 대안으로, 다른 체크섬 접근방법이 사용될 수도 있다.
프로파일 바디 섹션(254)은 (본 발명의 양호한 실시예에서) 동작 파일을 형성하기 위해 조합되거나 "재조립(reassembled)" 되어야 하는 파일의 하나 또는 그 이상의 구성 요소 셋트에 대한 식별 정보를 포함한다. 본 예에서, CONFIG.SYS.PRO 는 3개의 구성 요소, 즉 CONFIG.SYS1, CONFIG.SYS2 및 CONFIG.SYS3로 이루어 진다. 대표적인 실시예에서, 하나의 구성 요소는 고정된 크기(예, 최대 75K 바이트)로 이루어 진다. 물론, 이러한 크기 지정은 단지 예시적인 것이다. 각각의 구성 요소는 하나의 식별자 및 한쌍의 속성, 즉 {Size} 및 관련 {CRC}를 포함한다. 이들 속성은 단지 대표적인 것이며, 다른 기능 특성도 또한 사용될 수 있다. 그러므로, 예를 들어, 클라이언트가 사용가능성이 없는 또는 위조(bogus) 파일을 다운로드하지 않도록 보안 속성이 포함될 수도 있다. 전술한 바와 같이, {Size} 속성은 32-비트 크기(unsigned long)가 바람직하며, CRC 는 각각의 특정 구성 요소에 대해 계산된 32-비트 CRC 이다. 이 식별 정보는 소정의 구성 요소의 전송 완료를 검증하기 위해 클라이언트 구성 요소에 의해 사용된다. 바람직하게도, 모든 수치 필드는 16진법 문자 스트링으로서 저장된다.
본 발명의 양호한 실시예에서, 프로파일은 다운로드될 각각의 파일에 대해 생성된다. 이러한 프로세스는 시간을 절약하기 위해 "오프-라인(off-line)"(즉, 다운로드 세션중이 아닐 때)으로 실행되는 것이 바람직하다. 서버로 하여금 그 파일다운로드를 수신할 것으로 기대하는 클라이언트로 프로파일을 다운로드하게 함으로써 서버와 클라이언트는 사실상 그 프로파일에 대한 명명 규약(naming conventions) 에 "동의" 한다. 비록 상세하게 예시되지는 않았지만, 서버는, 각각의 파일을 그 구성 요소 부분으로 포맷하기 위한 적절한 관리 및 운영 인터페이스(예, DOS-기반 인터페이스, 또는 제어 메뉴 등을 가진 윈도우-기반 그래픽 사용자 인터페이스)를 포함하는 것으로 이해되어야 한다. 바람직하게는, 사용자(시스템 설계자, 운영자, 프로토콜에 익숙한 사람 또는 다른 제3자가 될 수도 있음)가 단지 크기 및 명명 규약을 적절한 다이얼로그 박스로 입력하면, 자동적으로 프로파일({CRC} 및 다른 헤더 블록 정보와 함께)이 생성된다. 또한 서버 코드는 파일을 그 구성 요소 부분으로 해체하는데, 이들 부분은 어드레스로 접근 가능한 위치에 저장되는 것이 바람직하다.
이제, CONFIG.SYS.PRO 파일은 (그것이 내재하는) 서버로부터 인터넷 클라이언트로 다운로드되고, 그 프로파일(250)은 x.pro 로 표현되는 것으로 가정하자. 파일은 예를 들어, 웹 어플라이언스에서 실행되는 새로운 버전의 애플리케이션이 될수도 있으며, 이 다운로드 프로세스는 사용자의 실제적인 지식이나 상호작용 없이 실행되는 것이 바람직하다. CONFIG.SYS.PRO 의 세 부분은 도 4의 프로세스 흐름도에서 x.1, x.2, 및 x.3으로서 식별되며, 이들 파일 구성 요소 각각은 바람직하게도, 그 관련 식별 정보가 포함된 자신들의 고유의 헤더를 포함한다.
프로토콜은 클라이언트 머신이 인터넷에 접속되므로써 시작되며, 이 프로토콜은 파일 구성 요소가 FTP를 이용하여 서버와 클라이언트 사이에서 전송되도록 종래의 FTP 메카니즘에 오버레이되는 것이 바람직하다. 도 6에는 다음의 프로세스 단계를 보여주는 흐름도가 예시되어 있다. 프로세스는 파일을 수반하는 다운로드 세션이 곧바로 개시되게 된다는 것을 나타내는, 서버로부터의 소정의 제어 명령어에 응답하여 단계(260)에서 시작된다. 이에 응답하여, 클라이언트는 프로파일(x.pro)에 대한 요구를 개시하고, 이 요구를 서버로 송신한다(도 6의 단계 262). 다음에, 서버는 도 6의 단계(263)에서 프로파일 x.pro를 전송한다. 여기서 사용되는 바와 같이, 요구를 "개시한다는 것"은 바람직하게는(제한적인 것은 아니지만), 클라이언트 머신의 사용자가 아니라 다운로드 루틴의 클라이언트 구성 요소에 의한 동작을 의미한다. 프로파일의 수신시, 클라이언트는 흐름도의 단계(264)에서, (프로파일에서 식별되는) 파일의 기존의 부분 또는 구성 요소가 클라이언트에 존재하는지 여부를 판단하기 위해 테스트 또는 검사한다. 비록 제한적인 것을 의미하는 것은 아니지만, 바람직하게는 "체크리스트" 등이 클라이언트 구성 요소에 의해 셋업되어, 이 목적을 위해 평가된다. 대안으로, 클라이언트 구성 요소는 프로파일 구성 요소를 계속해서 추적하기 위해 소정의 형태의 데이터 구조(structure)(또는 다른 리스트)를 셋업할 수도 있다. 만일 이 평가의 결과가 부정이면, 루틴은 단계(266)에서 계속된다. 이 시점에서, 클라이언트는 (프로파일에 의해 식별되는) 파일의 제1 구성요소 x.1을 요구하고, 이 요구를 서버로 송신한다. 흐름도의 단계(268)에서, 서버는 구성요소 x.1을 전송하므로써 응답한다.
제1 구성 요소라는 것을 의미하는 코드를 수신하면, 클라이언트 구성 요소는 바람직하게는, {Size} 및 {CRC} 정보를 프로파일내의 식별 정보와 비교하고, 그 구성 요소가 완전하게 다운로드되었는지 기록한다. 이것은 단계(270)에서 이루어 진다. 이러한 크기 및/또는 CRC 비교는 모든 부분이 수신될 때 까지 연기될 수도 있다. {Size} 는 바이트를 카운트하므로써 결정되며, {CRC} 는 공지된 방식으로 계산된다. 다음에는, 단계(272)에서 제1 구성 요소 x.1이 (프로파일과의 비교에 의해 나타나는 바와 같이) 그 전부가 수신되었는지 판단하기 위한 검사가 수행된다. 만일 단계(272)에서의 검사 결과가 긍정이면, 다운로드 시퀀스는 계속된다. 특히, 단계(274)에서, 모든 구성 요소가 수신되었는지 판단하기 위한 검사가 수행된다. 만일 결과가 긍정이 아니면, 루틴은 회귀하여 잔여 구성 요소 각각에 대해 반복한다.
구성 요소는 순차적인 순서로 서버로부터 클라이언트로 전송되는 것이 바람직한데, 이것이 반드시 요구되는 것은 아니다. 모든 구성 요소가 클라이언트에 의해 요구되어 서버에 의해 전송될 때까지, 다운로드 시퀀스는 이러한 방식으로(수신된 각각의 구성요소가 프로파일 식별 정보에 대해 검사됨) 계속된다.
단계(274)에서의 긍정 검사 결과에 의해 나타나는 바와 같이, 모든 구성 요소가 수신되었으면, 클라이언트 구성 요소는 단계(276)에서 구성 요소를 재조립하고, 단계(278)에서 전체 파일에 대한 {Size} 및 {CRC}를 계산한다. 단계(280)에서는, 이제 전체 파일이 클라이언트에 존재하는지 판단하기 위한 검사가 이루어진다. 이것은 계산된 정보를 프로파일 헤더 블록내의 식별 정보와 비교하므로써 실현된다. 만일 단계(280)에서의 검사 결과가 긍정이면, 루틴은 완료된다. 만일 결과가 부정이면, 루틴은 누락된 구성 요소를 얻기 위해 단계(266)으로 복귀한다.
이제, 클라이언트가 구성 요소 x.2를 요구한 이후에, 파일 전송이 인터럽트된 것으로 가정하자. 이것은 도 4의 프로세스 흐름도에 예시되어 있다. 전송 인터럽트는 정전이나, 또는 사용자가 웹 어플라이언스로 공급되는 전원을 부주의하거나 고의적으로 턴 오프하는 것과 같은 여러 가지 요인에 의해 유발될 수 있다. 그러나 이러한 상황에서, 클라이언트는 다시 인터넷에 접속하고, 프로파일 x.pro의 전송을 요구한다. 그러면, 서버는 프로파일을 재전송하므로써 이에 응답하는데, 이것은 클라이언트가 분리되어 있는 동안에 파일이 변경되었을 수도 있기 때문에 유익한 점이 된다. 그러나, 파일을 재전송하는 것이 항상 요구되는 것은 아니며, 그 이유는 파일 상태가 영속적인 경우가 있을 수 있기 때문이다. 그러나, 본 발명의 양호한 실시예에서는, 프로파일이 재전송된다. 그러면, 클라이언트는 전술한 바와 같이, 기존의 부분들에 대해 검사한다. 본 실시예의 이 시점에서, 구성 요소 x.1는 발견되지만, 구성 요소 x.2는 발견되지 않는다(또는 그 크기나 CRC가 프로파일 식별 정보와 일치하지 않는다). 그러므로, 클라이언트는 구성 요소 x.2를 요구하고, 서버는 이 구성 요소를 전송하므로써 이에 응답한다. 검사 이후에, 클라이언트가 다음 구성 요소를 요구하고 이 요구를 서버로 송신하므로써, 다운로드 시퀀스는 계속된다. 서버는 적당한 때에 구성 요소 x.3을 전송하므로써 이에 응답한다. 파일의 모든 부분이 전송되었으면(그리고, 프로파일 분석에 의해 판단하였으면), 클라이언트는 이들 부분을 재조립하고, CRC 및 필요한 경우에 날짜/시간 스탬프를 검사하고, 프로세스는 종료된다.
알 수 있는 바와 같이, 본 발명은 전송의 일부가 인터럽트되는 경우에 전체 파일의 재전송을 미연에 방지하기 때문에 매우 유익하다. 비록 도 4의 프로세스 흐름도는 단일의 전송 인터럽트를 도시하고 있지만, 본 발명은 인터럽트의 빈도수나 그와 관련된 지연에 관계없이 유용하다. 바람직하게도, 본 발명의 방식을 이용한 파일 전송은 웹 어플라이언스의 사용자에게 "투명성 있게" 이루어지며, 따라서 어플라이언스에 내재하는 소프트웨어가 주기적으로 갱신될 수 있다. 이것은 어플라이언스의 사용 및 유지를 용이하게 만든다. 또한, 종래의 FTP 메카니즘위에 루틴을 오버레이하므로써, 파일의 개별 구성 요소가 기존의 FTP를 이용하여 전송될 수 있 으며, 따라서, 본 발명은 기존의 어플라이언스와 호환성이 있다.
본 발명의 다른 장점은 파일이 다수의 구성 요소로 분해되고, 이것은 복수의 구성 요소의 동시 전송을 가능하게 한다는 것이다. 이것은 한 세션 동안에 클라이언트와 서버 사이에 복수의 소켓(sockets)을 개방하므로써 실현될 수 있다. 또한, 본 발명의 기술은 그 크기가 약 50K 바이트보다 큰 파일, 바람직하게는 100K 바이트 보다 큰 파일에 대해 가장 유용하다는 것을 이해해야 한다.
또한, 본 발명의 범위내에서 다른 수정 및 변형이 가능하다. 그러므로, 예를 들어, 서버에는, 클라이언트 요구에 응답하여, 복합 파일을 구성 요소로 분해하고, 파일에 대한 프로파일을 생성하고, 그 프로파일을 클라이언트로 반송하기 위한 메카니즘이 제공될 수도 있다. 이때, 전술한 바와 같이 잔여 부분의 파일 전송이 진행되게 된다. 이것은 새로운 서버 데몬(daemon)에 의해, 또는 새로운 FTP 사이트 명령을 수용하도록 기존의 FTP 데몬을 수정하므로써 실현될 수 있다. 서버 메카니즘의 제3자 이용을 용이하게 하기 위해 적절한 애플리케이션 프로그래밍 인터페이스(API)가 제공될 수도 있다.
본 발명의 파일 전송 방식의 양호한 구현중 하나는 컴퓨터의 랜덤 억세스 메모리에 내재하는 코드 모듈내의 명령어 셋트(프로그램 코드)로서 이루어진다. 컴퓨터에 의해 요구될 때까지, 이 명령어 셋트는 다른 컴퓨터 메모리, 예를 들어, 하드 디스크 드라이브나, 또는 광 디스크(결국 CD ROM에서의 이용을 위한 것임)나 플로피 디스크(결국 플로피 디스크 드라이브에서의 이용을 위한 것임)와 같은 분리 가능한 메모리에 저장되거나, 또는 인터넷이나 다른 컴퓨터 네트워크를 통해 다운로드될 수도 있다. 또한, 전술한 여러 가지 방법은 소프트웨어에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터에서 편리하게 구현되지만, 이 기술 분야에 통상의 지식을 가진자는 이와 같은 방법이, 하드웨어, 펌웨어, 또는 필요한 방법 단계를 수행하도록 구성된 다른 특수한 장치에서 실행될 수도 있다는 인식할 것이다.
본 명세서에서 사용된 바와 같이, "인터넷 클라이언트"는 인터넷과 같은 컴퓨터 네트워크에 공지된 방식이나 또는 후에 개발될 방식으로 직접 또는 간접적으로 접속되거나 접속가능한 모든 컴퓨터 또는 그 구성 장치를 의미하는 것으로 넓게 해석되어야 한다. 또한, 용어 "인터넷 서버"는, 컴퓨터, 컴퓨터 플랫폼, 컴퓨터나 플랫폼의 부속물(adjunct), 또는 그 구성 장치를 의미하는 것으로 넓게 해석되어야 한다. 물론, "클라이언트"는 파일을 요구하거나 획득하는 것을 의미하고, "서버"는 파일을 다운로드하는 개체가 되는 것으로 넓게 해석되어야 한다. 또한, 본 발명은, 네트워크 자원을 보존하기 위해 마스터 서버로부터 일련의 인터넷 클라이언트에 서비스하는 로컬 서버에서 데이터 및 프로그램을 캐시하기 위해 사용될 수 있다.
본 발명이 설명되었지만, 특허증에 의해 보호받길 원하고 새로운 것으로 청구하고자 하는 것은 다음의 특허 청구의 범위에 기재되어 있다.
본 발명에 따르면, 서버 컴퓨터에서 클라이언트 컴퓨터로의 안정되고 신뢰성이 보장되는 파일 전송이 가능하다.
특히, 본 발명은 클라이언트 컴퓨터의 사용자가 별다른 조치를 하거나 심지어 파일 전송에 대해 신경쓰지 않더라도 안정되게 파일 전송이 가능하도록 하며, 인터럽트 발생시에도 효율적이고 신뢰성있는 파일 전송이 가능하다.

Claims (15)

  1. 인터넷 클라이언트(internet client) 상에서, 인터넷 서버(internet server)로부터 구성 요소 파일들의 집합(a set of component files)으로 이루어진 다운로드 파일(download file)을 다운로드하는 방법에 있어서,
    상기 서버로부터 상기 각 구성 요소 파일들의 식별 정보를 포함하는 다운로드 파일의 프로파일(profile)을 수신하는 단계와,
    인터넷 프로토콜(Internet Protocol)을 이용하여, 상기 서버로부터 상기 각 구성 요소 파일들을 하나씩 전송하는 다운로드 시퀀스(download sequence)를 개시하는 단계와,
    상기 다운로드 시퀀스가 인터럽트되는 경우, 인터럽트로 의해 영향을 받은 구성 요소 파일로부터 상기 다운로드 시퀀스를 재시작하는 단계와,
    상기 다운로드 시퀀스가 완료되면, 상기 프로파일의 식별 정보를 이용하여 상기 구성 요소 파일들을 재조립하는 단계를 포함하며,
    여기서 상기 인터넷 프로토콜은 파일 전송 프로토콜(FTP)이며,
    상기 프로파일 내의 각각의 구성 요소 파일 식별 정보는, 식별자, 상기 구성 요소 파일의 크기를 나타내는 값 및 상기 구성 요소를 유일하게 식별하는 코드를 포함하는 것인 다운로드 파일의 다운로드 방법.
  2. 제1항에 있어서,
    상기 인터럽트 이전에 전송된 구성 요소 파일은 상기 서버로부터 재전송되지 않는 다운로드 파일의 다운로드 방법.
  3. 제1항에 있어서,
    상기 코드는 순환 중복 코드(CRC)인 다운로드 파일의 다운로드 방법.
  4. 제1항에 있어서,
    상기 식별 정보를 이용하여 상기 서버로부터 전송된 구성 요소 파일이 상기 다운로드 파일의 일부분인지 검증하는 단계를 더 포함하는 파일 다운로드 방법.
  5. 인터넷 서버 상에서, 구성 요소 파일들의 집합으로 이루어진 다운로드 파일을 인터넷 클라이언트로 다운로드하는 방법에 있어서,
    상기 다운로드 파일을 일련의 구성 요소 파일들로 분해하는 단계와,
    상기 각 구성 요소 파일에 관한 식별 정보를 포함하는 다운로드 파일의 프로파일을 생성하는 단계와,
    인터넷 프로토콜을 이용하여, 상기 각 구성 요소 파일들을 하나씩 상기 클라이언트로 전송하는 다운로드 시퀀스를 개시하는 단계와,
    상기 다운로드 시퀀스에 대한 인터럽트에 응답하여, 인터럽트에 의해 영향을 받은 구성 요소 파일로부터 상기 다운로드 시퀀스를 재시작하는 단계를 포함하며,
    여기서 상기 프로파일 내의 각각의 구성 요소 파일에 대한 식별 정보는, 식별자, 상기 구성 요소의 크기를 나타내는 값 및 상기 구성 요소를 유일하게 식별하는 코드를 포함하는 것인 다운로드 파일의 다운로드 방법.
  6. 제5항에 있어서,
    상기 코드는 순환 중복 코드(CRC)인 다운로드 파일의 다운로드 방법.
  7. 인터넷 클라이언트 상에서, 인터넷 서버구성 요소 파일들의 집합으로 이루어진 다운로드 파일-여기서, 다운로드 파일은 다운로드 파일 및 그 각각의 구성 요소 파일에 대한 식별 정보를 포함하는 프로파일에 의해 표현됨-을 다운로드하는 방법에 있어서,
    상기 서버로부터 상기 프로파일을 상기 클라이언트로 전송하는 단계와,
    인터넷 파일 전송 프로토콜(FTP)을 이용하여, 상기 프로파일에 따라 상기 서버로부터 각각의 구성 요소 파일을 하나씩 전송하는 다운로드 시퀀스를 개시하는 단계와,
    구성 요소 파일의 수신시, 상기 식별 정보를 이용하여 그 구성 요소 파일의 완전한 버전(complete version)이 전송되었는지를 검증하는 단계와,
    상기 구성 요소 파일의 완전한 버전이 전송되지 않은 경우에는, 그 구성 요소 파일로부터 상기 다운로드 시퀀스를 재시작하는 단계와,
    상기 다운로드 시퀀스가 완료된 경우, 상기 구성 요소 파일들을 재조립하여 상기 다운로드 파일로 만든 후, 그 다운로드 파일의 식별 정보를 이용하여 상기 다운로드 파일의 완전한 버전이 전송되었는지 여부를 검증하는 단계를 포함하는 다운로드 파일의 다운로드 방법.
  8. 제7항에 있어서,
    상기 다운로드 시퀀스를 재시작하기 이전에, 상기 서버로부터 상기 클라이언트로 상기 프로파일을 재전송하는 단계를 더 포함하는 다운로드 파일의 다운로드 방법.
  9. 제7항에 있어서,
    상기 다운로드 파일에 대한 식별 정보는 상기 다운로드 파일을 유일하게 식별하는 코드를 포함하는 파일 다운로드 방법.
  10. 제9항에 있어서,
    상기 코드는 순환 중복 코드(CRC)인 다운로드 파일의 다운로드 방법.
  11. 인터넷에 접속가능한 클라이언트 컴퓨터에 있어서,
    프로세서와,
    상기 프로세서에 전기적으로 접속되고 인터넷 프로토콜 인스트럭션 및 파일 전송 다운로드 루틴이 저장된 메모리
    를 포함하며,
    여기서 상기 파일 전송 다운로드 루틴은 상기 프로세서에 의해 실행되며,
    서버로부터, 다운로드 파일을 구성하는 복수의 구성 요소 파일에 관한 식별 정보를 포함하는 다운로드 파일의 프로파일을 수신하는 기능과,
    상기 인터넷 프로토콜 인스트럭션을 이용하여, 상기 서버로부터 각 구성 요소 파일을 하나씩 전송하는 다운로드 시퀀스를 개시하는 기능과,
    상기 다운로드 시퀀스에 대한 인터럽트에 응답하여, 인터럽트로 인해 영향을 받은 구성 요소 파일로부터 다운로드 시퀀스를 재시작하는 기능과,
    상기 구성 요소 파일들이 수신되면, 이들을 상기 프로파일을 이용하여 상기 다운로드 파일로 재조립하는 기능
    을 수행하는 것인 클라이언트 컴퓨터.
  12. 제11항에 있어서,
    상기 인터넷 프로토콜 인스트럭션은 파일 전송 프로토콜(FTP) 인스트럭션인 클라이언트 컴퓨터.
  13. 인터넷에 접속가능한 서버 컴퓨터에 있어서,
    프로세서와,
    상기 프로세서에 전기적으로 접속되고 인터넷 프로토콜 인스트럭션 및 파일 전송 다운로드 루틴이 저장된 메모리
    를 포함하며,
    여기서 상기 파일 전송 다운로드 루틴은 상기 프로세서에 의해 실행되며,
    다운로드 파일을 일련의 구성 요소 파일들로 분해하는 기능과,
    상기 각 구성 요소 파일에 관한 식별 정보를 포함하는 다운로드 파일의 프로파일을 생성하는 기능과,
    상기 프로파일을 클라이언트로 전송하는 기능과,
    상기 인터넷 프로토콜 인스트럭션을 이용하여, 상기 구성 요소 파일들을 상기 클라이언트로 하나씩 전송하는 다운로드 시퀀스를 개시하는 기능과,
    상기 다운로드 시퀀스에 대한 인터럽트에 응답하여, 이 인터럽트로 인해 영향을 받은 구성 요소 파일로부터 상기 다운로드 시퀀스를 재시작하는 기능
    을 수행하는 것인 서버 컴퓨터.
  14. 제13항에 있어서,
    상기 인터넷 프로토콜 인스트럭션은 파일 전송 프로토콜(FTP) 인스트럭션인 서버 컴퓨터.
  15. 데이터 처리 시스템에 있어서,
    원격 제어 유닛와,
    상기 원격 제어 유닛의 제어하에 인터넷 억세스를 제공하는 모니터에 접속가능한 기본 유닛
    을 포함하고, 상기 기본 유닛은,
    프로세서와,
    상기 프로세서에 전기적으로 접속되고 인터넷 프로토콜 인스트럭션 및 파일 전송 다운로드 루틴이 저장된 메모리
    를 포함하며,
    여기서 상기 파일 전송 다운로드 루틴은 상기 프로세서에 의해 실행되며,
    서버로부터, 다운로드 파일을 구성하는 복수의 구성 요소 파일에 관한 식별정보를 포함하는 다운로드 파일의 프로파일을 수신하는 기능과,
    상기 인터넷 프로토콜 인스트럭션을 이용하여, 상기 서버로부터 각 구성 요소 파일을 하나씩 전송하는 다운로드 시퀀스를 개시하는 기능과,
    상기 다운로드 시퀀스에 대한 인터럽트에 응답하여, 인터럽트로 인해 영향을 받은 구성 요소 파일로부터 다운로드 시퀀스를 재시작하는 기능과,
    상기 구성 요소 파일들이 수신되면, 이들을 상기 프로파일을 이용하여 상기 다운로드 파일로 재조립하는 기능
    을 수행하는 것인 데이터 처리 시스템.
KR1019970056056A 1997-02-10 1997-10-29 표준인터넷프로토콜을이용한파일전송재시작방법및장치 KR100368167B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/797,079 1997-02-10
US08/797,079 US6963923B1 (en) 1997-02-10 1997-02-10 Method for file transfer restarts using standard internet protocol

Publications (1)

Publication Number Publication Date
KR100368167B1 true KR100368167B1 (ko) 2003-04-18

Family

ID=25169842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970056056A KR100368167B1 (ko) 1997-02-10 1997-10-29 표준인터넷프로토콜을이용한파일전송재시작방법및장치

Country Status (4)

Country Link
US (1) US6963923B1 (ko)
EP (1) EP0862304A3 (ko)
JP (1) JP3251898B2 (ko)
KR (1) KR100368167B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030022497A (ko) * 2001-09-10 2003-03-17 한빛전자통신 주식회사 뜨블유씨디엠에이 비동기 시스템에서 블록로딩 방법

Families Citing this family (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098180A (en) * 1997-02-18 2000-08-01 E-Parcel, Llc Robust delivery system
US7209972B1 (en) * 1997-10-30 2007-04-24 Commvault Systems, Inc. High speed data transfer mechanism
US6418478B1 (en) 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7581077B2 (en) 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
EP1040431B1 (en) * 1997-12-24 2005-03-30 America Online, Inc. Localization of clients and servers
US7739381B2 (en) 1998-03-11 2010-06-15 Commvault Systems, Inc. System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services
WO2000017738A1 (en) * 1998-09-17 2000-03-30 Koninklijke Philips Electronics N.V. Internet-based service for updating a programmable control device
US7574693B1 (en) 1998-09-17 2009-08-11 Koninklijke Philips Electronics N.V. Internet-based service for updating a programmable control device
US20030195974A1 (en) 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
US7260094B1 (en) 1998-12-22 2007-08-21 Aol Llc Localization of clients and servers
JP2000207219A (ja) 1999-01-18 2000-07-28 Fujitsu Ten Ltd 車載端末とセンタ―との間の通信システム、及び、通信システムに使用する車載端末
WO2000055729A1 (en) * 1999-03-15 2000-09-21 Netpliance, Inc. Dedicated internet access device and method for use
SE9901240D0 (sv) * 1999-04-07 1999-04-07 Johan Schlasberg An information system
SE515834C2 (sv) * 1999-05-06 2001-10-15 Telia Ab Förfarande och anordning för styrning av datafilöverföring
US6850962B1 (en) * 1999-05-07 2005-02-01 Commercequest, Inc. File transfer system and method
TW533716B (en) * 1999-06-18 2003-05-21 Sony Corp Transission method, electronic machine and providing medium
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
AU6512900A (en) * 1999-08-03 2001-02-19 America Online, Inc. Providing interactive links in tv programming
KR100590186B1 (ko) * 1999-11-09 2006-06-14 삼성전자주식회사 Http을 사용한 tftp파일 전송 시스템
US6832245B1 (en) 1999-12-01 2004-12-14 At&T Corp. System and method for analyzing communications of user messages to rank users and contacts based on message content
US7562128B1 (en) 2000-03-06 2009-07-14 Philips Koninklijke Philips Electronics N.V. STB connects remote to web site for customized code downloads
CN1304926C (zh) * 2000-01-21 2007-03-14 皇家菲利浦电子有限公司 机顶盒将遥控设备连接到网站以进行用户定制码下载
CA2398265A1 (en) * 2000-01-24 2001-07-26 The University Of Manitoba Method and system for segmented file transfer
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
ATE533102T1 (de) * 2000-02-01 2011-11-15 Commvault Systems Inc Hochgeschwindigkeitsdatentransfermechanismus
FR2805114B1 (fr) * 2000-02-11 2005-05-06 Sagem Procede de configuration d'un terminal pour communiquer a travers un reseau informatique, terminal universel pour la mise en oeuvre du procede et procede de standardisation des fabricants de stockage du terminal
FR2805113B1 (fr) * 2000-02-11 2002-05-31 Sagem Procede de configuration d'un terminal pour communiquer a travers un reseau informatique
US7437428B1 (en) 2000-02-16 2008-10-14 Microsoft Corporation System and method for transferring data over a network
AU2001238419A1 (en) * 2000-02-16 2001-08-27 Microsoft Corporation System and method for transferring data over a network
US6920110B2 (en) 2001-02-14 2005-07-19 Microsoft Corporation System and method for transferring data over a network
DE60132433T2 (de) 2000-03-17 2008-12-24 America Online, Inc. Sofortige nachrichtenübermittlung mit zusätzlicher sprachkommunikation
US8132110B1 (en) 2000-05-04 2012-03-06 Aol Inc. Intelligently enabled menu choices based on online presence state in address book
US9100221B2 (en) 2000-05-04 2015-08-04 Facebook, Inc. Systems for messaging senders and recipients of an electronic message
US8122363B1 (en) 2000-05-04 2012-02-21 Aol Inc. Presence status indicator
US9356894B2 (en) 2000-05-04 2016-05-31 Facebook, Inc. Enabled and disabled menu choices based on presence state
US7979802B1 (en) 2000-05-04 2011-07-12 Aol Inc. Providing supplemental contact information corresponding to a referenced individual
US9043418B2 (en) 2000-05-04 2015-05-26 Facebook, Inc. Systems and methods for instant messaging persons referenced in an electronic message
US6912564B1 (en) 2000-05-04 2005-06-28 America Online, Inc. System for instant messaging the sender and recipients of an e-mail message
US6564229B1 (en) 2000-06-08 2003-05-13 International Business Machines Corporation System and method for pausing and resuming move/copy operations
US8001190B2 (en) 2001-06-25 2011-08-16 Aol Inc. Email integrated instant messaging
CN1293740C (zh) 2000-07-25 2007-01-03 美国在线服务公司 视频消息传送
TW559702B (en) 2000-08-31 2003-11-01 Nippon Telegraph & Telephone File transfer system, apparatus, method and computer readable medium storing file transfer program
KR100516551B1 (ko) * 2000-11-25 2005-09-22 엘지전자 주식회사 원격 소프트웨어 업그레이드 시스템 및 방법
GB2373067A (en) * 2000-11-29 2002-09-11 Ruslan Gennadievich Fedorovsky File transfer method and system using segmented transfer and targeted content
CA2440159C (en) 2001-03-07 2011-05-03 Netscape Communications Corporation Integration of e-mail with instant messaging services
US7765484B2 (en) 2001-09-28 2010-07-27 Aol Inc. Passive personalization of lists
US7512652B1 (en) 2001-09-28 2009-03-31 Aol Llc, A Delaware Limited Liability Company Passive personalization of buddy lists
US7774711B2 (en) 2001-09-28 2010-08-10 Aol Inc. Automatic categorization of entries in a contact list
AU2003272456A1 (en) 2002-09-16 2004-04-30 Commvault Systems, Inc. System and method for optimizing storage operations
US7636755B2 (en) 2002-11-21 2009-12-22 Aol Llc Multiple avatar personalities
US8037150B2 (en) 2002-11-21 2011-10-11 Aol Inc. System and methods for providing multiple personas in a communications environment
EP1427169A1 (en) * 2002-11-25 2004-06-09 Culture.com Technology (Macau) Ltd File-downloading system and method
US7263614B2 (en) 2002-12-31 2007-08-28 Aol Llc Implicit access for communications pathway
US7945674B2 (en) 2003-04-02 2011-05-17 Aol Inc. Degrees of separation for handling communications
US7949759B2 (en) 2003-04-02 2011-05-24 AOL, Inc. Degrees of separation for handling communications
US7908554B1 (en) 2003-03-03 2011-03-15 Aol Inc. Modifying avatar behavior based on user action or mood
US7484176B2 (en) 2003-03-03 2009-01-27 Aol Llc, A Delaware Limited Liability Company Reactive avatars
US7913176B1 (en) 2003-03-03 2011-03-22 Aol Inc. Applying access controls to communications with avatars
US8117265B2 (en) 2003-03-26 2012-02-14 Aol Inc. Identifying and using identities deemed to be known to a user
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
WO2005033844A2 (en) * 2003-09-18 2005-04-14 Field2Base, Inc. Job site communications systems, methods, and computer program products
US20050076214A1 (en) * 2003-10-03 2005-04-07 Thomas David Andrew Method and system for file downloads to portable computing devices
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
CA2548542C (en) 2003-11-13 2011-08-09 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7315923B2 (en) 2003-11-13 2008-01-01 Commvault Systems, Inc. System and method for combining data streams in pipelined storage operations in a storage network
US7440982B2 (en) 2003-11-13 2008-10-21 Commvault Systems, Inc. System and method for stored data archive verification
US7613748B2 (en) 2003-11-13 2009-11-03 Commvault Systems, Inc. Stored data reverification management system and method
KR100605880B1 (ko) * 2004-02-25 2006-08-01 삼성전자주식회사 클라이언트와 서버 간의 메시지 파일 송신 방법
US8898239B2 (en) 2004-03-05 2014-11-25 Aol Inc. Passively populating a participant list with known contacts
US8595146B1 (en) 2004-03-15 2013-11-26 Aol Inc. Social networking permissions
KR100557192B1 (ko) * 2004-04-06 2006-03-03 삼성전자주식회사 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.
US20060047855A1 (en) 2004-05-13 2006-03-02 Microsoft Corporation Efficient chunking algorithm
EP1637999A1 (en) * 2004-09-20 2006-03-22 Sap Ag Data transmission apparatus and method having resume data transmission in case of interrupted transmission
US7613787B2 (en) 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
WO2006053084A2 (en) 2004-11-05 2006-05-18 Commvault Systems, Inc. Method and system of pooling storage devices
US9002949B2 (en) 2004-12-01 2015-04-07 Google Inc. Automatically enabling the forwarding of instant messages
US8060566B2 (en) 2004-12-01 2011-11-15 Aol Inc. Automatically enabling the forwarding of instant messages
US7730143B1 (en) 2004-12-01 2010-06-01 Aol Inc. Prohibiting mobile forwarding
US9652809B1 (en) 2004-12-21 2017-05-16 Aol Inc. Using user profile information to determine an avatar and/or avatar characteristics
US7921369B2 (en) 2004-12-30 2011-04-05 Aol Inc. Mood-based organization and display of instant messenger buddy lists
US20070094348A1 (en) * 2005-01-07 2007-04-26 Microsoft Corporation BITS/RDC integration and BITS enhancements
US7849462B2 (en) * 2005-01-07 2010-12-07 Microsoft Corporation Image server
US8073926B2 (en) * 2005-01-07 2011-12-06 Microsoft Corporation Virtual machine image server
KR100680296B1 (ko) 2005-04-15 2007-02-07 주식회사 케이티프리텔 무선 네트워크를 통한 대용량 컨텐츠 이어받기 서비스 제공방법 및 이를 구현하기 위한 프로그램이 기록된 기록매체
WO2006110005A1 (en) 2005-04-15 2006-10-19 Ktfreetel Co., Ltd. Method for providing contents for mobile comunication terminal
WO2006109998A1 (en) 2005-04-15 2006-10-19 Ktfreetel Co., Ltd. Method for providing contents
US7606580B2 (en) 2005-05-11 2009-10-20 Aol Llc Personalized location information for mobile devices
US7765265B1 (en) 2005-05-11 2010-07-27 Aol Inc. Identifying users sharing common characteristics
US8094790B2 (en) 2005-05-18 2012-01-10 Mattersight Corporation Method and software for training a customer service representative by analysis of a telephonic interaction between a customer and a contact center
US8094803B2 (en) 2005-05-18 2012-01-10 Mattersight Corporation Method and system for analyzing separated voice data of a telephonic communication between a customer and a contact center by applying a psychological behavioral model thereto
US7995717B2 (en) 2005-05-18 2011-08-09 Mattersight Corporation Method and system for analyzing separated voice data of a telephonic communication between a customer and a contact center by applying a psychological behavioral model thereto
CN100411341C (zh) * 2005-08-10 2008-08-13 华为技术有限公司 一种并行下载方法和终端
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US7962709B2 (en) 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7617253B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Destination systems and methods for performing data replication
US8661216B2 (en) 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7620710B2 (en) 2005-12-19 2009-11-17 Commvault Systems, Inc. System and method for performing multi-path storage operations
AU2006331932B2 (en) 2005-12-19 2012-09-06 Commvault Systems, Inc. Systems and methods for performing data replication
US7543125B2 (en) 2005-12-19 2009-06-02 Commvault Systems, Inc. System and method for performing time-flexible calendric storage operations
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US8005892B2 (en) * 2006-02-17 2011-08-23 Nintendo Of America, Inc. Method and apparatus for distributing data to a plurality of game devices
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US8726195B2 (en) 2006-09-05 2014-05-13 Aol Inc. Enabling an IM user to navigate a virtual world
US8655914B2 (en) 2006-10-17 2014-02-18 Commvault Systems, Inc. System and method for storage operation access security
US8312323B2 (en) 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US8718262B2 (en) 2007-03-30 2014-05-06 Mattersight Corporation Method and system for automatically routing a telephonic communication base on analytic attributes associated with prior telephonic communication
US7869586B2 (en) 2007-03-30 2011-01-11 Eloyalty Corporation Method and system for aggregating and analyzing data relating to a plurality of interactions between a customer and a contact center and generating business process analytics
US8023639B2 (en) 2007-03-30 2011-09-20 Mattersight Corporation Method and system determining the complexity of a telephonic communication received by a contact center
US8527650B2 (en) * 2007-05-21 2013-09-03 International Business Machines Corporation Creating a checkpoint for modules on a communications stream
US7950019B2 (en) * 2007-05-21 2011-05-24 International Business Machines Corporation Method and apparatus for checkpoint and restarting a stream in a software partition
US7930327B2 (en) * 2007-05-21 2011-04-19 International Business Machines Corporation Method and apparatus for obtaining the absolute path name of an open file system object from its file descriptor
US7792983B2 (en) * 2007-07-31 2010-09-07 International Business Machines Corporation Method and apparatus for checkpoint and restart of pseudo terminals
US10419611B2 (en) 2007-09-28 2019-09-17 Mattersight Corporation System and methods for determining trends in electronic communications
US8548503B2 (en) 2008-08-28 2013-10-01 Aol Inc. Methods and system for providing location-based communication services
US7882224B2 (en) 2008-09-19 2011-02-01 International Business Machines Corporation Method and system for automatic network connection establishment in case of network address renewal
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8434131B2 (en) 2009-03-20 2013-04-30 Commvault Systems, Inc. Managing connections in a data storage system
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
JP2011209506A (ja) * 2010-03-30 2011-10-20 Yamaha Corp カラオケ端末
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8489656B2 (en) 2010-05-28 2013-07-16 Commvault Systems, Inc. Systems and methods for performing data replication
KR101924974B1 (ko) * 2011-01-04 2018-12-04 삼성전자주식회사 이동통신 단말기에서 주변 디바이스를 원격 제어하기 위한 장치 및 방법
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US20120226738A1 (en) * 2011-03-04 2012-09-06 Zynga Inc. Simultaneous download of application file portions
KR20130046540A (ko) * 2011-10-28 2013-05-08 삼성에스디에스 주식회사 데이터 전송 장치 및 방법
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9430491B2 (en) 2013-01-11 2016-08-30 Commvault Systems, Inc. Request-based data synchronization management
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9191510B2 (en) 2013-03-14 2015-11-17 Mattersight Corporation Methods and system for analyzing multichannel electronic communication data
CN103368969B (zh) * 2013-07-22 2016-02-10 烽火通信科技股份有限公司 传输管理eml-nml间全量配置同步的方法及系统
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980050158A (ko) * 1996-12-20 1998-09-15 양승택 통신처리 시스템의 전달 프로토콜

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1309519C (en) * 1987-03-17 1992-10-27 Antonio Cantoni Transfer of messages in a multiplexed system
IT1211278B (it) * 1987-09-02 1989-10-12 Olivetti & Co Spa Sistema di trasmissione e o ricezione di programmi per calcolatori e o dati attraverso il teletext
FR2696256B1 (fr) 1992-09-30 1994-11-25 Bull Sa Utilisation de "tubes" pour le transfert d'états entre différents systèmes distants.
US5481255A (en) * 1993-02-10 1996-01-02 Data Critical Corp. Paging transmission system
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
US5579239A (en) 1994-02-16 1996-11-26 Freeman; Mitchael C. Remote video transmission system
US5583563A (en) * 1995-01-12 1996-12-10 Us West Marketing Resources Group, Inc. Method and system for delivering an application in an interactive television network
US5553083B1 (en) * 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links
FI105754B (fi) * 1995-06-12 2000-09-29 Nokia Oy Ab Siirtoprotokolla tiedostojen välittämiseksi DAB-järjestelmässä
US5689825A (en) * 1995-07-28 1997-11-18 Motorola, Inc. Method and apparatus for downloading updated software to portable wireless communication units
US5737599A (en) * 1995-09-25 1998-04-07 Rowe; Edward R. Method and apparatus for downloading multi-page electronic documents with hint information
US5870610A (en) * 1996-06-28 1999-02-09 Siemens Business Communication Systems, Inc. Autoconfigurable method and system having automated downloading
US5857203A (en) * 1996-07-29 1999-01-05 International Business Machines Corporation Method and apparatus for dividing, mapping and storing large digital objects in a client/server library system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980050158A (ko) * 1996-12-20 1998-09-15 양승택 통신처리 시스템의 전달 프로토콜

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICAIONS. VOL. 7. NO. 7 SEP. 1989 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030022497A (ko) * 2001-09-10 2003-03-17 한빛전자통신 주식회사 뜨블유씨디엠에이 비동기 시스템에서 블록로딩 방법

Also Published As

Publication number Publication date
JP3251898B2 (ja) 2002-01-28
JPH10240602A (ja) 1998-09-11
EP0862304A3 (en) 2004-01-02
EP0862304A2 (en) 1998-09-02
US6963923B1 (en) 2005-11-08

Similar Documents

Publication Publication Date Title
KR100368167B1 (ko) 표준인터넷프로토콜을이용한파일전송재시작방법및장치
US6226642B1 (en) Content modification of internet web pages for a television class display
US6886013B1 (en) HTTP caching proxy to filter and control display of data in a web browser
US6163779A (en) Method of saving a web page to a local hard drive to enable client-side browsing
US7020700B1 (en) Client side socks server for an internet client
EP0876034B1 (en) Method for content retrieval over a network
US6119161A (en) Managing connection requests in a dialup computer network
EP0859307A1 (en) Control mechanism for graphical user interface
US6018345A (en) Cursor change indication of links in document interface
US6950852B1 (en) Method and system for sharing the browser
US6477550B1 (en) Method and system for processing events related to a first type of browser from a second type of browser
US6542165B1 (en) System, apparatus and method of relating annotation data to an application window
CN100583788C (zh) 在控制设备中控制至少一个受控设备的方法和装置
EP1939759A1 (en) Method for providing content to a mobile device, gateway for providing content and mobile device
EP1499966A2 (en) Automated installation of an application
JP2004501545A (ja) テレビサービスに対するユニフォームリソース識別およびアクセスの方法およびシステム
US5909215A (en) Method and apparatus to intercept and process error messages in a data processing system
EP0878760B1 (en) Method and apparatus to remotely configure a data processing system
JP2003203024A (ja) ホームネットワークに接続した被制御装置をインターネットを通じて制御する方法及びその制御装置
EP1499967A2 (en) Secure transmission and installation of an application
CN102387118B (zh) 一种数据输出方法及装置
CN115471262A (zh) 广告分发系统及智能广告分发机
KR20090000056A (ko) 전자제품의 온라인 도움정보 관리 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070102

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee