KR100547649B1 - 네트워크를통한소프트웨어의원격업그레이드 - Google Patents

네트워크를통한소프트웨어의원격업그레이드 Download PDF

Info

Publication number
KR100547649B1
KR100547649B1 KR1019970060360A KR19970060360A KR100547649B1 KR 100547649 B1 KR100547649 B1 KR 100547649B1 KR 1019970060360 A KR1019970060360 A KR 1019970060360A KR 19970060360 A KR19970060360 A KR 19970060360A KR 100547649 B1 KR100547649 B1 KR 100547649B1
Authority
KR
South Korea
Prior art keywords
client
server
client system
block
data
Prior art date
Application number
KR1019970060360A
Other languages
English (en)
Other versions
KR19980042488A (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 KR19980042488A publication Critical patent/KR19980042488A/ko
Application granted granted Critical
Publication of KR100547649B1 publication Critical patent/KR100547649B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04897Special input arrangements or commands for improving display capability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2356Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages by altering the spatial resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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
    • 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/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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/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/4786Supplemental services, e.g. displaying phone caller identification, shopping application e-mailing
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/027Arrangements and methods specific for the display of internet documents
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H9/00Details of switching devices, not covered by groups H01H1/00 - H01H7/00
    • H01H9/02Bases, casings, or covers
    • H01H9/0214Hand-held casings
    • H01H9/0235Hand-held casings specially adapted for remote control, e.g. of audio or video apparatus
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/22Automatic class or number identification arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42085Called party identification service
    • H04M3/42102Making use of the called party identifier
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

텔레비젼에 접속되어 하나 이상의 서버와 광역 네트워크를 통하여 통신하는 셋톱 박스에 수용되어 있는 프로세싱 시스템에서 월드 와이드 웹 브라우저 소프트웨어는 실행된다. 그 브라우저 소프트웨어는 수많은 하이퍼텍스트 앵커가 텔레비젼 상에 디스플레이되어 있는 월드와이드 웹페이지를 통한 원격 제어를 사용하여 사용자가 네비게이션하게 한다. 사용자 입력은 적외선(IR)링크를 사용하는 원격 입력 디바이스로부터 입력된다. 그 프로세싱 시스템은 판독 전용 메모리(ROM)와 플레시 메모리를 포함하고 있다. 그 마스크 ROM과 그 플레시 메모리는 그 프로세싱 시스템의 메모리 맵내의 인접 메모리 공간에 할당된다. 브라우저 소프트웨어와 구성 데이터는 플레시 메모리에 저장된다. 다른 소프트웨어와 구성 데이터는 마스크 ROM에 저장된다. 그 브라우저는 네트워크를 통해서 서버로부터 전송된 데이터나 박스대체 소프트웨어에 다운로드함으로써, 그리고 그 대체 소프트웨어나 데이터를 플레시 메모리에 기록함으로써 업그레이드되거나 재구성된다. 다운로드 동안 박스로의 전원이 나가는 경우에 프로세싱 시스템에서의 전원을 일시적으로 유지하기 위한 메커니즘이 제공된다. 그 메커니즘은 현블럭의 기록이 완료되게 한다. 현 블록의 지시는 전원이 없는 동안에도 유지되고, 그 결과 전력이 복구되자 마자 기록된 마지막 블록으로부터 다운로드가 재개될 수 있다.

Description

네트워크를 통한 소프트웨어의 원격 업그레이드{REMOTE UPGRADE OF SOFTWARE OVER A NETWORK}
본 발명은 컴퓨터 소프트웨어의 분야에 관한 것이다. 더 상세하게는, 본 발명은 네트워크를 통하여 프로세싱 시스템내의 소프트웨어를 업그레이드하는 것에 관한 것이다.
실제로 최근 몇년사이에 개인용 컴퓨터를 사용하는 집과 사무실의 수가 증가하였고, 이 증가와 함께 인터넷, 그리고 특히 월드 와이드 웹("웹")의 사용이 폭발적으로 증가하였다. 웹은 인터넷에 의해 논리적으로 접속된, 전 세계의 수많은 컴퓨터에 있는 포맷된 하이퍼텍스트 페이지들의 집합이다. 과거에는 "웹"이 주로 과학과 기술의 정보원이였지만, 지금은 사업, 연예, 여행 그리고 교육을 포함하여, 거의 모든 주제와도 관련되는 정보에 대한 가치 있는 자원이다. 네트워크 기술에서, 그리고 특히 "웹 브라우저"(사용자 인터페이스를 웹에 제공하는 소프트웨어 응용)와 같은 소프트웨어에서의 발달은 웹을 대다수의 사람들이 액세스할 수 있도록 하였다. 그러나, 웹의 발달과 사용에 있어서의 증가에도 불구하고, 많은 사람들은 아직도 이 중요한 자원을 이용할 수가 없다.
웹으로의 액세스는 개인용 컴퓨터에 액세스하는 사람들로 제한되어 왔다. 아직도 일부 사람들은 상대적으로 비싼 개인용 컴퓨터의 비용을 감당할 수가 없는 반면, 다른 사람들은 웹에 액세스하는데 필요한 기본적인 컴퓨터 기술을 배울 수 없거나 배우기를 원하지 않는다. 더구나, 종래 기술의 웹 브라우저는 보통 컴퓨터 경험이 부족한 일부 사람들이 바라는 사용자의 용이함을 제공하지 못했고, 그리고 많은 컴퓨터 초보자들은 소프트웨어의 사용 방법을 배울 정도의 참을성이 없다. 예를 들면, 일부 사람들은 하이퍼텍스트 객체을 식별(identify)하는 것을 요구하고 웹 페이지를 통하여 검색하는 포인트 앤 클릭(point-and-click) 기술을 사용하는 것을 요구하는 인터페이스를 좋아하지 않는다.
그러나, 대부분의 사람들은 텔레비젼 세트를 작동하는데 원격제어기를 사용하는 것이 매우 편리하다고 느낀다. 그러므로, 사람이 개인용 컴퓨터를 사용하지 않고도 월드 와이드 웹에 액세스가능하도록 하는 것이 바람직할 수 있다. 특히, 사람들이 보통의 텔레비젼 세트와 원격제어기를 사용하여 웹 페이지에 액세스하고 네비게이션 할 수 있는 것이 바람직할 수 있다. 사람들이 마치 복잡한 컴퓨터 네트워크를 이용하는 것보다 텔레비젼 채널을 바꾸는 것과 같이 간단하다고 느낄 수 있도록, 최소한의 노력과 생각으로 웹 페이지상의 하이퍼 텍스트 객체사이를 네비게이션하는데 원격제어기를 사용할 수 있게 하는 사용자 인터페이스를 구비하는 것이 바람직할 것이다.
사용자 인터페이스에서의 결함에 더하여, 일반적으로 웹검색과 관련된 다른 문제는 통신 대기시간이다. 일반적으로 사람들은 웹을 검색할 때에 실망스러운 오랜 지체를 경험한다. 대기시간에 대하여는 인터넷상의 극심한 통신 소통량, 원격서버의 느린 응답, 또는 많은 영상 또는 오디오의 경우와 같이 방대한 파일을 다운로드하는 경우와 같은 많은 가능성 있는 원인이 있다. 그러므로, 웹검색과 대표적으로 연관되어 왔던 실망중 일부를 제거하기 위하여 요구되는 것은 이러한 대기시간을 줄이는 수단이다.
일반적으로 컴퓨터 사용자가 직면하는 또 다른 문제로는, 소프트웨어 응용은 금방 구식이 되는 경향이 있다는 것이다. 따라서, 소프트웨어 제공자는 주기적으로 업그레이드를 행하고, 이것은 자기 및 광학 디스켓 또는 다른 유사한 저장 디바이스와 같이, 원래의 소프트웨어가 배포되었던 것과 같은 방식으로 자주 배포된다. 그러나, 이들과 같은 저장 매체에서의 소프트웨어 업그레이드의 배포는 손실을 가져온다. 예를들어, 사용자가 소프트웨어 업그레이드를 반복적으로 설치하는 것은 불편하고, 때로는 귀찮은 것이고, 이것은 시간소모과정이 될 수 있다. 더욱이, 사용자는 업그레이드가 유용하거나 필요하다고 인식하지 못할 수 있고, 또는 그가 업그레이드를 행하거나 설치하는 것을 잊어버릴 수 있다. 업그레이드는 가치 있는 새로운 특징을 소프트웨어에 부가할 수 있거나 또는 소프트웨어에서 버그(에러)를 수정할 수 있기 때문에, 업그레이드를 설치하지 않거나 또는 업그레이드 설치를 연기하는 것은 손실이 될 수 있다. 그러므로, 소프트웨어 업그레이드가 사용자 입장에서 적은 노력 또는 아무런 노력 없이도 네트워크를 통하여 제공되는 기술이 필요하다.
네트워크를 통하여 서버 프로세싱 시스템과 통신하도록 연결된 클라이언트 프로세싱 시스템내에 저장된 정보를 갱신(update)하는 방법이 제공된다. 서버 프로세싱 시스템으로부터 네트워크를 타고 전송된 정보는 네트워크로부터 다운로드된다. 그러면, 다운로드된 정보는 플레시 메모리에 저장되어 있는 현정보를 갱신하기 위해 클라이언트 프로세싱 시스템내의 플레시 메모리에 기록된다.
본 발명의 다른 측면은 월드 와이드 웹에 액세스할 때 클라이언트 프로세싱 시스템에 의해 경험되는 대기시간을 줄이는 방법이다. 클라이언트 프로세싱 시스템은 서버 프로세싱 시스템에 연결되고, 프로세서와 판독전용메모리(ROM)를 포함한다. 클라이언트 프로세싱 시스템은 그 프로세싱 시스템의 사용자가 월드 와이드 웹을 검색할 수 있도록 하는 컴퓨터 프로그램 명령으로 프로그램된다. 그 방법에서, 적어도 하나의 웹자원과 관련된 데이터의 제1집합은 클라이언트 프로세싱 시스템내의 ROM에 저장된다. 웹자원에 액세스하기 위한 클라이언트 프로세싱 시스템의 요청에 응답하여, 웹자원과 관련된 데이터는 제1집합에서 나타난 모든 데이터를 배제한 상태에서 클라이언트 프로세싱 시스템에 제공된다.
본 발명의 또 다른 측면은 프로세서, 마스크 ROM, 및 플레시 메모리를 포함하는 프로세싱 시스템내에서 메모리를 할당하는 방법이다. 프로세싱 시스템은 그 프로세싱 시스템의 메모리 자원의 할당을 지정하는 메모리 맵을 더 구비한다. 그 방법에서, 그 메모리 맵의 제1메모리 공간은 마스크 ROM에 할당된다. 제1메모리 공간과 제2메모리 공간이 메모리 맵에서 인접하도록, 그 메모리 맵의 제2메모리 공간은 플레시 메모리에 할당된다.
본 발명의 또 다른 측면은 네트워크를 통하여 제2 프로세싱 시스템에 연결되게 할 수 있는 프로세싱 시스템이다. 그 프로세싱 시스템은 제2 프로세싱 시스템으로부터 전송된 정보를 제1 프로세싱 시스템에 다운로드되게 하는 수단을 포함한다. 그 정보는 복수의 부분집합으로서 나타낼 수 있다. 그 프로세싱 시스템은 정보를 저장하는 메모리 수단, 다운로드 과정에서의 인터럽션(interruption)을 검출하는 검출수단, 및 인터럽션 다음에 소정의 시간 간격동안 프로세싱 시스템의 작동을 유지하는 유지수단을 더 포함한다. 그 프로세싱 시스템은 그 정보가 메모리 수단에 저장되게 하는 저장수단을 더 포함한다. 그 저장수단은 또한 프로그레스 표시(progress indication)를 메모리 수단에 저장하기 위한 수단이다. 프로그레스 표시는 지금까지 그 정보의 부분집합중 어느 것이 메모리 수단에 기록되었는지를 식별한다. 다운로드중에 인터럽션이 검출수단에 의해 검출되지 않았을 경우에만, 그 저장수단은 부분집합중의 하나가 메모리수단에 기록된 후에 부분집합중의 다음 하나가 메모리 수단에 기록되게 한다.
본 발명의 다른 특징은 첨부한 도면과 이에 수반하는 상세한 설명으로 명백해질 것이다.
네트워크를 통하여 소프트웨어의 원격 업그레이드를 수행하는 장치와 방법이 설명된다. 다수의 특정 세목이 본 발명의 충분한 이해를 돕기 위해 설명된다. 그러나, 당해 분야에 종사하는 사람이라면 이러한 특정 세목 없이도 본 발명이 실행될 수 있다는 것을 알 수 있을 것이다. 다른 실시예에서 설명을 용이하게 하기 위하여 잘 알려진 구조와 디바이스가 블록도 형태로 도시되어 있다.
일 실시예에서, 본 발명에 따른 단계는 기계-실행가능 소프트웨어 명령으로 구현되고, 본 발명은 아래에 상세히 설명된 바와 같이 명령을 실행하는 프로세서에 의해 프로세싱 시스템내에서 실행된다. 다른 실시예에서, 본 발명을 구현하기 위하여 소프트웨어 명령과 결합하거나 또는 소프트웨어 명령 대신에 하드와이어드 회로(hardwired circuitry)를 사용할 수 있다.
본 발명은 셋톱 박스가 인터넷을 통하여 하나 이상의 서버 및 텔레비젼과 접속된 시스템에 관한 것이다. 그 셋톱 박스는 사용자가 원격제어 디바이스를 사용하여 텔레비젼상에 디스플레이되는 월드 와이드 웹 페이지를 통하여 검색할 수 있게 해 주는 검색 소프트웨어를 실행하는 프로세싱 시스템을 포함한다. 아래에 기재된 바와 같이, 브라우저는 네트워크를 통하여 서버로부터 전송된 데이터 또는 대체 소프트웨어를 셋톱 박스에 다운로드한 다음, 그 대체 소프트웨어 또는 데이터를 셋톱 박스내의 프로그램가능 비휘발성 메모리에 기록함으로써 업그레이드되거나 재구성(reconfigure)된다.
일 실시예에서, 본 발명은 WebTVTM(WebTV)로 알려진 시스템에 포함되어 있는데, 이것은 웹을 검색하는 디스플레이 디바이스로서 표준 텔레비젼 세트를 사용하고, 표준 전화, ISDN, 또는 유사한 통신선을 사용하여 인터넷과 같은 종래의 네트워크에 접속한다. 본 발명에 따라, WebTV 클라이언트 시스템의 사용자는 하나 이상의 원격 WebTV 서버에 의해 제공되는 WebTV 네트워크 서비스를 이용할 수 있다. 그 WebTV 네트워크 서비스는 웹을 검색하고, 전자메일을 보내고 그리고 다양한 다른 방법으로 인터넷을 이용하기 위하여 WebTV 클라이언트 시스템내에서 작동하는 소프트웨어와 함께 사용된다. 그 WebTV 서버은 WebTV 클라이언트 시스템이 요청하는 데이터나 웹 페이지를 원격 서버로부터 검색한 다음 그 요청된 정보를 WebTV 클라이언트 시스템에 전송하는 프록시(proxy)로서 기능한다.
I 시스템 개요
도 1a는 일 실시예에 따라 WebTV 네트워크의 구성을 도시한다. 다수의 WebTV 클라이언트(1)은 전화(DOTS, 즉 "재래식 전화 서비스")와 같은 직통다이얼, 양방향 데이터 통신수단(29), ISDN(종합 정보 통신망), 또는 다른 유사한 유형의 통신수단을 경유하여 모뎀 풀(2)에 접속된다. 그 모뎀 풀(2)은 인터넷과 같은 종래의 네트워크 하부구조(3)를 경유하여 수많은 원격 서버에 당해 기술에서 일반적으로 알려진 바와 같이 라우터를 경유하여 전형적으로 연결된다. 그 WebTV 시스템은 WebTV 서버(5)를 또한 포함하고, 이것은 WebTV 클라이언트(1)들을 특정하게 지원한다. 즉, 서버(5)는 WebTV 서비스를 WebTV 클라이언트(1)에게 제공한다. 각각의 클라이언트(1)은 모뎀풀(2)을 경유하여 직통전화나 ISDN통신 수단 또는 인터넷(3)중 하나를 통해서 서버(5)에 접속할 수 있다. 오늘날 세계도처에서 인터넷과 개인 네트워크로의 액세스를 제공하는 것이 알려진 바와 같이, 모뎀 풀(2)는 종래의 모뎀풀임에 유념해야 한다. 모뎀 풀(2)은 지역 인터넷 서비스 제공자(ISP)에 의해 제공될 수 있다.
A 서버 시스템 구조
WebTV 서버(5)는 도 2에서 설명된 구조를 일반적으로 가진 하나 또는 다수의 컴퓨터 시스템을 일반적으로 포함한다. 설명된 구조는 단지 예시적이다는 것은 주지되어야 한다; WebTV 서버는 설명된 구조에 제한되지 않는다. 그 설명된 구조는 중앙처리장치(CPU)(50), 랜덤 액세스 메모리(RAM)(52), 판독전용메모리(ROM)(51), 대용량 저장 디바이스(53), 모뎀(54), 네트워크 인터페이스 카드(NIC)(55), 그리고 다양한 다른 입력/출력(I/O) 디바이스(56)를 포함하고 있다. 대용량 저장 디바이스(53)는 자기, 광학, 또는 다른 동등한 저장 매체을 포함하고 있다. I/O디바이스(56)는 디스플레이 모니터, 키보드, 커서 제어 디바이스 등과 같은 디바이스중 어느 하나 또는 모두를 포함할 수 있다. 모뎀(54)은 인터넷을 경유하여 원격서버(4)로부터 그리고 원격서버(4)에 데이터를 통신하는데 이용된다.
상기된 바와 같이, 서버(5)는 실제적으로 분배된 구조로 연결된 복합의 물리적이고 논리적인 디바이스를 포함할 수 있다. 따라서, NIC(55)는 WebTV 서비스 부품인 다른 디바이스에 데이터 통신을 제공하는데 사용된다. 모뎀(54)은 WebTV 서비스의 부품이고 설명된 디바이스에 근접하게 위치하지 않은 다른 디바이스와 통신하는데 또한 사용될 수 있다.
B. 클라이언트 시스템 구조
도 3은 하나의 실시예에 따라 WebTV 클라이언트 시스템(1)을 도시하고 있다. 그 클라이언트 시스템(1)은 전자 유니트(10)(이하 "WebTV(10)" 또는 박스(10)), 보통의 텔레비젼 세트(12), 그리고 손에 쥘 만한 원격제어기(11)를 포함하고 있다.
본 발명의 대안적인 실시예에서, WebTV 박스(10)는 필수적인 유니트로서 텔레비젼 세트(12)에 끼워넣어진다. 그 박스(10)는 사용자에게 그래픽 사용자 인터페이스를 제공하는 소프트웨어와 하드웨어를 포함하고, 이것에 의해 사용자는 WebTV 네트워크 서비스에 액세스하고, 웹을 검색하고 e-메일을 보내고, 그리고 기타 인터넷에 액세스할 수 있다.
WebTV 클라이언트 시스템(1)은 디스플레이 디바이스와 오디오 출력 디바이스로서 텔레비젼 세트(12)를 사용한다. 박스(10)는 링크(6)에 의해 텔레비젼 세트(12)에 연결된다. 그 링크(6)는 텔레비젼 스피커로부터 음향을 발생시키는 오디오 채널, RF(무선 주파수), S-비디오, 합성비디오, 또는 다른 포맷 형태의 비디오 채널을 포함한다. 박스(10)와 서버(5)사이의 통신 링크(29)는 전화(POTS) 통신수단(29a)이나 ISDN 통신수단(29b)중 하나이다. 박스(10)는 AC전원 라인(7)을 통해서 AC(교류)전원을 수신한다.
원격제어기(11)는 웹을 검색하고, e-메일을 보내고, 그리고 다른 인터넷 관련 기능을 실행하는 클라이언트 시스템(1)을 제어하기 위해 사용자에 의해 작동된다. 박스(10)는 적외선(IR) 통신 링크를 경유하여 원격 제어기(11)로부터 나오는 명령을 수신한다. 대안적인 실시예에서, 원격제어기(11)와 박스(10)사이의 링크는 RF 또는 어떤 동등한 방식의 전송일 수도 있다.
박스(10)는 박스(10)내의 프로세서에 의해 실행될 때, 사용자가 WebTV 네트워크 서비스에 액세스하고 웹을 검색할 수 있는 그래픽 사용자 인터페이스를 사용자에게 제공하는 응용 소프트웨어를 포함한다. 그 응용소프트웨어는 박스(10)로의 전원 인가시에 자동적으로 실행된다.
도 4는 WebTV 박스(10)의 내부 소자를 도시하고 있다. 클라이언트 시스템(1)의 작동은 응용 주문형 집적회로(ASIC)(20)에 접속되어 있는 CPU(21)에 의해 제어된다. CPU(21)은 본 발명의 특징을 이행하도록 설계된 소프트웨어를 실행한다. ASIC(20)은 WebTV 시스템의 어떤 기능을 이행하는데 사용되는 회로소자를 포함한다. ASIC(20)은 오디오 출력을 텔레비젼(12)에 제공하는 오디오 디지털-아날로그 변환기(25)에 연결된다. 또한, ASIC(20)은 비디오 출력을 텔레비젼 세트(12)에 제공하는 비디오 부호기(26)에 연결된다. IR 인터페이스(24)는 원격제어기(11)에 의해 전송된 IR신호를 검출하고, 응답하여, 대응하는 전기 신호를 ASIC(20)에 제공한다. 표준 전화 모뎀(27)과 ISDN 모뎀(30)은 ASIC(20)에 결합되어 통신수단(29a)과 (29b)을 모뎀 풀(2)과 그리고 인터넷(3)을 경유하여 원격서버(4)에 각각 제공한다. 도시된 실시예가 전화 모뎀(27)과 ISDN 모뎀(30)모두를 포함하고 있지만, 이들 디바이스중 어느 하나로도 본 발명을 실행하는데 충분하다는 것에 유념하라. 게다가, 다양한 다른 실시예에서, 전화 모뎀(27)과 ISDN 모뎀(30)각각은 케이블 텔레비젼 모뎀과 같은 다른 통신디바이스로 대체되거나 보충될 수 있다. 또한, 다른 실시예에서, 서버(5)와의 통신은 토큰 링 또는 이더넷 통신 수단을 경유하여 만들어질 수 있다. 박스(10)은 또한 케이블 텔레비젼 모뎀(도시생략)을 포함할 수 있다는 것을 유념하라.
또한 ASIC(20)에 연결된 것은 마스크 판독전용 메모리(ROM)(22a), 플레시 메모리(22b), 그리고 랜덤 액세스 메모리(RAM)(23)이다. 마스크 ROM(22a)(프로그램할 수 없기 때문에 명명됨)은 아래에 설명된 바와 같이 어떤 프로그램 명령과 데이터의 저장을 제공한다. 플레시 메모리(22b)는 (프로그램 되도록) 기록될 수 있고 전기적으로 소거될 수 있는 종래의 플레시 메모리이다. 플레시 메모리(22b)는 데이터 뿐만 아니라 검색 소프트웨어의 저장을 제공한다. 하나의 실시예에서, 대용량 저장 디바이스(28)는 WebTV 박스안에 포함되고 ASIC(20)에 연결된다. 그 대용량 저장 디바이스(28)는 클라이언트에게 소프트웨어나 데이터를 입력시키거나 네트워크 통신수단(29)을 통해서 수신된 소프트웨어 데이터를 다운로드하는데 사용될 수 있다. 대용량 저장 디바이스는 자기 디스크, 광 디스크, 그리고 그 밖의 것과 같은 기계 실행 가능 명령을 저장하기 위한 어떤 적합한 매체를 포함한다.
상기된 바와같이, WebTV 박스(10)는 웹 브라우저를 포함하는 응용 소프트웨어를 포함한다. 여기서 도 5를 참조하면, 상기 응용 소프트웨어(31)는 오퍼레이팅 시스템(OS) 소프트웨어(32)와 함께 작동한다. OS 소프트웨어(32)는 여러 디바이스 구동기를 포함하고 또 응용 소프트웨어(31)와 시스템 하드웨어 소자(40)(즉, 도 4에 도시된 요소)사이에 인터페이스를 제공한다.
하나의 실시예에서, 응용 소프트웨어(31)와 OS 소프트웨어(32)는 플레시 메모리(22b)에 저장된다. 그러나 응용 소프트웨어(31) 또는 OS 소프트웨어(32), 아니면 이들 양자중 일부 또는 모두는 다양한 실시예에서 마스크 ROM(22a) 또는 대용량 저장 디바이스(28)와 같이 어떤 다른 적합한 저장 매체에 저장될 수 있다.
상기된 바와 같이, 본 발명에 따른 단계는 하나의 실시예에 따른 기계실행 명령에 구체화되어 있다. 예를들어, 하나의 실시예에서 본 발명은 마스크 ROM(22a), 플레시 메모리(22b), 또는 RAM(23) 또는 이들 디바이스의 결합에 포함된 명령의 시퀀스를 실행하는 CPU(21)에 의해 WebTV 박스(10)에서 실행된다. 보다 상세하게는, 명령의 시퀀스 실행은 CPU(21)가 본 발명의 단계를 실행하게 한다. 이 단계는 아래에 기술될 것이다. 본 발명을 실행하는 명령은 대용량 저장 디바이스(28)와 같이 지속적인 저장 및/또는, WebTV 서버(5) 또는 원격서버(4)와 같이 네트워크를 통하여 하나 또는 다수의 다른 컴퓨터 시스템으로부터 메모리에 로드된다. 예를 들어, 그러한 서버 시스템은 클라이언트 시스템(1)에 의해 인터넷(3)을 통하여 서버 시스템에 전송된 메세지에 응답하여, 명령의 시퀀스를 클라이언트 시스템(1)에 전송할 수 있다. 클라이언트 시스템(1)은 모뎀(27a)과 같은, 네트워크 통신수단을 경유하여 명령을 수신함에 따라, 클라이언트 시스템(1)은 메모리내에 명령을 저장한다. 클라이언트 시스템(1)은 나중 실행에 대한 명령을 저장하거나 네트워크 통신수단을 통하여 도착하는 명령을 실행할 수 있다.
일부 실시예에서, 다운로드된 명령은 CPU(21)에 의해 직접 지원될 수 있다. 결과적으로 명령의 실행은 CPU(21)에 의해 직접 실행될 수 있다. 또 다른 실시예에서, 명령은 CPU(21)에 의해 직접 실행될 수가 없다. 이러한 상황하에서, 명령은 CPU(21)가 그 명령을 해석하는 해석기를 실행하게 함으로써, 또는 CPU(21)가 수신된 명령을 CPU(21)에 의해 직접 실행될 수 있는 명령으로 변화시키는 명령을 실행하게 함으로써 실행될 수 있다.
본 발명의 어떤 실시예와 측면은 WebTV 클라이언트 시스템(1)에서 실행될 수 있는 대신에(또는 추가로), WebTV 서버(5)에서 또한 실행될 수 있다. 예를 들어, 서버(5)의 CPU(50)는 본 발명에 따라 단계를 실행하기 위하여 메모리에 저장된 명령을 실행할 수 있다.
여러 실시예에서, 하드와이어드 회로소자는 본 발명을 이행하기 위하여 소프트웨어 명령 대신에, 또는 그와 결합하여 사용될 수 있다. 그러므로, 본 발명은 하드웨어 회로소자와 소프트웨어의 어떤 특정 결합에도, 또한 컴퓨터 시스템에 의해 실행되는 명령에 대한 어떤 특정한 소스에도 제한되지 않는다.
Ⅱ. 원격 다운로드
상기와 같이, 브라우저 소프트웨어는 인터넷을 경유하거나 또는 직통전화 통신수단을 경유하여 서버로부터 전송된 데이터나 박스 대체 소프트웨어를 다운로드함으로써 재구성 또는 업그레이드될 수 있다. 플레시 메모리(22b)의 프로그램가능 특성과 프로그램된 정보를 전원없이 유지하는 능력은 이러한 업그레이드나 재구성을 실행하는데 유리하게 사용된다. 아래에 더 상세히 설명될 바와 같이, WebTV 서버(5)(또는 WebTV 서버(5)에 의해 지정된 다른 서버)로부터 전송된 데이터나 대체 소프트웨어는 WebTV 박스(10)내의 플레시 메모리(22b)에 자동적으로 기록된다. 부가적으로, 그 플레시 메모리는 자바 애플렛(프로그램)과 같은 웹으로부터 다운로드된 다양한 자원을 저장하는데 사용될 수 있고, 그래서 이러한 자원은 클라이언트 시스템(1)에서 전원손실의 경우에 유지될 것이다. 본 발명은 이들 목적으로 플레시 메모리 사용을 반드시 요구하는 것은 아니다; 전기적으로 소거할 수 있는 프로그램가능 ROM(EEPROM)과 같이, 프로그램가능 비휘발성 메모리의 다른 형태가 이용될 수 있다.
하나의 실시예에서, WebTV 시스템의 브라우저 소프트웨어는 그 소프트웨어가 재구성될 수 있도록 플레시 메모리(22b)에 저장된다. 브라우저 환경을 생성하기 위하여 소프트웨어에 의해 사용된 데이터는 마스크 ROM(22a)에 일반적으로 저장된다. 이 데이터는 폰트, 영상, 음향, 서버(5)나 모뎀풀(2)에 접속하기 위한 전화번호, 그리고 WebTV 서버(5), 모뎀풀(2) 또는 다른 서버와 통신하기 위하여 사용된 접속 스크립트 같은 다양한 구성 파라미터를 포함한다.
마스크 ROM(22a)내의 데이터 항목은 플레시 메모리(22b)내의 교체("오버라이드(override)")데이터 항목을 저장함으로써 오버라이드될(대체될) 수 있다. 따라서, 특정 데이터 항목이 플레시 메모리(22b)내에 존재한다면, 클라이언트 시스템(1)은 마스크 ROM (22a)내의 대응하는 데이터 항목을 무시할 것이다. 그러므로, 브라우저는 플레시 메모리(22b)에 저장된 컴퓨터 프로그램 명령, 플레시 메모리(22b)에 저장된 데이터, 또는 둘 다를 대체하거나 부가함으로써 재구성되거나 업그레이드될 수 있다.
플레시 메모리의 어떤 유형들은 소수의 이른바 "부트 블록"으로 제조된다. 부트 블록은 메모리내의 표준 블록보다 크기에서 더 작다. 예를 들어, 플레시 메모리의 하나의 특정 유형에서, 메모리의 단일 표준 블록의 크기는 64K 바이트인 반면, 전형적인 부트 블록은 8K 바이트이다. 그러므로, 하나의 실시예에서, 어떤 오버라이드 데이터 또는 다른 데이터는 플레시 메모리(22b)의 부트 블록에 저장된다. 이 기술은 플레시 메모리의 단일 블록이 충분히 이용될 수 없을 때 상당한 양의 메모리 공간을 낭비하는 것을 피할 수 있다.
인터넷(3)으로부터의 다운로드는 불일치 상태(즉, 프로그램 명령이나 데이터에서의 에러)를 바로 잡기 위하여, 클라이언트 시스템(1)을 재구성하거나 WebTV 클라이언트 시스템(1)을 업그레이드할 목적으로 실행된다. 그 WebTV 클라이언트 시스템(1)은 클라이언트 시스템(1)이 리셋될 때마다 네트워크로부터의 다운로드가 일어나는지 여부를 결정한다. 보다 상세하게는, 리셋중에 클라이언트 시스템(1)이 에러 조건을 검출하거나 또는 업그레이드 경우에, 클라이언트 시스템(1)이 메모리에서의 다운로드 요청을 발견하면, 다운로드는 실행될 것이다. 따라서, 도 6은 하나의 실시예에 따라 WebTV 클라이언트 시스템(1)에 의해 실행되는 리셋경로를 도시하고 있다.
도 6의 리셋경로는 작동시 클라이언트 시스템(1)이 리셋될 때 또는 박스(10)로의 전원이 켜져 있을 때 실행된다. 하나의 실시예에서, 도 6의 경로는 마스크 ROM(22a)에 저장된 스타트업(start-up:시동) 명령의 실행에 의해 수행된다. 단계 601에서, 플레시 메모리(22b)의 모든 내용(즉, 프로그램 명령과 데이터)의 유효성은 종래의 체크합(checksum) 기술을 사용하여 확인된다. 그 내용이 유효하다면(단계 602), 정상 스타트 경로가 단계 603에서 실행된다. 플레시 메모리(22b)의 내용이 유효하지 않다면(즉, 훼손되었던지 또는 반대로 불일치 상태를 나타내는 것이 발견된다면), 에러 다운로드 경로가 단계 604에서 실행된다. 에러 다운로드 경로에서, 플레시 메모리내의 훼손된 정보의 일부 또는 모두는 인터넷(3)으로부터 다운로드된 수정 정보로 교체된다. 에러 다운로드 경로는 아래에 또한 기술된다. 따라서, WebTV 시스템은 WebTV 클라이언트 시스템(1) 사용자의 개재없이도, 에러 다운로드 경로를 실행함으로써 프로그램 또는 데이터내의 에러를 검출하여 자동적으로 수정되게 한다.
도 7은 웹브라우저의 업그레이드가 개시되는 경로를 설명하고 있다. 정상 스타트업 동안에는(즉, 리셋중에 에러가 검출되지 않았을 때), 클라이언트 시스템(1)이 단계 701에서 WebTV 서버(5)에 자동적으로 접속한다. 일반적으로, 이 접속은 접속스크립트를 실행함으로써 모뎀 풀(2)을 경유하여 이루어진다. 단계 702에서 업그레이드가 이용가능하다고 결정되고 그 업그레이드가 단계 703에서 필수로서 지정되면, 서버는 단계 704에서 다운로드 요청이 클라이언트 시스템(1)의 플레시 메모리(22b)로 기록되어지도록, 클라이언트 시스템(1)에 명령을 보낸다. 그러면, 클라이언트 시스템(1)은 도 6의 경로에 따라 리셋하는 단계 705에서 WebTV 서버(5)에 의해 명령된다. 단계 702에서 업그레이드가 이용가능하다고 결정되고 단계 703에서 그 업그레이드가 필수로서 지시되지 않으면, 클라이언트 시스템은 단계 706에서 사용자가 그 업그레이드를 승인 또는 거절하도록 촉구한다. 단계 707에서 업그레이드가 받아진다면, 클라이언트 시스템(1)은 도 6의 경로에 따라 단계 705에 리셋한다. 받아지지 않는다면, 그 경로는 종료된다.
도 8은 업그레이드를 개시하는 스타트업 경로의 일부분(즉, 도 6에서의 단계 603)을 도시하고 있다. 초기에, 클라이언트 시스템(1)은 다운로드 요청이 플레시 메모리(22b)에 존재하는지를 단계 801에서 결정한다. 존재하지 않다면, 단계 808에서 브라우저 프로그램은 정상적으로 시작된다. 다운로드 요청이 플레시 메모리(22b)에서 발견된다면, 다음에 단계 802에서 접속 스크립트가 플레시 메모리(22b)에 존재하는지를 결정한다.
상기된 바와 같이, 접속 스트립트는 WebTV 서버(5) 또는 모뎀 풀(2)과의 통신을 설정하기 위해 실행된다. 일반적으로, 지역 접속 스크립트는 지역 모뎀 풀(2)에 접속하게 하기 위해 플레시 메모리(22b)에 저장된다. 디폴트 접속 스크립트는 마스크 ROM(22a)에 저장되고, 이것은 수신자 부담(즉 "1-800-")전화번호를 사용하는 WebTV 서버(5)에 직접 접속된다. 지역 접속 스크립트가 플레시 메모리(22b)에서 발견되지 않을때만, 디폴트 접속 스크립트는 일반적으로 사용된다.
계속 도 8을 참조하면, 지역 접속 스크립트가 플레시 메모리(22b)에서 발견되면(단계 802), 단계 803에서 클라이언트 시스템은 그 접속 스크립트를 사용하여 지역 모뎀풀(2)을 경유하여 WebTV 서버(5)에 접속한다. 이러한 접속이 이루어진다고 가정하면, IP(인터넷 프로토콜) 주소, 포트, 그리고 업그레이드에 대한 경로 정보가 플레시 메모리(22b)에 저장되어 있는지에 대하여 단계 804에서 결정된다. 업그레이드가 WebTV 서버(5)일 수도 있는, 디폴트 서버외의 서버로부터 다운로드된다면, WebTV 서버(5)는 이러한 정보를 클라이언트 시스템(1)에 제공할 수 있다. 이러한 정보가 제공되면, 클라이언트 시스템(1)은 단계 805에서 특정 서버에 접속하고, 단계 806에서 특정 파일을 요청하고, 그리고 단계 807에서 그 파일을 다운로드하는 것을 개시한다. IP주소, 포트 그리고 경로가 플레시 메모리(22b)에서 발견되지 않는다면, 단계 810에서 클라이언트 시스템(1)은 마스크 ROM(22a)에 저장된 경로, 포트, 그리고 디폴트 IP 주소를 사용하여 디폴트 서버에 접속한다. 그러면 디폴트 업그레이드 파일이 단계 811에서 이러한 저장된 정보를 사용하여 요청되어진다. 단계 811에서, 또한 클라이언트 시스템(1)은 현재 작동하고 있는 소프트웨어의 버전을 디폴트 서버에 지시한다. 그래서 그 디폴트 서버는 그 클라이언트 시스템에 적당한 디폴트 파일을 결정할 수 있다. 디폴트 파일의 다운로드는 클라이언트 시스템이 하나의 파일을 요청한 후에 단계 807에서 개시된다. 상기된 바와 같이, 클라이언트 시스템(1)으로의 다운로드는 인터넷(3) 및 모뎀 풀(2)을 경유하여 일어난다. 일단 다운로드되면, 그 정보는 자동적으로 압축해제(decompress)되고(압축이 적용된다면), 그리고 클라이언트 시스템(1)에 의해 플레시 메모리(22b)에 기록된다.
그러므로, 임의의 업그레이드는 업그레이드를 받을지를 사용자가 신속하게 대답하는 것이외에, 클라이언트 시스템(1)의 사용자로부터 어떠한 입력없이도 자동적으로 실행된다. 필수 업그레이드는 사용자로부터 어떠한 입력없이도 실행되고, 필요하다면, 사실 사용자에게 알리지 않고도 실행될 수 있다.
에러 또는 불일치 상태가 리셋 경로시 발견될 때와 같이 (도 6), 도 9는 클라이언트 시스템의 프로그램 또는 데이터에서의 에러가 자동적으로 바로 수정될 수 있는 경로를 도시하고 있다. 이러한 수정은 사용자의 어떠한 입력없이도 자동적으로 일어나고, 그리고 필요하다면 사실 사용자에게 알리지 않고도 일어날 수 있다는 것을 알 수 있을 것이다. 초기에, 단계 901에서 클라이언트 시스템(1)은 마스크 ROM(22a)에 저장된 디폴트 수신자 부담 번호를 직접 사용하여 서버(5)에 접속한다. 일단 접속되면, 클라이언트 시스템(1)은 서버(5)로부터 지역 접속 스크립트를 얻는다. 그러면 그 클라이언트 시스템(1)은 서버(5)로부터 접속을 끊고, 지역 접속스크립트를 사용하는 지역 모뎀 풀(2)을 경유하여 서버(5)에 재접속한다. 그러면 클라이언트 시스템(1)은 디폴트 IP 주소, 포트, 그리고 마스크 ROM(22a)에 저장된 경로를 사용하여, 단계 903에서 디폴트 서버에 접속을 추가적으로 설정한다. 단계 904에서, 클라이언트 시스템(1)은 디폴트 IP 주소, 포트, 및 경로를 사용하는 디폴트 서버로부터 디폴트 업그레이드 파일을 요청한다. 단계 904에서, 또한 클라이언트 시스템(1)은 현재 작동하고 있는 소프트웨어의 버전을 디폴트 서버에 지시하여, 디폴트 서버가 그 클라이언트 시스템에 적합한 디폴트 파일을 결정할 수 있도록 한다. 단계 905에서, 요청된 파일은 인터넷(3)을 통하여 다운로드된다. 그러면 그 다운로드된 파일은 플레시 메모리(22b)에 기록된다.
도 10은 더 상세히 다운로드되는 과정을 도시하고 있다. 다운로드가 개시될 때, 클라이언트 시스템(1)은 단계 1001에서 블록수로 (실제로 컴퓨터 프로그램 명령을 포함할 수 있는) 데이터의 블록을 요청한다. 단계 1002에서, 클라이언트 시스템(1)은 데이터를 전송할 수 있는 서버로부터 어떤 블록 정보를 수신하고, 다운로드되는 블록의 크기, 다운로드되는 다음 블록의 식별, 현 블럭이 기록되는 플레시 메모리(22b)에서의 주소, 그리고 인터넷을 통하여 전송되기전에 적용되는 어떤 데이터 압축의 기재사항을 포함한다. 그러면 그 데이터는 인터넷(3)을 통하여 클라이언트 시스템(1)에 전송된다. 단계 1003에서, 클라이언트 시스템(1)은 네트워크 접속(29)을 경유하여 데이터를 수신하고 RAM(23)에 그 데이터를 로드한다. 단계 1004에서 클라이언트 시스템(1)은 데이터 압축이 사용되는 것을 가정하여, 데이터를 압축해제한다. 단계 1005에서, 클라이언트 시스템은 단계 1002에서 수신된 주소를 사용하여 플레시 메모리(22b)에 데이터를 기록한다. 다음 블록 정보에 따라 다운로드되는 또 다른 블록이 있으면(단계 1006), 경로는 단계 1001로부터 반복한다. 그렇지 않다면, 그 경로는 종료한다.
Ⅲ. 웹자원의 캐시
웹을 검색하는 것과 관련된 하나의 문제는 통신 대기 시간이다. 종래기술 시스템에서, 긴 대기는 예를 들어, 영상, 오디오 데이터, 또는 방대한 양의 데이터를 요구하는 다른 자원을 다운로드할 때, 일반적으로 경험된다. 본 발명은 이러한 대기시간을 줄이는 기술을 포함하고 있다.
어떤 웹자원은 클라이언트 시스템(1)에 의해 반복적으로 그리고 자주 액세스될 수 있을 것이다. 이러한 자원은 예를 들어, 디스플레이에 대한 포맷 그래픽, WebTV 로고 그리고 WebTV 서비스의 홈페이지를 포함한다. 그러므로, 본 발명에 따라 언급된 바와 같이 어떤 자원은 마스크 ROM(22a), 플레시 메모리(22b), 또는 양자에 캐시된다. 플레시 메모리(22b)에 캐시되는 자원은 상기된 방식으로 인터넷 또는 직접 전화통신수단을 경유하여 서버(5)로부터 갱신되거나 제거되거나 또는 부가될 수 있다. 결과적으로, 이러한 자원을 포함하는 웹페이지가 클라이언트 시스템(1)에 의해 요청될 때, 인터넷(3)으로부터 이들 자원을 다운로드할 필요가 없다. 오히려, 이들 자원들은 마스크 ROM(22a) 또는 플레시 메모리(22b)로부터 직접 검색될 수 있고, 이것은 네트워크로부터 자원을 다운로드하는 것보다 훨씬 빠르게 실행될 수 있다. 이런 캐시의 결과로, 그 요구에 대한 다운로드되는 정보의 전체양이 줄어들고, 그래서 요구에 대한 전체적인 대시시간이 줄어든다.
서버(5)는 어떠한 웹자원이 클라이언트 시스템(1)에서 캐시되는 것을 항상 인식한다. 그러므로 요청이 클라이언트 시스템으로부터 서버(5)에 의해 수신될 때, 그 요청은 캐시된 WebTV 서버의 인식에 대하여 체크된다. 클라이언트 시스템에 캐시된 것으로 알려진 자원도 원격 서버(4)로부터 서버(5)에 의해 검색되지 않을 것이고, 또는 클라이언트 시스템(1)에 전송되지도 않을 것이다.
도 11은 클라이언트 시스템(1)으로부터의 요청에 응답하여 WebTV 서버(5)에 의해 실행되는 경로를 도시하고 있다. 초기에, 단계 1101에서, 서버(5)는 하이퍼텍스트 객체를 선택하는 클라이언트 시스템(1)의 사용자에 응답하여 클라이언트 시스템(1)으로부터 균일 자원 위치 입력(URL)을 수신한다. 그러면 그 서버(5)는 마스크 ROM(22a) 또는 플레시 메모리(22b)중 어느 하나에 저장되어 캐시된 데이터와 통신하기 위하여 단계 1102에서 수신된 URL를 체크한다. 단계 1103에서, 서버(5)는 요청된 웹 페이지(또는 다른 데이터)를 적절한 원격서버(4)로부터 얻는다. 그러면, 그 요청된 웹페이지(또는 다른 데이터)는 단계 1104에서 클라이언트 시스템(1)에 캐시되어 있는 것으로 알려진 그 어떠한 데이터가 배제된 상태에서 클라이언트 시스템(1)으로 다운로드된다.
Ⅳ. 인접하는 마스크와 플레시 메모리 공간
클라이언트 시스템(1)은 마스크 ROM(22a)와 플레시 메모리(22b) 모두를 포함하고 있기 때문에, 메모리 사용은 클라이언트 시스템(1)을 작동하는데 유리한 방식으로 이들 두 디바이스 사이에 할당될 수 있다. 특히, 플레시 메모리와 마스크 ROM 각각은 일반적으로 장점과 단점을 가진다. 예를 들어, 플레시 메모리는 프로그램 가능성 때문에 마스크 ROM 보다 더 융통성이 있는 반면에, 플레시 메모리는 마스크 ROM 보다 더 비싼 경향이 있다. 그러므로, 본 발명의 하나의 실시예에서, 이러한 특성은 브라우저 코드(소프트웨어와 데이터)의 일부를 마스크 ROM(22a)내에, 그리고 브라우저 코드의 일부를 플레시 메모리(22b)내에 저장함으로써 유리하게 사용된다. 더 상세하게, 업그레이드나 재구성의 결과로 변할 것 같지 않는 그 코드의 일부는 마스크 ROM(22a)에 저장되는 반면, 업그레이드되거나 재구성되는 것으로 고려되는 코드의 일부는 플레시 메모리(22b)에 저장된다. 하나의 실시예의 결과는 요구되는 플레시 메모리의 양이 상대적으로 적게 유지될 수 있도록, 대부분의 브라우저 코드(예, 코어 기능을 나타내는 코드)는 마스크 ROM(22a)에 저장된다. 이러한 메모리 할당방식은 저가의 마스크 ROM과 융통성 있는 플레시 메모리 모두를 이용한다. 그러나, 브라우저는 상기된 방식으로 플레시 메모리(22b)에 다운로드함으로써 인터넷을 통해 여전히 쉽게 재구성 또는 갱신될 수 있다.
메모리 공간은 WebTV 클라이언트 시스템의 메모리 맵내의 인접 메모리 공간에 플레시 메모리(22b)와 마스크 ROM(22a)를 할당함으로써 효율적으로 더 할당될 수 있다. 도 12에 도시된 바와 같이, 클라이언트 시스템(1)의 메모리 맵(60)내의 인접하는 메모리 공간(61)과 (62)는 플레시 메모리(22b)와 마스크 ROM(22a)에 각각 할당될 수 있다. 게다가, 브라우저 코드는 필요하다면 브라우저 코드가 메모리 맵(60)의 단일의, 인접한 부분집합(63)을 차지할 수 있도록, 메모리 공간(61)과 (62)의 인접한 부분집합에 저장된다.
Ⅴ. 전원 손실 복구
WebTV 박스(10)로의 AC 전원은 우연히 AC 전원 코드가 플러그에서 빠지게 되는 것과 같이 시스템 작동시에 일부점에서 일시적으로 상실될 수 있다. 그러므로, 본 발명은 다운로드하는 동안 일어나는 전원 손실로부터 복구하고 그에 대처하는 기술을 제공한다. 또한 그 복구기술은 전송하는 서버와의 통신의 손실 또는 혼란에 적용된다.
도 4에 도시된 소자에 추가하여, WebTV 박스(10)는 도 13에 도시된 것과 같은 전원장치(15)를 또한 포함한다. 그 전원장치(15)는 라인(7)을 경유하여 AC 전원을 받고, 그리고 라인(7A)을 경유하여 박스(10)의 여러 소자에 DC전원을 출력한다. 본 발명의 하나의 실시예에 따라서, 전원장치(15)는 유지 디바이스(16)를 포함하고, 이것은 AC 전원 라인(7)상의 전원 손실의 경우, 짧은 주기의 시간(예, 1 내지 2초)동안에 클라이언트 시스템(1)을 작동시키기에 적합한 DC 전원을 유지한다. 더 상세하게, 유지 디바이스(16)은 다운로드된 데이터의 하나의 블록을 플레시 메모리(22b)에 기록하기에 충분히 긴 전원을 유지한다. 사용되는 특정 유형의 플레시 메모리에 따라, 이런 시간의 양은 변할 것이다. 유지 디바이스(16)는 전원장치의 DC 전원 출력(7A)와 AC 전원 라인(7)사이에 연결된다. 하나의 실시예에서, 유지 디바이스(16)는 종래의 캐패시터이고, 이것의 값은 전원이 유지되는 지속시간에 근거하여 선택된다. 그러나, 유지 디바이스(16)는 또한 배터리일 수 있거나 전술한 기능을 실행하는 어떤 다른 디바이스일 수 있다.
전원장치(8)는 또한 AC 전원 손실을 감지할 수 있고 AC 전원이 존재하는지 아닌지를 지시하는, 대응 신호 PWR OK를 출력할 수 있다. 그 신호 PWR OK는 도4에 도시된 바와 같이 ASIC(20)에 제공된다. AC 전원의 손실의 경우에, 그 신호 PWR OK는 이러한 발생을 나타내기 위하여 즉시 상태를 변화시킬 것이다. 그 신호 PWR OK는 도 14의 경로를 수행하기 위하여 클라이언트 시스템(1)에 의한 입력으로서 사용된다. 즉, 단계 1401에서 전원손실이 검출되면, 단계 1402에서 NO PWR 플래그(flag)가 클라이언트 시스템(1)에 셋팅되어 이 사실을 지시한다. 여기서 기술된 바와 같이, 그 전원 플래그의 상태는 다운로드 과정 동안에 반복적으로 체크된다.
여기서 도 15를 참조하면, 다운로드된 데이터의 어떤 블록을 플레시 메모리(22b)에 기록하기에 앞서, NO PWR 플래그의 상태는 단계 1501에서 체크된다. NO PWR 플래그가 (PWR OK 신호에서의 변화에 응답하여) 셋팅되었다면, 경로는 종료되고, 이후에 데이터의 어떠한 블록도 기록되지 않는다. NO PWR 플래그가 셋팅되지 않으면, 데이터의 다음 블록은 단계 1508에서 플레시 메모리(22b)에 기록된다. 필드 NUM_BLOCKS는 지금까지 플레시 메모리(22b)에 기록된 블록의 수를 지시하기 위하여 플레시 메모리(22b)에 제공된다. 이 필드는 단계 1503에서 갱신된다. 단계 1502에서 데이터 블록을 기록하는 동안 전원이 나갔다면, 유지 디바이스(16)는 현 블록의 기록이 완료될 수 있다는 것을 보증한다. 기록될 추가 블록이 있다면(단계 1504), 경로는 NO PWR 플래그의 상태를 체크함으로써 단계 1501로부터 반복한다. 반대이면, 경로는 종료한다.
일단 전원이 복구되고 서버(5)에의 접속이 재설정되면, 다운로드는 다시 시작될 수 있다. 이미 기록된 블록의 수가 플레시 메모리에서 유지되어 있기 때문에(이것은 스타트업시에 체크합을 사용하여 확인될 수 있다), 플레시 메모리(22b)에 아직 기록되지 않은 그들 데이터 블록은 다운로드되는 것이 요구된다. 같은 이유로, 전송하는 서버와의 전화 접속(또는 다른 통신 접속)이 다운로드 동안 끊기거나 혼선되면, 다운로드는 접속이 재설치되자마자 성공적으로 기록된 마지막 블록으로부터 다시 시작될 수 있다.
그러므로, 네트워크를 통하여 소프트웨어의 원격 업그레이드를 실행하는 장치 및 방법에 대하여 설명되었다. 비록 본 발명은 특정 실시예를 기준으로 하여 설명되었지만, 청구항에 설명된 바와 같이, 본 발명의 넓은 사상과 범위를 벗어남이 없이 여러 수정과 변화가 이들 실시예에서 만들어질 수 있다는 것은 분명하다. 따라서, 상기 명세서와 도면은 한정적인 것보다 오히려 예시적인 것이다.
본 발명은 실시예로서 도시되고, 첨부한 도면의 숫자에 제한이 없으며, 같은 참조부호가 유사한 요소를 지시한다.
도 1은 WebTV 서버 시스템에 연결된 몇몇 WebTV 클라이언트 시스템을 도시한다.
도 2는 WebTV 서버 시스템을 도시한다.
도 3는 WebTV 클라이언트 시스템을 도시한다.
도 4는 WebTV 클라이언트 시스템의 전자 장치의 블록도이다.
도 5는 도 1의 클라이언트 프로세싱 시스템(client processing system)내의 하드웨어와 소프트웨어 사이의 기능적인 관계를 도시한다.
도 6은 WebTV 클라이언트 시스템에 대한 리셋 경로를 도시하는 흐름도이다.
도 7은 네트워크를 통하여 WebTV 클라이언트 시스템의 업그레이드를 시작하는 정상 스타트업(start-up)경로를 도시하는 흐름도이다.
도 8은 WebTV 클라이언트 시스템을 업그레이드하기 위해 다운로드를 시작하는 경로를 도시하는 흐름도이다.
도 9는 에러를 정정하기 위해 다운로드를 시작하는 경로를 도시하는 흐름도이다.
도 10은 네트워크로부터 WebTV 시스템으로 다운로드하는 경로를 도시하는 흐름도이다.
도 11은 ROM에 캐시된 웹자원에 액세스(acess)하는 경로를 도시하는 흐름도이다.
도 12는 WebTV 클라이언트 시스템의 부분적인 메모리 맵을 도시한다.
도 13은 WebTV 클라이언트 시스템의 전원장치를 도시한다.
도 14는 전원 손실에 반응하는 경로를 도시하는 흐름도이다.
도 15는 다운로드된 데이터를 메모리에 기록(write)하는 경로를 도시하는 흐름도이다.

Claims (50)

  1. 서버 시스템과 통신하고, 클라이언트 시스템의 작동에 사용되는 프로그램 명령을 포함하는 컴퓨팅 디바이스를 포함하는 상기 클라이언트 시스템에서 프로그램 명령의 손상부분을 복원하는 방법에 있어서,
    상기 클라이언트 시스템에서 시스템 프로그램 명령 또는 애플리케이션 프로그램 명령이 손상부분을 가지고 있는지를 결정하기 위해 상기 시스템 프로그램 명령 및 애플리케이션 명령의 유효성을 체크하는 단계; 및
    상기 시스템 프로그램 명령 또는 애플리케이션 프로그램 명령이 손상부분을 가지고 있다고 결정되면:
    상기 클라이언트 시스템을 상기 서버 시스템에 연결하는 단계;
    상기 서버 시스템으로부터 교체 명령을 수신하는 단계; 및
    상기 프로그램 명령의 손상부분을 상기 교체 명령으로 교체하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 유효성을 체크하는 단계는 손상부분이 존재하는 지를 결정하기 위해 체크섬 기법을 이용하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 클라이언트 시스템을 상기 서버 시스템에 연결하는 단계는:
    상기 서버 시스템에 연관된 로컬 연결 스크립트를 선택하는 단계; 및
    상기 로컬 연결 스크립트를 사용하여 상기 서버 시스템에 연결하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서, 상기 서버 시스템에 연관된 로컬 연결 스크립트를 선택하는 단계는:
    상기 클라이언트 시스템의 메모리로부터 디폴트 연결 스크립트를 판독하는 단계;
    상기 선택된 로컬 연결 스크립트를 포함하는 원결 컴퓨터에 연결하기 위해 상기 디폴트 연결 스크립트를 사용하는 단계;
    상기 원격 컴퓨터로부터 상기 선택된 로컬 연결 스크립트를 다운로드하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서, 상기 서버 시스템으로부터 교체 명령을 수신하는 단계는 상기 서버 시스템에 연결한 후 상기 서버 시스템으로부터 교체 명령을 사용자 개입없이 자동적으로 요청하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서, 상기 서버 시스템으로부터 교체 명령을 수신하는 단계는 상기 서버 시스템을 상기 클라이언트 시스템과 연결하는 위성 연결을 통하여 상기 서버 시스템으로부터 다운로드된 교체 명령을 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제 5 항에 있어서,
    상기 클라이언트 시스템의 랜덤 액세스 메모리에 상기 교체 명령을 기록하는 단계;
    상기 교체 명령을 압축해제하는 단계; 및
    상기 클라이언트 시스템의 플래쉬 메모리에 상기 압축해제된 교체 명령을 기록하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제 1 항에 있어서, 상기 교체 명령은 인터넷을 통해 상기 서버 시스템으로부터 수신되는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서, 상기 애플리케이션 프로그램 명령은 인터넷 브라우저를 포함하고, 상기 손상부분이 인터넷 브라우저내에 포함되는 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서, 상기 프로그램 명령의 손상 부분에 대한 교체 명령은 자바 애플릿을 포함하는 것을 특징으로 하는 방법
  11. 제 1 항에 있어서, 상기 시스템 프로그램 명령의 유효성을 체크하는 단계는 초기화동안 수행되는 것을 특징으로 하는 방법.
  12. 서버 시스템과 통신하고, 클라이언트 시스템의 작동에 사용되는 프로그램 명령을 포함하는 컴퓨팅 디바이스를 포함하는 상기 클라이언트 시스템에서 프로그램 명령의 손상부분을 복원하는 방법을 구현하는 컴퓨터 프로그램 물품에 있어서,
    상기 클라이언트 시스템에서 수행되었을 때, 상기 클라이언트 시스템으로 하여금,
    상기 클라이언트 시스템에서 시스템 프로그램 명령 또는 애플리케이션 프로그램 명령이 손상부분을 가지고 있는지를 결정하기 위해 상기 시스템 프로그램 명령 및 애플리케이션 명령의 유효성을 체크하는 단계; 및
    상기 시스템 프로그램 명령 또는 애플리케이션 프로그램 명령이 손상부분을 가지고 있다고 결정되면:
    상기 클라이언트 시스템을 상기 서버 시스템에 연결하는 단계;
    상기 서버 시스템으로부터 교체 명령을 수신하는 단계; 및
    상기 프로그램 명령의 손상부분을 상기 교체 명령으로 교체하는 단계를 수행하도록 하는 컴퓨터 실행가능 명령을 저장하고 있는 컴퓨터 판독가능 매체를 포함하는 것을 특징으로 하는 물품.
  13. 제 12 항에 있어서, 상기 유효성을 체크하는 단계는 손상부분이 존재하는 지를 결정하기 위해 체크섬 기법을 이용하는 단계를 포함하는 것을 특징으로 하는 물품.
  14. 제 12 항에 있어서, 상기 클라이언트 시스템에 의해 수행되는 방법은
    상기 클라이언트 시스템의 랜덤 액세스 메모리에 상기 교체 명령을 기록하는 단계;
    상기 교체 명령을 압축해제하는 단계; 및
    상기 클라이언트 시스템의 플래쉬 메모리에 상기 압축해제된 교체 명령을 기록하는 단계를 더 포함하는 것을 특징으로 하는 물품.
  15. 제 12 항에 있어서, 상기 애플리케이션 프로그램 명령의 유효성을 체크하는 단계는 상기 교체 명령이외의 정보를 상기 서버 시스템으로부터 요청하는 것에 대비하여 상기 서버 시스템과 통신을 설정하는 클라이언트 시스템에서 수행되는 것을 특징으로 하는 물품.
  16. 서버 시스템과 통신하고, 클라이언트 시스템의 작동에 사용되는 프로그램 명령을 포함하는 컴퓨팅 디바이스를 포함하는 상기 클라이언트 시스템에서 프로그램 명령의 손상 블록을 복원하는 방법에 있어서,
    상기 클라이언트 시스템에서 프로그램 명령 블록이 손상 블록을 가지고 있는지를 결정하기 위해 상기 프로그램 명령 블록의 유효성을 체크하는 단계; 및
    상기 프로그램 명령 블록이 손상 블록을 가지고 있다고 결정되면:
    상기 서버 시스템으로부터 프로그램 명령의 교체 블록을 요청하는 단계;
    상기 서버 시스템으로부터 상기 프로그램 명령의 교체 블록을 수신하는 단계; 및
    상기 프로그램 명령의 손상 블록을 상기 교체 블록으로 교체하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서, 상기 유효성을 체크하는 단계는 상기 프로그램 명령의 손상 블록이 존재하는 지를 결정하기 위해 체크섬 기법을 이용하는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 제 16 항에 있어서, 상기 요청하는 단계는 상기 클라이언트 시스템을 인터넷을 통해 상기 서버 시스템에 연결하는 단계를 포함하는 것을 특징으로 하는 방법.
  19. 제 16 항에 있어서, 상기 요청하는 단계는:
    상기 서버 시스템에 연관된 로컬 연결 스크립트를 선택하는 단계; 및
    상기 로컬 연결 스크립트를 이용하여 상기 서버 시스템 또는 사이트에 연결하는 단계를 포함하는 것을 특징으로 하는 방법.
  20. 제 19 항에 있어서, 상기 로컬 연결 스크립트를 선택하는 단계는:
    메모리로부터 디폴트 연결 스크립트를 판독하는 단계;
    상기 선택된 로컬 연결 스크립트를 포함하는 원격 컴퓨터에 연결하기 위해 상기 디폴트 연결 스크립트를 사용하는 단계;
    상기 원격 컴퓨터로부터 상기 선택된 로컬 연결 스크립트를 다운로드하는 단계를 포함하는 것을 특징으로 하는 방법.
  21. 제 16 항에 있어서, 상기 서버 시스템으로부터 교체 블록을 수신하는 단계는 상기 서버 시스템을 상기 클라이언트 시스템과 연결하는 위성 연결을 통하여 상기 서버 시스템으로부터 다운로드된 교체 블록을 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  22. 제 16 항에 있어서, 상기 프로그램 명령의 각각의 블록은 상기 클라이언트 시스템에 특정 저장 어드레스에 저장되고, 상기 클라이언트 시스템에서 프로그램 명령의 블록의 유효성을 체크하는 단계는 상기 식별된 손상 블록과 연관된 특정 저장 어드레스를 식별하는 단계를 포함하는 것을 특징으로 하는 방법.
  23. 제 16 항에 있어서,
    상기 클라이언트 시스템의 랜덤 액세스 메모리에 상기 교체 블록을 기록하는 단계;
    상기 교체 블록을 압축해제하는 단계; 및
    상기 클라이언트 시스템의 플래쉬 메모리에 상기 압축해제된 교체 블록을 기록하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  24. 제 17 항에 있어서, 상기 서버 시스템으로부터 프로그램 명령의 교체 명령을 요청하는 단계는 사용자 개입없이 자동적으로 수행되는 것을 특징으로 하는 방법.
  25. 서버 시스템과 통신하고, 클라이언트 시스템의 작동에 사용되는 프로그램 명령을 포함하는 컴퓨팅 디바이스를 포함하는 상기 클라이언트 시스템에서 프로그램 명령의 손상 블록을 복원하는 방법을 구현하는 컴퓨터 프로그램 물품에 있어서,
    상기 클라이언트 시스템에서 수행되었을 때, 상기 클라이언트 시스템으로 하여금,
    상기 클라이언트 시스템에서 프로그램 명령의 블록이 손상 블록을 가지고 있는지를 결정하기 위해 상기 프로그램 명령의 블록의 유효성을 체크하는 단계; 및
    상기 프로그램 명령의 블록이 손상 블록을 가지고 있다고 결정되면:
    상기 서버 시스템으로부터 프로그램 명령의 교체 블록을 요청하는 단계;
    상기 서버 시스템으로부터 프로그램 명령의 교체 블록을 수신하는 단계; 및
    상기 프로그램 명령의 손상 블록을 상기 교체 블록으로 교체하는 단계를 수행하도록 하는 컴퓨터 실행가능 명령을 저장하고 있는 컴퓨터 판독가능 매체를 포함하는 것을 특징으로 하는 물품.
  26. 제 25 항에 있어서, 상기 유효성을 체크하는 단계는 프로그램 명령의 손상 블록이 존재하는 지를 결정하기 위해 체크섬 기법을 이용하는 단계를 포함하는 것을 특징으로 하는 물품.
  27. 제 25 항에 있어서, 상기 클라이언트 시스템에 의해 수행되는 방법은
    상기 클라이언트 시스템의 랜덤 액세스 메모리에 상기 교체 블록을 기록하는 단계;
    상기 교체 블록을 압축해제하는 단계; 및
    상기 클라이언트 시스템의 플래쉬 메모리에 상기 압축해제된 교체 블록을 기록하는 단계를 더 포함하는 것을 특징으로 하는 물품.
  28. 제 25 항에 있어서, 상기 애플리케이션 프로그램 명령의 유효성을 체크하는 단계는 상기 교체 블록 이외의 정보를 상기 서버 시스템으로부터 요청에 대비하여 상기 서버 시스템과 통신을 설정하는 클라이언트 시스템에서 수행되는 것을 특징으로 하는 물품.
  29. 제 25 항에 있어서, 상기 프로그램 명령의 각각의 블록은 상기 클라이언트 시스템에 특정 저장 어드레스에 저장되고, 상기 클라이언트 시스템에서 프로그램 명령의 블록의 유효성을 체크하는 단계는 상기 식별된 손상 블록과 연관된 특정 저장 어드레스를 식별하는 단계를 포함하는 것을 특징으로 하는 물품.
  30. 프로그램 명령을 저장하고, 클라이언트와 서버사이의 양방향 통신을 제공하기 위한 양방향 통신 링크 및 상기 클라이언트에 단방향 통신을 제공하기 위한 위성 링크를 가지는 네트워크 기반구조 및 서버를 포함하는 네트워크화된 시스템에 연결된 클라이언트에서, 상기 클라이언트의 프로그램 명령을 갱신하기 위한 방법에 있어서,
    양방향 통신 링크를 사용하여 상기 서버와 통신하는 단계;
    상기 서버와의 통신을 종료하는 단계;
    상기 서버로부터 상기 위성 링크를 통해 프로그램 명령의 갱신의 다운로드를 수신하는 단계;
    상기 갱신이 필수적으로 것으로 지시되어 있는지를 판단하는 단계;
    상기 갱신이 필수적인 것으로 지시되어 있다면, 상기 클라이언트에 저장된 프로그램 명령을 상기 프로그램 명령의 갱신으로 자동적으로 교체하는 단계; 및
    상기 갱신이 필수적인 것이 아니라고 지시되어 있다면, 상기 클라이언트의 사용자에게 상기 갱신을 허용할 것인지를 결정하도록 프롬프트하는 단계를 포함하는 것을 특징으로 하는 방법.
  31. 제 30 항에 있어서, 상기 갱신의 다운로드를 수신하는 것은 클라이언트가 상기 위성 링크로부터 다운로드 수신 능력이 아닌 다른 클라이언트의 특성이 이네이블되지 않는 파워 오프 상태에 있을 때 일어나는 것을 특징으로 하는 방법.
  32. 프로그램 명령을 저장하고, 클라이언트와 서버사이의 양방향 통신을 제공하기 위한 양방향 통신 링크 및 상기 클라이언트에 단방향 통신을 제공하기 위한 위성 링크를 가지는 네트워크 기반구조 및 서버를 포함하는 네트워크화된 시스템에 연결된 클라이언트에서, 상기 클라이언트의 프로그램 명령을 자동적으로 갱신하기 위한 방법을 구현하기 위한 컴퓨터 프로그램 물품에 있어서,
    상기 방법을 구현하기 위한 컴퓨터 실행가능한 명령을 저장하고 있는 컴퓨터 판독가능 매체를 포함하고, 상기 컴퓨터 실행가능한 명령은
    양방향 통신이 상기 양방향 통신 링크를 통하여 설정되어 있지 않은 동안에 상기 위성 링크를 통하여 프로그램 명령의 갱신의 다운로드를 수신하고, 상기 다운로드는 상기 갱신이 이용가능하다는 상기 서버에서의 판단에 대응하여 행해지는 프로그램 코드 수단;
    상기 갱신이 필수적으로 것으로 지시되어 있는지를 판단하기 위한 프로그램 코드 수단; 및
    상기 클라이언트에 저장된 상기 프로그램 명령을 상기 프로그램 명령의 갱신으로 교체하기 위한 프로그램 코드 수단을 포함하고 있으며, 상기 갱신이 필수적인 것으로 지시되어 있다면, 상기 클라이언트에 저장된 프로그램 명령이 상기 프로그램 명령의 갱신으로 자동적으로 교체되고, 상기 갱신이 필수적인 것이 아니라고 지시되어 있다면, 상기 클라이언트의 사용자에게 상기 갱신을 허용할 것인지를 결정하도록 프롬프트되는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  33. 서버 프로세싱 시스템에 연결되고, 프로세서, 프로그램 가능 비휘발성 메모리, 및 클라이언트 프로세싱 시스템의 사용자가 월드 와이드 웹을 브라우즈할 수 있도록 하는 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령을 포함하는 클라이언트 프로세싱 시스템에 있어서, 상기 월드 와이드 웹에 액세스할 때 상기 클라이언트 프로세싱 시스템에 의해 경험되는 대기시간을 줄이는 방법에 있어서,
    상기 클라이언트 시스템에 저장된, 적어도 하나의 웹 자원과 관련된 제1집합의 데이터의 지식을 상기 서버 프로세싱 시스템에서 유지하는 단계;
    상기 서버 프로세싱 시스템에서 상기 클라이언트 프로세싱 시스템으로부터 원격 서버의 웹 자원에 액세스하는 요청을 수신하는 단계;
    상기 서버 프로세싱 시스템에 의해, 상기 원격 서버로부터의 상기 웹 자원에 대응하는 데이터를 획득하는 단계;
    상기 서버 프로세싱 시스템에서, 상기 클라이언트 프로세싱 시스템에 저장된 제1집합의 데이터의 적어도 일부가 상기 웹 자원과 관련되어 있는지를 결정하는 단계; 및
    상기 서버 프로세싱 시스템에 의해, 상기 클라이언트 프로세싱 시스템에 저장되어 있다고 판단된 제1집합의 데이터의 일부를 제외하고 상기 원격 서버로부터 획득한 데이터를 상기 클라이언트 프로세싱 시스템에 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  34. 제 33 항에 있어서, 상기 제1집합의 데이터는 월드 와이드 웹에 액세스할 때 상기 클라이언트 프로세싱 시스템에 의해 자주 액세스되는 웹 데이터를 포함하는 것을 특징으로 하는 방법.
  35. 제 33 항에 있어서, 제1집합의 데이터는 상기 클라이언트 프로세싱 시스템의 ROM에 저장되는 것을 특징으로 하는 방법.
  36. 제 35 항에 있어서, 상기 ROM은 비-프로그램가능 ROM인 것을 특징으로 하는 방법.
  37. 제 35 항에 있어서, 상기 ROM은 프로그램가능 ROM이고, 상기 방법은 상기 프로그램가능 ROM상에 기록동작을 하게 함으로써 상기 제1집합의 데이터를 수정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  38. 제 37 항에 있어서, 상기 프로그램가능 ROM은 플래쉬 메모리인 것을 특징으로 하는 방법.
  39. 제 37 항에 있어서, 상기 프로그램가능 ROM상에 기록동작을 하게 함으로써 상기 제1집합의 데이터를 수정하는 상기 단계는 상기 서버 프로세싱 시스템에 의해 송신된 명령에 응답하여 상기 프로그램가능 ROM상에 상기 기록동작을 하게 함으로써 상기 제1집합의 데이터를 수정하는 단계를 포함하는 것을 특징으로 하는 방법.
  40. 제 39 항에 있어서, 상기 방법은 상기 프로그램가능 ROM에 기록된 제2집합의 데이터를 상기 서버 프로세싱 시스템으로부터 상기 클라이언트 프로세싱 시스템으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  41. 하나 이상의 서버 시스템에 논리적으로 연결된 하나 이상의 클라이언트 시스템을 포함하는 네트워크화된 시스템에서, 데이터가 클라이언트 시스템으로 다운로드되는 동안 일어나는 전원 인터럽션의 경우에 데이터 전송을 보호하는 방법에 있어서,
    클라이언트 시스템을 상기 서버 시스템중의 하나에 연결하고, 상기 클라이언트 시스템의 비휘발성 메모리에 데이터 블록을 다운로드하는 과정을 개시하는 단계;
    각각의 데이터 블록이 다운로드되기 시작함에 따라, 클라이언트 시스템에서의 전원 인터럽션을 체크하고, 지금까지 다운로드된 모든 데이터 블록의 기록을 갱신하는 단계;
    전원 인터럽션이 검지되면, 전원 인터럽션이 검지된 때에 시작된 데이터 블록을 상기 클라이언트 시스템의 비휘발성 메모리에 다운로드 및 저장을 완료할 수 있도록 해주는 유지 디바이스를 활성화시키는 단계;
    전원 인터럽션이 종료하면, 상기 클라이언트 시스템의 상기 서버 시스템으로의 연결을 재개하고 다운로드되지 않은 데이터 블록을 시작으로 데이터 블록의 다운로드를 재개하는 단계를 포함하는 것을 특징으로 하는 방법.
  42. 제 41 항에 있어서, 상기 모든 다운로드된 데이터 블록의 기록을 갱신하는 단계는 비휘발성 메모리에 기입된 다운로드된 데이터 블록의 누적 수를 식별하는 단계를 포함하는 것을 특징으로 하는 방법.
  43. 제 42 항에 있어서, 상기 서버 시스템에 연결을 재개한 후에 전원 인터럽션 전에 다운로드된 데이트 블록을 식별하기 위해 상기 누적 수를 사용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  44. 제 41 항에 있어서, 전원 인터럽션이 감지되면 전원이 손실되었다는 것을 지시하기 위한 플래그를 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  45. 하나 이상의 논리적으로 연결된 서버 시스템을 포함하는 네트워크에 연결되는 클라이언트 시스템에 있어서,
    상기 서버 시스템의 하나로부터 데이터 버퍼에 의해 연속적으로 수신되는 복수의 데이터 블록으로 나누어지는 데이터를 수신하기 위한 데이터 버퍼;
    상기 데이터 버퍼로부터의 상기 복수의 데이터 블록을 기록할 수 있는 비휘발성 메모리 디바이스;
    상기 클라이언트 시스템의 구성 소자를 작동시키는 DC 전원을 출력하는 DC 전원 출력 라인 및 AC 전원 입력 라인을 가지는 전원 공급 유닛;
    상기 비휘발성 메모리 디바이스로 상기 복수의 데이터 블록의 하나를 기입하는 과정 동안에 AC 전원 입력 라인이 전원을 손실할 때 상기 클라이언트 시스템의 구성 소자로 전기적인 전원을 유지하기 위한 전원 유지 디바이스; 및
    상기 클라이언트 시스템으로 하여금,
    클라이언트 시스템을 상기 서버 시스템중의 하나에 연결하고, 상기 클라이언트 시스템의 비휘발성 메모리에 데이터 블록을 다운로드하는 과정을 개시하는 단계;
    상기 클라이언트 시스템에서 사용자의 개입없이 자동적으로, 각각의 데이터 블록이 다운로드되기 시작함에 따라, 클라이언트 시스템에서의 전원 인터럽션을 체크하고, 지금까지 다운로드된 모든 데이터 블록의 기록을 갱신하는 단계;
    전원 인터럽션이 상기 클라이언트 시스템에서 사용자의 개입없이 자동적으로 검지되면, 전원 인터럽션이 검지된 때에 시작된 데이터 블록을 상기 클라이언트 시스템의 비휘발성 메모리에 다운로드 및 저장을 완료할 수 있도록 해주는 유지 디바이스를 활성화시키는 단계;
    전원 인터럽션이 종료하면, 상기 클라이언트 시스템의 상기 서버 시스템으로의 연결을 재개하고 다운로드되지 않은 데이터 블록을 시작으로 데이터 블록의 다운로드를 재개하는 단계를 포함하는 방법을 실행하도록 해주는 기계 판독 명령을 포함하는 CPU를 포함하는 것을 특징으로 하는 클라이언트 시스템.
  46. 제 45 항에 있어서, 상기 비휘발성 메모리는 플래쉬 메모리를 포함하는 것을 특징으로 하는 클라이언트 시스템.
  47. 제 45 항에 있어서, 상기 데이터 버퍼는 상기 클라이언트 시스템의 랜덤 액세스 메모리인 것을 특징으로 하는 클라이언트 시스템.
  48. 제 45 항에 있어서, 상기 전원 유지 디바이스는 커패시터를 포함하는 것을 특징으로 하는 클라이언트 시스템.
  49. 제 45 항에 있어서, 상기 전원 유지 디바이스는 배터리를 포함하는 것을 특징으로 하는 클라이언트 시스템.
  50. 하나 이상의 서버 시스템에 논리적으로 연결된 하나 이상의 클라이언트 시스템을 포함하는 네트워크화된 시스템에 대해서, 데이터가 클라이언트 시스템으로 다운로드되는 동안 일어나는 전원 인터럽션의 경우에 데이터 전송을 보호하는 방법을 구현하는 커뮤터 실행가능한 명령을 저장하는 하나 이상의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 물품에 있어서, 상기 방법은
    클라이언트 시스템을 상기 서버 시스템중의 하나에 연결하고, 상기 클라이언트 시스템의 비휘발성 메모리에 데이터 블록을 다운로드하는 과정을 개시하는 단계;
    각각의 데이터 블록이 다운로드되기 시작함에 따라, 클라이언트 시스템에서의 전원 인터럽션을 체크하고, 지금까지 다운로드된 모든 데이터 블록의 기록을 갱신하는 단계;
    전원 인터럽션이 검지되면, 전원 인터럽션이 검지된 때에 시작된 데이터 블록을 상기 클라이언트 시스템의 비휘발성 메모리에 다운로드 및 저장을 완료할 수 있도록 해주는 유지 디바이스를 활성화시키는 단계;
    전원 인터럽션이 종료하면, 상기 클라이언트 시스템의 상기 서버 시스템으로의 연결을 재개하고 다운로드되지 않은 데이터 블록을 시작으로 데이터 블록의 다운로드를 재개하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 물품.
KR1019970060360A 1996-11-22 1997-11-17 네트워크를통한소프트웨어의원격업그레이드 KR100547649B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/755,238 1996-11-22
US08/755,238 US5940074A (en) 1996-06-03 1996-11-22 Remote upgrade of software over a network
US8/755,238 1996-11-22

Publications (2)

Publication Number Publication Date
KR19980042488A KR19980042488A (ko) 1998-08-17
KR100547649B1 true KR100547649B1 (ko) 2006-03-23

Family

ID=25038280

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970060360A KR100547649B1 (ko) 1996-11-22 1997-11-17 네트워크를통한소프트웨어의원격업그레이드

Country Status (6)

Country Link
US (3) US5940074A (ko)
EP (2) EP0848341A3 (ko)
JP (2) JP4079288B2 (ko)
KR (1) KR100547649B1 (ko)
AU (1) AU5261298A (ko)
WO (1) WO1998023059A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073195A (ko) * 2020-11-26 2022-06-03 주식회사 한화 유도 무기 탑재 소프트웨어 갱신을 위한 유도 조종 컴퓨터를 제어하는 장치 및 그 방법

Families Citing this family (320)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918214A (en) * 1996-10-25 1999-06-29 Ipf, Inc. System and method for finding product and service related information on the internet
WO1998019259A1 (en) * 1996-10-25 1998-05-07 Ipf, Inc. System and method for managing and serving consumer product related information over the internet
US6961712B1 (en) 1996-10-25 2005-11-01 Ipf, Inc. Consumer product information request (CPIR) enabling servlets and web-based consumer product information catalogs employing the same
US6625581B1 (en) 1994-04-22 2003-09-23 Ipf, Inc. Method of and system for enabling the access of consumer product related information and the purchase of consumer products at points of consumer presence on the world wide web (www) at which consumer product information request (cpir) enabling servlet tags are embedded within html-encoded documents
US6473099B1 (en) * 1996-06-03 2002-10-29 Webtv Networks, Inc. Automatically upgrading software over a satellite link
US5940074A (en) * 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
US6957260B1 (en) 1996-06-03 2005-10-18 Microsoft Corporation Method of improving access to services provided by a plurality of remote service providers
US7904333B1 (en) 1996-10-25 2011-03-08 Ipf, Inc. Web-based electronic commerce (EC) enabled shopping network configured to allow members of a consumer product management team and authorized parties to communicate directly with consumers shopping at EC-enabled websites along the world wide web (WWW), using multi-mode virtual kiosks (MMVKS) driven by server-side components and managed by product team members
US7516094B2 (en) * 1996-10-25 2009-04-07 Ipf, Inc. Internet-based system for managing and delivering consumer product information to consumers at web-based retailer store sites on the world wide web (WWW), using consumer product information (CPI) requesting and graphical user interface (GUI) display subsystems, driven by server-side components embodying universal product numbers (UPNs) and driven by UPN/URL links managed by product manufacturer team members and/or their agents
US20050010475A1 (en) * 1996-10-25 2005-01-13 Ipf, Inc. Internet-based brand management and marketing communication instrumentation network for deploying, installing and remotely programming brand-building server-side driven multi-mode virtual Kiosks on the World Wide Web (WWW), and methods of brand marketing communication between brand marketers and consumers using the same
US20040210479A1 (en) * 1996-10-25 2004-10-21 Ipf, Inc. Internet-based brand marketing communication instrumentation network for deploying, installing and remotely programming brand-building server-side driven multi-mode virtual kiosks on the World Wide Web (WWW), and methods of brand marketing communication between brand marketers and consumers using the same
US7848948B2 (en) * 1996-10-25 2010-12-07 Ipf, Inc. Internet-based product brand marketing communication network configured to allow members of a product brand management team to communicate directly with consumers browsing HTML-encoded pages at an electronic commerce (EC) enabled web-site along the fabric of the world wide web (WWW), using programable multi-mode virtual kiosks (MMVKS) driven by server-side components and managed by product brand management team members
US7711598B2 (en) * 1996-10-25 2010-05-04 Ipf, Inc. Web-based consumer product marketing communication network for managing and delivering consumer product marketing communications to consumers along e-commerce (EC) enabled web sites on the world wide web (WWW), using multi-mode virtual kiosks (MMVKS) driven by server=side components embodying consumer product identifiers and driven by consumer product information (CPI) links managed by product manufacturer team members and/or their agents
US6282675B1 (en) * 1997-08-06 2001-08-28 Macronix International Co., Ltd. Fault-tolerant architecture for in-circuit programming
US6078951A (en) * 1996-11-27 2000-06-20 Intel Corporation Method and apparatus for automating a software delivery system by locating, downloading, installing, and upgrading of viewer software
US20060195595A1 (en) 2003-12-19 2006-08-31 Mendez Daniel J System and method for globally and securely accessing unified information in a computer network
US6097383A (en) * 1997-01-23 2000-08-01 Zenith Electronics Corporation Video and audio functions in a web television
US6137805A (en) * 1997-02-10 2000-10-24 International Business Machines Corporation Method and apparatus to remotely configure a data processing system
US7529856B2 (en) * 1997-03-05 2009-05-05 At Home Corporation Delivering multimedia services
US6370571B1 (en) * 1997-03-05 2002-04-09 At Home Corporation System and method for delivering high-performance online multimedia services
KR100253229B1 (ko) * 1997-04-14 2000-04-15 구자홍 디지탈 방송 수신기 및 그의 다운 로딩 방법
US6332217B1 (en) * 1997-05-09 2001-12-18 Hearme Software inventory control system
US6571290B2 (en) 1997-06-19 2003-05-27 Mymail, Inc. Method and apparatus for providing fungible intercourse over a network
US8516132B2 (en) * 1997-06-19 2013-08-20 Mymail, Ltd. Method of accessing a selected network
US6223292B1 (en) * 1997-07-15 2001-04-24 Microsoft Corporation Authorization systems, methods, and computer program products
US6182129B1 (en) * 1997-09-11 2001-01-30 International Business Machines Corporation Apparatus, methods and computer program products for managing sessions with host-based application using session vectors
EP0941910B1 (en) * 1997-10-02 2006-06-28 Mitsubishi Denki Kabushiki Kaisha Controller for automobile
US6847403B1 (en) * 1997-11-05 2005-01-25 Polycom, Inc. Integrated portable videoconferencing unit
US6854000B2 (en) * 1997-12-27 2005-02-08 Canon Kabushiki Kaisha Image forming apparatus and control method for the same
US6343377B1 (en) * 1997-12-30 2002-01-29 Netscape Communications Corp. System and method for rendering content received via the internet and world wide web via delegation of rendering processes
US6035423A (en) 1997-12-31 2000-03-07 Network Associates, Inc. Method and system for providing automated updating and upgrading of antivirus applications using a computer network
US6243743B1 (en) * 1998-01-29 2001-06-05 Automated Business Companies Split personal computer system
US20020059468A1 (en) * 1999-11-18 2002-05-16 Freeny Charles C. Split personal computer system
US6999945B1 (en) * 1998-01-29 2006-02-14 Automated Business Companies Multiple customer and multiple location PC service provider system
DE19803697C2 (de) * 1998-01-30 2000-03-16 Ericsson Telefon Ab L M Verfahren zum Aufrüsten eines Softwaresystems und Vorrichtung zur Durchführung des Verfahrens
US6230284B1 (en) * 1998-04-24 2001-05-08 Intel Corporation Initiating corrective action after the occurrence of a program error
US20040117631A1 (en) * 1998-06-04 2004-06-17 Z4 Technologies, Inc. Method for digital rights management including user/publisher connectivity interface
US20040117644A1 (en) * 1998-06-04 2004-06-17 Z4 Technologies, Inc. Method for reducing unauthorized use of software/digital content including self-activating/self-authenticating software/digital content
US20040117664A1 (en) * 1998-06-04 2004-06-17 Z4 Technologies, Inc. Apparatus for establishing a connectivity platform for digital rights management
US20040107368A1 (en) * 1998-06-04 2004-06-03 Z4 Technologies, Inc. Method for digital rights management including self activating/self authentication software
US6044471A (en) 1998-06-04 2000-03-28 Z4 Technologies, Inc. Method and apparatus for securing software to reduce unauthorized use
US20040117663A1 (en) * 1998-06-04 2004-06-17 Z4 Technologies, Inc. Method for authentication of digital content used or accessed with secondary devices to reduce unauthorized use or distribution
US20040225894A1 (en) * 1998-06-04 2004-11-11 Z4 Technologies, Inc. Hardware based method for digital rights management including self activating/self authentication software
US20040117628A1 (en) * 1998-06-04 2004-06-17 Z4 Technologies, Inc. Computer readable storage medium for enhancing license compliance of software/digital content including self-activating/self-authenticating software/digital content
US6986063B2 (en) * 1998-06-04 2006-01-10 Z4 Technologies, Inc. Method for monitoring software using encryption including digital signatures/certificates
US6799277B2 (en) 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
EP0964558A1 (en) * 1998-06-08 1999-12-15 THOMSON multimedia Method for accessing internet applications from home network devices
AU8567798A (en) 1998-06-19 2000-01-05 Netsafe, Inc. Method and apparatus for providing connections over a network
US6442755B1 (en) 1998-07-07 2002-08-27 United Video Properties, Inc. Electronic program guide using markup language
US8380041B2 (en) 1998-07-30 2013-02-19 Tivo Inc. Transportable digital video recorder system
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US7558472B2 (en) * 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US8577205B2 (en) 1998-07-30 2013-11-05 Tivo Inc. Digital video recording system
US6470496B1 (en) * 1998-08-03 2002-10-22 Matsushita Electric Industrial Co., Ltd. Control program downloading method for replacing control program in digital broadcast receiving apparatus with new control program sent from digital broadcast transmitting apparatus
US6731314B1 (en) 1998-08-17 2004-05-04 Muse Corporation Network-based three-dimensional multiple-user shared environment apparatus and method
US20060069657A1 (en) * 1998-10-01 2006-03-30 Freeny Charles C Jr Multiple customer and multiple location PC service provider system
US7107322B1 (en) 1998-10-01 2006-09-12 Automated Business Companies Master operating software system
US6805634B1 (en) * 1998-10-14 2004-10-19 Igt Method for downloading data to gaming devices
JP2000148622A (ja) * 1998-11-10 2000-05-30 Sony Corp 情報処理装置および方法、並びに提供媒体
US6539437B1 (en) * 1998-11-30 2003-03-25 Intel Corporation Remote control inputs to java applications
CN100392603C (zh) * 1998-12-04 2008-06-04 皇家菲利浦电子有限公司 支持活动的系统
AUPP776498A0 (en) * 1998-12-17 1999-01-21 Portus Pty Ltd Local and remote monitoring using a standard web browser
US6487717B1 (en) * 1999-01-15 2002-11-26 Cummins, Inc. System and method for transmission of application software to an embedded vehicle computer
JP2000207219A (ja) 1999-01-18 2000-07-28 Fujitsu Ten Ltd 車載端末とセンタ―との間の通信システム、及び、通信システムに使用する車載端末
US20020032749A1 (en) * 1999-01-25 2002-03-14 David Isherwood Method and system for identifying provider network locations based on user-provided codes
US20020030096A1 (en) * 1999-01-25 2002-03-14 David Isherwood Method and system for directing end user to selected network location of provider based on user-provided codes
US6448979B1 (en) 1999-01-25 2002-09-10 Airclic, Inc. Printed medium activated interactive communication of multimedia information, including advertising
US6993580B2 (en) * 1999-01-25 2006-01-31 Airclic Inc. Method and system for sharing end user information on network
US6691914B2 (en) 1999-01-25 2004-02-17 Airclic, Inc. Method and system for directing end user to network location of provider based on user-provided codes
US6385770B1 (en) 1999-01-29 2002-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Software upgrade
JP4228252B2 (ja) * 1999-02-05 2009-02-25 ソニー株式会社 データ設定方法、データ送信システム及び受信端末装置
WO2000055729A1 (en) * 1999-03-15 2000-09-21 Netpliance, Inc. Dedicated internet access device and method for use
CA2367889A1 (en) * 1999-03-29 2000-10-05 Norman K. Gudmundson Dynamic application systems and processes for distributed computer environment
AU4185900A (en) 1999-03-30 2000-11-14 Tivo, Inc. System for automatic playback position correction after fast forward or reverse
US6425125B1 (en) * 1999-03-30 2002-07-23 Microsoft Corporation System and method for upgrading client software
US6804795B1 (en) * 1999-04-02 2004-10-12 Sony Corporation Electronic device and its repairing method
JP2002008177A (ja) 2000-06-22 2002-01-11 Matsushita Electric Ind Co Ltd 無線データ収集システム
US20020194081A1 (en) * 1999-04-21 2002-12-19 Perkowski Thomas J. Internet-based consumer service brand marketing communication system which enables service-providers, retailers, and their respective agents and consumers to carry out service-related functions along the demand side of the retail chain in an integrated manner
US7844492B2 (en) * 1999-11-17 2010-11-30 Ipf, Inc. Internet-based E-commerce network for enabling commission-based E-commerce transactions along the fabric of the world wide web (WWW) using server-side driven multi-mode virtual kiosks (MMVKS) and transaction and commission tracking servers
US20080021778A1 (en) * 1999-04-21 2008-01-24 Ipf, Inc. Web-based brand marketing communication network for enabling e-commerce transactions using Multi-Mode Virtual Kiosks (MMVKS)
US6314457B1 (en) * 1999-04-21 2001-11-06 Airclic, Inc. Method for managing printed medium activated revenue sharing domain name system schemas
US6434742B1 (en) * 1999-05-10 2002-08-13 Lucent Technologies Inc. Symbol for automatically renaming symbols in files during the compiling of the files
IL129947A (en) * 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
US6490616B1 (en) * 1999-06-14 2002-12-03 Wind River International, Ltd. Method and apparatus for incremental download from server to client
DE19928778A1 (de) * 1999-06-23 2000-12-28 Siemens Ag Verfahren zum Betrieb eines Endgerätes
EP1067771A1 (en) * 1999-07-05 2001-01-10 CANAL+ Société Anonyme Communications method and apparatus
EP1067458A1 (en) * 1999-07-09 2001-01-10 CANAL+ Société Anonyme Running and testing applications
EP1067455A1 (en) * 1999-07-09 2001-01-10 CANAL+ Société Anonyme Running and testing applications
JP2001056760A (ja) * 1999-08-19 2001-02-27 Murata Mfg Co Ltd データ処理装置
US7120926B1 (en) * 1999-09-02 2006-10-10 General Instrument Corporation Method and system of identifying software and firmware objects available for download over a network such as a cable television system
EP1427214A3 (en) * 1999-09-02 2004-12-22 General Instrument Corporation Method and system of identifying software and firmware objects available for download over a network such as a cable television system
US6904611B1 (en) * 1999-09-03 2005-06-07 General Instrument Corporation Method and system for directing the download of software and firmware objects over a network such as a cable television system
US6687745B1 (en) * 1999-09-14 2004-02-03 Droplet, Inc System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection
EP1214842B1 (en) 1999-09-20 2010-11-17 TiVo, Inc. Closed caption tagging system
WO2001025913A2 (de) * 1999-10-07 2001-04-12 Dietz, Gislinde Nicht löschbare betriebssystemerweiterung für computer und internet-zugangseinrichtungen
EP1093054B1 (en) * 1999-10-15 2008-07-16 Alcatel Lucent Method for installing software components at a user-terminal, related devices and related software modules
AU1223901A (en) * 1999-10-20 2001-04-30 Spyrus, Inc. Method and system for an integrated circuit card interface device with multiple modes of operation
US6442433B1 (en) * 1999-10-26 2002-08-27 Medtronic, Inc. Apparatus and method for remote troubleshooting, maintenance and upgrade of implantable device systems
US6628729B1 (en) 1999-11-12 2003-09-30 Zenith Electronics Corporation Apparatus and method for downloading and storing data from a digital receiver
US6622246B1 (en) * 1999-11-12 2003-09-16 Xerox Corporation Method and apparatus for booting and upgrading firmware
US6598226B1 (en) 1999-11-12 2003-07-22 Zenith Electronics Corporation Apparatus and method for providing, retrieving, and using data guide information supplied in a digital vestigial sideband signal
US6978475B1 (en) * 1999-11-24 2005-12-20 Ecable, Llc Method and apparatus for internet TV
US6799202B1 (en) * 1999-12-16 2004-09-28 Hachiro Kawaii Federated operating system for a server
AUPQ469399A0 (en) * 1999-12-17 2000-01-20 Right Hemisphere Pty Limited Video recorder scheduling
DE19960985A1 (de) * 1999-12-17 2001-06-21 Tenovis Gmbh & Co Kg Verfahren zur Abarbeitung eines Daten-Ladeauftrags in einem Daten ver- und oder bearbeitenden System
US7594107B1 (en) * 1999-12-20 2009-09-22 Entrust, Inc. Method and apparatus for updating web certificates
FR2803473B1 (fr) * 2000-01-04 2003-12-26 Sagem Procede de gestion d'un decodeur relie a internet et son decodeur associe
US20110238506A1 (en) * 2000-01-14 2011-09-29 Perkowski Thomas J Internet-based brand marketing communication network for enabling commission-based e-commerce transactions along the fabric of the world wide web (www) using server-side driven multi-mode virtual kiosks (mmvks)
US7155739B2 (en) 2000-01-14 2006-12-26 Jbip, Llc Method and system for secure registration, storage, management and linkage of personal authentication credentials data over a network
EP1203492A1 (en) * 2000-01-21 2002-05-08 Koninklijke Philips Electronics N.V. Method of configuring a consumer electronics apparatus
US20020012347A1 (en) * 2000-02-03 2002-01-31 Patrick Fitzpatrick System and method for downloading code
US6724407B1 (en) 2000-02-07 2004-04-20 Muse Corporation Method and system for displaying conventional hypermedia files in a 3D viewing environment
US7031263B1 (en) * 2000-02-08 2006-04-18 Cisco Technology, Inc. Method and apparatus for network management system
US7330824B1 (en) 2000-02-25 2008-02-12 Navic Systems, Inc. Method and system for content profiling and activation
US7392281B1 (en) 2000-02-25 2008-06-24 Navic Systems, Inc. System and method for providing guaranteed delivery of messages to embedded devices over a data network
US6714992B1 (en) * 2000-02-25 2004-03-30 Navic Systems, Inc. Method and system for embedded network device installation
US6594757B1 (en) * 2000-02-25 2003-07-15 Intel Corporation Remote BIOS upgrade of an appliance server by rebooting from updated BIOS that has been downloaded into service partition before flashing programmable ROM
US6845396B1 (en) 2000-02-25 2005-01-18 Navic Systems, Inc. Method and system for content deployment and activation
EP1260100A2 (en) * 2000-03-01 2002-11-27 Scientific-Atlanta, Inc. System and method for a client device to load applications during initialization
US20020085098A1 (en) * 2001-01-04 2002-07-04 Takako Miyazaki System and method for efficiently capturing and managing electronic information
DE60122795T2 (de) * 2000-04-11 2007-08-23 Koninklijke Philips Electronics N.V. Server zum anpassen von datenströmen
KR100354446B1 (ko) * 2000-04-22 2002-09-30 곽철호 디지털 전화기의 프로그램 업그레이드 방법 및 장치
US8296792B2 (en) 2000-04-24 2012-10-23 Tvworks, Llc Method and system to provide interactivity using an interactive channel bug
US20020010928A1 (en) * 2000-04-24 2002-01-24 Ranjit Sahota Method and system for integrating internet advertising with television commercials
US8936101B2 (en) 2008-07-17 2015-01-20 Halliburton Energy Services, Inc. Interventionless set packer and setting method for same
US9788058B2 (en) 2000-04-24 2017-10-10 Comcast Cable Communications Management, Llc Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US7702995B2 (en) * 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
JP2001337835A (ja) * 2000-05-25 2001-12-07 Hitachi Ltd 制御プログラム内蔵型装置のプログラム更新方式及び制御プログラム内蔵型装置
DE60038369T2 (de) * 2000-06-28 2009-03-05 Sony Deutschland Gmbh Vorrichtung zur modulationserkennung
US20020078445A1 (en) * 2000-07-11 2002-06-20 Imran Sharif Internet appliance for interactive audio/video display using a remote control unit for user input
US7245291B2 (en) 2000-07-11 2007-07-17 Imran Sharif System and method for internet appliance data entry and navigation
US20030115167A1 (en) * 2000-07-11 2003-06-19 Imran Sharif Web browser implemented in an Internet appliance
US6980313B2 (en) * 2000-07-11 2005-12-27 Imran Sharif Fax-compatible internet appliance
WO2002005560A2 (en) * 2000-07-12 2002-01-17 General Instrument Corporation Method and apparatus for downloading objects via an inband channel with minimal subscriber impact
JP2002123449A (ja) * 2000-08-02 2002-04-26 Sanyo Electric Co Ltd 情報配信装置
US7086050B2 (en) * 2000-08-04 2006-08-01 Mcafee, Inc. Updating computer files
US6985963B1 (en) * 2000-08-23 2006-01-10 At Home Corporation Sharing IP network resources
KR100423836B1 (ko) * 2000-08-25 2004-03-22 주식회사 인포이큐 인터넷 셋탑박스 및 그 프로그램 관리방법
KR100383667B1 (ko) * 2000-09-05 2003-05-14 한국전자통신연구원 Pda용 소프트웨어 자동 설치 에이전트 및 자동 설치 방법
US20020062259A1 (en) * 2000-09-26 2002-05-23 Katz James S. Server-side system responsive to peripherals
US20020062287A1 (en) * 2000-09-26 2002-05-23 Katz James S. Peripheral device detection and notification
US6950845B2 (en) * 2000-10-23 2005-09-27 Amdocs (Israel) Ltd. Data collection system and method for reducing latency
US6834331B1 (en) 2000-10-24 2004-12-21 Starfish Software, Inc. System and method for improving flash memory data integrity
DE10053744A1 (de) * 2000-10-30 2002-05-02 Wincor Nixdorf Gmbh & Co Kg Verfahren zum Übertragen von gerätespezifischen Programmdaten über eine zusätzliche Schnittstelle
JP2002140204A (ja) 2000-10-31 2002-05-17 Mitsubishi Electric Corp アップグレード装置及びアップグレード方法
US6948169B1 (en) * 2000-11-16 2005-09-20 Dell Products L.P. Web-based factory manufacturing of computers in a build-to-order manufacturing environment
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) * 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US6871780B2 (en) * 2000-11-27 2005-03-29 Airclic, Inc. Scalable distributed database system and method for linking codes to internet information
US7047273B2 (en) 2000-11-28 2006-05-16 Navic Systems, Inc. Load balancing in set top cable box environment
JP2002175194A (ja) 2000-12-07 2002-06-21 Ricoh Co Ltd プログラムダウンロードシステム、プログラムダウンロード装置、画像形成装置、プログラムダウンロード方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US7143939B2 (en) * 2000-12-19 2006-12-05 Intel Corporation Wireless music device and method therefor
KR100460509B1 (ko) * 2000-12-22 2004-12-08 엘지전자 주식회사 이중화된 호스트와 클라이언트 사이의 로딩 방법
DE10065418A1 (de) * 2000-12-27 2002-07-18 Siemens Ag Integrationsverfahren für Automatisierungskomponenten
GB2371433B (en) * 2001-01-12 2005-10-19 Waptv Ltd Television receiver and method of operating a server
US6961773B2 (en) 2001-01-19 2005-11-01 Esoft, Inc. System and method for managing application service providers
US8909739B2 (en) * 2001-01-29 2014-12-09 Universal Electronics Inc. System and method for upgrading the remote control functionality of a device
DE10105454A1 (de) * 2001-02-07 2002-08-29 Bosch Gmbh Robert Verfahren zur automatischen Ergänzung von Software
US20020162112A1 (en) * 2001-02-21 2002-10-31 Vesta Broadband Services, Inc. PC-based virtual set-top box for internet-based distribution of video and other data
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
US7065557B2 (en) * 2001-04-12 2006-06-20 Hewlett-Packard Development Company, L.P. Method and apparatus for consuming content at a network address
KR100400458B1 (ko) * 2001-05-14 2003-10-01 엘지전자 주식회사 네트워크 가능한 가전기기의 프로토콜 업그레이드 방법
US20040015939A1 (en) * 2001-05-16 2004-01-22 Cheah Jonathon Y. Updateable memory module
US6832366B2 (en) * 2001-05-17 2004-12-14 Simdesk Technologies, Inc. Application generator
US8234156B2 (en) * 2001-06-28 2012-07-31 Jpmorgan Chase Bank, N.A. System and method for characterizing and selecting technology transition options
US20030005460A1 (en) 2001-07-01 2003-01-02 David Bartholomew Method and system for a low cost wireless telephone link for a set top box
US7194513B2 (en) * 2001-07-08 2007-03-20 Imran Sharif System and method for using an internet appliance to send/receive digital content files as E-mail attachments
JP2003025688A (ja) * 2001-07-12 2003-01-29 Fujitsu Ltd プリンタのファームウエアインストール方法、プリンタ及びプリンタシステム
US20030028870A1 (en) * 2001-08-01 2003-02-06 Weisman Mitchell T. Distribution of downloadable software over a network
US6663004B2 (en) * 2001-08-14 2003-12-16 Frederico Wagner Method and system for disposing of discarded items
US7328842B2 (en) * 2001-08-14 2008-02-12 Ikan Technologies Inc. Networked waste processing apparatus
US7165721B2 (en) * 2001-08-14 2007-01-23 Ikan Technologies Inc. Networked disposal and sample provisioning apparatus
US7080777B2 (en) * 2001-08-14 2006-07-25 Ikan Technologies Inc. Networked disposal and information distribution apparatus
US7506097B2 (en) 2001-09-25 2009-03-17 Caterpillar, Inc. Method and apparatus for installing data in a memory on a work machine
KR100816953B1 (ko) * 2001-09-27 2008-03-25 엘지전자 주식회사 Url을 이용한 dtv응용 프로그램의 업데이트 방법
US20030070179A1 (en) * 2001-10-04 2003-04-10 Ritz Peter B. System and method for connecting end user with application based on broadcast code
KR100421624B1 (ko) * 2001-11-02 2004-03-11 (주) 한정문 플랫폼 독립적인 소프트웨어 자동 검색/배포/설치 장치 및그 방법
KR100425317B1 (ko) * 2001-12-21 2004-03-31 삼성전자주식회사 원격 가전기기 업데이트 방법 및 시스템
US7167448B2 (en) * 2002-02-04 2007-01-23 Sun Microsystems, Inc. Prioritization of remote services messages within a low bandwidth environment
US20030149889A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Automatic communication and security reconfiguration for remote services
US20030149870A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services wide area network connection anti-spoofing control
DE60231103D1 (de) 2002-02-14 2009-03-26 Sony Dadc Austria Ag Verfahren und Vorrichtung zum Bereitstellen eines in einer Datenbank gespeicherten Datensatzes
US7392518B1 (en) * 2002-02-21 2008-06-24 3Com Corporation Robust remote flash ROM upgrade system and method
KR20020041359A (ko) * 2002-03-26 2002-06-01 문지환 웹페이지 실시간 제어 시스템 및 그 방법
US7249282B2 (en) * 2002-04-29 2007-07-24 Thomson Licensing Eeprom enable
US7260623B2 (en) * 2002-06-27 2007-08-21 Sun Microsystems, Inc. Remote services system communication module
US7240109B2 (en) * 2002-06-27 2007-07-03 Sun Microsystems, Inc. Remote services system service module interface
US20040010786A1 (en) * 2002-07-11 2004-01-15 Microsoft Corporation System and method for automatically upgrading a software application
KR100484159B1 (ko) * 2002-09-06 2005-04-19 삼성전자주식회사 원격 펌웨어 업그레이드 방법 및 그 디스플레이 장치
US20040083158A1 (en) * 2002-10-09 2004-04-29 Mark Addison Systems and methods for distributing pricing data for complex derivative securities
US7340650B2 (en) * 2002-10-30 2008-03-04 Jp Morgan Chase & Co. Method to measure stored procedure execution statistics
US7149752B2 (en) * 2002-12-03 2006-12-12 Jp Morgan Chase Bank Method for simplifying databinding in application programs
US7085759B2 (en) 2002-12-06 2006-08-01 Jpmorgan Chase Bank System and method for communicating data to a process
JP4302970B2 (ja) 2002-12-16 2009-07-29 富士通株式会社 差分更新方法、プログラム及び装置
US8032439B2 (en) * 2003-01-07 2011-10-04 Jpmorgan Chase Bank, N.A. System and method for process scheduling
US7401156B2 (en) * 2003-02-03 2008-07-15 Jp Morgan Chase Bank Method using control interface to suspend software network environment running on network devices for loading and executing another software network environment
US7484087B2 (en) * 2003-02-24 2009-01-27 Jp Morgan Chase Bank Systems, methods, and software for preventing redundant processing of transmissions sent to a remote host computer
GB2399660A (en) * 2003-03-20 2004-09-22 Oxford Semiconductor Ltd Upgrading networked devices
US7379998B2 (en) * 2003-03-31 2008-05-27 Jp Morgan Chase Bank System and method for multi-platform queue queries
US20040230602A1 (en) * 2003-05-14 2004-11-18 Andrew Doddington System and method for decoupling data presentation layer and data gathering and storage layer in a distributed data processing system
US7366722B2 (en) * 2003-05-15 2008-04-29 Jp Morgan Chase Bank System and method for specifying application services and distributing them across multiple processors using XML
US7509641B2 (en) * 2003-05-16 2009-03-24 Jp Morgan Chase Bank Job processing framework
AU2004202425A1 (en) 2003-06-04 2004-12-23 Panasonic Corporation Program replacing method
EP1494119A1 (en) * 2003-06-30 2005-01-05 Thomson Multimedia Broadband Belgium Network equipment and a method for monitoring the start up of a such an equipment
US7500235B2 (en) * 2003-09-05 2009-03-03 Aol Time Warner Interactive Video Group, Inc. Technique for updating a resident application and associated parameters in a user terminal through a communications network
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US20050144174A1 (en) * 2003-12-31 2005-06-30 Leonid Pesenson Framework for providing remote processing of a graphical user interface
US7702767B2 (en) * 2004-03-09 2010-04-20 Jp Morgan Chase Bank User connectivity process management system
US9734222B1 (en) 2004-04-06 2017-08-15 Jpmorgan Chase Bank, N.A. Methods and systems for using script files to obtain, format and transport data
US20050222990A1 (en) * 2004-04-06 2005-10-06 Milne Kenneth T Methods and systems for using script files to obtain, format and disseminate database information
US9003548B2 (en) 2004-04-13 2015-04-07 Nl Systems, Llc Method and system for digital rights management of documents
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
GB2429371B (en) * 2004-04-26 2008-03-26 J P Morgan Chase Bank System and method for routing messages
EP1763766A4 (en) * 2004-05-04 2009-04-01 Robert M Price SYSTEM AND METHOD FOR COMMUNICATING ELECTRONIC EQUIPMENT
US7343518B2 (en) * 2004-06-23 2008-03-11 Intel Corporation Method for data backup of computing platforms that are occasionally connected
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US7665127B1 (en) 2004-06-30 2010-02-16 Jp Morgan Chase Bank System and method for providing access to protected services
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US8046830B2 (en) 2004-07-23 2011-10-25 Citrix Systems, Inc. Systems and methods for network disruption shielding techniques
WO2006012612A1 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US7392471B1 (en) 2004-07-28 2008-06-24 Jp Morgan Chase Bank System and method for comparing extensible markup language (XML) documents
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7743012B2 (en) * 2004-09-08 2010-06-22 Universal Electronics Inc. Configurable controlling device and associated configuration upload and download system and method
US9632665B2 (en) 2004-09-08 2017-04-25 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US11687217B2 (en) 2004-09-08 2023-06-27 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US7941786B2 (en) * 2004-09-08 2011-05-10 Universal Electronics Inc. Configurable controlling device and associated configuration distribution system and method
US7266777B2 (en) * 2004-09-08 2007-09-04 Universal Electronics Inc. Configurable controlling device having an associated editing program
US20060069825A1 (en) * 2004-09-24 2006-03-30 Hodder Leonard B Method and system of transferring firmware from a host device to a printing device
US20060085492A1 (en) * 2004-10-14 2006-04-20 Singh Arun K System and method for modifying process navigation
US7425992B2 (en) * 2004-10-29 2008-09-16 Sharp Laboratories Of America, Inc. Method and apparatus for upgrading a television system
JP4897698B2 (ja) 2004-11-19 2012-03-14 ティヴォ インク 以前に放送されたコンテンツを安全に転送する方法および装置
US9821344B2 (en) 2004-12-10 2017-11-21 Ikan Holdings Llc Systems and methods for scanning information from storage area contents
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8954595B2 (en) * 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8700695B2 (en) * 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US8112746B2 (en) 2005-04-18 2012-02-07 Research In Motion Limited Method for upgrading application data according to a new application definition
EP1715417A1 (en) * 2005-04-18 2006-10-25 Research In Motion Limited Method for upgrading application data according to a new application definition
WO2006129578A1 (en) * 2005-05-30 2006-12-07 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and driving method thereof
US8572516B1 (en) 2005-08-24 2013-10-29 Jpmorgan Chase Bank, N.A. System and method for controlling a screen saver
US8239682B2 (en) 2005-09-28 2012-08-07 Nl Systems, Llc Method and system for digital rights management of documents
JP4848734B2 (ja) * 2005-10-18 2011-12-28 セイコーエプソン株式会社 電子機器
US7499933B1 (en) 2005-11-12 2009-03-03 Jpmorgan Chase Bank, N.A. System and method for managing enterprise application configuration
US7396306B2 (en) * 2005-11-21 2008-07-08 General Motors Corporation Multiplexed control system and method for an electrically variable hybrid transmission
US8181016B1 (en) 2005-12-01 2012-05-15 Jpmorgan Chase Bank, N.A. Applications access re-certification system
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7931191B2 (en) * 2006-01-18 2011-04-26 Dell Products L.P. Post factory dynamic application selection
US7913249B1 (en) 2006-03-07 2011-03-22 Jpmorgan Chase Bank, N.A. Software installation checker
US7895565B1 (en) 2006-03-15 2011-02-22 Jp Morgan Chase Bank, N.A. Integrated system and method for validating the functionality and performance of software applications
US8069461B2 (en) 2006-03-30 2011-11-29 Verizon Services Corp. On-screen program guide with interactive programming recommendations
ATE475937T1 (de) * 2006-04-28 2010-08-15 Research In Motion Ltd Verfahren zur wiedergabe eines browser-cache- zusatzes einer tragbaren elektronischen vorrichtung auf einer anderen vorrichtung und entsprechende vorrichtung
KR101224304B1 (ko) * 2006-05-08 2013-01-18 엘지전자 주식회사 방송수신장치 및 그 소프트웨어 업그레이드 방법
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
US7610172B2 (en) * 2006-06-16 2009-10-27 Jpmorgan Chase Bank, N.A. Method and system for monitoring non-occurring events
JP4906854B2 (ja) 2006-07-03 2012-03-28 パナソニック株式会社 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
JP4786457B2 (ja) * 2006-08-10 2011-10-05 本田技研工業株式会社 通信制御システム、情報センター、自動車、通信制御プログラム、通信制御システムの構築システム
US8769522B2 (en) * 2006-08-21 2014-07-01 Citrix Systems, Inc. Systems and methods of installing an application without rebooting
JP2008065507A (ja) * 2006-09-06 2008-03-21 Seiko Epson Corp ソフトウェアの更新データを送信する方法及びコンピュータ
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
US8566874B2 (en) 2006-10-03 2013-10-22 Verizon Patent And Licensing Inc. Control tools for media content access systems and methods
US8464295B2 (en) 2006-10-03 2013-06-11 Verizon Patent And Licensing Inc. Interactive search graphical user interface systems and methods
US8028313B2 (en) * 2006-12-21 2011-09-27 Verizon Patent And Licensing Inc. Linear program guide for media content access systems and methods
US8510780B2 (en) 2006-12-21 2013-08-13 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US8015581B2 (en) 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
US8484701B2 (en) 2007-03-29 2013-07-09 Christopher Murphy Methods for internet security via multiple user authorization in virtual software
WO2008121345A1 (en) * 2007-03-29 2008-10-09 Christopher Murphy Methods and systems for internet security via virtual software
KR20080099497A (ko) * 2007-05-09 2008-11-13 삼성전자주식회사 양방향 통신망을 통해 콘텐츠를 제공하는 장치 및 방법
US20080282022A1 (en) * 2007-05-09 2008-11-13 Broadcom Corporation, A California Corporation Partially storing software functions that are not expected to change over time in ROM instead of RAM
BRPI0811166B1 (pt) * 2007-05-21 2019-04-24 Thomson Licensing Método para atualizar um firmware em um terminal de rede e terminal de rede
US8103965B2 (en) * 2007-06-28 2012-01-24 Verizon Patent And Licensing Inc. Media content recording and healing statuses
IL185742A0 (en) * 2007-09-05 2008-01-06 Vizrt Ltd Compact graphics for limited resolution display devices
US8250566B2 (en) * 2007-09-27 2012-08-21 Mark Zusman Automated software upgrade and distribution
US7917743B2 (en) * 2007-11-14 2011-03-29 Dell Products L.P. System and method for a remote information handling system boot
KR101284148B1 (ko) * 2007-12-05 2013-07-10 삼성전자주식회사 전원 이상에 대비한 데이터 송수신 방법 및 그 방법에 따른단말
US20090158273A1 (en) * 2007-12-18 2009-06-18 Thanabalan Thavittupitchai Paul Systems and methods to distribute software for client receivers of a content distribution system
US8051447B2 (en) 2007-12-19 2011-11-01 Verizon Patent And Licensing Inc. Condensed program guide for media content access systems and methods
KR20090074393A (ko) * 2008-01-02 2009-07-07 삼성전자주식회사 데이터 수신 방법 및 장치
US8027671B2 (en) * 2008-01-14 2011-09-27 Penthera Partners, Inc. Delivering files to a mobile device
KR101383573B1 (ko) * 2008-08-01 2014-04-09 삼성전자주식회사 화상형성장치 및 그의 웹 정보 제공방법
JP2010044504A (ja) * 2008-08-11 2010-02-25 Hitachi Cable Ltd フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法
US9104521B2 (en) * 2009-03-16 2015-08-11 Tyco Electronics Subsea Communications Llc System and method for remote device application upgrades
US9134987B2 (en) * 2009-05-29 2015-09-15 Red Hat, Inc. Retiring target machines by a provisioning server
JP4752962B2 (ja) * 2009-07-14 2011-08-17 ヤマハ株式会社 通信回線接続装置のファームウェアのバージョンアップ方法および通信回線接続装置
US8413057B2 (en) * 2009-09-21 2013-04-02 Korea Advanced Institute Of Science And Technology Remote controller supporting system and method for handling event in web environment
US8429537B2 (en) * 2009-09-21 2013-04-23 Korea Advanced Institute Of Science And Technology Remote controller supporting system and method for displaying function of key being mapped with remote controller
KR20110057037A (ko) * 2009-11-23 2011-05-31 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
CN101710934B (zh) * 2009-11-25 2011-11-30 中兴通讯股份有限公司 一种机顶盒版本升级的方法及系统
JP5418348B2 (ja) * 2010-03-23 2014-02-19 ヤマハ株式会社 情報処理装置およびカラオケ装置
US8321626B2 (en) 2010-03-31 2012-11-27 Gainspan Corporation Management of configuration data using persistent memories requiring block-wise erase before rewriting
CN101951391A (zh) * 2010-04-13 2011-01-19 杭州海康威视系统技术有限公司 监控设备远程升级的方法、装置及系统
KR20120041351A (ko) * 2010-10-21 2012-05-02 엘지전자 주식회사 영상 표시 기기의 소프트웨어 업그레이드 방법 및 그를 이용한 영상 표시 기기
US8935719B2 (en) 2011-08-25 2015-01-13 Comcast Cable Communications, Llc Application triggering
US10057726B2 (en) * 2012-10-02 2018-08-21 Razer (Asia-Pacific) Pte. Ltd. Managing user data on an electronic device
US9720655B1 (en) 2013-02-01 2017-08-01 Jpmorgan Chase Bank, N.A. User interface event orchestration
US10002041B1 (en) 2013-02-01 2018-06-19 Jpmorgan Chase Bank, N.A. System and method for maintaining the health of a machine
US9088459B1 (en) 2013-02-22 2015-07-21 Jpmorgan Chase Bank, N.A. Breadth-first resource allocation system and methods
US9414114B2 (en) 2013-03-13 2016-08-09 Comcast Cable Holdings, Llc Selective interactivity
US9619410B1 (en) 2013-10-03 2017-04-11 Jpmorgan Chase Bank, N.A. Systems and methods for packet switching
US9542259B1 (en) 2013-12-23 2017-01-10 Jpmorgan Chase Bank, N.A. Automated incident resolution system and method
US9868054B1 (en) 2014-02-10 2018-01-16 Jpmorgan Chase Bank, N.A. Dynamic game deployment
US11076205B2 (en) 2014-03-07 2021-07-27 Comcast Cable Communications, Llc Retrieving supplemental content
US9923769B2 (en) * 2014-11-19 2018-03-20 Candi Controls, Inc. Methods and systems for verifying installation of a device
US9954832B2 (en) 2015-04-24 2018-04-24 Encryptics, Llc System and method for enhanced data protection
US10248940B1 (en) 2015-09-24 2019-04-02 Square, Inc. Modular firmware for transaction system
CN108476244A (zh) * 2016-01-13 2018-08-31 三星电子株式会社 通过利用网络延迟来缩短页面加载时间的方法和系统
US10108412B2 (en) 2016-03-30 2018-10-23 Square, Inc. Blocking and non-blocking firmware update
US9778928B1 (en) 2016-03-30 2017-10-03 Invensense, Inc. Compressed firmware update
WO2017172953A1 (en) * 2016-03-30 2017-10-05 Square, Inc. Compressed firmware update
US11010765B2 (en) 2016-06-29 2021-05-18 Square, Inc. Preliminary acquisition of payment information
US10817869B2 (en) 2016-06-29 2020-10-27 Square, Inc. Preliminary enablement of transaction processing circuitry
US10417628B2 (en) 2016-06-29 2019-09-17 Square, Inc. Multi-interface processing of electronic payment transactions
US11049095B2 (en) 2018-12-21 2021-06-29 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection
US10990969B2 (en) 2018-12-21 2021-04-27 Square, Inc. Point of sale (POS) systems and methods for dynamically processing payment data based on payment reader capability
US10762196B2 (en) 2018-12-21 2020-09-01 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3244212A1 (de) * 1982-11-30 1984-05-30 Standard Elektrik Lorenz Ag, 7000 Stuttgart Bildschirmtextsystem mit oeffentlichen endgeraeten
US5195130A (en) * 1988-05-05 1993-03-16 Transaction Technology, Inc. Computer and telephone apparatus with user friendly computer interface and enhanced integrity features
US4965828A (en) * 1989-04-05 1990-10-23 Quadri Corporation Non-volatile semiconductor memory with SCRAM hold cycle prior to SCRAM-to-E2 PROM backup transfer
US5220420A (en) * 1990-09-28 1993-06-15 Inteletext Systems, Inc. Interactive home information system for distributing compressed television programming
DE69021732T2 (de) * 1990-12-04 1996-01-18 Hewlett Packard Ltd Wiederprogrammierbare Datenspeicherungsanlage.
US5538255A (en) * 1992-02-18 1996-07-23 Barker; Bruce J. Remote controlled multiplayer video game
US5329619A (en) 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US5325423A (en) * 1992-11-13 1994-06-28 Multimedia Systems Corporation Interactive multimedia communication system
US5696899A (en) * 1992-11-18 1997-12-09 Canon Kabushiki Kaisha Method and apparatus for adaptively determining the format of data packets carried on a local area network
US5680645A (en) * 1992-11-18 1997-10-21 Canon Kabushiki Kaisha System for executing first and second independently executable programs until each program relinquishes control or encounters real time interrupts
US5657448A (en) * 1992-11-18 1997-08-12 Canon Kabushiki Kaisha System for an interactive network board remotely configurable by selecting from a plurality of functionality defining software, such as a printer server stored in prom
US5586260A (en) * 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5488411A (en) * 1994-03-14 1996-01-30 Multimedia Systems Corporation Interactive system for a closed cable network
US5586257A (en) * 1994-05-05 1996-12-17 Perlman; Stephen G. Network architecture to support multiple site real-time video games
US5558339A (en) * 1994-05-05 1996-09-24 Perlman; Stephen G. Network architecture to support recording and playback of real-time video games
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations
US5511164A (en) * 1995-03-01 1996-04-23 Unisys Corporation Method and apparatus for determining the source and nature of an error within a computer system
US5612730A (en) * 1995-03-03 1997-03-18 Multimedia Systems Corporation Interactive system for a closed cable network
US5654886A (en) * 1995-03-14 1997-08-05 Wsi Corporation Multimedia outdoor information system
US5752246A (en) * 1995-06-07 1998-05-12 International Business Machines Corporation Service agent for fulfilling requests of a web browser
US5818441A (en) * 1995-06-15 1998-10-06 Intel Corporation System and method for simulating two-way connectivity for one way data streams
US5706434A (en) * 1995-07-06 1998-01-06 Electric Classifieds, Inc. Integrated request-response system and method generating responses to request objects formatted according to various communication protocols
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks
US5748896A (en) * 1995-12-27 1998-05-05 Apple Computer, Inc. Remote network administration methods and apparatus
US5695400A (en) * 1996-01-30 1997-12-09 Boxer Jam Productions Method of managing multi-player game playing over a network
US5706502A (en) * 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5778372A (en) * 1996-04-18 1998-07-07 Microsoft Corporation Remote retrieval and display management of electronic document with incorporated images
US5974461A (en) * 1996-06-03 1999-10-26 Webtv Networks, Inc. Method for automatically regenerating information at a client system in the event of power or communication disruption between the client system and the server
US5940074A (en) * 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
US5896444A (en) * 1996-06-03 1999-04-20 Webtv Networks, Inc. Method and apparatus for managing communications between a client and a server in a network
US5854630A (en) * 1996-07-01 1998-12-29 Sun Microsystems, Inc. Prospective view for web backtrack
US5844552A (en) * 1997-01-23 1998-12-01 Zenith Electronics Corporation Communication of character data in a web television

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073195A (ko) * 2020-11-26 2022-06-03 주식회사 한화 유도 무기 탑재 소프트웨어 갱신을 위한 유도 조종 컴퓨터를 제어하는 장치 및 그 방법
KR102418404B1 (ko) 2020-11-26 2022-07-06 주식회사 한화 유도 무기 탑재 소프트웨어 갱신을 위한 유도 조종 컴퓨터를 제어하는 장치 및 그 방법

