정방향 및 역방향 차등을 사용하는 Windows 업데이트

Windows 월간 품질 업데이트는 일관성과 단순성을 보장하기 위해 이전에 릴리스된 모든 수정 사항을 포함하는 누적 업데이트입니다. 몇 년 동안 계속 지원되는 Windows와 같은 운영 체제 플랫폼의 경우 월별 품질 업데이트의 크기가 빠르게 증가하여 네트워크 대역폭 소비에 직접적인 영향을 미칠 수 있습니다.

현재 이 문제는 빠른 다운로드를 사용하여 해결됩니다. 여기서 업데이트의 변경된 모든 파일에 대한 차등 다운로드는 선택한 기록 수정 버전과 기본 버전을 기반으로 생성됩니다. 이 문서에서는 기본 버전의 수정 버전에 적용할 수 있는 컴팩트한 소프트웨어 업데이트 패키지를 빌드한 다음 Windows 품질 업데이트에서 이 기술을 사용하는 방법을 설명하는 새로운 기술을 소개합니다.

일반 약관

이 문서 전체에 적용되는 일반적인 용어는 다음과 같습니다.

  • 기본 버전: Windows 10, 버전 1809(Windows 10 빌드 17763.1)과 같이 크게 변경된 주요 소프트웨어 릴리스
  • 수정 버전: 주 버전 릴리스 간의 부 릴리스(예: KB4464330(Windows 10 빌드 17763.55)
  • 기본 없는 패치 스토리지 파일(기본 없는 PSF): 전체 이진 파일 또는 파일이 포함된 스토리지 파일 패치

이 문서에서는 모든 원본/대상 수정 버전 쌍에 최적화된 소형 소프트웨어 업데이트를 생성할 수 있는 새로운 기술을 소개합니다. 이 작업은 변경된 파일의 차등을 기본 버전에서 역방향 차등으로 다시 기본 버전으로 계산하여 수행합니다. 정방향 및 역방향 차등은 모두 업데이트로 패키지되고 업데이트할 소프트웨어를 실행하는 엔드포인트에 배포됩니다. 업데이트 패키지 콘텐츠는 다음과 같이 기호화할 수 있습니다.

업데이트 패키지 콘텐츠의 기호 표현입니다. 두 개의 식이 포함된 상자: 델타 하위 0 변환에서 하위 N으로 변환한 다음 델타 하위 N을 하위 0으로 변환합니다.

기본 버전의 파일(V0)이 있는 엔드포인트는 간단한 변환을 적용하여 대상 수정 버전(VN)을 수화합니다.

수식: V sub zero + delta sub zero transform to sub N = V sub n.

파일의 수정 버전 N(VN)이 있는 엔드포인트는 다음 변환 집합을 적용하여 대상 수정 버전(VR)을 수화합니다.

수식 1: V sub n + delta sub n 변환을 0 = V sun 0; 수식 2: V 하위 0 + 델타 하위 0 변환을 R = V 하위 R로 변환합니다.

엔드포인트는 현재 있는 소프트웨어 수정 버전에 대한 역방향 차등을 유지하므로 다음 수정 업데이트를 하이드레이션하고 적용하는 데 사용할 수 있습니다.

이 기술은 공통 기준을 사용하여 다음과 같은 다양한 장점이 있는 단일 업데이트 패키지를 생성합니다.

  • 컴팩트 크기
  • 모든 기준에 적용 가능
  • 간단한 빌드
  • 효율적인 설치
  • 재배포 가능

지금까지는 빠른 다운로드를 사용하여 Windows 품질 업데이트(Windows 10, 버전 1803 및 지원되는 이전 버전의 Windows 10)의 다운로드 크기가 최적화되었습니다. 빠른 다운로드는 Windows 시스템 업데이트에서 최소 바이트 수를 다운로드할 수 있도록 최적화됩니다. 이는 동일한 파일 + 해당 기본 또는 RTM 버전의 선택한 기록 기본 수정 버전을 기반으로 업데이트된 모든 파일에 대한 차등을 생성하여 수행됩니다.

예를 들어 10월 월별 품질 업데이트가 Notepad.exe 업데이트된 경우 Notepad.exe 파일의 차등이 9월에서 10월, 8월, 10월, 7월, 6월에서 10월로 변경되고, 원래 기능 릴리스에서 10월로 변경됩니다. 이러한 모든 차등은 패치 스토리지 파일(PSF, 빠른 다운로드 파일이라고도 함)에 저장되고 Windows 업데이트 또는 기타 업데이트 관리 또는 배포 서버(예: WSUS(Windows Server Update Services)에 호스트되거나 캐시됩니다Microsoft Configuration Manager또는 Express 업데이트를 지원하는 비 Microsoft 업데이트 관리 또는 배포 서버). 빠른 업데이트를 적용하는 디바이스는 네트워크 프로토콜을 사용하여 최적의 차등을 확인한 다음 업데이트 배포 엔드포인트에서 필요한 것만 다운로드합니다.

빠른 다운로드의 대칭 이동 측면은 차등이 계산된 기록 기준의 수에 따라 PSF 파일의 크기가 클 수 있다는 것입니다. 대용량 PSF 파일을 온-프레미스 또는 원격 업데이트 배포 서버에 다운로드하고 캐싱하는 것은 대부분의 조직에서 문제가 되므로 빠른 업데이트를 사용하여 Windows를 실행하는 디바이스를 최신 상태로 유지할 수 없습니다. 둘째, 업데이트 배포 서버에 캐시해야 하는 빠른 파일의 차등 생성 복잡성과 크기로 인해 가장 일반적인 기준에 대한 빠른 다운로드 파일을 생성하는 것만 가능하므로 빠른 업데이트는 선택한 기준에만 적용됩니다. 마지막으로, 최적의 차등 계산은 시스템 메모리 사용률, 특히 저비용 시스템의 경우 비용이 많이 들며 업데이트를 원활하게 다운로드하고 적용하는 기능에 영향을 줍니다.

다음 섹션에서는 Windows 및 Windows Server의 최신 릴리스에 대한 정방향 및 역방향 차등을 기반으로 품질 업데이트가 이 기술을 사용하여 빠른 다운로드로 문제를 극복하는 방법을 설명합니다.

고급 디자인

패키징 업데이트

Windows 품질 업데이트 패키지에는 품질 업데이트 RTM 기준(∆RTM→N)의 정방향 차등과 RTM 이후 변경된 각 파일에 대한 RTM(∆N→RTM)으로의 역방향 차등이 포함되어 있습니다. RTM 버전을 기준으로 사용하여 모든 디바이스에 동일한 페이로드가 있는지 확인합니다. 업데이트 패키지 메타데이터, 콘텐츠 매니페스트 및 정방향 및 역방향 차등은 캐비닛 파일(.cab)에 패키지됩니다. 이 .cab 파일 및 적용 가능성 논리도 Microsoft 독립 실행형 업데이트(.msu) 형식으로 래핑됩니다.

서비스 중에 새 파일이 시스템에 추가되는 경우가 있을 수 있습니다. 이러한 파일에는 RTM 기준이 없으므로 정방향 및 역방향 차등을 사용할 수 없습니다. 이러한 시나리오에서 null 차등은 서비스를 처리하는 데 사용됩니다. Null 차등은 전체 이진 파일의 약간 압축되고 최적화된 버전입니다. 업데이트 패키지에는 정방향 또는 역방향 차등 또는 지정된 이진 파일의 null 차등이 있을 수 있습니다. 다음 이미지는 Windows 품질 업데이트 설치 관리자의 콘텐츠를 상징합니다.

두 개의 하위 상자가 포함된 .msu라는 레이블이 지정된 외부 상자: 1) 적용 가능성 논리, 2) 네 개의 하위 상자가 포함된 .cab 레이블이 지정된 상자: 1) 업데이트 메타데이터, 2) 콘텐츠 매니페스트, 3) 델타 하위 RTM 변환을 하위 N(파일 1, file2 등)으로 변환하고 4) 델타 하위 N을 RTM(파일 1, 파일 2 등)으로 변환합니다.

