Hybrid, adaptive virtual memory compression

US11336294B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11336294-B2
Application numberUS-201715491740-A
CountryUS
Kind codeB2
Filing dateApr 19, 2017
Priority dateJun 10, 2016
Publication dateMay 17, 2022
Grant dateMay 17, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and apparatus of a device that compresses an object stored in memory is described. In an exemplary embodiment, the device receives an indication that the object is to be compressed. The device further selects one of a plurality of compression algorithms based on at least a characteristic of the object. In addition, the device compresses the object in-memory using the selected compression algorithm.

First claim

Opening claim text (preview).

The invention claimed is: 1. A non-transitory machine-readable medium containing executable program instructions which when executed by a data processing device cause the device to perform a method to compress a plurality of objects stored in virtual memory of the device, the method comprising: receiving a first indication that a first object stored in the virtual memory is to be compressed from a virtual memory subsystem of the device, the first object generated from an application and the virtual memory is mapped into dynamic memory of the device; receiving a second indication that a second object stored in the virtual memory is to be compressed from the virtual memory subsystem of the device, the second object generated from the application; selecting a first compression algorithm from a plurality of compression algorithms based on at least a characteristic of the first object, wherein the first object characteristic is determined in response to receiving the first indication and the first object characteristic is related to a type of the first object; selecting a second compression algorithm from a plurality of compression algorithms based on at least a characteristic of the second object, wherein the second compression algorithm is different from the first compression algorithm and the second object characteristic is determined in response to receiving the second indication and the second object characteristic is related to a type of the second object that is different than the first object type; compressing the first object in-memory using the first compression algorithm; and compressing the second object in-memory using the second compression algorithm. 2. The machine-readable medium of claim 1 , further comprising: storing at least one of the compressed first and second objects in a swap file. 3. The machine-readable medium of claim 1 , further comprising: determining the object characteristic for the first and second objects. 4. The machine-readable medium of claim 3 , wherein the determining comprises: retrieving an operating system object tag associated with the first object; and determining the first object characteristic based on the operating system tag. 5. The machine-readable medium of claim 1 , further comprising: determining a compression ratio of the first compressed object; and storing the compression ratio. 6. The machine-readable medium of claim 1 , wherein the object characteristic indicates a type of object. 7. A method to compress a plurality of objects stored in virtual memory of a device, the method comprising: receiving a first indication that a first object stored in virtual memory is to be compressed from a virtual memory subsystem of the device, the first object generated from the application; receiving a second indication that a second object stored in the virtual memory is to be compressed from the virtual memory subsystem of the device, the second object generated from the application and the virtual memory is mapped into dynamic memory of the device; selecting a first compression algorithm from a plurality of compression algorithms based on at least a characteristic of the first object, wherein the first object characteristic is determined in response to receiving the first indication and the first object characteristic is related to a type of the first object; selecting a second compression algorithm from a plurality of compression algorithms based on at least a characteristic of the second object, wherein the second compression algorithm is different from the first compression algorithm and the second object characteristic is determined in response to receiving the second indication and the second object characteristic is related to a type of the second object; compressing the first object in-memory using the first compression algorithm; and compressing the second object in-memory using the first compression algorithm. 8. The method of claim 7 , further comprising: storing at least one of the compressed first and second objects in a swap file. 9. The method of claim 7 , further comprising: determining the object characteristic. 10. The method of claim 7 , further comprising: determining a compression ratio of the first compressed object; and storing the compression ratio. 11. A device to compress a plurality of objects stored in virtual memory of the device, the device comprising: a processor; a dynamic memory coupled to the processor though a bus; and a process executed from the dynamic memory by the processor that causes the processor to receive a first indication that a first object stored in the virtual memory is to be compressed from a virtual memory subsystem of the device, the first object generated from an application and the virtual memory is mapped into dynamic memory of the device, receive a second indication that a second object stored in the virtual memory is to be compressed from the virtual memory subsystem of the device, the second object generated from the application, select a first compression algorithm from a plurality of compression algorithms based on at least a characteristic of the first object, wherein the first object characteristic is determined in response to receiving the first indication and the first object characteristic is related to a type of the first object, select a second compression algorithm from a plurality of compression algorithms based on at least a characteristic of the second object, wherein the second compression algorithm is different from the first compression algorithm and the second object characteristic is determined in response to receiving the second indication and the second object characteristic is related to a type of the second object, compress the first object in-memory using the first compression algorithm, and compress the second object in-memory using the second compression algorithm. 12. The device of claim 11 , wherein the process causes the processor further to store at least one of the compressed first and second objects in a swap file. 13. The device of claim 11 , wherein the process causes the processor further to determine the object characteristic for the first and second objects. 14. The device of claim 13 , wherein the determination of the object characteristic causes the processor to retrieving an operating system object tag associated with the first object; and determining the first object characteristic based on the operating system tag. 15. The device of claim 11 , wherein the process causes the processor further to determine a compression ratio of the first compressed object and store the compression ratio. 16. The device of claim 11 , wherein the object characteristic indicates a type of object.

Assignees

Inventors

Classifications

  • H03M7/46Primary

    Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind · CPC title

  • H03M7/30Primary

    Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction · CPC title

  • according to reasons other than compression rate or data type · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11336294B2 cover?
A method and apparatus of a device that compresses an object stored in memory is described. In an exemplary embodiment, the device receives an indication that the object is to be compressed. The device further selects one of a plurality of compression algorithms based on at least a characteristic of the object. In addition, the device compresses the object in-memory using the selected compressi…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification H03M7/46. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 17 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).