KR100547649B1 - 네트워크를통한소프트웨어의원격업그레이드 - Google Patents
네트워크를통한소프트웨어의원격업그레이드 Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims description 76
- 230000006854 communication Effects 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 31
- 238000013515 script Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 239000003990 capacitor Substances 0.000 claims description 2
- 230000007175 bidirectional communication Effects 0.000 claims 7
- 230000003213 activating effect Effects 0.000 claims 3
- 238000012423 maintenance Methods 0.000 claims 3
- 230000001186 cumulative effect Effects 0.000 claims 2
- 230000007246 mechanism Effects 0.000 abstract 2
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0489—Interaction 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/04897—Special input arrangements or commands for improving display capability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0489—Interaction 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/04892—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234336—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2355—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
- H04N21/2356—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client 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/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client 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/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client 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/25866—Management of end-user data
- H04N21/25891—Management of end-user data being end-user preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4355—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/462—Content 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/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4782—Web browsing, e.g. WebTV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4786—Supplemental services, e.g. displaying phone caller identification, shopping application e-mailing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/02—Networking aspects
- G09G2370/027—Arrangements and methods specific for the display of internet documents
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01H—ELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
- H01H9/00—Details of switching devices, not covered by groups H01H1/00 - H01H7/00
- H01H9/02—Bases, casings, or covers
- H01H9/0214—Hand-held casings
- H01H9/0235—Hand-held casings specially adapted for remote control, e.g. of audio or video apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2242/00—Special services or facilities
- H04M2242/22—Automatic class or number identification arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42025—Calling or Called party identification service
- H04M3/42085—Called party identification service
- H04M3/42102—Making use of the called party identifier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental 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
본 발명은 컴퓨터 소프트웨어의 분야에 관한 것이다. 더 상세하게는, 본 발명은 네트워크를 통하여 프로세싱 시스템내의 소프트웨어를 업그레이드하는 것에 관한 것이다.
실제로 최근 몇년사이에 개인용 컴퓨터를 사용하는 집과 사무실의 수가 증가하였고, 이 증가와 함께 인터넷, 그리고 특히 월드 와이드 웹("웹")의 사용이 폭발적으로 증가하였다. 웹은 인터넷에 의해 논리적으로 접속된, 전 세계의 수많은 컴퓨터에 있는 포맷된 하이퍼텍스트 페이지들의 집합이다. 과거에는 "웹"이 주로 과학과 기술의 정보원이였지만, 지금은 사업, 연예, 여행 그리고 교육을 포함하여, 거의 모든 주제와도 관련되는 정보에 대한 가치 있는 자원이다. 네트워크 기술에서, 그리고 특히 "웹 브라우저"(사용자 인터페이스를 웹에 제공하는 소프트웨어 응용)와 같은 소프트웨어에서의 발달은 웹을 대다수의 사람들이 액세스할 수 있도록 하였다. 그러나, 웹의 발달과 사용에 있어서의 증가에도 불구하고, 많은 사람들은 아직도 이 중요한 자원을 이용할 수가 없다.
웹으로의 액세스는 개인용 컴퓨터에 액세스하는 사람들로 제한되어 왔다. 아직도 일부 사람들은 상대적으로 비싼 개인용 컴퓨터의 비용을 감당할 수가 없는 반면, 다른 사람들은 웹에 액세스하는데 필요한 기본적인 컴퓨터 기술을 배울 수 없거나 배우기를 원하지 않는다. 더구나, 종래 기술의 웹 브라우저는 보통 컴퓨터 경험이 부족한 일부 사람들이 바라는 사용자의 용이함을 제공하지 못했고, 그리고 많은 컴퓨터 초보자들은 소프트웨어의 사용 방법을 배울 정도의 참을성이 없다. 예를 들면, 일부 사람들은 하이퍼텍스트 객체을 식별(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 항에 있어서, 상기 유효성을 체크하는 단계는 손상부분이 존재하는 지를 결정하기 위해 체크섬 기법을 이용하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 클라이언트 시스템을 상기 서버 시스템에 연결하는 단계는:상기 서버 시스템에 연관된 로컬 연결 스크립트를 선택하는 단계; 및상기 로컬 연결 스크립트를 사용하여 상기 서버 시스템에 연결하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 3 항에 있어서, 상기 서버 시스템에 연관된 로컬 연결 스크립트를 선택하는 단계는:상기 클라이언트 시스템의 메모리로부터 디폴트 연결 스크립트를 판독하는 단계;상기 선택된 로컬 연결 스크립트를 포함하는 원결 컴퓨터에 연결하기 위해 상기 디폴트 연결 스크립트를 사용하는 단계;상기 원격 컴퓨터로부터 상기 선택된 로컬 연결 스크립트를 다운로드하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 서버 시스템으로부터 교체 명령을 수신하는 단계는 상기 서버 시스템에 연결한 후 상기 서버 시스템으로부터 교체 명령을 사용자 개입없이 자동적으로 요청하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 5 항에 있어서, 상기 서버 시스템으로부터 교체 명령을 수신하는 단계는 상기 서버 시스템을 상기 클라이언트 시스템과 연결하는 위성 연결을 통하여 상기 서버 시스템으로부터 다운로드된 교체 명령을 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 5 항에 있어서,상기 클라이언트 시스템의 랜덤 액세스 메모리에 상기 교체 명령을 기록하는 단계;상기 교체 명령을 압축해제하는 단계; 및상기 클라이언트 시스템의 플래쉬 메모리에 상기 압축해제된 교체 명령을 기록하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 교체 명령은 인터넷을 통해 상기 서버 시스템으로부터 수신되는 것을 특징으로 하는 방법.
- 제 8 항에 있어서, 상기 애플리케이션 프로그램 명령은 인터넷 브라우저를 포함하고, 상기 손상부분이 인터넷 브라우저내에 포함되는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 프로그램 명령의 손상 부분에 대한 교체 명령은 자바 애플릿을 포함하는 것을 특징으로 하는 방법
- 제 1 항에 있어서, 상기 시스템 프로그램 명령의 유효성을 체크하는 단계는 초기화동안 수행되는 것을 특징으로 하는 방법.
- 서버 시스템과 통신하고, 클라이언트 시스템의 작동에 사용되는 프로그램 명령을 포함하는 컴퓨팅 디바이스를 포함하는 상기 클라이언트 시스템에서 프로그램 명령의 손상부분을 복원하는 방법을 구현하는 컴퓨터 프로그램 물품에 있어서,상기 클라이언트 시스템에서 수행되었을 때, 상기 클라이언트 시스템으로 하여금,상기 클라이언트 시스템에서 시스템 프로그램 명령 또는 애플리케이션 프로그램 명령이 손상부분을 가지고 있는지를 결정하기 위해 상기 시스템 프로그램 명령 및 애플리케이션 명령의 유효성을 체크하는 단계; 및상기 시스템 프로그램 명령 또는 애플리케이션 프로그램 명령이 손상부분을 가지고 있다고 결정되면:상기 클라이언트 시스템을 상기 서버 시스템에 연결하는 단계;상기 서버 시스템으로부터 교체 명령을 수신하는 단계; 및상기 프로그램 명령의 손상부분을 상기 교체 명령으로 교체하는 단계를 수행하도록 하는 컴퓨터 실행가능 명령을 저장하고 있는 컴퓨터 판독가능 매체를 포함하는 것을 특징으로 하는 물품.
- 제 12 항에 있어서, 상기 유효성을 체크하는 단계는 손상부분이 존재하는 지를 결정하기 위해 체크섬 기법을 이용하는 단계를 포함하는 것을 특징으로 하는 물품.
- 제 12 항에 있어서, 상기 클라이언트 시스템에 의해 수행되는 방법은상기 클라이언트 시스템의 랜덤 액세스 메모리에 상기 교체 명령을 기록하는 단계;상기 교체 명령을 압축해제하는 단계; 및상기 클라이언트 시스템의 플래쉬 메모리에 상기 압축해제된 교체 명령을 기록하는 단계를 더 포함하는 것을 특징으로 하는 물품.
- 제 12 항에 있어서, 상기 애플리케이션 프로그램 명령의 유효성을 체크하는 단계는 상기 교체 명령이외의 정보를 상기 서버 시스템으로부터 요청하는 것에 대비하여 상기 서버 시스템과 통신을 설정하는 클라이언트 시스템에서 수행되는 것을 특징으로 하는 물품.
- 서버 시스템과 통신하고, 클라이언트 시스템의 작동에 사용되는 프로그램 명령을 포함하는 컴퓨팅 디바이스를 포함하는 상기 클라이언트 시스템에서 프로그램 명령의 손상 블록을 복원하는 방법에 있어서,상기 클라이언트 시스템에서 프로그램 명령 블록이 손상 블록을 가지고 있는지를 결정하기 위해 상기 프로그램 명령 블록의 유효성을 체크하는 단계; 및상기 프로그램 명령 블록이 손상 블록을 가지고 있다고 결정되면:상기 서버 시스템으로부터 프로그램 명령의 교체 블록을 요청하는 단계;상기 서버 시스템으로부터 상기 프로그램 명령의 교체 블록을 수신하는 단계; 및상기 프로그램 명령의 손상 블록을 상기 교체 블록으로 교체하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 16 항에 있어서, 상기 유효성을 체크하는 단계는 상기 프로그램 명령의 손상 블록이 존재하는 지를 결정하기 위해 체크섬 기법을 이용하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 16 항에 있어서, 상기 요청하는 단계는 상기 클라이언트 시스템을 인터넷을 통해 상기 서버 시스템에 연결하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 16 항에 있어서, 상기 요청하는 단계는:상기 서버 시스템에 연관된 로컬 연결 스크립트를 선택하는 단계; 및상기 로컬 연결 스크립트를 이용하여 상기 서버 시스템 또는 사이트에 연결하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 19 항에 있어서, 상기 로컬 연결 스크립트를 선택하는 단계는:메모리로부터 디폴트 연결 스크립트를 판독하는 단계;상기 선택된 로컬 연결 스크립트를 포함하는 원격 컴퓨터에 연결하기 위해 상기 디폴트 연결 스크립트를 사용하는 단계;상기 원격 컴퓨터로부터 상기 선택된 로컬 연결 스크립트를 다운로드하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 16 항에 있어서, 상기 서버 시스템으로부터 교체 블록을 수신하는 단계는 상기 서버 시스템을 상기 클라이언트 시스템과 연결하는 위성 연결을 통하여 상기 서버 시스템으로부터 다운로드된 교체 블록을 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 16 항에 있어서, 상기 프로그램 명령의 각각의 블록은 상기 클라이언트 시스템에 특정 저장 어드레스에 저장되고, 상기 클라이언트 시스템에서 프로그램 명령의 블록의 유효성을 체크하는 단계는 상기 식별된 손상 블록과 연관된 특정 저장 어드레스를 식별하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 16 항에 있어서,상기 클라이언트 시스템의 랜덤 액세스 메모리에 상기 교체 블록을 기록하는 단계;상기 교체 블록을 압축해제하는 단계; 및상기 클라이언트 시스템의 플래쉬 메모리에 상기 압축해제된 교체 블록을 기록하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 17 항에 있어서, 상기 서버 시스템으로부터 프로그램 명령의 교체 명령을 요청하는 단계는 사용자 개입없이 자동적으로 수행되는 것을 특징으로 하는 방법.
- 서버 시스템과 통신하고, 클라이언트 시스템의 작동에 사용되는 프로그램 명령을 포함하는 컴퓨팅 디바이스를 포함하는 상기 클라이언트 시스템에서 프로그램 명령의 손상 블록을 복원하는 방법을 구현하는 컴퓨터 프로그램 물품에 있어서,상기 클라이언트 시스템에서 수행되었을 때, 상기 클라이언트 시스템으로 하여금,상기 클라이언트 시스템에서 프로그램 명령의 블록이 손상 블록을 가지고 있는지를 결정하기 위해 상기 프로그램 명령의 블록의 유효성을 체크하는 단계; 및상기 프로그램 명령의 블록이 손상 블록을 가지고 있다고 결정되면:상기 서버 시스템으로부터 프로그램 명령의 교체 블록을 요청하는 단계;상기 서버 시스템으로부터 프로그램 명령의 교체 블록을 수신하는 단계; 및상기 프로그램 명령의 손상 블록을 상기 교체 블록으로 교체하는 단계를 수행하도록 하는 컴퓨터 실행가능 명령을 저장하고 있는 컴퓨터 판독가능 매체를 포함하는 것을 특징으로 하는 물품.
- 제 25 항에 있어서, 상기 유효성을 체크하는 단계는 프로그램 명령의 손상 블록이 존재하는 지를 결정하기 위해 체크섬 기법을 이용하는 단계를 포함하는 것을 특징으로 하는 물품.
- 제 25 항에 있어서, 상기 클라이언트 시스템에 의해 수행되는 방법은상기 클라이언트 시스템의 랜덤 액세스 메모리에 상기 교체 블록을 기록하는 단계;상기 교체 블록을 압축해제하는 단계; 및상기 클라이언트 시스템의 플래쉬 메모리에 상기 압축해제된 교체 블록을 기록하는 단계를 더 포함하는 것을 특징으로 하는 물품.
- 제 25 항에 있어서, 상기 애플리케이션 프로그램 명령의 유효성을 체크하는 단계는 상기 교체 블록 이외의 정보를 상기 서버 시스템으로부터 요청에 대비하여 상기 서버 시스템과 통신을 설정하는 클라이언트 시스템에서 수행되는 것을 특징으로 하는 물품.
- 제 25 항에 있어서, 상기 프로그램 명령의 각각의 블록은 상기 클라이언트 시스템에 특정 저장 어드레스에 저장되고, 상기 클라이언트 시스템에서 프로그램 명령의 블록의 유효성을 체크하는 단계는 상기 식별된 손상 블록과 연관된 특정 저장 어드레스를 식별하는 단계를 포함하는 것을 특징으로 하는 물품.
- 프로그램 명령을 저장하고, 클라이언트와 서버사이의 양방향 통신을 제공하기 위한 양방향 통신 링크 및 상기 클라이언트에 단방향 통신을 제공하기 위한 위성 링크를 가지는 네트워크 기반구조 및 서버를 포함하는 네트워크화된 시스템에 연결된 클라이언트에서, 상기 클라이언트의 프로그램 명령을 갱신하기 위한 방법에 있어서,양방향 통신 링크를 사용하여 상기 서버와 통신하는 단계;상기 서버와의 통신을 종료하는 단계;상기 서버로부터 상기 위성 링크를 통해 프로그램 명령의 갱신의 다운로드를 수신하는 단계;상기 갱신이 필수적으로 것으로 지시되어 있는지를 판단하는 단계;상기 갱신이 필수적인 것으로 지시되어 있다면, 상기 클라이언트에 저장된 프로그램 명령을 상기 프로그램 명령의 갱신으로 자동적으로 교체하는 단계; 및상기 갱신이 필수적인 것이 아니라고 지시되어 있다면, 상기 클라이언트의 사용자에게 상기 갱신을 허용할 것인지를 결정하도록 프롬프트하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 30 항에 있어서, 상기 갱신의 다운로드를 수신하는 것은 클라이언트가 상기 위성 링크로부터 다운로드 수신 능력이 아닌 다른 클라이언트의 특성이 이네이블되지 않는 파워 오프 상태에 있을 때 일어나는 것을 특징으로 하는 방법.
- 프로그램 명령을 저장하고, 클라이언트와 서버사이의 양방향 통신을 제공하기 위한 양방향 통신 링크 및 상기 클라이언트에 단방향 통신을 제공하기 위한 위성 링크를 가지는 네트워크 기반구조 및 서버를 포함하는 네트워크화된 시스템에 연결된 클라이언트에서, 상기 클라이언트의 프로그램 명령을 자동적으로 갱신하기 위한 방법을 구현하기 위한 컴퓨터 프로그램 물품에 있어서,상기 방법을 구현하기 위한 컴퓨터 실행가능한 명령을 저장하고 있는 컴퓨터 판독가능 매체를 포함하고, 상기 컴퓨터 실행가능한 명령은양방향 통신이 상기 양방향 통신 링크를 통하여 설정되어 있지 않은 동안에 상기 위성 링크를 통하여 프로그램 명령의 갱신의 다운로드를 수신하고, 상기 다운로드는 상기 갱신이 이용가능하다는 상기 서버에서의 판단에 대응하여 행해지는 프로그램 코드 수단;상기 갱신이 필수적으로 것으로 지시되어 있는지를 판단하기 위한 프로그램 코드 수단; 및상기 클라이언트에 저장된 상기 프로그램 명령을 상기 프로그램 명령의 갱신으로 교체하기 위한 프로그램 코드 수단을 포함하고 있으며, 상기 갱신이 필수적인 것으로 지시되어 있다면, 상기 클라이언트에 저장된 프로그램 명령이 상기 프로그램 명령의 갱신으로 자동적으로 교체되고, 상기 갱신이 필수적인 것이 아니라고 지시되어 있다면, 상기 클라이언트의 사용자에게 상기 갱신을 허용할 것인지를 결정하도록 프롬프트되는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 서버 프로세싱 시스템에 연결되고, 프로세서, 프로그램 가능 비휘발성 메모리, 및 클라이언트 프로세싱 시스템의 사용자가 월드 와이드 웹을 브라우즈할 수 있도록 하는 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령을 포함하는 클라이언트 프로세싱 시스템에 있어서, 상기 월드 와이드 웹에 액세스할 때 상기 클라이언트 프로세싱 시스템에 의해 경험되는 대기시간을 줄이는 방법에 있어서,상기 클라이언트 시스템에 저장된, 적어도 하나의 웹 자원과 관련된 제1집합의 데이터의 지식을 상기 서버 프로세싱 시스템에서 유지하는 단계;상기 서버 프로세싱 시스템에서 상기 클라이언트 프로세싱 시스템으로부터 원격 서버의 웹 자원에 액세스하는 요청을 수신하는 단계;상기 서버 프로세싱 시스템에 의해, 상기 원격 서버로부터의 상기 웹 자원에 대응하는 데이터를 획득하는 단계;상기 서버 프로세싱 시스템에서, 상기 클라이언트 프로세싱 시스템에 저장된 제1집합의 데이터의 적어도 일부가 상기 웹 자원과 관련되어 있는지를 결정하는 단계; 및상기 서버 프로세싱 시스템에 의해, 상기 클라이언트 프로세싱 시스템에 저장되어 있다고 판단된 제1집합의 데이터의 일부를 제외하고 상기 원격 서버로부터 획득한 데이터를 상기 클라이언트 프로세싱 시스템에 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 33 항에 있어서, 상기 제1집합의 데이터는 월드 와이드 웹에 액세스할 때 상기 클라이언트 프로세싱 시스템에 의해 자주 액세스되는 웹 데이터를 포함하는 것을 특징으로 하는 방법.
- 제 33 항에 있어서, 제1집합의 데이터는 상기 클라이언트 프로세싱 시스템의 ROM에 저장되는 것을 특징으로 하는 방법.
- 제 35 항에 있어서, 상기 ROM은 비-프로그램가능 ROM인 것을 특징으로 하는 방법.
- 제 35 항에 있어서, 상기 ROM은 프로그램가능 ROM이고, 상기 방법은 상기 프로그램가능 ROM상에 기록동작을 하게 함으로써 상기 제1집합의 데이터를 수정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 37 항에 있어서, 상기 프로그램가능 ROM은 플래쉬 메모리인 것을 특징으로 하는 방법.
- 제 37 항에 있어서, 상기 프로그램가능 ROM상에 기록동작을 하게 함으로써 상기 제1집합의 데이터를 수정하는 상기 단계는 상기 서버 프로세싱 시스템에 의해 송신된 명령에 응답하여 상기 프로그램가능 ROM상에 상기 기록동작을 하게 함으로써 상기 제1집합의 데이터를 수정하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 39 항에 있어서, 상기 방법은 상기 프로그램가능 ROM에 기록된 제2집합의 데이터를 상기 서버 프로세싱 시스템으로부터 상기 클라이언트 프로세싱 시스템으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 하나 이상의 서버 시스템에 논리적으로 연결된 하나 이상의 클라이언트 시스템을 포함하는 네트워크화된 시스템에서, 데이터가 클라이언트 시스템으로 다운로드되는 동안 일어나는 전원 인터럽션의 경우에 데이터 전송을 보호하는 방법에 있어서,클라이언트 시스템을 상기 서버 시스템중의 하나에 연결하고, 상기 클라이언트 시스템의 비휘발성 메모리에 데이터 블록을 다운로드하는 과정을 개시하는 단계;각각의 데이터 블록이 다운로드되기 시작함에 따라, 클라이언트 시스템에서의 전원 인터럽션을 체크하고, 지금까지 다운로드된 모든 데이터 블록의 기록을 갱신하는 단계;전원 인터럽션이 검지되면, 전원 인터럽션이 검지된 때에 시작된 데이터 블록을 상기 클라이언트 시스템의 비휘발성 메모리에 다운로드 및 저장을 완료할 수 있도록 해주는 유지 디바이스를 활성화시키는 단계;전원 인터럽션이 종료하면, 상기 클라이언트 시스템의 상기 서버 시스템으로의 연결을 재개하고 다운로드되지 않은 데이터 블록을 시작으로 데이터 블록의 다운로드를 재개하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 41 항에 있어서, 상기 모든 다운로드된 데이터 블록의 기록을 갱신하는 단계는 비휘발성 메모리에 기입된 다운로드된 데이터 블록의 누적 수를 식별하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 42 항에 있어서, 상기 서버 시스템에 연결을 재개한 후에 전원 인터럽션 전에 다운로드된 데이트 블록을 식별하기 위해 상기 누적 수를 사용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 41 항에 있어서, 전원 인터럽션이 감지되면 전원이 손실되었다는 것을 지시하기 위한 플래그를 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 하나 이상의 논리적으로 연결된 서버 시스템을 포함하는 네트워크에 연결되는 클라이언트 시스템에 있어서,상기 서버 시스템의 하나로부터 데이터 버퍼에 의해 연속적으로 수신되는 복수의 데이터 블록으로 나누어지는 데이터를 수신하기 위한 데이터 버퍼;상기 데이터 버퍼로부터의 상기 복수의 데이터 블록을 기록할 수 있는 비휘발성 메모리 디바이스;상기 클라이언트 시스템의 구성 소자를 작동시키는 DC 전원을 출력하는 DC 전원 출력 라인 및 AC 전원 입력 라인을 가지는 전원 공급 유닛;상기 비휘발성 메모리 디바이스로 상기 복수의 데이터 블록의 하나를 기입하는 과정 동안에 AC 전원 입력 라인이 전원을 손실할 때 상기 클라이언트 시스템의 구성 소자로 전기적인 전원을 유지하기 위한 전원 유지 디바이스; 및상기 클라이언트 시스템으로 하여금,클라이언트 시스템을 상기 서버 시스템중의 하나에 연결하고, 상기 클라이언트 시스템의 비휘발성 메모리에 데이터 블록을 다운로드하는 과정을 개시하는 단계;상기 클라이언트 시스템에서 사용자의 개입없이 자동적으로, 각각의 데이터 블록이 다운로드되기 시작함에 따라, 클라이언트 시스템에서의 전원 인터럽션을 체크하고, 지금까지 다운로드된 모든 데이터 블록의 기록을 갱신하는 단계;전원 인터럽션이 상기 클라이언트 시스템에서 사용자의 개입없이 자동적으로 검지되면, 전원 인터럽션이 검지된 때에 시작된 데이터 블록을 상기 클라이언트 시스템의 비휘발성 메모리에 다운로드 및 저장을 완료할 수 있도록 해주는 유지 디바이스를 활성화시키는 단계;전원 인터럽션이 종료하면, 상기 클라이언트 시스템의 상기 서버 시스템으로의 연결을 재개하고 다운로드되지 않은 데이터 블록을 시작으로 데이터 블록의 다운로드를 재개하는 단계를 포함하는 방법을 실행하도록 해주는 기계 판독 명령을 포함하는 CPU를 포함하는 것을 특징으로 하는 클라이언트 시스템.
- 제 45 항에 있어서, 상기 비휘발성 메모리는 플래쉬 메모리를 포함하는 것을 특징으로 하는 클라이언트 시스템.
- 제 45 항에 있어서, 상기 데이터 버퍼는 상기 클라이언트 시스템의 랜덤 액세스 메모리인 것을 특징으로 하는 클라이언트 시스템.
- 제 45 항에 있어서, 상기 전원 유지 디바이스는 커패시터를 포함하는 것을 특징으로 하는 클라이언트 시스템.
- 제 45 항에 있어서, 상기 전원 유지 디바이스는 배터리를 포함하는 것을 특징으로 하는 클라이언트 시스템.
- 하나 이상의 서버 시스템에 논리적으로 연결된 하나 이상의 클라이언트 시스템을 포함하는 네트워크화된 시스템에 대해서, 데이터가 클라이언트 시스템으로 다운로드되는 동안 일어나는 전원 인터럽션의 경우에 데이터 전송을 보호하는 방법을 구현하는 커뮤터 실행가능한 명령을 저장하는 하나 이상의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 물품에 있어서, 상기 방법은클라이언트 시스템을 상기 서버 시스템중의 하나에 연결하고, 상기 클라이언트 시스템의 비휘발성 메모리에 데이터 블록을 다운로드하는 과정을 개시하는 단계;각각의 데이터 블록이 다운로드되기 시작함에 따라, 클라이언트 시스템에서의 전원 인터럽션을 체크하고, 지금까지 다운로드된 모든 데이터 블록의 기록을 갱신하는 단계;전원 인터럽션이 검지되면, 전원 인터럽션이 검지된 때에 시작된 데이터 블록을 상기 클라이언트 시스템의 비휘발성 메모리에 다운로드 및 저장을 완료할 수 있도록 해주는 유지 디바이스를 활성화시키는 단계;전원 인터럽션이 종료하면, 상기 클라이언트 시스템의 상기 서버 시스템으로의 연결을 재개하고 다운로드되지 않은 데이터 블록을 시작으로 데이터 블록의 다운로드를 재개하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 물품.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220073195A (ko) * | 2020-11-26 | 2022-06-03 | 주식회사 한화 | 유도 무기 탑재 소프트웨어 갱신을 위한 유도 조종 컴퓨터를 제어하는 장치 및 그 방법 |
Families Citing this family (320)
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)
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 |
-
1996
- 1996-11-22 US US08/755,238 patent/US5940074A/en not_active Expired - Lifetime
-
1997
- 1997-09-05 EP EP97306922A patent/EP0848341A3/en not_active Ceased
- 1997-09-05 EP EP08011589A patent/EP2053505A3/en not_active Withdrawn
- 1997-11-17 KR KR1019970060360A patent/KR100547649B1/ko not_active IP Right Cessation
- 1997-11-18 WO PCT/US1997/021023 patent/WO1998023059A2/en active Application Filing
- 1997-11-18 AU AU52612/98A patent/AU5261298A/en not_active Abandoned
- 1997-11-25 JP JP32302897A patent/JP4079288B2/ja not_active Expired - Lifetime
-
1998
- 1998-06-30 US US09/107,066 patent/US6230319B1/en not_active Expired - Lifetime
- 1998-06-30 US US09/106,937 patent/US6023268A/en not_active Expired - Lifetime
-
2007
- 2007-11-09 JP JP2007292157A patent/JP2008117405A/ja active Pending
Cited By (2)
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 |