하이드레이션 및 설치

업데이트 패키지에서 일반적인 적용 가능성 검사가 수행되고 적용 가능한 것으로 확인되면 Windows 구성 요소 서비스 인프라는 사전 설치 중에 전체 파일을 수화한 다음 일반적인 설치 프로세스를 진행합니다.

다음은 업데이트 설치를 완료하기 위해 구성 요소 서비스 인프라가 트랜잭션에서 실행되는 작업의 상위 수준 시퀀스입니다.

  • 업데이트를 설치하는 데 필요한 모든 파일을 식별합니다.
  • 파일의 현재 버전(VN)을 사용하여 필요한 각 파일을 수화하고, 파일의 역방향 차등(VN--->RTM)을 품질 업데이트 RTM/기본 버전으로 되돌리고 기능 업데이트 RTM/기본 버전에서 대상 버전으로 차등(VRTM--->R)을 전달합니다. 또한 null 차등 하이드레이션을 사용하여 null 압축 파일을 수화합니다.
  • 구성 요소 저장소(%windir%\WinSxS 폴더)에서 수화 파일(전체 파일), 정방향 차등 f (폴더 아래 r ) 및 역방향 차등(폴더 아래) 또는 null 압축 파일(폴더 아래 n )을 스테이징합니다.
  • 종속성을 해결하고 구성 요소를 설치합니다.
  • 이전 상태 정리(VN-1); 이전 상태 VN 은 제거 및 복원 또는 복구를 위해 유지됩니다.

