摘要:
Described is a technology by which encrypted content is pre-distributed to recipients during a pre-distribution timeframe, for example to distribute protected content to many clients in a controlled manner. At a release moment, a key for decrypting the encrypted content is released. For example, a software update may be pre-distributed in this manner, whereby many clients may receive the updates over time but the update cannot be analyzed for hacking purposes, e.g., to use the update to figure out a prior vulnerability. By rapidly and widely disseminating the key at the release moment, the update is installed on a large percentage of client systems before those systems can be exploited. The content may be allowed to expire before the key is released, or may be canceled or replaced. The content may include a complete file, and/or a delta file that changes another file into a resultant piece of content.
摘要:
Information that describes two or more content delivery solutions for a particular set of target files is received in a computing environment. The solutions are associated with a container at least portions of which can be delivered to the computing environment. The container is dynamic and has internal delta dependency. An expansion mechanism at the computing environment, upon determining that more than one of the solutions is achievable in the computing environment, selects one of the achievable solutions for implementation.
摘要:
Rather than comparing an old file with a new file to generate a set of patching instructions, and then compressing the patching instructions to generate a compact patch file for transmission to a user, a patch file is generated in a single operation. A compressor is pre-initialized in accordance with the old version of the file (e.g. in an LZ77 compressor, the history window is pre-loaded with the file). The pre-initialized compressor then compresses the old file, producing a patch file from which the new file can be generated. At the user's computer, a parallel process is performed, with the user's copy of the old file being used to pre-initialize a decompressor to which the patch file is then input. The output of the decompressor is the new file. The patch files generated and used in these processes are of significantly reduced size when compared to the prior art. Variations between copies of the old file as installed on different computers are also addressed, so that a single patch file can be applied irrespective of such variations. By so doing, the need for a multi-version patch file to handle such installation differences is eliminated, further reducing the size of the patch file when compared with prior art techniques. Such variations are addressed by “normalizing” the old file prior to application of the patch file. A temporary copy of the old file is typically made, and locations within the file at which the data may be unpredictable due to idiosyncrasies of the file's installation are changed to known or predictable values.
摘要:
A system and method for improved software servicing by installation of an updated version is provided. Using branch versioning techniques that support multi-branch development and release versioning techniques that support multi-version development, an update package may include updated files for each branch or release version. The least possible version from the update package may be installed to minimize the risk for potential software bugs introduced by the high frequency of changes made to a higher version. Additionally, any fix installed on a target machine running a particular version may be migrated when updating the target machine to a new version without losing the fix and regressing the change. Such an update may be uninstalled by reverse migration of any fixes before uninstalling files from the version update.
摘要:
Rather than comparing an old file with a new file to generate a set of patching instructions, and then compressing the patching instructions to generate a compact patch file for transmission to a user, a patch file is generated in a single operation. A compressor is pre-initialized in accordance with the old version of the file (e.g. in an LZ77 compressor, the history window is pre-loaded with the file). The pre-initialized compressor then compresses the new file, producing a patch file from which the new file can be generated. At the user's computer, a parallel process is performed, with the user's copy of the old file being used to pre-initialize a decompressor to which the patch file is then input. The output of the decompressor is the new file. The patch files generated and used in these processes are of significantly reduced size when compared to the prior art. Variations between copies of the old file as installed on different computers are also addressed, so that a single patch file can be applied irrespective of such variations. By so doing, the need for a multi-version patch file to handle such installation differences is eliminated, further reducing the size of the patch file when compared with prior art techniques. Such variations are addressed by “normalizing” the old file prior to application of the patch file. A temporary copy of the old file is typically made, and locations within the file at which the data may be unpredictable due to idiosyncrasies of the file's installation are changed to known or predictable values.
摘要:
A prioritized backup time within a predetermined backup window can be calculated. The calculated backup time can be a time to initiate a backup operation to backup information from a client to a server. The calculation of the backup time can use a priority of the client and/or a degree of compliance of the client with a backup policy. An initiation of the backup operation by the client can be scheduled to occur at the calculated backup time, and the backup operation can be initiated. Other prioritized scheduling techniques can also be used, such as prioritized backup queue ordering, prioritized preemption of partially complete backup operations, and/or server override of the client's calculated backup time to begin a backup operation on demand.
摘要:
In a content delivery scheme for target files, one or more recipes for each of the target files are encoded in an index. The index uses a framework that is able to represent content delivery schemes involving static containers, dynamic containers, self-contained containers, containers that are not self-contained, containers with internal delta dependency and containers with no internal delta dependency.
摘要:
A system and method for managing the installation of files on a computing device are provided. A client computing device obtains installation information identifying a version of a baseline installation component stored on the client computing device. The installation information also includes an installation component delta patch that is merged with the baseline installation component to generate an updated installation component. The updated installation component is utilized to install one or more files on the client computing device. Upon completion of the installation, the updated installation component can be deleted.
摘要:
A software package manager uses a distribution unit containing components for a software package and a manifest file that describes the distribution unit to manage the installation, execution, and uninstallation of software packages on a computer. Information in the manifest file pertaining to a software package is stored in a code store data structure upon installation of the package. The manifest file also contains information that permits the software package manager to resolve any software dependencies upon installation. The software package manager uses the code store data structure to locate the required components when the software is executed and to remove the components appropriately when the software is uninstalled.
摘要:
A method and apparatus for maximizing the data storage capacity of a floppy diskette. The present invention provides a format that reduces the inter-sector gap between adjacent sectors on each track to eight bytes. The storage space gained from the reduction in gap size is used to add additional sectors to each track on the diskette, thereby providing a total of twenty-one sectors per track. Because the gap between sectors is reduced to such a small size, the disk controller may not be able to process the data from one sector before the adjacent sector is to be read. Therefore, sectors are arranged on each track in a 2:1 interleave arrangement, such that one sector separates consecutively-numbered sectors. Additionally, to increase performance, the end of the last sector on each track is offset from the beginning of the first sector on the next track by four sectors.