Also Published As

Publication number Publication date
KR19980042488A (ko) 1998-08-17
US6023268A (en) 2000-02-08
US6230319B1 (en) 2001-05-08
AU5261298A (en) 1998-06-10
US5940074A (en) 1999-08-17
JP2008117405A (ja) 2008-05-22
JPH10198571A (ja) 1998-07-31
EP0848341A2 (en) 1998-06-17
EP0848341A3 (en) 2000-09-06
EP2053505A2 (en) 2009-04-29
JP4079288B2 (ja) 2008-04-23
WO1998023059A2 (en) 1998-05-28
EP2053505A3 (en) 2009-08-05
WO1998023059A3 (en) 1998-12-10

Similar Documents

Publication Publication Date Title
KR100547649B1 (ko) 네트워크를통한소프트웨어의원격업그레이드
EP0996892B1 (en) Automatic regeneration of user data from a network
US6259442B1 (en) Downloading software from a server to a client
US6473099B1 (en) Automatically upgrading software over a satellite link
US6578142B1 (en) Method and apparatus for automatically installing and configuring software on a computer
JP4754473B2 (ja) ハンドヘルドコンピューターにおける自動データインストールのためのシステムおよび方法
US5790796A (en) Polymorphic package files to update software components
US6892381B2 (en) Updating a device driver with mechanism employing two files one containing changes (variable file) and a file containing unchanged code (invariable file) downloading both to update
US20010034736A1 (en) Method and system for executing network streamed application
US20100093396A1 (en) Systems and methods for storing or performing functions within removable memory, such as a subscriber identity module of a mobile device
US10037215B2 (en) Method and apparatus for interworking application and web browser
KR20050035510A (ko) 문맥상 적합한 웹 브라우저
CA2380762A1 (en) Internet-enabled device provisioning, upgrade and recovery mechanism
KR20050075313A (ko) 정보 처리 장치
US6895463B2 (en) Method and apparatus for efficiently running an execution image using volatile and non-volatile memory
JPH11112541A (ja) メッセージ中継方法及びメッセージ処理方法、ルータ装置、ネットワークシステム、ルータ装置を制御するプログラムを格納した記憶媒体
GB2381618A (en) System for recognising devices connected to a network
JP2004062873A (ja) マルチプラットフォームアプリケーションのためのブラウザセッションモビリティシステム
JP2001005714A (ja) プロキシーサーバ変更装置
KR100229993B1 (ko) 인터넷 텔레비젼의 검색 프로그램 업 그레이드 방법
JP2002351667A (ja) サービス提供システム及びそのアプリケーション管理方法
KR20070116855A (ko) 이중 목적 비디오 어댑터 포트
KR20050047564A (ko) 자가 설치 및 실행 시스템과 그 기록매체

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
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 12

EXPY Expiration of term