복원력 있는 하이드레이션

파일 시스템 손상에 대한 특정 유형의 하드웨어의 취약성으로 인해 발생할 수 있는 구성 요소 저장소 손상 또는 누락된 파일에 대한 복원력을 보장하기 위해 손상 복구 서비스는 전통적으로 온라인 또는 로컬 복구 원본을 사용하여 구성 요소 저장소를 자동으로 복구(자동 손상 복구) 또는 요청 시(수동 손상 복구)하는 데 사용되어 왔습니다. 이 서비스는 수분 공급에 대한 콘텐츠를 복구 및 복구하고 필요한 경우 업데이트를 성공적으로 설치하는 기능을 계속 제공합니다.

업데이트 작업 중에 손상이 감지되면 자동 손상 복구가 평소와 같이 시작되고 각 업데이트에 대해 Windows 업데이트 게시된 기본 없는 패치 스토리지 파일을 사용하여 손상된 매니페스트, 이진 차등 또는 수화 또는 전체 파일을 수정합니다. 기본 없는 패치 스토리지 파일에는 업데이트된 각 구성 요소에 대한 역방향 및 정방향 차등 및 전체 파일이 포함됩니다. 복구 파일의 무결성이 해시로 확인됩니다.

손상 복구는 구성 요소 매니페스트를 사용하여 누락된 파일을 검색하고 손상 검색을 위한 해시를 가져옵니다. 업데이트 설치 중에 컴퓨터에서 스테이징된 각 차등에 대한 새 레지스트리 플래그가 설정됩니다. 자동 손상 복구가 실행되면 플래그를 사용하여 매니페스트 및 차등 파일을 사용하여 수화 파일을 검사합니다. 차등을 찾거나 확인할 수 없는 경우 복구할 손상 목록에 추가됩니다.

지연 자동 손상 복구

"지연 자동 손상 복구"는 업데이트 작업 중에 실행되어 손상된 이진 파일 및 차등을 검색합니다. 업데이트를 적용하는 동안 파일의 하이드레이션이 실패하면 "지연" 자동 손상 복구가 자동으로 시작되고 손상된 이진 파일 또는 차등 파일을 식별한 다음 손상 목록에 추가합니다. 나중에 업데이트 작업은 가능한 한 계속되므로 "지연" 자동 손상 복구는 가능한 한 많은 손상된 파일을 수집하여 수정할 수 있습니다. 하이드레이션 섹션의 끝에서 업데이트가 실패하고 자동 손상 복구가 시작됩니다. 자동 손상 복구는 평소와 같이 실행되며 작업이 끝나면 새 목록 위에 "지연" 자동 손상 복구에 의해 생성된 손상 목록을 복구할 수 있도록 추가합니다. 자동 손상 복구는 손상 목록의 파일을 복구하고 업데이트 설치는 다음 시도에서 성공합니다.