This application contains some common subject matter with co-pending U.S. patent application Ser. No. 12/824,699, filed on Jun. 28, 2010, titled “Determining Environmental Impact”; PCT Application Serial No. PCT/US2011/56490, filed on Oct. 15, 2011, titled “Service Sustainability Systems and Methods”; PCT Application Serial No. PCT/US2011/56491, filed on Oct. 15, 2011, titled “Quantifying Power Usage for a Service”; U.S. patent application Ser. No. 13/015,501, filed on Jan. 27, 2011, titled “Determining an Entity's Share of Economic Environmental Burden”, the disclosures of which are hereby incorporated by reference in their entireties.
There has been increasing interest by service providers, such as, information technology service providers, to evaluate the impacts of their activities. Examples of these impacts include carbon emissions, recycling efforts, energy consumption, and water use. In addition, concern over sustainability is also increasing for service providers as a result of increasing demand for services, rising energy costs, regulatory requirements, and social concerns over greenhouse gas emissions.
Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
For simplicity and illustrative purposes, the present disclosure is described by referring mainly to an example thereof. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on. In addition, the terms “a” and “an” are intended to denote at least one of a particular element.
Organizations, such as, information technology (IT) service providers, are increasingly interested in determining information about various metrics, such as, sustainability, power consumption, cost, etc., associated with various services, such as, IT services, etc., that they provide. In other words, organizations are interested in determining the kind of impact, which is recited herein as a “metric”, that providing of a service has on, for instance, the environment generally, energy consumption, resource consumption, carbon dioxide emissions, water use, recycling, operating cost, etc. Determining various metrics of a particular organization, such as, a cloud services provider, an internet mail (e-mail) service provider, a data center provider, etc., in providing various IT services, such as, cloud computing resources, e-mail service, computing resources, etc., has involved manually determining the services components the organization employs to provide the various services and determining the metrics related to each of the components. When information on the services components is available, the lower-level metrics, that is, those metrics related to each of the services components, may be used to determine a higher level metric associated with the services provided by the organization. Thus, for instance, if an organization is known to employ a certain number of services components of particular types, the lower-level metrics of those particular types of services components may be determined and a higher level metric, such as sustainability, may be determined simply by multiplying the number of services components with the lower-level metric values.
In many instances, however, information on the services components, such as, underlying services, virtual machines, physical machines, utilization, etc., employed by a particular organization to deliver a service is not available or is difficult to obtain. For instance, an organization may not publish or otherwise make public the services and the services components in a supply chain that the organization employs in delivering the service.
Disclosed herein are a method and an apparatus for estimating a metric related to a service demand without having detailed knowledge of the services components employed to provide the service demand. In the method and apparatus disclosed herein, a framework to be used in evaluating a services ecosystem is defined, in which the framework includes a matrix of elements that is to be used as a model in estimating the metric related to the service demand. According to an example, the matrix is defined with services and services components associated with a known service. Thus, for instance, the matrix is defined with the services and services components that are known to be used to provide a particular service, such as, a cloud-based service, and also includes the particular service. In addition, the matrix is also defined to include dependencies, if any, between the services and the services components. To estimate a metric related to a particular service demand that is not listed in the matrix, the particular service demand is mapped to the most representative (or most similar) service within the matrix. In addition, an n-tier metric impact of the most representative (or most similar) service within the matrix is estimated and the metric of the particular service demand is estimated to be substantially equivalent to the metric of the most representative service to which the particular service demand has been mapped.
Through implementation of the method and apparatus disclosed herein, a metric related to a service demand is estimated without having to model or otherwise determine the lower-level metrics associated with meeting the service demand. Particularly, the method and apparatus disclosed herein enable a metric related to a service demand to be estimated through an entire service supply-chain, that is, the end-to-end route a service takes through virtualized and physical IT infrastructure from a client, to the infrastructure components, and back to the client. As such, the method and apparatus disclosed herein enable the metric to be estimated in instances where information pertaining to the lower-level metrics associated with the service demand is unavailable or incomplete.
With reference first to
The electronic apparatus 100 includes a metric estimating apparatus 102, a processor 120, a data store 130, and an input/output interface 140. The electronic apparatus 100 comprises a server, a computer, a laptop computer, a tablet computer, a personal digital assistant, a cellular telephone, or other electronic apparatus that is to perform a method for estimating a metric related to a service demand disclosed herein.
The metric estimating apparatus 102 is depicted as including an input/output module 104, a framework defining module 106, an initialization data obtaining module 108, a matrix element dependency determining module 110, a metric estimating module 112, and a service demand mapping module 114. The processor 120, which may comprise a microprocessor, a micro-controller, an application specific integrated circuit (ASIC), and the like, is to perform various processing functions in the electronic apparatus 100. One of the processing functions includes invoking or implementing the modules 104-114 contained in the metric estimating apparatus 102 as discussed in greater detail herein below.
According to an example, the metric estimating apparatus 102 comprises a hardware device, such as, a circuit or multiple circuits arranged on a board. In this example, the modules 104-114 comprise circuit components or individual circuits. According to another example, the metric estimating apparatus 102 comprises a volatile or non-volatile memory, such as dynamic random access memory (DRAM), electrically erasable programmable read-only memory (EEPROM), magnetoresistive random access memory (MRAM), Memristor, flash memory, floppy disk, a compact disc read only memory (CD-ROM), a digital video disc read only memory (DVD-ROM), or other optical or magnetic media, and the like. In this example, the modules 104-114 comprise software modules stored in the metric estimating apparatus 102. According to a further example, the modules 104-114 comprise a combination of hardware and software modules.
The input/output interface 140 may comprise a hardware and/or a software interface. In any regard, the input/output interface 140 may be connected to a network, such as, the Internet, an intranet, etc., over which the metric estimating apparatus 102 may receive data. The processor 120 may store data received through the input/output interface 140 in the data store 130 and may use the data in implementing the modules 104-114. The data store 130 comprises volatile and/or non-volatile memory, such as DRAM, EEPROM, MRAM, phase change RAM (PCRAM), Memristor, flash memory, and the like. In addition, or alternatively, the data store 130 comprises a device that is to read from and write to a removable media, such as, a floppy disk, a CD-ROM, a DVD-ROM, or other optical or magnetic media.
Various manners in which the modules 104-114 of the metric estimating apparatus 102 may be implemented are discussed in greater detail with respect to the method 200 depicted in
Generally speaking, the method 200 may be implemented to estimate a metric related to a service demand, in which information pertaining to the services and the services components that are used to deliver the service demand are unknown or incomplete.
At block 202, a framework to be used in evaluating a services ecosystem or a services infrastructure is defined, for instance, by the framework defining module 106. The framework comprises a matrix of elements, in which the elements comprise a plurality of services and a plurality of services components that are usable in delivering at least one of the plurality of services. The framework may also include a final demand vector and a total output, for instance, as shown in
The services and the services components contained in the matrix of elements defined at block 202 generally comprise various services and services components related to a service delivery. By way of particular example, the matrix of elements defined at block 202 comprises the services and services components that an organization uses to deliver an IT service, such as, cloud computing, e-mail messaging, etc. In this example, the services contained in the matrix of elements may comprise an end service, such as, a cloud computing service, for which a user makes a demand. The services may also comprise other services that are performed to provide the end service. In addition, the services components may comprise virtual machines and physical machines that are used to provide the services. Generally speaking, therefore, and according to an example, the services and the services components correspond/relate to a service architecture and infrastructure of an IT service.
According to an example, the determination of which services and services components to include in the matrix of elements, such as, the service architecture and infrastructure of an IT service, may be based upon information gathered from various information sources. For instance, the information may be gathered from publicly available sources, such as, the Internet. As another example, the information may be obtained from privately accessible sources, such as, a secure server, or from the organizations that provide the services. In any regard, the input/output module 104 may operate to obtain or receive the information through the input/output interface 140 and may store the information in the data store 130.
In addition, or alternatively, the services and the services components included in the matrix of elements defined at block 202 comprise those services and services components for which lower-level metric data is available for a particular service. In instances where the lower-level metric data is unavailable for the services and services components, various modeling and/or techniques may be employed to determine the lower-level metric data. Various methods for determining the lower-level metric data may be found in co-pending PCT Application Serial Nos. PCT/US2011/56490 and PCT/US2011/56491.
According to an example, to identify the elements to be included in the matrix of elements, a hierarchy of the services and the services components that are used to deliver a particular service may be identified. The hierarchy of the services and the services components may also be based upon information gathered from various information sources. Various examples of services and services components are shown in
Turning now to
According to an example, each of the producers and the consumers corresponds to respective individual services, if the appropriate lower-level data are available. However, if the appropriate lower-level data are not available, the producers and the consumers may instead be listed as similar representative services or classes of services.
As noted above with respect to
By way of example, and with respect to the diagram depicted in
As shown in
Turning now to
With reference back to
x
1
=z
11
+z
12
+z
13
+ . . . +z
1n
+y
1 Equation (1):
For calculation purposes, Equation (1) may be generalized by assuming that the flows between services are represented as a percentage of service output. This flow is represented by dividing the flow from service i to service j by the total output of service j. Thus, the inter-service flow may be represented as follows:
where aij is a unitless technical coefficient that ranges in value from 0 to 1. As such, Equation (1) may be rewritten as:
x
1
=a
i1
x
1
+a
i2
x
i2
+ . . . +a
in
x
n
+y
1 Equation (2):
Let the matrix A contain all of the technical coefficients (aij terms), vector X all the output (xi) terms, and vector Y terms, then:
X−AX=[I−A]X=Y, or X=[I−A]−1Y Equation (3):
A decomposition of the general n×n form of [I−A]−1 gives:
X=Y+AY+A
2
Y+A
3
Y+ . . . +A
n
Y Equation (4):
Equation (4) provides a method of evaluating, for a given demand of a single service, how much dependent resources (across the entire services supply chain) are required. In this regard, Equation (4) may be implemented to estimate the metric related to the service demand based upon the determined dependencies in the matrix of elements, as noted above with respect to
Once the output for each service (x) has been determined, a vector of a metric, such as, direct environmental outputs, related to each service may then be obtained by multiplying the output at each stage by the metric per service unit according to the following equation:
b
n
=R
n
X, or bn=Rn(I−A)−1Y Equation (5):
In Equation (5), bn is a vector of a metric, such as, environmental impact (for instance, toxic emissions, electricity use, water use, etc.), price, cost, etc., for each service unit, Rn is a matrix with diagonal elements representing the impact per service unit of output at each stage, and the subscript n represents a particular type of metric (for instance, environmental impact (electricity, toxic emissions, etc.), price, cost, etc. Various examples of manners in which the impact per service unit may be evaluated for a sample or representative set of services is described in PCT Application Serial No. PCT/US2011/56490.
According to an example, the service demand for which a metric is to be estimated is contained in the framework defined at block 202. In this example, at block 204, the metric related to the service demand is determined through a determination of a solution to Equation (5).
According to another example, the service demand for which a metric is to be estimated is not contained in the framework defined at block 202. This example is depicted in
In addition, at block 224, a metric related to the similar one of the plurality of services listed in the matrix of elements is estimated, for instance, by the metric estimating module 112. The metric related to the similar one of the plurality of services listed in the matrix of elements may be estimated in the manners discussed above.
At block 226, the metric related to the service demand is estimated to be substantially equivalent to the metric related to the similar one of the plurality of services listed in the matrix of elements estimated at block 224. By way of example, the metric related to the service demand is estimated to be within about 10% or less of the metric estimated at block 224.
In some instances, the service demand is incompatible with the dependencies contained in the matrix of elements. In these instances, the service demand may be normalized to be compatible with the dependencies contained in the matrix of elements. In this regard, for instance, the units of the service demand may be normalized such that the units are compatible with the units employed in the matrix of elements. By way of example in which a service demand y is modeled in terms of number of CPU cycles, the coefficients of a matrix A may be per unit time, while the environmental impacts R may be per unit dollar. In this example, the CPU cycles may be normalized by converting the number of CPU cycles to CPU cycles per unit time (to get A and y to reconcile) and CPU cycles per unit dollar (to get the total output vector X and R to reconcile.
In any regard, following either of
Some or all of the operations set forth in the methods 200 and 220 may be contained as a utility, program, or subprogram, in any desired computer accessible medium. In addition, the methods 200 and 220 may be embodied by computer programs, which may exist in a variety of forms both active and inactive. For example, they may exist as machine readable instructions, including source code, object code, executable code or other formats. Any of the above may be embodied on a non-transitory computer readable storage medium. Examples of non-transitory computer readable storage media include conventional computer system RAM, ROM, EPROM, EEPROM, and magnetic or optical disks or tapes. It is therefore to be understood that any electronic device capable of executing the above-described functions may perform those functions enumerated above.
Turning now to
The computer readable medium 510 comprises any suitable medium that participates in providing instructions to the processor 502 for execution. For example, the computer readable medium 510 may be non-volatile media, such as memory. The computer-readable medium 510 may also store an operating system 514, such as but not limited to Mac OS, MS Windows, Unix, or Linux; network applications 516; and a metric estimating application 518. The operating system 514 may be multi-user, multiprocessing, multitasking, multithreading, real-time and the like. The operating system 514 may also perform basic tasks such as but not limited to recognizing input from input devices, such as but not limited to a keyboard or a keypad; sending output to the display 504; keeping track of files and directories on medium 510; controlling peripheral devices, such as but not limited to disk drives, printers, image capture device; and managing traffic on the bus 512. The network applications 516 include various components for establishing and maintaining network connections, such as but not limited to machine readable instructions for implementing communication protocols including TCP/IP, HTTP, Ethernet, USB, and FireWire.
The metric estimating application 518 provides various components for estimating a metric related to a service demand as discussed above with respect to the methods 200 and 220 in
In certain examples, some or all of the processes performed by the application 518 may be integrated into the operating system 514. In certain examples, the processes may be at least partially implemented in digital electronic circuitry, or in computer hardware, machine readable instructions (including firmware and software), or in any combination thereof, as also discussed above.
What has been described and illustrated herein are examples of the disclosure along with some variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the scope of the disclosure, which is intended to be defined by the following claims—and their equivalents—in which all terms are meant in their broadest reasonable sense unless otherwise indicated.