KR20050120643A - 비-침해 자동 오프사이트 패치 지문채취 및 업데이팅시스템 및 방법 - Google Patents
비-침해 자동 오프사이트 패치 지문채취 및 업데이팅시스템 및 방법 Download PDFInfo
- Publication number
- KR20050120643A KR20050120643A KR1020057017302A KR20057017302A KR20050120643A KR 20050120643 A KR20050120643 A KR 20050120643A KR 1020057017302 A KR1020057017302 A KR 1020057017302A KR 20057017302 A KR20057017302 A KR 20057017302A KR 20050120643 A KR20050120643 A KR 20050120643A
- Authority
- KR
- South Korea
- Prior art keywords
- patch
- target computer
- software
- update
- computer
- Prior art date
Links
Classifications
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Hardware Redundancy (AREA)
Abstract
소프트웨어 업데이트(232)를 발견하고, 주어진 컴퓨터(202)가 소프트웨어 업데이트를 이용할 수 있는지를 발견하고, 이어서 네트워크(200)에서 자동으로 요구될 때 소프트웨어로 컴퓨터를 업데이트하는 방법, 시스템, 및 구성된 저장 매체가 제공된다. 더우기, 실패가 검출될 때(316), 롤아웃이 정지되며(318) 소프트웨어가 이미 업데이트된 그 컴퓨터로부터 자동으로 제거될 수 있다(322). 소프트웨어 업데이트는, 네트워크의 일부가 아니지만 방화벽을 통해서 패키지 컴퓨터(230)에 억세스하는 업데이트 컴퓨터(220)에 소프트웨어 업데이트를 중간에 업로딩하므로서 네트워크 방화벽(214)를 통해서 인억세스되는 어드레스에서 원래부터 저장될 수 있다.
Description
본 발명은 원격 네트워크상에서 기존의 소프트웨어를 업데이트하는 시스템들 및 방법들에 관한 것이다. 본 발명은 특히, 사람이 감시할 필요도 없고, 타겟 네트워크 관리 장치가 소프트웨어 패치들의 사본들을 유지할 필요도 없이, 업데이트할 필요성을 점검하여 클라이언트-서버 시스템에서 요구되는 소프트웨어를 업데이트하는 것에 관한 것이다.
컴퓨터 소프트웨어 산업에서 "기술 상황"은 소프트웨어가 소정의 동작을 수행하는데 있어서 가끔 여러 예외적인 일들이 일어나고 있다는 것이다. 이러한 예외적인 동작들은 "버그"라고 불리우게 되었다.
최초의 컴퓨터 버그는, 현재는 스미소니언에 소장된, 하버드 대학 마크 Ⅱ 아이켄 릴레이 계산기의 오퍼레이션즈 로그에 놓여있다. 운영자들은 컴퓨터내의 릴레이 스위치들 사이에서 트랩되어 있는 모스(moth)를 제거하였으며, "버그가 발견된 최초의 실제 경우"라고 기재하였다. 컴퓨터 하드웨어 및 소프트웨어와 관한 문제들은 "버그"라고 명명되었으며, 이러한 문제들을 제거하는 과정은 "디버그"라고 명명되었다.
소프트웨어가 "디버그"될 때 마다, 소프트웨어의 그 부분에 변경이 야기되는데 - 이러한 변경으로 인해 때때로 "패치(patch)" 또는 "픽스(fix)"라고 하는 소프트웨어의 부가적인 부분이 생성된다. 업계의 소프트웨어 공급자들은 때로 이러한 패치를 더 형식적인 이름으로 "서비스 팩(Service Packs)" 또는 "서포트 팩(Support Packs)"이라고 부른다.
이러한 과정은 업계에서 널리 퍼져서 소프트웨어 공급자가 그들이 얻을 수 있는 "서포트 팩"을 추적하기 위해서 여러 네이밍 및 넘버링 방식을 사용하고 있따. 공급자가 표준 네이밍 및 넘버링 방식에 동의하지 못하면 이러한 "서포트 팩"을 올바로 해나가는데 따른 어려움은 증가하게 된다.
예를들어, 운영 체제 소프트웨어 제품의 윈도우 NT 계열을 갖는, 마이크로소프트는 고객들이 겪을 수 있는 문제를 해결하는데 적용될 수 있는 주요 "서비스 팩"을 적어도 6개 가지고 있다. 더 일반적으로는, 주어진 운영 체제에 대한 패치, 픽스, 솔루션 및/또는 서비스 팩의 총수는 어마어마할 수 있다.
하나의 어플리케이션이 설치되면, 이 어플리케이션은 표준 컴퓨터 파일들과 함께 이러한 운영 체제 파일 패치를 하나 이상 포함할 수 있다. 일반적으로는 패치들이 포함되는데, 이는 어플리케이션 공급자가 하나 이상의 운영 체제 파일에서 얼마의 예외적인 동작을 발견하고, 따라서 이러한 문제 파일중 하나의 상이한 버전의 형태로 "픽스"를 보내기 때문이다. 만약 단지 하나의 어플리케이션 공급자가 이러한 서비스를 수행하거나, 또는 어플리케이션 공급자에 의해서 수정된 파일이 그 공급자의 어플리케이션에 의해서만 사용되면, 이것은 비교적 적은 문제를 야기시키게 된다. 그러나, 때때로 상황이 그와 같이 않다.
또 다른 어플리케이션이 설치되면, 그 어플리케이션은 공유된 코드의 더 최신 버전을 포함할 수 있다. 이러한 공유된 운영체제 파일들의 하나의 서브세트는 DLL(Dynamically Linked Libraries)라고 하는데, 이는 다른 이름들로도 통한다. 이러한 공유된 운영체제 파일들은 때로는 실행가능하며, 이들은 일정수의 파라메터, 모종의 파라메터 등을 예상한다. 만약 공유된 파일의 속성이 변경되었으면 (예를들어, 파라메터 세트가 상이하며, 이름이 상이하고, 기능이 상이하면), 호출 어플리케이션은 더 이상 정확하게 동작하지 않을 수 있다. "프린트"와 같은 많은 공통적인 컴퓨터 기능들이 이러한 방식으로 언급된다.
많은 소프트웨어 공급자들이 최신 버전의 운영체제를 제공하고자 한다. 그러나, 상이한 어플리케이션이 컴퓨터에 로드될 때, 그것은 덧씌워져 최초의 어플리케이션이 계획대로 기능하도록 요구된 운영체제 파일을 잠재적으로(또는 그다지 잠재적이지는 않게) 변경시킬 수 도 있다.
한 조직의 관리자가 일백개의 서버를 유지 및 운영하는 한편 삼백명의 사용자가 이러한 서버들에 접속하도록 지원한다고 가정한다. 또한 이 관리자는 사용자 요청된 또는 관리 명령받은 어플리케이션들 - 쉬링크 랩(shrink wrapped) 구매 또는 내부적으로 개발된 어플리케이션 -을 설치할 책임이 있다. 이 관리자는 또한 적시에 시간에 민감한 문서들을 근거리 또는 원거리에 분배할 책임이 있다.
이제 여섯개의 서비스 팩들이 그 네트워크에 설치되어 모든 클라이언트에 분배되어야 한다고 가정한다. 여섯개의 서비스 팩을 적용하는 것은 쉽게는, 총 칠백번의 방문을 위해서 백개의 서버들 각각 및 개개에 대해서 일곱번의 방문을 야기시킨다. 이러한 수는, 서비스 팩들 중 하나의 어플리케이션이 고정되었을 때 보다 더 많은 문제들을 야기시킬 수 있으므로 머시인 당 하나의 여분의 방문을 가정하며, 따라서 이는 수행되지 않아야 한다.
삼백개의 클라이언트가 모두 동일 워크스테이션 운영체제를 실행하고 있다면, 이는 패치를 적용할 또 다른 이만 천개의 방문을 의미한다. 이 모든 것은 내부적으로 개발된 어플리케이션 및 쉬링크 랩 제품을 설치 및 패칭하는 동안에 수행되어야 함을 명심할 수 있다. 소프트웨어 패치 및 파일, 및 그 후속 어플리케이션을 분배하는 것은 "관리자 고통(administrator agony)"이라고 할 수 있는 것의 첫번째 표시가 된다.
모든 설치가 수행되는 동안, 개별 서버들은 여전히 모니터되어야 한다. 하나의 서버를 주목할 필요가 있을 때, 관리자는 때로는 또 다른 사람과 접촉하는데, 이 사람은 서버가 다운되서 고쳐야 한다고 흥분하여 보고할 수 있다. 이 관리자가 이러한 장치들을 모니터할 어떤 방법이 있다면, 그는 상황이 더 잘 대응하여 문제의 충격을 더 감소시킬 수 있게 된다. 모니터할 필요성은 "관리자 고통"의 두번째 표시이다. 때로는 관리자 직무에 상당한 변동이 있으며, 이러한 시스템의 사용자들은 생산성이 더 낮아진다.
전통적으로, 관리자는 여분의 스탭이 주어지므로 도움을 받아왔다. 물론 이러한 방법도 문제가 없는것은 아니다. 즉, 추가 인력으로 인해서 이들간의 통신 채널의 수가 증가된다. 설치 및 업데이트에 연관된 사람들은 트랙킹 장치 및 시스템을 필요로 하여 이들은 동일 단위의 작업을 수행하지 않거나 수행하고자 한다. 이러한 팀 구성원 간의 조정 부재는 "관리자 고통"의 세번째 표시이다.
현재로서는 이에 대해서 제시된 해결방안들이 형태, 수행방식, 및 적용범위 또는 완성도를 변경하여 사용된다. 전형적으로 이러한 제시된 해결방안은 관리자의 환경에 지역적으로 설치가능한(예를들면, 패치가능한) 쉬링크 랩 제품으로서 사용될 수 있다. 일부 새롭게 출시되는 제품들은 도움이 되지만, 많은 종래의 해결방안들은 관리자의 환경에서 대량의 수정을 필요로 하므로 침해하게 된다. 쉬링크 랩 솔루션은 관리자의 네트워크에서 부가적인 침해 완전 제품 설치를 요구하여, 문제를 가중시키고, 지원 또는 분배 계획을 조정하기 위한 중앙 "명령 센터"가 결핍되어 있다. 새로운 방안들은 침해의 정도가 어느정도 덜하지만, 그럼에도 불구하고 관리자와 솔루션 사이에 특별한 관계을 요구하여, 이들은 때로는 센터에 상응하는 노력을 제공하지 않는다.
더욱이, 주어진 소프트웨어의 요소(piece)가 정확히 어떤 패치를 수신하였는지가 항상 명확한 것은 아니다. 업데이트는 그 존재를 항상 명확히 알리는 것은 아니다. 따라서, 특정 컴퓨터가 미리 특정 패치를 수신하였는지 여부가 항상 명확한 것은 아니다. 따라서, 네트워크상에서 컴퓨터를 업데이트하기 위한 도구 및 기술을 개선할 필요가 있다. 그러한 도구 및 기술이 본원에 기술되며 청구된다.
본 발명의 장점 및 특징을 얻는 방법을 예시하기 위해서, 본 발명의 또 다른 특정 설명이 첨부된 도면을 참조하여 주어진다. 이러한 도면은 단지 본 발명의 선택된 특징만을 예시하며 따라서 본 발명의 범위를 제한하지는 않는다. 도면에서,
도 1은 본 발명에 따른 용도에 적합한 많은 분산된 컴퓨팅 시스템중 하나를 도시하는 도면이다.
도 2는 본 발명에 따른 시스템을 도시하는 도면이다.
도 3은 본 발명에 따른 방법을 예시하는 도면이다.
도 4는 본 발명에 따른 방법을 더 예시하는 도면이다.
도 5는 본 발명에 따른 시스템을 더 예시하는 도면이다.
도 6은 본 발명에 따른 시스템을 더 예시하는 도면이다.
도 7은 본 발명에 따른 시스템을 더 예시하는 도면이다.
도 8은 본 발명에 따른 방법을 더 예시하는 도면이다.
도 9는 본 발명에 따른 시스템을 더 예시하는 도면이다.
본 발명은, 소프트웨어가 업데이트될 필요가 있는지를 판단하고 업데이트될 필요가 있으면 인간 관리자의 요구를 줄이고 네트워크상에서 소프트웨어를 업데이트하기 위한 방법, 물품, 신호 및 시스템에 관한 것이다. 만약 업데이트가 실패하면, 업데이트 소프트웨어가 설치된 컴퓨터(들)는 넌-업데이트된 상태로 회복될 수 있다. 본 발명은 첨부된 청구범위에 의해서 정의되며, 본 요약의 보다 우선된다.
여러 실시예에서, 본 발명은 네트워크상에서, 소프트웨어 배치, 소프트웨어 설치, 소프트웨어 업데이팅, 및 다중 운영체제 및 장치에서 소프트웨어 및 패치 지문 채취 기반 파일 분산을 용이하게 한다. 네트워크 접속부 및 거기서 실행되는 업데이트 에이전트를 갖는 임의의 컴퓨터는 업데이트 서버에 접속될 수 있으며, 관리자가 그 에이전트에 지정하는 모든 태스크를 처리한다.
도 2는 그러한 하나의 시스템의 개략도이다. 간단히 도시하기 위해서 단지 두개의 타겟 컴퓨터와 업데이트 컴퓨터를 갖는 것으로 도시된 네트워크는 방화벽(214)에 의해서 인터넷으로부터 보호된다. 네트워크 타겟 컴퓨터(202, 208)를 업데이트할 필요가 있는 소프트웨어는 방화벽의 내부 또는 외부에 배치되며 방화벽에(214)에 의해서 타겟 컴퓨터(202, 208)와 직접 통신이 차단되는 패키지 컴퓨터(230, 234)에 상주한다. 그러나, 업데이트 서버(220)는, 방화벽(214)를 통해서 억세스되는 것은 물론이고, 잠재적으로는 내부 방화벽을 통해서, 네트워크(200)에 억세스(216)한다. 시스템은 완전히 오프사이트 호스트된 솔루션은 물론이고 온사이트 구매된 솔루션으로서 동작하도록 설계되며, 인트라넷/엑스트라넷 인프러스트럭쳐내에서 임의의 레벨로 방화벽 및 프록시 회로를 동작시킬 수 있다.
패치 지문(902)은 저장소 구성요소가, 주어진 소프트웨어 패키지(패치 지문과 연관된), 패치 드라이버 등이 시스템내의 컴퓨터로 로드되어야 하는지를 판단하도록 하는 해결법을 제공한다. 이러한 지문은 방화벽(214)의 내부 또는 외부에 놓일 수 있는 패치 구성요소 데이터베이스 장소(900)에 저장된다. 저장소 구성요소는 또한 네트워크 타겟 컴퓨터(202, 208) 각각에 대한 기본적인 하드웨어 및 소프트웨어 정보를 포함하는 목록 라이브러리 데이터베이스(918)를 포함한다. 패치 지문, 목록 라이브러리 내의 정보 및 각각의 네트워크 타겟 컴퓨터로부터 수집된 특정 정보를 이용하여, 시스템은 어떤 패치 및 드라이버가 주어진 컴퓨터에 요구되는지를 지능적으로 추천할 수 있다.
도 5에 도시된 바와같이, 본 발명의 바람직한 실시예는 타겟 컴퓨터(500)에 설치된 발견 에이전트(548)로 공지된 부가적인 에이전트를 채용하며, 이는 그 장치에서 하드웨어 및 소프트웨어를 루틴하게 발견한다. 이 목록 정보는 저장소 구성요소내의 다른 어딘가에 배치된 목록 라이브러리(918)에 다시 보고된다. 컴퓨터 목록에 더해서, 발견 에이전트는 또한 패치 지문을 위한 스캔 결과를 리턴하며, 이는 각 패치 지문과 연관된 특정 패치를 설치하는데 적합한지 여부를 표시한다.
목록 데이터베이스는 네트워크내의 특정 타겟 컴퓨터상에 설치되는 소프트웨어, 하드웨어 및 현재 패치 지문의 완전한 목록을 수집한다. 이러한 정보로, 업데이트 서버(528)는 네트워크내의 모든 컴퓨터에 대한 현재 패치 상태의 상세한 보고를 사용자에게 제출할 수 있다. 이는 패치내에 이미 설치된 컴퓨터는 물론이고 패치를 필요로하는 컴퓨터의 수를 나타낸다.
이에 더해서, 지문 정의(906)는 또한 시스템에 의해서 배치하는데 적합한 업데이트 패키지와 정상적으로 연관된다. 특정 패치에 대한 필요가 네트워크내의 모든 또는 임의의 컴퓨터에서 그 서명(들)을 스캐닝함으로서 설정되었으면, 관리자에 의해서 날짜 및 시간을 단순히 선택함으로서 빨리 배치될 수 있다.
일부 실시예에서, 지문 정의(906)는 이동가능한 패치 정의 파일을 형성하기 위해서 다음 즉, 패치(들)를 논하는 벤더 개시(들), 관리자를 위한 발명의 실시예에 의해서 준비되는 보고(들), 타겟 컴퓨터(500) 서명(들), 배치 패키지(들) 중 하나 이상과 결합될 수 있다. 이러한 패치 정의 파일은 다른 네트워크를 업데이트하는데 사용될 수 있는 정보를 제공한다. 패치 정의 파일(소위, "패치 메타파일")은 상이한 네트워크의 업데이트 서버(528) 중에서 패치를 이동 또는 복제하기 위해ㅓ 본 발명의 실시예에 의해서 채용될 수 있다. 적당한 네트워크(100)에는 제한없이 더 큰 보안을 제공하기 위해서 격리되는 군사용 네트워크와 같은 인터넷 및/또는 서로에 접속되지 않는 네트워크를 포함한다. 이러한 이동/복제는 이메일, 테이프 기록/판독, 및/또는 다른 종래의 데이터 전달 수단에 의해서 수행될 수 있다. 패치 메타파일은 또한 상이한 벤더에 의해서 공급되는 발명의 실시예들 사이에서 패치의 상호교환 및 상호작용을 도울 수 있다.
특정 타겟 컴퓨터에 로드될 필요가 있는 패치는 업데이트 에이전트(204, 210)과 연관된 업데이트 리스트(222)내의 업데이트 서버(220)에서 리스트되는데; 이 예에서 리스트(224)는 타겟 1(202)과 연관되며, 리스트(226)는 타겟2(208)과 연관된다. 업데이트 리스트는 패치가 발견될 수 있는 (범용 자원 로케이터 또는 URL과 같은 수단을 통해서) 적어도 하나의 장소를 규정하며, 선택적으로는 소프트웨어가 설치될 수 있는 가장 이른 날짜인 날짜를 포함한다.
동작시에, 타겟1(202)의 업데이트 에이전트(204)는 새로운 패키지가 설치되어야 하는지를 보기 위해 온사이트 또는 오프사이트 업데이트 서버(204)에서 그 업데이트 리스트(224)를 체크한다. 만약 누군가 그곳에 있다면, 업데이트 에이전트(204)는 패키지가 이미 업데이트 서버(220)상의 메모리에 있는지를 점검한다. 만약 있으면, 업데이트 에이전트(204)는 업데이트 서버(220)로 부터 소프트웨어 패치를 직접 설치하고자 시도한다. 만약 없으면, 업데이트 에이전트(204)는 패키지 컴퓨터 장소(232)로부터 소프트웨어 패치 를 직접 설치하고자 시도한다. 어떤 경우에는, 이는 성공적인데, 이 경우에 업데이트 리스트(224)가 업데이트된다.
다른 경우에, 다운로드(218)는 방화벽(214)에 의해서 방해받는다. 이와 같이 되면, 업데이트 에이전트(210)는 업데이트 서버(220)를 통보하여 업데이트 서버(220)는 패키지를 검색하고자 시도하여 메모리(228)에 배치한다. 업데이트 서버상의 그 메모리로부터, 소프트웨어는 타겟 장치에 직접 설치된다.
모니터는 소프트웨어가 타겟(202, 208)상에 적당히 설치됨을 보기 위해 점검하여, 업데이트된 소프트웨어가 정확히 실행되며 타겟 컴퓨터 자체가 관련없는 영역으로 나타나는 문제를 겪지 않음을 보장하기 위해서 계속해서 점검한다 (또는 통보될 수 있다). 패키지가 적당히 설치하는 것이 실패하거나, 또는 패치된 소프트웨어 프로그램에대한 문제를 생성하거나, 또는 타겟 컴퓨터상에 다른 문제를 생성하면, 패키지는 자동으로 제거될 수 있으며 컴퓨터는 업데이트가 제거되었거나 디스에이블된 미리 설치된 상태 또는 또 다른 허용가능한 상태로 복구되며, 타겟 컴퓨터는 동자가능한 상태에 놓인다. 패키지가 하나 이상의 컴퓨터에 설치되었으면, 이들은 모두 제거될 수 있다. 에러가 많은 컴퓨터에 대해서 롤아웃의 중간에 발생하면, 롤아웃은 중지될 수 있으며 소프트웨어는 제거되거나 디스에이블된다. 모니터는 업데이트 서버(220)에, 저장소 사이트(600)에, 적어도 부분적으로는 업데이트 에이전트(204, 210)에, 및/또는 그러한 장소를 조합한 곳에 배치될 수 있다.
설치와 관련된 문제가 있거나, 설치가 성공하면, 관리자는 이메일에 의해서, 페이저에 의해서, 또는 일부 다른 통보 수단에 의해서 통보된다.
업데이트 에이전트(204, 210)는 또한 그 자체 타겟 컴퓨터를 돌아보도록 사용될 수 있으며, 이 정보는 데이터베이스 오프사이트 또는 또 다른 장소에 저장될 수 있다. 이 정보는 가장 적합한 구성을 갖기 위해서 주어진 타겟 컴퓨터가 어떤 업데이트를 필요로 하는지를 판단하기 위해서 사용될 수 있다. 새로운 소프트웨어 패치가 사용가능하면, 저장된 정보는 특별한 타겟 컴퓨터가 패치를 요구하는지를 판단하는데 사용될 수 있다.
타겟 컴퓨터는 운영체제 또는 설치된 소프트웨어에 관계없이, 서버 또는 워크스테이션의 임의의 유형을 포함할 수 있다. 더욱이, 본 발명의 범위는 무선 장치(이동 전화, 개인 휴대 단말기, 포켓 컴퓨터 등), 지능형 스위치 장치, 허브, 라우터, 및 임의의 다른 유형의 인터넷-부착 장치를 포함한 많은 다른 장치에 적용된다.
본 발명은 원격 네트워크상에서 기존의 소프트웨어를 업데이트하도록 하는 시스템, 방법, 제품 및 신호를 제공한다. 본 발명은 특히, 인간의 감시없이도 그리고 클라이언트가 업데이트되는 네트워크상의 관리 장치에서 소프트웨어 패치를 복사하지 않고도, 클라이언트-서버 시스템에서 소프트웨어 업데이트하는 것에 관한 것이다. 이 업데이트는 자동이며, 그것은 특정 업데이트내에서의 에러를 검출하며 네트워크를 사용가능한 상태로 하기 위해서 네트워크를 자동으로 롤백한다.
본원에서 논의되는 각 도면들은 본 발명의 여러 실시예들을 예시하지만, 주어진 도면에 대한 논의는 특정 유형의 실시예에 반드시 제한되는 것은 아니다. 예를들어, 당업자라면 본 발명의 방법들이 본 발명에 따른 구성된 저장 매체 및/또는 컴퓨터 시스템 실행에서 사용될 수도 있음을 알 수 있다. 불필요한 반복을 피하기 위해서, 방법들에 대한 논의는 달리 표시하지 않는 한 제품 및 시스템, 그리고 그 역으로 적용된다. 또한, 방법 단계들 또는 시스템 구성요소들은 다시 명명되거나, 다시 그룹화되거나, 또는 생략될 수 있으며, 방법 단계들은 적합하게 이해되는 청구범위가 특정 단계들 또는 구성요소들을 요청 및/또는 특정 실행 순서를 요구하지 않는 한, 상이하게 순서가 정해지고 중첩 실행으로 수행될 수 있음을 알 수 있다.
독자의 편의를 위해서, 네트워크 및 방화벽과 같은 관련 기술에 대한 일부 적절한 정보가 이하에 제공된다. 본 발명은 이미 공지된 기술보다 월등하지만, 부분적으로는 컴퓨팅 및 네트워킹에서 공지된 장점을 포함하거나 그에 의존하며, 그밖에도 그러한 공지된 장점과 함께 사용될 수 도 있다.
시스템 일반
도 1에 도시된 바와같이, 본 발명에 따라서 보안 컴퓨터 네트워크들(102, 104)와 같은 컴퓨터 네트워크(100)가 구성될 수 있다. 적합한 컴퓨터 네트워크들(100, 102, 104)는, 예로서, 로컬 네트워크들, 광역 네트워크들, 및/또는 인터넷의 부분들을 포함한다. 본원에 사용된 "인터넷"은 사설 인터넷, 보안 인터넷, 부가가치 네트워크, 가상 사설 네트워크, 또는 인트라넷과 같은 변형을 포함한다. 보안 네트워크들은 제한, 암호화, 가상 사설 네트워킹, 및/또는 다른 수단을 라우팅하는 방화벽 소프트웨어(116, 118)에 의해서 한정되는 보안 방어선으로 보안이 유지될 수 있다. 네트워크(100, 102, 104)는 또한 보안 인트라넷을 포함하거나 또는 보안 인트라넷으로 구성될 수 있는데, 이는 TCP/IP 및/또는 HTTP 프로토콜을 내부에 채용하는 근거리 네트워크와 같은 보안 네트워크이다. 본 발명에 따른 동작을 위해 네트워크에 의해서 접속되는 컴퓨터(110)는 워크스테이션(114), 랩톱 컴퓨터(112), 단속이 가능한 이동 컴퓨터(예를들면 PDA 또는 다른 무선 장치들), 서버, 컴퓨팅 클러스터, 메인프레임, 또는 이들의 조합이 될 수 있다. 컴퓨터 하드웨어는 범용, 특수 목적, 독립형, 및/또는 매립형이 될 수 있다. 네트워크(100)는 하나 이상의 LAN, 광역 네트워크, 무선 네트워크(적외선 네트워크를 포함), 인터넷 서버 및 클라이언트, 인트라넷 서버 및 클라이언트, 또는 이들의 조합과 같은 다른 네트워크를 포함할 수 있으며, 이들은 그 자체 방화벽에 의해서 보호될 수 있다.
주어진 네트워크(100)는 예를들면, Novell Network 네트워크 운영체제 소프트웨어(NETWARE 는 Novell사의 등록 상표이다), NetWare Connect Service, VINES, Windows NT, Windows 95, Windows 98, Windows 2000, Windows ME, Windows XP, Windows 2K3, LAN Manager 또는 LANtastic 네트워크 운영체제 소프트웨어, UNIX, TCP/IP, AppleTalk 및 NFS 기반 시스템, 분산 컴퓨팅 환경 소프트웨어, 및/또는 SAA 소프트웨어를 포함할 수 있다 (VINES는 Banyan Systems의 상표; NT, WINDOWS 95, WINDOWS 98, WINDOWS 2000, WINDOWS ME, WINDOWS XP 및 LAN MANAGER 는 마이크로소프트사의 상표이며; LANTASTIC는 Artisoft의 상표이며; SAA는 IBM의 상표이다). 네트워크는 게이트웨이 또는 유사한 메카니즘을 통해서 다른 네트워크들에 접속가능한 근거리 네트워크를 포함할 수 있다.
본 발명에 따른 하나의 시스템은 네트워크 신호선(108)에 의해서 하니 이상의 네트워크 클라이언트(110)로 접속되는 하나 이상의 서버(106)를 포함할 수 있다. 당업자라면 서버 및 네트워크 클라이언트를 본 발명에 따라서 동작하도록 매우 다양한 방법으로 구성할 수 있다. 서버는 인터넷 서버로서, 인트라넷 서버로서, 디렉토리 서비스 제공자 또는 이름 서버로서, 소프트웨어 구성요소 서버로서, 파일 서버로서, 또는 이들 및 다른 기능들의 조합으로서 구성될 수 있다. 서버는 단일 프로세서 또는 다중 프로세서 장치가 될 수 있다. 서버(106) 및 클라이언트(110)는 각각 랜덤 억세스 메모리와 같은 어드레스가능한 저장 매체, 및/또는 자기 또는 강 디스크와 같은 비휘발성 저장 매체를 포함한다. 신호선(108)은, 무선 접속을 포함하여, 당업자에게 공지된 꼬인 쌍, 동축, 또는 광 섬유 케이블, 전화선, 위성, 마이크로웨이브 릴레이, 변조 AC 전력선, 및 다른 데이터 전송 "와이어"를 포함할 수 있다. 본 발명에 따른 신호는 그러한 "와이어" 및/또는 어드레스가능한 저장 매체에서 실시될 수 있다.
네트워크 클라이언트 컴퓨터에 더해서, 프린터, 디스크 어레이 및 다른 주변기기들이 특정 시스템에 부착될 수 있다. 주어진 컴퓨터는 클라이언트(110) 및 서버(106)로서 기능을 수행할 수 있으며, 이는, 예를들어, 마이크로소프트 윈도우즈 NT 소프트웨어를 실행하는 컴퓨터에서 발생될 수 있다. 특정 개별 및 네트워크 컴퓨터 시스템 및 구성 요소들이 언급되지만, 당업자라면 본 발명이 다양한 다른 네트워크 및 컴퓨터로도 구현될 수 있음을 알 수 있다.
본 발명의 적합한 소프트웨어 및/또는 하드웨어 실행은 본원에서 제시되는 기술 및 프로그램 언어 및 Java, Pascal, C++, C, Perl, shell script, assembly, firmware, microcode, logic arrays, PALs, ASICs, PROMS와 같은 도구, 및/또는 다른 언어, 회로 또는 도구를 이용하여 당업자에 의해서 쉽게 제공된다.
구성된 미디어 일반
서버(106) 및 네트워크 클라이언트(110) 및 개별 컴퓨터(110, 114)는 플로피 드라이브, 테이프 드라이브, 광 드라이브 또는 저장 매체를 읽기 위한 다른 수단을 이용할 수 있다. 적합한 저장 매체는 자기, 광학, 또는 다른 컴퓨터로 판독가능한 저장 장치를 포함한다. 적당한 저장 장치는 플로피 디스크, 하드 드라이브, 테이프, CD-ROMs, PROMs, RAM 및 다른 컴퓨터 시스템 저장 장치를 포함한다. 기판 구성은, 컴퓨터 시스템이 본원에 기술된 바와같이 특정한 그리고 미리 규정된 방식으로 동작하도록 하는 데이터 및 명령을 표시한다. 따라서, 이 매체는, 본원에 대체로 기술된 본 발명의 업데이팅, 모니터링, 관리 및/또는 다른 단계를 수행하도록 서버 및/또는 네트워크 클라이언트 컴퓨터 및/또는 개별 컴퓨터에 의해서 실행가능한 프로그램, 기능 및/또는 명령을 유형으로 구현한다.
방화벽
네트워크 관리자는 일반적으로 임의의 정보가 그들의 시스템으로 유입되는 것을 허용하지 않는다. 오히려, 관리자는 네트워크를 보호하기 위해서 방화벽(116, 118)을 사용한다. 방화벽은 (때때로 컨텐트, 오리진 또는 요청 특성에 따라서) 유입되는 메시지를 차단하며 안전하다고 간주되는 것들 만을 통과하도록 하는 하드웨어 및/또는 소프트웨어 장치이다. 세가지 주요 유형의 방화벽은 스크리닝 라우터(패킷 필터라고도 함), 프록시 서버 회로-레벨 게이트웨이, 및 프록시 서버 어플리케이션-레벨 게이트웨이이다. 스크리닝 라우터는 도메인 이름 및 IP 어드레스와 같은 네트워크 패킷에 대한 외부 정보에서의 결정에 기초할 수 있어서, 허용가능한 도메인 이름 및 IP 어드레스로 부터 나오는 메시지가 120 및 124를 통해서 허용될 수 있는 한편 다른 장소(122)로 부터의 메시지를 거부한다. 프록시 서버 회로-레벨 게이트웨이는 정보를 외부 시스템에 보낼 때 내부 시스템에 대한 정보를 가장한다. 내부 컴퓨터의 IP 어드레스는 전형적으로 프록시의 IP 어드레스와 교체된다. 이 레벨에서, 인증이 요구될 수 있다. 프록시 서버 어플리케이션-레벨 게이트웨이는 스크리닝 라우터 및 회로 레벨 게이트웨이의 모든 특성을 제공하는 한편 패킷 자신의 콘텐츠가 평가되도록 한다. 메시지들은 보안 위배는 물론이고 콘텐츠에 대해서도 거부될 수 있다.
소프트웨어 설치
시스템 관리자들은 때때로 특정 장치에서 소프트웨어를 변경할 필요가 있다. 소프트웨어의 새로운 요소가 처음으로 설치되어야 하는데, 새로운 어플리케이션이 장치에 첨가될 때와 같이 설치되어야 한다. 이미 설치된 소프트웨어의 요소는 업데이트될 수 있는데, 마치 소프트웨어의 기존 요소의 새로운 버젼이 특정 장치에 설치될 때와 같이 업데이트될 수 있으며, 이는 소프트웨어 "교체(replacing)"라고 한다. 소프트웨어의 기존 요소의 데이터 파일은 소프트웨어 구성을 변경시키지 않고도 업데이트될 수 있는데, 이는 세금 목록이 회계 프로그램에서 업데이트되거나, 바이러스 방지 프로그램이 업데이트되는 것과 같이 업데이트될 수 있다. 특정 기계 또는 기계들의 상태에 대한 이러한 변경중 하나 또는 전부는 본 발명에서는 "설치(installation)"라고 한다. 유사하게, "패키지", "패치" 및 "업데이트"라는 말은 가능한 가장 넓은 의미로 주어진다. 예를들어, 패키지는 필요한 모든 파일들을 포함하는 전체 프로그램, 하나 이상의 데이터 파일들, 기존 파일에 대한 소프트웨어 패치, 구성 파일에 대한 변경, *.dll 파일, 컴퓨터 및/또는 컴퓨터 네트워크에 부착되는 하드웨어의 특정 요소에 대한 드라이버 파일 등을 일컬을 수 있다. "업데이트"는 최소한 컴퓨터에 하나의 패킷을 설치하기 위한 시도를 일컷는다.
방법 일반
도 3 및 4를 참조하면, 본 발명에 따라 동작하는 방법의 일 실시예는 프리-업데이트 상태에서 타겟 컴퓨터(500)를 포함한다. 이 타겟 컴퓨터(500)는 본 발명이 최소한 업데이트하기 위해 시도하는 컴퓨터이며, 본 발명의 모든 실시예가 업데이트가 성공적이 되도록 요구하는 것은 아니다. 업데이트 서버(528)는 네트워크(524)에서 타겟 컴퓨터에 접속된다. 일부 실행예에서는, 타겟 컴퓨터는 윈속 층(winsock layer)을 통한 접속부와 같은, 네트워크 접속부를 갖는다. 전형적으로, 타겟 컴퓨터는 전술된 바와같이, 방화벽(526)에 의해서 보호되지만, 업데이트 서버는 타겟 컴퓨터에 억세스하기 위해서 방화벽을 뚫을 수 있다.
현존하는 많은 기업 소프트웨어 관리 도구들은 에이전트를 사용한다. 그 예에는 Microsoft SMS 소프트웨어, Microsoft Active Directory 소프트웨어, IBM Tivoli 제품, Symantic 바이러스 방지 소프트웨어, McAfee 바이러스 방지 소프트웨어, 및 Novell ZENworks 소프트웨어 (그 각각의 소유주의 마크)가 있다. 대규모 네트워크에서, 에이전트는 정보를 알리고자 할 때 병렬로 웨이크 업하거나 리포트한다. 반면에, 에이전트가 부족한 툴은 원격 API 호출에 의존하는데, 이는 서버에 의해서 연속해서 폴(poll)되어, 바람직한 실시예에서 볼 수 있드시 병렬 처리가 아닌 선형으로 스케일되어 수행되도록 한다.
본 발명의 실시예에서 에이전트는 네트워크 대역폭을 유지하기 위해서 압축된 파일을 수신할 수 있다. 압축은 보안을 향상시키기도 하는데, 압축해제 에러가 패치가 수정되었음을 표시하기 때문이다.
또한, 본 발명의 에이전트는, 에이전트가 부족한 패치 관리 툴과는 달리, 에이전트를 베어링하는 이동 타겟이 또다른 장소에서 네트워크에 단선되고나서 재접속될 때 다운로드를 다시할 수 있으며, 따라서 인터럽트되기 전에 전체 서비스 팩 또는 파일을 다운로드할 수 있다. 에이전트가 부족한 툴은 또한 패치가 채용될 때 대역폭 활용에서 제어되지 않은 스파이크를 생성할 수 있는 반면에, 본 발명의 일부 실시예는 관리자에 의해서 업데이트 서버가 제어되도록 하여 서버는 에이전트 접속부(대역폭 드로틀링)를 통해서 특정량의 대역폭 만을 사용하게 된다.
영구 LAN/도메인 접속부에 의존하며 클리이언트 에이전트가 부족한 종래의 패치 툴은, 원격 등록 서비스에 의존할 수도 있는데, 이 서비스는 원격 컴퓨터에 등록 정보를 제공한다. 원격 등록 서비스는 Windows 95, Windows 98, 또는 Windows ME 플랫폼에서는 사용할 수 없다. 그러한 서비스는 클라이언트 컴퓨터가 인터넷상에 놓이는 조직에서 보안 리스크가 있는데, 이들이 원격 컴퓨터가 클라이언트의 등록을 판독하도록 허용하여, 클라이언트의 보안에 침투하거나 다른 공격을 가하는데 사용될 수 있는 정보를 제공하기 때문이다. 본 발명의 실시예는 바람직하게는 보안 리스크 때문에 원격 등록 서비스를 이용하는 것은 회피한다.
업데이트 에이전트(508)는 업데이트되어야 하는 각 컴퓨터에 배치된다. 이 업데이트 에이전트는, 워크스테이션(들) 및/또는 서버(들)과 같은 네트워크 타겟 장치에서, 종래의 방식으로 또는 본 발명을 이용하여, 초기에 설치될 수 있는 소프트웨어 구성요소이다 (보통은 대규모가 아님). 이 업데이트 에이전트는, 인간 관리자가 실제로 장치에 존재했다면 수행될 수 있었던 것과 유사한 방식으로 작업을 수행하기 위해서, 인간 관리자의 지도하에, 인간 관리자의 장소에서 동작할 수 있다. 이 업데이트 에이전트는 네가지 기본 태스크를 수행하는 방법을 알고 있는데, 1) 태스크의 리스트를 검색하기 위해서 업데이트 서버(528)에 접촉하는 방법, 2) 수신된 태스크 리스트에서 태스크를 시작하는 방법, 3) 동작 시간을 위한 정책 정보 등을 처리하는 방법, 및 4) 업데이트 서버로 등록하는 방법이다.
이 업데이트 에이전트는 초기 설치후에 수동으로 조정할 필요없이, 업데이트, 구성 또는 자체적인 교체가 가능하다. 전형적으로 작은 부트-트랩 에이전트가 초기에 설치되지만, 관리자가 명령하거나 또는 관리자 요청을 수행하도록 요구될 때 기능이 늘어나게 된다. 온사이트 관리자 컴퓨터, 서버 컴퓨터, 및 클라이언트 장치와 같은, 여러 종류의 타겟 컴퓨터(500)의 업데이트 에이전트는 단일 에이전트의 동일 버전으로서 모두 시작할 수 있다. 주어진 네트워크의 장치는 모두 설치된 동일 에이전트를 갖을 수 있거나 또는 장치는 설치된 고유의 에이전트들을 갖을 수 있다. 하나 이상의 클라이언트가 존재할 때, 각각은 초기에 상이한 업데이트 에이전트를 갖을 수 있거나, 또는 관리자에 의해서 선택될 때와 같이, 또는 디폴트로서 설정될 때와 같이, 상이한 클라이언트 장치상에 설치될 수 있다. 유사하게, 다중 서버 및 관리자는 또한 초기에 설치된 다양한 에이전트들의 결합을 갖을 수 있다. 개별 타겟 컴퓨터에 대한 에이전트가 변경함에 따라서, 이들은 모두 일제히 변경될 수 있거나 갈라질 수 있다. 일부 실시예에서, 에이전트는 모두 달라지기 시작해서 기능성에서 집중될 수도 있다.
업데이트 서버(528)의 오프사이트 장소는 타겟 컴퓨터와는 다른 장소이다. 이 장소는 완전히 다른 공급자에서 떨어져 있거나, 또는 타겟 컴퓨터(500)와는 다른 물리적인 장소이지만, 동일한 물리적인 장소에서, 동일 엔티티에 의해서 관리되는 장소에서 떨어져 있다. 그것은 서브콘트랙터 장소에서와 같은 타겟 컴퓨터(500)로 부터 다르게 나타나는 장소, 또는 일부 별개로 나타나는 장소에 놓일 수 있다. 중요한 점은 개별 타겟 컴퓨터 운영체제에 관한 한, 작업이 오프사이트가 되어 나타나는 것이다. 하나의 실시예는 업데이트 서버를 타겟 컴퓨터(500)에 배치하지만 오프사이트에 나타나는 방식(다른 구획에서와 같이)으로 배치된다.
타겟 컴퓨터에 설치되어야 하는 실제 업데이트 자료는 때로는 업데이트 서버 및 타겟 컴퓨터로부터 떨어진 별개의 장소(패키지 컴퓨터로 공지됨)에 저장된다. 소프트웨어 업데이트 자체는, 증가형 소프트웨어 패치, 이전에는 타겟 컴퓨터에 설치되지 않은 새로운 소프트웨어 프로그램, 구 프로그램에 대한 업데이트, 소프트웨어 스크립트, 데이터 파일 또는 업데이트 에이전트의 업데이트와 같은, 네트워크에서 업데이트될 수 있는 매우 다양한 소프트웨어중 어떤 것이 될 수 있다.
공지된 상태에 직면하면, 배치 단계(300) 동안에, 태스크 id가 업데이트 태스크 리스트(222)에 놓인다. 공지된 상태는 패치가 현재 컴퓨터상에 있지 않거나, 관리지가 찬성하거나, 타겟 컴퓨터(500)의 소유주가 패키지의 소유주로 부터 허락을 받거나, 아무도 특별히 프리빌리지를 배치하는 것을 부인하지 않는 것이거나, 또는 일부 다른 공지된 또는 본 발명의 상태가 될 수 있다. 업데이트 서버상에 위치한 업데이트 태스크 리스트는 특정 타겟 컴퓨터(500)와 연관되며, 소프트웨어 업데이트를 발견할 수 있는 적어도 하나의 다운로드 어드레스를 규정한다. 다운로드 어드레스는 컴퓨터가 이해할 수 있는 임의의 포멧이 될 수 있다. 본 발명은 임의의 특정 어드레싱 컨벤션에 의존하지는 않는다. 현재 사용되는 두개의 일반 어드레싱 포맷들은 "유니버설 리소스 로케이터" 및 "완전히 적격 도메인 이름" 포멧이다. 다른 포멧들은 PURLs(Persistent Uniform Resource Locator) 및 URN's(Uniform Resource Names)이며, 다른 네이밍 방식은 장차 알려질 것이다. 날짜와 같은 태스크 식별자에 포함될 수 있는 다른 정보가 먼저 시도될 수 있다. 각각 소프트웨어 업데이트가 발견될 수 있는 장소를 규정하는, 다중 다운로드 어드레스는 모두 특정 소프트웨어 업데이트와 연관될 수 있다.
시작 태스크 단계(304) 동안에, 소프트웨어 업데이트는 적어도 패키지 컴퓨터(306)로 부터 업데이트 서버(528)로 업로드되고자 시도될 수 있다. 옵션 선택된 패키지 컴퓨터 단계(306) 동안에, 하나 이상의 다운로드 장소가 태스크 id 리스트(226)에 배치되면, 소프트웨어 업데이트가 다운로드되는 장소가 선택된다. 리스트상에서 첫번째 장소를 이용하며, 검사 메시지가 가장 빨리 리턴되는 장소를 이용하며, 첫번째 사용가능한 장치를 이용하는 등과 같이, 공지된 또는 본 발명의 방법에 의해서 선택이 내려질 수 있다.
업데이트에 대한 장소가 공지되면, 소프트웨어 다운로드는 패키지 컴퓨터(548)의 장소로 부터 업데이트 서버(528)의 메모리(530)로 시도된다. 다운로드가 성공하지 못하면, 본 발명의 한가지 방법에서 태스크 업데이트 리스트내의 가능한 장소의 리스트로부터 또 다른 장소가 선택되며, 소프트웨어 업데이트의 다운로드가 재시도된다. 일부 실행예에서, 다운로드가 어떤 이유로 완수될 수 없으면, 업데이트 서버(528)는 일정 시간 대기하며 패키지 컴퓨터(567)로부터 다운로드하기를 다시 시도한다. 다운로드가 성공하면, 업데이트 서버(528)는 타겟 컴퓨터(500)로 소프트웨어 업데이트를 다운로드(312)하고자 시도한다.
다운로드가 업데이트 컴퓨터내의 캐시 또는 다른 메모리에 있으면, 제 2 다운로드(312)는 업데이트 서버로부터 타겟 컴퓨터로 소프트웨어 패키지를 다운로드하고자 시도된다. 본 방법의 일부 실시예에서는, 제 2 다운로드(312)는 일부 선정된 기준에 의해서 지연된다(310). 이러한 지연은 제 1 다운로드의 시작으로부터 되어, 지연 기간은 패키지 컴퓨터로 부터 업데이트 서버로 소프트웨어 업데이트를 다운로드하는데 필요한 시간의 측정에 기초하여 있다. 제 2 다운로드는 또한, 하루의 비지니스가 끝난 후와 같이, 타겟 컴퓨터(500)가 사용되는 기회가 적을 때 하루중 특정한 시간으로 지연될 수 있다.
모니터(302)는 설치를 체크하여, 설치(314)의 결과를 판단하기 위해서, 전형적으로는 관리자가 하는 역할을 수행한다. 그 결과가 공지되면, 관리자는 이를 통지받는다(328). 통지는, 이메일(330)을 보내거나, 누군가에게 페이징하거나, 기존에 녹음된 전화 메시지를 보내거나, 또는 다른 공지된 또는 본 발명의 방법 및 수단에 의해서 이루어질 수 있다.
모니터링 단계가 실패를 검출하면(316), 실패한 태스크는 중단된다(318). 업데이트 서버(528)에 대한 제 1 다운로드(308)가 실패할 수 있는데, 이는 제 2 다운로드가 업데이트 서버(528)로 부터 타겟 컴퓨터(500)로 이루어질 때와 같다. 소프트웨어 업데이트를 설치하는 다중 타겟 컴퓨터가 있으면, N번째 설치가 실패하는 식이다. 결정 결과가 바람직하게는 소프트웨어 업데이트가 나타나서 적당히 설치되는 것을 단순히 보장하는 것을 초과하며, 본 발명의 일부 실시예에서는 설치를 넘어서 시간을 연장한다. 예를들어, 모니터의 일례는 단지 하나의 타겟 컴퓨터에 설치되게 함으로서 패치 어플리케이션을 검사하며, 이는 적당히 다운로드하며, 설치하며, 이어서 시간 지연을 설정하는 관리자가 패치에서 충분한 확신을 획득하여 다른 타겟 컴퓨터로 적용되도록 할 때 까지 어떤 시간 간격 동안 관찰하도록 한다. 이러한 패치의 어플리케이션이 소프트웨어가, 수정된 프로그램 또는 컴퓨터내의 다른 곳에서, 바람직하지 않은 동작에 의해서 알게될 때, 비정상 활동을 야기시키면, 문제가 해결될 때 까지 롤아웃이 자동으로 정지될 수 있다.
더욱이, 실패가 검출되는 얼마의 경우에 소프트웨어 업데이트는 디스에이블되거나 타겟 컴퓨터로 부터 제거되며(324), 그 장치는 대체로 사전 업데이트 상태 또는 또 다른 수용가능한(동작) 넌-업데이트 상태로 리턴된다. 이것은 설치된 소프트웨어가 타겟 장치(322)로 부터 떨어지거나, 또는 소프트웨어가 제거되며 모든 부수적인 파일들(.dll's, .exe's 등)이 그들의 사전 업데이트 상태로 복구되는 것을 의미한다. 다른 경우에는 타겟 컴퓨터 또는 그중 어떤 부분이 소프트웨어 업데이트가 설치되기 전에 백업되었으며, 백업 자체가 장치로 복구됨을 의미한다.
다중 타겟 컴퓨터(500)이 있으면, 실패는 소프트웨어가 하나 이상의 장치에 설치된 후에 모니터에 의해서 검출될 수 있다. 이 경우에, 소프트웨어 업데이트는 실패가 스폿된 타겟 컴퓨터(500)로 부터만 제거될 수 있지만(322), 그것은 또한 소프트웨어가 이미 설치된(326) 다른 타겟 컴퓨터(500) 모두로 부터 제거될 수 있다(326). 제거 요청은 관리자로 부터 올 수 있거나 또는 제거는 실패가 검출되고나서(326) 자동으로 수행될 수 있다.
모니터(302)는 소프트웨어 패키지가 성공적으로 설치되었는지를 듣기 위해 단순히 대기하는 것 이상의 태스크를 수행할 수 있다. 예를들어, 어떤 경우에 모니터는 설치 후에 시간 주기(400)동안 대기하며 만일 달리 듣지 않았으면 설치가 성공했다고 가정한다.
관리자 및 관리자 헬퍼는 이들이 진입하여 헬프를 위한 요청에 대한 정보를 거색하는 중앙 저장소로 부터 상당히 도움을 받을 수 있다. 이러한 하나의 방법은 헬프 데스크 "티케팅"이다. 티케팅은 리퀘스터, 리퀘스트의 유형, 헬프가 리퀘스트된 때, 리퀘스트에 대한 응답이 완성된 때, 및 다른 유용한 정보를 기록한다. PatchLink HelpDesk 서비스는, 하나의 중앙 저장소를 통해서, 사람 및 컴퓨터 자원인, 그 네트워크 리퀘스트 및 네트워크 자원을 관리하기 위해 관리자에게 편리를 제공한다. PatchLink HelpDesk 소프트웨어는, 관리, 백업, 및 업데이트되어야 하는 또 다른 자원을 도입하는 관리자의 네트워크상에 침해 어플리케이션 설치를 하지 않고도 인터넷상에서 이러한 편리를 제공한다- 이는 오프사이트 관리 센터에서 투명하게 관리된다.
표준 웹 브라우저 또는 일부 다른 공지된 또는 본 발명의 네트워크 접속부에 의해서 접속가능한 웹사이트는 헬프 데스크 서비스를 사용하기 위한 편의를 제공한다. 바람직한 실행예는 현재 www.patchlink.com. 에서 접속가능한, PatchLink 웹 사이트에 있다. 간단한 웹 형태는 인롤먼트 프로세스를 시작하는데 요구되는 데이터 집합을 지원한다. 인롤먼트 프로세스가 완성되면, 관리자는 순환 치환으로 하나 이상의 서비스를 라이센스할 수 있다.
인롤먼트 프로세스는 관리자가 사인 업하고 소정의 참가 레벨을 표시함으로서 프로세스를 개시할 때 시작된다. 본 발명의 바람직한 실시예는 세개의 상이한 사용자 레벨을 갖는데, 게스트, 레귤러, 및 이그제큐티브이다. 게스트는 웹 사이트를 보여주도록 허용되며 사용자 포럼을 읽을 수 있지만 포럼으로 포스트할 수 없다. 레귤러 멤버는 게스트 기능을 수행할 수 있으며 또한 채트 룸에서 채팅할 수 있으며 포럼으로 포스트할 수 있다. 이그제큐티브 멤버는 사이트에 대한 섭스크립션을 갖는다. 사용자는 레귤러 멤버 기능을 수행할 수 있으며, 또한 오프사이트 자동 패키지 업데이트(예를들면, PatchLink Update service), 오프사이트 모니터링 (예를들면, PatchLink Monitor service), 및 오프사이트 헬프 데스크 기능(예를들면, PatchLink HelpDesk service)와 같은 더 진보된 사이트의 특징을 사용할 수 있다.
본 발명의 일 실시예는 커스토머의 전화 영역 코드에 할당된 커스토머 케어 에이전트에 전달되는 이메일을 수반한다. 커스토머 케어 에이전트는 인롤먼트 프로세스를 완성하기 위해서 계류중인 사용자에게 전화한다. 커스토머 케어 에이전트는 필요한 식별 정보 및 지불 정보를 수집하여, 계정의 사용을 허용하도록 계류중인 사용자의 계정을 업그레이드하므로, 계류중인 사용자를 관리자/사용자가 되게 한다. 관리자/사용자가 참여할 수 있거나 사용할 수 있는 영역은 업그레이드 호스트의 데이터베이스의 라이센스된 제품의 테이블내의 엔트리에 의해서 제어된다. 이러한 엔트리는 인롤먼트 프로세스 동안에 커스토머 케어에 의해서 생성된다.
이 모든 서비스들은 인터넷상에서 브라우저 또는 다른 네트워크 접속부를 통해 관리자에게 사용될 수 있음을 상기해 볼 수 있다. 모니터가 티켓을 헬프 데스크에 입력키고 본 발명의 방법의 일부 사례화에서 롤아웃을 개시할 때, 모니터는 실패가 발생했는지 여부를 결정한다(316,406). 결정을 위해서 모니터는 어떤 소프트웨어 업데이트가 최근에 설치되었는지, 설치된 것이 얼마나 되었는지, 현재 하드웨어 및 소프트웨어 구성 등을 볼 수 있다. 어떤 인시던트가 실패로 고려되는지는 제한없이, 관리자에 의해서 설정될 수 있으며, 디폴트가 사용될 수 있으며, 핼프 데스크 퍼스넬의 판단이 고려될 수 있다.
검출 성공 단계(408)에서 타겟 컴퓨터(500)는 업데이트 서버로 부터 타겟 컴퓨터로의 다운로드가 성공적으로 완료된 후에 업데이트 서버에 메시지(410)를 전달한다. 모니터는 실패를 통보하거나 통보받지 않고 특정 시간 주기가 지났으면 성공이라고 추정할 수 있다(404).
실패는 다른 방법으로 검출될 수 있다(316, 406). 예를들면 타겟 컴퓨터는 실패가 발생했음을 모니터네 통보할 수 있으며; 사용자는 헬프 데스크 또는 직접 링크를 통해서 모니터에 실패가 발생했음을 통보할 수 있으며; 제 2 다운로드(312)의 시작으로부터 타겟 장치로 특정 시간내에 타겟 컴퓨터가 모니터에 접촉하지 않을 때 인간 관리자는 실패가 발생했음을 선언할 수 있는 등의 방식이다. 모니터가 성공하게 되는 다운로드의 출력을 선언한 후에도, 헬프 데스크로 부터의 실패 표시와 같은, 나중 이벤트는 모니터가 실패된다고 선언하게 할 수 있다.
본 발명의 일 실시예에서, 업데이트 서버(528)는, 다음 타겟 컴퓨터(500)가 그 업데이트 리스트(222)에 배치되는 소프트웨어 업데이트를 갖기 전에 (모니터에 의해서 또는 또 다른 공지 또는 본 발명의 제어 방법에 의해서) 성공적인 설치의 확인을 대기한다. 업데이트 서버는 소프트웨어 업데이트에 대해서 자격이 있지만 그것을 아직 수신하지 않은(412) 타겟 컴퓨터(500)를 체크한다. 그중 하나가 발견되면(414), 타겟 장치를 규정하는 적당한 태스크 식별자, 소프트웨어 업데이트 및 장소가 업데이트 서버(512)의 태스크 업데이트 리스트에 가산된다(416). 모든 자격있는 컴퓨터가 모두 함께 이들에 설치된 소프트웨어를 갖는 매스 업데이트보다는 이러한 방법으로, 롤아웃이, 디폴트 또는 사용자 규정된 수의 성공적인 설치후에, 롤아웃이 성공으로 간주될 때 까지 한번에 하나의 컴퓨터를 프로시드(proceed)하며; 그 접합점에서 소프트웨어 업데이트는 한번에 하나 이상의 타겟 컴퓨터로 사용가능하게 된다.
특정 타겟 컴퓨터(500)를 바라봄으로서 어떤 소프트웨어 패키지 및 패치가 설치되었는지가 항상 명확한 것은 아니다. 본 발명은, 본 발명이 그 패치를 설치하고자 시도하기 전에 주어진 패치가 컴퓨터(500)상에 아직 설치되지 않았음을 보장하도록 타겟 컴퓨터(500)를 분석하는 방법을 포함한다. 다음 설명은 도 8 및 9를 참조하며 연속해서 도 5를 참조한다.
특정 소프트웨어 업데이트를 정의하는 패치 지문이 더 상세히 기술된다. 패치 지문은 새로운 패치 지문(902)에 대한 패치 구성요소 데이터베이스 장소(900)를 모니터링하므로서 배치된다(800). 여기서 "새로운"이라는 말은 패치가 저장소 구성요소(600)로 다운로드되지 않았음을 표시하거나, 또는 이미 다운로드되었다 할지라도, 어떤 이유로 저장소 구성요소로 다시 다운로드될 필요를 표시한다. 하나 또는 다수의 패치 구성요소 장소가 있을 수 있으며; 그 장소는, 네트워크 링크를 통해서 시스템에 접속되는 별개의 컴퓨터상에, 또는 업데이트 서버(528)상에, 또는 타겟 컴퓨터(599)상에, 또는 패키지 컴퓨터(567)상에, 또는 CD, 테이프, 플로피 디스크 등과 같은 넌-네트워크된 장소 상에, 또는 일부 다른 공지된 또는 본 발명의 장소상에 놓일 수 있다.
패치 지문(906)이 장치되면(800), 그것은 저장소 구성요소(600)로 배치된다(802). 일반 배치 방법은 패치 지문(906)을 저장소 구성요소로 다운로드(804)하는 것이지만, 일부 실시예에서 지문(906)은 동일 파일 시스템에 놓여서, 파티션들 사이의 복사와 같은 네트워크를 이용하지 않고도 복사될 것이다.
예시된 패치 지문은, 특정 패치가 장치에 설치될 수 있는지를 보기 위해서 높은 레벨의 보기가 사용될 수 있는 하나 이상의 일반적인 발명의 설치 의존성(912)을 포함할 수 있다. 그것은 또한 타겟 컴퓨터(500)로 부터 특정 정보를 요청하는데 사용될 수 있는 서명 블록(910), 및 특정 패치가 장치에 로드되었는지를 판단하기 위해 서명 블록 정보를 사용할 수 있는 존재 검사(908)를 포함한다.
본 발명의 어떤 버젼에서, 발명의 설치 의존성(912)은 타겟 컴퓨터(500)에 설치되어야 하는 필요한 소프트웨어 및 하드웨어의 적어도 일부를 설명한다. 이러한 의존성(912)은 목록 라이브러리(918)에 이미 저장된 타겟 컴퓨터(806)에 대한 정보와 비교된다(808). 만약 설치 정보 및 발명 정보가 매치되지 않으면, 피치는 설치되지 않는다. 본 발명의 일부 버전에서 메시지는 설치를 위해 요구되는(필요한 하드웨어 및 소프트웨어와 같은) 구성요소의 리스트를 포함하는 적어도 하나의 관리자에 전달된다.
필요한 발명의 정보가 타겟 컴퓨터(500)이거나 또는 발명 정보가 사용되지 않으면, 서명 블록이 저장소 컴퓨터(600)로 부터 타겟 컴퓨터(500)로 전달된다(810). 더 많은 특정 설치 정보로 이루어질 수 있는, 서명 블록(914)에서 요청되는 정보는 발견 에이전트(548)에 의해서 모아지고(812), 이어서 저장소 구성요소(818)로 되돌려진다. 본 발명의 일부 버전에서, 발견 에이전트는 또한 사용 통계, 설치된 하드웨어 및 소프트웨어, 구성 등과 같은 타겟 컴퓨터에 대한 다른 정보(816)를 모은다. 이 정보는 목록 라이브러리(918)를 점유하는데 사용될 수 있다.
서명 정보(910)가 저장소 구성요소(600)로 전달되었으면, 평가기(914)는 존재 검사(908)를 통해서 서명 블록에 의해서 요청되는 특정 설치 정보의 적어도 일부, 및 어떤 경우에는 발명의 설치 정보(912)를 평가하여, 패치가 타겟 컴퓨터(500)에 부재인지(822)를 판단한다.
옵션 단계로서, 패치가 부재인지가 판단되었으면, 메시지는 관리자와 연관된 적어도 하나의 어드레스에 전달된다(824). 이 메시지는 이메일, 페이저, 팩스, 음성메일, 즉석 메시징, SNMP 통보 등을 포함하여 다양한 방법을 사용하여 전달될 수 있다.
패치 지문
도 5, 8 및 9를 계속해서 참조하면, 본 시스템의 일 실시예는 설치하고자 시도하기 전에 소프트웨어 패키지가 주어진 타겟 컴퓨터(500)에 설치될 수 있거나 설치되어야 함을 확인한다. 그렇게 하기 위해서, 패치 지문(906)이 사용되는데, 예를들면, 클라이언트 상의 에이전트에 의해서 사용된다. 패치 지문은 주어진 소프트웨어 패키기/증가 패치가 이미 설치되었는지 여부를 판단하는 방법을 규정한다. 또한 패치 설치에 필요한 최소의 하드웨어/소프트웨어 구성을 규정할 수 있다. 이러한 패치 지문(906)은 지문 라이브러리(904)에 저장된다. 지문 라이브러리(904)는 저장소 구성요소(600)에 배치된다. 이러한 저장소 구성요소(600)는 업데이트 서버(528)에 배치될 수 있거나, 또는 업데이트 서버(528) 및 타겟 컴퓨터(500)에 억세스가능한 별도의 장소에 놓일 수 있다. 본 발명의 일부 버젼은 또한 타겟 목록를 포함하는 목록 라이브러리(918)를 포함한다. 각각의 타겟 목록(920)은 규정된 세트의 타겟 컴퓨터(500)에 대한 하드웨어 및 소프트웨어 정보를 포함한다. 이처럼 규정된 세트는 주어진 네트워크에서 단지 하나의 컴퓨터 또는 모든 컴퓨터를 포함하거나 또는, 그들 사이의 수의 컴퓨터를 갖는다.
지문 라이브러리(904)는 자동으로 공급될 수 있다. 어떤 실시예에서는, 적어도 하나, 그러나 가능하게는 여러개의 패치 구성요소 데이터베이스 장소(900)가 새로운 패치(902)에 대해서 모니터된다(800). 본 발명의 어떤 실시예에서는, 장소(900)로부터의 신호는 저장소 구성요소(600)에 새로운 패치(902)가 사용됨을 표시한다 (800). 바람직한 실시예에서, 지문 라이브러리(904)는 특정한 시간 간격으로 새로운 패치 지문이 업데이트된다. 저장소 구성요소(600)이 새로운 패치 지문을 알고난 후에, 패치 지문은 저장소 구성요소(802)에 배치되며, 보통은 새로운 패치 지문을 다운로드하기 위한 다운로더(924)를 이용함으로서 배치된다. 그러나, 패치 지문은 다른 방법으로 저장소 구성요소로 진입할 수 있다. 예를들어, 하나 이상의 패치 지문은 관리자에 의해서 지문 라이브러리로 수동으로 설치될 수 있다.
목록 라이브러리
저장소 구성요소(600)는 또한 목록 라이브러리(918)을 포함한다. 어떤 실시예에서 초기에 업데이트 서버(528)에 상주하는 발견 에이전트(600)는 공지된 또는 본 발명의 방법을 이용하여 업데이트 서버(528)로 부터 타겟 컴퓨터(500)로 설치된다. 후에 더 상세히 설명되는 이 발견 에이전트(548)는 타겟 컴퓨터(500)의 소프트웨어 정보(606), 설치된 특정 소프트웨어 업데이트 및 패치를 포함하는 하드웨어 정보(608), 사용 정보(604), 등록 정보(612), 웹 정보(610), 구성 정보(614), 서버들(618), 파일 정보, 사용되어 온 패치 서명 등의 적어도 일부를 목록화한다.
이러한 정보, 또는 그 서브세트 또는 수퍼세트는 일부 실시에서는 압축된 형태로, 목록 라이브러리(918)내의 타겟 컴퓨터 목록(920)으로 보내진다. 결과 정보는 매우 대량이 될 수 있으며 따라서 효율적인 업로드를 위해서 그리고 커스토머 네트워크상에서 대역폭 사용을 최소화하기 위해서 압축될 수 있다. 바람직한 실행예에서는 임의의 다른 공지된 또는 본 발명의 데이터 전달 방법이 사용될 수 있지만, XML 데이터 전달을 이용하여 데이터를 보낸다. 목록 정보의 전달은 시스템 구성 정보의 바라지 않는 와이어-레벨 스누핑을 방지하기 위해서 커스토머 네트워크내에서 암호화될 수 있다.
보고 발생기
이러한 정보로, 보고 발생기(922)가 사용자에게 패치를 필요로 하는 컴퓨터의 수를 나타내는 네트워크내의 모든 컴퓨터에 대한 현재 패치의 상세한 보고를 제공할 수 있으며, 이 컴퓨터는 이미 패치가 설치되어 있으며, 컴퓨터는 하드웨어 또는 소프트웨어가 업그레이드 되는 등이 될 때 까지 패치를 수신하지 못한다. 그에 더해서, 보고 발생기(922)는 네트워크에 부착된 컴퓨터의 부분적인 또는 완전한 목록을 제공할 수 있다. 일부 실시예에서 이 보고 발생기(922)는, 소프트웨어 라이센스 승락을 보장할 뿐 아니라 하드웨어의 위치를 트랙하기 위해서, 관리자에 의해서 분석하기위한 목록의 그래픽 제시를 제공한다. 그러나 목록 구성요소(600)는 또한, 패치 지문(906)으로 부터 발견 에이전트(548)까지 관련된 서명(910)을 분산시키기 위해서 검출된 지문 정보뿐 아니라 목록 라이브러리(918)를 이용하여, 타겟 컴퓨터(500)에서 불필요한 스캐닝 작업을 제거함으로서 패치 발견 프로세스를 상당히 최적화한다.
발견 에이전트
주어진 소프트웨어 프로그램 또는 패치가 설치되는지 여부를 결정하기 위한 하나의 옵션 단계는 필요한 하드웨어가 적용가능하다면 존재하는지 및/또는 필요한 소프트웨어가 존재하는지를 확인하는 것이다. 예를들어, 일부 프로그램들은 특정 운영체제를 요구할 수 있으며, 일부 프로그램은 어떤 프로세서를 요구할 수 있다. 한 예로서, Microsoft Word 소프트웨어의 업데이트가 설치되려면, Microsoft Word 소프트웨어가 장치에 놓이는 것이 필요하다. 이러한 높은 레벨의 의존성은 어떤 버전에서는 패치 지문내의 목록 설치 블록(912)에 저장된다. 목록 설치 블록내의 정보는 일반적으로, 목록 라이브러리(918)내에 저장된 특정 타겟 컴퓨터(500)의 타겟 목록(920)으로 부터 이끌려 나올 수 있을 정도의 충분히 높은 레벨이다.
본 발명의 일부 실행예에서, 패치 지문(906)은 또한 설치 의존성 정보(912)를 포함한다. 이는 전술된 바와같이, 목록 라이브러리에서 찾아 볼 수 있을 것으로 예상될 수 있는 타겟 컴퓨터(500)에 대한 정보이다. 이것은 (특정 버전의 프로그램, 패치, 데이터 파일 또는 드라이버와 같은) 반드시 존재해야 하는 소프트웨어, 또는 반드시 존재해야 하는 하드웨어 구성요소, 또는 반드시 존재하지 않아도 되는 특정 하드웨어 및/또는 소프트웨어를 포함한다.
목록 라이브러리가 타겟 컴퓨터(500)에 대한 현재 목록을 갖지 않으면, 발견 에이전트는 목록 정보에 대해서 타겟 컴퓨터(500)를 스캔하는데 사용될 수 있으며; 이는 서명 정보에 대해서 동시에 스캔하는데 반드시 필요하지는 않다. 바람직한 실시예에서, 발견 에이전트(548)가 주어진 타겟 컴퓨터에서 실행되는 제 1 시간에 목록 정보에 대해서만 스캔하여 그 정보를 목록 라이브러리(918)로 로드하며; 패치 지문 정보는 무시한다. 발견 에이전트(548)가 실행되는 다른 시간에는 목록 정보를 무시하고, 오히려 특정 패치의 존재를 검사하기 위해서 특정 서명 정보(910)를 참조하는데 사용될 수 있다. 서명 블록 정보가 찾아질 때, 등록 엔트리 및 INI 파일 값과 같은 값이 존재하는지 검사될 수 있지만, 실제 값은 목록 구성요소(600)로 리턴될 수 있다.
각각의 패치 지문은 서명 블록(910) 및 존재 검사(908)를 포함한다. 패치 서명 블록은 일련의 정보 요청이며, 정보 자체는 모든 필요한 버그 픽스 및 보안 패치가 설치되는지를 판단하는데 사용되는 타겟 컴퓨터(500)로 부터 모여진다. 패치 서명 블록 정보의 예는 파일, 하드웨어, 등록 및 구성 정보, 특정 파일 또는 목록 이름, 파일이 발견될 것으로 예상되는 경로의 전부 또는 일부, 파일의 특정 버전 수, 파일의 생성된 날짜, 파일의 특정 파일 버전, 및 특정 등록 값을 포함하되 이들에 제한되지는 않는다.
일 실시예에서 지문 라이브러리(904)는 SQL 데이터베이스이다. 패치 서명(910)은, SQL 지문 라이브러리로 부터 추출되어 목록 설치 정보(912)내에서 규정된 바와같은 운영체제 및 설치된 소프트웨어에 대한 의존성 기준에 맞는 모든 타겟 컴퓨터에 보내진다.
바람직한 실행예는 XML-기반 요청 입력 파일을 채용한다. 업데이트 서버(528)에 되돌려진 결과 파일은 또한 XML 포매팅을 채용한다. 이 결과 파일은 타겟 컴퓨터에 대한 서명 정보를 포함하며, 또한 소프트웨어 및 하드웨어 목록 업데이트를 포함할 수 있다. 업데이트 서버에 보내진 목록 및 서명 정보는 매우 커 질 수 있으며 따라서 압축되어 바람직한 실행예에서 암호화될 수 있다. 다음은 EXEs 날짜 및 시간은 물론이고 Microsoft Outlook 에 대한 등록 정보, 및 등록내의 정보를 모으는 단순한 패치 서명이다. 즉,
<file componentid="1" reportID="1">
<name>outlook.exe</name>
<path></path>
<version>9.0.2416</version>
<created></created>
<size></size>
<root>HKEY_LOCAL_MACHINE</root>
<Key>SOFTWARE\Microsoft\\Windows\CurrentVersion\App
Paths\OUTLOOK.EXE</key>
<value>Path</value>
</file>
타겟 컴퓨터상의 발견 에이전트가 서명에 대한 그 스캔 결과를 리턴했으면, 존재 검사(908)가, 특정 컴퓨터가 실제로 패치를 갖는지 여부를 추정하기 위해서 평가기(914)에 의해서 사용된다. 이 알고리즘은 평가기에 의해서 수행되어야 하는 검사의 수를 최소화하는데, 그 단독 책임은 정보를 발견하는 것으로서, 데이터 분석이 목록 구성요소(600) 자체에 의해서 수행되도록 한다. 이 방식으로 워크로드를 분산하는 것은 다수의 워크스테이션 및 서버를 스캐닝 및 분석하기 위한 더 양호한 실행예를 제공한다.
각각의 존재 검사는 주어진 패치에 대해서 특정한 것이다. 샘플 존재 검사는 다음과 같다. 즉, 등록 QQ가 값 ZFILEVAL을 포함하거나 또는 (file_Z123.bat이 2000년 12월 12일 오전 11시 52분에 변경되었으며 파일 Z의 크기가 ZFILESIZE이면) 패치 ZPATCH가 존재한다. 패치 지문 라이브러리의 바람직한 실시예는 SQL 데이터베이스이지만, 다른 공지된 또는 본 발명의 데이터베이스가 사용될 수 있다.
패치 지문이 지문 정의에 대한 의존성을 포함할 수 있음을 유의할 수 있는데, 예를들면, "MS-023 ⅡS Vulnerability Fix" 패치가 가설에 근거하여 "Microsoft Windows Service Pack 2"의 존재를 요구한다. 이는 패치 서명이 실제로 보내지는 곳을 더 최적화하는데 사용된다. 이들은 때때로 상황에 따라서 설치 의존성 정보(912)에서 사용되며, 또는 서명 블록(9100에서 사용될 수 있다.
이에 더해서, 지문 정의(906)는 또한 정상적으로는 시스템에 의한 전개에 적합한 소프트웨어 패키지(554)와 연관된다. 특정 패치에 대한 필요가 네트워크 내의 하나의 컴퓨터 또는 모든 컴퓨터에서 그 서명(들)을 스캐닝하므로서 설정되었으면, 날짜 및 시간을 단순히 선택함으로서 관리자에 의해서 신속히 전개될 수 있다.
지문 정의(906)는 또한 패치 서명내의 다른 요소들이 TRUE (패치된) 또는 FALSE(패치되지 않은)으로 평가되어야 하는지를 사정하도록 평가되어야 하는 논리적 표현을 포함할 수 있다. 그 표현은 A. B 및 C가 패치 서명내의 다른 지문 정의를 지칭하는 (A A 및 B)│C와 같은 단순한 논리적 문장이다.
일부 실행예에서 다운로더(924)는 규칙적으로 새로운 패치 지문에 대한 패치 구성요소 데이터베이스를 체크한다. 새로운 패치 지문이 배치되면, 그것은 저장소 구성요소로 다운로드 된다. 평가기는 설치 정보(912)에서 리스트된 특정 패치 실행예에 대해서 필요로 하는 의존성을 목록 라이브러리에서 리스트된 타겟 컴퓨터(500) 명세 각각과 비교한다. 그후 업데이트 리스트가 생성되는데 이는 패치를 필요로 하는 모든 타겟 컴퓨터(500), 패치를 소유하지 않는 모든 타겟 컴퓨터, 패치를 수신할 수 있는 모든 타겟 컴퓨터, 필요한 의존성이 있을 때, 이미 패치를 수신한 모든 타겟 컴퓨터(500)를 식별할 수 있다. 이러한 업데이트 리스트는 현재 타겟 컴퓨터를 업데이트하는데 사용될 수 있거나, 통보기(916)에 의해서 관리자에게 보내질 수 있다.
본 발명의 어떤 경우에는, 패치 구성요소 데이터베이스가 타겟 컴퓨터(500) 소유주가 아닌 다른 누군가에 의해서 소유된다. 이러한 패치 업데이트 호스트가 타겟 컴퓨터(500) 소유주에게 허용했을 때에만, 다운로더는 새로운 패치 지문을 저장소 구성요소로 다운로드하도록 허용된다. 이러한 허용은 구매 동의, 임대 동의, 다운로드 허용에 대한 가입, 및 평가 동의를 포함할 수 있다.
관리자의 관심사가 될 수 있는 임의의 수정이 이루어지면, 통보기(916)는 사용가능하게 된 새로운 패치 업데이트 또는 그 네트워크 구성에서 발생된 패치 관련 상태 변경을 포함하는 통보 메시지를 보낸다. 통보는 이메일, 페이저, 전화, SNMP 브로드케스트 또는 즉석 메시지를 통해서 보내진다.
타겟
컴퓨터
일 실시예에서, 본 발명의 시스템은 세개의 피스, 즉, 타겟 컴퓨터(500), 업데이트 서버(528), 및 패키지 컴퓨터(548)를 포함한다. 타겟 컴퓨터(500)는 메모리(502), 및 네트워크 접속부(504)를 갖는데, 이는 본 발명의 적어도 하나의 실행예에서 윈속 층이 된다. 무소켓 프로토콜이 실행되거나, 또는 임의의 다른 공지된 또는 본 발명의 네트워크 접속부가 사용될 수 있다. 업데이트 서버(528)는 옵션 백업 저장장치(534)를 포함할 수 있는 메모리(530) 및 네트워크 접속부(532)를 갖는다. 패키지 컴퓨터(567)는 메모리(550) 및 네트워크 접속부(552)를 갖는다. 도 5는 편의상 하나의 타겟 컴퓨터(500)를 갖지만 주어진 실시예에서는 더 많을 수 있다. 그와같이, 하나의 업데이트 서버(528), 및 하나의 패키지 컴퓨터(567)가 편의상 도시되며, 본 발명은 하나만을 요구하지만 또한 두개 이상을 지원한다. 바람직한 실시에에서, 이러한 피스들은 모두 별개의 컴퓨터이지만, 이들은 동일 컴퓨터의 가상 피스이어서, 이들은 서로 다르게 나타난다. 예를들어, "패키지 컴퓨터" 피스는 업데이트 서버의 상이한 파티션 또는 동일 파티션에 상주할 수 있다.
타겟 컴퓨터는 네트워크 접속부(544)를 포함하는데, 이는 전술된 바와같이 방화벽(526)에 의해서 외부로부터 보호될 수 있다. 네트워크내의 상이한 타겟 컴퓨터는 상이한 플랫폼에서 실행될 수 있는데, 예를들면, 일부는 Windows 장치가 될 수 있으며, 일부는 Unix 장치 등이 될 수 있다. 동일 업데이트 서버(528)는 모든 플렛폼에 대해서 사용될 수 있거나, 또는 상이한 업데이트 서버(528)는 플렛폼 유형으로 규정될 수 있거나, 또는 업데이트 서버(528)는 상이한 방식을 이용하여 타겟 컴퓨터(500)에 할당될 수 있다.
타겟 컴퓨터(500)는 또한 업데이트 에이전트(508)를 포함한다. 업데이트 에이전트는 한번에 다중 장치에서 본 발명의 방법을 이용하여 설치될 수 있거나, 또는 본 시스템의 일부 실시예에서, 타겟 컴퓨터(500)상에서 종래의 방식으로 설치될 수 있는 소프트웨어 구성요소이다. 일단 등록되면, 업데이트 에이전트(508)는 세가지 기본 태스크를 수행하는 방법을 알고 있다. 즉, 1) 그 업데이트 리스트(536)로 부터 태스크 리스트를 검색하기 위해 업데이트 서버(528)에 접촉하는 방법, 2) 수신된 태스크 리스트에서 태스크를 시작하는 방법, 및 3) 폴링 간격, 동작 시간 등을 제어하는 업데이트 서버(528)로부터 수신된 정책 정보를 검색하는 방법이다.
업데이트
에이전트
타겟 컴퓨터(500)의 업데이트 에이전트는 에이전트(508)에 대해 수행될 작업이 있는지를 판단하기 위한 업데이트 서버(528)에 접촉한다. 업데이트 서버(528)는 에이전트의 업데이트 리스트 큐(536)를 분석함으로서 이를 판단한다. 이 업데이트 리스트(536)는 최소한, 소프트웨어 장소 참조부를 포함하지만, 소프트웨어 패키기(554)가 설치될 수 있는 가장 이른 날짜를 표시하는 날짜(540)를 포함할 수 있으며, 동일 소프트웨어 패키지가 다중 장소로부터 사용가능하면, 다중 소프트웨어 장소 참조부를 포함한다. 업데이트될 수 있는 소프트웨어 유형은, 제한 없이, 타겟 컴퓨터상에 현재 설치된 소프트웨어 어플리케이션을 업데이트하는 패치 파일(556), 데이터 파일(558), 스크립트 파일(562), 새로운 어플리케이션 파일(564), 실행가능한 파일(560), 드라이버 업데이트, 새로운 소프트웨어 버전 및 업데이트 에이전트 파일 자체에 대한 업데이트(566)를 포함한다.
업데이트 에이전트가 적당한 날짜(540)가 있을 때 이를 가지고, 그 연관된 업데이트 리스트(536)상의 엔트리를 발견할 때, 설치기(510)는 초기에 업데이트 서버(528)상의 메모리(530)에 소프트웨어 패키지의 복제가 이미 존재하는지를 점검한다. 만일 발견되면, 업데이트 서버로 부터 직접 소프트웨어 패키지를 다운로드한다. 이러한 상황은 이전의 타겟 컴퓨터(500)가 업데이트 서버(528)로 부터 소프트웨어 패키지(554)를 요청했을 때 발생할 수 있다.
소프트웨어 패키지가 발견되지 않으면, 설치기(510)는 그 네트워크 접속부를 이용하여 소프트웨어 장소 참조부(538)에서 주어진 패키지 컴퓨터 장소로부터 타겟 컴퓨터 메모리(502)로 직접 업데이트를 다운로드하고자 시도한다. 이것은 방화벽(526)이 없거나, 또는 업데이트 서버가 패키지 컴퓨터 장소(548)로 접속될 때 가능하게 된다.
관리자가, 패키지 컴퓨터(567)와 같은 "비 신뢰된" 소스로부터 파일을 검색하도록 업데이트 에이전트(508)에 명령할 때, 설치기(510)는 자원을 직접 검새할 수 없다. 그러나, 업데이트 에이전트는 업데이트 서버(528)가 패키지를 검색도록 요청할 수 있다. 일부 실행예에서 다중 업데이트 서버가 존재하며 업데이트 에이전트(508)는 일부 소정의 기준을 이용하여 이중 어느것을 억세스할지를 결정한다. 그 예에는 사용가능한 제 1 업데이트 서버(528)를 선택하며, 가장 덜 분주한 업데이트 서버를 선택하며, 네트워킹 용어로 "가장 근접한(closest)"인 업데이트 서버를 선택하는 등을 포함한다.
본 발명의 일 실행예에서, 업데이트 서버(528)가 오프사이트 패키지 컴퓨터(567)에 도달할 수 있으면, 그것은 업데이트 에이전트(508)에 자원에 도달할 수 있음을 통보하며 검색에 걸리는 시간을 추정한다. 이러한 추정은 에이전트에 요청된 자원이 사용되기 전에 얼마나 대기해야 하는지를 알린다. 계산 추정이 정확하지 않으면, 이는 인터넷 트래픽 요동 및 서버 응답 시간 변동으로 인해서 가능성이 별로 없는 것으로서, 에이전트가 자원을 다시 요구하면, 업데이트 서버는 또 다른 대기 시간 길이를 제공하며 에이전트는 다시 한번 대기한다. 이러한 주기는 업데이트 서버(528)가 메모리에서 사용가능한 자원을 갖을 때 까지 반복되어 다음 요청시에 에이전트에 전달할 수 있다.
특별한 소프트웨어 패키지가 상이한 에이전트(508)에 의해서 다수로 요청될 때, 본 발명의 한가지 실행예에서, 업데이트 서버(528)는 이 자원을 로컬 캐시(530)에 저장하며, 이로부터 부가적인 검색 요청을 수행할 수 있다. 업데이트 서버(528)가 구 소프트웨어 패키지를 갖는 모든 사용가능한 메모리를 채우지 못하도록 하기 위해서, 일 실시예는 패키지가 억세스되는 횟수 및 저장된 소프트웨어 패키지에 대한 최신 억세스 시간을 저장하며 그 자원이 그 캐시에 머무르는 "생존" 시간량을 추정한다. 업데이트 서버(528)내에서 실행되는 별개의 태스크는 그 유용성을 "아웃리브"한 자원에 대해서 주기적으로 점검하며 캐시(530)로부터 저장된 소프트웨어 패키지 업데이트를 삭제하므로 업데이트 호스트의 저장 자원을 복구하게 된다.
일 실시예에서 업데이트 서버는 패키지가 한번에 하나씩 에이전트의 리스트에서 사용가능하게 한다. 에이전트(508) 또는 아웃컴 파인더(512)가 패치의 어플리케이션이 실패하였다고 보고하거나, 또는 에이전트 타겟 컴퓨터(500)를 패치가 업데이트 서버와 더이상 통신하지 않는 상태로 놓으면, 업데이트 서버는 관리자를 위해서 롤아웃을 자동으로 중지한다. 이 점에서, 관리자 또는 일부 다른 지정된 사람은 아웃컴이 통보될 수 있다(516).
아웃컴 파인더(512)는 소프트웨어 패키지 설치가 성공하였는지를 판단하여 그 파인딩을 업데이트 서버(528)로 통과시킨다. 아웃컴이 성공하지 못하면, 전술된 바와같이, 리스토러(514)는 타겟 컴퓨터를 수용가능한 넌-업데이트된 상태에 놓는다. 아웃컴 파인더(512)는 반드시 실제 소프트웨어 설치만을 모니터하는 것은 아니며, 오히려 일부 지정된 시간 동안, 패치된 소프트웨어, 전체 타겟 컴퓨터, 및/또는 타겟 컴퓨터에 네트워크로 연결되는 컴퓨터의 사용을 살피도록 셋업될 수 있다. 아웃컴 파인더는 상이한 성공 레벨을 갖을 수 있다. 예를들어, 설치 자체(파일 복사)는 낮은 정도의 성공으로 간주될 수 있지만, 그후 일정 시간 동안 동작하지 않는 타겟 컴퓨터는 성공 레벨에 따라 취해진 상이한 동작으로, 더 높은 정도의 성공으로 간주될 수 있다. 성공 또는 실패는 전술된 바와같이 모니터되고, 필요하면 설치가 재시도되고 정지되기도 한다.
일부 실시예는 타겟 컴퓨터(500)상에 소프트웨어 패키지를 설치하기 전에 타겟 컴퓨터(500)의 백업(506, 534) 또는 그 일부를 저장한다. 때때로 백업은 업데이트 서버에 저장되며(534), 때로는 외부의 저장소 사이트(600)에 저장된다. 아웃컴 파인더(534)가 소프트웨어 설치에 관한 문제를 보고하면, 레스토러(514)는 타겟 컴퓨터를 넌-업데이트된 상태로 리턴시키기 위해서 백업(534)을 사용할 수 있다.
본 발명의 일 실시예에서, 업데이트 서버(523)는, 다음 타겟 컴퓨터(500)가 업데이트 서버(528)에서 그 업데이트 리스트(536)에 배치되는 패킷에 대해서 소프트웨어 장소 참조부(538)를 갖기 전에 성공적인 설치(아웃컴 파인더(512) 또는 다른 공지된 또는 본 발명의 접촉 방법에 의해서)의 확인을 대기한다. 바람직한 실시예에서, 설치가 종료되면, 관리자는 이메일(518), 페이저(520), 음성 메일(522), SNMP 통보(568), 즉석 메시징(570), 팩스 또는 다른 수단에 의해서 결과를 통보받는다(516). 설치가 실패하면, 설치가 실패한 특정 장치가 식별된다. 일부 실시예에서는, 디폴트 또는 사용자가 정의한 성공적인 설치의 수 후에, 패키지는 동시에 한명의 사용자 이상에게 사용가능하게 된다.
이러한 업데이트 리스트(536)는, 타겟 컴퓨터(500)이라고 하는, 관리되는 워크스테이션 클라이언트 또는 서버에 전달되거나 롤아웃되는 프리-빌트 패키지 또는 커스텀 빌트 패키지를 관리자가 지정하도록 한다. 이러한 패키지가 사용가능하게 될 때, 업데이트가 본 발명에 의해서 수행되는 관리자에 의해서 스케쥴되며, 이는 패치 또는 서비스 팩을 설치하기 위해서 클라이언트에 관리자의 방문을 요청하는 이전 태스크를 자동화할 수 있다.
업데이트 에이전트(508)는 동작되고 있는 플랫폼을 알고 있을 수 있으며, 관리자를 위해서 동작을 수행하도록 프로그램되거나 스크립트될 수 있다. 일 실시예에서 이러한 특징은 패키지 빌더 위자드를 통해서 관리자에게 노출된다. "소프트웨어 패키지"는 파일, 서비스 팩, 핫픽스, 소프트웨어 설치 및 스크립트의 임의의 조합이 될 수 있다. 이는 원격 장치의 관리에 대한 기회를 주는데, 이는 원격 장치에서 수행될 수 있는 거의 모든 것이 관리자를 위해서 동작하는 에이전트를 통해서 수행될 수 있기 때문이다.
본 발명의 일 실행예는 스크립트(562)가 패키지 설치를 하기 전(프리-설치) 및 후(포스트-설치)에 실행되도록 한다. 프리-설치 스크립의 일예는 다음이 될 수 있다: (의사-코드로)
가능한 디스크 공간을 점검
가능한 디스크 공간이 ValueX 보다 크면(여기서 ValueX = 설치를 위해 필요 한 룸 플러스 버퍼)이면 설치로 진행된다.
그렇지 않으면, 에러가 발생한 외부 관리에 경보를 발하고, 종료한다.
포스트-설치 스크립트의 일예(다시, 의사-코드로):
설치가 성공했으면, 성공저인 설치를 외부 소스에 통보한다.
설치가 성공하지 못했으면, 설치가 성공하지 못했음을 외부 소스에 통보한 다.
도 6 및 7을 참조하면, 네트워크(200)는 많은 상이한 종류의 타겟 컴퓨터를 포함할 수 있으며, 이들 각각은 특정 타겟 플렛폼에 대해서 특별히 구성될 수 있는 에이전트를 갖는다. 예를들어, Microsoft Windows PCs를 실행하는 네트워크, Apple Macintosh 컴퓨터, 및 UNIX 컴퓨터가 세가지 유형의 에이전트를 갖을 수 있다. 이것은 그 타겟 컴퓨터를 둘러보고 이 컴퓨터 정보(602)를 업데이트 서버(528) 및/또는 저장을 위한 별개의 저장소 사이트(600)에 보고할 수 있는 장점을 제공한다. 이 시스템의 얼마의 예에서, 발견 에이전트(548)가 제공되는데, 이는 다른 곳에서 설명되드시, 스캔을 수행한다. 다른 예에서 스캔은 업데이트 에이전트(508) 또는 다운로드 스크립트 파일(562)에 의해서 수행된다. 하드웨어 구성(608), 소프트웨어 구성(606), 여러 하드웨어 및 소프트웨어 구성요소(604)의 사용에 대한 정보, 방문한 웹사이트, 전달 및 수신된 이메일(610)이 오프사이트 장소(600)에 모두 전달될 수 있다. 이 정보가 업데이트 서버에서 사용되면, 관리자는 하나의 장소로부터 전체 관리된 네트워크를 볼 수 있다.
본 발명의 시스템이 기존의 네트워크에서 실행되면, 발견 에이전트(548)는 저장소 사이트(600) 메모리내에서 검출 및 저장되는 기존의 소프트웨어 구성(700)을 갖는, 적어도 타겟 컴퓨터(500)상에 존재하는 소프트웨어의 보기를 수행할 수 있다. 일부 시스템은 전체 네트워크(200)를 볼 수 있다. 업데이트가 요청될 때, 시스템은 그 현재 상태를 점검하기 위해서 네트워크 장치를 다시 보기할 필요없이 어떤 것들이 필요한지를 알고 있다.
타겟 컴퓨터(500)에 대해서 추천된 구성(704)이 업데이트 서버(528)상에 또는 저장소 사이트(600)상에 배치된다. 추천된 구성은, 예를들어, 하드웨어 구성에 의해서, 소프트웨어 구성에 의해서, 컴퓨터 유형에 의해서, 마지막 패키지 업데이트 등에 의해서, 본 발명의 또는 데이터베이스 기술의 숙련자에게 공지된 많은 방법으로 결정될 수 있다. 발견 에이전트(548)는 현재(700) 및 추천된(704) 구성을 비교하여 타겟 컴퓨터(500)에 대한 제안된 업데이트(708) 리스트를 준비한다. 업데이트 리스트는 설치된 소프트웨어, 이전에 설치되지 않은 소프트웨어, 업데이트된 데이터 파일 등에 대한 서비스 팩을 포함할 수 있다. 제안된 리스트를 준비하는 프로세스는 현재의 소프트웨어 구성뿐 아니라 하드웨어 구성(608), 및 본 기술 분야의 당업자에게 공지된 다른 정보는 물론이고, 특별한 프로그램, 데이터 파일 등이 얼마나 자주 억세스되는지(604)와 같은 정보를 고려할 수 있다. 관리자는 자동으로 업데이트 리스트가 통보될 수 있다.
타겟 컴퓨터 현재 구성(700)이 제안된 업데이트 리스트(706)를 발생한다고 가정하면, 관리자는 자동으로 통보될 수 있다(708). 이 점에서, 컴퓨터는, 새로운 타겟 컴퓨터가 적어도 부분적으로 업데이트될 때 까지, 또는 관리자가 허용할 때 까지, 또는 일부 다른 본 발명 또는 공지된 조건이 맞을 때 까지, 제한될 수 있다. 이처럼 제한된 업데이트 리스트(706)는 또한 다른 곳에서 설명되듯이, 실제로 컴퓨터를 업데이트하는데 사용되는 업데이트 리스트(536)를 한정하는데 사용될 수 있다.
패키지는, 소프트웨어 파일 또는 데이터 파일과 같은 파일을 표시하는 모듈 및 스크립트로 구성되며, 이는 패키지내의 파일을 취하기 위한 일련의 동작이다. 그 대신에 하나 이상의 스크립트 파일(들)은 패키지 콘텐트내에 포함될 수 있으며, 패치를 설치하기 위해서 에이전트에 의해서 실행될 수 있다. 본 발명의 일부 실시예에서, 인간 관리자는 새로운 소프트웨어 패치의 사용가능성을 통보한다. 다른 실시예에서, 언제 롤아웃할지를 결정하는 오프사이트 업데이트 서버(528)에 통보가 직접 전달된다. 오프사이트 업데이트 서버는, 각 타겟 컴퓨터에 이미 저장된 패키지를 영구 메모리에 저장하도록 구성될 수 있다. 새로운 패키지가 사용되게 될 때, 또는 기존의 패키지를 설치하는 동안에, 이전 설치에 대한 정보는 물론이고, 설치될 필요가 있는 소프트웨어 패키지의 기존의 증거는 일부 실싱예에서는 오프사이트 업데이트 서버(528)에서 사용이 가능하며, 다른 경우에는 저장소 사이트(600)에서 사용이 가능하다.
업데이트되는 패키지는 그에 대한 억세스를 수신하기 위해서 타겟 컴퓨터(500) 사용자가 소유할 필요는 없다. 시스템의 일 실시예에서, 소프트웨어 패키지는 사용자에게 소프트웨어를 대여하는 제 3 자가 소유한다. 또 다른 실시예에서, 소프트웨어 패키지는 대여하여 소프트웨어 패키지에 대한 억세스를 타겟 컴퓨터(500) 사용자에게 제공하는 업데이트 서버 사용자가 소유한다.
보안 및 임계 패치 관리, 특징
본 발명은 여러 운영 체제에서 공지된 보안 취약 및 다른 안정성 문제 또는 향상 등을 해결하는 임계 패치를 관리 및 분산시키기 위한 도구 및 기술을 제공한다. 적당한 운영체제에는 제한없이, 모든 Microsoft 운영체제 (예를들면, 95, 98, ME, NT, W2K, XP, .W2K3), UNIX 운영체제(예를들면, Linux, Solaris, AIX, HP-UX, SCO, 등) 및 Novell NetWare 운영체제가 포함된다. 운영체제 제품 이름은 그 각각의 소유주의 마크이다.
과거에는, 보안이나 다른 임계 패치를 관리하기 위해서, 회사나 다른 컴퓨터 사용자가, 예를들어 월드 와이드 웹 주위에 개시된 뉴스 보도 또는 텍스트 경보를 읽으므로 주기적으로 벤더 웹 사이트를 점검하거나 또는 새로운 패치에 대해서 찾기 위해서 이메일 가입 또는 뉴스그룹 등을 통해서 통보를 받았다. 소프트웨어를 회사가 사용하는 벤더가 어플리케이션 소프트웨어, 드라이버 하드웨어, 및/또는 하드웨어를 고정 또는 향상시키기 위해서 새로운 패치를 해제하였음을 알 때, 회사의 소프트웨어 관리 인력은 일반적으로 최신 관련 패치를 수동으로 다운로드하며, 여러 레이아웃 및 구성에서 회사의 장치와 호환성을 위해서 검사하며, 수동으로 또는 그 종래의 소프트웨어 분산 도구를 이용하여 패치(들)를 분산시킨다.
대조적으로, 본 발명은 순향적으로 컴퓨터에 임계 업데이트가 인터넷 억세스를 하는지 여부를 통보(824)할 수 있다. 본 발명은 각 다운로드를 수행하기 위한 고속 관리자 명령을 필요로 하지 않고도 패치 다운로드를 수행함으로서 순향적으로 동작할 수 있다. 본 발명은 또한 소프트웨어 업데이트, 소프트웨어 패키지, 및 다른 데이터를 네트워크로 연결된 데스크톱, 서버, 이동장치 및 다른 컴퓨터에 분배 및 설치하여 조력할 수 있다.
본 발명의 일 실시예는 패키지 컴퓨터(567)와 같은 마스터 아카이브로 부터 최근의 임계 업데이트를 검색하는 업데이트 서버(528)를 통해서 콘텐트 사본을 포함한다. 검색은 128-비트 SSL 또는 보안 전송을 위한 다른 친숙한 프로토콜을 이용할 수 있다. 새로운 업데이트가 마스터 아카이브에 첨가됨에 따라서, 업데이트의 메타데이터는 업데이트 서버 및/또는 지문 라이브러리(904)로 자동으로 다운로드된다. 메타데이터가 패치가 임계값임을 표시하면, 패치는 업데이트 서버에 다운로드되며 빠른 배치를 위해서 그곳에 캐시된다. 각각의 패치는 연관된 설치기(912), 선결 서명(910), 및 다른 지문 증명서(906)를 갖는다.
일부 실시예에서 정보는 일방향으로만 전달되는데, 말하자면, 마스터 아카이브로 부터 업데이트 서버로 전달되며, 따라서 마스터 아카이브의 보안을 향상시킨다. 이에 더해서, 일부 실시예에서 모든 전송된 정보는 암호화되며, CRC(주기적 리던던시 코드) 점검되며, 압축되며, 디지털로 사인되며, 128-비트 SSL 접속에서 다운로드된다. SSL 접속은 패치 보안으로서 마스터 아카이브의 인증을 유효하게 하며 확인하는 보안 네트워크 프로토콜을 채용한다. 다른 보안 네트워크 프로토콜이 사용될 수도 있다. 다른 실시예에서, 이러한 요소의 일부는 생략되는데, 예를들면, CRT 체크 및/또는 디지털 서명이 수행되거나 사용되지 않는다.
업데이트 서버(528)는 클라이언트 타겟 컴퓨터(500)를 위한 패치 소스로서 동작한다. 업데이트 및 소프트웨어 패키지를 관리하기 위한 복제 서비스 및 관리 툴을 포함하는 업데이트 서버는, HTTP, HTTPS 및 XML과 같은 프로토콜을 이용하여 클라이언트(500)를 스캔하고 그들에게 패치 전달을 스케쥴할 수 있다. 일부 실시예에서, 업데이트 서버는 Microsoft의 인터넷 정보 서비스를 이용한다. 업데이트 서버는, 마스터 아카이브로 부터 수신하는 임계 업데이트를 자동으로 캐시하도록 실행될 수 있다. 일부 실시예에서 관리자는 복제 스케쥴을 설정하거나, 복제 를 수동으로 트리거하거나, 예상된 또는 측정된 에트워크 비활동에 응답하여 자동으로 업데이트 서버 복제 및 분산 소프트웨어에서 복제 소프트웨어를 갖지 않을 수 있다.
일부 실시예에서, 관리자는 소프트웨어 패키지(554)를 생성할 수 있는데, 이는 다른 패치와 마찬가지로 배치할 수 있는 것이다. 즉, 일반적인 의미로 "패치"는 수정되고 있는 소프트웨어의 미리 설치된 클로우스-관련 소프트웨어의 피스를 전제로 할 필요가 없지만, 타겟에게는 새로운 소프트웨어 피스를 포함할 수 있다. 예를들어, Microsoft Office 2000 을 포함하는 패키지는 모든 데스크톱에 배치될 수 있다. 커스텀 어플리케이션의 관리자는 커스텀 어플리케이션 및 그들의 패치를 롤아웃하기 위해서 유사하게 패키지를 생성할 수 있다. 일부 실시예의 관리자는 임의의 타겟 컴퓨터에 임의의 소프트웨어 패키지를 분산하기 위해서 내장형 소프트웨어 분산 특징을 이용할 수 있다.
일부 실시예에서 업데이트 서버(528)는 기업 보고 매트릭스나 회사 또는 다른 기업에서 장치의 패치 상태의 다른 요약을 표시하는 소프트웨어 및/또는 하드웨어로 구성된다. 보고는 네트워크 관리자 및/또는 기업의 컴퓨터 기능을 유지하는 책임을 맡은 다른 사람에게 표시된다. 관리자는, 정책 설정, 그룹 정의, 경고에 응답 및/또는 여기서 논의된 또는 이미 알려진 다른 단계를 취함으로, 업데이트 서버로 부터의 어떤 업데이트 또는 패키지가 클라이언트(500)에 푸시되는지에 영향을 준다 (그리고 어떤 경우에는 전체적으로 제어한다). 일부 실시예에서는 관리자는 클라이언트 에이전트 정책을 설정 또는 수정하기 위한 전력 및 리부트의 제어를 포함하여, 패치의 배치를 완전히 제어한다.
패치는 이들이 기업에서 널리 배치되기 전에 내부에서 검사될 수 있는데, 이는 주어진 패치가 상이한 기업에서는 상이하게 동작할 수 있기 때문이다. 패치 관리를 위한 상업적인 소프트웨어 및 서비스를 제공하며, 이 어플리케이션 및 그 앞선 어플리케이션의 양수인인 PatchLink.com Corporation ("PatchLink")은 이들이 PatchLink에 의해서 해제되기 전에는 패치를 연속해서 연구, 검사 및 승인한다. 예를들어, Microsoft W2K(Windows 2000) 운영체제에 대한 핫 픽스가 Microsoft에 의해서 해제될 때, 마스터 아카이브(567)로의 PatchLink 에 의해서 해제되기 전에, 여러 서비스 s 및 다른 핫 픽스와 조합하여, 표준 W2K, SQL 서버를 갖는 W2K, Office를 갖는 W2K, 및 Exchange(Microsoft의 마크)를 갖는 W2K와 같은 이백개 이상의 상이한 W2K 구성에서 PatchLink에 의해서 설치 및 검사될 수 있다.
일부 실시예에서, 클라이언트 에이전트(508)는 어떤 업데이트가 의문시되는 클라언트에서 필요한지를 판단하기 위해서 인트라넷-호스트된 업데이트를 점검한다(332). 그것은, 업데이트 서버로 돌아가서, 관리자에 대해서 보고 매트릭스를 생성하는, 현재 구성(700)과 같은, 수집된 정보를 보고한다. 일부 실시예에서, 관리자는 배치 위저드를 이용하여 패치 배치를 규정 및 승인한다. 관리자-승인된 업데이트 및 패키지는 배경에서 다운로드되어(312), 다운로드를 수신하는 컴퓨터 사용자에게 불편을 감소시키고, 관리자에 의해서 설정된 스케쥴에 따라서 자동 설치된다. 관리자-규정된 규칙이 패치 설치 프로세스의 동작을 제어할 수 있다.
본 발명의 일 실시예는, 관리자가 실시예로 하여금 임계 운영체제 픽스 및 보안 패치와 같은, 소프트웨어 패키지 및 업데이트를 자동으로 다운로드(308, 312)되고 설치되게 하는(510) 순향 서비스를 제공한다.
본 발명의 일부 실시예의 내장형 보안 특징은 디지털 보안 증명서를 사용한다. 타겟(500)상에 다운로드 업데이트를 설치(520)하기 전에, 이 특징은 디지털 증명, CRC 점검, 압축, 및 각 파일 또는 패키지상에서 암호화를 확증한다. 업데이트 서버(528)에서, 관리 페이지 및 다른 제어에 대한 억세스는 승인된 관리자에게 제한된다. 일부 실시예에서, 업데이트의 복제(다운로드)는 SSL을 사용하며 실시예는 업데이트 서버에 다운로드의 효력을 점검한다. 즉, SSL 증명서가 인식된 소스(예를들면, PatchLink.com)를 식별하면, 다운로드는 실패하며, 서버는 이메일 경고를 관리자에게 보낸다. 일부 실시예에서, 모든 다운로드에서의 정보(업데이트 서버에 대한 마스터 아카이브, 타겟에 대한 업데이트 서버)는 암호화되며, CRC 점검되며, 압축되며, 디지털로 사인되며, 128-비트 SSL 접속부에서만 전달된다. 다른 실시예에서는, 이러한 요소가 보정(예를들면, 40-비트 암호화) 및/또는 생략된다.
패치 서명(910)은 실시예가 타겟(500)을 스캔하도록 하며 각 패치에 대한 전제(들)가 만족되었는지, 예를들면, 타겟상에서 적당한 소프트웨어 버전 및 적당한 하드웨어 드라이버에 대한 이이전트 점검을 함으로서 판단한다. 패치 서명 및 패치 지문 채취 특징은 각각 기업 보고 매트릭스에서 볼 수 있는 검출 보고를 만드는데 사용될 수 있다. 워크스테이션 목록 특징은 타겟 컴퓨터에 대해서 필요한 소프트웨어 및 하드웨어 드라이버를 특정하기 위해서 발견 에이전트(508)를 사용한다. 발견 에이전트는 또한 지문에 필요한 서명을 위해 타겟을 스캔할 수 있다. PatchLink.com 은 세상에서 가장 큰 자동 패치 지문채취 저장소중 하나를 수용하고 있는 마스터 아카이브를 갖는다.
일부 실시예에서 배경 다운로드(312) 특징은 보안 배경 전달 서비스에 내장 대역폭 드로틀링을 제공하여, 네트워크 관리자가 큰 배치 동안에 대역폭이 어떻게 활용되어야 하는지를 결정할 수 있다. 일부 실시예는 관리자에게 에이전트의 통신 간격 및 동작 시간을 정의하도록 하는 구성가능한 에이전트(508)를 제공한다. 예를들어, 관리자는 자정과 오전 2시 사이에만 프로덕션 서버에 패치를 롤아웃하기 위한 정책을 설정할 수 있다. 일부 경우에, 에이전트는 주어진 시간에 동작하는 하나 이상의 정책을 갖을 수 있다.
연계된 설치 특징은 Microsoft Qchain.exe tool을 이용하여 관리자가 반복적인 리부팅을 감소시키거나 최소화시키도록 한다. 다중 리부트를 요구하는 다중 업데이트가 설치되려면(510), 관리자는 더 적은 리부트로 업데이트를 배치하기 위해서 Qchain 과 관련하여 본 발명의 기능을 사용할 수 있다. 이 경우에는 단지 단일 리부트가 필요하게 된다. 이러한 리부트의 감소는 업데이트되는 미션 임계 컴퓨터(500)의 업타임을 증가시킨다.
Qchain은 최신 업데이트를 유효하게 하는 순서로 DLLs를 재배열한다. 관리자는 배치하는 동안에 이러한 옵션을 선택할 수 있다.
다운로드 속행 특징을 이용하여, 실시예는 예를들어, 서비스 침해에 의해서 다운로드의 차단(316)을 검출한다. 타겟(500)이 이동 워크스테이션이면, 사용자는 서비스되지 않는 상이한 장소에서 단순히 단속하고 재접속할 수 있다. 업데이트 서버가 억세스될 수 있으려면(예를들어, TCP/IP를 통해서), 실시예는, 전체 패키지를 재전송하기 위해 처음부터 다시 시작하는 대신에, 차단된 다운로드 시점에서 또는 그 근방에서 부터 그 다운로드(312)를 재개할 수 있다.
이동 사용자 지원 특징은, 사용자가 배치가 시작될 때 네트워크에 접속되지 않은 타겟 컴퓨터(500)에 패치 및 소프트웨어 업데이트를 배치하도록 한다. 이동 타겟이 이어서 네트워크에 접속되면, 실시예는 자동으로 그것을 스캔하며 그 타겟을 업데이트하기 위해서 필요한 동작을 수행한다.
실시예는 보안 다운로드(312)를 위해서 업데이트 서버(528)와 통신하는 클라이언트 에이전트(508)를 특징으로 한다. 에이전트를 이용하는 것은 넓은 실시예에서 성능 및 규모를 증가시키고, 따라서 단일 업데이트 서버가 수천개의 클라이언트에 서비스하도록 한다. 에이전트는 방화벽(116, 214)에서 동작할 수 있으며, 기업 네트워크에 TCP/IP (또는 다른) 접속으로 임의의 컴퓨터(500)에서 동작한다.
일부 실시예의 특징은 다중-벤더 패치(554)를 지원하는 것으로서, "광범위한 패치 스캐닝"라고도 한다. 업데이트 서버(528)는 단일 벤더로 부터의 패치에 제한되지 않고, 대신에 다중 벤더로 부터 본 발명의 패치 관리를 지원한다. 예를들어, 업데이트 서버는, Microsoft, IBM, Adove, Coral, Symantic, McAfee, Compaq, WinZip, Citrix, Novell, 및 많은 다른 회사(각 회사의 마크)로부터의 소프트웨어의 패치-관련 보안 취약에 대해 타겟(500)을 스캔하기 위해 타겟을 조정할 수 있다. 이는 더 안전한 네트워크를 제공한다.
일부 실시예의 그룹핑 특징은 관리자로 하여금 선택된 타겟 컴퓨터(500)를 예를들어 "콘테이너" 또는 "그룹"으로 불리는 셋트로 그룹화하도록 한다. 개별 타겟 컴퓨터에 적용되는 동작은 가능한 타겟 컴퓨터의 적당한 서브세트를 유지하는 컨테이너/그룹에 적용될 수 있는데, 즉, 특정 콘테이너에 속하는 모든 타겟 컴퓨터(500)(또는 패치 서명 및 지문의 관점에서 모든 적합한 타겟 컴퓨터)에 적용될 수 있다. 이러한 특징은, 실시예에 따라서, 배치, 지문 보고, 목록 보고, 위임 패치 베이스라인 정책, 및/또는 클라이언트 에이전트 정책의 관리자 관리를 용이하게 한다. 예를들어, 각 콘테이너는 그 멤버, 그 클라이언트 에이전트(508) 정책, 및 위임 패치 베이스라인 정책을 규정하는 특징을 갖을 수 있다. 관리자는 개별 클라이언트(500), 이전에 정의된 클라이언트 그룹, 및/또는 사용자 정의된 배치 그룹을 선택할 수 있다. 일부 실시예에서, 컴퓨터는 요구되는 패치에 따라서 자동으로 그룹화될 수 있다.
일부 실시예에서, 관리자는 Group Manager를 규정하여 그들에게 제한된 관리 제어를 위임할 수 있다. Group Manager 관점에서, 본 발명의 실시예의 고찰 및 제어는, 관리자에 의해서 관리된 그룹에 지정된 컴퓨터(500)만을 망라하도록 좁아지는데, 이들 모두는 바람직하게는 동일 업데이트 서버(528)를 이용한다. 관리자는 여전히 고찰할 수 있으며 그렇지 않으면 특별한 그룹내의 것만이 아니라, 네트워크내의 모든 컴퓨터를 관리한다.
동일 실시예에서 위임 패치 베이스라인 정책 특징은 관리자로 하여금 하나 이상의 네트워크의 컴퓨터에 대해서 최소(베이스라인) 구성을 규정하도록 하는 것이다. 실시예는 베이스라인 정책에 의해서 규정된 조직적인 표준에 운영체제 및/또는 어플리케이션을 순향적으로 패치한다. 기업의 패치 정책을 지원하는 것은 관리자로 하여금 회사에 대한 패치 정책을 설정하도록 하여, 예를들어 회사의 어떤 장치(500)도 최소 패치 레벨 이하로 떨어지지 않는다. 예를들어, W2K 그룹에 대한 위임 패치 베이스라인 정책이 Microsoft Office 2000, Adobe Acrobat Reader 5.0 및 Service Pack 2를 포함하면, 이 그룹에 배치된 모든 컴퓨터(그룹 정의에 초기에 배치되었든, 후에 배치되었든)는 설치된 소프트웨어의 적어도 이 피스를 갖는다.
패치의 베이스라인은 그룹(예를들면, 사용자 정의된 그룹 또는 관리자 정의된 그룹)에 의해서 규정되는 일련의 컴퓨터(500), 또는 특별한 운영체제를 사용하는 일련의 컴퓨터(예를들면, 사용자 또는 관리자 정의된 그룹에 관계없이 모든 W2K 컴퓨터), 또는 특별한 어플리케이션을 이용하는 일련의 컴퓨터(예를들면, Microsoft Office XP를 사용하는 모든 컴퓨터), 또는 그들의 조합과 연관될 수 있다. 예를들면, 일부 실시예에서, 관리자는 Microsoft Office XP가 설치되면 시스템이 Office XP Service Release 1에서 자동으로 패치됨을 언급하는 베이스라인 정책 룰을 설정할 수 있다.
위임 패치 베이스라인 정책이 사용될 때, 테이프 백업, 미러된 영상 또는 그와 같은 것으로 부터 소프트웨어를 회복시킴으로서 타겟(500)으로 부터 드롭되는(제거되는) 패치(554)는, 에이전트(508)가 새로운 구성을 판단한 후에 자동으로 설치되며 그 구성은 정책에 의해서 요구되는 베이스라인과 (클라이언트 및/또는 업데이트 서버에 의해서) 비교된다(822).
위임 패치 베이스라인 정책은 본 발명에 따라서 원하지 않는 소프트웨어의 자동화된 검출 및 내트웨크내의 타겟 컴퓨터로 부터 그 원치않는 소프트웨어의 제거를 수행하기 위해서 사용될 수 있다. 원치않는 소프트웨어가 검출될 때 적용되어야 하는 위임 배치 패치는 원치않는 아이템 UNINSTALL가 될 수 있다. 예를들어, 그러한 하나의 패치는 "Uninstall KaZaA"로서 회사 네트워크로부터의 KaZaA 파일 공유 어플리케이션을 검출 및 제거할 수 있는 것으로서, 비지니스 날 동안에 회사 고용인이 저작권법을 위반할 위험 또는 그들이 사용가능한 모든 네트워크 대그폭을 오락에 소모할 위험을 감소시킨다. 정부 기관 및 다른 대기업에서, 그 사용자를 할당된 직무로 부터 주의를 돌리는 팝업 소프트웨어 및 다른 것들을 제거하는 것은 우선순위가 높은 것이다.
본 발명은 또한 네트워크에서 취약점을 해소하기 위한 위임 패칭의 논리적으로 반대로 생각되는 특징을 제공한다. "금지된 패치"라고 부를 만한 이러한 논리적인 반대는 서비스 팩, 핫픽스 또는 결코 설치되어서는 않되는 다른 소프트웨어를 지칭하는데 사용된다. 위임 패치 특징이 취약점을 자동으로 고치는데 사용되드시, 금지된 패치 특징은 네트워크 관리자가 동작 구성을 망칠 수 있는 소프트웨어를 설치하지 못하게 하는데 사용된다. 일 예로써, Windows2000에서 최신 Microsoft Service Pack과 동작하지 않는 페이롤 시스템을 갖는다고 가정한다. 그 Service Pack 패치가 페이롤 서버(들)에 수동으로 또는 자동으로 배치되면, 관리자는 즉시 알 필요가 있으며, 그렇지 않으면 아무도 주말에 지불하지 않는다. 일부 실시예는 "금지된 패치"의 존재를 스캔 및 검출하여 관리자에 경고할 수 있다. 이들은 또한 룰을 제공할 수 있으며 따라서 관리자가, 적용가능한 그룹 패칭 정책이 어떻게 말하든 관계없이, 그 설치된 패치를 갖어서는 않되는 장치에 금지된 패치를 무심코 배치하지 않게 된다.
일부 실시예에서 패치 순응 보장 특징은 관리자에게 특정 컴퓨터 또는 일 그룹의 컴퓨터(500)에 대해서 일련의 패치(554)를 록킹하는 옵션을 제공한다. 즉, 어떤 패치가 요구되지만, 위임 베이스라인 특징에서 보다 더 약한 방식으로 요구된다. 패치 요구를 위반하는 방식으로 타겟(500) 구성을 변경시키고자하는 시도가 있으면, 이메일 경고 메시지(824)가 관리자에게 전달된다. 예를들어, 여러 W2K 컴퓨터가 패치 순응되는 "IIS 서비스"의 관리자 규정된 그룹에 속할 수 있다. 보안을 위해서, 실시예는 그와같이 모든 운영체제 패치 및 모든 인터넷 정보를 록다운한다. 약간 나중 시점에서 그러한 패치(제한없이 DLLs를 포함)가 변경되면, 실시예는 관리자에게 이메일 경고를 보내서 컴퓨터(500) 이름 및/또는 그에 행해진 수정을 식별한다. 새롭게 비-순응되는 컴퓨터(들) 및 비-순응에 대한 이유(들)- 그들의 구성 및 록크된 구성 사이의 불일치의 개요-이 식별될 수 있다. 일부 경우에, 이러한 순응 특징은 새로운 소프트웨어를 설치하거나 기존의 소프트웨어를 그 장치로 부터 제거하는 사용자를 식별하기 위한 관리자에 의해서 사용될 수 있다. 이러한 순응 록킹 특징은, 비-순응인 타겟(500)을 자동으로 패치하기 위해서 위임 패치 베이스라인 특징과 관련하여 일부 실시예에 의해서 사용될 수 있다. 록크된 패치 또는 다른 소프트웨어 구성요소가 제거되면, 그것은 자동으로 재설치되며, 관리자는 이메일로 통보된다(824).
일부 실시예에서 서비스 변경 특징은 관리자가 클라이언트 워크스테이션(그룹 또는 개별적으로 상주하는)에 제공되는 서비스를 록크하도록 하며, 사용자가 관리자에 직접 접촉하지 않고도 서비스 아이템을 시작 또는 정지하는지가 통보되도록 한다. 사용자가 록크된 클라이언트(500)에서 서비스 상태를 변경 및/또는 변경 시도를 함에 따라서, 이메일 경고(824)가 관리자에게 전달되어 컴퓨터 및 (시도된) 서비스 변경을 식별한다.
어떤 실시예에서의 하드웨어 변경은 관리자가 클라이언트 워크스테이션(500)(예를들면, 그룹으로)에 제공된 하드웨어 구성을 로크 다운하게 하며, 관리자에 직접 접촉하지 않고도 사용자가 워크스테이션과 같은 것으로 부터 하드웨어 아이템을 설치 또는 제거하는지를 통보받도록 한다. 사용자가 록크된 클라이언트에서 하드웨어 구성을 변경(또는 변경을 시도)함에 따라서, 이메일 경고가 관리자에게 전달되어(824) 컴퓨터 및 (시도된) 하드웨어 변경을 식별한다.
임포트/엑스포트 특성은 높게 보안이 유지되는 군사 또는 정부 기관 컴퓨터와 같이, 인터넷에 접속되지 않은 네트워크상의 컴퓨터를 업데이트하는 것을 용이하게 한다. 컨텐트는, 운송중에 취해진 적당한 물리적인 보안 장치로, 물리적으로 운송되는 테이프, 디스크, 또는 마스터 아카이브에서 콘텐트(554)가 로드되는 다른 저장 매체와 같은, 인터넷 이외의 수단을 이용하여 마스터 아카이브로 부터 타겟 네트워크의 업데이트 서버(528)에 운송된다. 매체가 보안 타겟 네트워크의 업데이트 서버(528)에 억세스되면, 전술된 내장형 보안 장치(암호화, CRC 등)가 채용될 수 있으며 운송된 매체로 부터 그 업데이트 서버의 로컬 저장장치로 콘텐트를 운송한다. 이어서 그 업데이트 서버는 전술된 보안 네트워크 타겟 컴퓨터를 업데이트하는 것을(304) 종료할 수 있다.
일부 실시예에서 분산 특징을 순환시키는 것은 기업 고용인 목록 또는 항-바이러스 정의/데이터 파일과 같이, 반복해서 업데이트되는 데이터 또는 문서(554)의 분산을 용이하게 한다. 하나 이상의 그러한 데이터 또는 문서 파일은 관리자에 의해서 규정된 순환 스케쥴에 따라서 모든 타겟(500)에, 예를들면, 관리자 규정된 그룹 또는 단일 타겟에 배치될 수 있다. 다른 단계, 이를테면, 서버 리부트를 순환시키는 것이 일부 경우에 규정될 수 있다.
일부 실시예의 재난 복구 특징은 관리자가 하드 디스크 크래시 또는 서버 하드웨어 실패와 같은 시스템 실패로부터 복구하도록 한다. 업데이트 서버(528)가 실패하면, 관리자는 실패한 서버와 같은 DNS 이름을 갖는 또다른 서버를 생성하여, 새로운 서버에 (요구되면 동일 일련 번호를 갖는) 동일 업데이트 서버 소프트웨어를 재설치한다. 아카이브된, 미러된, 또는 그와는 달리 본 실시예에 의해서 사용된 저장된 데이터 파일(600)이 필요할 때 새로운 업데이트 서버에 복구된다. 그러면 타겟 에이전트(508)는 업데이트 서버의 새로운 경우와 자동으로 접속되며, 타겟 에이전트가 서버 실패에 의해서 손실된 정보(만약 있다면)를 제공한 후에 정상 동작이 재개된다.
일부 실시예에서 자동 캐싱 특징은 업데이트 서버(528)가, 임계, 높은 순위 및/또는 보안 관련된 것으로 마크되는 로컬 업데이트 서버 저장 패치에 자동으로 다운로드 및 캐시하도록 한다. 업데이트 서버는 관리자에게 어떤 패치가 임계이며 어떤 것이 캐시되는지를 통보하며, 패치를 요구하는 타겟 컴퓨터(500)를 스캔한다. 대조적으로, 비-임계 패치는 먼저 배치된 후에 업데이트 서버에서 캐시될 수 있다. 임계 및 보안 패치를 초기 배치전에 캐시하는 것은, 소프트웨어가 취약한 벤더가 패치 요청에 의해서 압도당할 때 패치에 대해서 쉽게 사용가능한 소스를 타겟에 제공한다. 코드 레드 및 님다 바이러스가 공격하는 동안에, 예를들어, 일부 사용자는 패치를 얻기 위해서 마이크로 웹 사이트에 접속하도록 수시간을 대기해야 하는데, 이는 그에 대해서 매우 강한 요청이 있기 때문이다. 본 발명의 업데이트 서버(528)에서 임계 및 보안 패치를 순향적으로 캐싱하는 것은 타겟 컴퓨터(500)의 동작이 그러한 패치의 부족으로 인해서 차단 또는 압축될 위험을 줄인다.
일부 실시예는, 운영체제에 패치를 맞추는(554), 지능형 다중 패치 배치 특징을 갖는데, 이는 운영자가 각각의 타겟 컴퓨터에서 사용되는 운영체제를 고속으로 그리고 완전히 식별할 필요성을 줄여주게 된다. 예를들면, 마이크로소프트가 여러 상이한 운영체제 플랫폼에 대해서 상이한 패치(554)를 규정하는 그 운영체제에 대한 회보를 발행했다고 가정한다. 본 발명의 실시예를 이용하는 관리자는 배치를 위해서 "Microsoft 운영체제"만을 선택할 필요가 있다. 즉, 그들은 여러 규정된 타겟의 운영체제 세부점의 차이에 상관없이 타겟 컴퓨터(500)를 규정할 수 있다. 실시예는 패치와, 호환성 및 패치에 대한 요구에 대한 운영체제 요구조건을 비교하여, 적당한 ㅍ치가 주어진 타겟에 설치되도록 보장한다. 따라서, Microsoft Windows 98 플랫폼에 대한 패치는 Windows 98 운영체제를 실행하는 타겟 컴퓨터에 설치되며, Microsoft NT 플렛폼에 대한 패치는 NT 운영체제를 실행하는 타겟 컴퓨터에 설치되게 되는 식이다. 이러한 특징은 관련되는 운영체제(또는 종래의 패치를 포함하는 운영체제 버전)에 따라서 패치를 타겟에 수동으로 정합시킬 필요로 부터 운영자를 면제시키므로 패치 배치를 가속시킨다.
또 다른 특징은 응용가능한 패치(554)를 검출하여 패치 상호의존성을 관리하여, 관리자가 일반적으로 관련없는 수 다스(혹은 심지어는 수백개)의 패치를 수동으로 분류할 필요가 없게 된다. 그 대신에, 실시예는, 관련된 운영체제, 다른 패치의 존재(또는 부재), 상이한 패치의 상호의존성(어떤 패치가 어떤 다른 패치에 의존하여 적당히 동작하는지를 식별), 및 위임 패치 베이스라인 정책(있다면)과 같은 요인들에 기초한, 그들의 메타데이터, 지문, 및/또는 서명 데이터를 이용하여 적용가능한 패치를 식별한다. 그후, 관리자에게는 어떤 패치가 의문인 타겟(들)(500)에 적용 가능한지가 보여진다. 예를들어, 일 실시예는 IIS가 타겟 컴퓨터에 설치될 때에만 관리자로 향하는 IIS 패치를 도시한다. 일관적으로 사용되면, 이 특징은 패치가 타겟을 향해서 배치될 때, 그 타겟이 의문인 어플리케이션을 갖으며 패치가 그 타겟에 설치된다.
패치 상호의존성의 예로서, Microsoft W2K 플랫폼에는 일 실시예가 관리자에게 Service Pack2을 추천하며, Service Pack2가 설치되면 Security Rollup 패치를 추천하는데, 이는 Service Pack2에 의존한다. 실시예는, 패치(554) 식별을 유효화하기 위한 지문을 정확히 수행하도록 등록 및 파일 정보를 읽는다.
일부 실시예는 관리자가 최근 동작의 히스토리 또는 로그를 재고해 보고, 패치(554) 또는 그 부분과, 패치를 네트워크에 배치하는 롤백 효과를 설치 해제하도록 한다. 이것은 문제를 야기한 패치 설치를 취소하도록 한다. 손실된 사용자 데이터는 반드시 복구되지 않고, 종래의 언인트롤러에 의해서 취해진 보통 단계가, DLL을 삭제하며, 등록 엔트리를 제거하며, 경로 또는 다른 시스템 변수 값을 복구하는 등과 같이, 복구기(514)를 이용하여 취해질 수 있다. 이에 더해서, 서명, 지문, 경고, 및 보고와 같은, 실시예에 특별한 구성 상태가 업데이트되어 직면하는 문제 및/또는 패치의 제거를 반영한다. 관리자에게는 또한 제거된 패치가 패치 의존성 및/또는 위임 패치 베이스라인에서 나타나는지 여부가 통보될 수 있다.
일부 실시예는 "목록-중립(directory-neutral)" 특징을 갖는데, 이는 그들이 플랫폼 중립이며 동작하기 위해서 Novell's NDS 목록 또는 Microsoft's Active Directory 제품과 같은 목록을 요구하지 않음을 의미한다. 그러나, 일부 실시예는 특별한 조직내의 그러한 목록과 통합 및 협동할 수 있다.
일부 실시예는 선택적인 패치 특징에 따라서 동작하는데, 그 때 패치(554)는 그것들이 위임 패치 베이스라인 정책을 만족시키도록 요구되지 않으면 자동으로 설치되지 않는다. 일부에서는, 임계 및/또는 보안 패치로서 마크되는 패치가 자동으로 설치된다. 그러한 실시예에서, 다른 패치는 그들 관리자가 그것들을 선택하고 고속으로 그들의 설치를 승인하지 않으면 설치되지 않는다. 즉, 이것은 조직의 커스토머에게 그것들을 설치하기 전에 그 조직내에 내부적으로 패치를 검사하도록 한다. 패치가 적당힌 검사되면, 그것은 의문인 타겟(500)의 그룹에 대해서 위임 패치 베이스라인으로 첨가될 수 있어서, 필요할 때 자동으로 설치된다.
일부 실시예는 어플리케이션이 타겟 장치(500)에서 동작하지 않도록 하는 보안 정책 패치(554)를 지원한다. 이것은 정책-구동 방법을 제공하여 타겟 컴퓨터의 파일 시스템으로 걸리게 하며 특정 파일(또는 다중 파일)이 실행되지 않게 한다. 이것은, 의문인 실행가능한/DLL 파일(들)을 리네임하며 아무것도 하지 않는 코드, 또는 사용자에게 에러 메시지를 표시하는 코드, 및/또는 관리자에게 이메일로 통보하는 코드를 그 자리에 대치하는 패치에 의해서 실행될 수 있다.
본 발명의 동작은 다음 예의 시나리오를 고려함으로서 더 잘 이해할 수 있다. 하나의 시나리오에서, 새로운 패치(554)가 그 각각의 벤더에 의해서 해제됨에 따라서, 업데이트 서버(528)는 대응하는 지문을 마스터 아카이브(567)로 부터 다운로드한다. 실시예는 타겟 컴퓨터(500)가 패치의 지문을 에이전트(508)에 의해서 스캐닝하기 위해 타겟으로 보냄으로서 파일을 만족시키는지(의문인 패치를 필요로하는지)를 보기위해 점검한다. 관리자는 네트워크상의 새로운 패치 및 그 잠재적인 충격을 통보받고, 보고 매트릭스는 관리자에게 어떤 타겟이 패치를 요구하며 어떤 타겟이 패치를 요구하지 않는지를 알려준다. 관리자는 하나 이상의 개별적인 타겟 컴퓨터 및/또는 그룹을 선택하며, 배치를 승인한다. 배치는 여기서 논의된 바와같이 진행된다. 관리자는 배치 시간을 설정할 수 있으며, 설치후에 리부트하는지 여부를 결정한다.
관리된 데이터 센터 시나리오에서, 센터의 관리자는 데이터 서버의 각 클러스터로부터 패치 그룹을 생성한다. 관리자는 마스터 아카이브(567)로 부터 수신된 임계 업데이트를 검사할 수 있으며, 이어서 한번에 모두 또는 스테이지에서 그룹으로 네트워크 타겟상에 검사된 패치(554)를 배치한다. 에이전트 정책은 관리자가 각 그룹에 대한 동작 시간을 규정하게 할 수 있다.
일 실시예의 업데이트 시나리오에서, 실시예에서 사용되는 소프트웨어는 실시에를 사용함으로서 업데이트된다. 즉, (PatchLink.com과 같은) 벤더가 타겟 에이전트(508), 업데이트 서버(528), 및/또는 다른 실시예 소프트웨어에 대한 소프트웨어에 패치(554)를 제공할 때, 이들 패치는, 운영체제 또는 사용자 어플리케이션에 패치를 배치하는데 더 자주 사용되는 본 발명의 툴 및 기술을 이용하여, 전술된 바와같이 배치될 수 있다. 예를들어, 관리자는 PatchLink HotFix 클라이언트 패치를 선택할 수 있으며 그것을 업데이트 클라이언트 에이전트 소프트웨어로 배치한다. 클라이언트 에이전트는 그것들을 모든 타겟 컴퓨터로 푸시하므로서 초기에 배치될 수 있다.
실행예
노트
특정 실시예에 대한 부가적인 세부점은 아래 제공된다. 이러한 실행예 세부점은, 너무 적은 정보를 포함하는 것이 아니고 너무 많은 정보를 포함함으로서-에러가 일어나면- 오류를 범하기 위해서 제공된다. 신청자는 그처럼 다가오는데 불리하게 되어서는 않된다. 특히, 세부점을 포함하는 것은, 그러한 세부점, 또는 유사한 세부점 또는 유사 레벨의 세부점이 궁국적으로 허용되는 청구범위를 지원하는데 실제로 요구되는 가정 또는 허용으로서 보여져서는 않된다. 특정 실행예 세부점을 포함하는 것은, 다른 것들에 의해서 추론되는 본 발명의 아이디어를 단순히 실행한 발명자로서 취급함으로서 오해되어서는 않된다.
에이전트
ㆍMicrosoft Windows Agents
ㆍNetWare Agent
ㆍLinux Agent
ㆍJava Agent
패키지 구성/패키지 유지
관리자는 이러한 모듈을 이용하여 지정된 Update 에이전트를 통해서 분산을 위한 패키지를 생성하게 된다. 이 패키지는 파일 분산 또는 소프트웨어 패키지가 될 수 있어서, 기존에 설치된 소프트웨어를 업데이트할 때 더 많은 융통성을 허용하며, 지정된 관리 장치를 통해서 새로운 소프트웨어, 파일-복제 등을 설치한다.
이하는 적합한 패키지 생성을 위한 단계이다.
1. 패키지 명세를 입력
ㆍ패키지 이름 - 업데이팅 프로세스를 통해서 패키지를 레이블
ㆍ패키지 유형 - 소프트웨어 패키지가 소프트웨어 패키지 루틴에서 선택될 때, 패키지에 대한 소스 파일이 그 적당한 목적지 순서에 배치된 후에, 관리자는 (나머지 옵션에 대해서 미리 지정된 디폴트 값을 이용하여) 패키지 기준을 즉시 종료할 수 있다. 파일 분산은 관리자가 패키지 기준 루틴에서 모든 단게를 완성하도록 요구한다.
ㆍ운영체제 - 패키지가 롤아웃될 수 있는 운영체제를 선택. 현재, 패키지당 하나의 운영체제를 선택할 수 있다. 이들은, Linux, NetWare, Windows 2000/NT, Windows NT, Windows 95/98/ME를 포함한다.
ㆍ(선택적인) 임포트 - 이전에 엑스포트된 패키지를 임포트. 이 옵션은 다중 운영체제를 위한 동일 패키지르 생성하는데 유용하다.
2. 소스 추가
ㆍ추가 파일 - 로컬 워크스테이션 또는 도달가능한 네트워크 장소로 부터의 목록을 추가
ㆍ Dir 추가- 로컬 워크스테이션 또는 도달가능한 네트워크 장소로 부터의 목록을 추가
ㆍURL 추가 - 원격 파일을 공지된 프로토콜을 통해서 패키지로 추가. 추가할 수 있는 여러 유형의 URL은: Local File-File://, FTP-ftp://, HTT-http://, Secure HTTP-http://, 에이전트가 프로토콜(이 필드는 을 인식하는한 다른 것을 선택함(이 필드가 편집가능).
ㆍ제거 - 패키지로 부터 파일을 제거
ㆍ특성 - 업데이트 서버내에 각 파일이 저장되는 방법에 대한 세부점을 도시. 또한 하나의 소스가 비지 또는 슬로우(예를들어 네트 래그로 인해)인 경우 다중 소스에 대해서 허용한다. 에이전트는 자동으로 다른 소스를 시도한다.
ㆍ임포트 파일 - 이전에 엑스포트된 패키지로 부터 특정 파일 리스트를 임포트.
3. 목적지 추가
ㆍ타겟 컴퓨터 - 패키지 파일 목적지의 계층적 트리 도면. 도시된 여러 디폴트 목록이이 패키지가 타겟되는 운영체제에 의존한다. 패키지는 항상 소스 파일이 원래 임포트되었던 동일 목록 경로에서 표시한다(단계 2 참조). 파일을 주변으로 이동시키기 위해서 목록 또는 파일을 단순히 하이라이트하고 그 새로운 장소로 드레그한다.
ㆍ특성 - 파일이 설치해야 할 목록이 표시되지 않으면, 파일을 하이라이트하고 특성 버튼을 클릭한다. 이것은 소스 파일이 나오는 중인 베이스 정보 및 목적지에 대한 엔트리 필드를 표시한다. 새로운 장소를 타이프하고 OK 및 당신의 변경을 클릭하는 것이 도시된다(이는 어느정도 걸리는데 경로가 큰 패키지 파일 번홍 재접속되기 때문이다).
ㆍ엑스포트 파일 -베이스 패키지를 임포트 기능에서 나중에 사용하기 위한 파일(소스 및 목적지 정보)로 엑스포트한다.
4. 의존성
ㆍ좌측 컬럼 - 롤아웃에 준비되는 기존의 패키지의 리스트(운영체제 의존). 예를들어, 당신이 수많은 컴퓨터로 롤아웃되어야 하는 Java 기반 패키지를 가지고 있다면, 당신은 당신의 의존성으로서 특정 JDK 패키지를 선택하여 JDK가 현재 패키지에 앞서서 설치된다.
ㆍ우측 컬럼 - (화살표 버튼을 사용하므로) 여기에 배치된 패키지는 당신의 패키지에 대한 의존성이다. + 및 - 버튼을 이용하여 중요성의 순서로 의존성을 배치한다 (가장 중요한 것은 제 1 의존성이다). 의존성은 당신의 패키지 전에 처리된다.
ㆍ어셋 - 의존성이 발견되지 않으면 패키지는 설치되지 않는다. 예를들어, Microsoft Office 2000 SRI 패키지가 생성되면, 그 어셋 의존성은 이미 설치되었어야 할 Microsoft Office 2000 이다.
ㆍ설치 - 의존성이 발견되지 않으면, 현재 패키지를 설치하기 전에 그것들을 설치한다. 전의 예를 사용하여, MS Office 2000이 발견되지 않으면, 그것은 SRI 패키지를 설치하기 전에 설치된다.
5. 패키지 설정
ㆍ백업 - 목적지 장치에서 발견되는 임의의 기존의 패키지 파일을 백업한다. 편집가능한 풀-다운 리스트는 의문인 운영체제를 위한 가장 일반적인 목록을 포함한다. 당신의 목록이 발견되지 않으면 리스트에 타이프하기만 하면 된다.
ㆍ확신 레벨 - 모든 새로운 패키지에 대한 디폴트는 New 이다. 확신 레벨은 이러한 패키지가 검사되었으며 그 성능이 그 확신 레벨을 판단하였음을 나타낸다.
ㆍ이용도 - 디폴트는 패키지가 롤아웃을 위해서 이용가능함을 나타내는 Available 이다. Not Available 은 이렇게 생성된 패키지가 롤아웃을 위해서 이용가능하지 않음을 나타낸다.
6. 스크립트
ㆍ당신이 사용할 수 있는 세가지 유형의 패키기 스크립트가 있다: 즉, 명령 라인 - 이 스크립트의 내용은 표준 명령 라인으로서 실행된다. 이 스크립트는 파일이 그 목적지로 복사되고 난 후에 전달된다. 프리-스크립트- 이 스크립트의 내용은 파일이 장치로 복사되기 전에 실행된다. 포스트-스크립트 - 이 스크립트의 내용은 파일이 장치로 복사되기 전에 실행된다.
7. 시스템 설정
ㆍ언어 - 패키지가 사용가능한 언어를 선택한다. 에이전트는 언어가 장치에 놓이며 패키지는 패키지가 설치되기 전에 매치됨을 점검한다.
ㆍ프로세서 유형 - 패키지가 사용가능한 프로세서를 선택한다. 에이전트는 프로세서가 장치에 놓이며 패키기가 설치되기 전에 매치됨을 점검한다.
8. 종료 - 파일을 업로드하고 패키지를 모으기 위해서 Finish를 클릭한다. 모으기 프로세스가 종료되면 버튼은 Finish에서 Done로 변경된다. 패키지 생성 기능을 완수하기 위해서 Done 을 클릭한다.
그룹 증의/그룹 수정
본 모듈은 관리자가 그룹 장치를 함께 만들게 하여, 롤아웃 과정을 더 용이하게 하므로 롤아웃이 500개의 장치에서와 같이 하나의 장치에 대해서 용이하게 된다. 이에 더해서, 관리자는 대역폭 활용을 그 네트워크에 대해서 더 효율적이도록 그 기능 또는 장소에 따라서 장치를 그룹화할 수 있다.
1. 그룹 이름 - 그룹에 대한 라벨 지정
2. 장치 리스트 - 이 그룹이 포함하는 모든 장치를 선택한다. 하나의 장치는 업데이트 에이전트가 설치되고 등록된 후에만 나타난다.
3. 종료 - 장치가 그룹에 배치된 후에, Finish 버튼이 Done으로 변경된다. 그룹 기능을 완수하기 위해서 Done을 클릭한다.
롤아웃 스케쥴/기존 롤아웃 보기
롤아웃 스케쥴은 패키지가 지정된 장치에 사용가능한 날짜 및 시간을 정의한다.
1. 패키지 선택
ㆍ패키지 선택 리스트- 설치할 패키지(이 시간에는 단지 하나) 선택.
2. 장치 선택
ㆍ그룹 추가 - 이 버튼은 사용가능한 그룹의 리스트를 나타내는 대화 박스를 표시한다. 당신이 배치하고자 하는 그룹을 하이라이트하고 OK 버튼을 클릭한다.
ㆍ그룹 제거- 패키지가 롤아웃되는 것을 원하지 않은 그룹을 하이라이트하고, 그룹 제거 버튼을 클릭한다.
ㆍ장치 추가- 이 버튼은 사용가능한 장치(그들에 등록된 업데이트 이에전트를 갖음)의 리스트를 나타내는 대화 박스를 표시한다. 추가를 위해 장치를 하이라이트하고 이어서 OK 버튼을 클릭한다.
ㆍ장치 제거 - 패키지가 롤아웃되는 것을 원하지 않는 장치를 하이라이트하고, 장치 제거 버튼을 클릭한다.
ㆍ롤백 -막 설치된 패키지를 제거하고 (하나가 지정되었으면) 백업을 리턴한다. 이 옵션은 기존 롤아웃 보기를 통해서만 사용가능하다.
ㆍ재적용-패키지를 재 설치
3. 롤아웃 날짜 및 시간 선택
ㆍ달력 - 발생되는 룰아웃 설치를 위한 날짜를 선택
ㆍ시간 - 패키지가 룰아웃 될때 서버상의 시간.
4. 대역폭 및 순서 선택
ㆍ대역폭 - 이 레벨은 패키지를 다운로드하는 서버상의 대역폭이 얼마나 활용되는지를 결정한다. 최소값은 30%이고 최대값은 100%이다.
ㆍ순서 - YES(디폴트 값)을 선택하는 것은 롤아웃이 전체 롤아웃 프로세스를 통해서 장치간에 이동하게 하며 마지막 장치가 수행된 후에 종료되게 한다. 룰아웃 프로세서에서 어딘가에서 에러가 발생되면 룰아웃은 정지된다. NO를 선택하는 것은 룰아웃이 모든 장치에서 패키지를 설치하도록 한다. 에러가 하나의 장치에서 발생되면, 그것은 또 다른 장치의 패키지 롤아웃에 영향을 주지 않는다.
5. 종료 - 롤아웃이 생성되거나 업데이트되며 Done 버튼을 클릭한 후에 저장된다.
이에전트 요청은 POST 방법을 이용하여 HTML Forms의 형태가 될 수 있다. Host 응답은 잘 형성된 XML 1.0 문서가 된다. 리턴된 문서의 대부분은 간단한 구조로 되어 있으며, DTD, NameSpace, 또는 Schema가 포함되지 않지만, 이들은 문법적으로 그리고 구조적으로 XML 명세에 따른 것이다. 모든 날짜 및 시간은 Coordinated Universal Time(GMT)에 정규화된다.
이는 에이전트, 리퀘스터, 및 호스트, 업데이트 서비스 사이의 트랜잭션 또는 데이터 흐름을 설명한다. 모든 업데이트 트랜잭션은, 호스트가 오픈되며, 에이전트 ID를 전달하고 이어서 에이전트에게 그 요청 스케쥴에 관계없이 호스트로 부터 작업 리스트를 요청해야 함을 효과적으로 "핑(Ping)" 또는 통보하기 위해서 에이전트의 IP 어드레스의 동의 포트 및 프로토콜을 닫는 경우를 제외하고는, 에이전트에 의해서 초기화된다.
제 1 접촉
업데이트 서버(528) 서비스와 대화할 필요가 있는 임의의 에이전트는, 항상 상기/업데이트 서브디렉토리를 위한 지정된 마스터 사이트에 요청한다. 이 서브디렉토리는 '302 Object Moved' 및 그 '새로운' 장소를 리턴하기 위해서 구성된다.
다음 예에서 예시되듯이, 에이전트는 www.patchlink.com 사이트의 상기/업데이트 서브디렉토리 상의 'HEAD' 요청을 수행한다.
헤드 요청
HEAD/update http/1.1
호스트는 물체가 이동하는 것에 응답하며, 새로운 장소가 Location:header에 의해서 제공되는 어드레스에서 발견될 수 있다.
InstallShield
Agent Registration:
'update agent'의 물리적인 설치 동안에, 관리자는 에이전트가 설치되기 전에 어떤 정보를 입력시키도록 요구된다. Admin은 Host Name 또는 Address, Account Identifier, GUID(Globally Unique Identifier), 및 등록시에 규정된 User Name 및 Password를 입력시키도록 요구된다. 이 데이터는 에이전트 소프트웨어를 설치할 능력을 증명하기 위해서, 그리고 에이전트에 대한 ID를 보장하기 위해서 호스트로 전달된다.
Agent
TaskList
InstallShield가 성공적으로 컴퓨터상에 BootStrap Agent 소프트웨어를 설치했으면, 에이전트가 동작을 시작할 시간이다. 에이전트가 업데이트 서버(528) 호스트 사이트 어드레스를 결정한 후에 'TaskList' 요청을 보낸다. 'TaskList'는 Admin이 수행할 Agent에 대해서 스케쥴한 'Task' 아이템의 간단한 리스트이다.
BootStrap Agent는 다음을 할 수 있어야 한다. 즉,
1. 초기 TaskList를 요청
2. 초기 TaskList를 수신
3. 초기 TaskList를 이해
4. Full Agent의 설치 파일을 다운로드
5. Agent Install을 실행
6. 임의의 설치 문제를 보고하고, 명령대로 계속함
7. Full Agent 시작
8. 새로운 Agent를 시작
9. SoftPkg IDs 및 의존성을 이해하고 다운로드
10. 외부 Scrip Engine을 실행하거나 Agent내에서 부터 Scrip Engine을 실행함으로서 초기 "Action Scripts"
초기 TaskList를 요청하고 리턴된 응답을 처리하는 Agent가 이를 수행한다. 예를들면,
TaskList Request
POST server_object_returned_in_firstcontact http/1.1
Content-Type:text/html
Content-Length:32
Action=TaskList
&AccountID=AF011203-7A09-4b67-A38E-1CB8D8702A50
&AgentID=D7292F2D-CCFE-46dc-B036-3B318C2952E3
&AgentVer=0.0
&LocalTime=20000628010100
&Status=0
이 요청에서, 에이전트의 버전은 0.0 이다. 이것은 호스트에게 이것이 에이전트의 새로운 설치이며 호스트가 적당한 에이전트 소프트웨어의 최신 버전을 다운로드하는 에이전트에 'Task'를 준비해야 한다는 것을 표시한다. 다음 응답에서, 이것은 제 1의 'Task-TaskID="C1D50120-FF13-11d3-95B5-000629526438"으로서 도시된다.
Agent의 정책에 변화가 있었을 때 마다, 호스트는 "TaskList"에 정책 데이터를 포함한다. 왜냐하면 이것은 에이전트로 부터의 초기 요청이며, 정책 데이터는 이 응답에 포함되기 때문이다.
LocalTime은 바로 지방 시간(GMT가 아님)이다. 이것은 서버가 에이전트 장치에서 정확히 몇 시 인지를 알게 한다. 포맷은 YYYYMMDDHHMMSS 이다.
Satus는 수행되어야 할 태스크가 있으면 토크리스트 프로세서에게 간단히 네 또는 아니오 상태로 돌아가도록 말한다.
Status=0 는 정상 태스크 리스트로 리턴하는 것을 의미한다. Status=1은 당신이 수행되어야 할 태스크를 갖는지를 에이전트에게 말하는 것을 의미한다. 이것은 에이전트가 넌-SSL로 가서 빠른 체크를 하도록 한다.
Agent Soft Package Request
제 1 태스크는 설치되어야 할 모듈이 있음을 표시한다. 이하 설명되드시, 에이전트는 호스트로 부터 상세한 설치 정보를 요청한다.
Soft Package Request
POST server_object_returned_in_firstcontact http/1.1
Content-Type:text/html
Content-Length:nnnn
Action=SOFTPKG
&AccountID=AF011203-7A09-4b67-A38E-1CB8D8702A50
&AgentID=D7292F2D-CCFE-46dc-B036-3B318C2952E3
&AgentVer=0.0
&TaskID=C1D50120-FF13-11d3-95B5-000629526438
&PkgID=12340000-1111-0000-0000-000000000000
&LocalTime=20000628010100
이 예에서, 에이전트의 버전은 0.0임을 명심할 수 있다. 이것은 호스트에게 에이전트 소프트웨어를 업데이트하기 위한 패키지가 TaskList 응답에 포함되어야 함을 나타낸다. 이것은 사용가능한 에이전트 소프트웨어의 더 새로운 버전이 있을 때를 동적으로 판단하도록 하며 에이전트가 스스로 업데이트하도록 한다.
호스트는 에이전트가 태스크를 완성시키는데 필요한 정보를 상세히 설명하는 "Open Software Disribution" 문서를 함께 모은다.
LocalTime은 바로 지방 시간(GMT가 아님)이다. 이것은 서버에게 Agent 장치에서 정확히 몇시인지를 알려준다. 포맷은 YYYYMMDDHHMMSS 이다.
Soft Package (모든 요소)
소프트 패키지는 모든 가능한 XML 구성요소이다(백업을 도시한다).
소프트 패키지 상태-성공
리턴 코드 RC 및 SoftPkgRC는 십진수 포맷이다. SoftPkgRC는 패키지의 전체 완성을 나타낸다. 일부 모듈은 성공적이었지만(RC=0), 또 다른 것은 에러를 야기시켰다. 롤아웃이 이미 한번 설치된 패키지로 시도되면, 에이전트는 그것이 설치 및 리턴된(SoftPkgRC=725003) 모든 모듈에 대해서 리턴되거나(RC=0) 또는 0x000b100b Soft Package가 이미 설치되었다.
태스크가 완성될 때, 에이전트는 호스트를 다음 결과로 업데이트한다.
요청
파일 속성 및
ACL's
이 부분은 GX:Destination (GX:URI) 요소에서 발견되는 GX:AGL 요소를 기술한다. Update의 속성은 후술되는 Super set 형태로 에이전트에 공급된다.
기본 파일 속성을 수행하는데 따른 문제는 일부 파일 시스템이 속성과 ACL's 사이의 경계에 결점을 남긴다는 것이다. 하나의 속성은 파일의 기본 ACL이며 여기서 정의되는 것은 작은 크로스 플랫폼 수퍼셋이다. 예를들어, Windows NTFS는 읽기 전용 속성 플래그를 갖지만 그것은 또한 읽기 ALC를 갖는다. 그러므로, 우리가 포괄적인 속성 플래그를 만들고자 하면, 우리는 그 의미가 ACL's로서 사용될 때 어느정도 변경될 것을 예상해야 한다. 유닉스 플랫폼 상에서 그것들은, 다른 플랫폼과 같이, 당신이 이해하지 못하는 또는 정의된 동작이 여기서 리스트되지 않은 플래그를 무시하는 것을 제외하고는, 차이가 없다.
세개의 디폴트 ALC's 는 동일 기본 파일 속성으로 정의 및 동작한다. 즉,
$OTHER, $GROUP, $USER 이다.
유닉스에서 파일 시스템은 모두 세게의 이러한 속성 ALC's가 사용된다. 그러나, NT, FAT 및 NetWare 가 기본 파일 속성에 대해서 $OTHER만을 사용한다. ALC's 소자 데이터내의 임의의 다른 이름이 하나의 이름으로서 해석된다.
ALC 및 속성 플래그
문자 | 적요 | 정의 |
R | 읽기 | 파일의 데이터, 속성, 소유주, 및 허가를 표시한다 |
W | 쓰기 | 파일에 쓰기, 파일에 덧붙이기 |
X | 실행 | 파일을 실행(그것이 프로그램이거나 당신이 필요한 허가를 받는 것과 연관된 프로그램을 갖으면) |
H | 은폐 | 은폐 파일 |
S | 시스템 | 시스템 파일 |
M | 수정 | 읽기, 쓰기, 수정, 실행, 및 파일의 속성을 변경 |
A | 아카이브 | 파일이 아카이브를 위해 준비됨 |
소프트 패키지 - 롤백
이 예는 전술된 백업으로 간단한 파일 복사를 롤백한다. 에이전트는 SOFTPKG 소자 태그내에 속성 GX:Rollgack="Y"로부터의 롤백을 나타낸다. GX:Source 소자 태그는 공급되지 않는다.
목적지 MUST는 백업을 복구하는 파일 이름을 포함한다.(주: 백업 파일이 롤백 전에 존재하지 않으면 에러가 아니다(목적지는 패키지가 분산되었을 때 존재하지 않을 수 있다). 그러나, 목적지 파일이 존재하고 롤백 전에 삭제될 수 없으면 에러이다).
ProxyGet
때때로 에이전트는 호스트 사이트에 억세스하도록 허용되기만 하는 구성으로 방화벽 뒤에 설치될 수 있다. 에이전트는 벤더의 사이트에 놓인 패키지에 대한 방법을 검색하고자 시도할 때 이 경우를 검출한다. 에이전트가 표준 HTTP과 통신을 설정할 수 없음을 깨달을 때, 후술되듯이 'ProxyGet' 요청을 이용하여 에이전트를 위한 파일을 검색하도록 호스트에 요청한다.
Bandwidth Utilization
Range specified Get Request:
HTTP/1.1은 클라이언트가 응답 엔티티의 일부만(한 범위)이 응답에 포함될 수 있음을 요청하게 한다. HTTP/1.1은 Range 및 ContentRange 헤더 필드내의 범위 유닛을 사용한다. 엔티티는 여러 구조 유닛에 따라서 서브범위로 나누어질 수 있다.
range-unit = bytes-unit | other-range-unit
bytes-unit = "bytes"
other-range-unit = token
HTTP/1.1에 의해서 정의되는 범위 유닛만이 "bytes"이다. HTTP/1.1 실행예는 다른 유닛을 이용하여 규정되는 범위를 무시한다. HTTP/1.1은 범위의 지식에 의존하지 않는 어플리케이션의 실행예를 허용하도록 설계되었다.
모든 HTTP 엔티티가 바이트의 열로서 HTTP 메시지로 표시되므로, 바이트 범위의 개념은 임의의 HTTP 엔티티에 대해서 의미를 갖는다.
HTTP내의 바이트 범위 명세는 엔티티 바디(메시지-바디와 반드시 같을 필요는 없다)내의 바이트 열에 적용된다. 바이트 범위 동작은 바이트의 단일 범위 또는 단일 엔티티내의 일련의 범위를 규정할 수 있다.
관리자가 대역폭 활용 특성을 선택하였을 때, 그것들을 에이전트의 정책 데이터내로 규정함으로서, 에이전트는 단순한 Get 요청이 아니고 "Range" 규정된 Get을 요청한다.
다음 에이전트 프로파일을 고려:
다음은 Q12345.Exe 파일의 제 1의 1024바이트에 대한 요청 및 호스트의 응답을 도시한다.
Response XML Elements
요소 | POLICY |
속성 | IntervalType - 시간 주기의 유형 ㆍ S=초 ㆍ M=분 ㆍ H=시간Interval- 에이전트가 Tasklist에 대한 홋트를 점검해야 하는 시간 주기의 수Start -에이전트가 수행해야 할 작업에 대해 실행 및 점검을 시작해야 할 날짜(GMT)Stop-에이전트가 수행해야 할 작업에 대해실행 및 점검을 정지해야 할 날짜(GMT)Retries-Backoff 량을 적용하기 전에 요청을 리트라이할 시간의 량BackOff-호스트에 실패한 접촉 후에 간격에 부가되는 IntervalType 시간의 량. 이는 퍼센트 부호(%)를 첨부하므로 퍼센티지로서 표현될 수 있다. UDPPort-{nnn}에이전트를 깨우는데 사용되는 UDP 포트 수.TCPPort-{nnn} 에이전트를 깨우는데 사용되는 TCP 포트 수.TraceLevel -OFF =0, INFO =1, DETAILED =2, DEBUG =3PurgeIntervalType -시간 주기의 유형(IntervalType 참조)PurgeInterval - 에이전트가 백업을 스캔해야하며 퍼지 간격보다 더 오래된 시간의 퍼지를 스캔해야 하는 시간 주기의 수(PurgeIntervalType). |
-의 차일드 | TASKLIST |
-의 페이런트 | |
요소 | TASK |
속성 | TaskID - 고유의 태스크 식별자PkgID - 동작되어야 할 패키지 식별자 |
-의 차일드 | TASKLISK |
-의 페어런트 |
Discovery Agent XML tags
<name>tag - 이것은 당신이 검색하고자 하는 파일의 이름이다.
ㆍ <path>tag - Very versatile. 이것은 당신이 파일을 검색하고자 하는 경로이다.
<Version>tag - 이것은 당신이 찾고자 하는 파일의 버전이다.
<created>tag - 이것은 파일이 생성된 날짜이다.
예 <version>> 5/20/2001 12:01:04 PM </version>
주의: 이 정확한 날짜 포맷이 바람직하다.
<Size>tag - 이것은 당신이 찾고있는 파일의 크기이다. 주의: Cannot due <or>
<root>tag - 이것은 등록 엔트리를 찾기 위한 루트 키이다.
<Key>tag - 이것은 당신이 찾고 있는 등록내의 키이다.
<value>tag - 이것은 당신이 찾고 있는 키 내의 값이다.
<Data>tag - 이것은 그 키에서 찾을 것으로 기대하는 날짜이다.
<class>tag - 당신은 감지하는 임의의 유효 WMI 클래스를 규정할 수 있다. example win32_service
<searchfield> - 이것은 어떤 wmi 엔트리를 보아야 하는지를 최적으로 판단하는 필드이다.
<searchvalue> - 이것은 어떤 wmi 엔트리를 보아야 하는지를 최적으로 판단하는 값이다.
<checkfield> - 이것은 당신이 얻고자 하는 값을 얻기 위해 보아야 하는 필드이다.
<checkvalue> - 이것은 당신이 찾고자 하는 값이다.
입력 파일의 <registry> 섹션의 예
Patch Fingerprint Signature example
위의 예는 등록으로 부터 아웃룩 경로를 찾고 이어서 그 크기를 유효하게 한다.
저작권 공지
본 특허 문서의 개시부는 저작권이 보호되는 자료를 포함하고 있다. 저작권자는 특허 및 상표청 특허 파일 또는 문서에서 볼 수 있는 바와 같이 특허 문서 또는 특허 개시 중 어느 것에 의해서 복사 재생하는 것에는 이의가 없으나, 그 경우가 아니면 모두 저작권을 확보해 두고 있다.
Claims (62)
- 네트워크 상에서 프리-업데이트 상태의 업데이트 서버에 접속되는 넌-업데이트 상태의 제 1 타겟 컴퓨터를 갖는 시스템에서 소프트웨어를 업데이트하기 위한 자동화된 방법으로서, 상기 시스템은 제 1 타겟 컴퓨터에 인억세스될 수 있으며 상기 업데이트 서버에 억세스되는 패키지 컴퓨터, 및 상기 제 1 타겟 컴퓨터 및 상기 업데이트 서버에 억세스가능한 저장소 구성요소를 갖는, 자동화된 방법에 있어서,특정 소프트웨어 업데이트를 정의하는 적어도 하나의 패치 지문을 상기 저장소 구성요소로 넣는 단계;상기 제 1 타겟 컴퓨터에 대한 정보를 모으는 단계;상기 특정 소프트웨어 업데이트가 상기 타겟 컴퓨터에 존재하지 않는지를 판단하기 위해서 상기 모아진 정보의 적어도 일부분을 상기 패치 지문과 비교하는 단계;적어도 하나의 태스크 식별자를 업데이트 태스크 리스트에 놓는 단계로서, 상기 태스크 식별자는 상기 제 1 타겟 컴퓨터를 규정하며, 상기 태스크 식별자는 또한 상기 제 1 타겟 컴퓨터에 대해서 소프트웨어 업데이트를 포함하는 패키지 컴퓨터상의 한 장소를 참조하는 적어도 하나의 다운로드 어드레스를 규정하는 단계;상기 태스크 식별자에 응답하여, 상기 소프트웨어 업데이트를 상기 패키지 컴퓨터로 부터 상기 업데이트 서버로 다운로딩하는 단계; 및상기 업데이트 서버로부터 상기 제 1 타겟 컴퓨터로 상기 소프트웨어 업데이트의 제 2 다운로드를 수행하는 단계를 포함하는 자동화된 방법.
- 제 1 항에 있어서,이동이 가능하며 복수의 네트워크내의 업데이트 서버들에서 패치를 복제하기 위해서 채용될 수 있는 패치 정의를 제공하는 단계를 더 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 상기 다운로드 단계들을 수행하기 위한 고속 관리자 명령을 요구하지 않고도 상기 다운로드 단계들을 수행함으로서 순향적으로 동작하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 타겟 컴퓨터에 상기 패치를 배치하기 전에 상기 업데이트 서버에 마크된 패치를 저장함으로서 순향적으로 동작하며, 상기 패치는 적어도 하나의 임계의, 높은 순위의 그리고 보안 관련으로 마크되는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,패치 다운로드의 보안을 위해서 암호화를 활용하는 단계; 패치 다운로드의 보안을 위해서 주기적인 리던던시 코드들을 활용하는 단계; 패치 다운로드의 보안을 위해서 디지털 서명을 활용하는 단계; 패치 다운로드의 보안을 위해서 SSL과 같은 보안 네트워크 프로토콜을 활용하는 단계로 이루어진 보안 단계 그룹중 적어도 두개의 단계를 더 포함하며, 여기서 적어도 하나의 보안 단계는 특별한 방법 실시예에서 사용되는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 업데이트 서버로 부터 상기 제 1 타겟 컴퓨터로 소프트웨어 업데이트를 다운로드하는 단계는 배경 다운로딩 프로세스를 이용하여 수행되며, 따라서 상기 제 1 타겟 컴퓨터의 사용자에 대한 불편을 감소시키는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 업데이트 서버로 부터 상기 제 1 타겟 컴퓨터로 상기 소프트웨어 업데이트를 다운로딩하는 단계는 대역폭 드로틀된 다운로딩을 이용하여 수행되며, 따라서 네트워크 관리자가 대규모 배치 동안에 대역폭이 채용되어야 하는 방법을 결정하도록 하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,다운로딩은 동작 시간을 제한하는 정책에 종속되도록 수행되며, 상기 정책은 관리자에 의해서 설정되며, 따라서 상기 관리자가 패치 배치가 발생되는 때를 결정하도록 하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 업데이트로부터 상기 패키지 컴퓨터로 소프트웨어 업데이트의 다운로드를 방지하여, 상기 패키지 컴퓨터의 보안을 향샹시키는 단계를 더 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은, 관리자가 다른 경우에 요구될 수 있는 것보다 적은 리부트로 타겟 컴퓨터상에 설치되는 다운로드된 패치를 갖도록 하는 연쇄 설치 특징의 사용을 더 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 다운로딩 단계의 인터럽트를 검출하고 재접속후에 상기 인터럽션이 발생된 다운로딩 단계에서 상기 포인트에 또는 상기 포인트 근방으로부터 다운로딩 단계를 재개하는 다운로딩 재개 특징을 이용하여, 상기 다운로드를 수행하기 위한 전체 다운로딩 단계를 반복하는 것을 피하게 되는, 단계를 더 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은, 상기 태스크 식별자 배치 단계가 발생될 때 상기 제 1 타겟 컴퓨터가 상기 네트워크에 접속되지 않는다 할지라도 관리자가 패치를 상기 제 1 타겟 컴퓨터에 배치하도록 하는 이동 사용자 지원 특징의 사용을 더 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 다중 벤더들로 부터 나오는 다중 패치를 다운로딩하는 단계를 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 하나의 그룹을 형성하기 위해 적당한 서브세트의 타겟 컴퓨터를 그룹핑하는 단계로서, 개별 타겟 컴퓨터에 적용가능한 동작이 상기 그룹에 적용될 수 있도록 하는 단계를 더 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 14 항에 있어서,상기 그룹핑 단계는 관리자에 의해서 규정되는 타겟 컴퓨터를 포함하는 그룹을 형성하는 것을 특징으로 하는 자동화된 방법.
- 제 14 항에 있어서,상기 그룹핑 단계는 비-관리 사용자에 의해서 규정되는 타겟 컴퓨터를 포함하는 그룹을 형성하는 것을 특징으로 하는 자동화된 방법.
- 제 14 항에 있어서,상기 그룹핑 단계는, 상기 그룹에 배치되는 모든 타겟 컴퓨터에 의해서 사용되는 어플리케이션 프로그램을 식별하므로서 규정되는 타겟 컴퓨터를 포함하는 그룹을 형성하는 것을 특징으로 하는 자동화된 방법.
- 제 14 항에 있어서,상기 그룹핑 단계는, 상기 그룹에 배치되는 모든 타겟 컴퓨터에 의해서 사용되는 어플리케이션 프로그램을 식별하므로서 규정되는 타겟 컴퓨터를 포함하는 그룹을 형성하는 것을 특징으로 하는 자동화된 방법.
- 제 14 항에 있어서,상기 방법은 그룹 매니저에 제한된 관리 제어를 위임하여, 상기 그룹핑 단계에 의해서 상기 그룹에 배치된 타겟 컴퓨터에서 상기 그룹 매니저가 제어를 받는 단계를 더 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 상기 제 1 타겟 컴퓨터에 설치되어야 하는 적어도 일부 소프트웨어를 규정하는 위임 패치 베이스라인 정책의 사용을 더 포함하며, 상기 방법은 상기 제 1 타겟 컴퓨터상에 위임 패치 베이스라인 정책에 규정되는 패치를 순향적으로 다운로드 및 설치하는 것을 특징으로 하는 자동화된 방법.
- 제 20 항에 있어서,상기 위임 패치 베이스라인 정책은 특별한 어플리케이션을 사용하는 타겟 컴퓨터에 대해 베이스라인을 설정하는 것을 특징으로 하는 자동화된 방법.
- 제 20 항에 있어서,상기 위임 패치 베이스라인 정책은 타겟 컴퓨터로부터 바라지 않은 소프트웨어의 제거를 위임하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 상기 제 1 타겟 컴퓨터에 설치되면 않되는 소프트웨어를 규정하는 금지된 패치 특징의 사용을 더 포함하며, 상기 방법은 그러한 설치가 발생되는 것을 방지하도록 시도하는 것을 특징으로 하는 자동화된 방법.
- 제 20 항에 있어서,상기 방법은, 상기 패치내의 소프트웨어가 상기 위임 패치 베이스라인 정책에 종속되는 타겟 컴퓨터로 부터 떨어진 후에 상기 위임 패치 베이스라인 정책에서 규정되는 패치를 자동으로 재설치하는 것을 더 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은, 하나의 그룹을 형성하기 위해 적당한 서브세트의 타겟 컴퓨터를 그룹핑하며, 상기 그룹내의 상기 타겟 컴퓨터에 설치되어야 하는 적어도 일부 소프트웨어를 규정하기 위한 위임 패치 베이스라인 정책을 이용하는 단계를 더 포함하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 상기 제 1 타겟 컴퓨터상에서 록크되는 소프트웨어를 규정하는 패치 승락 확신 특징의 사용을 더 포함하며, 상기 방법은 상기 제 1 타겟 컴퓨터로부터 록크된 소프트웨어가 제거되면 순향적으로 관리자에게 통지하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 상기 타겟 컴퓨터에서 록크되는 적어도 하나의 아이템을 규정하는 변경 제어 특징의 사용을 더 포함하며, 상기 방법은 상기 타겟 컴퓨터에서 록크된 아이템이 변경되면 순향적으로 관리자에게 통지하며, 여기서 상기 아이템은 하드웨어 아이템, 서비스 아이템, 및 소프트웨어 아이템 중 적어도 하나인 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 업데이트 서버로부터 상기 제 1 타겟 컴퓨터로 상기 소프트웨어 업데이트를 적어도 다운로딩하는 단계가 순환되어, 적어도 상기 제 1 타겟 컴퓨터상의 특별한 파일을 반복적으로 업데이트하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,재난 복구 단계로 된 그룹으로 부터 적어도 하나의 단계를 더 포함하며, 상기 단계는 시스템 실패후에 관리자가 동작을 복구하고 계속하게 하며, 여기서 재난 복구 단계의 그룹은, 실패된 서버와 동일한 도메인 이름을 갖는 또 다른 서버를 생성하며, 서버상에 업데이트 서버 소프트웨어를 재설치하며, 아카이브된 데이터를 재저장하며, 미러된 데이터를 재저장하는 단계를 포함하며, 여기서 적어도 하나의 재난 복구 단계는 특별한 방법 실시예에서 사용가능한 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,최근 동작 기록을 유지하며, 패치의 배치를 롤링 백하는 단계를 더 포함하여, 관리자가 문제를 일으킨 타겟 컴퓨터 패치 설치를 취소하도록 하는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은, 패치를 타겟 컴퓨터 운영체제에 매치시키는 지능형 다중 패치 배치 특징의 사용을 더 포함하여, 관리자에게 상기 타겟 컴퓨터에서 사용되는 운영체제를 고속으로 그리고 완전히 식별할 필요성을 경감시키는 것을 특징으로 하는 자동화된 방법.
- 제 1 항에 있어서,상기 방법은 상기 제 1 타겟 컴퓨터상에 보안 패치를 설치하여, 상기 타겟 컴퓨터의 파일 시스템으로 훅하고 적어도 하나의 특정 파일이 상기 타겟 컴퓨터상에서 실행되는 것을 중지시키기 위해서 정책 구동 방법을 관리자에게 제공하는 것을 특징으로 하는 자동화된 방법.
- 컴퓨터 시스템의 적어도 일부가 시스템에서 소프트웨어를 업데이트하기 위해서 자동화된 방법의 방법 단계들을 수행하도록 하는 데이터 및 명령을 제공하는 구성을 갖는 구성된 프로그램 저장 매체로서, 상기 시스템은 네트워크 상에서 프리-업데이트 상태로 업데이트 서버에 접속되는 넌-업데이트 상태의 제 1 타겟 컴퓨터를 갖으며, 상기 시스템은 또한, 상기 제 1 타겟 컴퓨터에 인억세스되며 상기 업데이트 서버에 억세스가능한 패키지 컴퓨터와, 상기 제 1 타겟 컴퓨터 및 상기 업데이트 서버에 억세스가능한 저장소 구성요소를 갖는, 구성된 프로그램 저장 매체에 있어서, 상기 방법은,특정 소프트웨어 업데이트를 정의하는 적어도 하나의 패치 지문을 상기 저장소 구성요소로 넣는 단계;상기 제 1 타겟 컴퓨터에 대한 정보를 모으는 단계;상기 특정 소프트웨어 업데이트가 상기 타겟 컴퓨터에 존재하지 않는지를 판단하기 위해서 상기 모아진 정보의 적어도 일부분을 상기 패치 지문과 비교하는 단계;적어도 하나의 태스크 식별자를 업데이트 태스크 리스트에 놓는 단계로서, 상기 태스크 식별자는 상기 제 1 타겟 컴퓨터를 규정하며, 상기 태스크 식별자는 또한 상기 제 1 타겟 컴퓨터에 대해서 소프트웨어 업데이트를 포함하는 패키지 컴퓨터상의 한 장소를 참조하는 적어도 하나의 다운로드 어드레스를 규정하는 단계;상기 태스크 식별자에 응답하여, 상기 소프트웨어 업데이트를 상기 패키지 컴퓨터로 부터 상기 업데이트 서버로 다운로딩하는 단계; 및상기 업데이트 서버로부터 상기 제 1 타겟 컴퓨터로 상기 소프트웨어 업데이트의 제 2 다운로드를 수행하는 단계를 포함하는 구성된 저장 매체.
- 제 33 항에 있어서,이동이 가능하며 복수의 네트워크내의 업데이트 서버들에서 패치를 복제하기 위해서 채용될 수 있는 패치 정의를 제공하는 단계를 더 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은 상기 다운로드 단계들을 수행하기 위한 고속 관리자 명령을 요구하지 않고도 상기 다운로드 단계들을 수행함으로서 순향적으로 동작하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은 타겟 컴퓨터에 상기 패치를 배치하기 전에 상기 업데이트 서버에 마크된 패치를 저장함으로서 순향적으로 동작하며, 상기 패치는 적어도 하나의 임계의, 높은 순위의 그리고 보안 관련으로 마크되는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,패치 다운로드의 보안을 위해서 암호화를 활용하는 단계; 패치 다운로드의 보안을 위해서 주기적인 리던던시 코드들을 활용하는 단계; 패치 다운로드의 보안을 위해서 디지털 서명을 활용하는 단계; 패치 다운로드의 보안을 위해서 SSL과 같은 보안 네트워크 프로토콜을 활용하는 단계로 이루어진 보안 단계 그룹중 적어도 두개의 단계를 더 포함하며, 여기서 적어도 하나의 보안 단계는 특별한 방법 실시예에서 사용되는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 업데이트 서버로 부터 상기 제 1 타겟 컴퓨터로 소프트웨어 업데이트를 다운로드하는 단계는 배경 다운로딩 프로세스를 이용하여 수행되며, 따라서 상기 제 1 타겟 컴퓨터의 사용자에 대한 불편을 감소시키는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 업데이트 서버로 부터 상기 제 1 타겟 컴퓨터로 상기 소프트웨어 업데이트를 다운로딩하는 단계는 대역폭 드로틀된 다운로딩을 이용하여 수행되며, 따라서 네트워크 관리자가 대규모 배치 동안에 대역폭이 채용되어야 하는 방법을 결정하도록 하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,다운로딩은 동작 시간을 제한하는 정책에 종속되도록 수행되며, 상기 정책은 관리자에 의해서 설정되며, 따라서 상기 관리자가 패치 배치가 발생되는 때를 결정하도록 하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 업데이트로부터 상기 패키지 컴퓨터로 소프트웨어 업데이트의 다운로드를 방지하여, 상기 패키지 컴퓨터의 보안을 향샹시키는 단계를 더 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은, 관리자가 다른 경우에 요구될 수 있는 것보다 적은 리부트로 타겟 컴퓨터상에 설치되는 다운로드된 패치를 갖도록 하는 연쇄 설치 특징의 사용을 더 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은 다운로딩 단계의 인터럽트를 검출하고 재접속후에 상기 인터럽션이 발생된 다운로딩 단계에서 상기 포인트에 또는 상기 포인트 근방으로부터 다운로딩 단계를 재개하는 다운로딩 재개 특징을 이용하여, 상기 다운로드를 수행하기 위한 전체 다운로딩 단계를 반복하는 것을 피하게 되는, 단계를 더 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은, 상기 태스크 식별자 배치 단계가 발생될 때 상기 제 1 타겟 컴퓨터가 상기 네트워크에 접속되지 않는다 할지라도 관리자가 패치를 상기 제 1 타겟 컴퓨터에 배치하도록 하는 이동 사용자 지원 특징의 사용을 더 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은 다중 벤더들로 부터 나오는 다중 패치를 다운로딩하는 단계를 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은 하나의 그룹을 형성하기 위해 적당한 서브세트의 타겟 컴퓨터를 그룹핑하는 단계로서, 개별 타겟 컴퓨터에 적용가능한 동작이 상기 그룹에 적용될 수 있도록 하는 단계를 더 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 46 항에 있어서,상기 그룹핑 단계는 관리자에 의해서 규정되는 타겟 컴퓨터를 포함하는 그룹을 형성하는 것을 특징으로 하는 구성된 저장 매체.
- 제 46 항에 있어서,상기 그룹핑 단계는 비-관리 사용자에 의해서 규정되는 타겟 컴퓨터를 포함하는 그룹을 형성하는 것을 특징으로 하는 구성된 저장 매체.
- 제 46 항에 있어서,상기 그룹핑 단계는, 상기 그룹에 배치되는 모든 타겟 컴퓨터에 의해서 사용되는 어플리케이션 프로그램을 식별하므로서 규정되는 타겟 컴퓨터를 포함하는 그룹을 형성하는 것을 특징으로 하는 구성된 저장 매체.
- 제 46 항에 있어서,상기 그룹핑 단계는, 상기 그룹에 배치되는 모든 타겟 컴퓨터에 의해서 사용되는 어플리케이션 프로그램을 식별하므로서 규정되는 타겟 컴퓨터를 포함하는 그룹을 형성하는 것을 특징으로 하는 구성된 저장 매체.
- 제 46 항에 있어서,상기 방법은 그룹 매니저에 제한된 관리 제어를 위임하여, 상기 그룹핑 단계에 의해서 상기 그룹에 배치된 타겟 컴퓨터에서 상기 그룹 매니저가 제어를 받는 단계를 더 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은 상기 제 1 타겟 컴퓨터에 설치되어야 하는 적어도 일부 소프트웨어를 규정하는 위임 패치 베이스라인 정책의 사용을 더 포함하며, 상기 방법은 상기 제 1 타겟 컴퓨터상에 위임 패치 베이스라인 정책에 규정되는 패치를 순향적으로 다운로드 및 설치하는 것을 특징으로 하는 구성된 저장 매체.
- 제 52 항에 있어서,상기 위임 패치 베이스라인 정책은 특별한 어플리케이션을 사용하는 타겟 컴퓨터에 대해 베이스라인을 설정하는 것을 특징으로 하는 구성된 저장 매체.
- 제 52 항에 있어서,상기 방법은, 상기 패치내의 소프트웨어가 상기 위임 패치 베이스라인 정책에 종속되는 타겟 컴퓨터로 부터 떨어진 후에 상기 위임 패치 베이스라인 정책에서 규정되는 패치를 자동으로 재설치하는 것을 더 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은, 하나의 그룹을 형성하기 위해 적당한 서브세트의 타겟 컴퓨터를 그룹핑하며, 상기 그룹내의 상기 타겟 컴퓨터에 설치되어야 하는 적어도 일부 소프트웨어를 규정하기 위한 위임 패치 베이스라인 정책을 이용하는 단계를 더 포함하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은 상기 제 1 타겟 컴퓨터상에서 록크되는 소프트웨어를 규정하는 패치 승락 확신 특징의 사용을 더 포함하며, 상기 방법은 상기 제 1 타겟 컴퓨터로부터 록크된 소프트웨어가 제거되면 순향적으로 관리자에게 통지하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은 상기 타겟 컴퓨터에서 록크되는 적어도 하나의 아이템을 규정하는 변경 제어 특징의 사용을 더 포함하며, 상기 방법은 상기 타겟 컴퓨터에서 록크된 아이템이 변경되면 순향적으로 관리자에게 통지하며, 여기서 상기 아이템은 하드웨어 아이템, 서비스 아이템, 및 소프트웨어 아이템 중 적어도 하나인 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 업데이트 서버로부터 상기 제 1 타겟 컴퓨터로 상기 소프트웨어 업데이트를 적어도 다운로딩하는 단계가 순환되어, 적어도 상기 제 1 타겟 컴퓨터상의 특별한 파일을 반복적으로 업데이트하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,재난 복구 단계로 된 그룹으로 부터 적어도 하나의 단계를 더 포함하며, 상기 단계는 시스템 실패후에 관리자가 동작을 복구하고 계속하게 하며, 여기서 재난 복구 단계의 그룹은, 실패된 서버와 동일한 도메인 이름을 갖는 또 다른 서버를 생성하며, 서버상에 업데이트 서버 소프트웨어를 재설치하며, 아카이브된 데이터를 재저장하며, 미러된 데이터를 재저장하는 단계를 포함하며, 여기서 적어도 하나의 재난 복구 단계는 특별한 방법 실시예에서 사용가능한 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,최근 동작 기록을 유지하며, 패치의 배치를 롤링 백하는 단계를 더 포함하여, 관리자가 문제를 일으킨 타겟 컴퓨터 패치 설치를 취소하도록 하는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은, 패치를 타겟 컴퓨터 운영체제에 매치시키는 지능형 다중 패치 배치 특징의 사용을 더 포함하여, 관리자에게 상기 타겟 컴퓨터에서 사용되는 운영체제를 고속으로 그리고 완전히 식별할 필요성을 경감시키는 것을 특징으로 하는 구성된 저장 매체.
- 제 33 항에 있어서,상기 방법은 상기 제 1 타겟 컴퓨터상에 보안 패치를 설치하여, 상기 타겟 컴퓨터의 파일 시스템으로 훅하고 적어도 하나의 특정 파일이 상기 타겟 컴퓨터상에서 실행되는 것을 중지시키기 위해서 정책 구동 방법을 관리자에게 제공하는 것을 특징으로 하는 구성된 저장 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/394,447 | 2003-03-20 | ||
US10/394,447 US20040003266A1 (en) | 2000-09-22 | 2003-03-20 | Non-invasive automatic offsite patch fingerprinting and updating system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050120643A true KR20050120643A (ko) | 2005-12-22 |
Family
ID=33096760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057017302A KR20050120643A (ko) | 2003-03-20 | 2004-03-02 | 비-침해 자동 오프사이트 패치 지문채취 및 업데이팅시스템 및 방법 |
Country Status (12)
Country | Link |
---|---|
US (1) | US20040003266A1 (ko) |
EP (1) | EP1611509A4 (ko) |
JP (1) | JP2006520975A (ko) |
KR (1) | KR20050120643A (ko) |
CN (1) | CN1894661A (ko) |
AU (1) | AU2004222883A1 (ko) |
BR (1) | BRPI0408425A (ko) |
CA (1) | CA2517223A1 (ko) |
EA (1) | EA200501486A1 (ko) |
MX (1) | MXPA05009990A (ko) |
WO (1) | WO2004086168A2 (ko) |
ZA (1) | ZA200506830B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130142961A (ko) * | 2012-06-19 | 2013-12-30 | 구글 잉크. | 자동 애플리케이션 업데이트 |
WO2022060156A1 (ko) * | 2020-09-18 | 2022-03-24 | 상근 오스티븐 | 인증모듈의 펌웨어 업데이트 방법, 장치 및 프로그램 |
Families Citing this family (344)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496978B1 (en) * | 1996-11-29 | 2002-12-17 | Hitachi, Ltd. | Microcomputer control system in which programs can be modified from outside of the system and newer versions of the modified programs are determined and executed |
US6724720B1 (en) | 2000-05-01 | 2004-04-20 | Palmone, Inc. | Swapping a nonoperational networked electronic system for an operational networked electronic system |
US7391718B2 (en) * | 2004-03-09 | 2008-06-24 | Palm, Inc. | Swapping a nonoperational networked electronic system for an operational networked electronic system |
NO312269B1 (no) * | 2000-06-28 | 2002-04-15 | Ericsson Telefon Ab L M | Fremgangsmåte for automatisering av programvareoppgradering |
US6804699B1 (en) | 2000-07-18 | 2004-10-12 | Palmone, Inc. | Identifying and locating lost or stolen personal digital assistant devices via a landline- or wireless-connected web server |
CA2423175A1 (en) * | 2000-09-22 | 2002-03-28 | Patchlink.Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US20020078222A1 (en) * | 2000-12-14 | 2002-06-20 | Compas Jeffrey C. | Updating information in network devices |
US8195760B2 (en) * | 2001-01-11 | 2012-06-05 | F5 Networks, Inc. | File aggregation in a switched file system |
JP2005502096A (ja) | 2001-01-11 | 2005-01-20 | ゼット−フォース コミュニケイションズ インコーポレイテッド | ファイルスイッチ及び交換ファイルシステム |
US8239354B2 (en) * | 2005-03-03 | 2012-08-07 | F5 Networks, Inc. | System and method for managing small-size files in an aggregated file system |
US20040133606A1 (en) | 2003-01-02 | 2004-07-08 | Z-Force Communications, Inc. | Directory aggregation for files distributed over a plurality of servers in a switched file system |
US7512673B2 (en) * | 2001-01-11 | 2009-03-31 | Attune Systems, Inc. | Rule based aggregation of files and transactions in a switched file system |
US7509322B2 (en) | 2001-01-11 | 2009-03-24 | F5 Networks, Inc. | Aggregated lock management for locking aggregated files in a switched file system |
JPWO2002057904A1 (ja) * | 2001-01-19 | 2004-05-27 | 富士通株式会社 | ダウンロード機能を有する制御装置 |
US20020156692A1 (en) * | 2001-04-20 | 2002-10-24 | Squeglia Mark R. | Method and system for managing supply of replacement parts of a piece of equipment |
US6859923B2 (en) * | 2001-05-09 | 2005-02-22 | Sun Microsystems, Inc. | Method, system, program, and data structures for using a database to apply patches to a computer system |
US6993760B2 (en) * | 2001-12-05 | 2006-01-31 | Microsoft Corporation | Installing software on a mobile computing device using the rollback and security features of a configuration manager |
WO2003058457A1 (en) * | 2001-12-31 | 2003-07-17 | Citadel Security Software Inc. | Automated computer vulnerability resolution system |
US7243148B2 (en) * | 2002-01-15 | 2007-07-10 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7257630B2 (en) | 2002-01-15 | 2007-08-14 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7543056B2 (en) | 2002-01-15 | 2009-06-02 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7591020B2 (en) * | 2002-01-18 | 2009-09-15 | Palm, Inc. | Location based security modification system and method |
US9134989B2 (en) | 2002-01-31 | 2015-09-15 | Qualcomm Incorporated | System and method for updating dataset versions resident on a wireless device |
US20070169073A1 (en) * | 2002-04-12 | 2007-07-19 | O'neill Patrick | Update package generation and distribution network |
US20030212716A1 (en) * | 2002-05-09 | 2003-11-13 | Doug Steele | System and method for analyzing data center enerprise information via backup images |
US7228540B2 (en) * | 2002-05-14 | 2007-06-05 | Microsoft Corporation | Preparation for software on demand system |
US8667104B2 (en) * | 2002-05-14 | 2014-03-04 | Hewlett-Packard Development Company, L.P. | Firmware/software upgrade alert method and apparatus |
US9813514B2 (en) | 2002-06-12 | 2017-11-07 | Good Technology Holdings Limited | Information repository system including a wireless device and related method |
US20040010786A1 (en) * | 2002-07-11 | 2004-01-15 | Microsoft Corporation | System and method for automatically upgrading a software application |
US20040040023A1 (en) * | 2002-08-22 | 2004-02-26 | Ellis David G. | Remote identification loader |
US7096464B1 (en) * | 2002-12-02 | 2006-08-22 | Sap Aktiengesellschaft | Software update method and apparatus |
US7784044B2 (en) * | 2002-12-02 | 2010-08-24 | Microsoft Corporation | Patching of in-use functions on a running computer system |
US9092286B2 (en) * | 2002-12-20 | 2015-07-28 | Qualcomm Incorporated | System to automatically process components on a device |
US7877511B1 (en) * | 2003-01-13 | 2011-01-25 | F5 Networks, Inc. | Method and apparatus for adaptive services networking |
US8561175B2 (en) | 2003-02-14 | 2013-10-15 | Preventsys, Inc. | System and method for automated policy audit and remediation management |
US7627891B2 (en) * | 2003-02-14 | 2009-12-01 | Preventsys, Inc. | Network audit and policy assurance system |
US7555749B2 (en) * | 2003-03-10 | 2009-06-30 | Microsoft Corporation | Software updating system and method |
US7584467B2 (en) | 2003-03-17 | 2009-09-01 | Microsoft Corporation | Software updating system and method |
US7926113B1 (en) | 2003-06-09 | 2011-04-12 | Tenable Network Security, Inc. | System and method for managing network vulnerability analysis systems |
US9100431B2 (en) * | 2003-07-01 | 2015-08-04 | Securityprofiling, Llc | Computer program product and apparatus for multi-path remediation |
US20050005152A1 (en) * | 2003-07-01 | 2005-01-06 | Navjot Singh | Security vulnerability monitor |
US9118709B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118711B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9350752B2 (en) | 2003-07-01 | 2016-05-24 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US20070113272A2 (en) | 2003-07-01 | 2007-05-17 | Securityprofiling, Inc. | Real-time vulnerability monitoring |
US8984644B2 (en) | 2003-07-01 | 2015-03-17 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118708B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Multi-path remediation |
US9118710B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | System, method, and computer program product for reporting an occurrence in different manners |
US20050027714A1 (en) * | 2003-07-31 | 2005-02-03 | International Business Machines Corporation | Scheduling and execution of program jobs in computer system |
US7694293B2 (en) * | 2003-09-26 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Update package catalog for update package transfer between generator and content server in a network |
US7721104B2 (en) * | 2003-10-20 | 2010-05-18 | Nokia Corporation | System, method and computer program product for downloading pushed content |
US8370825B2 (en) * | 2003-10-22 | 2013-02-05 | Hewlett-Packard Development Company, L.P. | Program-update prioritization according to program-usage tracking |
EP1678609A1 (en) * | 2003-10-27 | 2006-07-12 | American Power Conversion Corporation | System and method for updating a software program |
US8626146B2 (en) | 2003-10-29 | 2014-01-07 | Qualcomm Incorporated | Method, software and apparatus for performing actions on a wireless device using action lists and versioning |
US7334226B2 (en) * | 2003-10-30 | 2008-02-19 | International Business Machines Corporation | Autonomic auto-configuration using prior installation configuration relationships |
DE10356348A1 (de) * | 2003-11-28 | 2005-06-23 | Abb Patent Gmbh | System und Verfahren zum automatischen Erstellen, Installieren und Konfigurieren von Funktionalitäten in einem verteilten Netzwerk |
US7506335B1 (en) | 2003-11-29 | 2009-03-17 | Cisco Technology, Inc. | Method and apparatus for software loading and initialization in a distributed network |
US7461374B1 (en) * | 2003-12-01 | 2008-12-02 | Cisco Technology, Inc. | Dynamic installation and activation of software packages in a distributed networking device |
US7376945B1 (en) * | 2003-12-02 | 2008-05-20 | Cisco Technology, Inc. | Software change modeling for network devices |
US7430760B2 (en) * | 2003-12-05 | 2008-09-30 | Microsoft Corporation | Security-related programming interface |
US7661123B2 (en) * | 2003-12-05 | 2010-02-09 | Microsoft Corporation | Security policy update supporting at least one security service provider |
US7533413B2 (en) | 2003-12-05 | 2009-05-12 | Microsoft Corporation | Method and system for processing events |
US7568195B2 (en) * | 2003-12-16 | 2009-07-28 | Microsoft Corporation | Determining a maximal set of dependent software updates valid for installation |
US7614051B2 (en) * | 2003-12-16 | 2009-11-03 | Microsoft Corporation | Creating file systems within a file in a storage technology-abstracted manner |
US20050132357A1 (en) * | 2003-12-16 | 2005-06-16 | Microsoft Corporation | Ensuring that a software update may be installed or run only on a specific device or class of devices |
US7549042B2 (en) * | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US8499078B2 (en) | 2003-12-24 | 2013-07-30 | Sap Aktiengesellschaft | Address generation in distributed systems using tree method |
US8103772B2 (en) | 2003-12-24 | 2012-01-24 | Sap Aktiengesellschaft | Cluster extension in distributed systems using tree method |
US8005937B2 (en) | 2004-03-02 | 2011-08-23 | Fatpot Technologies, Llc | Dynamically integrating disparate computer-aided dispatch systems |
US20070113090A1 (en) * | 2004-03-10 | 2007-05-17 | Villela Agostinho De Arruda | Access control system based on a hardware and software signature of a requesting device |
BRPI0400265A (pt) * | 2004-03-10 | 2006-02-07 | Legitimi Ltd | Sistema de controle de acesso a serviços de informação baseado em assinatura de hardware e software do dispositivo solicitante |
US8051483B2 (en) | 2004-03-12 | 2011-11-01 | Fortinet, Inc. | Systems and methods for updating content detection devices and systems |
EP1574949A1 (en) * | 2004-03-12 | 2005-09-14 | Sap Ag | Method for modifying the software configuration of a computer system |
US8359349B2 (en) * | 2004-03-18 | 2013-01-22 | Nokia Corporation | System and associated terminal, method and computer program product for uploading content |
US8225304B2 (en) * | 2004-03-23 | 2012-07-17 | Kabushiki Kaisha Toshiba | System and method for remotely securing software updates of computer systems |
US20060041931A1 (en) * | 2004-03-23 | 2006-02-23 | Pctel, Inc. | Service level assurance system and method for wired and wireless broadband networks |
US7478383B2 (en) * | 2004-03-23 | 2009-01-13 | Toshiba Corporation | System and method for remotely securing software updates of computer systems |
US8201257B1 (en) | 2004-03-31 | 2012-06-12 | Mcafee, Inc. | System and method of managing network security risks |
US7519954B1 (en) | 2004-04-08 | 2009-04-14 | Mcafee, Inc. | System and method of operating system identification |
US7761918B2 (en) * | 2004-04-13 | 2010-07-20 | Tenable Network Security, Inc. | System and method for scanning a network |
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 |
US7904608B2 (en) * | 2004-05-04 | 2011-03-08 | Price Robert M | System and method for updating software in electronic devices |
US7890946B2 (en) * | 2004-05-11 | 2011-02-15 | Microsoft Corporation | Efficient patching |
US7559058B2 (en) * | 2004-05-11 | 2009-07-07 | Microsoft Corporation | Efficient patching |
US8539469B2 (en) | 2004-05-11 | 2013-09-17 | Microsoft Corporation | Efficient patching |
US20050262501A1 (en) * | 2004-05-21 | 2005-11-24 | Claudio Marinelli | Software distribution method and system supporting configuration management |
US7657923B2 (en) * | 2004-07-23 | 2010-02-02 | Microsoft Corporation | Framework for a security system |
US7530065B1 (en) * | 2004-08-13 | 2009-05-05 | Apple Inc. | Mechanism for determining applicability of software packages for installation |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US7747998B2 (en) * | 2004-08-31 | 2010-06-29 | Microsoft Corporation | Elevated patching |
US20060048226A1 (en) * | 2004-08-31 | 2006-03-02 | Rits Maarten E | Dynamic security policy enforcement |
US7703090B2 (en) * | 2004-08-31 | 2010-04-20 | Microsoft Corporation | Patch un-installation |
US7752671B2 (en) | 2004-10-04 | 2010-07-06 | Promisec Ltd. | Method and device for questioning a plurality of computerized devices |
US20060080656A1 (en) * | 2004-10-12 | 2006-04-13 | Microsoft Corporation | Methods and instructions for patch management |
US20060080659A1 (en) * | 2004-10-13 | 2006-04-13 | Jp Mobile Operating, L.P. | System and method of provisioning software to mobile devices |
US7979898B2 (en) * | 2004-11-10 | 2011-07-12 | Barclays Capital Inc. | System and method for monitoring and controlling software usage in a computer |
US20060106821A1 (en) * | 2004-11-12 | 2006-05-18 | International Business Machines Corporation | Ownership management of containers in an application server environment |
US20060130045A1 (en) * | 2004-11-19 | 2006-06-15 | Jonathan Wesley | Systems and methods for dynamically updating computer systems |
US9043781B2 (en) * | 2004-12-03 | 2015-05-26 | International Business Machines Corporation | Algorithm for automated enterprise deployments |
US8219807B1 (en) | 2004-12-17 | 2012-07-10 | Novell, Inc. | Fine grained access control for linux services |
US8271785B1 (en) | 2004-12-20 | 2012-09-18 | Novell, Inc. | Synthesized root privileges |
US7865888B1 (en) | 2004-12-21 | 2011-01-04 | Zenprise, Inc. | Systems and methods for gathering deployment state for automated management of software application deployments |
US7885970B2 (en) * | 2005-01-20 | 2011-02-08 | F5 Networks, Inc. | Scalable system for partitioning and accessing metadata over multiple servers |
US7958347B1 (en) | 2005-02-04 | 2011-06-07 | F5 Networks, Inc. | Methods and apparatus for implementing authentication |
US7490072B1 (en) | 2005-02-16 | 2009-02-10 | Novell, Inc. | Providing access controls |
US7734574B2 (en) * | 2005-02-17 | 2010-06-08 | International Business Machines Corporation | Intelligent system health indicator |
JP4639908B2 (ja) * | 2005-03-31 | 2011-02-23 | パナソニック株式会社 | デジタル放送受信装置及びデジタル放送送信装置 |
US7631297B2 (en) * | 2005-04-05 | 2009-12-08 | International Business Machines Corporation | Autonomic computing: management agent utilizing action policy for operation |
US7937476B2 (en) * | 2005-04-08 | 2011-05-03 | Microsoft Corporation | Methods and systems for auto-sensing internet accelerators and proxies for download content |
US9178940B2 (en) * | 2005-04-12 | 2015-11-03 | Tiversa Ip, Inc. | System and method for detecting peer-to-peer network software |
USRE47628E1 (en) | 2005-04-12 | 2019-10-01 | Kroll Information Assurance, Llc | System for identifying the presence of peer-to-peer network software applications |
WO2006119070A1 (en) * | 2005-04-29 | 2006-11-09 | Wms Gaming Inc. | Asset management of downloadable gaming components in a gaming system |
US20060253848A1 (en) * | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Method and apparatus for solutions deployment in a heterogeneous systems management environment |
US8140816B2 (en) * | 2005-05-12 | 2012-03-20 | International Business Machines Corporation | Utilizing partition resource requirements from workload estimation to automate partition software configuration and validation |
US7937697B2 (en) * | 2005-05-19 | 2011-05-03 | International Business Machines Corporation | Method, system and computer program for distributing software patches |
US8352935B2 (en) * | 2005-05-19 | 2013-01-08 | Novell, Inc. | System for creating a customized software distribution based on user requirements |
US8074214B2 (en) * | 2005-05-19 | 2011-12-06 | Oracle International Corporation | System for creating a customized software installation on demand |
US20060288009A1 (en) * | 2005-06-20 | 2006-12-21 | Tobid Pieper | Method and apparatus for restricting access to an electronic product release within an electronic software delivery system |
US8271387B2 (en) | 2005-06-20 | 2012-09-18 | Intraware, Inc. | Method and apparatus for providing limited access to data objects or files within an electronic software delivery and management system |
US8122035B2 (en) * | 2005-06-28 | 2012-02-21 | International Business Machines Corporation | Method and system for transactional fingerprinting in a database system |
US7558857B2 (en) * | 2005-06-30 | 2009-07-07 | Microsoft Corporation | Solution deployment in a server farm |
US7542992B1 (en) * | 2005-08-01 | 2009-06-02 | Google Inc. | Assimilator using image check data |
KR100735372B1 (ko) * | 2005-08-17 | 2007-07-04 | 삼성전자주식회사 | 지상파 dmb 수신 단말기에서 소프트웨어 다운로드를통한 업그레이드 방법 |
US20070050678A1 (en) * | 2005-08-25 | 2007-03-01 | Motorola, Inc. | Apparatus for self-diagnosis and treatment of critical software flaws |
US8271973B2 (en) * | 2005-09-09 | 2012-09-18 | Emulex Design & Manufacturing Corporation | Automated notification of software installation failures |
US8176408B2 (en) * | 2005-09-12 | 2012-05-08 | Microsoft Corporation | Modularized web provisioning |
JP2007141102A (ja) | 2005-11-21 | 2007-06-07 | Internatl Business Mach Corp <Ibm> | ソフトウェアをインストールするためのプログラム、記録媒体、及び装置 |
US8032424B1 (en) | 2005-12-27 | 2011-10-04 | United Services Automobile Association | Method, system, and storage medium for viewing commodity information |
WO2007079176A2 (en) * | 2005-12-30 | 2007-07-12 | Edda Technology, Inc. | Process sharing among independent systems / applications via data encapsulation in medical imaging |
US8176483B2 (en) * | 2005-12-30 | 2012-05-08 | Sap Ag | Software maintenance management |
US20070207800A1 (en) * | 2006-02-17 | 2007-09-06 | Daley Robert C | Diagnostics And Monitoring Services In A Mobile Network For A Mobile Device |
US7620392B1 (en) | 2006-02-27 | 2009-11-17 | Good Technology, Inc. | Method and system for distributing and updating software in wireless devices |
US8676973B2 (en) | 2006-03-07 | 2014-03-18 | Novell Intellectual Property Holdings, Inc. | Light-weight multi-user browser |
US8443354B1 (en) * | 2006-03-29 | 2013-05-14 | Symantec Corporation | Detecting new or modified portions of code |
US20070257354A1 (en) * | 2006-03-31 | 2007-11-08 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Code installation decisions for improving aggregate functionality |
US8417746B1 (en) | 2006-04-03 | 2013-04-09 | F5 Networks, Inc. | File system management with enhanced searchability |
US8578363B2 (en) * | 2006-05-03 | 2013-11-05 | Microsoft Corporation | Differentiated installable packages |
US8209676B2 (en) | 2006-06-08 | 2012-06-26 | Hewlett-Packard Development Company, L.P. | Device management in a network |
US20070294332A1 (en) * | 2006-06-19 | 2007-12-20 | Microsoft Corporation | Processing device for end customer operation |
US20080005721A1 (en) * | 2006-06-29 | 2008-01-03 | Augusta Systems, Inc. | Method and System for Rapidly Developing Sensor-Enabled Software Applications |
US8095923B2 (en) * | 2006-06-29 | 2012-01-10 | Augusta Systems, Inc. | System and method for deploying and managing intelligent nodes in a distributed network |
US7680907B2 (en) * | 2006-07-21 | 2010-03-16 | Barclays Capital Inc. | Method and system for identifying and conducting inventory of computer assets on a network |
US8122111B2 (en) * | 2006-07-25 | 2012-02-21 | Network Appliance, Inc. | System and method for server configuration control and management |
US8752044B2 (en) | 2006-07-27 | 2014-06-10 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
US7748000B2 (en) * | 2006-07-27 | 2010-06-29 | International Business Machines Corporation | Filtering a list of available install items for an install program based on a consumer's install policy |
US9098706B1 (en) * | 2006-07-31 | 2015-08-04 | Symantec Corporation | Installer trust chain validation |
US8327656B2 (en) | 2006-08-15 | 2012-12-11 | American Power Conversion Corporation | Method and apparatus for cooling |
US9568206B2 (en) | 2006-08-15 | 2017-02-14 | Schneider Electric It Corporation | Method and apparatus for cooling |
US8322155B2 (en) | 2006-08-15 | 2012-12-04 | American Power Conversion Corporation | Method and apparatus for cooling |
US7876902B2 (en) * | 2006-08-31 | 2011-01-25 | Microsoft Corporation | Distribution of encrypted software update to reduce attack window |
US7567984B1 (en) * | 2006-08-31 | 2009-07-28 | Symantec Operating Corporation | Operating system and application deployment based on stored user state and organizational policy |
JP4842742B2 (ja) * | 2006-09-05 | 2011-12-21 | 富士通株式会社 | ソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置 |
JP2008067311A (ja) * | 2006-09-11 | 2008-03-21 | Ntt Docomo Inc | 移動通信端末及びダウンロード再開制御方法 |
US8601467B2 (en) | 2006-10-03 | 2013-12-03 | Salesforce.Com, Inc. | Methods and systems for upgrading and installing application packages to an application platform |
US8584115B2 (en) * | 2006-10-05 | 2013-11-12 | International Business Machines Corporation | Automated operating system device driver updating system |
US8024299B2 (en) | 2006-10-20 | 2011-09-20 | Oracle International Corporation | Client-driven functionally equivalent database replay |
US8438560B2 (en) * | 2006-11-07 | 2013-05-07 | Hewlett-Packard Development Company, L.P. | Resource assessment method and system |
US7937765B2 (en) * | 2006-11-09 | 2011-05-03 | Electronics And Telecommunications Research Institute | System and method for checking security of PC |
US20080115152A1 (en) * | 2006-11-15 | 2008-05-15 | Bharat Welingkar | Server-controlled heartbeats |
US8135798B2 (en) * | 2006-11-15 | 2012-03-13 | Hewlett-Packard Development Company, L.P. | Over-the-air device services and management |
US7603435B2 (en) * | 2006-11-15 | 2009-10-13 | Palm, Inc. | Over-the-air device kill pill and lock |
US8112747B2 (en) * | 2006-11-27 | 2012-02-07 | Sap Ag | Integrated software support for a distributed business application with seamless backend communications |
US10019501B2 (en) * | 2006-12-18 | 2018-07-10 | International Business Machines Corporation | Data store synchronization utilizing synchronization logs |
US7681404B2 (en) | 2006-12-18 | 2010-03-23 | American Power Conversion Corporation | Modular ice storage for uninterruptible chilled water |
US8578335B2 (en) * | 2006-12-20 | 2013-11-05 | International Business Machines Corporation | Apparatus and method to repair an error condition in a device comprising a computer readable medium comprising computer readable code |
US9563417B2 (en) | 2006-12-29 | 2017-02-07 | International Business Machines Corporation | Patch management automation tool for UNIX, APARXML |
US8239688B2 (en) * | 2007-01-07 | 2012-08-07 | Apple Inc. | Securely recovering a computing device |
US8266614B2 (en) * | 2007-01-23 | 2012-09-11 | International Business Machines Corporation | Methods and apparatus for pre-configuring software |
US8425287B2 (en) | 2007-01-23 | 2013-04-23 | Schneider Electric It Corporation | In-row air containment and cooling system and method |
US8060874B2 (en) * | 2007-01-29 | 2011-11-15 | Symbol Technologies, Inc. | Efficient provisioning of software packages to mobile handheld devices |
US8055761B2 (en) * | 2007-01-31 | 2011-11-08 | International Business Machines Corporation | Method and apparatus for providing transparent network connectivity |
US20080201705A1 (en) * | 2007-02-15 | 2008-08-21 | Sun Microsystems, Inc. | Apparatus and method for generating a software dependency map |
US20080220779A1 (en) * | 2007-03-08 | 2008-09-11 | Vanu Bose | Configuration of a Home Base Station |
US20080244558A1 (en) * | 2007-03-28 | 2008-10-02 | Motorola, Inc. | Content downloading in a radio communication network |
WO2008130983A1 (en) * | 2007-04-16 | 2008-10-30 | Attune Systems, Inc. | File aggregation in a switched file system |
US8782219B2 (en) | 2012-05-18 | 2014-07-15 | Oracle International Corporation | Automated discovery of template patterns based on received server requests |
AU2008255030B2 (en) | 2007-05-15 | 2014-02-20 | Schneider Electric It Corporation | Methods and systems for managing facility power and cooling |
JP5080136B2 (ja) * | 2007-05-24 | 2012-11-21 | 日立オムロンターミナルソリューションズ株式会社 | リモートメンテナンスシステム |
US8682916B2 (en) * | 2007-05-25 | 2014-03-25 | F5 Networks, Inc. | Remote file virtualization in a switched file system |
CA2687883C (en) | 2007-06-19 | 2014-07-08 | Qualcomm Incorporated | Methods and apparatus for dataset synchronization in a wireless environment |
JP4591486B2 (ja) * | 2007-08-23 | 2010-12-01 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US20090070756A1 (en) * | 2007-09-06 | 2009-03-12 | Hongfeng Wei | System and method for resource utilization-based throttling of software updates |
US8839221B2 (en) * | 2007-09-10 | 2014-09-16 | Moka5, Inc. | Automatic acquisition and installation of software upgrades for collections of virtual machines |
US8819655B1 (en) * | 2007-09-17 | 2014-08-26 | Symantec Corporation | Systems and methods for computer program update protection |
US8117244B2 (en) | 2007-11-12 | 2012-02-14 | F5 Networks, Inc. | Non-disruptive file migration |
US8548953B2 (en) * | 2007-11-12 | 2013-10-01 | F5 Networks, Inc. | File deduplication using storage tiers |
US8180747B2 (en) | 2007-11-12 | 2012-05-15 | F5 Networks, Inc. | Load sharing cluster file systems |
US8683458B2 (en) * | 2007-11-30 | 2014-03-25 | Red Hat, Inc. | Automatic full install upgrade of a network appliance |
US8352785B1 (en) | 2007-12-13 | 2013-01-08 | F5 Networks, Inc. | Methods for generating a unified virtual snapshot and systems thereof |
US8091082B2 (en) * | 2008-03-12 | 2012-01-03 | DGN Technologies, Inc. | Systems and methods for risk analysis and updating of software |
US8239827B2 (en) * | 2008-03-31 | 2012-08-07 | Symantec Operating Corporation | System and method for prioritizing the compilation of bytecode modules during installation of a software application |
US9720674B1 (en) * | 2008-05-05 | 2017-08-01 | Open Invention Network, Llc | Automating application of software patches to a server having a virtualization layer |
US20090288071A1 (en) * | 2008-05-13 | 2009-11-19 | Microsoft Corporation | Techniques for delivering third party updates |
US8418164B2 (en) * | 2008-05-29 | 2013-04-09 | Red Hat, Inc. | Image install of a network appliance |
US20090328023A1 (en) * | 2008-06-27 | 2009-12-31 | Gregory Roger Bestland | Implementing optimized installs around pre-install and post-install actions |
US8549582B1 (en) | 2008-07-11 | 2013-10-01 | F5 Networks, Inc. | Methods for handling a multi-protocol content name and systems thereof |
JP4860671B2 (ja) * | 2008-07-22 | 2012-01-25 | 株式会社日立情報システムズ | ブログラム配布処理システムと方法およびプログラム |
US20100042518A1 (en) * | 2008-08-14 | 2010-02-18 | Oracle International Corporation | Payroll rules engine for populating payroll costing accounts |
US8677342B1 (en) * | 2008-10-17 | 2014-03-18 | Honeywell International Inc. | System, method and apparatus for replacing wireless devices in a system |
US20100153942A1 (en) * | 2008-12-12 | 2010-06-17 | Lazar Borissov | Method and a system for delivering latest hotfixes with a support package stack |
US8707439B2 (en) * | 2008-12-19 | 2014-04-22 | Microsoft Corporation | Selecting security offerings |
JP5326557B2 (ja) * | 2008-12-25 | 2013-10-30 | 富士通株式会社 | 資源配付システム |
US8769523B2 (en) * | 2009-01-12 | 2014-07-01 | Thomson Licensing | Systems and methods for interrupting upgrades of content distribution systems |
US20100180104A1 (en) * | 2009-01-15 | 2010-07-15 | Via Technologies, Inc. | Apparatus and method for patching microcode in a microprocessor using private ram of the microprocessor |
US9519517B2 (en) * | 2009-02-13 | 2016-12-13 | Schneider Electtic It Corporation | Data center control |
US8560677B2 (en) * | 2009-02-13 | 2013-10-15 | Schneider Electric It Corporation | Data center control |
US9778718B2 (en) | 2009-02-13 | 2017-10-03 | Schneider Electric It Corporation | Power supply and data center control |
US8418150B2 (en) * | 2009-04-03 | 2013-04-09 | Oracle International Corporation | Estimating impact of configuration changes |
US8738973B1 (en) | 2009-04-30 | 2014-05-27 | Bank Of America Corporation | Analysis of self-service terminal operational data |
US8528037B2 (en) | 2009-08-28 | 2013-09-03 | CSC Holdings, LLC | Dynamic application loader for set top box |
JP2011055248A (ja) * | 2009-09-02 | 2011-03-17 | Fuji Xerox Co Ltd | ソフトウエアの更新・追加管理装置、ソフトウエアの更新・追加管理プログラム及び複合機 |
CN102014530A (zh) * | 2009-09-04 | 2011-04-13 | 中兴通讯股份有限公司 | 一种配置更新失败后的处理方法和网元设备 |
US8997077B1 (en) * | 2009-09-11 | 2015-03-31 | Symantec Corporation | Systems and methods for remediating a defective uninstaller during an upgrade procedure of a product |
US8347048B2 (en) | 2009-10-30 | 2013-01-01 | Ca, Inc. | Self learning backup and recovery management system |
US8296756B1 (en) * | 2009-11-06 | 2012-10-23 | Southern Company Services, Inc. | Patch cycle master records management and server maintenance system |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US10263827B2 (en) * | 2009-12-31 | 2019-04-16 | Schneider Electric USA, Inc. | Information bridge between manufacturer server and monitoring device on a customer network |
US8438270B2 (en) | 2010-01-26 | 2013-05-07 | Tenable Network Security, Inc. | System and method for correlating network identities and addresses |
US8302198B2 (en) | 2010-01-28 | 2012-10-30 | Tenable Network Security, Inc. | System and method for enabling remote registry service security audits |
US8316120B2 (en) * | 2010-02-02 | 2012-11-20 | Microsoft Corporation | Applicability detection using third party target state |
US9195500B1 (en) | 2010-02-09 | 2015-11-24 | F5 Networks, Inc. | Methods for seamless storage importing and devices thereof |
US8204860B1 (en) | 2010-02-09 | 2012-06-19 | F5 Networks, Inc. | Methods and systems for snapshot reconstitution |
US9098365B2 (en) * | 2010-03-16 | 2015-08-04 | Salesforce.Com, Inc. | System, method and computer program product for conditionally enabling an installation aspect |
US8707440B2 (en) * | 2010-03-22 | 2014-04-22 | Tenable Network Security, Inc. | System and method for passively identifying encrypted and interactive network sessions |
US8549650B2 (en) | 2010-05-06 | 2013-10-01 | Tenable Network Security, Inc. | System and method for three-dimensional visualization of vulnerability and asset data |
US8407795B2 (en) | 2010-05-18 | 2013-03-26 | Ca, Inc. | Systems and methods to secure backup images from viruses |
US8843444B2 (en) * | 2010-05-18 | 2014-09-23 | Ca, Inc. | Systems and methods to determine security holes of a backup image |
CN101882094A (zh) * | 2010-06-10 | 2010-11-10 | 中兴通讯股份有限公司 | 嵌入式系统制作补丁的方法和系统 |
US8898658B2 (en) * | 2010-06-29 | 2014-11-25 | Cisco Technology, Inc. | Dynamic web resource provisioning |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
FR2964812B1 (fr) * | 2010-09-09 | 2013-04-12 | Mobilegov France | Procede d'authentification pour l'acces a un site web |
JP5791426B2 (ja) * | 2010-09-21 | 2015-10-07 | キヤノン株式会社 | 情報提供装置および情報処理装置および制御方法およびプログラム |
US9286298B1 (en) | 2010-10-14 | 2016-03-15 | F5 Networks, Inc. | Methods for enhancing management of backup data sets and devices thereof |
US9753713B2 (en) * | 2010-10-22 | 2017-09-05 | Microsoft Technology Licensing, Llc | Coordinated upgrades in distributed systems |
US9043637B2 (en) * | 2010-12-14 | 2015-05-26 | Hitachi, Ltd. | Failure recovery method in information processing system and information processing system |
US8825451B2 (en) | 2010-12-16 | 2014-09-02 | Schneider Electric It Corporation | System and methods for rack cooling analysis |
US9063819B2 (en) * | 2011-01-02 | 2015-06-23 | Cisco Technology, Inc. | Extensible patch management |
KR101760778B1 (ko) * | 2011-01-17 | 2017-07-26 | 에스프린팅솔루션 주식회사 | 컴퓨터시스템 및 그 프로그램 업데이트 방법 |
US8593971B1 (en) | 2011-01-25 | 2013-11-26 | Bank Of America Corporation | ATM network response diagnostic snapshot |
US9058233B1 (en) * | 2011-03-30 | 2015-06-16 | Amazon Technologies, Inc. | Multi-phase software delivery |
JP5665188B2 (ja) * | 2011-03-31 | 2015-02-04 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウエア更新を適用した情報処理装置を検査するシステム |
US8776234B2 (en) * | 2011-04-20 | 2014-07-08 | Kaspersky Lab, Zao | System and method for dynamic generation of anti-virus databases |
US8396836B1 (en) | 2011-06-30 | 2013-03-12 | F5 Networks, Inc. | System for mitigating file virtualization storage import latency |
US8667293B2 (en) * | 2011-08-11 | 2014-03-04 | Roche Diagnostics Operations, Inc. | Cryptographic data distribution and revocation for handheld medical devices |
US20130067448A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Application deployment |
KR20130028478A (ko) * | 2011-09-09 | 2013-03-19 | 삼성전자주식회사 | 관리 서버, 호스트 장치, 및 어플리케이션 관리 방법 |
US8490054B2 (en) | 2011-09-23 | 2013-07-16 | The United States Of America As Represented By The Secretary Of The Army | Software and related software tracking during software modification |
US8463850B1 (en) | 2011-10-26 | 2013-06-11 | F5 Networks, Inc. | System and method of algorithmically generating a server side transaction identifier |
US9137651B2 (en) * | 2011-11-22 | 2015-09-15 | International Business Machines Corporation | Systems and methods for determining relationships between mobile applications and electronic device users |
US8606892B2 (en) * | 2011-11-28 | 2013-12-10 | Wyse Technology Inc. | Deployment and updating of applications and drivers on a client device using an extensible markup language (XML) configuration file |
CN104137660B (zh) | 2011-12-22 | 2017-11-24 | 施耐德电气It公司 | 用于在电子系统中预测温度值的系统和方法 |
WO2013095516A1 (en) | 2011-12-22 | 2013-06-27 | Schneider Electric It Corporation | Analysis of effect of transient events on temperature in a data center |
US8893116B2 (en) | 2012-01-15 | 2014-11-18 | Microsoft Corporation | Installation engine and package format for parallelizable, reliable installations |
US8746551B2 (en) | 2012-02-14 | 2014-06-10 | Bank Of America Corporation | Predictive fault resolution |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
US8887149B2 (en) | 2012-02-21 | 2014-11-11 | Microsoft Corporation | Time shift configuration management for software product installation |
WO2013126046A1 (en) * | 2012-02-21 | 2013-08-29 | Hewlett-Packard Development Company, L.P. | Maintaining system firmware images remotely using a distribute file system protocol |
US9367707B2 (en) | 2012-02-23 | 2016-06-14 | Tenable Network Security, Inc. | System and method for using file hashes to track data leakage and document propagation in a network |
TWI462017B (zh) * | 2012-02-24 | 2014-11-21 | Wistron Corp | 伺服器部署系統及資料更新的方法 |
US9661002B2 (en) * | 2012-03-14 | 2017-05-23 | Daniel Kaminsky | Method for user authentication using DNSSEC |
JP5921292B2 (ja) * | 2012-04-03 | 2016-05-24 | キヤノン株式会社 | 情報処理装置、制御方法、およびプログラム |
US9262149B2 (en) * | 2012-04-12 | 2016-02-16 | International Business Machines Corporation | Managing incrementally applied system updates |
US8972792B2 (en) | 2012-04-19 | 2015-03-03 | Blackberry Limited | Methods, apparatus, and systems for electronic device recovery |
US20130298229A1 (en) * | 2012-05-03 | 2013-11-07 | Bank Of America Corporation | Enterprise security manager remediator |
JP6140937B2 (ja) * | 2012-05-23 | 2017-06-07 | キヤノン株式会社 | ネットワークデバイス、プログラム、システムおよび方法 |
US9110754B2 (en) * | 2012-05-31 | 2015-08-18 | Microsoft Technology Licensing, Llc | Computing device update control |
US9043920B2 (en) | 2012-06-27 | 2015-05-26 | Tenable Network Security, Inc. | System and method for identifying exploitable weak points in a network |
JP2014013457A (ja) * | 2012-07-03 | 2014-01-23 | Fujitsu Ltd | パッチ判定プログラム、パッチ判定方法および情報処理装置 |
US9088606B2 (en) | 2012-07-05 | 2015-07-21 | Tenable Network Security, Inc. | System and method for strategic anti-malware monitoring |
JP2014021667A (ja) * | 2012-07-17 | 2014-02-03 | Disco Abrasive Syst Ltd | 加工装置の管理方法 |
US9313040B2 (en) | 2012-08-04 | 2016-04-12 | Steelcloud, Llc | Verification of computer system prior to and subsequent to computer program installation |
RU2495487C1 (ru) * | 2012-08-10 | 2013-10-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ для определения доверия при обновлении разрешенного программного обеспечения |
US11150885B2 (en) | 2012-08-22 | 2021-10-19 | Transportation Ip Holdings, Llc | Method and system for vehicle software management |
US20140059534A1 (en) * | 2012-08-22 | 2014-02-27 | General Electric Company | Method and system for software management |
GB2505644A (en) * | 2012-09-05 | 2014-03-12 | Ibm | Managing network configurations |
US9519501B1 (en) | 2012-09-30 | 2016-12-13 | F5 Networks, Inc. | Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system |
US9235409B1 (en) * | 2012-10-30 | 2016-01-12 | Amazon Technologies, Inc. | Deployment version management |
US9513895B2 (en) * | 2012-10-31 | 2016-12-06 | Oracle International Corporation | Method and system for patch automation for management servers |
US9081964B2 (en) | 2012-12-27 | 2015-07-14 | General Electric Company | Firmware upgrade error detection and automatic rollback |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9554418B1 (en) | 2013-02-28 | 2017-01-24 | F5 Networks, Inc. | Device for topology hiding of a visited network |
US9467464B2 (en) | 2013-03-15 | 2016-10-11 | Tenable Network Security, Inc. | System and method for correlating log data to discover network vulnerabilities and assets |
US9672023B2 (en) * | 2013-03-15 | 2017-06-06 | Apple Inc. | Providing a unified update center for security software updates and application software updates |
US9727326B2 (en) | 2013-03-15 | 2017-08-08 | Apple Inc. | Providing customized notifications for security software updates |
US9639342B2 (en) * | 2013-05-01 | 2017-05-02 | Starkey Laboratories, Inc. | Unobtrusive firmware updates for hearing assistance devices |
US9058504B1 (en) * | 2013-05-21 | 2015-06-16 | Malwarebytes Corporation | Anti-malware digital-signature verification |
FR3006480B1 (fr) * | 2013-06-03 | 2015-06-05 | Bull Sas | Procede de controle de versions de logiciels installes sur des machines interconnectees |
US20140364970A1 (en) * | 2013-06-07 | 2014-12-11 | General Electric Company | System and method for application development and deployment |
US9052978B2 (en) * | 2013-07-24 | 2015-06-09 | Oracle International Corporation | Applying hot fixes for metadata customizing user interactions based on a software program deployed in multiple versions |
US9298923B2 (en) * | 2013-09-04 | 2016-03-29 | Cisco Technology, Inc. | Software revocation infrastructure |
CN104679534B (zh) * | 2013-11-28 | 2019-11-19 | 南京中兴软件有限责任公司 | 系统应用安装包加载处理方法、装置及终端 |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US20170235564A1 (en) * | 2014-10-14 | 2017-08-17 | Huawei Technologies Co., Ltd. | Software upgrade method and device |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US9417866B2 (en) * | 2014-12-03 | 2016-08-16 | Verizon Patent And Licensing Inc. | Identification and isolation of incompatible applications during a platform update |
KR101630372B1 (ko) * | 2015-01-15 | 2016-06-14 | 주식회사 아이디스 | 영상보안장비의 펌웨어 업데이트 시스템 |
US9529580B2 (en) * | 2015-01-21 | 2016-12-27 | Ford Global Technologies, Llc | Vehicle control update methods and systems |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10719608B2 (en) * | 2015-02-06 | 2020-07-21 | Honeywell International Inc. | Patch monitoring and analysis |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
DE102015112511A1 (de) * | 2015-07-30 | 2017-02-02 | Rheinmetall Defence Electronics Gmbh | Verfahren und Vorrichtung zur Softwareverteilung von Software auf eine Mehrzahl von Systemen |
US9965261B2 (en) * | 2015-08-18 | 2018-05-08 | International Business Machines Corporation | Dependency-based container deployment |
US9767318B1 (en) | 2015-08-28 | 2017-09-19 | Frank Dropps | Secure controller systems and associated methods thereof |
US9626177B1 (en) * | 2015-09-11 | 2017-04-18 | Cohesity, Inc. | Peer to peer upgrade management |
US9946533B2 (en) * | 2015-09-30 | 2018-04-17 | Apple Inc. | Software updating |
US20170168797A1 (en) * | 2015-12-09 | 2017-06-15 | Microsoft Technology Licensing, Llc | Model-driven updates distributed to changing topologies |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
JP2017151523A (ja) * | 2016-02-22 | 2017-08-31 | 富士通株式会社 | ソフトウェア自動収集プログラム、装置、及び方法 |
US20170300317A1 (en) * | 2016-03-24 | 2017-10-19 | Knight Point Systems, Inc. | System and method for patching software in a target computer system device |
US10360021B2 (en) * | 2016-08-19 | 2019-07-23 | Veniam, Inc. | Systems and methods for reliable software update in a network of moving things including, for example, autonomous vehicles |
US10412198B1 (en) | 2016-10-27 | 2019-09-10 | F5 Networks, Inc. | Methods for improved transmission control protocol (TCP) performance visibility and devices thereof |
CN106775841B (zh) * | 2016-11-29 | 2021-02-19 | 深圳广电银通金融电子科技有限公司 | 插件升级的方法、系统及装置 |
US10567492B1 (en) | 2017-05-11 | 2020-02-18 | F5 Networks, Inc. | Methods for load balancing in a federated identity environment and devices thereof |
US20190121631A1 (en) * | 2017-10-19 | 2019-04-25 | Vmware, Inc. | Deployment of applications to managed devices |
WO2019087858A1 (ja) * | 2017-10-30 | 2019-05-09 | 日本電信電話株式会社 | 攻撃通信検出装置、攻撃通信検出方法、プログラム |
US11824895B2 (en) | 2017-12-27 | 2023-11-21 | Steelcloud, LLC. | System for processing content in scan and remediation processing |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
US11169815B2 (en) * | 2018-01-16 | 2021-11-09 | Bby Solutions, Inc. | Method and system for automation tool set for server maintenance actions |
TWI699645B (zh) * | 2018-02-13 | 2020-07-21 | 致伸科技股份有限公司 | 檢測作業網路架構與應用於其上的資訊管控方法 |
US10833943B1 (en) | 2018-03-01 | 2020-11-10 | F5 Networks, Inc. | Methods for service chaining and devices thereof |
US11055087B2 (en) | 2018-03-16 | 2021-07-06 | Google Llc | Leveraging previously installed application elements to install an application |
US11995451B2 (en) * | 2018-03-27 | 2024-05-28 | Huawei Technologies Co., Ltd. | Resource permission processing method and apparatus, storage medium, and chip |
US10698677B2 (en) * | 2018-05-04 | 2020-06-30 | EMC IP Holding Company LLC | Method and system for lifecycle management optimization |
US11860758B2 (en) | 2018-05-07 | 2024-01-02 | Google Llc | System for adjusting application performance based on platform level benchmarking |
US10656930B2 (en) * | 2018-09-12 | 2020-05-19 | Microsoft Technology Licensing, Llc | Dynamic deployment target control |
US12003422B1 (en) | 2018-09-28 | 2024-06-04 | F5, Inc. | Methods for switching network packets based on packet data and devices |
US10990385B1 (en) * | 2018-12-12 | 2021-04-27 | Amazon Technologies, Inc. | Streaming configuration management |
CN109739519A (zh) * | 2018-12-26 | 2019-05-10 | 惠州Tcl移动通信有限公司 | 移动终端及其预置应用程序的卸载方法、存储器 |
JP6738030B1 (ja) * | 2019-02-28 | 2020-08-12 | 富士通クライアントコンピューティング株式会社 | 情報処理装置及び情報処理システム |
US11544050B1 (en) * | 2019-07-18 | 2023-01-03 | Amazon Technologies, Inc. | Software patch automation |
EP4028916A4 (en) * | 2019-09-09 | 2023-09-27 | Reliaquest Holdings, LLC | THREAT MITIGATION SYSTEM AND METHOD |
US10911304B1 (en) * | 2019-09-18 | 2021-02-02 | Cisco Technology, Inc. | Client-server transaction protocol for compatibility verification |
CN110659052B (zh) * | 2019-09-30 | 2023-03-10 | 深圳市九洲电器有限公司 | 网络设备中系统软件的更新方法、系统及可读存储介质 |
EP3874365A1 (en) * | 2019-10-31 | 2021-09-08 | Google LLC | Memory efficient software patching for updating applications on computing devices |
US11249743B2 (en) * | 2019-11-15 | 2022-02-15 | International Business Machines Corporation | Data analytics to determine software maintenance advisory using input data |
CA3168520C (en) * | 2020-03-03 | 2023-09-19 | William Crowder | Containing a faulty stimulus in a content delivery network |
JP2021157396A (ja) * | 2020-03-26 | 2021-10-07 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
US11307842B2 (en) * | 2020-04-07 | 2022-04-19 | Vmware, Inc. | Method and system for virtual agent upgrade using upgrade proxy service |
RU204738U9 (ru) * | 2020-09-16 | 2021-07-28 | Федеральное государственное унитарное предприятие "Ростовский-на-Дону научно-исследовательский институт радиосвязи" (ФГУП "РНИИРС") | Автоматизированное рабочее место оператора мобильных информационных комплексов |
EP4033423A1 (en) * | 2021-01-22 | 2022-07-27 | Atos IT Services UK Limited | Tracker for classifying information and a planning system |
JP2023032033A (ja) * | 2021-08-26 | 2023-03-09 | 株式会社日立製作所 | 情報配信処理の制御方法、計算機システム、および計算機 |
US11886860B2 (en) | 2021-09-27 | 2024-01-30 | Red Hat, Inc. | Distribution of digital content to vehicles |
US20230106414A1 (en) * | 2021-10-06 | 2023-04-06 | Vmware, Inc. | Managing updates to hosts in a computing environment based on fault domain host groups |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4999806A (en) * | 1987-09-04 | 1991-03-12 | Fred Chernow | Software distribution system |
US4954941A (en) * | 1988-08-31 | 1990-09-04 | Bell Communications Research, Inc. | Method and apparatus for program updating |
US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
CA2053261A1 (en) * | 1989-04-28 | 1990-10-29 | Gary D. Hornbuckle | Method and apparatus for remotely controlling and monitoring the use of computer software |
US5805897A (en) * | 1992-07-31 | 1998-09-08 | International Business Machines Corporation | System and method for remote software configuration and distribution |
GB2272085A (en) * | 1992-10-30 | 1994-05-04 | Tao Systems Ltd | Data processing system and operating system. |
WO1994025913A2 (en) * | 1993-04-30 | 1994-11-10 | Novadigm, Inc. | Method and apparatus for enterprise desktop management |
US5860012A (en) * | 1993-09-30 | 1999-01-12 | Intel Corporation | Installation of application software through a network from a source computer system on to a target computer system |
US5845090A (en) * | 1994-02-14 | 1998-12-01 | Platinium Technology, Inc. | System for software distribution in a digital computer network |
US5564038A (en) * | 1994-05-20 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a trial period for a software license product using a date stamp and designated test period |
US5787246A (en) * | 1994-05-27 | 1998-07-28 | Microsoft Corporation | System for configuring devices for a computer system |
US5694546A (en) * | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US5586304A (en) * | 1994-09-08 | 1996-12-17 | Compaq Computer Corporation | Automatic computer upgrading |
US5742829A (en) * | 1995-03-10 | 1998-04-21 | Microsoft Corporation | Automatic software installation on heterogeneous networked client computer systems |
US6282712B1 (en) * | 1995-03-10 | 2001-08-28 | Microsoft Corporation | Automatic software installation on heterogeneous networked computer systems |
US5699275A (en) * | 1995-04-12 | 1997-12-16 | Highwaymaster Communications, Inc. | System and method for remote patching of operating code located in a mobile unit |
US6078945A (en) * | 1995-06-21 | 2000-06-20 | Tao Group Limited | Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques |
AUPN479695A0 (en) * | 1995-08-16 | 1995-09-07 | Telstra Corporation Limited | A network analysis system |
US5852812A (en) * | 1995-08-23 | 1998-12-22 | Microsoft Corporation | Billing system for a network |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
KR100286008B1 (ko) * | 1995-12-30 | 2001-04-16 | 윤종용 | 소프트웨어 프로그램 자동 갱신방법 |
US6161218A (en) * | 1996-01-16 | 2000-12-12 | Sun Microsystems Inc. | Software patch architecture |
US5764913A (en) * | 1996-04-05 | 1998-06-09 | Microsoft Corporation | Computer network status monitoring system |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US5933646A (en) * | 1996-05-10 | 1999-08-03 | Apple Computer, Inc. | Software manager for administration of a computer operating system |
US5752042A (en) * | 1996-06-07 | 1998-05-12 | International Business Machines Corporation | Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US6052710A (en) * | 1996-06-28 | 2000-04-18 | Microsoft Corporation | System and method for making function calls over a distributed network |
US5799002A (en) * | 1996-07-02 | 1998-08-25 | Microsoft Corporation | Adaptive bandwidth throttling for network services |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US5991802A (en) * | 1996-11-27 | 1999-11-23 | Microsoft Corporation | Method and system for invoking methods of objects over the internet |
US5794254A (en) * | 1996-12-03 | 1998-08-11 | Fairbanks Systems Group | Incremental computer file backup using a two-step comparison of first two characters in the block and a signature with pre-stored character and signature sets |
US6061740A (en) * | 1996-12-09 | 2000-05-09 | Novell, Inc. | Method and apparatus for heterogeneous network management |
US6029247A (en) * | 1996-12-09 | 2000-02-22 | Novell, Inc. | Method and apparatus for transmitting secured data |
US5854794A (en) * | 1996-12-16 | 1998-12-29 | Ag Communication Systems Corporation | Digital transmission framing system |
US5933647A (en) * | 1997-01-24 | 1999-08-03 | Cognet Corporation | System and method for software distribution and desktop management in a computer network environment |
US5933826A (en) * | 1997-03-21 | 1999-08-03 | Novell, Inc. | Method and apparatus for securing and storing executable content |
US6219675B1 (en) * | 1997-06-05 | 2001-04-17 | Microsoft Corporation | Distribution of a centralized database |
US6016499A (en) * | 1997-07-21 | 2000-01-18 | Novell, Inc. | System and method for accessing a directory services respository |
US6006329A (en) * | 1997-08-11 | 1999-12-21 | Symantec Corporation | Detection of computer viruses spanning multiple data streams |
US6282709B1 (en) * | 1997-11-12 | 2001-08-28 | Philips Electronics North America Corporation | Software update manager |
US5974454A (en) * | 1997-11-14 | 1999-10-26 | Microsoft Corporation | Method and system for installing and updating program module components |
US6151708A (en) * | 1997-12-19 | 2000-11-21 | Microsoft Corporation | Determining program update availability via set intersection over a sub-optical pathway |
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 |
US6094679A (en) * | 1998-01-16 | 2000-07-25 | Microsoft Corporation | Distribution of software in a computer network environment |
GB2333864B (en) * | 1998-01-28 | 2003-05-07 | Ibm | Distribution of software updates via a computer network |
US6202207B1 (en) * | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
US6108649A (en) * | 1998-03-03 | 2000-08-22 | Novell, Inc. | Method and system for supplanting a first name base with a second name base |
US6052531A (en) * | 1998-03-25 | 2000-04-18 | Symantec Corporation | Multi-tiered incremental software updating |
US6279156B1 (en) * | 1999-01-26 | 2001-08-21 | Dell Usa, L.P. | Method of installing software on and/or testing a computer system |
US6282175B1 (en) * | 1998-04-23 | 2001-08-28 | Hewlett-Packard Company | Method for tracking configuration changes in networks of computer systems through historical monitoring of configuration status of devices on the network. |
US6216175B1 (en) * | 1998-06-08 | 2001-04-10 | Microsoft Corporation | Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations |
US6272677B1 (en) * | 1998-08-28 | 2001-08-07 | International Business Machines Corporation | Method and system for automatic detection and distribution of code version updates |
US6256664B1 (en) * | 1998-09-01 | 2001-07-03 | Bigfix, Inc. | Method and apparatus for computed relevance messaging |
US6263362B1 (en) * | 1998-09-01 | 2001-07-17 | Bigfix, Inc. | Inspector for computed relevance messaging |
US6138157A (en) * | 1998-10-12 | 2000-10-24 | Freshwater Software, Inc. | Method and apparatus for testing web sites |
US6289378B1 (en) * | 1998-10-20 | 2001-09-11 | Triactive Technologies, L.L.C. | Web browser remote computer management system |
EP1008754B1 (en) * | 1998-12-11 | 2004-03-10 | Dana Automotive Limited | Positive displacement pump systems |
US6157618A (en) * | 1999-01-26 | 2000-12-05 | Microsoft Corporation | Distributed internet user experience monitoring system |
US6721713B1 (en) * | 1999-05-27 | 2004-04-13 | Andersen Consulting Llp | Business alliance identification in a web architecture framework |
US6281790B1 (en) * | 1999-09-01 | 2001-08-28 | Net Talon Security Systems, Inc. | Method and apparatus for remotely monitoring a site |
US6493871B1 (en) * | 1999-09-16 | 2002-12-10 | Microsoft Corporation | Method and system for downloading updates for software installation |
US20020032768A1 (en) * | 2000-04-10 | 2002-03-14 | Voskuil Erik K. | Method and system for configuring remotely located applications |
CA2423175A1 (en) * | 2000-09-22 | 2002-03-28 | Patchlink.Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US20020174422A1 (en) * | 2000-09-28 | 2002-11-21 | The Regents Of The University Of California | Software distribution system |
US6832373B2 (en) * | 2000-11-17 | 2004-12-14 | Bitfone Corporation | System and method for updating and distributing information |
US6763517B2 (en) * | 2001-02-12 | 2004-07-13 | Sun Microsystems, Inc. | Automated analysis of kernel and user core files including searching, ranking, and recommending patch files |
US20020116665A1 (en) * | 2001-02-16 | 2002-08-22 | Pickover Clifford A. | Method and apparatus for supporting software |
US20040205709A1 (en) * | 2001-05-09 | 2004-10-14 | Sun Microsystems, Inc. | Method,system, and program for providing patch expressions used in determining whether to install a patch |
US6950847B2 (en) * | 2001-07-12 | 2005-09-27 | Sun Microsystems, Inc. | Service provider system for delivering services in a distributed computing environment |
US6879979B2 (en) * | 2001-08-24 | 2005-04-12 | Bigfix, Inc. | Method to remotely query, safely measure, and securely communicate configuration information of a networked computational device |
US20040064722A1 (en) * | 2002-10-01 | 2004-04-01 | Dinesh Neelay | System and method for propagating patches to address vulnerabilities in computers |
CA2465151A1 (en) * | 2003-04-16 | 2004-10-16 | Novadigm, Inc. | Method and system for patch management |
US7506149B2 (en) * | 2004-08-27 | 2009-03-17 | Intel Corporation | Method, program and system to update files in a computer system |
-
2003
- 2003-03-20 US US10/394,447 patent/US20040003266A1/en not_active Abandoned
-
2004
- 2004-03-02 AU AU2004222883A patent/AU2004222883A1/en not_active Abandoned
- 2004-03-02 BR BRPI0408425-0A patent/BRPI0408425A/pt not_active Application Discontinuation
- 2004-03-02 EA EA200501486A patent/EA200501486A1/ru unknown
- 2004-03-02 EP EP04716490A patent/EP1611509A4/en not_active Withdrawn
- 2004-03-02 JP JP2006508993A patent/JP2006520975A/ja not_active Withdrawn
- 2004-03-02 KR KR1020057017302A patent/KR20050120643A/ko not_active Application Discontinuation
- 2004-03-02 WO PCT/US2004/006328 patent/WO2004086168A2/en active Search and Examination
- 2004-03-02 CA CA002517223A patent/CA2517223A1/en not_active Abandoned
- 2004-03-02 CN CNA2004800074851A patent/CN1894661A/zh active Pending
- 2004-03-02 MX MXPA05009990A patent/MXPA05009990A/es unknown
-
2005
- 2005-08-25 ZA ZA200506830A patent/ZA200506830B/xx unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130142961A (ko) * | 2012-06-19 | 2013-12-30 | 구글 잉크. | 자동 애플리케이션 업데이트 |
WO2022060156A1 (ko) * | 2020-09-18 | 2022-03-24 | 상근 오스티븐 | 인증모듈의 펌웨어 업데이트 방법, 장치 및 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
EP1611509A4 (en) | 2008-07-02 |
AU2004222883A1 (en) | 2004-10-07 |
CA2517223A1 (en) | 2004-10-07 |
MXPA05009990A (es) | 2006-02-17 |
BRPI0408425A (pt) | 2006-04-04 |
WO2004086168A2 (en) | 2004-10-07 |
ZA200506830B (en) | 2007-04-25 |
JP2006520975A (ja) | 2006-09-14 |
EA200501486A1 (ru) | 2006-04-28 |
CN1894661A (zh) | 2007-01-10 |
WO2004086168A3 (en) | 2005-06-02 |
US20040003266A1 (en) | 2004-01-01 |
EP1611509A2 (en) | 2006-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20050120643A (ko) | 비-침해 자동 오프사이트 패치 지문채취 및 업데이팅시스템 및 방법 | |
US7823147B2 (en) | Non-invasive automatic offsite patch fingerprinting and updating system and method | |
US7904900B2 (en) | Method in a network of the delivery of files | |
US9727352B2 (en) | Utilizing history of changes associated with software packages to manage computing systems | |
US8713061B1 (en) | Self-service administration of a database | |
US8972963B2 (en) | End-to-end patch automation and integration | |
US9684561B1 (en) | Smart assistant for backing up data | |
CA2993839C (en) | Control service for relational data management | |
KR101278743B1 (ko) | 서버 팜에서의 솔루션 배치 | |
US20020174422A1 (en) | Software distribution system | |
US8607339B2 (en) | Systems and methods for improved identification and analysis of threats to a computing system | |
US20050027846A1 (en) | Automated electronic software distribution and management method and system | |
US20130054682A1 (en) | Platform for deployment and distribution of modules to endpoints | |
US20070234331A1 (en) | Targeted automatic patch retrieval | |
CA2526702A1 (en) | System and method for remote systems management and reporting | |
Cisco | Release Notes for Cisco Secure Policy Manager Version 2.3.3i | |
Ravi Kumar et al. | Troubleshooting and Conducting Health Checks for High Availability | |
Barhorst et al. | Centralised patch management | |
Headquarters | Disaster Recovery System Administration Guide for Cisco Unified Communications Manager Release 8.5 (1) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |