Cloud messaging services optimization through adaptive message compression
First Claim
1. An adaptive message compression system for a message service provider in a cloud-computing environment, comprising:
- a processor; and
a memory in communication with the processor and having a queue that stores messages received from a message producer over at least one network for retrieval by a message consumer over at least one network, wherein the memory further includes;
a compression engine including computer-readable instructions that are executable by the processor to compress copies of the queued messages at one or more compression levels, the compressed message copies being transmitted to a storage server over at least one network for storage, wherein compression and transmission of the queued message copies to the storage server consumes processing, network bandwidth and storage resources of the adaptive message compression system; and
an analysis module including computer-readable instructions that are executable by the processor to determine at least one particular compression level that reduces collective costs associated with consumption of the processing, network bandwidth and storage resources of the adaptive message compression system, wherein the particular compression level is implemented by the compression module, wherein the analysis module includes;
an estimation module including computer-readable instructions that are executable by the processor to predict a) an individual usage level of the processing resources at each of a plurality of different compression levels based on a common messaging load, b) an individual usage level of the network bandwidth resources at each of a plurality of different compression levels based on a common messaging load, and c) an individual usage level of the storage resources at each of a plurality of different compression levels based on a common messaging load; and
a selection module including computer-readable instructions that are executable by the processor to identify the particular compression level from the plurality of different compression levels by identifying one of the plurality of different compression levels that results in a minimum collective cost based on the predicted individual usage level of the processing resources, the predicted individual usage level of the network bandwidth resources, and the predicted individual usage level of the storage resources.
1 Assignment
0 Petitions
Accused Products
Abstract
Intelligent adjustment of compression levels of messages being brokered or otherwise handled by message service providers in a cloud-computing environment to strike a balance between the reduction in network usage and storage requirement resources owing to message compression on one hand and the increase in CPU resource usage owing to message compression on the other hand for reducing usage-based charges from the cloud customer'"'"'s point of view and reducing the equipment and operational cost from the cloud provider'"'"'s point of view (resulting in the ability of the provider to take on and/or retain customers). Determination of an “optimal” compression level that strikes an appropriate balance among resource usage may include consideration of a current messaging load (e.g., bytes of data per unit time), a current compression level, and current usage levels of one or more of the various resources.
-
Citations
19 Claims
-
1. An adaptive message compression system for a message service provider in a cloud-computing environment, comprising:
-
a processor; and a memory in communication with the processor and having a queue that stores messages received from a message producer over at least one network for retrieval by a message consumer over at least one network, wherein the memory further includes; a compression engine including computer-readable instructions that are executable by the processor to compress copies of the queued messages at one or more compression levels, the compressed message copies being transmitted to a storage server over at least one network for storage, wherein compression and transmission of the queued message copies to the storage server consumes processing, network bandwidth and storage resources of the adaptive message compression system; and an analysis module including computer-readable instructions that are executable by the processor to determine at least one particular compression level that reduces collective costs associated with consumption of the processing, network bandwidth and storage resources of the adaptive message compression system, wherein the particular compression level is implemented by the compression module, wherein the analysis module includes; an estimation module including computer-readable instructions that are executable by the processor to predict a) an individual usage level of the processing resources at each of a plurality of different compression levels based on a common messaging load, b) an individual usage level of the network bandwidth resources at each of a plurality of different compression levels based on a common messaging load, and c) an individual usage level of the storage resources at each of a plurality of different compression levels based on a common messaging load; and a selection module including computer-readable instructions that are executable by the processor to identify the particular compression level from the plurality of different compression levels by identifying one of the plurality of different compression levels that results in a minimum collective cost based on the predicted individual usage level of the processing resources, the predicted individual usage level of the network bandwidth resources, and the predicted individual usage level of the storage resources. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A cloud-based computing system, comprising:
-
a processor; and a non-transitory computer-readable memory logically connected to the processor and comprising a set of computer readable instructions executable by the processor to; receive messages from message producers over one or more networks at one or more messaging loads; store the messages in the memory, the messages intended for retrieval by message consumers over one or more networks; predict, at each of a plurality of different compression levels based on a common messaging load, a) an individual usage level of processing resources in conjunction with compression and storage of messages received from the message producers, and b) an individual usage level of network bandwidth resources in conjunction with compression and storage of messages received from the message producers determine, for each of the plurality of different compression levels based on the common messaging load, a first cost of the processing resources based on a first cost function that varies as a function of the predicted individual usage level of the processing resources; determine, for each of the plurality of different compression levels based on the common messaging load, a second cost of the network bandwidth resources based on a second cost function that varies as a function of the predicted individual usage level of the network bandwidth resources; determine at least one particular compression level of the plurality of different compression levels that results in a minimum sum of the first and second costs; compress copies of the stored messages at the particular compression level; and send the compressed message copies to a network-based storage server for storage. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A cloud-based computing system, comprising:
-
a processor; and a non-transitory computer-readable memory logically connected to the processor and comprising a set of computer readable instructions executable by the processor to; receive messages from message producers over one or more networks at one or more messaging loads; store the messages in the memory, the messages intended for retrieval by message consumers over one or more networks; predict, at each of a plurality of different compression levels based on a common messaging load, a) an individual usage level of processing resources in conjunction with compression and storage of messages received from the message producers, and b) an individual usage level of storage resources in conjunction with compression and storage of messages received from the message producers determine, for each of the plurality of different compression levels based on the common messaging load, a first cost of the processing resources based on a first cost function that varies as a function of the predicted individual usage level of the processing resources; determine, for each of the plurality of different compression levels based on the common messaging load, a second cost of the storage resources based on a second cost function that varies as a function of the predicted individual usage level of the storage resources; determine at least one particular compression level of the plurality of different compression levels that results in a minimum sum of the first and second costs; compress copies of the stored messages at the particular compression level; and send the compressed message copies to a network-based storage server for storage.
-
Specification